资源描述:
《计算机指令集结构设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章计算机指令集结构设计主要介绍计算机指令集结构的分类,寻址技术,计算机指令集结构的功能设计,Huffman编码法。重点是CISC计算机指令集和RISC计算机指令集的设计思想、设计原则、结构特点、改进思路和改进方法等。2.1指令集结构的分类2.1.1指令集结构的分类指令集是软硬件功能分配最主要的界面指令集结构的分类分类所考虑的因素如下:(1)在CPU中操作数的存储方法;(2)指令中显式表示的操作数个数;(3)操作数的寻址方式;(4)指令集所提供的操作类型;(5)操作数的类型和大小。2.1指令集结构的分类按CPU中操作数的存储方法分为:堆栈型指令集结构;累加器型
2、指令集结构;通用寄存器型指令集结构RM及RR。2.1指令集结构的分类CPU对操作数的不同存取方式CPU提供的暂存器ALU指令显式表示的操作数个数运算结果的目的地访问显式操作数的方法堆栈0堆栈PUSH/POP累加器1累加器LOAD/STORE累加器一组寄存器2/3寄存器或存储器LOAD/STORE寄存器或存储器2.1指令集结构的分类C=A+B在三种类型指令集结构上的实现堆栈累加器寄存器(寄存器—存储器)寄存器(寄存器—寄存器)PUSHALOADALOADR1,ALOADR1,APUSHBADDBADDR1,BLOADR2,BADDSTORECSTOREC,R1AD
3、DR3,R1,R2POPCSTOREC,R32.1指令集结构的分类三类指令集结构的优缺点类型优点缺点堆栈型表示计算的简单模型;指令短小不能随机访问堆栈,从而很难生成有效代码;堆栈是瓶颈,很难被高效地实现累加器型减小了机器的内部状态;指令短小由于累加器是唯一的暂存器,这种机器的存储器通信开销很大寄存器型是代码生成的最一般模型所有操作数均需命名,且要显示表示,因而指令比较长2.1指令集结构的分类2.1.2通用寄存器型指令集结构分类利用寄存器的优势:(1)在表达式求值方面,具有更大的灵活性;(2)利用寄存器存放变量,不但能够减少存储器的通信量,加快程序的执行速度,而且
4、和存储器相比;(3)还可以用更少的地址位来寻址寄存器,从而能够有效改进程序的目标代码大小。2.1指令集的结构分类ALU指令中操作数个数和存储器操作数个数ALU指令中存储器操作数个数ALU指令中操作数的最大个数机器实例02IBMRT-PC3SPARC,MIPS12PDP-10,IBM360,Motorola680003IBM360的部分指令22PDP-11,部分IBM360指令333VAX2.2寻址技术通用寄存器型指令集结构可分为三类:寄存器—寄存器型(R-R);寄存器—存储器型(R-M);存储器—存储器型(M-M)。寻址方式指令实例含义寄存器寻址ADDR4,R3
5、Reg[R4]←Reg[R4]+Reg[R3]立即值寻址ADDR4,#3Reg[R4]←Reg[R4]+3偏移寻址ADDR4,100(R1)Reg[R4]←Reg[R4]+Mem[100+Reg[R1]寄存器间接寻址ADDR4,(R1)Reg[R4]←Reg[R4]+Mem[Reg[R1]]索引寻址ADDR3,(R1+R2)Reg[R3]←Reg[R3]+Mem[Reg[R1]+Reg[R2]直接寻址ADDR1,(1001)Reg[R1]←Reg[R1]+Mem[1001]存储器间接寻址ADDR1,@(R3)Reg[R1]←Reg[R1]+Mem[Mem[Reg
6、[R3]]]自增寻址ADDR1,(R2)+Reg[R1]←Reg[R1]+Mem[Reg[R2]]Reg[R2]←Reg[R2]+d自减寻址ADDR1,-(R2)Reg[R2]←Reg[R2]-dReg[R1]←Reg[R1]+Mem[Reg[R2]]缩放寻址ADDR1,100(R2)[R3]Reg[R1]←Reg[R1]+Mem[100+Reg[R2]+Reg[R3]*d]2.2寻址技术2.2寻址技术指令集结构中选择那些寻址方式?在指令集结构中采用多种寻址方式可以显著地减少程序的指令条数,但同时可能增加实现的复杂度和使用这些寻址方式的指令的执行时钟周期数(CP
7、I)。所以应该选择使用频率比较高的寻址方式。统计表明,立即值寻址方式和偏移寻址方式的使用频率非常高。2.2寻址技术决定指令字长度的主要因素有哪些?(1)指令集中指令的条数;(2)CPU中通用寄存器的数目;(3)所支持存储器容量的大小;(4)偏移寻址中所支持的偏移量大小;(5)立即值寻址中所支持的立即值大小。统计表明75%~99%的偏移量大小可用12~16位表示;50%~80%的立即值大小可用8~16位表示。2.3指令集结构的功能设计指令集结构的功能设计一种指令集结构中的指令到底要支持哪些类型的操作呢?这就是所谓的指令集结构的功能设计问题。指令集结构的功能设计的两
8、个方向:CISC:尽量多