• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      軟硬件協(xié)同的計(jì)算機(jī)組成課程實(shí)驗(yàn)

      2018-07-21 06:11:26彭蔓蔓李建江
      計(jì)算機(jī)教育 2018年7期
      關(guān)鍵詞:存儲(chǔ)器模擬器流程

      彭蔓蔓,吳 強(qiáng),李建江

      (1.湖南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙 410082;2. 北京科技大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,北京 100083)

      1 計(jì)算機(jī)組成課程實(shí)驗(yàn)教學(xué)現(xiàn)狀

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

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

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

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

      2 實(shí)驗(yàn)方案

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

      2.1 課程簡(jiǎn)介

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

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

      2.2 實(shí)驗(yàn)項(xiàng)目

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

      實(shí)驗(yàn)項(xiàng)目中主要包括運(yùn)算器、存儲(chǔ)器和CPU三大部件,每個(gè)部件都有硬件設(shè)計(jì)和對(duì)應(yīng)的模擬器設(shè)計(jì)。模擬器設(shè)計(jì)的主要目的是為相應(yīng)的硬件電路設(shè)計(jì)提供一個(gè)可用于驗(yàn)證的參考,因此,通常安排在硬件電路設(shè)計(jì)之前完成。不過,因?yàn)榇鎯?chǔ)器功能比較簡(jiǎn)單,所以存儲(chǔ)器模擬器和硬件電路設(shè)計(jì)合并在了一個(gè)實(shí)驗(yàn)項(xiàng)目中。

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

      2.3 進(jìn)度計(jì)劃

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

      2.4 設(shè)計(jì)流程

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

      表1 實(shí)驗(yàn)項(xiàng)目

      圖1 實(shí)驗(yàn)項(xiàng)目邏輯關(guān)系

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

      圖2 CPU設(shè)計(jì)流程

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

      3 實(shí)驗(yàn)方案在教學(xué)中的應(yīng)用

      我們?cè)?016和2017兩年的計(jì)算機(jī)組成課程中采用了軟硬件協(xié)同的實(shí)驗(yàn)方案,學(xué)生的課程評(píng)價(jià)顯示他們對(duì)這一實(shí)驗(yàn)方案是接受和歡迎的。課程討論和課后交流中,學(xué)生反映設(shè)計(jì)模擬器和匯編器的實(shí)驗(yàn)項(xiàng)目對(duì)他們理解硬件運(yùn)行原理,完成硬件設(shè)計(jì)的幫助很大。

      3.1 模擬器設(shè)計(jì)

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

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

      3.3 匯編器設(shè)計(jì)

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

      3.4 設(shè)計(jì)流程

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

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

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

      4 結(jié) 語

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

      猜你喜歡
      存儲(chǔ)器模擬器流程
      了不起的安檢模擬器
      吃水果有套“清洗流程”
      靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
      盲盒模擬器
      劃船模擬器
      違反流程 致命誤判
      本刊審稿流程
      析OGSA-DAI工作流程
      動(dòng)態(tài)飛行模擬器及其發(fā)展概述
      存儲(chǔ)器——安格爾(墨西哥)▲
      苍山县| 沽源县| 渑池县| 辛集市| 长武县| 集贤县| 揭阳市| 高雄市| 武宣县| 织金县| 林西县| 伊春市| 都兰县| 尚义县| 林甸县| 黔东| 岑溪市| 峨山| 汝城县| 盱眙县| 壤塘县| 米泉市| 昌吉市| 南安市| 天长市| 卫辉市| 苏尼特左旗| 英吉沙县| 柞水县| 阆中市| 蒲江县| 桃源县| 土默特左旗| 深泽县| 喀喇| 永春县| 临沂市| 临澧县| 泸溪县| 屏东县| 潮州市|