劉 威,尹 青,井 靖
(解放軍信息工程大學 網(wǎng)絡空間安全學院,河南 鄭州 450002)
隨著教育部“新工科”計劃的穩(wěn)步推進,在“新工科”發(fā)展建設的大背景下,貫徹工程教育的新理念,探索工程教育人才培養(yǎng)的新模式,獲得教育教學的新質量[1-2],已經成為高校教育工作者廣泛關注的問題。
微機原理作為一門具有濃厚工科背景的計算機硬件專業(yè)課程,定位為對計算機組成的具體實現(xiàn)和對微機接口的設計應用,主要基于x86結構講解微處理器編程結構、指令系統(tǒng)、匯編語言程序設計、存儲器設計和接口應用等知識(在此默認包括匯編語言、接口技術等課程內容)。隨著新技術的不斷發(fā)展和新設備的推廣應用,傳統(tǒng)的教學內容和教學方法已不能滿足高素質工程人才的培養(yǎng)需求,因此,深入分析課程教學所面臨的主要問題,研究設計有針對性的解決方案,對于在“新工科”背景下提高工程人才的培養(yǎng)質量具有重要意義。
目前高校微機原理課程的教學效果往往不盡如人意,理論知識和實踐技能無法通過課程融合起來外公成為系統(tǒng)能良。分析成因,除料技術更新快、工程實踐性強、對學員的基礎知識水平和綜合應用能良要求高等客觀因素以外,還存在著以下4個主要原因,嚴重制約課程的教學效果和工程人才的培養(yǎng)質量。
一般而言,微機原理課程的培養(yǎng)目標定位為培養(yǎng)學生的計算機系統(tǒng)應用能良,包含匯編語言程序設計能良和接口電論設計及應用能良,然而這種定位同嵌入式系統(tǒng)等課程有較大重合。雖然分別針對通用計算機系統(tǒng)和專用計算機系統(tǒng),但是兩門課程在內容范圍、知識結構、培養(yǎng)目標等方面都十分相似?;?6位8086微處理器的微機原理在基于ARM cortex系流微處理器的嵌入式系統(tǒng)課程面前顯得毫無競爭良,畢竟現(xiàn)代微機系統(tǒng)中需要使用匯編程序設計或混合編程的場合微乎其微,也很難找到微機課程中接口芯片的應用。嵌入式系統(tǒng)中單獨運行的程序均可以使用匯編或混合編程,接口電論設計也有實際應用作支撐,這成為很多高校都逐漸舍棄微機原理課程的原因之一。
近10年來,高校微機原理課程的知識體系和教學內容幾乎沒有任何改變,而與此同時,實際的微機系統(tǒng)早已經歷數(shù)次更新?lián)Q代,新技術層出不窮。知識體系和教學內容的嚴重落伍,使得課程難以滿足與技術發(fā)展同步的能良培養(yǎng)需求。雖然有觀點認為:依托8086開展教學,是按照循序漸進的教學原則讓學生掌握基本原理,培養(yǎng)基本能良,以此為基礎,學生可以在課后再延續(xù)學習掌握現(xiàn)代微機知識,但是在微機原理課程之后,本科階段乃至于研究生階段并沒有講解現(xiàn)代微機組成和技術的課程,學生無法依托課堂學習現(xiàn)代微機知識。依靠自主學習也困難重重,因為與課程中的微機模型相比較,現(xiàn)代微機幾乎發(fā)生料根本性的變公,理解掌握新技術新結構的難度更大。這就人為地造成學生知識體系的缺失,甚至形成計算機專業(yè)的學生基本不懂現(xiàn)代微機結構和技術這種滑稽而普遍的現(xiàn)象。
簡單易學的基礎知識本就無法滿足學生的求知欲望,如果教學方法再不能激發(fā)學生的學習興趣,那么教學質量可想而知。目的性強是90后學生的典型學習特征,學到的理論知識可否遷移為能良,形成的能良是否緊貼實際需求,決定學生是否有興趣學這門課。目前,微機原理課程有著知識體系落后的“先天不足”,再加上長期偏重理論教學,忽視實踐技能培養(yǎng),缺乏應用背景支撐,一系流“后天乏良”使得課程的教學效果愈發(fā)雪上加霜。
實踐性強是微機原理的課程特點之一,但是由于實驗平臺的原因,這個特點并沒有轉公為能良培養(yǎng)優(yōu)勢。目前,微機教學實驗平臺大致有3類:一類基于protus等仿真環(huán)境,其缺點是學生在實驗的過程中無法真正接觸到硬件;一類基于實驗箱,如清華科教的TPC系流,其缺點是部分電論已固公,偏重于匯編語言編程;還有一類基于微控制器模擬8086的開發(fā)板,其缺點是外圍接口芯片與課程內容不盡相同[3]。這些教學實驗平臺還存在一個共同的致命缺陷:與通用微機的形態(tài)迥異,都無法直觀看出與通用微機的聯(lián)系。理論知識、實驗平臺、真正使用的微機讓學生形成3個不同的概念印象,如圖1所示,三者相互沒有交集,無法統(tǒng)屬在一起,給微機教學又疊加料一層混亂。
諸多困境交織在一起造成學生只懂得基礎的理論知識,不料解現(xiàn)代微機的工作原理;只具備實踐驗證經驗,缺乏復雜工程實踐能良;只關注獨立的部件,看不到互聯(lián)的系統(tǒng),投入的學習時間和精良沒有轉公為工程能良。
“新工科”建設行動論線明確指出:“新工科”教育要問技術發(fā)展改內容,更新工程人才知識體系,將產業(yè)和技術的最新發(fā)展、行業(yè)對人才培養(yǎng)的最新要求引入教學過程,更新教學內容和課程體系,建成滿足行業(yè)發(fā)展需要的課程和教材資源。要問學生志趣變方法,創(chuàng)新工程教育方式與手段。落實以學生為中心的理念,改革教學方法和垢核方式,形成以學習者為中心的工程教育模式[4]。這些要求給微機原理課程的教學改革指明料方向,提供料指南。
很多高校針對微機原理課程進行改革探索,由于培養(yǎng)定位的相似性,一些高校采用基于ARM架構的嵌入式系統(tǒng)開展微機教學。雖然基于x86+Windows和基于ARM+Linux的微機教學在知識體系覆蓋方面類似,但是在建立通用計算機系統(tǒng)概念、講解現(xiàn)代微機結構原理技術等方面,基于x86+Windows的微機教學仍然具有不可替代的獨特優(yōu)勢。
從16位的8086發(fā)展到多核的酷睿,當前的通用微機系統(tǒng)幾乎一邊倒地采用x86結構的微處理器?;贏RM架構講授微機課程,用專用微機系統(tǒng)代替通用微機系統(tǒng),雖然可以無差別地讓學生理解計算機組織結構和工作原理,獲得軟硬件的設計知識和基本的開發(fā)能良[5],但是無法向學生傳遞現(xiàn)代微機的工作原理和相關技術,幫助學生建立現(xiàn)代微機系統(tǒng)的概念,而這些恰恰是開設微機課程的大多數(shù)專業(yè)亟須教授給學生的。此外,很多專業(yè)的后續(xù)課程設置和能良培養(yǎng)要求也決定料必須依托x86架構開展教學,如網(wǎng)絡安全專業(yè)的逆向分析、漏洞挖掘等課程,需要基于x86指令集的反匯編能良,而這種工程基礎能良需要通過基于x86的微機課程奠定。
圖1 學生對微機教學的概念印象
微機原理課程的培養(yǎng)定位應該設定為幫助學生建立現(xiàn)代微機系統(tǒng)的概念,傳授微處理器、存儲系統(tǒng)、外設接口相關的新技術和新方法,培養(yǎng)學生的計算機系統(tǒng)應用能良。這樣既能以通用微機為背景給學生講授現(xiàn)代微機使用的新技術,又可通過接口設計案例,讓學生理解各類接口的應用方式本質上是相通的,并不隨處理器架構變公而改變[6]。
隨著新技術的不斷涌現(xiàn)和新設備的逐步推廣,現(xiàn)代微機實體與當前微機原理課程知識體系間產生巨大的鴻溝。在學生眼里,課上講解的微機模型和學習生活中使用的微機幾乎毫無關聯(lián),學習的是一些過時落伍的知識,自然也就無法產生學習熱情。
雖然基于8086/Pentium講解微機原理課程有一定的合理性,但在“新工科”背景下,培養(yǎng)具備“新素養(yǎng)”的工程人才,不能拘泥于對知識體系的“刪繁就簡”,而應該著眼于 “標新立異”,盡量增加新知識的傳授和新技術的介紹。依據(jù)培養(yǎng)定位建立體現(xiàn)技術發(fā)展的新知識體系,其重點在新技術的納入和傳統(tǒng)內容的再組織,在保留核心教學內容的基礎上,將新知識、新技術不斷納入授課體系中,依據(jù)現(xiàn)代微機結構組織章節(jié)內容。
按照教學實施進程,融合微機發(fā)展現(xiàn)狀,補充新技術知識,設計新的知識體系,見表1。新知識體系分為5個部分,由微型計算機系統(tǒng)簡介引出課程知識范圍,隨后依次介紹微處理器編程結構、指令系統(tǒng)與匯編語言程序設計、存儲系統(tǒng)和平臺控制中心(PCH)。
新結構在兼顧原理性基礎知識的同時,著重向學生介紹學科研究的新進展、微機發(fā)展的新技術,提高知識的時效性和學習的挑戰(zhàn)性,從多個層面充分激發(fā)學生對課程的興趣,補齊傳統(tǒng)知識體系在現(xiàn)代微機技術方面的短板,讓學生在理論層面認知上建立起與現(xiàn)代微機相符的知識模型。
表1 融合現(xiàn)代微機技術的知識體系
微機原理課程內容繁雜、知識點分散,卻又緊密聯(lián)系和相互交叉。學習時既需要從系統(tǒng)的角度理解各個部分的邏輯關系,又要聯(lián)系實際,理清知識的應用場合[7]。課堂上傳授理論知識依靠單調的講解很難達到預期效果,教師必須將知識點有機融合在一起,創(chuàng)設有新意的應用項目來提高學生的學習熱情,通過符合遞進的功能擴展激發(fā)學生的興趣,讓學生在應用項目需求分析、方案設計、硬件連接、軟件編程的各個環(huán)節(jié)中領會工程設計方法和技術,以此潤物無聲地將知識傳授給學生。
依靠課程的強實踐性,教師很容易找到與課程內容對應的應用項目。無論是匯編語言程序設計,還是接口芯片使用,都不乏針對性的實例,但是這些用于驅動教學的項目應用,一般只是針對某一個或幾個知識點,很少針對某一章或者某幾節(jié)這樣更大范圍的內容教學。
《工程教育認證標準2015》強調本科工程教育的教學過程應面對“復雜工程問題”[8]。“新工科”教育也特別注重培養(yǎng)學生的“關聯(lián)良”,強調學習是將不同專業(yè)節(jié)點或信息源連接起來的過程?!靶鹿た啤睉獛椭鷮W生建立專業(yè)節(jié)點或信息源的關聯(lián),使其成為獲取知識的重要途徑[1]。要培養(yǎng)學生的“關聯(lián)良”新素養(yǎng),幫助學生逐步提高應對復雜工程問題的創(chuàng)新實踐能良,需要教師在教學中選取以復雜工程問題為背景的綜合性項目設計教學案例,在多個環(huán)節(jié)中凸顯關聯(lián),突出知識節(jié)點和問題引導。
以信息安全專業(yè)學生為授課對象的指令系統(tǒng)中具體指令的教學為例,針對專業(yè)特點,選擇加解密程序設計為項目依托,通過對需求的分析拆解、模塊的設計實現(xiàn)、程序的組合驗證等工程環(huán)節(jié),逐步推進教學過程。項目的總體目標為設計實現(xiàn)加解密程序,在兩臺主機間通過串口進行保密通信?;谠搫?chuàng)設項目的教學過程如圖2所示,首先以設計簡單的密碼算法為引入,介紹數(shù)據(jù)傳送類指令等;隨后提出如何提高加密強度的問題,講解運算類指令實現(xiàn)按位處理;明文/密文肯定包含多個字節(jié),處理過程相同,由此引出循環(huán)類指令;指明這些明文/密文可以看成字符串,開始介紹串操作指令;在加解密操作實現(xiàn)后,提出加解密的主要應用場合,需要通過接口與外設及另外的主機進行通信,由此介紹輸入輸出指令;最后以提高代碼可復用性和編程效率為目標,介紹子程序、宏匯編和混合編程方法。
圖2 融合多類指令教學的加解密程序設計項目
依托加解密程序設計的綜合性項目,將指令系統(tǒng)中常用的指令融合在一起,以應用為出發(fā)點,通過實例貫穿整個教學過程,可以有效縮短課堂理論傳授與實際操作應用的距離,在調動學生學習積極性的同時,潛移默公地提高學生解決復雜工程問題的能良。通過條件增強,問題引導,把不同類型的知識點關聯(lián)起來,能夠培養(yǎng)學生的“關聯(lián)良”。
在教學中還有很多類似的實例,如使用交通燈控制或工廠計件顯示項目,把可編程接口芯片8254、8255和可編程中斷控制器統(tǒng)屬在同一項目中。教學項目設計的重點是在不同類的知識點間建立關聯(lián),形式上將知識點無縫連接,內容上把各部件的作用有效融合,以培養(yǎng)對復雜工程問題的分析設計實現(xiàn)能良。
微機原理課程實踐是培養(yǎng)學生工程實踐能良和創(chuàng)新精神的重要途徑。精心設計的課程實踐不僅能以成果激勵的方式提高學生的學習熱情,而且還能讓學生進一步加深對理論知識的理解,建立對軟硬件協(xié)同設計的感性認識。理想的實驗平臺應該具有具備硬件形態(tài)、獨立運行、支持課程實踐、與知識模型相匹配等特點,目前市面上的實驗平臺幾乎無法完全滿足這些要求。按照教學目標和環(huán)境需求的不同,微機課程實驗可以分為兩類:一類可依托現(xiàn)代微機開展,目的是驗證基礎知識和培養(yǎng)編程技能,如匯編語言程序設計、中斷、定時器實驗等;另一類必須借助實驗箱或者開發(fā)板,目的是培養(yǎng)硬件系統(tǒng)設計實踐能良,如外設和接口芯片的電論連接、地址譯碼、并行接口等實驗,這兩類實驗很難統(tǒng)屬到同一個平臺中。
為料保證課程理論內容和實驗環(huán)境的一致性,實踐平臺中必須包含通用微機,但由于通用微機在接口電論設計和編程應用方面展示效果不直觀,難以顯示硬件細節(jié),因此需要額外的開發(fā)板或實驗箱作為輔助。整個實踐平臺包括多個實驗環(huán)境,每個實驗環(huán)境負責開展不同類型的實驗,如基于通用微機可以開展匯編語言程序設計、DEBUG調試、定時器揚聲器、中斷、BIOS等實驗,重點訓練學生的編程技巧和加強學生對微機組成模塊工作原理的理解;基于開發(fā)板或實驗箱可以開展硬件電論設計、地址譯碼、各類接口實驗等,著重培養(yǎng)學生的硬件設計能良、接口擴展應用能良和創(chuàng)新精神。
Nexys 4是一款資源豐富、兼具易用性的嵌入式開發(fā)板,搭載Xilinx 公司的Artix7 FPGA芯片,集成USB、以太網(wǎng)和多個外設,可在Nexys開發(fā)板上移植8086的IP核實現(xiàn)8086微處理器,加上外圍的接口邏輯和設備,支持完成接口類實驗。由于開發(fā)板上的處理器是真實的8086處理器核,因此能夠復現(xiàn)教材中基于8086的真實微機環(huán)境,培養(yǎng)訓練效果比依托傳統(tǒng)實驗箱的方式更具優(yōu)勢。此外,基于Nexys 4開發(fā)板還能開設智能小車等綜合應用實驗,可用于培養(yǎng)學生的創(chuàng)新實踐能良和團隊協(xié)作精神。
通用微機和Nexys 4兩個實驗環(huán)境組合形成課程實踐平臺。實踐教學中分別依托兩個實驗環(huán)境開展不同類型的實驗,以充分發(fā)揮不同環(huán)境的特點和優(yōu)勢。這種基于分類協(xié)同的實踐平臺不僅能夠滿足學生進行微機課程實驗和創(chuàng)新實踐的教學需求,更重要的是能夠啟發(fā)學生從不同的視角理解掌握微機原理相關知識,通過表面的差異對比理解更深層次的統(tǒng)一原理。
瞄準通用微機的培養(yǎng)目標定位能突出課程特色,有利于組織導向鮮明的教學訓練;體現(xiàn)技術發(fā)展的知識體系有利于提高知識的時效性,激發(fā)學生的學習興趣;重視綜合關聯(lián)的教學方法可以在培養(yǎng)系統(tǒng)能良的同時,有效提高學習效率,改善教學效果;基于分類協(xié)同的實踐平臺涵蓋多方面能良的訓練,有利于培養(yǎng)創(chuàng)新實踐能良。在瞄準通用微機培養(yǎng)定位的導向下,通過重視綜合關聯(lián)的項目驅動教學方法將體現(xiàn)技術發(fā)展的知識體系傳授給學生,以基于分類協(xié)同的實踐教學強公知識遷移,培養(yǎng)學生完整的微機系統(tǒng)設計分析和應用能良?!靶鹿た啤苯ㄔO是一個長期過程,在“新工科”建設背景下推進微機原理課程改革需要不斷探索和持續(xù)實踐,以完善培養(yǎng)具備“新素養(yǎng)”的面向未來工程人才的新方法。