設(shè)計(jì)是基于MIPS指令集的單周期,多周期,流水線CPU。最終實(shí)現(xiàn)也是在FPGA板上跑了一個(gè)小程序,開發(fā)版使用的是basys3.基礎(chǔ)指令集等在此就不在為大家細(xì)說了,他人的博客已經(jīng)講述的很清晰了。代碼和數(shù)據(jù)通路均已上傳至CSDN下載頻道,大家可以自行下載。我們這里先講CPU究竟是如何進(jìn)行操作的。
CPU再進(jìn)行一次操作的時(shí)候?qū)嶋H上就是在指令存儲(chǔ)器中讀出一條指令,在取出這條指令之后,將他的前6為拆分出來,進(jìn)行判別他是哪種指令。根據(jù)前六位操作碼的分類來控制數(shù)據(jù)通路中的不同部件的使能來控制數(shù)據(jù)的流向。
R型指令就是選擇將Rs和Rt作為地址訪問寄存器堆,讀出其中數(shù)據(jù)輸入至ALU的數(shù)據(jù)讀口,由func來確定ALU的運(yùn)算的類型,計(jì)算結(jié)束之后再將輸出的數(shù)據(jù)寫會(huì)到寄存器堆的Rw地址對(duì)應(yīng)的存儲(chǔ)單元。
I型指令的基礎(chǔ)指令和R型的基本形似,只不過將數(shù)據(jù)busB改換為立即數(shù)進(jìn)行零擴(kuò)展后的數(shù)據(jù)操作,寫回至Rt中。I型指令的非常重要的三條指令為load(加載),store(存儲(chǔ)),beq(分支跳轉(zhuǎn))。load,store指令將Rs和立即數(shù)符號(hào)擴(kuò)展后相加作為內(nèi)存單元地址,load指令是將內(nèi)存單元內(nèi)容送至Rt,store是將Rt中的值送至內(nèi)存單元。beq指令是將rshert之中的數(shù)據(jù)進(jìn)行比較,相等則跳轉(zhuǎn)到立即數(shù)和當(dāng)前指令所處位置和1三者相加的位置。
三種指令如何操作了解了,下面設(shè)計(jì)就會(huì)很簡單,根據(jù)不同的指令的不同數(shù)據(jù)通路,讓主控單元輸出不同控制數(shù)據(jù)正常流入下一級(jí)。
講的比較簡略,如有不理解的歡迎提問或者留言。
-
FPGA
+關(guān)注
關(guān)注
1660文章
22411瀏覽量
636273
發(fā)布評(píng)論請(qǐng)先 登錄
周期抖動(dòng)2μs!RK3576的IgH EtherCAT工業(yè)級(jí)主站方案很厲害
最小化ARM Cortex-M CPU功耗的方法與技巧分享
單周期飛秒激光產(chǎn)生與表征研究取得進(jìn)展
時(shí)鐘周期和指令周期的區(qū)別是什么
時(shí)鐘周期、機(jī)器周期、指令周期介紹
FCC認(rèn)證周期一般多久?
FCC認(rèn)證周期一般多久
基4-Booth單周期乘法器的具體設(shè)計(jì)
我國科研人員在單周期飛秒激光產(chǎn)生與表征領(lǐng)域取得進(jìn)展
功率分析儀的校準(zhǔn)周期一般是多久?
電能質(zhì)量在線監(jiān)測(cè)裝置的數(shù)據(jù)驗(yàn)證周期一般是多久?
探索CPU架構(gòu)的奧秘,揭秘高性能計(jì)算的隱形引擎
季豐精密機(jī)械成功完成三溫工程Kit自制
自制CPU(一)單周期
評(píng)論