唐彩燕
摘 ? 要:在信息化時代,計算機已經(jīng)被廣泛應用于各個領域,促進了社會經(jīng)濟的發(fā)展。目前,我國高校紛紛開設了計算機硬件類實踐課程,效果卻不容樂觀。以某高校“計算機組成原理”實驗課程為例,對“計算機組成原理”實驗進行微探,重點闡述單周期和多周期CPU的構成和設計,希望對促進我國計算機行業(yè)的發(fā)展有所幫助。
關鍵詞:計算機;組成原理實驗;實驗課程
在計算機網(wǎng)絡高速發(fā)展的趨勢下,國內(nèi)外高校十分重視計算機課程的開設,希望通過開設相關的課程,培養(yǎng)出優(yōu)秀的計算機專業(yè)人才,以滿足當前社會的需要。為此,某高校計算機系以“計算機組成原理”實驗作為著手點,對課程進行了設計和安排,本研究對“計算機組成原理”實驗進行了詳細的分析。
1 ? ?“計算機組成原理”實驗課程設計的初衷
“計算機組成原理”在計算機專業(yè)中具有舉足輕重的地位,是該專業(yè)的核心課程之一,學生對其掌握程度關系到后續(xù)學習的效果,不僅會影響硬件學習的質量,對軟件工作者也有較大的優(yōu)勢。
近些年,國內(nèi)某著名高校積極響應國家號召,以培養(yǎng)優(yōu)秀計算機人才為己任,通過出國考察的方式,對國際知名高校的計算機專業(yè)課程內(nèi)容和設置進行了學習,“計算機組成原理”實驗是重點借鑒內(nèi)容。學習者通過學習之后,其程序編寫和調試能力大大提升。與硬件設計人員角度相符的硬件實驗課程,要求學習者能夠使用硬件對語言進行描述,并以現(xiàn)場可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)為基礎,完成一個處理器系統(tǒng)的設計。
目前,國內(nèi)“計算機組成原理”實驗的主要教學方式為教師帶領學生進行設計實驗,主要表現(xiàn)為基于固定實驗箱,在其中進行連線拔插和開關啟動等操作,以實現(xiàn)固定軟件系統(tǒng)之間的聯(lián)系,從而提升學習者對“計算機組成原理”的理解和掌握[1]。這種較為簡單的“計算機組成原理”實驗形式起到的效果較為有限,學習者在實驗過后,對于“計算機組成原理”的理解較為淺薄,無法確定計算機組成結構與系統(tǒng)軟件間的關系,更不用說利用現(xiàn)代化工具設計計算機硬件了。鑒于此,國內(nèi)某著名高校以培養(yǎng)優(yōu)秀計算機人才為己任,通過出國考察的方式,對國際知名高校的計算機專業(yè)課程內(nèi)容和設置進行了借鑒,并在此基礎上對教學方法和實驗內(nèi)容進行了調整,截止到目前,已經(jīng)取得了良好的教學效果。學習者在學習之后,其程序編寫和調試能力顯著提高,還有一部分學習者已經(jīng)能夠自主設計計算機硬件,且運行效果較為顯著。
2 ? ?“計算機組成原理”實驗課程的知識準備
利用電子設計自動化(Electronics Design Automation,EDA)技術在可編程門列陣上設計處理器,對于學生的計算機知識能力提出了十分嚴格的要求,具體表現(xiàn)在以下幾個方面:(1)學習者應該熟練掌握在可編程門列陣上應用EDA技術的能力,能夠利用所學知識進行邏輯單元電路和數(shù)字系統(tǒng)的設計。(2)學習者還要加強對“計算機組成原理”實驗的了解,CPU通路、指令系統(tǒng)等內(nèi)容都是“計算機組成原理”實驗的基礎知識,學習者應該將其作為基礎,以CPU內(nèi)部單元電路設計為開端,在單字長定點指令平均執(zhí)行速度 (Million Instructions Per Second,MIPS)體系結構的基礎上,完成多通道CPU的設計。
3 ? ?“計算機組成原理”實驗內(nèi)容
“計算機組成原理”實驗內(nèi)容主要由3個部分構成,分別為部件實驗、簡單CPU實驗和大型作業(yè)。
3.1 ?部件實驗
在設計CPU硬件電路時,包含大量單元電路,如觸發(fā)器、選擇器和譯碼器等,都是計算機專業(yè)的基礎知識,在本次“計算機組成原理”實驗中,主要設計內(nèi)容為設計CPU內(nèi)部的其他重要部件,如寄存器、算術邏輯單元(Arithmetic and Logic Unit,ALU)和存儲器等。
3.1.1 ?設計寄存器組
在CPU內(nèi)部,寄存器是非常重要的部分,作用為暫時性的數(shù)據(jù)存儲,具有速度快和使用頻繁的特點?;贛IPS體系結構的寄存器組,其組成部分包括32個32位的寄存器,簡言之,就是32個寄存器構成了一個寄存器組。僅將其外觀作為觀察依據(jù)可以看出,組成寄存器組的32個寄存器,其外觀并未有差異,在對其進行訪問時,無需關注外部條件。為了對CPU的結構進行簡化,一般情況下,只會將編號為0的寄存器的值設為0,故寄存器只能被讀出,而不能寫入。
一條指令同時操作的寄存器不超過3個,且所操作的寄存器分別為目的寄存器和源寄存器,這里所說的指令主要是指MIPS指令集合中的指令。在執(zhí)行指令時,讀出源寄存器中的內(nèi)容,計算后在源寄存器中寫入目的地址,方可完成指令??梢钥闯?,基于MIPS體系結構的CPU寄存器組應該具備一個輸入端口和2個輸出端口。一般情況下,4個組件即可組成一個32位的寄存器,而寄存器組能夠只對32個寄存器中某一個寄存器的某一字節(jié)進行寫入,故寄存器除了要滿足端口需求,還要具備寫入控制端的功能,其目的在于對4個字節(jié)的吸入操作進行控制[2]。
3.1.2 ?存儲器設計及測試
在計算機系統(tǒng)之中,存儲器的作用十分重要,對指令和數(shù)據(jù)進行存儲是其主要功能。在設計存儲器時,可以針對存儲器類型的不同,采取分開設計的方法,同時,也可以設計一個兼具指令存儲和數(shù)據(jù)存儲功能于一體的存儲器。存儲器應該具備兩個端口,分別為讀端口和寫端口,亦可不用時鐘觸發(fā)。在進行儲存器寫入時,時鐘觸發(fā)是將數(shù)據(jù)寫入存儲器的前提條件,時鐘的任何動作皆可對存儲器的寫操作進行觸發(fā)。
存儲器設計實驗有助于讓學習者了解和掌握存儲器接口和信號控制功能,并具備運用存儲器功能的技能。此外,還要獨立進行存儲器的設計,這是存儲器設計實驗的根本性目的,對于完整的CPU設計來說至關重要,尤其是單周期CPU。所謂的單周期CPU是指執(zhí)行一個完整指令周期不超過一個時鐘,如果超過一個時鐘,則被稱為多周期CPU。在執(zhí)行指令的過程中,CPU對存儲器訪問的,次數(shù)通常會多于兩次,這兩次的作用分別為讀取指令和存儲數(shù)據(jù)。在設計存儲器時,如果出現(xiàn)錯誤,那么CPU在實際運行過程中,指令執(zhí)行效果會大打折扣。通過查閱資料得知,多周期CPU在執(zhí)行指令時所花費的時鐘周期較多,此時,應用讀寫方便的存儲器結構即可。
3.1.3 ?桶形位移器
在MIPS指令集合中,存在一些位移的指令,對寄存器數(shù)據(jù)提出了移動性的要求,只有寄存器中的數(shù)據(jù)能夠一次移動數(shù)位方能滿足要求。故應用寄存器執(zhí)行移動指令需要花費大量的時間,工作效率也會隨之受到影響,與當前CPU工作要求嚴重不符。為此,技術人員設計了一種桶形位移器,其位數(shù)可以自由設置,其設置范圍是0~31,移動方式包括多種,分別為算數(shù)右移、循環(huán)右移、邏輯左移和邏輯右移,故桶形位移器的輸入端也相對較多,主要包括5位移位輸入端和2位移位方式控制端。
3.1.4 ?ALU設計
ALU是CPU的重要組成部分,屬于一種運算電路,是邏輯運算和算數(shù)運算實現(xiàn)的重要條件,但是MIPS對ALU提出了更高的要求,ALU需要完成一些特殊的質量,如SEB、LUI、SEH、CLO和CLZ等,在詳細分析MIPS指令系統(tǒng)后得知,ALU需要執(zhí)行的運算多達15種。此外,為了對編碼功能進行簡化,在設計ALU電路時,輸出端會對ALU電路沒有保留的信號進行保留,如進位信號、溢出信號之和與信號相比是否較小等[3]。
3.2 ?設計簡單CPU的實驗
3.2.1 ?單周期CPU設計
單周期CPU指的是在一個時鐘周期內(nèi)完成所有指令的CPU結構,單周期CPU具有簡單的硬件結構和指令執(zhí)行過程。學習者應該在學習過程中對這些內(nèi)容加以了解,對于多周期CPU的理解具有十分重要的意義,故初學者應該將單周期CPU作為入手點。
實驗要求學習者設計一個單周期的CPU,并確保其所設計的CPU能夠執(zhí)行相應的指令,指令較為簡單,主要為I型指令、R型指令和J型指令。為了進一步降低CPU設計的難度,本次實驗不要求CPU執(zhí)行移動質量和存儲的指令。CPU的設計內(nèi)容由兩部分組成,分別為控制邏輯和數(shù)據(jù)通路設計。
3.2.2 ?多周期CPU設計
多周期CPU與單周期CPU設計相比,難度相對偏高,具體表現(xiàn)在以下兩方面:(1)需要滿足執(zhí)行時間最長的指令周期長度。就事實情況而言,單周期CPU所執(zhí)行的指令,其周期都相對較短,運行效率偏低。(2)多周期CPU可以將一個指令分為多個時間相同的執(zhí)行階段,不同的階段執(zhí)行的操作也較為特殊,如果指令執(zhí)行時間較長,那么執(zhí)行周期也隨之增加,如果執(zhí)行時間較短,使用少量的執(zhí)行周期即可,使得指令執(zhí)行效率大大提升。
多周期CPU需要在具備單周期CPU能力的同時,還要具備邏輯位移和存儲器訪問指令的執(zhí)行能力。正因如此,多周期CPU與單周期CPU相比,多了兩個裝置,分別為數(shù)據(jù)存儲器和桶形移位器。與此同時,多周期CPU執(zhí)行一個指令所需要的周期為多個時鐘,而ALU只有在指令運算期間才會被使用。在其余時間,ALU都會處于閑置狀態(tài)。為了實現(xiàn)對硬件結構的進一步簡化,在ALU處于閑置狀態(tài)時,將其用于下一條指令地址的計算十分重要,減少了對加法器的使用。
3.3 ?大型作業(yè)
在講述“計算機組成原理”實驗課程內(nèi)容后,學習者具備了一定的CPU設計能力。在學習后期,教師可以讓學生以團隊合作的方式,完成單周期CPU和多周期CPU的設計,同時也可以鼓勵學習者設計自己的指令系統(tǒng),并設計出執(zhí)行這些指令的CPU。
4 ? ?教學效果
該學校在借鑒國際知名高校的“計算機組成原理”實驗教學后,學習者對于計算機硬件結構的了解已經(jīng)趨于完善,其硬件設計能力和水平也大大提升,甚至部分設計已經(jīng)突破了教學內(nèi)容,學習者通過查閱資料和自主學習等方式,使自身的計算機基礎更加扎實。甚至部分學生設計了ARM11結構的處理器,并在其中增加了各類接口,連接顯示器和鍵盤后,就構成了一個完整的計算機,然后利用所學知識編寫游戲軟件,完成了自己的夢想[4]。
5 ? ?結語
以某高?!坝嬎銠C組成原理”實驗課程教學為例,詳細闡述了“計算機組成原理”的實驗目的、實驗內(nèi)容和實驗結果,重點分析了CPU的各個組成部分及其所具備的功能,以加深學習者對CPU的了解,從而使“計算機組成原理”實驗效果更好。
[參考文獻]
[1]宋會英,祁 ?鑫,崔 ?浩.計算機組成原理混合式金課的探索與實踐[J].中國石油大學勝利學院學報,2019,33(2):61-64.
[2]許海杰,劉 ?升.計算機組成原理實驗平臺改進研究[J].通化師范學院學報,2019,40(4):82-86.
[3]張銘泉,程曉榮.以能力培養(yǎng)為目標的計算機組成原理教學研究[J].教育教學論壇,2019(11):221-222.
[4]吳繼明,鐘群鋒,曾碧卿.虛擬仿真技術在計算機組成原理實驗教學中的應用[J].計算機教育,2019(3):34-38.