从冯诺依曼的“存储程序”和五大部件的概念去理解编程概念

计算机有硬件和软件的概念,硬件是计算机的实体组成,软件是一些程序集。没有软件的计算机基本无法操作,也谈不上什么价值。而软件必然需要硬件做为支撑。装备了软件的计算机才可以显露其强大和神奇之处。

20世纪50年代冯诺依曼提出“存储程序”和五大部件的概念(此概念及硬件实现之前就有萌芽,冯诺依曼有了系统、清晰的表达),这是一个硬件的思维,也是一种程序的思想。所以编程的概念也可以结合硬件的五大部件去理解。

硬件和软件的逻辑等价性

随着大规模集成电路的发展和软件硬化的趋势,计算机系统的软、硬件界限已经变得模糊了。任何操作可以由软件来实现,也可由硬件来实现;任何指令的执行可以由硬件来完成,同样也可以由软件来完成。互相转化的媒介是硬件和软件的逻辑等价性。

因为现在任何操作,任何指令都既可以用软件来实现,又可以用硬件来完成,软件和硬件的界限已经很模糊了。通过软件的固化(像做成芯片等),可以将软件和硬件紧密联系在一起。

硬件实现——优点:速度快,功耗低,性能指标高;缺点:不灵活不易升级,需要硬件成本。

软件实现——优点:灵活多边,易于升级,不需要硬件成本;缺点:性能指标较弱,功耗较高。

晶体管开关的连线组合能完成一定功能(如加法机、记忆电路),就是硬件,而能完成一定功能的软件的指令序列(01序列)相当于晶体管开关的重新连线,因而具备了新的功能;

复杂的逻辑功能单元都是由简单的逻辑电路搭建而成的,硬件就是逻辑电路的硬连接,软件就是这些逻辑电路的软连接(软件的指令序列也就是01序列而已)。

打个比方,mp3既可以用软件的播放器播放,也可以用专用的音频解码芯片解码实现播放。

-End-