亚洲高清vr播放在线观看,欧美亚洲精品免费,欧美日韩天堂在线视频,午夜福利小视频

      學習啦 > 論文大全 > 學科論文 > 計算機論文 > 計算機組成原理探討論文(2)

      計算機組成原理探討論文(2)

      時間: 堅烘964 分享

      計算機組成原理探討論文

        計算機組成原理探討論文篇二

        《計算機組成原理實驗初探》

        摘要:根據(jù)國內外計算機硬件類實踐課程教育的現(xiàn)狀,分析傳統(tǒng)計算機組成原理實驗課程教學中的弊端,介紹南京大學計算機系對此門實驗課的教學安排,從知識準備、具體實驗內容設置和教學組織形式等方面,全面介紹計算機組成原理實驗課程的內容和教學方式,并對教學效果進行總結。

        關鍵詞:計算機組成原理;CPU;FPGA;單周期;多周期

        1 課程設計初衷

        計算機組成原理是計算機專業(yè)重要的核心課程,在計算機專業(yè)的整個課程體系中起著承上啟下的作用。熟練掌握計算機的結構和工作過程,不僅為計算機硬件的學習和研究打下基礎,對從事軟件工作的人也大有益處。

        近年來,南京大學計算機系對國際一流大學計算機專業(yè)的相關課程進行了詳盡的跟蹤調研,調研結果表明,計算機組成原理實驗課程設置一般都有兩個不同的角度:一個是偏重軟件的程序員角度,另一個是偏重硬件的硬件設計人員角度。偏重軟件的實驗課程一般是用高級語言和模擬器實現(xiàn)CPU,使學生能夠更好地理解計算機底層的系統(tǒng)結構,提高程序編寫和調試能力。偏重硬件的課程一般要求學生利用硬件描述語言,在FPGA上設計一個處理器系統(tǒng)。

        國內傳統(tǒng)的計算機組成原理實驗的教學方式是做驗證性實驗,在固定的實驗箱上,通過插拔一些連線,撥動部分開關和編制微程序等方式,和固定的硬件系統(tǒng)進行交互,從而了解計算機的內部結構。這一實驗形式無法讓學生深入理解計算機各個部件的具體硬件結構,也不能使學生很好地理解計算機底層的結構和系統(tǒng)軟件之間的關系,更不能培養(yǎng)學生利用現(xiàn)代化的工具設計計算機硬件系統(tǒng)的能力。鑒于這些傳統(tǒng)教學的弊端,國內部分高校在課程設置和教學內容上都開始借鑒國外一流大學計算機專業(yè)的做法,一部分高校已經(jīng)率先利用EDA技術在FPGA上進行計算機單元部件的設計、并以系統(tǒng)搭建的形式來組織計算機組成原理的實驗教學。南京大學計算機系從2007年開始了這一教學形式的嘗試,經(jīng)過幾年的探索,已經(jīng)形成了相對穩(wěn)定的計算機組成原理實驗課程的教學模式和教學內容。

        2 課程知識準備

        利用EDA技術在FPGA上實現(xiàn)一個處理器,需要學生有一定的知識準備。首先,計算機系在數(shù)字邏輯電路實驗課程中,利用EDA技術在FPGA上進行數(shù)字邏輯單元電路的設計和簡單數(shù)字系統(tǒng)的設計。其次,在計算機組成與系統(tǒng)結構課程中,學生深入學習MIPS體系結構的指令系統(tǒng),單周期、多周期以及流水線結構CPU的數(shù)據(jù)通路。計算機組成原理實驗課程在這些課程的基礎上,從設計CPU內部的單元電路開始,逐步進行MIPS體系結構的完整CPU的設計。

        3 課程設置

        課程內容的安排主要分為3大部分:部件級實驗、簡單CPU實驗和大型作業(yè)。

        3.1 部件級實驗

        在CPU的硬件電路設計中,涉及許多簡單的單元電路,如選擇器、譯碼器、觸發(fā)器等,這些內容在數(shù)字邏輯電路實驗課程中已經(jīng)很熟悉了,在本實驗課程中,主要是安排CPU內部其他重要的功能獨立部件的設計,如存儲器、寄存器組、桶形移位器和ALU等。

        3.1.1 存儲器的設計及測試

        存儲器是計算機系統(tǒng)的重要組成部分,用于存儲指令和數(shù)據(jù)。指令存儲器和數(shù)據(jù)存儲器可以分開設計,也可以只設計一個既存儲指令又存儲數(shù)據(jù)的存儲器。存儲器有讀和寫兩個端口,讀存儲器時,可以使用時鐘進行觸發(fā),也可以不使用時鐘進行觸發(fā)。寫存儲器時,一定需要有時鐘進行觸發(fā)才能將數(shù)據(jù)寫入存儲器中,時鐘的上升沿和下降沿都可以觸發(fā)存儲器的寫操作。

        存儲器實驗的主要內容,是讓學生掌握存儲器的接口及控制信號的功能和使用,學會各種存儲器的設計及測試,特別要掌握存儲器的工作時序,這在單周期CPU設計時特別重要。單周期CPU需要在一個時鐘周期內完成一整條指令的執(zhí)行,而在這一個時鐘周期內,CPU有可能會兩次訪問存儲器——讀指令和存儲數(shù)據(jù),如果存儲器設計不合理,在一個時鐘周期內是無法完成一條指令的。對于多周期和流水線CPU,一條指令需要多個時鐘周期才能完成,對存儲器時序的要求相對小一些,這時可以靈活應用方便讀寫的存儲器結構。

        3.1.2 寄存器組的設計

        寄存器是CPU內部暫存數(shù)據(jù)的空間,速度最快,使用也最為頻繁。MIPS體系結構的CPU內部寄存器,是一組由32個32位的寄存器組成的通用寄存器組。僅從寄存器組的外部特性來看,MIPS結構的寄存器組由無差別的32個32位寄存器組成,任何條件下均可訪問寄存器組中的任意寄存器。但是,為了簡化CPU的結構,MIPS體系結構寄存器組的0號寄存器的值被設置為恒“0”,只能讀出,不能寫入。

        MIPS指令集中一條指令(R型)最多同時對三個寄存器進行操作:兩個源寄存器和一個目的寄存器。R型指令執(zhí)行過程中,需要讀出兩個源地址寄存器中的內容,經(jīng)過運算后再寫入目的地址指定的寄存器,由此可以得出MIPS體系結構的寄存器組至少需要兩個輸出端口和一個輸入端口。32位寬的寄存器是由4個字節(jié)組成的,寄存器組可以僅對某個寄存器的某個字節(jié)進行寫操作,因此寄存器組還需要一個4位的寫使能控制端,分別用于控制4個字節(jié)的寫操作。

        3.1.3 桶形移位器

        在MIPS的指令集中,有一些移位指令,要求對某寄存器中的數(shù)據(jù)一次性移動數(shù)位。如果用移位寄存器來完成這一移位操作,就需要多個移位周期才能完成一條移位指令,工作效率太低,顯然不能滿足快速CPU的要求。

        桶形移位器是一個組合邏輯電路,移位位數(shù)可以在0~31位之間自由設置,移位方式有邏輯左移、邏輯右移、算術右移和循環(huán)右移4種。因此,桶形移位器的輸入端有32位的待移位數(shù)據(jù)輸入端、5位移位位數(shù)輸入端和2位移位方式控制端;桶形移位器輸出一個已經(jīng)經(jīng)過移位的32位數(shù)據(jù)。

        3.1.4 ALU設計

        ALU是CPU中負責運算的電路,通常ALU只實現(xiàn)算術運算和邏輯運算,但是,MIPS指令系統(tǒng)要求一些特殊指令也在ALU中完成,如LUI(置高位立即數(shù))、SEB(字節(jié)擴展)、SEH(半字擴展)、SLT(比較置數(shù))、CLZ(計算前導0)和CLO(計算前導1)等。經(jīng)過對MIPS指令系統(tǒng)進行詳細的分析,MIPS體系結構的ALU要執(zhí)行15種不同的運算,ALU具體的操作及編碼如表1所示。此外,為了簡化后續(xù)電路和擴展CPU功能,在ALU電路設計時,其輸出端也產生和保留了一些通常ALU沒有保留的信號,如溢出信號、進位信號和是否小于信號等。

        3.2 簡單CPU設計實驗

        3.2.1 單周期CPU設計實驗

        所謂單周期CPU,是指所有的指令都在一個時鐘周期內完成的CPU結構,單周期CPU的指令執(zhí)行過程和硬件結構都相對簡單。理解單周期CPU的工作和設計原理,對于理解多周期CPU和流水線CPU都有很大幫助,因此,學習設計CPU從單周期CPU人手是非常合適的。

        該實驗要求完成一個單周期CPU的設計,此CPU能完成表2中的指令,這些指令包含R型指令、I型指令和J型指令,為了使單周期CPU的結構相對簡單,實驗中沒有加上移位指令和存儲指令。

        處理器的設計涉及數(shù)據(jù)通路的實現(xiàn)與控制邏輯的設計,能夠執(zhí)行以上16條指令的單周期CPU的數(shù)據(jù)通路如圖1所示。

        3.2.2 多周期CPU設計實驗

        單周期CPU的指令周期長度,必須滿足執(zhí)行時間最長的指令周期長度。實際上,大部分的指令執(zhí)行周期都很短,這就導致了單周期CPU的效率低下。多周期CPU是將每條指令分成幾個時間相同的執(zhí)行階段,每個階段執(zhí)行特定的操作,執(zhí)行時間長的指令就執(zhí)行多個周期,執(zhí)行時間短的指令就使用相對少的幾個周期,這樣就提高了指令執(zhí)行的效率。

        多周期CPU除了要完成上述所有單周期CPU需要執(zhí)行的指令外,還增加了表3中的4條指令,這些指令包括邏輯移位指令和存儲器訪問指令。

        觀察多周期CPU可執(zhí)行的指令,它比單周期CPU可執(zhí)行的指令多了邏輯移位指令和存儲訪問指令,因此,多周期CPU在結構上比單周期CPU多了桶形移位器和數(shù)據(jù)存儲器。另外,多周期CPU執(zhí)行一條指令時需要多個時鐘周期,只有在指令的運算周期,才會用到ALU,在其他周期ALU是空閑的。為了簡化硬件結構,在ALU空閑期間可以用它來計算下一條指令的地址,這樣用于計算下條指令地址的加法器就省略了。和單周期CPU相比,多周期CPU的控制信號也相應的有所增加,多周期CPU的結構圖如圖2所示。

        3.3 大型作業(yè)

        進行了單周期CPU和多周期CPU的設計訓練之后,同學們具備了一定的CPU設計基礎,有了設計相對復雜的CPU的知識儲備。在學期的后半段,我們會布置大型課程設計作業(yè),作業(yè)內容包括MIPS體系結構5級流水線CPU的設計,或是ARM體系結構CPU的設計,我們也鼓勵同學們自己設計指令系統(tǒng),并能夠設計出可以執(zhí)行這些指令的CPU。

        大型作業(yè)要求同學們分組完成,每組2~4名同學分工合作,這樣既減輕了他們的工作量,又鍛煉了他們協(xié)同合作的能力。

        4 教學效果

        自2008年秋季學期開始,我系在計算機組成原理實驗課程中采用了用EDA技術在FPGA上進行CPU設計的教學方式。通過對CPU設計的學習,同學們加強了對于計算機硬件結構的理解,增強了數(shù)字系統(tǒng)設計的能力。在有些設計階段,同學們的設計超出了教學講解的范圍,他們通過討論、查詢網(wǎng)絡和查閱圖書資料等方式解決問題,增加了他們的自學能力和搜集利用資料的能力。部分同學因此對CPU的設計產生了濃厚的興趣,有些同學設計了包含MIPS所有整數(shù)指令的五級流水CPU,還有的同學設計了ARM 11結構的處理器,并在此基礎上增加總線及總線接口、PS/2接口、VGA接口等部分,接上鍵盤和顯示器,就構成了一臺完整的計算機硬件裸機,然后又用已經(jīng)實現(xiàn)的指令編寫了游戲軟件,實現(xiàn)了在自己設計的機器上玩自己設計的游戲的夢想。也有同學將設計的系統(tǒng)作為作品參加了相關的設計大賽,獲得了很好的名次。

        5 結語

        經(jīng)過5年的教學實踐,計算機系證明了在計算機組成原理實驗課程中,指導學生利用EDA技術在FPGA上實現(xiàn)—個CPU在教學安排上是可行的,相關實踐取得了很好的教學效果,為學生的研究和學習增加了—個可選的方向,對我國硬件人才的培養(yǎng)也非常有益。

        參考文獻:

        [1]袁春風,張澤生,蔡曉燕.計算機組成原理課程實踐教學探[J].計算機教育,2011(17):110-114.

        [2]王帥.美國一流大學計算機組成與系統(tǒng)結構實驗課程研究[J].計算機教育,2011(17):115-118.

        [3]李山山,全成斌.計算機組成原理課程實驗教學的調查與研究[J].計算機教育,2010(22):127-129.

        [4]袁春風.計算機組成與系統(tǒng)結構[M].北京:清華大學出版社,2010:229-264.

        [5]李亞民.計算機原理與設計:Veirilog HDL版[M].北京:清華大學出版社,2011:127-202.

      看過“計算機組成原理探討論文”的人還看了:

      1.計算機組成原理實驗的探討論文

      2.關于計算機組成原理的教學論文

      3.關于計算機組成原理的課程論文

      4.計算機組成原理論文

      5.計算機組成原理課程論文

      2920981