左冬紅, 羅 杰, 張 林, 汪小燕
(華中科技大學 電子與信息工程系,湖北 武漢 430074)
?
計算機原理與接口技術實踐教學改革
左冬紅, 羅 杰, 張 林, 汪小燕
(華中科技大學 電子與信息工程系,湖北 武漢 430074)

計算機技術的驚人發展,使得“微機原理與接口技術”課程的實驗內容,越來越不適合作為信息學科本科生核心課程教學內容。為達到“培養系統能力,滿足業界需求”的教學目標,論文討論了“計算機原理與接口技術”實踐課程的教學內容、教學方法和考核改革措施,以及在華中科技大學電子信息與通信學院進行的3年教學嘗試效果。
實踐教學改革; 計算機原理; 接口技術
計算機技術的驚人發展,尤其是嵌入式計算機系統的發展,已使得“微機原理與接口技術”課程的教學內容尤其是實驗內容,越來越不適合作為信息學科本科生的平臺基礎課教學內容。原有的微機硬件基礎教學已嚴重脫離了計算機硬件技術發展的實際,脫離了現代大多數非計算機專業大學生的實際需求,脫離了市場對大學生畢業后計算機工作能力的實際要求[1]。
嵌入式計算機系統在非計算機專業的各個應用領域尤其是計算機硬件系統的各個應用領域已經基本替代了微機系統;另一方面現代復雜的微機硬件系統,已經越來越不適合于初學者深入其內部進行探究。因此基于微機系統的計算機硬件系統設計教學越來越迫切地呈現出被嵌入式計算機硬件系統設計教學所替代的需要。但是原有的微機原理與接口技術課程教學目標不僅僅局限在計算機硬件系統設計,作為平臺基礎課,它還承擔著幫助學生理解軟件在計算機硬件系統內工作原理以及幫助學生掌握基于特定計算機硬件平臺如何進行軟件優化設計的教學目標。
因此我們結合高等教育計算機教學指導委員會提出的增強學生系統能力培養目標,并根據國內大學計算機類課程教學改革需要,配合非計算機專業理工科類特別是電氣類“微機原理與接口技術”課程改革需要,將原有的“微機原理與接口技術”實踐教學內容進行了全新的改進[2],使教學實踐盡快跟上計算機技術的發展需要,培養學生計算機系統設計以及應用能力。
根據教育部高等學校計算機科學與技術教學指導委員會非計算機專業計算機基礎課程教學指導分委員會指出的計算機硬件技術基礎課程的教學內容及基本要求以及電氣類專業學生的深層次要求[3],并結合《國家中長期教育改革和發展規劃綱要(2010—2020年)》提出的更新教育教學觀念、改革人才培養模式、提高人才培養質量的本科教育教學改革方向;同時明確高等教育改革要堅持能力為重,注重在科學研究中培養人才,著力提高學生的學習能力、實踐能力、創新能力的新形式[4],以及國家信息產業“自主可控”人才培養的戰略需求[5],針對計算機原理與接口技術課程的教學目標,我們將計算機原理與接口技術[6]課程新的實踐教學內容[7]為以下幾部分:
1.1 匯編語言編程
匯編語言是介乎高級語言與機器語言之間的一種編程語言,使用該語言編程的用戶要求深層次理解計算機工作原理。因此為達到深入理解計算機硬件系統的工作原理的目標,仍然設置匯編語言編程實踐內容。
通過這部分的教學實踐讓學生了解指令系統的一般概念和匯編語言程序的基本結構,掌握常用基本指令的使用方法,同時深入理解計算機指令與程序的執行過程以及計算機基本工作原理[3]。并為第二部分MIPS微處理器的匯編語言測試程序設計以及微處理器設計打下基礎。
這部分采用MIPS匯編語言學習匯編程序設計,通過引入MIPS仿真器QtSpim[8],可以讓學生在沒有MIPS硬件環境下學會MIPS匯編程序設計以及匯編程序調試技巧。
1.2 原型計算機系統設計
原型計算機系統設計這部分內容主要涉及嵌入式微處理器的設計以及簡單IO接口設計,設計這部分教學內容的目標是讓學生建立從數字邏輯電路到計算機微處理器以及軟件控制硬件工作原理的知識體系。
這部分教學實踐由學生通過硬件描述語言或電路圖的方式基于ISE工具[9]實現,軟件利用MIPS匯編語言編寫,讓學生從零開始,實現一個可具有圖形輸出以及簡單輸入輸出控制的原型計算機系統。
通過這部分的教學實踐,學生不僅可以了解到指令架構與微處理器微結構之間的關系[10],而且還能了解輸入/輸出系統的基本概念、輸入輸出端口的編址方式;程序查詢方式輸入/輸出的控制原理;掌握接口的基本功能和基本結構。通過從需求出發,不再基于某個具體的微處理器,而是采用從無到有的設計、實現過程,培養學生的原創力。
這部分內容采用FPGA平臺開展教學實踐活動[11],在引入Xilinx ISE開發工具的基礎上,引導學生從設計一個簡單指令集的單周期MIPS處理器入手,逐步深入到為該微處理器設計程序查詢方式存儲器映像編址的簡單IO接口,以及VGA接口控制器。并要求采用MIPS匯編指令實現簡單的輸入輸出接口控制以及圖形輸出控制等。在這個過程中,微處理器的指令集需要不斷的進行擴充才能滿足控制需要,指令集的擴充導致微處理器設計的進一步修改完善,可以讓學生深刻體會到指令集與CPU微結構之間的關系。
1.3 嵌入式計算機系統接口設計
為達到現代計算機接口技術教學需求,在接口設計這部分直接采用Xilinx 微處理器IP核——MicroBlaze[12]來進行嵌入式計算機系統接口設計。
接口設計包含以下內容:并行IO接口設計,并行存儲器IO接口設計,串行接口設計,串行AD、DA接口設計以及人機接口(鍵盤、鼠標、顯示器)設計。
這部分所有的控制軟件都采用C語言編寫,學生可以采用SDK提供的庫函數,也可以只采用C標準庫函數實現程序控制。通過這部分的教學實踐,讓學生深刻理解:計算機系統的基本組成、總線結構、總線時序;接口技術中的查詢、中斷、DMA控制方式的工作原理以及硬件支持的異同;不同的數據通信方式——并、串行通信方式;以及標準人機接口設備的控制原理。達到掌握真實嵌入式計算機硬件系統設計以及軟件控制程序編寫能力的目標。
1.4 硬件對軟件性能的影響
這部分設置了幾個驗證性實驗:不同字節序計算機系統中C語言數據的存放規律,不同類型數據運算結果偏差的原因、字節對齊方式下結構體的內存分配及優化策略以及cache對二維數組不同訪問方式下的性能影響等[13]。這部分內容幫助學生從實踐的角度深刻掌握計算機硬件系統的工作特點,為學生在后續的編程實踐中對如何優化程序設計打下基礎。
1.5 綜合項目
這部分的教學內容為實現進一步激發學生的學習興趣,并達到學以致用的目標而設置。教師可提供選題,也可由學生根據自身專業需求自擬項目,只要是具有一定復雜程度且具有實用價值的嵌入式計算機系統設計即可。目前我們為學生提供了如下綜合實踐課題:簡易數字示波器,簡易信號發生器,基于各種傳感器的智能小車(循跡小車、避障小車、尋光小車等),基于加速度傳感器的跑步計步器,32鍵簡易電子琴,基于觸摸屏的手畫繪圖儀等。
總之,教學實踐內容的規劃遵循從易到難的學習規律,首先從MIPS匯編語言程序設計入手,逐步深入到原型計算機系統設計以及嵌入式計算機系統設計。讓學生循序漸進地掌握計算機系統原理以及接口設計技術,并培養計算機系統設計能力以及軟硬件協同設計能力。
一方面要整合課程和壓縮學時,另一方面又要提高學生的計算機系統觀,培養學生的系統觀念、系統結構、系統抽象與分析等能力。因此在有限的學時下,不能再讓學生在課堂上進行一個個驗證性的實驗,必須采取課內學時與課外學時相結合的方式開展實踐教學活動。并且“以學生為中心”,實現以“教”為中心向以“學”為中心轉變,即從“教師將知識傳授給學生”向“讓學生自己去發現和創造知識”轉變,從“傳授模式”向“學習模式”轉變。具體實施方法如下:
2.1 原理驗證實驗,學生課外自行完成(課內4學時)
考慮到學習計算機原理與接口技術課程的學生,一般是大二、大三的學生,具備了C語言軟件編程基礎,因此大部分原理驗證性實驗,在給出實驗范例的基礎上,要求學生課外完成。教師僅需利用一次實驗課的時間對實驗效果進行驗收,分析并解答學生們在自行完成驗證性實驗過程中碰到的典型問題。這些實踐教學內容包括MIPS匯編語言編程,C語言數據類型內存映像,結構體字節對齊方式下內存映像以及cache對程序性能的影響等實驗內容完全由學生根據實驗指導書的步驟在課下完成。課內4學時僅負責答疑,解決學生實踐過程中出現的疑難問題。
2.2 單元設計實驗,教師指導學生實驗方法(20學時)
單元設計性實驗內容的原理性內容基本上由理論課講解清楚,因此這部分內容在實踐課程中教師主要為學生指導實驗方法以及實驗過程中分析問題和解決問題的方法。學生在實驗中碰到的問題多種多樣,實踐指導教程很難把所有的問題都列舉出來,所以需要安排一定的課內學時,通過實驗課程教師親自指導各個學生解決其具體問題,從而讓學生學會分析問題和解決問題的方法。
在我們設置的實踐教學內容中,單元設計性實驗分為兩類:原型計算機系統設計和嵌入式計算機系統設計。需要分別為這兩類實驗安排課內實踐指導學時,幫助學生學會分析和解決異常問題的方法。
原型計算機系統設計大量的工作可以通過軟件仿真來驗證設計的可行性,雖然要求學生投入較多的時間,但是仍然可將課內學時控制在8學時,其中4學時講解設計軟件的使用和調試、仿真技巧,另外4學時解決學生不能解決的問題,并驗收設計的正確性。
嵌入式計算機系統單元設計性實驗雖然內容繁多,但是這些內容之間的關鍵技術存在一定的重復性,因此可以將實驗內容規劃為三類:程序控制方式IO接口設計,中斷方式IO接口設計以及串行IO接口設計,并且它們之間在難易程度上具有遞進關系,因此分別提供4個學時來指導這三方面接口設計的技能。每個方面接口設計都包括多個IO設備的實驗內容,一個學生不能在短短的4學時全部完成所有的實驗內容,因此可以將同一類的不同IO設備實驗內容隨機地分配到不同的學生。一方面每個學生都能夠學習到三方面技能的關鍵原理和實驗方法,同時又可以通過學生之間的相互學習掌握各個不同外設之間的細微差別。如獨立開關、獨立LED燈,數碼管、矩陣鍵盤都既可以通過程序控制方式,也可以通過中斷方式來實現控制,因此這些實驗內容可以在8個學時里交替讓不同的學生來完成不同外設的接口設計。同樣串行接口也包括很多種,沒必要讓每個學生在課堂上完成所有串行接口的設計,可將不同的串行設備接口設計分配到不同的學生,學生們同樣可以通過4個課內學時以及課下交流達到相互學習的效果。
2.3 綜合設計實驗,教師引領學生創新(8學時)
綜合設計性實驗內容要求具有一定的復雜度和創新性,教師需要引導學生發覺該門課程中可能的創新點或可能的創新性應用,并激發學生的創新熱情。因此可以利用4學時的時間進行這方面內容的講解,比如對前面教學內容中提供的各個選題大致的原理進行引導性指導,然后再要求學生根據各自優勢組隊在教師的指導下完成推薦選題或自選課題的方案設計和方案驗證。至于方案的實現,則要求學生利用2或3周的課外學時來完成。另外再安排4學時的時間對學生的綜合課題進行驗收,在這4個學時里通常包括項目演示和項目答辯兩個環節。以上教學方法和學時規劃,可以將這門實踐課程的課內教學學時限制在32學時內,高效地利用了課內學時,并且也能帶動學生利用課外時間完成實踐內容,充分發揮學生學習的自主性。
任何一門課程的教學如果沒有了有效的考核機制,往往很難達到期望的教學效果,除非是具有特別興趣的學習群體。計算機原理與接口技術這門課程一直是學生們反應有難度的課程,而且是一門具有強迫性質的專業基礎必修課,因此學習這門課程的學生并不是都具有強烈的興趣。根據我們這兩年在學生中開展的問卷調查結果確實也如此。因此除了規劃出能激發學生學習興趣的教學內容之外,同時還必須輔助有效的考核手段,以督促學生完成教學內容的學習。
實踐課程除了要求學生掌握該課程的基本原理和實驗、設計技能之外,同時還要求培養學生掌握工程實踐報告文檔的撰寫能力和口頭表達能力,以及團隊合作精神。因此考核主要依據這些教學目標進行分值分布。下面是具體的考核細節:
(1) 基礎實驗 40%。基礎實驗主要包含原理驗證實驗和單元設計實驗,共設置了5個考核實驗單元:匯編程序設計、單周期MIPS微處理器設計、查詢并行IO接口設計、中斷并行IO接口設計、串行AD/DA接口設計。每個考核實驗單元都有具體的驗收要求以及實驗報告要求,驗收為6個分值,報告2個分值。并且規定延期完成分值遞減規則,督促學生利用課外時間完成未完成的學習任務。
(2) 綜合項目 20%。綜合項目主要考核學生對已學知識的靈活運用能力以及綜合集成能力,同時還考核學生的團隊合作能力、綜合性實驗報告的撰寫能力以及口頭表達能力。因此對綜合項目分值的評分采用以下方法:綜合項目的集成度、難度系數、創新性;文檔撰寫質量;口頭答辯表述清楚程度;演示效果以及視頻展示材料的完備程度等。項目完成程度共12個分值,并且根據難易程度上下浮動3個分值,文檔4個分值,報告及視頻展示4個分值。這部分主要是用來激勵優秀的學生和具有濃厚興趣的學生,實現不同程度學生的區分,通過每位學生講解自身工作部分,可以一定程度上解決搭便車問題。
(3) 操作考試 40%。考試是進一步檢驗學生掌握知識、技能熟練程度的重要手段,同時也是進一步避免搭便車問題的重要手段,因此通過操作考試往往可以進一步區分出每一個學生對知識、技能的真正掌握程度。由于綜合項目已經是一種有效的篩選優秀學生的手段,因此操作考試主要是檢驗是否掌握基本技能,其考試的問題要求具有一定的集成度,但是應該是每個學生都平時接觸過的內容,檢驗其在一定時間內熟練地獨立完成的能力。分值分布通常考慮完成時間、實驗軟硬件的熟練使用程度、各個指標的達到程度、以及實驗原理報告的完備程度等。
通過以上考核方法可以有效地發現優秀的學生,較好地掌握計算機原理與接口技術實驗原理和實踐方法的良好學生,以及基本掌握實驗原理和實踐方法的合格學生,甚至一直搭便車不合格的學生。
我們將以上教學內容、教學方法以及考核方法在2012~2014年運用到華中科技大學電信學院數理提高班以及通信工程專業的“計算機原理與接口技術”實驗課程教學中,經過三年的教學實踐,學生們一致認為在這門課上學會了很多東西,并且進一步鍛煉了數字電路以及C語言編程課程學過的相關知識,能夠更好地理解各門課程之間的聯系。學生普遍認為在這門課程上學到的知識的數量與質量都超過了其他班級,而且電信專業其他班一些學習比較努力的學生,都紛紛表現出了對這門改革后課程的學習興趣,這證明新的計算機原理與接口技術實踐教學改革是有一定效果的。
目前計算機原理與接口技術實踐教學改革還處于初期,并且不同于以往的教學方式,因此實踐教學內容的難度以及要求學生自主參與的強度都大于其他課程。而且不同于以往的分離單元實驗,較多地采用綜合實驗,增大了實驗難度,提高了綜合應用知識的要求。因此學生普遍感覺學習這門課程收獲很大,但是付出的努力也很多。
2015年實踐教學改革進一步擴大了覆蓋面:我院的通信工程、電信工程以及數理提高班和卓越工程師班等16個班級同時進行進一步的教學改革實踐,我們期待可以獲得更好的教學效果。
[1] 李繼燦,郭麥成,沈疆海,等. 計算機硬件教學與教材同步改革的思考[J]. 高等工程教育研究,2003(3):20-22.
[2] 左冬紅, 張 林. “微機原理與接口技術”教學內容改革探討[J]. 電氣電子教學學報, 2012,34(3):31-33.
[3] 教育部高等學校計算機基礎課程教學指導委員會. 高等學校計算機基礎教學發展戰略研究報告暨計算機基礎課程教學基本要求[M].北京:高等教育出版社,2009.
[4] 秦磊華,馮 丹. 計算機專業教材建設的新視角[J]. 科技與出版,2013(5): 40-43.
[5] 樊哲高. 電子信息產業如何“自主可控”[N]. 中國電子報,2012-01-13(2).
[6] 左冬紅. 計算機原理與接口技術——基于MIPS架構[M].北京:清華大學出版社,2014.
[7] 左冬紅. 計算機原理與接口技術——基于MIPS架構實驗教程[M].北京:清華大學出版社,2014.
[8] Robert Britton. MIPS Assembly Language Programming[M].Chico, California,2003.
[9] 王 誠,薛小剛,鐘信潮. FPGA/CPLD 設計工具:Xilinx ISE 使用詳解[M]. 北京:人民郵電出版社,2005.
[10] David A P, John L H. Computer Organization and Design: the hardware/ software interface(4th edition) [M]. Elsevier, 2008.
[11] 袁春風,張澤生. 計算機組成原理課程實踐教學探索[J]. 計算機教育,2011,17:110-114.
[12] MicroBlaze Soft Processor Core[EB/OL]. http://www.xilinx.com/tools/microblaze.htm. 2015/5/27
[13] Randal E B, David R O. Computer Systems-A Programmer’s Perspective [M]. New Jersey: Pearson PrenticeHall. 2003.
[14] 劉獻君. 論“以學生為中心”[J]. 高等教育研究,2012,33(8):1-6.
[15] William S. Computer Organization and Architecture Designing for Performance (8th Edition)[M].New Jersey: Pearson Prentice Hall, 2006
[16] Barry B B. The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium H, Pentium m and Pentium 4 Architecture, Programming, and Interfacing[M]. 7th Edition New Jersey: Pearson PrenticeHall, 2006.
Practice Teaching Reform of Computer Organization and Interface Technology
ZUODong-hong,LUOJie,ZHANGLin,WANGXiao-yan
(Department of Electronics and Information Engineering,Huazhong University of Science and Technology,Wuhan 430074,China)
The fast development of computer technology has made the practical contents of the course "microcomputer principle and interface technology", be more and more unsuitable as a core course to undergraduates in information discipline. The paper discusses how to reform the contents, the teaching and assessment methods of the practice course "computer principle and interface technology". The reform should aim at accumulating the student computer system ability, and meet the industry requirement. It also introduces the result of three years’ practice in School of Electronic Information and Communications, Huazhong University of Science and Technology.
practice teaching reform; computer organization; interface technology
2014-11-06
湖北省教改研究項目(2013061)
左冬紅(1975-),女,湖南雙峰人,博士,講師,主要從事微機原理、數字電子技術教學,嵌入式系統和網絡流媒體傳輸研究。
Tel.:18171417420;E-mail:sixizuo@mail.hust.edu.cn
G 642.0; TP 301
A
1006-7167(2015)10-0187-04