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在线| 亚洲成在人线av品善网好看| 五月天综合婷婷| 久久久久九九精品影院| 中文纯内无码H| 精品一区二区无码av| 国产人成在线观看| 欧美精品三级在线| 51国产偷自视频区视频手机观看| 丁香五月婷婷激情基地| 成人精品视频一区二区在线| 久久a级片| 狠狠五月天中文字幕| 久久国产精品国产自线拍| 香蕉在线视频网站| 五月天香蕉视频国产亚| 欧美日韩国产高清一区二区三区| 国产成人精品一区二区| 老司机午夜精品视频你懂的| 伊人婷婷色香五月综合缴缴情| 尤物在线观看乱码| 韩国福利一区| 综合色亚洲| 亚洲日本一本dvd高清| 色婷婷狠狠干| 国产乱人激情H在线观看| 婷婷综合亚洲| 国产精品视频久| 天天综合色网| 人妻中文久热无码丝袜| 精品91视频| 国产一级α片| 999精品免费视频| 欧美精品成人一区二区视频一| 国产精品一区在线麻豆| 中文精品久久久久国产网址| 国产男人天堂| 国产精品分类视频分类一区| 99热国产这里只有精品无卡顿"| 国产成本人片免费a∨短片| 欧美一级高清免费a| 亚洲AV成人一区二区三区AV| 青草视频久久| 波多野结衣一区二区三区四区 | 欧美特黄一免在线观看| 国产精品女熟高潮视频| 久久婷婷综合色一区二区| 欧美午夜视频| 91精品视频在线播放| 欧美区日韩区| 在线观看欧美精品二区| 性网站在线观看| 欧美第一页在线| 免费观看成人久久网免费观看| 亚洲国产亚洲综合在线尤物| 99久久国产综合精品2020| 区国产精品搜索视频| 亚洲国产中文综合专区在| 国产成人高清精品免费5388| 一本色道久久88| 2022国产无码在线| 欧美国产日韩在线观看| 无码精品福利一区二区三区| 日本三级欧美三级| 欧洲亚洲一区| 日韩欧美一区在线观看| 欧美亚洲国产精品久久蜜芽| 毛片网站在线看| 秘书高跟黑色丝袜国产91在线| 国产视频一区二区在线观看| 99久久99视频| 国产午夜不卡| 幺女国产一级毛片| www.精品国产| 少妇精品久久久一区二区三区| 日韩乱码免费一区二区三区| 亚洲天堂视频在线观看免费|