周 剛, 師 維, 陳 潤, 琚生根, 邱曉幼
(1. 四川大學 計算機學院, 四川 成都 610065;2. 四川大學 實驗室及設(shè)備管理處, 四川 成都 610065)
?
計算機組成原理實驗創(chuàng)新性改革探索與實現(xiàn)
周 剛1, 師 維1, 陳 潤1, 琚生根1, 邱曉幼2
(1. 四川大學 計算機學院, 四川 成都 610065;2. 四川大學 實驗室及設(shè)備管理處, 四川 成都 610065)
針對當前計算機組成原理課程實驗教學中的問題,提出了以問題為導向,設(shè)計過程中兼顧自頂向下和自底向上優(yōu)點的計算機組成原理實驗教學改革方案。該方案符合實際情況,具有較好的實用性,并且克服了傳統(tǒng)實驗教學的諸多不足,不僅有效地輔助了理論課的學習,更加鍛煉了學生文獻檢索、歸納總結(jié)、主導學習的能力,訓練了學生工程設(shè)計和自主創(chuàng)新的能力。
實驗創(chuàng)新; PBL教育法; 模型機; 指令
計算機組成原理課程是高校計算機及其相關(guān)專業(yè)的一門重要專業(yè)基礎(chǔ)課程,也是計算機硬件課程體系中的核心環(huán)節(jié)[1-2]。這門課程給學生的普遍感覺是內(nèi)容抽象[3]。實驗教學作為該課程理論教學的重要補充,有著至關(guān)重要的作用。當前對于計算機組成原理實驗的研究大多集中在對教學模式和體系的改革[4-6],包括實驗教學方法、實驗課程的設(shè)置、成績考核標準等。也有學者從實際出發(fā),針對某個具體實驗箱的硬件環(huán)境進行的研究,開發(fā)了一系列基本模型機的綜合性、設(shè)計性實驗[7-10],但實驗的重點大多是圍繞指令系統(tǒng)的設(shè)計,忽略了指令系統(tǒng)所依賴的硬件的工作過程,使學生難以建立計算機硬件整體和局部的概念。還有部分學者致力于組成原理虛擬實驗環(huán)境的開發(fā)和研究[11-12],但對于硬件實驗,虛擬仿真的環(huán)境并不能完全取代真正的硬件環(huán)境,沒有設(shè)計出一套通用的、功能完善的、符合實際需求的、能真正投入大規(guī)模使用的軟件。由此可見,有必要總結(jié)現(xiàn)有計算機組成原理實驗教學中的問題,結(jié)合實際實驗環(huán)境和學生學習情況,對改革實驗教學方法和教學內(nèi)容進行研究,提出一套能解決現(xiàn)有問題、符合實際、可行的實施方案。
1.1 實驗內(nèi)容的問題
傳統(tǒng)的計算機組成原理實驗以驗證性實驗為主,學生往往按照實驗指導書按部就班進行實驗,對于實驗過程和實驗原理較少思考,以修到學分為目的,無法達到實驗課程的教學目標。以驗證性實驗為主的實驗教學模式不利于發(fā)揮學生的思考能力和創(chuàng)造能力,使學生無法深入理解和掌握計算機系統(tǒng)的知識。
1.2 實驗開展方式的問題
大多數(shù)的實驗指導書的編寫順序都是先各個部件實驗,然后再是整機實驗,實驗一般也是照著指導書順序進行的,這種自底向上的方法的缺點在于不利于學生建立計算機硬件的整體概念,知識點容易片面和脫節(jié)。再加上部件實驗如果都是以驗證性實驗為主的話,學生對于各部件無法深入掌握,在進行后續(xù)整機實驗時就無法以部件為基礎(chǔ)進行理解和設(shè)計,以至于無法理解計算機的工作原理。
1.3 實驗教學模式的問題
計算機組成原理的理論課程內(nèi)容知識點繁雜,內(nèi)容比較抽象,難于理解[2],學生普遍反映枯燥、乏味,提不起學習興趣;而實驗課的作用應(yīng)該是變抽象為形象,變復雜為簡單,提高學生的學習積極性。但在實際的教學中,教師主講、單純的一對一輔導和檢查實驗結(jié)果這種傳統(tǒng)實驗指導模式并不能提高學生的學習興趣。因為在這樣的模式下,不能保證每個學生都成為學習的主體,而且教師在實驗環(huán)節(jié)僅提供理論講解和個別輔導也是不夠的。
1.4 考核標準無法真正體現(xiàn)出個體差異
傳統(tǒng)的實驗模式導致了成績考核只能依據(jù)于實驗的完成結(jié)果和報告的提交情況,而驗證性的實驗結(jié)果相同,幾乎所有的學生都能完成,實驗報告也大同小異,無法體現(xiàn)出學生之間的差異,這導致教師在評分時難以有標準的依據(jù),無法體現(xiàn)差異的成績,也會打擊部分認真學生的積極性。
2.1 基本條件
由于院系和專業(yè)的不同,計算機相關(guān)專業(yè)對于計算機組成原理這門硬件課程的要求不盡相同,我院要求學生側(cè)重于對整個計算機系統(tǒng)從高層(應(yīng)用和軟件)到底層(硬件)的工作原理的理解和掌握,最終認識和理解計算機系統(tǒng)如何執(zhí)行程序、如何進行信息存儲和通信等,對于我院學生并未要求掌握VHDL,Verilog等硬件描述語言。
而實驗的硬件環(huán)境以目前我院所使用的西安唐都公司的TD-CMA教學實驗系統(tǒng)為基礎(chǔ)。該型號的專用集成設(shè)備也被很多高校所采用,因此,在此基礎(chǔ)上的改革成果應(yīng)該具有較好的通用性和適用性。我院目前將計算機組成原理的實驗課程與理論課程分開,單列為一門必修課,實行小班授課,并保證每個學生一臺設(shè)備。這些舉措為實驗課程的改革提供了良好的開展條件。
2.2 創(chuàng)新性實驗方案設(shè)計
(1) 方法的引入。前面講過,自底向上的認識和設(shè)計計算機系統(tǒng)會使學生對整體難以把握;自頂向下的設(shè)計方法可以避免這一問題,但這種設(shè)計方法需要學生對于底層硬件非常熟悉,這對于剛開始實驗的學生來講是很困難的。因此我們揚長避短,采用自底向上和自頂向下結(jié)合的設(shè)計方式。同時,為了提高學生的學習積極性,引入在醫(yī)學教育中較為流行的以問題為導向的(PBL)教育法的思想。PBL教育法強調(diào)以學生的主動學習為主,該方法將學習與任務(wù)或問題掛鉤,將學習設(shè)置在學生通過自主探索和合作來解決問題的過程之中,從而培養(yǎng)學生解決問題和自主學習的能力。
(2) 問題導向的建立。結(jié)合前面2種思想,我們以設(shè)計和建立某種功能的模型機作為整門實驗課程的問題導向,在第一堂課給學生明確實驗課程的任務(wù),把模型機的建立作為學習的起點和終點,此后開展的實驗和學生的學習內(nèi)容是都圍繞這一問題為主軸構(gòu)架。讓學生帶著如何構(gòu)建計算機系統(tǒng)這一問題貫穿學習始終,來發(fā)現(xiàn)和解決實驗過程中的難題,可以很好地幫助他們建立整機概念。
(3) 學習過程的安排。確立了問題導向后,引導學生采用自底向上和自頂向下相結(jié)合的方式來設(shè)計和建構(gòu)模型機。先引導學生從整體(頂)入手,思考要構(gòu)建一個完整的計算機系統(tǒng)(模型機)需要哪些部件,這些部件是怎樣的工作原理和工作過程,部件之間又如何能配合起來,形成一個有機整體,來共同完成計算機的任務(wù)。要解決這些問題,學生又必須從底層模塊(底)入手,通過部件實驗來學習和深入了解各部件的性質(zhì)和控制原理,然后把這些部件組裝在一起,最后完成模型機的設(shè)計和實現(xiàn)。在這一過程中,教師應(yīng)以學生為主導,讓學生獨立去完成實驗,去思考、去查閱資料,并積極與同學溝通交流,討論設(shè)計方案,大家齊心協(xié)力得出最佳方案,而教師則在關(guān)鍵時刻起到點撥、指導、促進的作用。
該方案的技術(shù)路線如圖1所示。
2.3 具體實施過程
2.3.1 提出問題導向,系統(tǒng)設(shè)計總體規(guī)劃
提出要解決的問題:設(shè)計能實現(xiàn)原碼一位乘法的復雜模型機[8-9],實現(xiàn)內(nèi)容包括硬件的構(gòu)架和連線、指令系統(tǒng)的設(shè)計、寫出實現(xiàn)乘法的程序并在實驗系統(tǒng)上運行通過。
圖1 組成原理實驗創(chuàng)新性改革方案技術(shù)路線圖
教師先以實驗指導書中簡單模型機的設(shè)計和實現(xiàn)的驗證性實驗為例,向?qū)W生展示一個完整的計算機系統(tǒng)所包括的部件和應(yīng)該具備的功能,此時并不要求學生完全弄懂每個環(huán)節(jié),教學的重點是使學生通過直觀的感受建立整機的概念,并且明白所要完成的工作。
通過示例實驗,教師進一步引導學生思考完成這樣一個設(shè)計的大致總體規(guī)劃,包括要完成設(shè)計所需要的知識,當前自己的知識儲備有多大差距,需要學習哪些東西,開發(fā)的方法和步驟應(yīng)如何設(shè)置等問題。
2.3.2 以部件實驗為基礎(chǔ),設(shè)計數(shù)據(jù)通路圖
計算機要完成復雜任務(wù)首先需要硬件的載體,各部件都有其獨特的不可缺少的功能。我們采用唐都實驗系統(tǒng)上集成的各元件作為模型機的硬件部件,學生通過完成指導書提供的部件驗證性實驗,可以學習各部件的組成結(jié)構(gòu)和工作原理,并且循序漸進地學習各部件之間如何進行數(shù)據(jù)流通和配合,遇到困難時,盡量通過獨立思考、查閱資料或者和小組同學討論來解決。而在此過程中,教師的主要工作是根據(jù)教學大綱和學生的能力安排實驗進度和設(shè)計教學資源,提煉出每個實驗中學生需要掌握和思考的知識點。具體實驗安排和實驗中需要學習和思考的要點如下:
(1) 運算器實驗。理解和掌握運算器單元的邏輯功能;能看懂運算器原理圖,進而理解實驗過程中的LDA、LDB、ALU_B和T4信號變化的目的和作用,理解這些信號是如何控制寄存器和數(shù)據(jù)通路的;通過原理圖理解進位標志FC和零標志FZ在什么情況下發(fā)生變化;重點理解帶進位的加法和帶進位的移位運算,理解FC的作用。思考在進行整機設(shè)計時,運算器應(yīng)該如何連線,如何控制。
(2) 存儲器實驗。掌握靜態(tài)隨機存儲器RAM的工作特性及數(shù)據(jù)的讀寫方法;理解實驗箱上的存儲器讀寫控制邏輯的原理,掌握CPU如何通過該邏輯對RAM進行讀寫;該實驗中第一次出現(xiàn)了地址寄存器AR,掌握AR和存儲器之間如何連接和配合。思考整機設(shè)計時如何實現(xiàn)對存儲器數(shù)據(jù)的讀寫。
(3) 系統(tǒng)總線實驗。理解總線的概念及其特性;能看懂原理圖,進而理解和掌握總線是如何將輸入輸出設(shè)備、存儲器和寄存器連在一起,又如何按照傳輸?shù)囊笥行虻乜刂扑麄?來實現(xiàn)信息的傳輸;理解和掌握I/O設(shè)備的讀寫控制邏輯。思考該實驗所實現(xiàn)的數(shù)據(jù)傳輸流程在整機實驗時應(yīng)該如何實現(xiàn)。
(4) 微程序控制器實驗。這一單元需要掌握的內(nèi)容較多,相比之下也較難理解,但其內(nèi)容是構(gòu)建“智能”計算機系統(tǒng)的基礎(chǔ),學生需要了解計算機工作的時序信號,理解CPU周期;理解機器指令和微指令的概念和兩者的差別和聯(lián)系;能看懂原理圖,并通過實驗過程中軟件中動態(tài)的數(shù)據(jù)流向圖來掌握的工作原理;掌握指令譯碼的原理,掌握微指令的格式,這是后面設(shè)計模型機指令的基礎(chǔ);理解和掌握微控制器是如何將前幾個實驗中手動控制轉(zhuǎn)換為自動控制的;掌握IR指令寄存器、寄存器R0和輸出單元七段數(shù)碼管的原理。思考在整機設(shè)計中,如何通過微控制器來控制各個部件,實現(xiàn)既定的功能。
每完成一個部件實驗,教師安排學生進行自我評價或小組評價,并總結(jié)和講解其中的難點,最后引導學生在完成和掌握各部件實驗的基礎(chǔ)上,根據(jù)所要解決的問題思考數(shù)據(jù)應(yīng)該如何傳送,在傳送過程中需要哪些部件,應(yīng)該如何控制各個部件的狀態(tài),最終設(shè)計出模型機整機的數(shù)據(jù)通路圖,并確定實驗連接線路。對于本次設(shè)計,要完成乘法運算,需要運算器ALU通過加法和移位來實現(xiàn),需要微控制器MC、指令寄存器IR、程序計數(shù)器PC來取指、譯碼和執(zhí)行來控制各部件,還需要3個通用寄存器R0,R1,R2和一個存儲器單元來存放乘法運算中的被乘數(shù)、乘數(shù),尾數(shù)和乘積的高n位。要訪問存儲器單元需要地址寄存器AR,并需要開關(guān)作為輸入單元來輸入乘數(shù)和被乘數(shù),2個七段數(shù)碼管作為輸出單元來顯示乘法結(jié)果。
2.3.3 構(gòu)建指令系統(tǒng)
完成了硬件的設(shè)計,需要為其構(gòu)建指令系統(tǒng)。TD-CMA實驗系統(tǒng)是一個8位計算機,因此實驗采用的指令格式分為單字長和雙字長指令2種。根據(jù)需要解決的問題來設(shè)計指令,設(shè)計出微程序流程圖,按照系統(tǒng)的微指令格式,將每條微指令代碼化,轉(zhuǎn)化為“二進制微代碼表”。指令的設(shè)計并沒有標準的答案,指令設(shè)計成功的標準首先以完成任務(wù)為前提,但一個設(shè)計優(yōu)良的指令應(yīng)該追求的目標是有利于縮短微指令字長度,有利于減小控制存儲器的容量,有利于提高微指令的執(zhí)行速度,有利于提高微程序設(shè)計的靈活性[7]。教師鼓勵學生之間相互交流,通過對比、討論、思考來取長補短,尋找更優(yōu)的方案。
2.3.4 編寫程序、加載、調(diào)試、運行
按照要求功能編寫程序,將編寫好的微指令和機器指令轉(zhuǎn)化為指定系統(tǒng)、指定的格式寫入以txt為后綴的文件中,并通過鏈接軟件將其加載到微存和內(nèi)存中,通過本機或者聯(lián)機的方式運行程序,觀察下位機數(shù)據(jù)顯示燈的變化和軟件中數(shù)據(jù)通路流圖指令的執(zhí)行過程,在程序運行完后檢查OUT單元顯示的乘積結(jié)果是否符合預期,從而驗證設(shè)計的正確性。教師可組織各小組匯報成果,討論并總結(jié)各方案的優(yōu)缺點。
2.3.5 成績評定
根據(jù)以上的實施方案,教師在評定學生成績時就能不再單純地依賴實驗結(jié)果和實驗報告,而是更多地記錄和考核學生的學習過程,根據(jù)學生在學習過程中的表現(xiàn)來給出一個較為公正的分數(shù)。
以問題為導向、設(shè)計過程中兼顧自頂向下和自底向上優(yōu)點的計算機組成原理實驗改革方案,解決了傳統(tǒng)教學中驗證性實驗為主、學生參與積極性不高、創(chuàng)造力不強、無法很好地建立整機概念、考核成績標準有欠公平等問題,不僅有效地輔助了理論課的學習,還鍛煉了學生文獻檢索、歸納總結(jié)、綜合理解的能力,訓練了學生工程設(shè)計和自主創(chuàng)新的能力,幫助學生建立主導學習、終身學習的能力。該方案已在我院計算機科學與技術(shù)專業(yè)應(yīng)用,并取得了較好的效果。
References)
[1] 鐘國輝. 以設(shè)計性實驗為牽引的微機原理課程教學[J].高等工程教育研究, 2013(3):154-158.
[2] 肖敏.淺析計算機組成原理綜合設(shè)計性實驗的教學實踐[J].教育教學論壇,2014,5(22):216-218.
[3] 姜欣寧,陳宇.“計算機組成原理專題實驗”的教學改革[J].實驗技術(shù)與管理,2013,30(4):162-165.
[4] 張磊,鄭榕,田軍峰.計算機組成原理理論實驗教學無縫結(jié)合的新方法[J].實驗室研究與探索,2013,32(5):168-172.
[5] 方愷晴,張洪杰. 計算機組成原理實驗課程教學新方法的探論[J] .計算機教育, 2007(2):52-55.
[6] 顏君松.計算機組成原理實驗教學研究與探索[J].重慶文理學院學報:自然科學版,2008,27(1):101-102.
[7] 趙洋. 《計算機組成原理》復雜指令模型機設(shè)計與實現(xiàn)[J]. 科技信息,2006(2):161-162.
[8] 喬道跡.《計算機組成原理》課程復雜模型機的深度開發(fā)[J].裝備制造技術(shù),2009(5):114-117.
[9] 張宇華,周瑩.《計算機組成原理》綜合性、設(shè)計性實驗的開發(fā)與實現(xiàn)[J] . 現(xiàn)代計算機,2004(9):98-100.
[10] 丁紅勝.CPU與簡單模型機設(shè)計實驗中的關(guān)鍵問題分析[J].計算機教育, 2013(15) :13-17.
[11] 郝尚富,張志強,孫佰利.計算機組成原理虛擬實驗環(huán)境的設(shè)計及實現(xiàn)[J].計算機仿真,2009,26(11):320-323.
[12] 王建新,張麗媛,盛羽,等.基于組件的計算機組成原理虛擬實驗室的設(shè)計與實現(xiàn)[J].系統(tǒng)仿真學報,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
四川大學實驗技術(shù)立項資助項目(2015-106,2015-109);四川大學計算機學院實驗技術(shù)立項資助項目
周剛(1963—),男,四川成都,碩士,高級工程師,研究方向為智能信息處理、高校實驗教學
陳潤(1980— ),女,四川成都,博士,講師,研究方向為智能系統(tǒng)和信息安全.
E-mail:cr_run@scu.edu.cn
G642.0; TP301
A
1002-4956(2016)11-0026-04