從馮諾依曼的「存儲程序」和五大部件的概念去理解編程概念

計算機有硬件和軟件的概念,硬件是計算機的實體組成,軟件是一些程序集。沒有軟件的計算機基本無法操作,也談不上什麼價值。而軟件必然需要硬件做為支撐。裝備了軟件的計算機才可以顯露其強大和神奇之處。

20世紀50年代馮諾依曼提出“存儲程序”和五大部件的概念(此概念及硬件實現之前就有萌芽,馮諾依曼有了系統、清晰的表達),這是一個硬件的思維,也是一種程序的思想。所以編程的概念也可以結合硬件的五大部件去理解。

從馮諾依曼的“存儲程序”和五大部件的概念去理解編程概念

硬件和軟件的邏輯等價性

隨著大規模集成電路的發展和軟件硬化的趨勢,計算機系統的軟、硬件界限已經變得模糊了。任何操作可以由軟件來實現,也可由硬件來實現;任何指令的執行可以由硬件來完成,同樣也可以由軟件來完成。互相轉化的媒介是硬件和軟件的邏輯等價性。

因為現在任何操作,任何指令都既可以用軟件來實現,又可以用硬件來完成,軟件和硬件的界限已經很模糊了。通過軟件的固化(像做成芯片等),可以將軟件和硬件緊密聯繫在一起。

硬件實現——優點:速度快,功耗低,性能指標高;缺點:不靈活不易升級,需要硬件成本。

軟件實現——優點:靈活多邊,易於升級,不需要硬件成本;缺點:性能指標較弱,功耗較高。

晶體管開關的連線組合能完成一定功能(如加法機、記憶電路),就是硬件,而能完成一定功能的軟件的指令序列(01序列)相當於晶體管開關的重新連線,因而具備了新的功能;

複雜的邏輯功能單元都是由簡單的邏輯電路搭建而成的,硬件就是邏輯電路的硬連接,軟件就是這些邏輯電路的軟連接(軟件的指令序列也就是01序列而已)。

打個比方,mp3既可以用軟件的播放器播放,也可以用專用的音頻解碼芯片解碼實現播放。

-End-


分享到:


相關文章: