怎样理解计算机硬件和软件逻辑上的等效性

如果观察一下软件的执行过程就可以看出来:编译器根据目标处理器的指令集,将其翻译为对应的二进制代码,然后放到指令存储器,处理器从指令存储器中取出指令并执行。因此可以说,是软件指挥处理器干活,因此软件使用的就是处理器的语言,而处理器设计的基础就是布尔逻辑,因此从本质上来说软件也是布尔逻辑,所以计算机软件和硬件是相通的,等价的。其实从另外一个方面也可以看出来:硬件和软件的相互转换,例如浮点加法,既可以在硬件上实现,也可以通过软件的编写,使用定点运算来达到目的;区别在于硬件实现的速度快,软件实现的可修改;往极端了说,只给我几个与非门、一个D触发器、一个存储器,我可以实现一个处理器,当然前提得是软件要极其强大;反之,我可以不要软件,造一个上网处理器出来。


    推荐阅读