左冬紅,張 林
(華中科技大學(xué)電子與信息工程系,湖北 武漢 430074)
隨著計算機(jī)技術(shù)的發(fā)展,計算機(jī)應(yīng)用系統(tǒng)已深入到社會的各個領(lǐng)域,其表現(xiàn)形態(tài)各異。如何有效地組織“微機(jī)原理與接口技術(shù)”課程的教學(xué),讓高校電氣信息學(xué)科類專業(yè)培養(yǎng)的人才能夠快速適應(yīng)社會各行業(yè)對計算機(jī)應(yīng)用系統(tǒng)開發(fā)的需求,成為該課程教學(xué)改革面臨的問題。
國內(nèi)的“微機(jī)原理與接口技術(shù)”課程相關(guān)教材包括國家精品課程的教學(xué)內(nèi)容,該課程可以分為三類:①以8086/88 16位微處理器為主組織內(nèi)容[1-3];②以32位x86微處理器為主組織內(nèi)容,除介紹32位微處理器內(nèi)部結(jié)構(gòu)[4]、32位指令系統(tǒng)以及win32匯編編程[5]之外,還較詳細(xì)地講解32位計算機(jī)系統(tǒng)所采用的不同于16位機(jī)的新技術(shù)如保護(hù)模式的軟件體系結(jié)構(gòu)[6]、虛擬存儲、超標(biāo)量設(shè)計、流水線作業(yè)及MMX技術(shù)等;③以嵌入式處理器為主組織內(nèi)容[7-8],采用單片機(jī)或嵌入式處理器進(jìn)行教學(xué)。
這三類教學(xué)內(nèi)容具有共同的特點(diǎn)是:①都是以某個微處理器為主線介紹計算機(jī)系統(tǒng)的基本工作原理;②軟件部分都是介紹該處理器的匯編語言指令及匯編語言程序設(shè)計方法;③硬件部分則是基于該處理器的存儲器擴(kuò)展和IO接口設(shè)計,采用具體的簡單的芯片進(jìn)行相關(guān)原理的學(xué)習(xí)。
國內(nèi)大部分高校的“微機(jī)原理與接口技術(shù)”教學(xué)方式存在以下四個問題。
(1)對計算機(jī)軟件與硬件之間的接口原理學(xué)習(xí)幾乎是個缺口。學(xué)習(xí)計算機(jī)原理必須學(xué)習(xí)計算機(jī)系統(tǒng)中軟件和硬件之間的接口,了解軟件如何有效控制硬件工作的原理。此外,目前該課程中軟件是學(xué)習(xí)匯編指令以及匯編程序設(shè)計,最多不過通過匯編語言來講述一些復(fù)雜算法的匯編程序?qū)崿F(xiàn)。然而實(shí)際應(yīng)用系統(tǒng)的開發(fā)很少利用匯編語言,而是利用高級語言如C和Java等。
(2)目前大部分高校在教學(xué)內(nèi)容組織上基本上都是針對某個處理器來進(jìn)行學(xué)習(xí)的,讓學(xué)生僅學(xué)習(xí)該微處理器以及其他常用芯片的使用,而對通用計算系統(tǒng)設(shè)計的基本原理掌握不夠。
(3)課程體系中同系列課程之間的銜接不夠緊密。“微機(jī)原理與接口技術(shù)”課程在電氣信息類整個課程體系中向下銜接“數(shù)字邏輯與電路設(shè)計”課程,向上銜接計算機(jī)軟件相關(guān)課程,應(yīng)該幫助學(xué)生建立這些相關(guān)課程的體系結(jié)構(gòu)。
(4)同系列課程之間的教學(xué)內(nèi)容層次區(qū)別不清楚,主要表現(xiàn)在與嵌入式系統(tǒng)教學(xué)內(nèi)容的層次區(qū)分上。“微機(jī)原理與接口技術(shù)”課程是“嵌入式系統(tǒng)”課程學(xué)習(xí)的基礎(chǔ),因此該課程應(yīng)該強(qiáng)調(diào)通用計算系統(tǒng)的工作原理和技術(shù),并介紹不同體系結(jié)構(gòu)的計算系統(tǒng)工作原理及其特點(diǎn)。而不僅僅是某個具體的CPU為核心的計算系統(tǒng)。
針對以上問題,我們調(diào)研了美國USNews排名前三位的麻省理工學(xué)院EECS系、斯坦福大學(xué)EE系和伊利諾伊大學(xué)厄本那—香檳分校ECE系相關(guān)課程設(shè)置,發(fā)現(xiàn)有以下特點(diǎn)。
(1)微機(jī)原理課程理論部分不是以某個微處理器來進(jìn)行教學(xué),而是講解通用計算機(jī)系統(tǒng)的基本原理,在具體的實(shí)驗(yàn)中安排學(xué)生通過自學(xué)不同的微處理器使用手冊去完成實(shí)驗(yàn)。
(2)數(shù)字系統(tǒng)相關(guān)課程中都有結(jié)合計算機(jī)的工作原理來講解C語言的實(shí)現(xiàn)機(jī)理。
(3)數(shù)字系統(tǒng)類相關(guān)課程的分界不明顯,通常一門課程既涵蓋數(shù)字邏輯的內(nèi)容也涵蓋計算機(jī)組成與結(jié)構(gòu)的內(nèi)容,甚至還包含嵌入式系統(tǒng)的內(nèi)容。
(4)工程類理論課往往都帶有實(shí)驗(yàn)甚至設(shè)計性項(xiàng)目,利用實(shí)驗(yàn)配合理論課教學(xué),加深學(xué)生對基礎(chǔ)內(nèi)容的理解。
1)加強(qiáng)“微機(jī)原理與接口技術(shù)”課程與同課程體系中具有直接關(guān)聯(lián)的其他課程教學(xué)內(nèi)容的聯(lián)系。這種聯(lián)系如圖1所示。

圖1 與“微機(jī)原理與接口技術(shù)”具有直接關(guān)聯(lián)的課程
高級語言程序如C程序經(jīng)過編譯之后形成匯編語言程序,匯編語言經(jīng)過匯編則變成可以直接被微處理器執(zhí)行的機(jī)器指令,而微處理器內(nèi)部微結(jié)構(gòu)的實(shí)現(xiàn)原理是“數(shù)字邏輯與電路”課程傳授的知識。匯編語言與微處理器是“微機(jī)原理與接口技術(shù)”課程的重要內(nèi)容。因此,后者的教學(xué)內(nèi)容應(yīng)該加強(qiáng)與“高級語言程序”課程以及“數(shù)字邏輯與電路”設(shè)計課程的聯(lián)系。一方面通過增加C語言典型數(shù)據(jù)類型以及語句在匯編語言級別的實(shí)現(xiàn),增強(qiáng)該課程與“高級語言程序”課程之間的聯(lián)系,更好地達(dá)到培養(yǎng)學(xué)生理解計算機(jī)軟件工作原理的目標(biāo)。另一方面通過增加簡單指令集微處理器設(shè)計的相關(guān)內(nèi)容,增強(qiáng)該課程與“數(shù)字邏輯與電路”課程之間的聯(lián)系,以便學(xué)生更好地理解計算機(jī)硬件的基本工作原理。
2)隨著編譯技術(shù)的進(jìn)步,現(xiàn)代計算系統(tǒng)中的軟件很少采用匯編語言編寫,一般僅少量引導(dǎo)代碼采用匯編語言編寫。因此,“微機(jī)原理與接口技術(shù)”課程中,匯編語言程序設(shè)計的教學(xué)就顯得不那么重要了。匯編語言的教學(xué)只需要服務(wù)于幫助學(xué)生理解高級語言程序的相關(guān)原理以及理解計算機(jī)的基本工作原理就夠了,而不再需要講述匯編語言程序設(shè)計思想。同樣對微處理器匯編指令的學(xué)習(xí)也可以縮減,由于不需要學(xué)習(xí)復(fù)雜算法及復(fù)雜的指令。
3)突出與基礎(chǔ)原理相關(guān)內(nèi)容的教學(xué),拚棄使用說明書式教學(xué),將具體芯片的應(yīng)用相關(guān)內(nèi)容轉(zhuǎn)移到實(shí)驗(yàn)課程。一方面表現(xiàn)在講述計算機(jī)系統(tǒng)設(shè)計基本原理的基礎(chǔ)上,介紹多種不同體系架構(gòu)計算機(jī)系統(tǒng)的實(shí)現(xiàn)方式,并對比分析其不同設(shè)計思路和性能優(yōu)劣。這樣能夠更有效地幫助學(xué)生理解計算機(jī)系統(tǒng)的工作原理。另一方面表現(xiàn)在講述接口設(shè)計時強(qiáng)調(diào)基本原理,如微處理器與外設(shè)進(jìn)行通信的基本原理以及外設(shè)與計算機(jī)系統(tǒng)之間的數(shù)據(jù)傳送方式等,而不是直接講述某個具體的接口芯片與微處理器的連接以及如何實(shí)現(xiàn)微處理器對該接口芯片的控制。
(4)增加計算機(jī)外部總線技術(shù)的教學(xué),內(nèi)容如PCI總線,并行總線,各類串行總線等總線規(guī)范等。一方面可以培養(yǎng)學(xué)生的實(shí)際動手能力,另一方面可以增強(qiáng)學(xué)生對接口技術(shù)的理解。
(5)增加計算機(jī)系統(tǒng)最新技術(shù)介紹,以便學(xué)生了解計算機(jī)發(fā)展的新技術(shù)。如多核處理器的實(shí)現(xiàn)原理,微處理器如何支持現(xiàn)代操作系統(tǒng)的相關(guān)技術(shù)等。
本系在“微機(jī)原理與接口技術(shù)”相關(guān)課程教學(xué)中進(jìn)行了教學(xué)改革的嘗試。以微機(jī)原理和嵌入式系統(tǒng)的理論教學(xué)為基礎(chǔ),帶動微機(jī)接口、ARM處理器及應(yīng)用、Altera可編程片上系統(tǒng)及應(yīng)用、Xilinx FPGA及應(yīng)用、MSP430單片機(jī)及應(yīng)用、Freescale單片機(jī)及應(yīng)用、8051系列單片機(jī)及應(yīng)用和DSP處理器及應(yīng)用等實(shí)驗(yàn)課程。學(xué)生在學(xué)習(xí)完微機(jī)原理、嵌入式系統(tǒng)理論必修課的基礎(chǔ)之后,通過選修后續(xù)任何一門實(shí)驗(yàn)課程,就可以充分理解通用計算機(jī)系統(tǒng)以及嵌入式系統(tǒng)的工作原理,并能在此基礎(chǔ)上完成基于嵌入式系統(tǒng)的軟硬件設(shè)計。而且只需要選修其中的一門實(shí)驗(yàn)課程,就可以通過自學(xué)的方式完成基于其他微處理器的系統(tǒng)設(shè)計,達(dá)到舉一反三的目的。這樣有效地提高了教學(xué)效果,并且培養(yǎng)的學(xué)生能快速適應(yīng)現(xiàn)代計算機(jī)應(yīng)用系統(tǒng)設(shè)計對專業(yè)人才的需求。
[1]朱定華.微機(jī)原理、匯編與接口技術(shù)(第二版)[M].北京:清華大學(xué)出版社,2010年01月
[2]染建武.微機(jī)原理與接口技術(shù)[M].北京:水利水電出版社,2010年09月
[3]劉立康,黃力宇,胡力山[M].北京:微機(jī)原理與接口技術(shù).電子工業(yè)出版社,2010年06月
[4]謝瑞和.微機(jī)原理與接口技術(shù)(第2版)[M].北京:高等教育出版社,2007年07月
[5]郭蘭英,趙祥模.微機(jī)原理與接口技術(shù)[M].北京:清華大學(xué)出版社,2006年07月
[6]王克義.微機(jī)原理——結(jié)構(gòu)、編程與接口[M].北京:清華大學(xué)出版社,2009年03月
[7]趙又新.微機(jī)原理與接口技術(shù)[M].北京:中國電力出版社,2007年02月
[8]徐惠民.微機(jī)原理與接口技術(shù)[M].北京:機(jī)械工業(yè)出版社,2010年03月