![DLX指令集结构课件_第1页](http://file4.renrendoc.com/view12/M09/28/24/wKhkGWeQ20qAS0c5AAD-WtNJS78561.jpg)
![DLX指令集结构课件_第2页](http://file4.renrendoc.com/view12/M09/28/24/wKhkGWeQ20qAS0c5AAD-WtNJS785612.jpg)
![DLX指令集结构课件_第3页](http://file4.renrendoc.com/view12/M09/28/24/wKhkGWeQ20qAS0c5AAD-WtNJS785613.jpg)
![DLX指令集结构课件_第4页](http://file4.renrendoc.com/view12/M09/28/24/wKhkGWeQ20qAS0c5AAD-WtNJS785614.jpg)
![DLX指令集结构课件_第5页](http://file4.renrendoc.com/view12/M09/28/24/wKhkGWeQ20qAS0c5AAD-WtNJS785615.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DLX指令集結構DLX是一種多元未飽和型指令集結構。DLX指令集結構的設計思想:具有一個簡單的Load/Store指令集;注重指令流水效率;簡化指令的解碼;高效支持編譯器。
2.6.1DLX指令集結構1.DLX中的寄存器
(1)32個通用寄存器
命名:R0、R1、
、R31
長度:32位寄存器R0的值總是為0。
(2)32個浮點寄存器
命名:F0、F1、
、F31
長度:32位
(用來保存32位的單精確度浮點數
)◆
64位雙精度浮點數相鄰兩個浮點寄存器奇偶對FiFi+1
(i=0,2,4,
,30)
命名:F0、F2、
、F28、F30
(3)一些特殊的寄存器(比如用來保存浮點操作結果資訊的浮點狀態寄存器)可以和通用寄存器相互進行數據傳送。2.DLX的數據類型
DLX提供了多種長度的整型數據和浮點數據。
(1)
整型數據有8位、16位和32位多種長度。
(當8位和16位整型數據載入到寄存器中時,
用0或數據的符號位來填充32位通用寄存器
中的剩餘位。)(2)
浮點數據有32位單精確度浮點數和64位雙精度浮點數。浮點數據表示採用的是IEEE754標準。3.DLX的尋址方式和數據傳送
(1)
尋址方式寄存器尋址立即值尋址偏移尋址寄存器間接尋址
(2)寄存器尋址字段的大小為5位,用來表示32個
通用寄存器或浮点寄存器。
(3)記憶體地址採用的是高端位元組表示順序,存儲器按位元組尋址,其地址寬度為32位。4.DLX的指令格式
◆
尋址方式編碼在操作碼中。
◆
指令的字長32位,其中用6位表示操作碼。(4)通過寄存器(通用寄存器和浮點寄存器)和存
储器之间的数据传送操作完成对存储器的访问。各種類型指令的格式5.DLX中的操作
(1)四種類型的操作
Load和Store操作
ALU操作分支和跳轉操作浮點操作(2)約定
(1)符號“
”:
數據傳送操作其後附帶一個下標n,也即“
n”表示傳送
一個n位數據。
(2)符號“##”:
兩個域的串聯操作(3)域的下標:表明從該域中選擇某一位。域中位的標記是從最高位開始標記,並且
起始標記為0。下標可以是一個單獨的數字。如Regs[R4]0
:選擇寄存器R4中內容的符號位。下標也可以是一個範圍。如Regs[R3]24..31
:選擇寄存器R3中內容
的最低一個位元組。(4)上標:表示複製一個域。如024可以得到一個24位全為0的一個域。(5)變數Mem:表示記憶體中的一個數組,
記憶體按照位元組尋址。举例
R8和R10:32位寄存器Regs[R10]16..31
16(Mem[Regs[R8]]0)8##Mem[Regs[R8]]的含義。3.DLX中的四種操作類型
(1)Load和Store操作指令實例指令名稱含義LWR1,30(R2)載入整型字Regs[R1]←32Mem[30+Regs[R2]]LWR1,1000(R0)載入整型字Regs[R1]←32Mem[1000+0]LBR1,40(R3)載入位元組Regs[R1]←32(Mem[40+Regs[R3]]0)24##Mem[40+Regs[R3]]LBUR1,40(R3)載入無符號位元組Regs[R1]←32024##Mem[40+Regs[R3]]LHR1,40(R3)載入整型半字Regs[R1]←32(Mem[40+Regs[R3]]0)16##Mem[40+Regs[R3]]##Mem[41+Regs[R3]]LFF0,50(R3)載入單精確度浮點Regs[F0]←32Mem[50+Regs[R3]]LDF0,50(R2)載入雙精度浮點Regs[F0]##Regs[F1]←64Mem[50+Regs[R2]]SW500(R4),R3儲存整型字Mem[500+Regs[R4]]←32Regs[R3]SF40(R3),F0儲存單精確度浮點Mem[40+Regs[R3]]←32Regs[F0]SD40(R3),F0儲存雙精度浮點Mem[40+Regs[R3]]←32Regs[F0]Mem[44+Regs[R3]]←32Regs[F1]SH502(R2),R31儲存整型半字Mem[502+Regs[R2]]←16Regs[R31]16..31SB41(R3),R2儲存整型位元組Mem[41+Regs[R3]]←8Regs[R2]24..31DLX中Load和Store指令實例(2)ALU操作簡單的算術和邏輯運算寄存器比較指令(
,
,
,
,
,
)指令實例指令名稱
含义AddR1,R2,R3加Regs[R1]←Regs[R2]+Regs[R3]ADDIR1,R2,#3和立即值相加Regs[R1]←Regs[R2]+3LHIR1,#42載入高位立即值Regs[R1]←42##016SLLIR1,R2,#5邏輯左移的立即值形式Regs[R1]←Regs[R2]<<5SLTR1,R2,R3設置小於if(Regs[R2]<Regs[R3])Regs[R1]←1elseRegs[R1]←0ALU指令實例
(3)分支和跳轉操作
◆根據描述目標地址的方法和是否鏈接可以將
跳轉操作指令分為四種類型。 其中:
兩種類型的跳轉指令用帶符號位的26位偏移量加上程式計數器的值來確定跳轉的目標地址;另外兩種類型的跳轉指令則指定一個寄
存器,由寄存器中的內容決定跳轉的目
标地址。◆
跳轉有兩種類型
簡單跳轉
跳轉並鏈接(用於過程調用)返回一個地址,也即將下一條順序指令
地址(返回地址)保存在寄存器R31中。◆
所有分支指令均是條件分支指令。分支目標地址由一個帶符號的26位偏移量加
上程式計數器的值來確定。指令實例指令名稱含義Jname跳轉PC←name;((PC+4)-225)≤name≤((PC+4)+225)JALname跳轉並鏈接Regs[R31]←PC+4;PC←name;((PC+4)-225)≤name≤((PC+4)+225)JALRR2寄存器型跳轉並鏈接Regs[R31]←PC+4;PC←Regs[R2];JRR3寄存器型跳轉PC←Regs[R3];BEQZR4,name“等於0”分支if(Regs[R4]==0)PC←name;((PC+4)-215)≤name≤((PC+4)+215)BNEZR4,name“不等於0”分支if(Regs[R4]!=0)PC←name;((PC+4)-215)≤name≤((PC+4)+215)典型的分支和跳轉指令
(4)浮點操作浮點操作:加、減、乘、除。(尾碼D:雙精度浮點操作尾碼F:單精確度浮點操作)
◆
下表列出了DLX所有指令及其含義。
◆
各種指令使用頻率測試統計結果。(SPECint92和SPECfp92基準程式)DLX中的所有指令及其含義指令類型操作碼含義
數據傳送LB,LBU,SB載入位元組,載入無符號位元組,儲存位元組LH,LHU,SH載入半字,載入無符號半字,儲存半字LW,SW載入字,儲存字LF,LD,SF,SD載入單精確度浮點,載入雙精度浮點,儲存單精確度浮點,儲存雙精度浮點MOVI2S,MOVS2I將通用寄存器中的內容移入特殊寄存器,將特殊寄存器中的內容移入通用寄存器MOVF,MOVD將一個單精確度/雙精度浮點寄存器的內容拷貝到另一個單精確度/雙精度浮點寄存器MOVFP2I,MOVI2FP將32位浮點寄存器中的內容移入整型寄存器,將32位整型寄存器中的內容移入浮點寄存器指令類型操作碼含義
算術/邏輯ADD,ADDI,ADDU,ADDUI帶符號加,帶符號立即值加,無符號加,無符號立即值加SUB,SUBI,SUBU,SUBUI帶符號減,帶符號立即值減,無符號減,無符號立即值減MULT,MULTU,DIV,DIVU帶符號乘,無符號乘,帶符號除,無符號除AND,ANDI與,和立即值與OR,ORI,XOR,XORI或,和立即值或,異或,和立即值異或LHI載入高位立即值SLL,SRL,SRA,SLLI,SRLI,SRAI包含了立即值(S_I)和變數(S_)的移位操作,移位有:邏輯左移,邏輯右移和算術右移S_,S_I設置條件,“_”可以是LT,GT,LE,GE,EQ,NE指令類型操作碼含義
控
制BEQZ,BNEZ根據指定通用寄存器的內容等於/不等於0分支BFPT,BFPF測試浮點狀態寄存器中的比較位為真/假進行分支J,JR跳轉,基於寄存器的跳轉JAL,JALR跳轉並鏈接,基於寄存器的跳轉並鏈接TRAP轉換到操作系統RFE從異常恢復用戶模式指令類型操作碼含義
浮
點ADDD,ADDF雙精度浮點加,單精確度浮點加SUBD,SUBF雙精度浮點減,單精確度浮點減MULTD,MULTF雙精度浮點乘,單精確度浮點乘DIVD,DIVF雙精度浮點除,單精確度浮點除CVTF2D,CVTF2I,CVTD2F,CTD2I,CVTI2F,CVTI2D轉換指令,CVTx2y表示從類型x轉換到類型y,其中x和y可以是I(整型)、D(雙精度浮點)、F(單精確度浮點)_D,_F雙精度浮點和單精確度浮點比較,“_”可以是LT、GT、LE、GE、EQ、NE,根據比較結果設置浮點狀態寄存器中的位基於SPECint92基準程式集的指令使用頻率測量統計結果指令compresseqntottEspressogcc(cc1)li整型平均載入19.8%30.6%20.9%22.8%31.3%26%存儲5.6%0.6%5.1%14.3%16.7%9%加14.4%8.5%23.8%14.6%11.1%14%減1.8%0.3%
0.5%
0%乘
0.1%
0%除
0%比較15.4%26.5%8.3%12.4%5.4%13%載入立即值8.1%1.5%1.3%6.8%2.4%3%指令compresseqntottEspressogcc(cc1)li整型平均條件分支17.4%24.0%15.0%11.5%14.6%16%無條件分支1.5%0.9%0.5%1.3%1.8%1%調用0.1%0.5%0.4%1.1%3.1%1%返回,跳轉0.1%0.5%0.5%1.5%3.5%1%移位6.5%0.3%7.0%6.2%0.7%4%與2.1%0.1%9.4%1.6%2.1%3%或6.0%5.5%4.8%4.2%6.2%5%其他(異或,非)1.0%
2.0%0.5%0.1%1%指令compresseqntottEspressogcc(cc1)li整型平均載入浮點數
0%儲存浮點數
0%浮點加
0%浮點減
0%浮點乘
0%浮點除
0%浮點比較
0%浮點寄存器移動
0%其他浮點操作
0%基於SPECfp92基準程式集的指令使用頻率測量統計結果指令doducearhydro2dmdljdp2su2cor整型平均載入1.4%0.2%0.1%1.1%3.6%1%儲存1.3%0.1%
0.1%1.3%1%加13.6%13.6%10.9%4.7%9.7%11%減0.3%
0.2%
0.7%0%乘
0%除
0%比較3.2%3.1%1.2%0.3%1.3%2%載入立即值2.2%
0.2%2.2%0.9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 7《美丽的化学变化》说课稿-2023-2024学年科学六年级下册教科版
- 2025计算机购销合同样书
- 2025劳动合同法课程学习指南
- 2024年高中化学 专题3 常见的烃 第一单元 第1课时 脂肪烃的类别、烷烃说课稿 苏教版选修5001
- 2宪法是根本法 第一课时 感受宪法日(说课稿)-部编版道德与法治六年级上册
- 医疗试剂合同范例
- 包工项目合同范本
- 化妆店加盟合同范例
- 2024-2025学年高中地理 第二章 区域可持续发展 2.4 农业的可持续发展-以美国为例说课稿 湘教版必修3
- Unit4 Plants around us第二课时(说课稿)-2024-2025学年人教PEP版(2024)英语三年级上册001
- 初中英语-Unit2 My dream job(writing)教学课件设计
- 供货方案及时间计划安排
- 唐山动物园景观规划设计方案
- 中国版梅尼埃病诊断指南解读
- 创业投资管理知到章节答案智慧树2023年武汉科技大学
- 暨南大学《经济学》考博历年真题详解(宏观经济学部分)
- GB/T 8014.1-2005铝及铝合金阳极氧化氧化膜厚度的测量方法第1部分:测量原则
- eNSP简介及操作课件
- 运动技能学习与控制课件第七章运动技能的协调控制
- 节后复工吊篮验收表格
- 气管套管滑脱急救知识分享
评论
0/150
提交评论