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

基于FPGA的模型計算機設(shè)計與實現(xiàn)

2017-09-28 16:27:13楊銳翟社平焦繼業(yè)
計算機教育 2017年9期

楊銳++翟社平++焦繼業(yè)

摘 要:結(jié)合計算機系統(tǒng)能力培養(yǎng)目標,以設(shè)計一個基于FPGA的模型計算機作為計算機組成原理課程設(shè)計樣例,說明模型機的組織結(jié)構(gòu),給出指令系統(tǒng)和構(gòu)成部件的設(shè)計與實現(xiàn),展示功能仿真測試。

關(guān)鍵詞:模型機;計算機組成原理;FPGA

0 引 言

計算機組成原理課程是計算機專業(yè)的一門重要專業(yè)基礎(chǔ)課,在培養(yǎng)學生計算機系統(tǒng)能力的過程中起著承上啟下的重要作用[1]。通過課程理論學習,學生理解計算機內(nèi)部各功能部件的組成、設(shè)計方法及邏輯實現(xiàn),建立計算機系統(tǒng)層次結(jié)構(gòu)的概念。課程實驗使學生進一步掌握計算機硬件系統(tǒng)分析設(shè)計方法,有助于學生深入理解課程的內(nèi)容,對于培養(yǎng)學生的系統(tǒng)設(shè)計能力、工程應用能力和創(chuàng)新能力具有重要的意義。

傳統(tǒng)的基于專用實驗箱的實踐教學模式無法滿足系統(tǒng)能力的培養(yǎng)要求[2-3]。在計算機組成原理實踐教學中,可以采用基于FPGA的EDA方式進行模型計算機的設(shè)計與實踐,有效解決傳統(tǒng)實踐模式中實驗效率低、實驗內(nèi)容驗證多設(shè)計少、不利于學生構(gòu)建整機概念等問題,培養(yǎng)學生分析設(shè)計能力,滿足系統(tǒng)能力培養(yǎng)要求。筆者結(jié)合計算機組成原理基本理論,采用VerilogHDL完成一個功能較完整的片上模型計算機系統(tǒng)設(shè)計實例,包括ALU、微程序控制器、時序產(chǎn)生電路、存儲器、指令系統(tǒng)等的設(shè)計。功能仿真正確,并在Vavido中完成綜合并下板,對于學生實現(xiàn)基于FPGA的模型機設(shè)計具有很好的指導意義。通過在FPGA平臺上設(shè)計完成一個具有CPU、存儲器、端口并能執(zhí)行一個指令系統(tǒng)的模型機,有助于學生計算機系統(tǒng)能力的培養(yǎng)。

1 模型機架構(gòu)分析

該模型機包括運算器、控制器、程序存儲器、數(shù)據(jù)寄存器、微程序存儲器和輸入輸出端口組成 ,模型機數(shù)據(jù)通路見圖1。

模型機采用學生熟悉的74181作為算術(shù)邏輯運算單元,運算操作數(shù)均為4bit數(shù)據(jù)。一個操作數(shù)來源于累加器,另一個操作數(shù)通過4位數(shù)據(jù)總線從內(nèi)存、寄存器和輸入端口發(fā)送給ALU。地址總線為8位。數(shù)據(jù)通路中包含累加器、16個通用寄存器、4個輸入輸出端口。模型機采用8位程序計數(shù)器、微程序解釋的方法執(zhí)行指令,指令存儲器為256字節(jié),控制存儲器為1K位。指令系統(tǒng)有16條8位的機器指令,包括數(shù)據(jù)傳送指令、算術(shù)邏輯運算指令、比較和跳轉(zhuǎn)指令。此模型機為實驗教學引入,用VerilogHDL語言設(shè)計實現(xiàn)。

2 模型機設(shè)計

2.1 模型機指令系統(tǒng)設(shè)計

模型機的指令由高4位操作碼和低4位地址碼構(gòu)成,1條指令字長為1個字節(jié)。由于操作碼為4位,指令集里一共有16條指令,表1為模型機指令集。

指令集包括算術(shù)邏輯運算指令、比較和跳轉(zhuǎn)指令和數(shù)據(jù)傳輸指令。

指令#4、#5、#6、#7、#8、#9為算術(shù)邏輯運算指令。運算器的設(shè)計采用74181作為算術(shù)邏輯運算部件。為了讓模型機可以完成74181支持的32種算術(shù)邏輯運算,首先通過指令#4設(shè)置“S3—S0”的值并存入alu-func寄存器,再通過指令#5或指令#6完成算術(shù)運算,指令#7或指令#8完成邏輯運算。相同類型運算區(qū)別在于第2操作數(shù)是來自立即數(shù)還是寄存器。指令#9完成對CF的置位或復位。

指令#1、#2、#3、#E、#F為數(shù)據(jù)傳輸指令,數(shù)據(jù)的傳送都經(jīng)過累加器。指令#1將4位立即數(shù)操作數(shù)從程序存儲器送到累加器。累加器和寄存器之間的數(shù)據(jù)傳輸由指令#2和指令#3實現(xiàn)。指令#E和指令#F實現(xiàn)累加器和4個輸入輸出端口的數(shù)據(jù)傳輸。

指令#0、#C、#D實現(xiàn)無條件跳轉(zhuǎn)和條件跳轉(zhuǎn)。條件跳轉(zhuǎn)之前需要執(zhí)行比較指令#A和#B,算術(shù)邏輯部件74181完成累加器和立即數(shù)或者寄存器的比較,并設(shè)置ZF、CF標志位。通過把跳轉(zhuǎn)指令中給出4位立即數(shù)作為目標地址的高4位,累加器中的數(shù)作為目標地址的低4位,組合成8位的絕對地址從而尋址到整個256字節(jié)的程序空間。

2.2 微指令設(shè)計

指令操作碼字段決定控制存儲器的微指令入口地址,每條機器指令的執(zhí)行都是通過執(zhí)行控制存儲器中的4個微指令序列來完成。由于每個時鐘周期完成1條微指令,1條機器指令的執(zhí)行需要4個時鐘周期。定義微指令字長為16位,從高位到低位依次為F15—F0,表2顯示了對應信號的含義。

每個機器指令對應4個微指令序列,相應的控制存儲器存儲64條微指令,表3為控存中微指令真值表。

2.3 模型機硬件系統(tǒng)設(shè)計

模型機由運算器、程序計數(shù)器、程序存儲器、微程序控制器、輸入輸出端口等部分構(gòu)成,采用Verilog HDL語言實現(xiàn)模型機各功能模塊設(shè)計。

(1)程序存儲器u_prog_memory容量為256字節(jié),存儲機器指令,最多可以存儲256條8位指令。

(2)程序計數(shù)器u_prog_counter模塊實現(xiàn)8位程序指針pc,指明下一條指令的地址。順序執(zhí)行指令,pc每次自加;若為跳轉(zhuǎn)指令,pc修改為要跳轉(zhuǎn)的絕對地址。該模塊也提供2位微地址指針。

(3)指令的執(zhí)行是通過微指令解釋實現(xiàn)的:4位指令操作碼和2位微程序指針被送入控制存儲器u_control_memory,控制存儲器的輸出為16位。每條機器指令對應4條微指令,根據(jù)操作碼和微指針,每個時鐘周期微程序存儲器都有1個16位的輸出F15—F10,輸出的值與表3中對應單元的編碼一致。

(4)運算器包含算術(shù)邏輯運算模塊u_alu_74181、累加器u_acc、數(shù)據(jù)寄存器u_reg、標志寄存器u_alu_flag和181功能選擇寄存器u_alu_func。模塊u_alu_74181實現(xiàn)74181的32個算術(shù)邏輯運算功能[4],模塊u_alu_func存儲指令#4給出的功能選擇編號并提供給u_alu_74181[s3:0]。操作數(shù)A來源于累加器u_acc,另一個操作數(shù)B來源于立即數(shù)u_prog_memory[inst3:0],或者數(shù)據(jù)寄存器u_reg,或者輸入輸出端口u_port。運算結(jié)果影響標志位,存儲在標志寄存器u_alu_flag中。模型機設(shè)計實現(xiàn)16個通用寄存器,4個輸入輸出端口。endprint

(5)頂層exe_model中將以上9個模塊實例化并連接用來構(gòu)成完整模型機。exe_model定義的clk為外部輸入的時鐘,res為外部輸入的復位信號,port為連接外設(shè)的雙向數(shù)據(jù)線。圖2為最終的完整模型機設(shè)計圖。

3 模型機功能測試

設(shè)計好各模塊后,對模型機進行功能仿真測試。在完成每條指令的功能測試后,用模型機指令設(shè)計程序,圖3的程序?qū)崿F(xiàn)先將R1賦初值0,再循環(huán)自減。

在模塊u_prog_memory中通過系統(tǒng)任務 “$readmemh("./code.txt",mem);”將程序存入模型機程序存儲器中。圖4為在Debussy下通過調(diào)用Modelsim生成的波形圖。從圖4中可以看出,模型機運行正確。

進一步優(yōu)化程序,將R1遞減的值以1秒頻率在數(shù)碼管顯示。首先在Vivado里綜合仿真過的Verilog文件。此時微程序存儲器模塊和程序存儲器模塊均在Vivado下通過ip核實例化實現(xiàn),初值通過對應的coe文件進行初始化。經(jīng)過綜合、布局布線、管腳映射等步驟后,將生成的exe_model.bit下載到Spartan開發(fā)板進行電路驗證。數(shù)碼管循環(huán)依次顯示F—0,見圖5[5-7]。

4 結(jié) 語

模型機的設(shè)計開展隨著理論教學同步進行。結(jié)合課程教學采用的教材[8],計算方法和運算器學習結(jié)束后完成74181模塊設(shè)計和仿真;存儲器學習結(jié)束后完成指令存儲器、控制存儲器模塊的描述和仿真;指令系統(tǒng)和處理器學習結(jié)束后學生理解模型機數(shù)據(jù)通路,進行指令系統(tǒng)和微指令分析設(shè)計,并完成累加器、標志寄存器等模塊設(shè)計;在學期末組成原理課程設(shè)計的集中實踐時間里進行頂層電路設(shè)計,實例化各功能模塊并連接,完成模型機功能仿真然后下板進行電路測試。

從實施效果來看,通過EDA在FPGA平臺上完成模型計算機設(shè)計,學生不僅建立了整機概念,具備了基本的系統(tǒng)分析設(shè)計能力,更激發(fā)了學習熱情和創(chuàng)新能力,培養(yǎng)了計算機系統(tǒng)分析設(shè)計能力。目前的模型機不支持堆棧和子程序調(diào)用等功能,后續(xù)可以考慮提升課程設(shè)計的復雜度,擴大指令規(guī)模,引入具有中斷、Cache等工作機制的模型機設(shè)計,充分激發(fā)學生的能動性和創(chuàng)造性,進一步加強學生系統(tǒng)設(shè)計能力的培養(yǎng)。

參考文獻:

[1] 袁春風, 楊若瑜, 王帥, 等. 計算機組成與其他課程之間的關(guān)聯(lián)內(nèi)容分析[J]. 計算機教育, 2015(17): 35-38, 87.

[2] 譚志虎, 胡迪青, 秦磊華. 計算機組成原理課程設(shè)計的改革[J]. 電氣電子教學學報, 2016(6): 110-112.

[3] 袁春風, 張澤生, 蔡曉燕, 等. 計算機組成原理課程實踐教學探索[J]. 計算機教育, 2011(17): 110-114.

[4] 潘松, 潘明. 現(xiàn)代計算機組成原理[M]. 北京: 科學出版社, 2007.

[5] 張勝, 胡建明, 蔡虹. 基于FPGA技術(shù)的8位模型機設(shè)計與實現(xiàn)[J]. 南昌航空大學學報(自然科學版), 2010(3): 21-26.

[6] 徐愛萍, 張玉萍, 涂國慶. 基于VHDL 之CPU 設(shè)計與實踐[J]. 實驗室研究與探索, 2014(5): 120-124.

[7] 肖鐵軍, 劉芳. 基于FPGA的“計算機組成原理”模型機設(shè)計[J]. 電氣電子教學學報, 2009(4): 81-82, 85.

[8] 白中英, 戴志濤. 計算機組成原理[M]. 北京: 科學出版社, 2015.

(編輯:孫怡銘)endprint

主站蜘蛛池模板: AV天堂资源福利在线观看| 99国产精品免费观看视频| 国产靠逼视频| 强奷白丝美女在线观看| 波多野结衣一区二区三区AV| 欧美一级在线看| 久久婷婷五月综合97色| 国产超薄肉色丝袜网站| 亚洲精品午夜无码电影网| 国产成年女人特黄特色毛片免 | 国产一区二区人大臿蕉香蕉| 又爽又大又黄a级毛片在线视频| 波多野结衣久久高清免费| 中文字幕 91| 日韩A∨精品日韩精品无码| 亚洲Aⅴ无码专区在线观看q| 91九色国产porny| 色丁丁毛片在线观看| 成年人福利视频| 国精品91人妻无码一区二区三区| 久久国产精品波多野结衣| 欧美日韩午夜视频在线观看| 日韩欧美中文| 免费国产不卡午夜福在线观看| 一本久道热中字伊人| 欧美高清国产| 老司机久久99久久精品播放| 亚洲无码免费黄色网址| 免费在线不卡视频| 亚洲午夜综合网| 国产亚洲第一页| 激情无码视频在线看| 国产成人综合网在线观看| 日韩中文字幕亚洲无线码| 免费一看一级毛片| 亚洲日韩精品无码专区97| 4虎影视国产在线观看精品| 97超级碰碰碰碰精品| 欧美国产日韩另类| 国产成人亚洲无码淙合青草| 亚洲视频在线青青| 国内精品伊人久久久久7777人 | 97人妻精品专区久久久久| 毛片免费在线| 国产一区二区网站| 免费一级无码在线网站| 波多野结衣第一页| 精品人妻系列无码专区久久| 制服丝袜在线视频香蕉| a级毛片免费播放| 日本人妻丰满熟妇区| 国产精品成人AⅤ在线一二三四| 91在线播放国产| 亚洲国产成人精品一二区| 国产精品亚洲精品爽爽| 亚洲色精品国产一区二区三区| 一区二区三区国产精品视频| 美女无遮挡免费网站| 日韩无码白| 成年人午夜免费视频| 国产区在线看| 日韩成人在线网站| 91小视频在线| 中文字幕丝袜一区二区| 在线免费无码视频| 国产精品部在线观看| 久久精品人妻中文系列| 久久久久无码精品国产免费| 亚洲日韩精品伊甸| 无码国产伊人| 天天做天天爱天天爽综合区| 欧美亚洲欧美| 在线看片免费人成视久网下载| 一本久道久久综合多人| 青草91视频免费观看| 一本大道东京热无码av| 毛片网站观看| 日韩在线欧美在线| 国产中文在线亚洲精品官网| 欧美三级不卡在线观看视频| 国产另类乱子伦精品免费女| 毛片在线看网站|