日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

RISC-V指令系统

發(fā)布時間:2024/3/12 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RISC-V指令系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.介紹

指令系統(tǒng):計(jì)算機(jī)語言中的單詞成為指令,而這個詞匯表就是指令系統(tǒng)。

指令集架構(gòu)(ISA)

????????x86:傳統(tǒng)pc市場的主流,善于處理大數(shù)據(jù)。

????????ARM:移動端設(shè)備(手機(jī))市場,處理快數(shù)據(jù)為主。

????????RISC-V:當(dāng)需要同時兼顧數(shù)據(jù)傳輸速度和傳輸量時,RISC-V更有優(yōu)勢。

更重要的是RISC-V是開源的。

二.計(jì)算機(jī)硬件的操作

主要包括:算術(shù)運(yùn)算、邏輯運(yùn)算、數(shù)據(jù)傳輸、移位操作、條件分支、無條件跳轉(zhuǎn)。

數(shù)據(jù)存儲模式:大端存儲,小端存儲。

大端:高位字節(jié)排放在內(nèi)存的低地址端,低位字節(jié)排放在內(nèi)存的高地址端。

小端:低位字節(jié)排放在內(nèi)存的低地址端,高位字節(jié)排放在內(nèi)存的高地址端。

設(shè)計(jì)原則:簡單源于規(guī)整、優(yōu)秀的設(shè)計(jì)需要適當(dāng)?shù)恼壑小⒏賱t更快(寄存器數(shù)量太多可能會增加時鐘周期)。


三.計(jì)算機(jī)中的指令表示

RISC-V常見指令表示:R型,I型,S型,B型,J型指令

R型:一般用于寄存器-寄存器操作。

I型:一般用于立即數(shù)訪問和load操作。

S型:用于訪存store操作。

B型:用于條件跳轉(zhuǎn)操作。

J型:用于無條件操作。


R型:一般用于寄存器-寄存器操作。

funct7(7bit)rs2(5bit)rs1(5bit)funct3(3bit)rd(5bit)opcode(7bit)

funct7:操作碼字段。

funct3:操作碼字段。

rs2:第二個源操作數(shù)寄存器。

rs1:第一個源操作數(shù)寄存器。

rd:目的操作數(shù)寄存器,存放操作結(jié)果。

opcode:(操作碼)指令的基本操作。

下面以add x9,x20,x21為例介紹。

00000001010110100000010010110011

01001:9? ? ? ? 10100:20? ? ? ? 10101:21

通過funct7,funct3,opcode來識別是一個R型加法指令

將x20寄存器中的值加上x21寄存器中的值相加的結(jié)果存放到x9寄存器中。


I型:一般用于短立即數(shù)和訪存操作

immediate(12bit)rs1(5bit)funct3(3bit)rd(5bit)opcode(7bit)

注意:計(jì)算機(jī)中是以補(bǔ)碼形式存儲immediate;12位立即數(shù)。立即數(shù)范圍-2^11到((2^11)-1)(-2048到2047)

下面以lb?x9,64(x22)介紹

lb x9,64(x22)

000001000000

10110

000

01001

0000011

?000001000000 :64? ? ? ? 10110:22? ? ? ? 01001:9

解釋:將rs1地址偏移立即數(shù)位空間中的值存儲到rd所指的寄存器空間中。


S型:用于訪存store操作

immediate[11:5](7bit)rs2(5bit)rs1(5bit)funct3(3bit)immediate[4:0](5bit)opcode(7bit)

個人理解這里的立即數(shù)為何這樣存儲:為了規(guī)整,將原本的rd用來存儲立即數(shù)的低5位。

下面以sb x5,40(x6)介紹

sb x5,40(x6)

0000001

00101

00110

000

01000

0100011

000000101000:40? ? ? ? 00101:5? ? ? ? 00110:6

解釋:將rs2寄存器中的值存儲到rs1寄存器偏移立即數(shù)位地址中去。


B型:有條件分支

immediate[12,[10:5]](7bit)rs2(5bit)rs1(5bit)funct3(3bit)immediate[[4:1],11](5bit)opcode(7bit)

注意:13位立即數(shù),末尾始終為0;

B型立即數(shù)格式(末尾時鐘為零)
imm[12]imm[11]imm[10:5]imm[4:1]0

下面以beq x5,x6,100為例

beq x5,x6,100

0000011

00110

00101

000

00100

1100011

代碼中整理出的立即數(shù)
0000001100100

? ? ? ?注意在使用b型指令時,代碼末尾別忘了補(bǔ)個0(或者獲取的立即數(shù)別忘了左移一位)。解釋:如果rs1和rs2寄存器中的值相等,則pc跳轉(zhuǎn)到pc+immediate位置去,這是要重建流水線的。


J型:無條件跳轉(zhuǎn)

immediate[20,[10:1],11,[19:12]]

(20bit)

rd

(5bit)

opcode

(7bit

J型立即數(shù)(20位)

immediate[20] immediate[19:12] immediate[11] immediate[10:1] 0

下面以jal x1,100為例

jal x1,100

00000110010000000000

00001

1101111

代碼中立即數(shù)
000000000000001100100

? ? ? ? 寫代碼時,末尾補(bǔ)0別忘了

解釋:將pc+4存儲到rd寄存器中,同時pc跳轉(zhuǎn)到pc+立即數(shù)位置去。


U型:格式和B型類似,20位大立即數(shù)操作

immediate[31:12]rdopcode

vfd

與J型區(qū)別在于立即數(shù)放的位置

下面以lui x1,0xf0000為例

lui x1,0xf0000

11110000000000000000

00001

0110111

解釋:rd寄存器存儲立即數(shù)? x1=0xf0000;


常見操作及其指令

1、算術(shù)運(yùn)算指令

包括addi,slti,sltiu,add,sub,slt,sltu。

slt比較指令 指令后邊加i 一般表示是指令中有立即數(shù),而u表示有無符號。

immediate[11:0]rs1000rd0010011addi(I型)
immediate[11:0]rs1010rd0010011slti(I型)
immediate[11:0]rs1011rd0010011sltiu(I型)
0000000rs2rs1000rd0110011add(R型)
0100000rs2rs1000rd0110011sub(R型)
0000000rs2rs1010rd0110011slt(R型)
0000000rs2rs1011rd0110011sltu(R型)

2、移位指令

包括slli,srli,srai,sll,srl,sra。

注意立即數(shù)移位指令中立即數(shù)(shamt)的范圍:(這里立即數(shù)是5位的立即數(shù))具體如下表:

0000000shamtrs1001rd0010011slli(I型)
0000000shamtrs1101rd0010011srli(I型)
0100000shamtrs1101rd0010011srai(I型)
0000000rs2rs1001rd0110011sll(R型)
0000000rs2rs1101rd0110011srl(R型)
0100000rs2rs1101rd0110011sral(R型)

注意邏輯右移和算術(shù)右移是由區(qū)別的。

邏輯右移:數(shù)據(jù)向右移立即數(shù)位,空位填0。

算術(shù)右移:數(shù)據(jù)向右移立即數(shù)位,空位填最高位(符號位)。

為了區(qū)別這兩個機(jī)器碼的第30位用來作為判斷。具體仔細(xì)觀察上表。

3、邏輯操作指令

包括xori ,ori,andi,xor,or,and。

imm[11:0]rs1100rd0010011xori(I型)
imm[11:0]rs1110rd0010011ori(I型)
imm[11:0]rs1111rd0010011andi(I型)
0000000rs2rs1100rd0110011xor(R型)
0000000rs2rs1110rd0110011or(R型)
0000000rs2rs1111rd0110011and(R型)

小總結(jié):算術(shù)運(yùn)算,邏輯運(yùn)算,移位運(yùn)算這些基本運(yùn)算指令一般都為R型或者I型指令

4、加載存儲指令

包括lb,ln,lw,lbu,lhu,sb,sh,sw。

作用就是將數(shù)據(jù)從寄存器中取出來,或者存儲到寄存器中去,不同在于每次取出多少(半字,字等)。

imm[11:0]rs1000rd0000011lb(I型)
imm[11:0]rs1001rd0000011lh(I型)
imm[11:0]rs1010rd0000011lw(I型)
imm[11:0]rs1100rd0000011lbu(I型)
imm[11:0]rs1101rd0000011lhu(I型)
imm[11:5]rs2rs1000imm[4:0]0100011sb(S型)
imm[11:5]rs2rs1001imm[4:0]0100011sh(S型)
imm[11:5]rs2rs1010imm[4:0]0100011sw(S型)

5、控制轉(zhuǎn)移指令

主要是一些跳轉(zhuǎn)指令:beg,bne,blt,bge,bltu,bgeu,jalr,jal。

imm[12]imm[10:5]rs2rs1000imm[4:1]imm[11]1100011beq(B型)
imm[12]imm[10:5]rs2rs1001imm[4:1]imm[11]1100011bne(B型)
imm[12]imm[10:5]rs2rs1100imm[4:1]imm[11]1100011blt(B型)
imm[12]imm[10:5]rs2rs1101imm[4:1]imm[11]1100011bge(B型)
imm[12]imm[10:5]rs2rs1110imm[4:1]imm[11]1100011bltu(B型)
imm[12]imm[10:5]rs2rs1111imm[4:1]imm[11]1100011bgeu(B型)
imm[11:0]rs1000rd1100011jalr(I型)
imm[20]imm[10:1]imm[11]imm[19:12]rd1100011jal(J型)

注意上述立即數(shù)存儲方式,在上面的B型指令講解中有提到。

總結(jié)

資源里有我使用FPGA寫的一個基于RISC-V的單周期CPU。目前不具備流水線,后續(xù)準(zhǔn)備寫一個5級流水的單周期處理器,同樣會發(fā)布到博客上。希望大家評論給出意見。

總結(jié)

以上是生活随笔為你收集整理的RISC-V指令系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线观看国产免费视频 | 爱爱一级 | 韩日精品在线 | 久久久久久久久免费看无码 | 超碰免费在线97 | 少妇裸体淫交视频免费看高清 | 一区二区精品在线 | 国产精品美女一区二区 | 亚洲精品乱码久久久久 | 成年人av在线播放 | 女性裸体无遮挡胸 | 91色站| 色欧美88888久久久久久影院 | 久草福利在线 | 丁香花电影在线观看免费高清 | 亚洲天堂自拍 | 日本视频免费在线 | www.伊人久久 | 午夜视频免费在线观看 | 免费毛片小视频 | 欧美精品一区二区三区四区 | ts人妖另类精品视频系列 | 色婷婷婷婷色 | 精品亚洲aⅴ无码一区二区三区 | 一区二区三区四区日韩 | 黄色网址av| 日韩成人黄色 | 高清一级片 | 青草综合| 久久国产精品久久国产精品 | 国产在线欧美在线 | 丰满少妇大力进入 | 青娱乐毛片| 欧美性受xxxx黒人xyx性爽 | 国产精品国产三级国产aⅴ9色 | 成人免费一区二区三区在线观看 | 亚洲一区二区三区四区在线播放 | 伊甸园精品区 | 亚洲欧美一区二区三 | 男男车车的车车网站w98免费 | 自拍偷拍1 | 精品视频在线观看免费 | 亚洲GV成人无码久久精品 | 97香蕉超级碰碰久久免费软件 | 91sao| 亚洲国产精品免费视频 | 成年人三级视频 | www.成人av.com| 色婷婷一区二区三区四区 | 老鸭窝一区二区 | 日日摸天天爽天天爽视频 | 国产香蕉在线视频 | 四色网址 | 日韩三级视频 | 亚洲AV成人无码一二三区在线 | 国产偷人视频 | 少妇喷白浆 | 成人tv | 成人app在线 | 婷婷色在线播放 | www.亚洲天堂 | 二区在线播放 | 中文字幕在线观看二区 | 国产精品丝袜 | 无码精品一区二区三区AV | 国产成人短视频在线观看 | 亚洲少妇第一页 | 亚洲欧美日本一区二区 | 久久露脸国语精品国产91 | 熟女俱乐部五十路六十路av | 色www. | 日韩av在线播放网址 | 欧美日韩久久婷婷 | 四虎免费在线观看 | 被两个男人吃奶三p爽文 | 国产激情视频在线 | 国产suv精品一区二区6 | 国产微拍精品一区 | 成人一二三区 | 日批免费看 | 欧美怡红院视频一区二区三区 | 一级黄色大全 | 精品国产99久久久久久 | 午夜国产福利在线 | 玖玖999| 一区二区av电影 | 性感美女一区 | 丰满少妇在线观看资源站 | 调教撅屁股啪调教打臀缝av | 一级免费a | 久久综合伊人 | 精品国产亚洲AV | 成人网免费 | 91传媒在线免费观看 | 一区=区三区乱码 | 国产视频黄 | 日韩在线观看中文字幕 | 精品久久国产视频 | 欧美一级免费视频 |