999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟硬件協(xié)同的計算機組成課程實驗

2018-07-21 06:11:26彭蔓蔓李建江
計算機教育 2018年7期
關鍵詞:計算機實驗課程

彭蔓蔓,吳 強,李建江

(1.湖南大學 信息科學與工程學院,湖南 長沙 410082;2. 北京科技大學 計算機與通信工程學院,北京 100083)

1 計算機組成課程實驗教學現(xiàn)狀

ACM/IEEE在2016年公布的計算機工程課程體系指南(CE2016)和2013年公布的計算機科學課程體系指南(CS2013)都把計算機體系結(jié)構(gòu)和組成(architecture and organization)列為核心知識模塊之一[1-2]。各個大學為計算機及相關專業(yè)開設了計算機組成或類似課程,并安排了對應的課程實驗[3-4]。

計算機組成課程實驗通常以硬件設計為主要內(nèi)容,其中CPU設計一般作為核心,輔之以運算器、存儲器、I/O接口等硬件模塊的設計,目的在于使學生理解和掌握如何運用前期數(shù)字邏輯或類似課程所學的邏輯電路設計知識完成計算機系統(tǒng)主要硬件部件的設計[5]。

由于硬件設計較為繁雜,在實際教學中,學生往往會因為對硬件工作流程理解不夠,在設計初期不知如何開始而產(chǎn)生畏難情緒。為便于學生理解硬件工作原理,不少學校采用軟件模擬器或仿真程序的方式為學生展示硬件工作過程,使學生易于理解有關知識,完成硬件電路的設計[6-7]。

隨著現(xiàn)場可編程門陣列(FPGA)的發(fā)展和應用,計算機組成課程實驗的硬件設計越來越多地轉(zhuǎn)移到基于FPGA的實驗平臺上[8-10]。采用基于FPGA的實驗平臺進行計算機組成課程實驗常常遇到的問題是學生缺乏對FPGA設計流程和相應軟件工具的了解,在設計中容易因為一些簡單問題,如軟件設置、器件選擇、流程狀態(tài)等,不知如何解決而使設計過程陷入停頓,需要教師在實驗內(nèi)容和教學方法上進行改進,以適應新的實驗平臺。

2 實驗方案

考慮到硬件設計尤其是CPU設計不僅僅是硬件設計,也涉及軟件相關知識,如編譯原理,硬件設計的流程也少不了相關的軟件工具,如模擬驗證程序等,因此,我們提出一種軟硬件協(xié)同的計算機組成實驗方案,主要包括:①把匯編器、模擬器等軟件工具納入實驗項目中;②設定匯編器、模擬器的輸出形式與硬件設計測試所需的格式一致;③利用上述工作構(gòu)建一個閉環(huán)的設計流程。

2.1 課程簡介

計算機組成課程在教學計劃中作為必修課,被安排在大二下學期,開設給計算機科學與技術(shù)、軟件工程、通信工程等學科及相關專業(yè)的學生。計算機組成課程的先修課數(shù)字邏輯或數(shù)字電路會被安排在大二上學期。另外,所有專業(yè)的學生都會在大一下學期學習C/C++程序設計課程。因此,在學習計算機組成課程時,學生已經(jīng)修完了軟件和硬件方面的必要課程,具備一定的軟件和硬件設計能力。

按照學校的要求,計算機組成課程采用“大班授課,小班討論”,輔之以課程實驗的方式組織教學[3]。課程的總學時為96課時,其中課堂教學64課時,課程實驗32課時,每次4節(jié)課,共計8次實驗課。每次實驗課通常會安排一個實驗項目,要求當場完成并演示,課后提交實驗報告,但是對于較大或者較難的實驗項目,會安排兩次實驗課來完成。

2.2 實驗項目

實驗項目以CPU設計為核心,包括主要硬件部件和相關的模擬器、匯編器等軟件工具,結(jié)合課程教學進度的考慮,安排如表1所示的實驗項目。

實驗項目中主要包括運算器、存儲器和CPU三大部件,每個部件都有硬件設計和對應的模擬器設計。模擬器設計的主要目的是為相應的硬件電路設計提供一個可用于驗證的參考,因此,通常安排在硬件電路設計之前完成。不過,因為存儲器功能比較簡單,所以存儲器模擬器和硬件電路設計合并在了一個實驗項目中。

實驗項目中的匯編器設計主要是為CPU模擬器和CPU硬件電路提供二進制指令代碼輸入,這個工具一方面可以使學生不必手工把指令翻譯成二進制代碼,減少出錯概率,另一方面也有利于學生在測試CPU時采用更多的測試指令序列,提高實驗效率。

2.3 進度計劃

計算機組成課程實驗的6個實驗項目計劃安排8次實驗課,需要在8周時間內(nèi)完成。考慮到實驗項目之間有圖1所示的邏輯關系,實驗項目也要遵循由簡到繁、由部分到整體的循序漸進過程,同時考慮到CPU模擬器設計和CPU硬件設計較復雜、工作量較大,因此,CPU模擬器設計和CPU硬件設計2個實驗安排2次實驗課(2周),其余4個實驗項目都安排1次實驗課(1周)。具體的進度計劃為:第1周,運算器模擬器設計;第2周,運算器硬件設計;第3周,匯編器設計;第4周,存儲器模擬器和存儲器硬件設計;第5—6周,CPU模擬器設計;第7—8周,CPU硬件設計。

2.4 設計流程

實驗項目和進度計劃的核心思想是通過軟硬件協(xié)同的設計流程來幫助學生理解和掌握相關知識及技能。設計流程的基本步驟有:①設計軟件模擬器,模擬所需的功能;②設計硬件電路,實現(xiàn)所需的功能;③針對測試輸入,利用第①步中的軟件模擬器產(chǎn)生參考輸出,并與第②步所設計電路的輸出做比較,驗證結(jié)果的正確性;④如果發(fā)現(xiàn)模擬器和電路的輸出不一致,檢查軟件模擬器和硬件電路的實現(xiàn),修改錯誤,直到結(jié)果一致。

表1 實驗項目

圖1 實驗項目邏輯關系

圖2展示了上述設計流程在CPU設計過程中的實際運用,這一設計流程使得CPU設計形成了從測試程序輸入到設計結(jié)果驗證的一個閉環(huán),學生可以利用這個閉環(huán)不斷測試和改進設計,直到達到設計目標。

圖2 CPU設計流程

第1周和第2周安排的運算器模擬器和硬件設計是讓學生按照這種軟硬件協(xié)同的設計流程進行初步的訓練。第4周安排的存儲器模擬器和硬件設計是對這種軟硬件協(xié)同設計流程的強化。第3周的匯編器設計和最后4周的CPU模擬器和硬件設計則是對學生是否掌握這種軟硬件協(xié)同設計流程的綜合考核。

3 實驗方案在教學中的應用

我們在2016和2017兩年的計算機組成課程中采用了軟硬件協(xié)同的實驗方案,學生的課程評價顯示他們對這一實驗方案是接受和歡迎的。課程討論和課后交流中,學生反映設計模擬器和匯編器的實驗項目對他們理解硬件運行原理,完成硬件設計的幫助很大。

3.1 模擬器設計

學生在實驗中需要設計3個模擬器,運算器模擬器、存儲器模擬器和CPU模擬器。預估的教學難點為CPU模擬器的設計,但在教學中,學生針對運算器和存儲器模擬器的設計提出的問題更多。這主要是學生在以前的課程中很少接觸模擬器,因此對于如何設計模擬器沒有可借鑒的思路。在教學中,我們以學生學過的數(shù)字邏輯課程中的加法電路為例來說明模擬器進行功能模擬的方法。雖然這個例子比較簡單,但是從學生反映來看,這樣舉例說明比單純地講解模擬器設計方法更易于理解。

經(jīng)過運算器和存儲器模擬器的設計訓練后,學生對于模擬器的設計有了了解,在設計CPU模擬器時主要問題是如何確定CPU的輸入和輸出。我們提示他們考慮CPU與存儲器的接口,CPU取指的指令序列,以及CPU內(nèi)部寄存器和存儲器的內(nèi)容變化,學生往往很快就理解并可以繼續(xù)進行設計。

3.3 匯編器設計

學生在匯編器設計中提出的問題集中在“偽指令”方面。我們在匯編器設計中,為了方便數(shù)據(jù)的放置,增加了數(shù)據(jù)偽指令。由于數(shù)據(jù)偽指令不屬于CPU指令集,學生往往不理解為什么需要這些偽指令,也容易把它們與CPU指令混淆,以為CPU有這些數(shù)據(jù)偽指令。我們通過匯編過程舉例講解、實際程序反匯編的方式來向?qū)W生解釋需要數(shù)據(jù)偽指令的原因,數(shù)據(jù)偽指令的特點和匯編器對其的處理。經(jīng)過講解后,學生普遍能夠理解數(shù)據(jù)偽指令的目的及其翻譯方法。

3.4 設計流程

在采用基于FPGA的實驗平臺后,硬件設計工具往往是FPGA廠商提供的設計軟件。這些軟件本身通常是商業(yè)軟件的免費版本,功能和設計流程復雜,在實際教學中需要學生花大量時間了解和掌握。

為了減輕學生學習這些硬件設計工具的負擔,幫助他們盡快熟悉設計流程,我們要求學生采用硬件描述語言進行硬件設計,并把實驗項目中模擬器和匯編器的輸出都設定為硬件描述語言能接收或規(guī)定的形式。這樣模擬器和匯編器的輸出結(jié)果能由硬件描述語言文件接口讀取,為測試驗證所用,從而使設計流程運轉(zhuǎn)起來。

學生的反應肯定了軟硬件協(xié)同的設計流程,雖然學生在初期對于輸出格式的要求存在疑問,不理解為什么采用這種格式,但在經(jīng)歷過一次硬件測試之后,都極為認可這種利用模擬器產(chǎn)生參考輸出,與電路輸出做比較的方式,因為這顯著提高了測試的效率。學生在熟悉這一流程后,能夠不斷改進他們的硬件設計,達到設計目標。

4 結(jié) 語

通過把模擬器和匯編器設計納入計算機組成課程實驗項目中,與相關的硬件部件設計相結(jié)合,構(gòu)建一個軟硬件協(xié)同的設計流程,使學生能有效地生成參考結(jié)果,用于測試和驗證,從而不斷地改進硬件設計,達到設計目標。近兩年的實驗教學效果表明這一軟硬件協(xié)同的實驗方案有利于學生理解計算機系統(tǒng)主要硬件部件的工作原理,掌握它們的設計方法和設計技能。我們也將通過更多教學實踐持續(xù)改進這個軟硬件協(xié)同的實驗方案。

猜你喜歡
計算機實驗課程
記一次有趣的實驗
計算機操作系統(tǒng)
數(shù)字圖像處理課程混合式教學改革與探索
軟件設計與開發(fā)實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
基于計算機自然語言處理的機器翻譯技術(shù)應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
為什么要學習HAA課程?
做個怪怪長實驗
信息系統(tǒng)審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
NO與NO2相互轉(zhuǎn)化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 午夜福利亚洲精品| 欧美日韩va| 国产又爽又黄无遮挡免费观看 | 欧美成人一区午夜福利在线| 在线亚洲精品自拍| 国产在线观看一区精品| 国产日韩欧美精品区性色| 99人妻碰碰碰久久久久禁片| 91午夜福利在线观看| 日本亚洲国产一区二区三区| 国产福利在线免费| 欧美日韩综合网| 91麻豆久久久| 国模在线视频一区二区三区| 2048国产精品原创综合在线| 欧美专区在线观看| 亚洲精品久综合蜜| 美女无遮挡免费视频网站| 日本少妇又色又爽又高潮| 激情亚洲天堂| 亚洲欧美不卡中文字幕| 亚洲第一视频网| 亚洲青涩在线| 国产永久免费视频m3u8| 亚洲日本中文字幕乱码中文| 99视频在线免费观看| 超碰91免费人妻| 免费在线国产一区二区三区精品| 色欲色欲久久综合网| 久久婷婷色综合老司机| 国产一级妓女av网站| 精品欧美日韩国产日漫一区不卡| 伊人狠狠丁香婷婷综合色| 国产欧美日韩在线一区| 精品久久高清| 国产精欧美一区二区三区| 日韩av电影一区二区三区四区| 国产综合另类小说色区色噜噜| 最新国产你懂的在线网址| 亚洲最大福利网站| 日韩精品毛片| 精品国产亚洲人成在线| 国产无人区一区二区三区| 中国一级特黄视频| 国产欧美在线视频免费| 久久国产免费观看| 一本一道波多野结衣av黑人在线| 国产一区二区精品高清在线观看| 国产在线视频导航| 久久精品波多野结衣| 国产福利观看| 正在播放久久| 激情亚洲天堂| 2021精品国产自在现线看| 国产玖玖玖精品视频| 不卡无码网| av午夜福利一片免费看| 国产成人综合日韩精品无码首页 | 欧美亚洲激情| 99草精品视频| 91无码人妻精品一区二区蜜桃| 国产成人高清精品免费软件| 国产91精选在线观看| 91精品国产91欠久久久久| 中文字幕人成人乱码亚洲电影| 高清久久精品亚洲日韩Av| 国产高清色视频免费看的网址| 国产地址二永久伊甸园| 乱人伦中文视频在线观看免费| 国产一在线| yy6080理论大片一级久久| 国产成人无码久久久久毛片| 成人一级免费视频| 无码精品国产dvd在线观看9久| 亚洲中文字幕无码爆乳| 午夜丁香婷婷| 欧美不卡视频一区发布| a色毛片免费视频| 免费在线播放毛片| 亚洲最新在线| 亚洲男人的天堂在线| 欧美性爱精品一区二区三区 |