文章編號:1672-5913(2008)10-0122-02
摘要:本文認(rèn)為在講解“Von Neumann計(jì)算機(jī)”時(shí)應(yīng)告訴學(xué)生:“分而治之”是創(chuàng)新的重要方法;“簡單就是美”是檢驗(yàn)創(chuàng)新效果的關(guān)鍵;“Von Neumann計(jì)算機(jī)”是需要改進(jìn)的,創(chuàng)新是無止境的。
關(guān)鍵詞:Von Neumann計(jì)算機(jī);計(jì)算機(jī)組成;創(chuàng)新教育
中圖分類號:G642
文獻(xiàn)標(biāo)識(shí)碼:B
1引言
“計(jì)算機(jī)組成技術(shù)”課程為非計(jì)算機(jī)專業(yè)的本科學(xué)生開設(shè)的一門重要的技術(shù)基礎(chǔ)課,其中最重要的知識(shí)點(diǎn)就是“Von Neumann計(jì)算機(jī)”。了解它背后的啟示,可以讓學(xué)生感受到創(chuàng)新在推動(dòng)技術(shù)進(jìn)步中的巨大作用,從而培養(yǎng)起學(xué)生的創(chuàng)新興趣與創(chuàng)新意識(shí),初步掌握創(chuàng)新的能力與方法,為將來在建設(shè)創(chuàng)新型國家的偉大事業(yè)中建功立業(yè)打下扎實(shí)的基礎(chǔ)。
2“Von Neumann計(jì)算機(jī)”及其特點(diǎn)
Von Neumann等人于1946年6月發(fā)表了一篇旨在構(gòu)建一臺(tái)通用計(jì)算機(jī)的技術(shù)報(bào)告《關(guān)于電子計(jì)算裝置邏輯結(jié)構(gòu)初探》。這份報(bào)告提出了以存儲(chǔ)程序來進(jìn)行控制的電子計(jì)算裝置EDVAC的設(shè)計(jì)方案(如圖1所示)。
這個(gè)方案提出的“存儲(chǔ)程序”的思想是指:計(jì)算機(jī)的用途(程序/軟件)和硬件完全分離。硬件結(jié)構(gòu)采用固定性邏輯,其功能是固定不變的。通過編制不同功能的程序(軟件)來滿足不同用戶對計(jì)算機(jī)的應(yīng)用需求。求解一個(gè)實(shí)際問題就需要事先將解題過程分解成一系列簡單、機(jī)械、有序的計(jì)算步驟,然后將這些有序的計(jì)算步驟一一對應(yīng)地翻譯、轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別并可執(zhí)行的指令。最后把這些有序的指令匯總成一個(gè)程序,并將其存儲(chǔ)在計(jì)算機(jī)中。
這個(gè)設(shè)計(jì)方案對后來電子計(jì)算機(jī)的設(shè)計(jì)產(chǎn)生了深遠(yuǎn)的影響。依照這個(gè)設(shè)計(jì)方案設(shè)計(jì)實(shí)現(xiàn)的電子計(jì)算機(jī)后來被稱為“Von Neumann計(jì)算機(jī)”。時(shí)至今日,在市場上能看到的電子計(jì)算機(jī)幾乎都是“Von Neumann計(jì)算機(jī)”。
“Von Neumann計(jì)算機(jī)”的特點(diǎn)是[2]:
(1) 計(jì)算機(jī)由存儲(chǔ)器、控制器、運(yùn)算器、輸入設(shè)備和輸出設(shè)備等五個(gè)部件組成。
(2) 存儲(chǔ)器是由一組一維排列、線性編址的存儲(chǔ)單元組成,按照地址來訪問存儲(chǔ)單元。
(3) 指令由操作碼和地址碼兩部分組成,操作碼規(guī)定了指令的操作類型,地址碼指示操作數(shù)在存儲(chǔ)單元中的地址。
(4) 程序(指令)與數(shù)據(jù)是同等地不加區(qū)分地存儲(chǔ)在同一個(gè)存儲(chǔ)器中。
(5) 指令在存儲(chǔ)器中按順序存放。計(jì)算機(jī)逐條、順序地執(zhí)行指令。
(6) 指令和數(shù)據(jù)均以二進(jìn)制數(shù)來表示。
(7) 計(jì)算機(jī)以運(yùn)算器為中心,輸入/輸出設(shè)備與存儲(chǔ)器之間的數(shù)據(jù)交換要通過運(yùn)算器來完成。這個(gè)特點(diǎn)使得運(yùn)算器無法專注于運(yùn)算,后來的“Von Neumann計(jì)算機(jī)”改成以存儲(chǔ)器為中心(如圖2所示)。
綜上所述,“Von Neumann計(jì)算機(jī)”最重要的思想是“存儲(chǔ)程序”,最突出的特點(diǎn)是把計(jì)算機(jī)分成存儲(chǔ)器、控制器、運(yùn)算器、輸入設(shè)備和輸出設(shè)備等五個(gè)部件
圖1 早期的Von Neumann計(jì)算機(jī)結(jié)構(gòu)
圖2 現(xiàn)代的Von Neumann計(jì)算機(jī)結(jié)構(gòu)
3“Von Neumann計(jì)算機(jī)”背后的啟示
(1) “分而治之”是創(chuàng)新的重要方法
“存儲(chǔ)程序”思想的核心就是將計(jì)算機(jī)的功能分成兩部分:基礎(chǔ)功能和用戶特需功能?;A(chǔ)功能是獨(dú)立于具體應(yīng)用的,或者說是與用戶無關(guān)的,由機(jī)器(硬件)來提供;用戶特需功能是與用戶有關(guān)的,不同的用戶可能需要不同的功能,由程序(軟件)來完成。
在“Von Neumann計(jì)算機(jī)”中,計(jì)算機(jī)的基礎(chǔ)功能被進(jìn)一步分成:運(yùn)算功能、存儲(chǔ)功能、輸入功能和輸出功能。實(shí)現(xiàn)這些功能的器件被分別劃分成存儲(chǔ)器、控制器、運(yùn)算器、輸入設(shè)備和輸出設(shè)備等五部分。
對所面臨的問題進(jìn)行劃分/分類,然后區(qū)別對待,即“分而治之”,是創(chuàng)新的重要方法。這種方法不僅被應(yīng)用于硬件設(shè)計(jì),還被廣泛地應(yīng)用于軟件/算法設(shè)計(jì)。
(2) “簡單就是美”是檢驗(yàn)創(chuàng)新效果的關(guān)鍵
為什么“Von Neumann計(jì)算機(jī)”基本結(jié)構(gòu)經(jīng)歷六十年巍然不變?它成功的關(guān)鍵在于五個(gè)部件簡單的互連結(jié)構(gòu)?!癡on Neumann計(jì)算機(jī)”抽象起來就是“以一個(gè)部件為中心,實(shí)現(xiàn)五個(gè)部件互聯(lián)的星型結(jié)構(gòu)”。這樣的結(jié)構(gòu)在實(shí)現(xiàn)“五個(gè)部件互聯(lián)”上是最簡單的、連接鏈路是最少的。由于外圍的四個(gè)部件只能與中心部件進(jìn)行數(shù)據(jù)通信,而且有些數(shù)據(jù)通路還是單向的,因而Von Neumann計(jì)算機(jī)的數(shù)據(jù)傳送指令也是最簡單的。
“Von Neumann計(jì)算機(jī)”的第二個(gè)重要特點(diǎn)就是:存儲(chǔ)器是由一組一維排列、線性編址的存儲(chǔ)單元組成,按照地址來訪問存儲(chǔ)單元,需要的技術(shù)是最低的。
“Von Neumann計(jì)算機(jī)”還有一個(gè)重要特點(diǎn)就是:程序(指令)與數(shù)據(jù)是同等地不加區(qū)分地存儲(chǔ)在同一個(gè)存儲(chǔ)器中,是最簡單、最易于實(shí)現(xiàn)的。
另外,“Von Neumann計(jì)算機(jī)”采用二進(jìn)制來表示指令和數(shù)據(jù),二進(jìn)制是最簡單、最易于實(shí)現(xiàn)的進(jìn)位計(jì)數(shù)制,
所以“Von Neumann計(jì)算機(jī)”的特點(diǎn)可以歸納為:用最簡單、最易于實(shí)現(xiàn)的思想(二進(jìn)制及其運(yùn)算規(guī)則)來表示數(shù)據(jù)并實(shí)現(xiàn)運(yùn)算,采用最簡單的的存儲(chǔ)結(jié)構(gòu)和互連結(jié)構(gòu)來組成一臺(tái)計(jì)算機(jī)。
“簡單就是美”的工程哲學(xué)理念造就了“Von Neumann計(jì)算機(jī)”的成功。
(3) “Von Neumann計(jì)算機(jī)”是需要改進(jìn)的,創(chuàng)新是無止境的
在教學(xué)中需要特別指出的是:“Von Neumann計(jì)算機(jī)”并不是真理,并不是技術(shù)發(fā)展的頂峰,它也是存在問題的。
早期的是以運(yùn)算器為中心,不僅使得運(yùn)算器同時(shí)承擔(dān)運(yùn)算和數(shù)據(jù)傳送的功能,而且低速的輸入/輸出設(shè)備導(dǎo)致高速的運(yùn)算器頻繁等待,存在“運(yùn)算器的工作效率和利用率較低”的問題。因此“Von Neumann計(jì)算機(jī)”很快被改進(jìn)成以存儲(chǔ)器為中心,不僅使得運(yùn)算器可以專注于運(yùn)算并行工作,而且使得計(jì)算機(jī)五個(gè)功能模塊的互聯(lián)更加簡單。
由此可見,“Von Neumann計(jì)算機(jī)”是需要改進(jìn)的,創(chuàng)新是無止境的。
“Von Neumann計(jì)算機(jī)”最大的問題就是沒有智能,它是按照人類實(shí)現(xiàn)編制好的程序來工作。人們期待的第五代計(jì)算機(jī)就是智能計(jì)算機(jī),如果同學(xué)們能夠在計(jì)算機(jī)的智能化方面取得突破,將是對人類文明的重大貢獻(xiàn)。
“Von Neumann計(jì)算機(jī)”的第二個(gè)問題就是存儲(chǔ)器中存儲(chǔ)單元的長度/位數(shù)的固定的/等長的。這既是它的優(yōu)點(diǎn)——簡單,也是它的缺點(diǎn)。如果數(shù)據(jù)較小(有效位數(shù)短),則會(huì)浪費(fèi)存儲(chǔ)空間。如果數(shù)據(jù)較大(有效位數(shù)長),則會(huì)丟失有效位數(shù),導(dǎo)致出現(xiàn)“溢出”錯(cuò)誤。
“Von Neumann計(jì)算機(jī)”的第三個(gè)問題就是數(shù)據(jù)只有數(shù)值而沒有屬性。例如,一支筆加兩支筆被表示為1+2,而一杯水加兩勺糖也被表示為1+2,甚至倉庫里進(jìn)了一桶汽油又進(jìn)了兩箱火柴也被表示為1+2。這個(gè)問題被稱為“Von Neumann語義差距”,導(dǎo)致了計(jì)算的“不可信”。目前“可信計(jì)算”是計(jì)算機(jī)科學(xué)的研究熱點(diǎn),但是主要是通過軟件來彌補(bǔ),沒有觸及“Von Neumann計(jì)算機(jī)”的根本。
上述問題的存在對我們來說應(yīng)該是好件事,為我們提供了創(chuàng)新的機(jī)會(huì)。
4結(jié)束語
在以往的教學(xué)工作中,我們比較重視強(qiáng)調(diào)專業(yè)知識(shí)的傳授,而缺少科學(xué)思維、科學(xué)方法方面的引導(dǎo)和訓(xùn)練。作為高等學(xué)校的教師,我們必須把為國家培養(yǎng)創(chuàng)新人才當(dāng)作自己責(zé)無旁貸的歷史責(zé)任,自覺地把創(chuàng)新方法的抽象總結(jié)與傳授融入到日常的教學(xué)工作中,讓學(xué)生在每一門課程、每一次授課的學(xué)習(xí)過程中,都能夠領(lǐng)略到創(chuàng)新的思路和方法,培養(yǎng)起創(chuàng)新的興趣和勇氣,成為建設(shè)創(chuàng)新型國家的棟梁之才。
參考文獻(xiàn)
[1] 李東,蔣宗禮,蘇曉紅. “計(jì)算機(jī)組成技術(shù)”教學(xué)設(shè)計(jì)[J]. 科教論壇,2000,(4):9-12.
[2] 唐朔飛. 計(jì)算機(jī)組成原理[M]. 北京:高等教育出版社,2000.