以前有个朋友问过同样的问题,我试着回答一下你
计算机世界里就没有“软件”,也不存在所谓的二进制的“0,1”,这些都是为了让人能明白发明出来的一套表达方式,计算机的世界里,驱动硬件的工作的,主要是电信号(电压,电流,电子),这是电路/电子器件能工作的基础。 其他的物理信号,后通过某种设备转换成电信号,供电子器件工作。 比如光电转换,电磁感应,电子或者空穴形成电流等等。
回到你说的软件,也就是一堆的00000111110000二级制串。那到底是哪个组件或者元器件把这对二进制串转化成电压或者电流的呢,其实根本就不存在元器件,或者说元器件不是把这堆二进制串转化成电压或者电流,而是把别的物理形态的物制转化为电压或者电流
可能还是比较抽象,下面说具体的。
软件具体存在哪呢? 机械硬盘里(又叫磁盘),内存里,光盘里,以前的软盘里,现在的SSD固态盘里,或者通过键盘输入进去,通过鼠标点击进去。
先说机械硬盘,也就是磁盘,它存储数据的原理是通过盘面上的磁性材料的有序排列实现的。 写数据的时候,在读写头上通电,通过电磁感应,影响磁盘表面磁性材料的排列,从而实现数据的长久物理存储。看这里,都是实打实的硬件材料,没啥0,1 代码。 读数据的时候,读写头本身不加电,通过磁场形成感应电流并向外输入数据。电流强,电压大被认为是1, 电流弱,电压小被认为是0, 这里也是实打实的硬件物理原理,没啥0,1 代码
再说内存,用的是巧妙的门电路,门电路里可以存储一批自由电子,构成二进制的一个bit信息,姑且认为有电子是0, 没电子是1, 8个这样的门电路连接在一起,形成一个Byte, 更多们门电路连接在一起,形成存储空间更大的内存。 所以,这里起作用的还是物理的电子,继而形成电压和电流,都是物理量,没有啥 0, 1 转换, 固态盘的原理和这个类似,反正要么是通过空穴(缺少电子)形成电流,要么是通过多一个电子形成电流
再说光盘,别看光盘光滑的很,在显微镜下看有很多的小痕,往光盘上写数据的过程就是在光盘上烧出这一个个小痕的过程,这是实打实的物理的东西。读数据的时候,通过激光发射器打在告诉旋转的盘片表面,然后通过广电转换再转换为电流,这里也没有0,1, 只是光电转换罢了。
所有上面产生的这些电流,电压,最开始都比较微弱,中间可能会经过一些放大电路什么的。三极管的其中一个作用不就是做放大电路么。
所以,驱动硬件的,本来就是硬件本身。 驱动现代的数字电路的,就是实打实的电压或者电流,其他的物理材料通过电磁感应,光电感应,电子,空穴等等形式,转化为电压或者电流。
我们所说的0,1 只不过是方便人们理解抽象出来的表述,现实世界都是纯硬件的,实打实的东东
希望能帮到你。
--
FROM 114.241.8.*