摘要:計(jì)算機(jī)組成原理是計(jì)算機(jī)專業(yè)的基礎(chǔ)課,包含了很多復(fù)雜、抽象的概念。這些概念又需要組合成一個(gè)系統(tǒng),相互輔助起來才好理解。這門課內(nèi)容的復(fù)雜性給講授教師提了很高的要求。該文結(jié)合本人教學(xué)實(shí)踐經(jīng)驗(yàn),提出一種以數(shù)據(jù)為主線的計(jì)算機(jī)組成原理課程教學(xué)方法。該方法把理論教學(xué)和計(jì)算機(jī)模擬結(jié)合在一起,使學(xué)生學(xué)習(xí)更加直觀、易懂。
關(guān)鍵詞:計(jì)算機(jī)組成原理;教學(xué)手段;主存
中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)16-3767-03
1 概述
發(fā)展計(jì)算機(jī)的技術(shù),硬件設(shè)計(jì)的人才培養(yǎng)不可或缺。若要設(shè)計(jì)某個(gè)部件,首先得了解該部件存在的目的,然后掌握該部件的工作原理,才能設(shè)計(jì)出來,或改進(jìn)得更好。學(xué)生想要掌握這些知識(shí),需要學(xué)習(xí)多門課程,計(jì)算機(jī)組成原理就是其中典型的一門。計(jì)算機(jī)組成原理需要給學(xué)生講述計(jì)算機(jī)的各種主要組成部件以及它們的工作原理。為計(jì)算機(jī)類專業(yè)的后繼課程學(xué)習(xí)打下基礎(chǔ),也是學(xué)生以后從事計(jì)算機(jī)設(shè)計(jì)的必修知識(shí)。
計(jì)算機(jī)從誕生到現(xiàn)在,經(jīng)過了幾十年,根據(jù)不同的需要,產(chǎn)生的部件和理論都是多種多樣。而且計(jì)算機(jī)仍然在迅速發(fā)展中。這些導(dǎo)致了計(jì)算機(jī)組成原理課程的內(nèi)容繁多。而且由于計(jì)算機(jī)的設(shè)計(jì)更傾向于系統(tǒng)工程,課程的理論講解若不結(jié)合實(shí)踐設(shè)計(jì),將使學(xué)生理解膚淺,很難應(yīng)用于實(shí)際。這些情況都給授課教師提出更高的要求。教師如何能夠通過課程教學(xué),把原理講清楚,包括整體系統(tǒng)開發(fā)的概念,是一個(gè)值得探討的問題。
現(xiàn)在大多數(shù)計(jì)算機(jī)組成原理課程教學(xué)采用馮·諾依曼計(jì)算機(jī)結(jié)構(gòu)的部件劃分方式[1]。不可否認(rèn),運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備等五大部件仍然覆蓋了現(xiàn)在大多數(shù)的計(jì)算機(jī)部件。從模塊來看,如果能夠掌握各個(gè)模塊的工作原理及其相互作用關(guān)系,對(duì)課程掌握是達(dá)到目的的。但是對(duì)剛開始了解計(jì)算機(jī)內(nèi)部的學(xué)生來說,在聽講各個(gè)模塊孤立的內(nèi)部工作原理時(shí),將會(huì)覺得枯燥、不知所措,“學(xué)這些內(nèi)容有什么用”會(huì)一直縈繞心中。
對(duì)五大部件的介紹,需要不斷地提及系統(tǒng)性,關(guān)注各部件之間的關(guān)系。這種講述方式可以以某個(gè)部件為中心或主線。馮·諾依曼計(jì)算機(jī)結(jié)構(gòu)是受限于當(dāng)時(shí)計(jì)算機(jī)發(fā)展的情況,以運(yùn)算器為中心。現(xiàn)代的計(jì)算機(jī)已轉(zhuǎn)化為以存儲(chǔ)器為中心[2]。從沒有存儲(chǔ)器的第一臺(tái)計(jì)算機(jī)ENIAC到現(xiàn)在的以存儲(chǔ)器為中心的體系結(jié)構(gòu)的計(jì)算機(jī),得益于存儲(chǔ)器的不斷發(fā)展。而現(xiàn)在的學(xué)生,如果以后想設(shè)計(jì)出更加先進(jìn)的計(jì)算機(jī),從存儲(chǔ)器的理解開始,不失為一種可行途徑。唐朔飛老師著的教材[2]就把存儲(chǔ)器放在了中心的位置,但是從內(nèi)容分布來看,仍然是介紹完一個(gè)部件,再介紹另一個(gè),而很少顯式地體現(xiàn)出它們之間的關(guān)系,需要教師在介紹的時(shí)候講述、強(qiáng)調(diào)。
本文提出一種以數(shù)據(jù)為主線的計(jì)算機(jī)組成原理課程講述方法,以供大家探討。該方法主要以主存的工作原理、讀寫操作、數(shù)據(jù)解析等數(shù)據(jù)操作為主線,以數(shù)據(jù)為中心的軟件模擬為輔助手段,模擬硬件設(shè)計(jì)流程,從而讓學(xué)生由熟知的硬件單元開始,不斷逐步擴(kuò)展,了解新的內(nèi)容,直至掌握計(jì)算機(jī)的各個(gè)主要組成部件的工作原理。
2 教學(xué)模式改革
在一個(gè)學(xué)期的一門課的課時(shí)里,需要講述計(jì)算機(jī)許多部件的組成、工作原理。由于時(shí)間的限制,不可能引入太多新穎的、時(shí)髦的具體器件介紹來吸引學(xué)生[3],因此還是應(yīng)該由淺入深,講清楚各個(gè)部件的基本工作原理,并留下問題,拋磚引玉。讓學(xué)生有了一定基礎(chǔ)后,可以對(duì)自己感興趣的內(nèi)容繼續(xù)探索和研究。
基本工作原理是基礎(chǔ),是學(xué)習(xí)與理解計(jì)算機(jī)組成與運(yùn)行機(jī)制的核心知識(shí),其特點(diǎn)是穩(wěn)定性(不隨時(shí)間變遷而改變)和通用性(不隨具體機(jī)型而變化),是學(xué)生一定要掌握的重要部分[4]。現(xiàn)在計(jì)算機(jī)的基本功能就是保存數(shù)據(jù)、處理數(shù)據(jù)和表現(xiàn)數(shù)據(jù)。這些功能都要依賴于數(shù)據(jù)。而學(xué)生在學(xué)習(xí)計(jì)算機(jī)組成原理時(shí),一般已經(jīng)掌握至少1門程序語言,對(duì)數(shù)據(jù)已經(jīng)有一定的了解。如果從數(shù)據(jù)入手,將可使學(xué)生由熟悉的內(nèi)容開始學(xué)習(xí),更容易接受。
另外,現(xiàn)在在很多學(xué)校里,由于經(jīng)費(fèi)等原因,計(jì)算機(jī)組成原理教學(xué)缺乏一個(gè)能讓教師和學(xué)生運(yùn)用工程實(shí)踐理念進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)的實(shí)驗(yàn)平臺(tái)[4]。從產(chǎn)業(yè)界來看,由于硬件設(shè)計(jì)的成本昂貴,很多硬件設(shè)計(jì)的前期都是要經(jīng)過軟件模擬的驗(yàn)證的,所以軟件模擬也是讓學(xué)生逐步熟悉設(shè)計(jì)的過程。硬件成本比較高,但簡單軟件模擬應(yīng)該是可以做到的。
對(duì)于計(jì)算機(jī)組成原理這樣系統(tǒng)性課程,軟件模擬又不能一蹴而就,所以需要形成一個(gè)可以把課程內(nèi)容逐步加進(jìn)去且方便軟件模擬實(shí)現(xiàn)的教學(xué)方式。從軟件模擬的角度,由數(shù)據(jù)入手,可以逐個(gè)講解以下幾個(gè)內(nèi)容:數(shù)據(jù)的存儲(chǔ)模擬、數(shù)據(jù)的讀寫、數(shù)據(jù)的數(shù)值解析、數(shù)據(jù)的指令解析等。
2.1 數(shù)據(jù)的存儲(chǔ)模擬
2.2 主存數(shù)據(jù)讀出、寫入
圖 3給出了兩種主要的讀數(shù)據(jù)方式,其中“(H)”代表十六進(jìn)制數(shù),“(B)”代表二進(jìn)制數(shù)。地址分配方式可以選擇大端或小端的方式。從該模擬中,學(xué)生可以了解的讀數(shù)據(jù)必須提供地址,而所讀得的數(shù)據(jù)就可以通過可視化的主存觀察到。特別是當(dāng)從同一地址讀出多字節(jié)字?jǐn)?shù)據(jù)時(shí),采用不同地址分配方式,將組成不同的字。通過可視化的主存,讓學(xué)生直接比對(duì)所讀得的數(shù)據(jù)和主存中保存的數(shù)據(jù),將能夠讓他們更能掌握這方面知識(shí)。另外,還可以加入多個(gè)層次的存儲(chǔ)器,在讀取過程中,人為地為各存儲(chǔ)器構(gòu)造一些不同長度延時(shí),從而講述存儲(chǔ)器速度、容量和位價(jià),還有高速緩沖器的作用等。
2.3 主存數(shù)據(jù)解析
主存數(shù)據(jù)除了能夠被解析成數(shù)值,還能夠被解析成機(jī)器指令。這同樣需要從主存里讀出數(shù)據(jù)并解析,但是就不像數(shù)值那樣固定,因?yàn)樗唧w的指令系統(tǒng)有關(guān)。不同指令系統(tǒng),對(duì)于相同的主存數(shù)據(jù)的解釋可能是不一樣的。而提供一個(gè)模擬,讓學(xué)生自己設(shè)計(jì)指令系統(tǒng),從而解析從主存里讀出的數(shù)據(jù),將可以使他們更能理解指令系統(tǒng)內(nèi)容。類似指令系統(tǒng),可以定義指令周期、流水線、微指令、控制形成等內(nèi)容。
2.4 學(xué)生的自主模擬實(shí)現(xiàn)
學(xué)生在學(xué)習(xí)計(jì)算機(jī)組成原理的時(shí)候,應(yīng)該已經(jīng)學(xué)習(xí)過編程語言,已經(jīng)可以根據(jù)一些邏輯要求編寫和運(yùn)行程序,并得到正確的結(jié)果。那么,教師可以給定《電子技術(shù)》、《數(shù)字邏輯》等在計(jì)算機(jī)組成原理模擬中會(huì)用到的基本模塊,比如存儲(chǔ)單元,然后鼓勵(lì)學(xué)生主動(dòng)實(shí)現(xiàn)各個(gè)知識(shí)點(diǎn)的模擬。產(chǎn)業(yè)界的硬件設(shè)計(jì)也是從軟件模擬檢驗(yàn)開始。當(dāng)學(xué)生對(duì)模塊進(jìn)行模擬時(shí),肯定是建立在掌握其工作原理的基礎(chǔ)之上。當(dāng)實(shí)現(xiàn)了模擬,對(duì)學(xué)生來說是完成了自己獨(dú)有的設(shè)計(jì),會(huì)產(chǎn)生成就感,不斷推進(jìn)學(xué)習(xí)。那么再讓他們?cè)O(shè)計(jì)硬件模塊,將能夠更容易上手。
3 結(jié) 論
本文提出了一種以數(shù)據(jù)為主線的計(jì)算機(jī)組成原理教學(xué)方法。該方法提出把理論講解和實(shí)踐相結(jié)合,實(shí)踐除了硬件實(shí)驗(yàn)外,還包括教師提供的模擬平臺(tái)的實(shí)驗(yàn),通過不同值的輸入來了解工作原理,也可以讓學(xué)生進(jìn)行工作原理的自主模擬,加深理解。該方法從學(xué)生熟悉的數(shù)據(jù)開始,從存儲(chǔ)、讀寫到解析,通過主存可視化,讓學(xué)生在學(xué)習(xí)時(shí)更加直觀、易懂。
參考文獻(xiàn):
[1] 岳珂娟. 馮·諾依曼體系結(jié)構(gòu)在計(jì)算機(jī)組成原理教學(xué)中的重要性[J]. 計(jì)算機(jī)教育,2012(24):99-101.
[2] 唐朔飛. 計(jì)算機(jī)組成原理[M]. 第2版. 北京: 高等教育出版社, 2008.
[3] 趙艷麗. 《計(jì)算機(jī)組成原理》課程教學(xué)探討[J]. 電腦知識(shí)與技術(shù), 2012,8(25):6082-6083.
[4] 郭超峰. 計(jì)算機(jī)組成原理課程教學(xué)模式改革與創(chuàng)新[J]. 計(jì)算機(jī)教育, 2012(24):45-48.