?

面向計算機系統能力培養的計算機組成原理實驗教學

2016-11-10 08:08丁紅勝
計算機教育 2016年7期
關鍵詞:計算機組成原理

丁紅勝

摘要:面向計算機系統能力培養,分析計算機系統能力的培養與計算機組成原理教學的關系,提出以實現8位機為目標,采用EDA編程技術和模塊化的設計思想,從設計運算器、存儲器、控制器及綜合實驗框架等方面具體闡述實驗過程,最后闡述該實驗方法能夠有效培養學生的計算機系統觀,引導學生深層次理解計算機原理。

關鍵詞:系統能力;實驗模式;計算機組成原理

0.引言

計算機領域的發展壯大和多元化的發展趨勢,給計算機教育帶來巨大的挑戰。CS2013(Computer Science Curricula 2013,ACM&IEEE)提出計算機科學本科畢業生應具備系統層次的視野,強調學生需從多層次的細節抽象思考問題,對計算機的理解應超越各種組件的實現細節,要從計算機系統結構和構建分析過程出發。在后PC時代,計算機資源多樣化,各種類型的I/O設備千差萬別,智能手機數量已經超過PC設備,計算機技術觸及的應用領域更廣更深,對軟硬件的協同工作要求更高,從業人員所需的知識量急劇膨脹。在教學過程中,如何適應計算機技術發展的新趨勢,培養適合社會發展需求的大學生,是高校面對的重大挑戰。我國高校計算機科學與技術專業教指委從能力培養的角度強調對計算機學科學生的4項專業能力的培養,包括計算思維能力、程序分析與設計能力、算法分析與設計能力和計算機系統能力,其中尤以計算機系統能力的培養為主。

1.理解計算機系統能力培養與計算機組成原理關系

培養學生站在系統的高度分析和解決問題,提高其把握問題的全局能力,是提高學生能力培養的核心。具體而言,就是培養學生的計算機系統能力、計算思維能力,而不是灌輸和堆砌知識。計算機系統能力是指計算機系統的分析、設計、開發、調優、檢錯能力,這種能力應該成為計算機專業學生的優勢所在。計算機組成原理課程作為計算機專業研究生入學考試專業基礎科目之一,是培養學生深入理解計算機基本工作原理、建立計算機系統概念的一門學科基礎課程,是整個計算機學科專業和計算機系統的基礎和核心。目前,國內一些高水平大學在如何提高學生的系統能力方面,做了很多卓有成效的工作。例如,南京大學袁春風教授以培養計算機系統設計能力為目標設計教學過程,優化課程群建設;清華大學劉衛東等人從課程體系方面進行了統一規劃,建設了計算機系統綜合實驗平臺,學生可以獨立設計并完成一個完整、簡單的計算機系統,以培養學生綜合運用課程知識解決問題的能力;北航的高小鵬老師給出了以工程化方法培養學生計算機系統能力的方法。

計算機系統可以用分層模型描述,從低到高包含邏輯電路級、一般機器級、操作系統級、匯編語言級和高級語言級,一般機器級又可細分為微體系結構層和指令集體系結構層。面向計算機系統能力的教學,就是要求學生以程序員的視角理解計算機硬件設計,以硬件設計者的角度理解程序執行,徹底掌握計算機系統各個抽象層的實現及其相互轉換機制、計算機軟硬件之間的關聯關系及相互影響。計算機組成原理課程針對微體系結構層和指令集體系結構層的知識體系,向上負責解釋并執行來自操作系統的命令,向下將計算機操作轉化為電平信號,驅動計算機部件執行。所以,如何讓學生有效地掌握組成原理知識,是培養學生計算機系統能力的一個重要部分。

2.實驗環境及過程

為了提高學生對計算機系統的理解能力,激發學生的學習興趣,避免傳統驗證性實驗導致學生被動學習,我們對計算機組成原理的實驗內容和實驗方式進行了改革。實驗的目標是讓每位學生當一回工程師,設計一套計算機系統。具體而言,計算機組成原理實驗的最終目標是完成一個8位機系統的設計與實現,是一個包含運算器、控制器、存儲器、輸入輸出功能的完整計算機系統,且多數功能部件采用EDA硬件編程方式實現。實驗內容被分解成7次實驗,包括8位運算器設計實驗、運算器控制實驗設計、存儲器存取實驗設計、指令系統實驗設計、控制器實驗設計等。運算器用兩片4位的am2901運算器芯片級聯構成8位運算器,存儲器為SDRAM HM6116,輸入用二進制開關模擬,輸出部件主要為LED燈和PC終端??删幊唐骷x用Lattice iM4A5-128/64 10YC-12YI,硬件編程語言采用了ABEL語言,集成化的開發環境為isp LEVEL Project Navigator3.0,下載工具使用軟件自帶的LSC isp VMsysteml5.3。通過設計、編輯、編譯、生成JEDEC文件、下載等步驟,將可編程CPLD芯片變成實驗邏輯部件;然后,連接CPLD芯片和功能部件之間的連線,搭建起完整的數據通路;最后,編寫測試程序測試本次實驗結果的正確性。實驗步驟如圖1所示。

3.綜合實驗框架設計

7次實驗內容由淺入深,針對構成計算機系統的不同邏輯功能部件進行實驗,最后在已有基礎上擴展、整合,構建一個完整的計算機系統。其中,運算器部件分2次實驗進行:運算器實驗一設計并實現一個8位的ALU,運算器功能包括兩個8位的二進制數的加、減、取反、數據傳輸,屬于線路一級的實驗,目的是學會CPLD芯片的使用,熟悉基于EDA方式進行實驗的流程;運算器實驗二的目的是對已有運算器芯片進行控制,級聯兩片4位的運算器Am2901,構成8位的運算器,并手動控制開關輸入數據和控制信號,控制Am2901工作,并將控制過程設計成控制指令,寫入CPLD芯片,通過CPLD芯片完成對運算器AM2901的控制。第3次實驗通過軟件模擬系統練習16位機的匯編語言程序,目的是通過軟件形式理解硬件的工作原理,提高學生的系統理解力,特別是對計算機指令系統的理解。第4次實驗為存儲器實驗,實驗分兩步進行:第一步驗證SDRAM HM6116的功能,通過手動開關控制和實現內存讀寫指令,實驗第二步利用CPLD芯片進行編程,自動完成對連續存儲單元內容的讀和寫。第5次實驗為控制器實驗,內容綜合,實驗工作量大,且控制器的復雜度和指令集數量有關,本次實驗設計的控制器包含8條指令。第6次實驗為8位機的輸入輸出實驗,分為兩個部分:第一部分通過手動開關控制串口實現輸入輸出指令;第二部分用CPLD芯片控制串行接口執行輸入輸出操作。第7次實驗為包含14條指令集的8位機整機系統設計實驗,該實驗是對前幾次實驗的綜合:指令集包含了算數運算類指令ADD、SUB,邏輯運算類指令AND、OR、NOT,移位指令SHR,輸入輸出指令IN、OUT,訪內指令LDRR、STRR,程序控制指令JNCR、CALR、RET,數據傳輸指令MVRD,其中對指令的內存存取共享指令LDRR、STRR。

實驗平臺主要用到了5個主要芯片,1片iM4A5.128/64 10YC.12.YI(CPLD芯片),2片AM2901,1片HM6116,1片Intel8521,平臺的核心為可編程邏輯陣列芯片iM4A5。圖2給出了由這個主要芯片構成的綜合實驗框架,虛線框給出了各實驗的邏輯框圖。實驗的過程基本上可分為如下步驟:確定目標、分析任務、設計方案、編程實現、程序硬件寫入、連線排錯、測試驗證。將傳統組成原理的驗證型實驗轉變為設計型實驗,實驗結果與學生的設計相關,所見即所得。這種形式知識環環相扣,采用設計方式進行實驗,有利于變被動學習為主動設計過程,學生的學習興趣大大提升。

4.結語

本文通過EDA方式設計功能部件的思路,構建了一個完整的8位機計算機系統。這種方式變被動的驗證性學習為主動的自主設計實驗,極大地調動了學生的學習積極性,發揮其主觀能動性和創造力。通過解決實驗過程不同階段遇見的問題,增強了學生對計算機系統的理解,特別提升了其硬件系統整體觀的認知能力,提高了學生自主解決問題的能力。我們從2013年開始采用這種模式的實驗教學,現已經過了多個輪次的教學實踐和改進。從教學效果可以看出,改革后的教學模式對學生系統能力的培養起到了很好的效果,提升了大部分學生學習的主觀能動性,有效地激發了學生學習的興趣。但這種設計性的實驗方式對學生的學習能力要求比較高,一旦前面的知識沒有掌握好,后續的學習會更加困難。當然,計算機系統能力的培養,是一項系統工程,涉及內容繁多,本文僅從計算機組成原理這一門課程實踐教學的角度給出了如何有效地培養學生的計算機系統能力。構建完備的計算機系統能力培養體系,還需從優化課程群教學內容、提升知識的系統性和完整性、采用多樣化培養手段等多個方面綜合進行。

猜你喜歡
計算機組成原理
物聯網工程專業計算機組成原理教學改革探索
《計算機組成原理》綜合教學輔助平臺的設計與實現
問題教學法在《計算機組成原理》課程教學中研究應用
用“工程思維”引領《計算機組成原理》課程教學
計算機組成原理課程實驗教學探討與實踐
《計算機組成原理》課程建設的改革與探索
西部地、計算機組成原理實驗教學的困境與改進
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合