學習啦 > 論文大全 > 學科論文 > 計算機論文 > 計算機組成原理論文4000字(2)

計算機組成原理論文4000字(2)

時間: 堅烘964 分享

計算機組成原理論文4000字

  計算機組成原理論文篇三

  淺談計算機組成原理實驗教學方法改進

  摘要:目前的高校計算機課程教學正越來越偏重學生實踐能力的培養(yǎng),不少高校都設計了各類的實驗教學課程來提高學生們對于計算機課程的理解。文章介紹了一項自主開展的基于FPGA開發(fā)板的CPU設計實驗課程。總結了在課程的開展過程中所遇到的多項問題。并通過為學生提供更多的課程輔助工具及平臺,使得課程的開展更加高效且符合學生們的需求,提高了學生們在此項課程中的學習效率。

  關鍵詞: MIPS;計算機組成原理;CPU實驗;教學改革;FPGA

  1 概述

  計算機學科是一門與實踐結合非常緊密的課程,純理論化的教學已經無法滿足學生掌握計算機知識以及培養(yǎng)實踐能力的需求了。因此,計算機實驗課程在現有的計算機教學體系中所占的比例越來越高。該文針對所關注的計算機組成原理課程的教學方法,結合我們自己所開設的組成原理實踐課程,針對目前教學中所存在的一些問題,對組成原理的實驗課程方法作進一步的改進,使其更符合現在國內教學現狀的需求,提高學生的實驗效率。

  2 CPU實驗課程簡介

  我們的CPU實驗課程主要目標為:指導學生設計出一個符合MIPS標準的CPU。從設計初級的數字邏輯器件出發(fā),到實現一個完整的CPU,然后學生們可以圍繞自己設計的CPU編寫匯編器、高級語言編譯器甚至簡單的操作系統[1,2]。讓學生可以完整地了解計算機的運行原理。

  參與本課程的學生所要實現的CPU使用如表1所示的31條指令,可以覆蓋大部分簡單程序的需求,其具體功能可以參考MIPS指令手冊[3-5]。

  前兩個實驗比較簡單,主要為了讓學生能夠熟悉整個的開發(fā)環(huán)境與流程,而且譯碼器和選擇器也是將來在其他實驗中所需要使用到的部件。從第三個實驗開始,學生們將從簡到難地一步步實現CPU中的各個部件的設計,并在第七個實驗中最終完成一個完整的CPU。

  3 實驗教學存在的問題

  3.1 testbench用例不完善

  我們的CPU實驗課程主要是對于硬件的設計,在硬件設計的過程中,testbench的編寫占有著舉足輕重的地位。而參與我們課程的學生絕大多數都是第一次接觸硬件的設計,并且對于CPU的各個部件并沒有一個良好的認識。所以對于這些參與到我們課程的學生來說,有相當一部分學生沒有編寫完備的testbench的能力與意識。在遇到相對復雜的模塊時,學生們可能無法發(fā)現自己設計中的缺陷,這為以后的設計留下了一定的隱患。而且隨著工程越來越大時,初期的錯誤就越來越難被發(fā)現。

  3.2 學生開發(fā)機器運行緩慢

  我們這門實驗課是“口袋實驗室”,參與到我們這項課程的同學都會將實驗板帶回宿舍作實驗,由于,學生各自的計算機性能并不能完全滿足CPU實驗的設計需求。特別是隨著工程的增大,在生成CPU后仿真的模型以及生成開發(fā)板所需的電路文件時,往往需要相當長的時間,并且這個過程在CPU的開發(fā)過程中往往需要執(zhí)行很多次。而在此期間,學生往往只能等待而無法進行課程的學習,這會造成極大的時間浪費,降低學習效率的同時也很有可能增加學生的挫敗感。

  3.3 應用開發(fā)效率低下

  CPU要執(zhí)行有一定功能的程序才會顯得有意義,我們的課程會鼓勵學生在自己設計的CPU上開發(fā)一些小應用來顯示CPU的實用性。我們目前的課程只提供了基于我們課程所涉及指令的匯編器,但對于參加我們課程的學生而言,使用匯編程序編寫應用所需要的技巧與經驗往往他們都不具備,這增加了小應用程序開發(fā)的難度,不利于學生們創(chuàng)意與想法的拓展。在我們的課程實踐中,學生們往往都會選擇開發(fā)一些類似的容易實現的應用程序,造成了應用程序的同質化。

  3.4 沒有統一的評分體系

  任何課程都要面臨的一個考核的問題。如何能夠公平客觀的評價學生在整個課程中的表現不僅對于參與課程的學生,對于此課程未來的發(fā)展都至關重要。目前我們的課程主要依賴學生的自行演示以及助教的手工查看。此方法不僅效率低下,每周都要花大量的時間在實驗結果的檢查上,而且由于參與檢查的人數較多不容易保持評價標準的一致性。

  目前我們的課程仍處于試驗性階段,參與的學生人數較少,若未來將此課程推廣,手工檢查的方式將無法滿足課程的需求。

  4 針對目前教學中的問題的解決方法

  4.1 統一的部件接口和測試平臺

  通過給學生提供統一的部件接口,我們可以為學生提供統一的測試平臺。在完成每個部件的編寫后,學生們首先可以使用自己編寫的testbench來驗證自己設計的正確性,隨后再由統一的測試平臺來進一步確認部件的設計。這樣就可以有效地避免由于testbench的不完善而造成的部件設計缺陷,提高了每次部件實驗結果的可靠性,從而為接下來的實驗進程打下良好的基礎。

  4.2 實驗結果驗證平臺

  統一的部件接口使得自動化測試以及自動評分成為了可能。學生們可以將自己編寫的代碼提交到我們的測試平臺,運行統一的testbench,通過對比學生代碼的運行結果和標準的測試結果就可以為學生們編寫的部件提供一個客觀合理的評價。

  我們可以根據學生每次提交的正確率以及最終通過測試所用的提交次數來作為學生每次實驗的評價參考。通過這種方法,我們可以不再逐個檢查學生的實驗結果,不僅可以免去每次人工檢查實驗結果的時間,也大大提高了每次實驗評價的客觀性。

  4.3 CPU模擬器

  我們的課程設計了一個基于部分MIPS指令集CPU的模擬器,其輸入可以為自行編寫的匯編程序,模擬器的運行的結果可以作為我們CPU運行結果的參照。同時我們課程中還擁有一個31條指令的匯編器,其輸入同樣為學生自行編寫的匯編程序,而輸出是二進制或十六進制的機器碼文件,該文件可以導入到學生自己的CPU中運行。然后學生可以通過對比Modelsim的仿真結果與模擬器的運行結果來驗證自己所設計的CPU的正確性。我們的課程也提供了一些小程序來幫助學生進行CPU的驗證。   4.4 綜合任務服務器

  大多數情況下,學生們所使用的PC的性能進行完整的綜合與布線任務時往往都會花費很長的時間。我們可以為他們提供一個專門進行繁重計算任務的服務器。

  學生們可以提交自己的設計到服務器上,通過服務器來生成所需的電路文件,將此文件下載到本地后載入FPGA,完成下板工作。鑒于服務器相對學生PC有著更出色的性能以及統一的工作環(huán)境,可以大大節(jié)省學生們完成一次設計修改的時間,提高學生們的開發(fā)效率。

  4.5 合理使用C語言開發(fā)環(huán)境

  高級語言可以大大降低程序的開發(fā)難度,而且通過完善的IDE(集成開發(fā)環(huán)境)可以更方便的確保程序的正確性。目前大部分學生所編寫的小程序都不會超出我們課程所使用的指令集。GCC編譯器在默認的配置下其編譯出的MIPS指令集不會超出MIPS-I中的所有指令。經過多次測試,在多數情況下編譯出的指令多并不會超出我們目前所使用的31條指令。對于那些不在我們31條指令集范圍內的MIPS-I指令,其中有相當一部分指令是可以使用現有的指令組合來完成其功能的,我們僅需對GCC所編譯出的匯編程序進行一定的修改即可使用。這為我們使用C語言編寫開發(fā)板程序提供了很好的前提。

  學生們可以首先使用C語言在現有的成熟IDE上進行編程,在驗證了程序的正確性后使用GCC將C語言編譯為MIPS-I的匯編程序,在對編譯完成的匯編程序進行一些修改后可以使用我們課程提供的匯編器生成機器碼來運行在學生自己設計的CPU上。

  由于學生們對于C語言的熟悉程度要遠高于MIPS的匯編指令,通過合理使用C語言進行編程,可以大大降低學生們編寫應用程序的難度。

  5 總結

  對實驗進行了諸多改進后,學生們在課程實驗中的開發(fā)效率得到了明顯的提升,這也使得學生們更有興趣將精力投入到實驗課程中。同時,在線平臺的引入也減小了開展試驗課程的人力投入,打下了推廣該實驗的基礎。該文結合了我們現有CPU實驗課程開展情況,針對實驗課程中所出現的問題,提出了針對性的解決方案。這一系列的改進方案將學生從一些不必要的負擔中解放出來,從而使得學生能夠將更多的精力投入到計算機組成原理的學習中。這些方案的引入將會使得我們現有的課程變得更加具有可持續(xù)性,有利于將來此課程的進一步拓展。

  參考文獻:

  [1] 王力生, 黃仁智. 面向計算機專業(yè)的遞進式綜合實驗教學方案[J]. 計算機教育, 2013 (12):15-18.

  [2] Lu S, Li G, Wang Y. CPU Design for Computer Integrated Experiment[J]. FECS12, 2012(8):594-600.

  [3] MIPS Technologies, MIPS32TM Architecture for Programmers Volume I: Introduction to the MIPS32TM Architecture [Z].Revision 1.00, 2002.

  [4] MIPS Technologies, MIPS32TM Architecture for Programmers Volume II: The MIPS32TM Instruction Set [Z], Revision 1.00, 2002.

  [5] MIPS Technologies, MIPS32TM Architecture for Programmers Volume III: The MIPS32TM Privileged Resource Architecture [Z].Revision 1.00, 2002.


猜你喜歡:

1.關于計算機組成原理的課程論文

2.計算機組成原理論文

3.計算機組成原理課程論文

4.計算機組成原理課程相關論文

5.計算機組成原理的相關論文

2921184