周 剛, 師 維, 陳 潤, 琚生根, 邱曉幼
(1. 四川大學 計算機學院, 四川 成都 610065;2. 四川大學 實驗室及設備管理處, 四川 成都 610065)
?
計算機組成原理實驗創新性改革探索與實現
周 剛1, 師 維1, 陳 潤1, 琚生根1, 邱曉幼2
(1. 四川大學 計算機學院, 四川 成都 610065;2. 四川大學 實驗室及設備管理處, 四川 成都 610065)
針對當前計算機組成原理課程實驗教學中的問題,提出了以問題為導向,設計過程中兼顧自頂向下和自底向上優點的計算機組成原理實驗教學改革方案。該方案符合實際情況,具有較好的實用性,并且克服了傳統實驗教學的諸多不足,不僅有效地輔助了理論課的學習,更加鍛煉了學生文獻檢索、歸納總結、主導學習的能力,訓練了學生工程設計和自主創新的能力。
實驗創新; PBL教育法; 模型機; 指令
計算機組成原理課程是高校計算機及其相關專業的一門重要專業基礎課程,也是計算機硬件課程體系中的核心環節[1-2]。這門課程給學生的普遍感覺是內容抽象[3]。實驗教學作為該課程理論教學的重要補充,有著至關重要的作用。當前對于計算機組成原理實驗的研究大多集中在對教學模式和體系的改革[4-6],包括實驗教學方法、實驗課程的設置、成績考核標準等。也有學者從實際出發,針對某個具體實驗箱的硬件環境進行的研究,開發了一系列基本模型機的綜合性、設計性實驗[7-10],但實驗的重點大多是圍繞指令系統的設計,忽略了指令系統所依賴的硬件的工作過程,使學生難以建立計算機硬件整體和局部的概念。還有部分學者致力于組成原理虛擬實驗環境的開發和研究[11-12],但對于硬件實驗,虛擬仿真的環境并不能完全取代真正的硬件環境,沒有設計出一套通用的、功能完善的、符合實際需求的、能真正投入大規模使用的軟件。由此可見,有必要總結現有計算機組成原理實驗教學中的問題,結合實際實驗環境和學生學習情況,對改革實驗教學方法和教學內容進行研究,提出一套能解決現有問題、符合實際、可行的實施方案。
1.1 實驗內容的問題
傳統的計算機組成原理實驗以驗證性實驗為主,學生往往按照實驗指導書按部就班進行實驗,對于實驗過程和實驗原理較少思考,以修到學分為目的,無法達到實驗課程的教學目標。以驗證性實驗為主的實驗教學模式不利于發揮學生的思考能力和創造能力,使學生無法深入理解和掌握計算機系統的知識。
1.2 實驗開展方式的問題
大多數的實驗指導書的編寫順序都是先各個部件實驗,然后再是整機實驗,實驗一般也是照著指導書順序進行的,這種自底向上的方法的缺點在于不利于學生建立計算機硬件的整體概念,知識點容易片面和脫節。再加上部件實驗如果都是以驗證性實驗為主的話,學生對于各部件無法深入掌握,在進行后續整機實驗時就無法以部件為基礎進行理解和設計,以至于無法理解計算機的工作原理。
1.3 實驗教學模式的問題
計算機組成原理的理論課程內容知識點繁雜,內容比較抽象,難于理解[2],學生普遍反映枯燥、乏味,提不起學習興趣;而實驗課的作用應該是變抽象為形象,變復雜為簡單,提高學生的學習積極性。但在實際的教學中,教師主講、單純的一對一輔導和檢查實驗結果這種傳統實驗指導模式并不能提高學生的學習興趣。因為在這樣的模式下,不能保證每個學生都成為學習的主體,而且教師在實驗環節僅提供理論講解和個別輔導也是不夠的。
1.4 考核標準無法真正體現出個體差異
傳統的實驗模式導致了成績考核只能依據于實驗的完成結果和報告的提交情況,而驗證性的實驗結果相同,幾乎所有的學生都能完成,實驗報告也大同小異,無法體現出學生之間的差異,這導致教師在評分時難以有標準的依據,無法體現差異的成績,也會打擊部分認真學生的積極性。
2.1 基本條件
由于院系和專業的不同,計算機相關專業對于計算機組成原理這門硬件課程的要求不盡相同,我院要求學生側重于對整個計算機系統從高層(應用和軟件)到底層(硬件)的工作原理的理解和掌握,最終認識和理解計算機系統如何執行程序、如何進行信息存儲和通信等,對于我院學生并未要求掌握VHDL,Verilog等硬件描述語言。
而實驗的硬件環境以目前我院所使用的西安唐都公司的TD-CMA教學實驗系統為基礎。該型號的專用集成設備也被很多高校所采用,因此,在此基礎上的改革成果應該具有較好的通用性和適用性。我院目前將計算機組成原理的實驗課程與理論課程分開,單列為一門必修課,實行小班授課,并保證每個學生一臺設備。這些舉措為實驗課程的改革提供了良好的開展條件。
2.2 創新性實驗方案設計
(1) 方法的引入。前面講過,自底向上的認識和設計計算機系統會使學生對整體難以把握;自頂向下的設計方法可以避免這一問題,但這種設計方法需要學生對于底層硬件非常熟悉,這對于剛開始實驗的學生來講是很困難的。因此我們揚長避短,采用自底向上和自頂向下結合的設計方式。同時,為了提高學生的學習積極性,引入在醫學教育中較為流行的以問題為導向的(PBL)教育法的思想。PBL教育法強調以學生的主動學習為主,該方法將學習與任務或問題掛鉤,將學習設置在學生通過自主探索和合作來解決問題的過程之中,從而培養學生解決問題和自主學習的能力。
(2) 問題導向的建立。結合前面2種思想,我們以設計和建立某種功能的模型機作為整門實驗課程的問題導向,在第一堂課給學生明確實驗課程的任務,把模型機的建立作為學習的起點和終點,此后開展的實驗和學生的學習內容是都圍繞這一問題為主軸構架。讓學生帶著如何構建計算機系統這一問題貫穿學習始終,來發現和解決實驗過程中的難題,可以很好地幫助他們建立整機概念。
(3) 學習過程的安排。確立了問題導向后,引導學生采用自底向上和自頂向下相結合的方式來設計和建構模型機。先引導學生從整體(頂)入手,思考要構建一個完整的計算機系統(模型機)需要哪些部件,這些部件是怎樣的工作原理和工作過程,部件之間又如何能配合起來,形成一個有機整體,來共同完成計算機的任務。要解決這些問題,學生又必須從底層模塊(底)入手,通過部件實驗來學習和深入了解各部件的性質和控制原理,然后把這些部件組裝在一起,最后完成模型機的設計和實現。在這一過程中,教師應以學生為主導,讓學生獨立去完成實驗,去思考、去查閱資料,并積極與同學溝通交流,討論設計方案,大家齊心協力得出最佳方案,而教師則在關鍵時刻起到點撥、指導、促進的作用。
該方案的技術路線如圖1所示。
2.3 具體實施過程
2.3.1 提出問題導向,系統設計總體規劃
提出要解決的問題:設計能實現原碼一位乘法的復雜模型機[8-9],實現內容包括硬件的構架和連線、指令系統的設計、寫出實現乘法的程序并在實驗系統上運行通過。

圖1 組成原理實驗創新性改革方案技術路線圖
教師先以實驗指導書中簡單模型機的設計和實現的驗證性實驗為例,向學生展示一個完整的計算機系統所包括的部件和應該具備的功能,此時并不要求學生完全弄懂每個環節,教學的重點是使學生通過直觀的感受建立整機的概念,并且明白所要完成的工作。
通過示例實驗,教師進一步引導學生思考完成這樣一個設計的大致總體規劃,包括要完成設計所需要的知識,當前自己的知識儲備有多大差距,需要學習哪些東西,開發的方法和步驟應如何設置等問題。
2.3.2 以部件實驗為基礎,設計數據通路圖
計算機要完成復雜任務首先需要硬件的載體,各部件都有其獨特的不可缺少的功能。我們采用唐都實驗系統上集成的各元件作為模型機的硬件部件,學生通過完成指導書提供的部件驗證性實驗,可以學習各部件的組成結構和工作原理,并且循序漸進地學習各部件之間如何進行數據流通和配合,遇到困難時,盡量通過獨立思考、查閱資料或者和小組同學討論來解決。而在此過程中,教師的主要工作是根據教學大綱和學生的能力安排實驗進度和設計教學資源,提煉出每個實驗中學生需要掌握和思考的知識點。具體實驗安排和實驗中需要學習和思考的要點如下:
(1) 運算器實驗。理解和掌握運算器單元的邏輯功能;能看懂運算器原理圖,進而理解實驗過程中的LDA、LDB、ALU_B和T4信號變化的目的和作用,理解這些信號是如何控制寄存器和數據通路的;通過原理圖理解進位標志FC和零標志FZ在什么情況下發生變化;重點理解帶進位的加法和帶進位的移位運算,理解FC的作用。思考在進行整機設計時,運算器應該如何連線,如何控制。
(2) 存儲器實驗。掌握靜態隨機存儲器RAM的工作特性及數據的讀寫方法;理解實驗箱上的存儲器讀寫控制邏輯的原理,掌握CPU如何通過該邏輯對RAM進行讀寫;該實驗中第一次出現了地址寄存器AR,掌握AR和存儲器之間如何連接和配合。思考整機設計時如何實現對存儲器數據的讀寫。
(3) 系統總線實驗。理解總線的概念及其特性;能看懂原理圖,進而理解和掌握總線是如何將輸入輸出設備、存儲器和寄存器連在一起,又如何按照傳輸的要求有序地控制他們,來實現信息的傳輸;理解和掌握I/O設備的讀寫控制邏輯。思考該實驗所實現的數據傳輸流程在整機實驗時應該如何實現。
(4) 微程序控制器實驗。這一單元需要掌握的內容較多,相比之下也較難理解,但其內容是構建“智能”計算機系統的基礎,學生需要了解計算機工作的時序信號,理解CPU周期;理解機器指令和微指令的概念和兩者的差別和聯系;能看懂原理圖,并通過實驗過程中軟件中動態的數據流向圖來掌握的工作原理;掌握指令譯碼的原理,掌握微指令的格式,這是后面設計模型機指令的基礎;理解和掌握微控制器是如何將前幾個實驗中手動控制轉換為自動控制的;掌握IR指令寄存器、寄存器R0和輸出單元七段數碼管的原理。思考在整機設計中,如何通過微控制器來控制各個部件,實現既定的功能。
每完成一個部件實驗,教師安排學生進行自我評價或小組評價,并總結和講解其中的難點,最后引導學生在完成和掌握各部件實驗的基礎上,根據所要解決的問題思考數據應該如何傳送,在傳送過程中需要哪些部件,應該如何控制各個部件的狀態,最終設計出模型機整機的數據通路圖,并確定實驗連接線路。對于本次設計,要完成乘法運算,需要運算器ALU通過加法和移位來實現,需要微控制器MC、指令寄存器IR、程序計數器PC來取指、譯碼和執行來控制各部件,還需要3個通用寄存器R0,R1,R2和一個存儲器單元來存放乘法運算中的被乘數、乘數,尾數和乘積的高n位。要訪問存儲器單元需要地址寄存器AR,并需要開關作為輸入單元來輸入乘數和被乘數,2個七段數碼管作為輸出單元來顯示乘法結果。
2.3.3 構建指令系統
完成了硬件的設計,需要為其構建指令系統。TD-CMA實驗系統是一個8位計算機,因此實驗采用的指令格式分為單字長和雙字長指令2種。根據需要解決的問題來設計指令,設計出微程序流程圖,按照系統的微指令格式,將每條微指令代碼化,轉化為“二進制微代碼表”。指令的設計并沒有標準的答案,指令設計成功的標準首先以完成任務為前提,但一個設計優良的指令應該追求的目標是有利于縮短微指令字長度,有利于減小控制存儲器的容量,有利于提高微指令的執行速度,有利于提高微程序設計的靈活性[7]。教師鼓勵學生之間相互交流,通過對比、討論、思考來取長補短,尋找更優的方案。
2.3.4 編寫程序、加載、調試、運行
按照要求功能編寫程序,將編寫好的微指令和機器指令轉化為指定系統、指定的格式寫入以txt為后綴的文件中,并通過鏈接軟件將其加載到微存和內存中,通過本機或者聯機的方式運行程序,觀察下位機數據顯示燈的變化和軟件中數據通路流圖指令的執行過程,在程序運行完后檢查OUT單元顯示的乘積結果是否符合預期,從而驗證設計的正確性。教師可組織各小組匯報成果,討論并總結各方案的優缺點。
2.3.5 成績評定
根據以上的實施方案,教師在評定學生成績時就能不再單純地依賴實驗結果和實驗報告,而是更多地記錄和考核學生的學習過程,根據學生在學習過程中的表現來給出一個較為公正的分數。
以問題為導向、設計過程中兼顧自頂向下和自底向上優點的計算機組成原理實驗改革方案,解決了傳統教學中驗證性實驗為主、學生參與積極性不高、創造力不強、無法很好地建立整機概念、考核成績標準有欠公平等問題,不僅有效地輔助了理論課的學習,還鍛煉了學生文獻檢索、歸納總結、綜合理解的能力,訓練了學生工程設計和自主創新的能力,幫助學生建立主導學習、終身學習的能力。該方案已在我院計算機科學與技術專業應用,并取得了較好的效果。
References)
[1] 鐘國輝. 以設計性實驗為牽引的微機原理課程教學[J].高等工程教育研究, 2013(3):154-158.
[2] 肖敏.淺析計算機組成原理綜合設計性實驗的教學實踐[J].教育教學論壇,2014,5(22):216-218.
[3] 姜欣寧,陳宇.“計算機組成原理專題實驗”的教學改革[J].實驗技術與管理,2013,30(4):162-165.
[4] 張磊,鄭榕,田軍峰.計算機組成原理理論實驗教學無縫結合的新方法[J].實驗室研究與探索,2013,32(5):168-172.
[5] 方愷晴,張洪杰. 計算機組成原理實驗課程教學新方法的探論[J] .計算機教育, 2007(2):52-55.
[6] 顏君松.計算機組成原理實驗教學研究與探索[J].重慶文理學院學報:自然科學版,2008,27(1):101-102.
[7] 趙洋. 《計算機組成原理》復雜指令模型機設計與實現[J]. 科技信息,2006(2):161-162.
[8] 喬道跡.《計算機組成原理》課程復雜模型機的深度開發[J].裝備制造技術,2009(5):114-117.
[9] 張宇華,周瑩.《計算機組成原理》綜合性、設計性實驗的開發與實現[J] . 現代計算機,2004(9):98-100.
[10] 丁紅勝.CPU與簡單模型機設計實驗中的關鍵問題分析[J].計算機教育, 2013(15) :13-17.
[11] 郝尚富,張志強,孫佰利.計算機組成原理虛擬實驗環境的設計及實現[J].計算機仿真,2009,26(11):320-323.
[12] 王建新,張麗媛,盛羽,等.基于組件的計算機組成原理虛擬實驗室的設計與實現[J].系統仿真學報,2008,20(9):2469-2474.
Exploration and realization of innovative reform for experimental course of Principles of Computer Organization
Zhou Gang1, Shi Wei1, Chen Run1, Ju Shenggen1, Qiu Xiaoyou2
(1. School of Computer Science, Sichuan University, Chengdu 610065, China;2. Laboratory and Equipment Management, Sichuan University, Chengdu 610065, China)
Aiming at the current problems of experimental teaching of Principles of Computer Organization, a reform program is proposed, which is problem-oriented and has both top-down and bottom-up advantages in the design process. The program can meet the actual situation of our school, has a good practicability, and can overcome many shortcomings of traditional experimental teaching. It not only effectively supports the theory lesson, but also trains the students’ literature searching, summarizing, and self-learning ability, and exercises the students’ ability of engineering design and innovation.
experimental innovation; PBL education act; model machine; instruction
10.16791/j.cnki.sjg.2016.11.007
2016-06-21
四川大學實驗技術立項資助項目(2015-106,2015-109);四川大學計算機學院實驗技術立項資助項目
周剛(1963—),男,四川成都,碩士,高級工程師,研究方向為智能信息處理、高校實驗教學
陳潤(1980— ),女,四川成都,博士,講師,研究方向為智能系統和信息安全.
E-mail:cr_run@scu.edu.cn
G642.0; TP301
A
1002-4956(2016)11-0026-04