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

基于龍芯開源CPU的計算機組成原理實驗課程改革

2018-06-27 07:53:08王俊昌成韶錦李德國
計算機教育 2018年6期
關(guān)鍵詞:指令計算機實驗

王俊昌,成韶錦 ,楊 昆,李德國

(1.南京郵電大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 210023;2.龍芯中科技術(shù)有限公司,北京 100089)

0 引 言

計算機組成原理是一門偏硬件的計算機基礎(chǔ)核心課程,該課程對學(xué)生了解計算機各組成部件及其內(nèi)部運行機制具有重要意義。目前,國內(nèi)高校普遍采用的教材介紹了計算機指令集、CPU設(shè)計、存儲器層次結(jié)構(gòu)、I/O系統(tǒng)、總線系統(tǒng)等計算機核心組成部件[1-2]。該課程涉及計算機的多個部件,概念較為抽象,因此其實驗環(huán)節(jié)尤為重要。只有通過動手充分了解計算機各部件的內(nèi)部運行機制,才能加深學(xué)生對計算機組成知識的理解,提升學(xué)生的實踐動手能力,并為其今后的學(xué)習(xí)和深造打好堅實的基礎(chǔ)。

目前高校開設(shè)計算機組成原理實驗課的主要方式如下。

(1)基于硬件的實驗方式[3-4]:給定實驗步驟,學(xué)生通過插拔線和撥動開關(guān)進(jìn)行實驗,該類實驗方式在國內(nèi)較為常見。這種實驗方式的優(yōu)點是讓學(xué)生接觸真實的硬件電路,增進(jìn)學(xué)生對電路走線的理解,缺點是學(xué)生只能按照預(yù)設(shè)步驟,機械地完成連線,難以突破實驗箱的限制,無法了解硬件內(nèi)部的運行機制。

(2)基于軟件的實驗方式:采用某類硬件平臺模擬器,學(xué)生通過在模擬器中運行代碼,達(dá)到間接觀察硬件平臺的效果。這種方式的優(yōu)點是簡單易上手,缺點是學(xué)生無法動手操作,很難形成對計算機硬件的直觀理解。

隨著計算機硬件的飛速發(fā)展,特別是以人工智能和大數(shù)據(jù)處理為代表的新興方向?qū)W(xué)生的計算機硬件知識水平和動手能力提出了更高的要求。傳統(tǒng)的計算機組成原理實驗方式已不能滿足學(xué)生對計算機組成原理的認(rèn)知需要。近年來有不少高校開始探索使用現(xiàn)場可編程門陣列(FPGA)作為計算機組成原理課程的實驗平臺[5-6]。與傳統(tǒng)實驗設(shè)備相比,基于FPGA的組成原理實驗平臺具有可編程、直觀、學(xué)生動手程度高等優(yōu)點。然而,基于FPGA的實驗平臺存在對學(xué)生的軟硬件預(yù)備知識要求高、設(shè)備調(diào)試復(fù)雜、技術(shù)支持不到位等問題,高校對是否采用基于FPGA的實驗平臺存在爭議。

硬件實驗平臺對于計算機組成原理課程的教學(xué)效果具有重要意義,因此,如何選定合適的實驗平臺是計算機組成原理課程教學(xué)改革的重點和難點問題。為此,筆者基于龍芯開源CPU的教學(xué)實驗平臺[7],就計算機組成原理課程開展了一系列教學(xué)改革嘗試,并取得了較好的效果。

1 基于龍芯開源CPU的計算機組成原理實驗平臺

1.1 硬件平臺

實驗用到的龍芯實驗箱型號為LS-CPU-EXB-002,主要由以下部件組成:Spartan6-XC6SLX150-FGG676 FPGA芯片、雙色LED燈、單色LED燈、LED點陣、數(shù)碼管、下載JTAG接口、UART接口、VGA接口、LAN接口、USB接口、PS2接口、電源開關(guān)、撥碼開關(guān)、脈沖開關(guān)、4×4鍵盤、復(fù)位鍵、LCD顯示屏。實驗箱LS-CPU-EXB-002見圖1。

圖1 實驗箱LS-CPU-EXB-002

1.2 軟件平臺

實驗使用的EDA軟件為ISE Design Suite[8]。ISE Design Suite14.7涉及FPGA設(shè)計的各個應(yīng)用領(lǐng)域,包括邏輯開發(fā)、數(shù)字信號處理及嵌入式系統(tǒng)開發(fā)等,主要包括ISE Foundation、嵌入式開發(fā)套件、System Generator DSP開發(fā)工具、ChipScope Pro分析儀、PlanAhead設(shè)計和分析工具等組成部分。該軟件平臺的使用流程包括:①代碼編輯;②用PlanAhead配置管腳,生成bit流文件;③用ChipScope燒寫FPGA板,驗證功能是否正確;④根據(jù)結(jié)果對邏輯進(jìn)行優(yōu)化修改。

2 實驗設(shè)計

基于龍芯開源CPU的計算機組成原理實驗包含8個難度依次增加的實驗:①定點加法;②定點乘法;③寄存器堆實驗;④ALU模塊實現(xiàn);⑤存儲器實現(xiàn);⑥單周期CPU;⑦多周期CPU;⑧靜態(tài)五級流水CPU實現(xiàn)。實驗①及實驗②的目的在于讓學(xué)生熟悉軟件與硬件平臺,掌握利用龍芯實驗箱各項功能開發(fā)組成原理實驗的方法,并熟悉開發(fā)語言verilog。實驗③、④、⑤旨在讓學(xué)生熟悉CPU內(nèi)部構(gòu)造的設(shè)計,鞏固理論知識,為后續(xù)設(shè)計完整CPU打下基礎(chǔ)。最后3個實驗由淺入深,逐步引導(dǎo)學(xué)生編寫五級流水CPU。通過層層深入的教學(xué)模式,引導(dǎo)學(xué)生積極動手,從零開始設(shè)計并實現(xiàn)一個支持五級CPU流水線的真實處理器。

2.1 定點加法實驗

本實驗的主要目的是讓學(xué)生熟悉使用ISE軟件開發(fā)FPGA的流程,幫助學(xué)生鞏固電路設(shè)計方面的知識,引導(dǎo)學(xué)生學(xué)習(xí)verilog語言。實驗流程為:①邏輯設(shè)計,編寫代碼;②仿真驗證;③綜合布局布線;④用Chipscope下載到試驗板上進(jìn)行功能驗證。

2.2 定點乘法實驗

定點乘法實驗的目的為讓學(xué)生理解定點乘法中算法的工作原理,掌握實現(xiàn)較復(fù)雜算法的技巧。該實驗最終實現(xiàn)一個基本的迭代乘法算法,理解并正確實現(xiàn)該算法對后續(xù)實驗有極大的幫助。算法基本原理為:乘數(shù)每次右移一位,根據(jù)最低位,判斷是加被乘數(shù)移位后的值還是加零,不停地累加,直到得到最終乘積。原理圖如圖2所示。

圖2 迭代乘法算法原理圖

2.3 寄存器堆的實現(xiàn)

從實驗3開始,學(xué)生開始轉(zhuǎn)入CPU內(nèi)部基本結(jié)構(gòu)的實現(xiàn)。寄存器堆的實現(xiàn)旨在建立一個能存放32個32位寄存器的存儲設(shè)備。學(xué)生最終實現(xiàn)的存儲設(shè)備設(shè)置有2個讀端口、2個輸出端口、1個寫地址端口、1個寫數(shù)據(jù)端口;控制信號方面,存在1個寫使能信號,控制寄存器堆的輸入。在寄存器堆進(jìn)行工作時輸出標(biāo)志的寄存器中的值。

2.4 ALU模塊的實現(xiàn)

本實驗設(shè)計的ALU是一個簡單的能夠處理兩個32位操作數(shù)的算數(shù)模塊,具體支持加法、減法、有符號比較、無符號比較、按位與、按位或、按位或非、按位異或、邏輯左移、邏輯右移、算術(shù)右移和高位加載。該實驗?zāi)軌驇椭鷮W(xué)生對CPU核心部件ALU的工作原理有較深入的理解。

2.5 存儲器實現(xiàn)

存儲器實驗的主要目的是讓學(xué)生了解只讀存儲器ROM和隨機存取存儲器RAM的基本原理,理解同步RAM和異步RAM的區(qū)別。存儲器實驗的一種方式是調(diào)用Xilinx庫IP直接輸入?yún)?shù)使用,也可以自行設(shè)計存儲器,使用設(shè)計寄存器堆的設(shè)計方法,直接定義需要的32位寄存器,并且設(shè)計好端口。在教學(xué)實踐中,筆者鼓勵學(xué)生嘗試自行設(shè)計,從而加深學(xué)生對存儲器工作原理的認(rèn)識。

2.6 單周期CPU的實現(xiàn)

單周期CPU實驗中,一個CPU周期實現(xiàn)一條指令,故時鐘的設(shè)定應(yīng)為執(zhí)行時間最長的指令。該實驗要求學(xué)生設(shè)計一個支持16條MIPS指令的CPU。CPU具體流程為:在一個周期內(nèi),根據(jù)PC值從指令ROM中讀出相應(yīng)的指令,將指令譯碼后從寄存器堆中讀出需要的操作數(shù),送往ALU模塊,ALU模塊運算得到結(jié)果。但若是跳轉(zhuǎn)指令,則不需要存儲器設(shè)備,此時需要修改PC值。單周期CPU的大致框圖如圖3所示。

2.7 多周期CPU的實現(xiàn)

該實驗是對單周期CPU實驗的拔高,也為流水線CPU實驗打下基礎(chǔ)。該實驗要求學(xué)生實現(xiàn)30多條指令。該實驗的難點在于CPU需要支持多周期執(zhí)行,即一條指令被分為多個步驟,在每個周期內(nèi)只做一部分,如取指、譯碼、執(zhí)行、訪存、寫回。與單周期CPU相比,多周期CPU中每個部分使用單獨的模塊編寫,通過設(shè)計外圍模塊調(diào)用,而且只有前一個狀態(tài)結(jié)束時,才能進(jìn)行下一步操作,以此實現(xiàn)多周期操作。該實驗對學(xué)生的理論知識和實際動手能力有較高要求,且程序調(diào)試較復(fù)雜。為此,在教學(xué)實踐中,筆者將該實驗設(shè)置為可選,鼓勵學(xué)有余力的學(xué)生完成。

圖3 單周期CPU的大致框圖

2.8 靜態(tài)五級流水CPU的實現(xiàn)

最后一個實驗要求學(xué)生設(shè)計一個五級流水CPU。該CPU的主體部分使用2.7節(jié)完成的多周期CPU,但此處要求將指令拓展到40條以上,并在此前基礎(chǔ)上加入延時槽技術(shù)。此外,該實驗在每個模塊中加入allow_in信號和over信號,以此使該模塊不斷運作,從而實現(xiàn)流水線效果。該實驗使用了大量的控制信號來維持流水線的秩序,要求學(xué)生對CPU功能結(jié)構(gòu)有深入的了解,并能把各模塊聯(lián)系起來,最后還要通過仿真器分析設(shè)計結(jié)果,做出改進(jìn)。在教學(xué)實踐中,筆者將該實驗設(shè)置為可選,鼓勵學(xué)有余力的學(xué)生完成。

3 基于龍芯開源CPU的計算機組成原理實驗教改效果

近年來,龍芯公司通過硬件開源,以教學(xué)生“造”計算機為理念,通過將龍芯CPU面向合作院校進(jìn)行開源,力圖使學(xué)生能夠動手實現(xiàn)“設(shè)計真實處理器”,提升計算機組成原理教學(xué)水平。筆者所在南京郵電大學(xué)通過引入基于龍芯開源CPU的教學(xué)實驗平臺,就計算機組成原理開展一系列教學(xué)改革嘗試。在實驗過程中,通過指導(dǎo)學(xué)生動手實踐,從零開始逐步完成一個可真實運行的CPU核心,激發(fā)了學(xué)生的學(xué)習(xí)主動性,鞏固了學(xué)生的課堂知識,使學(xué)生對所學(xué)知識融會貫通,取得了較好的教學(xué)成果。基于龍芯開源CPU的計算機組成原理實驗平臺已在南京郵電大學(xué)的2014、2015級計算機專業(yè)本科生中試用,在教學(xué)過程中取得了較好的教學(xué)效果。

3.1 教改成效

教學(xué)過程中采用的教材為白中英編寫的《計算機組成原理》。在課堂教學(xué)過程中,筆者發(fā)現(xiàn)學(xué)生對ALU、流水線技術(shù)、總線系統(tǒng)等知識缺乏直觀認(rèn)識,例如:①對小于置位運算的原理不清晰,不熟悉ALU的內(nèi)部構(gòu)造;②對CPU控制部件工作原理難以理解;③對總線的內(nèi)部結(jié)構(gòu)不明確。通過在龍芯實驗平臺上進(jìn)行相關(guān)實驗,學(xué)生逐漸熟悉了ALU的內(nèi)部結(jié)構(gòu),掌握了32位無符號比較小于置位運算,對指令譯碼和流水線停頓等概念有了更深入的理解。經(jīng)過一個學(xué)期的實踐,學(xué)生對新實驗平臺的反映較好。

此外,龍芯具有較好的社會影響力,配套培訓(xùn)較多,學(xué)生學(xué)習(xí)熱情高。例如,2017年6月,龍芯公司在南京航空航天大學(xué)進(jìn)行了全國大學(xué)生計算機系統(tǒng)能力培養(yǎng)大賽的相關(guān)培訓(xùn)[8],在培訓(xùn)過程中,龍芯開發(fā)人員介紹了龍芯開源CPU的設(shè)計流程,對實驗箱進(jìn)行了演示,詳細(xì)介紹了所用的MIPS指令集,極大地提高了學(xué)生對于計算機整體系統(tǒng)的認(rèn)識。

3.2 存在的問題和思考

在采用龍芯實驗平臺的過程中,筆者也發(fā)現(xiàn)了一些問題,例如:

(1)該實驗平臺采用了FPGA,但FPGA對于本科學(xué)生來說門檻較高,要求學(xué)生具有一定的基礎(chǔ)知識,例如:計算機組成原理、數(shù)字電路與系統(tǒng)設(shè)計、操作系統(tǒng)等。此外,學(xué)生此前并未接觸過編程語言verilog。針對該問題,筆者有選擇地給學(xué)生介紹了《Xilinx FPGA開發(fā)實用教程》等書籍中的部分內(nèi)容,較好地解決了該問題。因此,筆者認(rèn)為在采用該平臺的過程中,應(yīng)有計劃地安排學(xué)生提前選修數(shù)字電路、FPGA開發(fā)等先導(dǎo)課程。

(2)使用龍芯實驗平臺調(diào)試代碼的過程中涉及邏輯和語法兩方面的內(nèi)容,過程復(fù)雜,而學(xué)校的實驗課通常安排得較短、較分散,學(xué)生難以在課上解決所有問題。例如部分學(xué)生在完成五級流水CPU實驗的過程中,由于缺乏對延遲槽的理解,導(dǎo)致MIPS二進(jìn)制執(zhí)行文件不能在CPU中正確運行,而這一問題的解決往往需要較長時間。因此,在采用該平臺的過程中,應(yīng)考慮協(xié)調(diào)教務(wù)部門,將課程的實驗課集中安排,以實踐周的方式進(jìn)行更有利于學(xué)生集中時間完成實驗。

4 結(jié) 語

基于龍芯開源CPU的計算機組成原理實驗平臺在南京郵電大學(xué)計算機科學(xué)與技術(shù)專業(yè)2014級、2015級進(jìn)行了推廣,極大地調(diào)動了學(xué)生的學(xué)習(xí)積極性,取得了較好的教學(xué)效果。在實驗過程中,通過動手實踐,學(xué)生往往能夠發(fā)現(xiàn)一些新的問題和意想不到的困難,通過克服困難尋求解決方案,學(xué)生的動手能力得到較明顯的提升。此外,在今后的教學(xué)實踐中筆者還會進(jìn)行一些優(yōu)化和調(diào)整,例如結(jié)合操作系統(tǒng)、數(shù)字電路等課設(shè)的實驗課程,形成更全面、更系統(tǒng)的實驗組合,以便更加全面地覆蓋計算機系統(tǒng)學(xué)科的理論知識。

[1]Patterson D A, Hennessy J L. Computer organization and design: The hardware/software interface[M]. 北京: 機械工業(yè)出版社,2014: 1-23.

[2]白中英, 戴志濤. 計算機組成原理[M]. 5版. 北京: 科學(xué)出版社, 2013: 1-30.

[3]丁紅勝. 面向計算機系統(tǒng)能力培養(yǎng)的計算機組成原理實驗教學(xué)[J]. 計算機教育, 2016(7): 20-24.

[4]李麗萍, 盛琳陽. 基于EDA技術(shù)的計算機組成原理實驗課開放性教學(xué)模式研究[J]. 計算機教育, 2010(10): 55-57.

[5]周寧寧, 程春玲. 基于FPGA技術(shù)的計算機組成原理實驗系統(tǒng)[J]. 現(xiàn)代電子技術(shù), 2005(1): 23-25.

[6]吳迪, 謝雪炎, 吳賀俊. 基于FPGA的計算機組成原理實驗教學(xué)探索[J]. 計算機教育, 2014(18): 30-34.

[7]中科龍芯. 龍芯開源CPU項目[EB/OL]. [2017-11-15]. http://www.loongnix.org/index.php.

[8]中科龍芯. 全國并行應(yīng)用挑戰(zhàn)賽[EB/OL]. [2017-11-15]. http://www.pac-hpc.com/.

猜你喜歡
指令計算機實驗
聽我指令:大催眠術(shù)
記一次有趣的實驗
計算機操作系統(tǒng)
基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
做個怪怪長實驗
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
信息系統(tǒng)審計中計算機審計的應(yīng)用
NO與NO2相互轉(zhuǎn)化實驗的改進(jìn)
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 欧美福利在线观看| 国产精品刺激对白在线| 国产H片无码不卡在线视频| 亚洲综合日韩精品| 真人免费一级毛片一区二区| 欧美 亚洲 日韩 国产| 国产网站免费看| 亚洲中文久久精品无玛| 这里只有精品免费视频| 久久精品人人做人人综合试看| 成人福利在线视频免费观看| 操操操综合网| 国产精品免费p区| 天天色综合4| 一本久道久久综合多人| 91精品啪在线观看国产91九色| 日本一区高清| 国产日本视频91| 九一九色国产| 欧美综合区自拍亚洲综合绿色 | 亚洲精品无码日韩国产不卡| 欧美啪啪精品| 亚洲福利网址| 午夜一区二区三区| 国产亚洲高清在线精品99| 88av在线| 免费在线色| 国产美女91视频| 国产欧美日韩在线一区| 五月天久久婷婷| 久久免费视频播放| 亚洲性一区| 99国产精品免费观看视频| 四虎永久免费地址| 亚洲国产午夜精华无码福利| 伊人91在线| 熟女日韩精品2区| 伊人丁香五月天久久综合| 日本AⅤ精品一区二区三区日| 精品视频福利| 四虎精品国产AV二区| 久久精品国产在热久久2019| 91精品啪在线观看国产60岁| 国产精品久久久久无码网站| 午夜爽爽视频| 性激烈欧美三级在线播放| 亚洲美女一级毛片| 99精品在线看| 亚洲人成电影在线播放| 国产精品夜夜嗨视频免费视频| 国产视频一二三区| 91精品国产一区| 亚洲一区二区精品无码久久久| 另类重口100页在线播放| 色婷婷天天综合在线| 免费A∨中文乱码专区| 精品亚洲国产成人AV| 精品无码国产自产野外拍在线| 国产va视频| 亚洲成人黄色网址| 国产91小视频| 亚洲国产中文在线二区三区免| 亚洲天堂免费| 亚洲中文无码av永久伊人| 都市激情亚洲综合久久| 在线观看国产精品日本不卡网| 久久久久亚洲Av片无码观看| 国产资源免费观看| 波多野结衣二区| 亚洲无线观看| 无码综合天天久久综合网| 国产黄网永久免费| 2021国产v亚洲v天堂无码| 第一区免费在线观看| 乱人伦99久久| 99在线观看视频免费| 丰满少妇αⅴ无码区| 日本人真淫视频一区二区三区| 亚洲性影院| 亚洲国产一区在线观看| 国产成人精品一区二区三区| 久久精品国产电影|