本站小編為你精心準備了計算機設計與調(diào)試課程改革參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1PowerPCAltiVec技術(shù)介紹
PowerPC是一種RISC架構(gòu)的CPU。PowerPC處理器有廣泛的應用,是目前市面上主流的處理器。AltiVec技術(shù)是摩托羅拉PowerPCRISC處理器體系結(jié)構(gòu)的向量并行處理技術(shù),是現(xiàn)有PowerPC體系結(jié)構(gòu)的延伸,它帶有128位向量處理裝置,可以同時處理整數(shù)和浮點數(shù)據(jù),AltiVec的頂層架構(gòu)如圖1所示[2]。AltiVec技術(shù)的操作是單指令多重數(shù)據(jù)并行處理,是一種短向量并行體系結(jié)構(gòu)。根據(jù)數(shù)據(jù)大小不同,向量分別具有4、8或16元素長度,和以前巨型計算機的長向量體系結(jié)構(gòu)明顯不同。AltiVec技術(shù)可以應用于通信業(yè)、多媒體等注重性能的應用方案中,達到提高性能的目的。在圖1的下方可以看到,PowerPCRISC處理器的向量算術(shù)邏輯單元(VectorALU)有4種向量運算單元:向量數(shù)據(jù)的重組及排序單元(VectorPermute,VP)、向量簡單定點單元(VectorSimple-fixedUnit,VSFX)、向量復雜定點單元(VectorComplex-fixedUnit,VCFX)和向量浮點單元(VectorFloating-pointUnit,VFPU)。其中,VSFX指令共有70條。
2課程內(nèi)容改革
2.1課程內(nèi)容計算機設計與調(diào)試課程是天津大學計算機科學與技術(shù)專業(yè)計算機工程方向的一門課程設計類課程,于大三下學期開設,2學分,共40學時。計算機設計與調(diào)試課程以PowerPCRISC處理器的指令系統(tǒng)為參考,通過設計一個PowerPC擴展指令協(xié)處理器AltiVec模塊中的VSFX指令部分,將計算機組成原理、計算機系統(tǒng)結(jié)構(gòu)、匯編語言、VLSI系統(tǒng)設計這幾門課程所學的知識結(jié)合起來,由學生自己設計一個簡單的“計算機”,進而加深對相關(guān)課程的理解,掌握設計方法,熟悉相關(guān)設計工具。課程中涉及到的主要內(nèi)容包括:PowerPC405核、加速處理單元控制器(APUController)和協(xié)處理器之間的接口和處理流程、設計流程與功能驗證、PowerPCAltiVec指令集、PowerISA中向量加法指令(vadduhm)實例、向量簡單定點單元(VSFX)、AltiVec硬件設計頂層架構(gòu)和VSFX模塊與頂層的連接信號等。該課程使用SystemVerilog語言構(gòu)建功能驗證平臺。隨著集成電路芯片設計的規(guī)模不斷增大,芯片驗證工作成了制約芯片設計水平的關(guān)鍵性因素。傳統(tǒng)的驗證方法主要依靠人工進行驗證,效率較低。SystemVerilog語言是一種專門用來搭建測試環(huán)境的語言。SystemVerilog語言將硬件描述語言同高級驗證語言相結(jié)合,提供隨機約束、功能覆蓋率、斷言和面向?qū)ο蟮刃录夹g(shù)[3]。課程要求學生學習并使用SystemVerilog語言建立一個可以自動生成測試向量的測試環(huán)境,用這個測試環(huán)境檢查學生設計的系統(tǒng)和功能。選擇協(xié)處理器AltiVec模塊作為課程的設計內(nèi)容,有以下幾個方面的考慮:由于向量計算在功耗和并行度等方面的優(yōu)勢,使其在現(xiàn)代微處理器設計中的作用正在被重新認識;向量計算的內(nèi)容是目前計算機組成原理和計算機系統(tǒng)結(jié)構(gòu)等課程中比較薄弱的地方,計算機設計與調(diào)試課程恰好可以對此加以彌補;設計向量協(xié)處理器可以避免與計算機組成原理、計算機系統(tǒng)結(jié)構(gòu)、VLSI系統(tǒng)設計等課程的設計型實驗內(nèi)容相沖突;設計向量協(xié)處理器可以使學生學會使用從行為級建模到用硬件描述語言設計、從仿真到開發(fā)板上的驗證等全過程的設計軟件和設計環(huán)境。
2.2課程設計任務及教學組織形式
2.2.1課程設計任務課程設計任務包括4部分內(nèi)容。(1)模塊設計:采用VerilogHDL,設計PowerPC協(xié)處理器AltiVec模塊中部分VSFX指令。(2)頂層模塊集成:將設計的VSFX指令模塊與其他模塊集成,了解模塊與模塊之間的關(guān)系。(3)仿真驗證:用AltiVec匯編指令編寫測試程序,通過匯編編譯器生成機器代碼。在集成環(huán)境下,仿真驗證設計的正確性。(4)FPGA開發(fā)版上的驗證:將所設計的RTL代碼放置到FPGA開發(fā)板上,驗證所設計的硬件實現(xiàn)的正確性。使學生進一步掌握開發(fā)板上的接口電路在調(diào)試過程中的作用等。為了使課程設計的設計工作循序漸進,參考CDIO教學模式,把整個設計任務分為8個相互聯(lián)系、難度逐步增加的子任務。子任務一:閱讀指令定義文檔,對小組選定的5條不同類型的指令給予特別關(guān)注。子任務二:以小組為單位,講解和展示小組將要實現(xiàn)的5條不同類型指令的功能。子任務三:用C語言實現(xiàn)所要設計的5條不同類型指令的功能,并設計功能測試程序,以C語言實現(xiàn)的功能測試的輸入和輸出結(jié)果為“標準測試程序”,作為下一步硬件設計的測試向量。子任務四:學習AltiVec硬件架構(gòu)設計;看懂AltiVec中除VSFX模塊外的所有RTL代碼(Register-Transfer-Levelcode);畫出AltiVectoplevel的硬件架構(gòu)圖。子任務五:定義所要設計的VSFX模塊的架構(gòu)、子模塊;要求畫出模塊的框圖,標注寄存器及多路選擇器的位置,明確下一步RTL代碼的關(guān)鍵內(nèi)容。子任務六:進行VSFX模塊的RTL代碼設計及仿真驗證;完成二級譯碼電路設計;完成功能模塊設計。子任務七:進行頂層設計及仿真驗證。將所設計的VSFX模塊與top連接,形成完整的AltiVec模塊;進行AltiVec層次的驗證;輸入所設計的5條指令的匯編指令,采用VSFX模塊級的數(shù)據(jù),結(jié)果與之前的VSFX模塊級仿真數(shù)據(jù)對比。在基本功能測試完成后,將進一步在SystemVerilog語言建立的自動生成測試向量的測試環(huán)境中,通過運行生成的100組隨機向量,檢查學生設計的系統(tǒng)和功能的正確性,保證測試覆蓋率。子任務八:進行FPGA開發(fā)板上的驗證。RTL級的仿真驗證僅僅能保證所設計的硬件的邏輯功能正確性。通過將所設計的RTL代碼放置到FPGA開發(fā)板上才能夠驗證所設計的硬件實現(xiàn)的時序正確性及工作速度是否達到設計要求。最后針對FPGA開發(fā)板的邏輯綜合與靜態(tài)時序分析,驗證設計的時序的正確性以及所設計的電路可以在什么時鐘頻率下工作等。
2.2.2教學組織形式在課程設計開始時,教師要求學生自愿組合,每組2人,每組學生從70條VSFX指令中選出5條不同類型的指令,作為準備由硬件實現(xiàn)的指令,這就是小組的設計任務。盡管每個小組都要完成同樣的8個子任務,但是由于每組學生所選擇的5條指令并不相同,所以每個小組實際完成的任務并不一樣。通過布置任務、教師引導、分組討論、學生實踐、擴展閱讀、溝通交流、實現(xiàn)設計、完成測試等一系列教學環(huán)節(jié),讓學生完成一個現(xiàn)代處理器PowerPC擴展指令協(xié)處理器AltiVec模塊中VSFX指令部分的設計。在整個課程設計過程中,教師講得很少,主要靠學生自學、討論和實踐。在每個實驗的關(guān)鍵節(jié)點上,教師都會安排學生做課堂匯報。在學生進行匯報過程中,教師及時糾正學生的錯誤,正確引導學生一步一步完成任務。教師給學生準備了必要的參考閱讀資料,包括1300多頁的IBMPower處理器設計文檔“Book-IChapter6.VectorFacility”、260多頁的飛思卡爾公司技術(shù)手冊“AltiVecTechnologyProgrammingInterfaceManual”、IBM公司和摩托羅拉公司發(fā)表在國際會議上的對PowerPC做向量擴展的文章“ALow-power,High-speedImplementationofaPowerPCMicroprocessorVectorExtension”和VSFX指令第一級譯碼器文檔等。另外,教師要搭建AltiVec模塊的集成與驗證平臺。
3結(jié)語
在2011級計算機工程專業(yè)方向本科生的計算機設計與調(diào)試課程中,我們按照上述新的教學內(nèi)容和教學組織形式進行了嘗試。學生經(jīng)歷了一個完整的系統(tǒng)設計過程,所有學生的設計都通過了仿真檢測和在FPGA開發(fā)板上的測試。實踐表明,教學內(nèi)容和教學組織形式的改革調(diào)動了學生學習的積極性和主動性,取得了非常好的教學效果。
作者:郭煒 張鋼 單位:天津大學 計算機科學與技術(shù)學院