中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

RISC-V單周期處理器設(shè)計(jì)(基本介紹和數(shù)據(jù)通路)(一)-創(chuàng)新互聯(lián)

一、設(shè)計(jì)步驟

1.處理器設(shè)計(jì)的基本規(guī)范:指令

目前成都創(chuàng)新互聯(lián)公司已為超過(guò)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、和平網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

包括處理器需要具有那些功能,需要注意的是處理器的功能是由指令唯一確定。

2.處理器設(shè)計(jì)方案(包括數(shù)據(jù)通路和控制器)

數(shù)據(jù)通路:指令執(zhí)行過(guò)程中,數(shù)據(jù)所經(jīng)過(guò)的路徑,包括路徑中的部件。它是指令的執(zhí)行部件。

控制器:對(duì)指令進(jìn)行編碼,生成指令對(duì)應(yīng)的控制信號(hào),控制數(shù)據(jù)通路的動(dòng)作。并且能對(duì)執(zhí)行部件發(fā)出控制信號(hào)。是指令的控制部件。

二、常見(jiàn)類型指令的數(shù)據(jù)通路

每種指令的介紹可以參考我上一篇博客關(guān)于RISC-V指令集介紹

這里的數(shù)據(jù)通路包括:R型,I型,S型,B型,J型指令

1.R型數(shù)據(jù)通路

首先了解個(gè)個(gè)部件:

PC:程序計(jì)數(shù)器,單周期就是就是每個(gè)周期執(zhí)行一條指令,每條指令執(zhí)行完 PC+4(32位)到下一條指令

IM:指令存儲(chǔ)器,我們寫(xiě)的一條條指令就放在指令存儲(chǔ)器中,通過(guò)PC來(lái)判斷取到了那一條指令。

RF:寄存器堆,R型指令包括三個(gè)寄存器 RS1,RS2,Rd。

ALU:運(yùn)算單元,輸入兩個(gè)寄存器中的數(shù)據(jù),通過(guò)ALU運(yùn)算,將計(jì)算結(jié)果寫(xiě)回到Rd中。

R型指令:寄存器對(duì)寄存器操作。數(shù)據(jù)通路運(yùn)行如下:通過(guò)clk控制pc從IM中取指令,指令送入寄存器堆(RF)中,從寄存器堆(RF)中取出數(shù)據(jù)送入運(yùn)算單元(ALU)進(jìn)行運(yùn)算,運(yùn)算結(jié)果重新存儲(chǔ)到寄存器堆(RF)中。


I型數(shù)據(jù)通路

需要注意:我們是要設(shè)計(jì)一個(gè)支持多種指令的數(shù)據(jù)通路,因此I型不要有新的數(shù)據(jù)通路,而是要在R型指令的基礎(chǔ)上有一點(diǎn)小的改變實(shí)現(xiàn)。

首先講解I型指令:立即數(shù)與寄存器操作,或者訪問(wèn)存儲(chǔ)器操作。兩者的區(qū)別在于訪存類指令是把存儲(chǔ)器中的值寫(xiě)回寄存器堆,而其他類型I型指令是把ALU運(yùn)算結(jié)果寫(xiě)回到寄存器堆。

添加的部件

1.存儲(chǔ)器模塊(DM):通過(guò)ALU計(jì)算出訪存地址,從存儲(chǔ)器中去除數(shù)據(jù)放入寄存器堆中。

2.立即數(shù)生成模塊(EXT):從數(shù)據(jù)通路中提取出立即數(shù)。注意不同類型的指令立即數(shù)存儲(chǔ)格式不太一樣,這個(gè)在我指令集那一篇博客中有講解。

2.選擇器:兩個(gè)選擇器,一個(gè)是送入ALU中數(shù)據(jù)的選擇器,第二個(gè)是DM和ALU計(jì)算結(jié)果的選擇。

I型指令:立即數(shù)與寄存器堆操作。數(shù)據(jù)通路如下:通過(guò)clk控制pc從IM中取指令,指令送入寄存器堆(RF)和立即數(shù)生成單元(EXT)中,從寄存器堆(RF)中取出數(shù)據(jù)與立即數(shù)生成單元(EXT)數(shù)據(jù)共同進(jìn)入運(yùn)算單元(ALU)進(jìn)行運(yùn)算,運(yùn)算結(jié)果通過(guò)選擇器直接(或者訪存,將內(nèi)存中數(shù)據(jù))寫(xiě)回寄存器堆。


S型指令數(shù)據(jù)通路

解釋:S型指令與訪存類指令其實(shí)是一個(gè)相反的過(guò)程,S型指令是把ALU結(jié)果存儲(chǔ)的存儲(chǔ)器(DM)中去(S型指令不需要寫(xiě)會(huì)寄存器堆,也不需要增加其他模塊)。

S型指令:將rs2寄存器中的值存儲(chǔ)到rs1寄存器偏移立即數(shù)位地址中去。數(shù)據(jù)通路如下:通過(guò)clk控制pc從IM中取指令,指令送入寄存器堆(RF)和立即數(shù)生成單元(EXT)中,從寄存器堆(RF)中取出數(shù)據(jù)與立即數(shù)生成單元(EXT)數(shù)據(jù)共同進(jìn)入運(yùn)算單元(ALU)進(jìn)行運(yùn)算,運(yùn)算結(jié)果作為寫(xiě)入DM的地址,而寫(xiě)入地址中的值是另一個(gè)寄存器中的值,具體可以觀察上圖數(shù)據(jù)通路。


B型數(shù)據(jù)通路

B型指令主要是條件跳轉(zhuǎn),滿足條件要經(jīng)行跳轉(zhuǎn),這里跳轉(zhuǎn)實(shí)際上是PC指針的跳轉(zhuǎn)(可以想象C語(yǔ)言函數(shù)的調(diào)用),因此需要比較是否滿足條件,還有PC=(PC+立即數(shù))或者(PC+4)。

添加的部件

CMP:比較部件,比較兩個(gè)寄存器中的值是否相等,是否滿足跳轉(zhuǎn)的條件。

兩個(gè)選擇器:一個(gè)是判斷PC=(PC+立即數(shù))還是(PC+4)。另一個(gè)是判斷送入A(RS1寄存器中的值)還是PC的值進(jìn)入ALU。

B型指令:判斷兩個(gè)寄存器值關(guān)系(大于,小于,或者相等),滿足對(duì)應(yīng)指令條件,PC跳轉(zhuǎn)。數(shù)據(jù)通路:通過(guò)clk控制pc從IM中取指令,指令送入寄存器堆(RF)和立即數(shù)生成單元(EXT)中,判斷兩個(gè)寄存器中數(shù)據(jù)的關(guān)系,滿足條件PC跳轉(zhuǎn)到PC+立即數(shù)位置去,不滿足條件則不跳轉(zhuǎn)。


J型數(shù)據(jù)通路

只增加了藍(lán)色的那一條線

這里很好理解,J型與B型的區(qū)別在于,B型是有條件跳轉(zhuǎn),而J型則是無(wú)條件跳轉(zhuǎn),同時(shí)J型需要把PC+4存儲(chǔ)到寄存器堆中。

J型指令:將pc+4存儲(chǔ)到rd寄存器中,同時(shí)pc跳轉(zhuǎn)到pc+立即數(shù)位置去。數(shù)據(jù)通路不在解釋,與上面類似。

改進(jìn):這幾天思考我向pc+4和pc+立即數(shù)這樣的操作其實(shí)沒(méi)必要使用ALU來(lái)完成,不如直接使用一個(gè)加法器實(shí)現(xiàn),因此對(duì)上面的數(shù)據(jù)通路做了一個(gè)小的改變(主要是寫(xiě)代碼的是否變了)

總結(jié)

上文中主要講解了,RISC-V的數(shù)據(jù)通路基本部分,但是我們發(fā)現(xiàn)上面有很多的選擇器,而每個(gè)選擇器其實(shí)都要有對(duì)應(yīng)的控制信號(hào),那這些控制信號(hào)怎么產(chǎn)生那?還有這么多條指令,有如何識(shí)別對(duì)應(yīng)的指令那?這就需要說(shuō)的另一個(gè)重要組成部分,控制器。它是負(fù)責(zé)給數(shù)據(jù)通路對(duì)應(yīng)的控制信號(hào),同時(shí)判斷指令類型的。下一篇博客我將會(huì)講解我自己學(xué)習(xí)控制器的部分。

我對(duì)學(xué)習(xí)RISC-V踩過(guò)的坑:不要一上來(lái)就急于直接看代碼。學(xué)習(xí)RISC-V時(shí),首先要理解RISC-V指令集,我的上一篇博客就是講解自己理解的一些基本指令集,接下來(lái)就是要學(xué)習(xí)各種指令類型對(duì)應(yīng)的數(shù)據(jù)通路。接下來(lái)理解控制器。最后就是各各模塊的代碼編寫(xiě)了。后續(xù)我也會(huì)把自己各各模塊寫(xiě)入博客,期待大家的關(guān)注。

上文的數(shù)據(jù)通路也是我自己查資料,看視頻理解的,可能存在一些錯(cuò)誤,還望各位指點(diǎn)。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站名稱:RISC-V單周期處理器設(shè)計(jì)(基本介紹和數(shù)據(jù)通路)(一)-創(chuàng)新互聯(lián)
標(biāo)題URL:http://m.rwnh.cn/article46/ddsihg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、面包屑導(dǎo)航、響應(yīng)式網(wǎng)站、網(wǎng)站內(nèi)鏈、域名注冊(cè)網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
哈巴河县| 兴海县| 寿宁县| 攀枝花市| 潜江市| 广南县| 苍梧县| 宝清县| 丰都县| 宜兰市| 乐平市| 莲花县| 华亭县| 江津市| 蒙阴县| 肇东市| 邛崃市| 南昌市| 台前县| 德化县| 孙吴县| 崇礼县| 广昌县| 合江县| 句容市| 岐山县| 临江市| 明星| 巴彦淖尔市| 淳安县| 石泉县| 客服| 汕尾市| 札达县| 咸阳市| 太仆寺旗| 新绛县| 奎屯市| 连城县| 遂昌县| 策勒县|