计算机指令集结构设计.ppt
《计算机指令集结构设计.ppt》由会员分享,可在线阅读,更多相关《计算机指令集结构设计.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 计算机指令集结构设计计算机指令集结构设计国防科技大学计算机学院计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令集结构概述指令集结构概述o指令集:指令集:n一些指令的集合;一些指令的集合;n每条指令都是每条指令都是直接直接由由CPU硬件执行。硬件执行。o指令的表示方法:指令的表示方法:n二进制格式;二进制格式;n物理存储空间组织方式是位、字节、字和多字等;物理存储空间组织方式是位、字节、字和多字等;n当前的指令字长有:当前的指令字长有:16、32、64位;位;n可变长格式和固定长度格式。可变长格式和固定长度格式。操作码操作码操作码操作码寻址方式寻址方式寻址方式寻址方式操
2、作数操作数操作数操作数寻址方式寻址方式寻址方式寻址方式操作数操作数操作数操作数计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令的特点指令的特点o指令的操作十分简单,其操作由操作码编码表示。指令的操作十分简单,其操作由操作码编码表示。o每个操作需要的操作数个数为每个操作需要的操作数个数为0-3个不等。个不等。n操作数是一些存储单元的地址;操作数是一些存储单元的地址;n典型的存储单元通常有:主存、寄存器、堆栈典型的存储单元通常有:主存、寄存器、堆栈和累加器。和累加器。o操作数地址隐含表示或显式表示。操作数地址隐含表示或显式表示。计算机体系结构计算机体系结构计算机体系结构计算机体系结构指
3、令集与计算机的性能指令集与计算机的性能计算机体系结构计算机体系结构计算机体系结构计算机体系结构内容提要内容提要o指令集结构的分类指令集结构的分类o寻址技术寻址技术设计设计o指令集结构的功能设计指令集结构的功能设计o操作数的类型、表示和大小操作数的类型、表示和大小o指令集格式的设计指令集格式的设计oDLX指令集结构指令集结构oDLX指令集结构效能分析指令集结构效能分析 操作码操作码操作码操作码寻址方式寻址方式寻址方式寻址方式操作数操作数操作数操作数寻址方式寻址方式寻址方式寻址方式操作数操作数操作数操作数计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令集结构的分类指令集结构的分类o一般
4、来说,可以从如下五个因素考虑对计算一般来说,可以从如下五个因素考虑对计算机指令集结构进行分类,即:机指令集结构进行分类,即:n在在CPU中操作数的存储方法;中操作数的存储方法;n指令中显式表示的操作数个数;指令中显式表示的操作数个数;n操作数的寻址方式;操作数的寻址方式;n指令集所提供的操作类型;指令集所提供的操作类型;n操作数的类型和大小。操作数的类型和大小。计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令集结构的分类指令集结构的分类oCPU中用来存储操作数的存储单元主要有:中用来存储操作数的存储单元主要有:n堆栈;堆栈;n累加器;累加器;n一组寄存器。一组寄存器。o指令中的操作
5、数可以被明确地显式给出,也指令中的操作数可以被明确地显式给出,也可以按照某种约定隐式地给出。可以按照某种约定隐式地给出。计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令集结构的分类指令集结构的分类oC=A+B表达式在这三种类型指令集结构上的实现表达式在这三种类型指令集结构上的实现方法方法堆堆栈栈累加器累加器寄存器寄存器(寄存器寄存器-存存储储器器)寄存器寄存器(寄存器寄存器-寄存器寄存器)PUSH APUSH BADDPOP CLOAD AADD BStore CLOAD R1,AADD R1,BStore C,R1LOAD R1,ALOAD R2,BADD R3,R1,R2Sto
6、re C,R3计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令集结构的分类指令集结构的分类o如果指令集结构根据如果指令集结构根据CPU内部存储单元类型内部存储单元类型来进行分类,一般可以分为:来进行分类,一般可以分为:n堆栈型指令集结构;堆栈型指令集结构;n累加器型指令集结构;累加器型指令集结构;n通用寄存器型指令集结构。通用寄存器型指令集结构。o另外也有一些混合型结构。如:另外也有一些混合型结构。如:Intel 8086的指令集结构。的指令集结构。计算机体系结构计算机体系结构计算机体系结构计算机体系结构From IBM 650:最早的指令集最早的指令集LOAD x ACMxSTO
7、RE x Mx(AC)ADD x AC(AC)MxJUMP x PC xJGE x if(AC)0 then PC xLOAD ADR x ACExtract addr field(Mx)STORE ADR xo累加器型指令集结构累加器型指令集结构计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算一个数组加计算一个数组加Ci Ai+Bi,1inLOOP LOAD N JGE DONE ADD ONE STORE NF1 LOAD AF2 ADD BF3 STORE C LOAD ADR F1 ADD ONE STORE ADR F1 LOAD ADR F2 ADD ONE STORE
8、 ADR F2 LOAD ADR F3 ADD ONE STORE ADR F2 JUMP LOOPDONE HLTABCN-nONE1code计算机体系结构计算机体系结构计算机体系结构计算机体系结构+index Register(IX)LOAD x,IX AC Mx+(IX)ADD x,IX AC(AC)Mx+(IX)JZi x,IX if(IX)=0 then PC x else IX (IX)+1LOADi x,IX IX Mx LOADi N,IXLOOP JZi DONE,IX LOAD LASTA,IX ADD LASTB,IX STORE LASTC,IX JUMP LOOPDO
9、NE HLTA0.LASTAn-1计算机体系结构计算机体系结构计算机体系结构计算机体系结构To IBM 360:GPRoIBM 360n16个个32位寄存器,可做基址或变址位寄存器,可做基址或变址n4个个64位浮点寄存器位浮点寄存器nPSWnINCi k,IX IX(IX)+kSTORE x,IX Mx(IX)LOAD Ri,Rj,(Rk)Ri MRj+(Rk)计算机体系结构计算机体系结构计算机体系结构计算机体系结构堆栈型指令集堆栈型指令集PUSH x stackspMx;sp=sp-1POP x Mxstacksp;sp=sp+1 ADD stacksp+1stacksp+stacksp+1
10、;sp=sp+1 计算机体系结构计算机体系结构计算机体系结构计算机体系结构计算一个表达式计算一个表达式(a+b*c)/(d*c-e)abc*+dc*e-/abcab*ca+b*ca+b*cdca+b*cd*ca+b*cd*cea+b*cd*c-e(a+b*c)/(d*c-e)ExpressionReverse Polish计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令集结构的分类指令集结构的分类CPU提供的提供的暂暂存器存器每条每条ALU指令指令显显式表示的式表示的操作数个数操作数个数运算运算结结果果的目的地的目的地访问显访问显式式操作数的操作数的过过程程堆堆栈栈0堆堆栈栈Pus
11、h/Pop累加器累加器1累加器累加器Load/Store累加器累加器一一组组寄存器寄存器2/3寄存器或寄存器或存存储储器器Load/Store寄存器寄存器/存存储储器器计算机体系结构计算机体系结构计算机体系结构计算机体系结构三种类型指令集结构的优缺点三种类型指令集结构的优缺点指令指令集集结结构构类类型型优优点点缺点缺点堆堆栈栈型型是一种表是一种表示示计计算的算的简单简单模型;模型;指令短小指令短小不能随机不能随机访问访问堆堆栈栈,从而很从而很难难生成有效代生成有效代码码。同。同时时,由于堆,由于堆栈栈是瓶是瓶颈颈,所以很,所以很难难被被高效地高效地实现实现累加累加器型器型减小了机减小了机器的内
12、部器的内部状状态态;指;指令短小令短小由于累加器是唯一的由于累加器是唯一的暂暂存器,存器,这这种机器的种机器的存存储储器通信开器通信开销销最大最大寄存寄存器型器型易于生成易于生成高效的目高效的目标标代代码码所有操作数均需命名,所有操作数均需命名,且要且要显显式表示,因而式表示,因而指令比指令比较长较长计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令集结构的分类指令集结构的分类o早期的大多数机器都是采用堆栈型或累加器型指令早期的大多数机器都是采用堆栈型或累加器型指令集结构,但是自集结构,但是自1980年以来的大多数机器均采用的年以来的大多数机器均采用的是寄存器型指令集结构。主要有两个
13、方面的原因是寄存器型指令集结构。主要有两个方面的原因:n集成电路技术飞速发展集成电路技术飞速发展n寄存器和寄存器和CPU内部其它存储单元一样,要比存储器快内部其它存储单元一样,要比存储器快n对编译器而言,可以更容易有效地分配和使用寄存器对编译器而言,可以更容易有效地分配和使用寄存器计算机体系结构计算机体系结构计算机体系结构计算机体系结构通用寄存器型指令集结构的分类通用寄存器型指令集结构的分类o通用寄存器型指令集结构的主要优点通用寄存器型指令集结构的主要优点:n在表达式求值方面,比其它类型指令集结构都具有更大在表达式求值方面,比其它类型指令集结构都具有更大的灵活性;的灵活性;n寄存器可以用来存放
14、变量;寄存器可以用来存放变量;o减少存储器的通信量,加快程序的执行速度(因为寄存减少存储器的通信量,加快程序的执行速度(因为寄存器比存储器快)器比存储器快)o可以用更少的地址位来寻址寄存器,从而可以有效改进可以用更少的地址位来寻址寄存器,从而可以有效改进程序的目标代码大小。程序的目标代码大小。n编译器有效地使用寄存器;编译器有效地使用寄存器;计算机体系结构计算机体系结构计算机体系结构计算机体系结构通用寄存器型指令集结构的分类通用寄存器型指令集结构的分类o两种主要的指令特性能够将通用寄存器型指两种主要的指令特性能够将通用寄存器型指令集结构(令集结构(GPR)进一步细分。)进一步细分。nALU指令
15、到底有两个或是三个操作数?指令到底有两个或是三个操作数?n在在ALU指令中,有多少个操作数可以用存储器指令中,有多少个操作数可以用存储器来寻址,也即有多少个存储器操作数?来寻址,也即有多少个存储器操作数?计算机体系结构计算机体系结构计算机体系结构计算机体系结构通用寄存器型指令集结构的分类通用寄存器型指令集结构的分类ALU指令中指令中存存储储器操作器操作数个数数个数ALU指令中指令中操作数的最操作数的最大个数大个数机器机器实实例例02IBM RT-PC3SPARC,MIPS12PDP-10,IBM 360,Motorola 680003IBM360的部分指令的部分指令22PDP11,部分,部分I
16、BM360指令指令333VAX计算机体系结构计算机体系结构计算机体系结构计算机体系结构通用寄存器型指令集结构的分类通用寄存器型指令集结构的分类o可以将当前大多数通用寄存器型指令集结构可以将当前大多数通用寄存器型指令集结构进一步细分为三种类型:进一步细分为三种类型:n寄存器寄存器型寄存器寄存器型 (RR:register-register)n寄存器存储器型寄存器存储器型 (RM:register-memory)n存储器存储器型存储器存储器型 (MM:memory-memory)计算机体系结构计算机体系结构计算机体系结构计算机体系结构三种通用寄存器型指令集结构的优缺点三种通用寄存器型指令集结构的优
17、缺点o寄存器寄存器型(寄存器寄存器型(0,3)n优点:优点:o简单,指令字长固定,是一种简单的代码生成模简单,指令字长固定,是一种简单的代码生成模型,各种指令的执行时钟周期数相近。型,各种指令的执行时钟周期数相近。n缺点:缺点:o和指令中含有对存储器操作数访问的结构相比,和指令中含有对存储器操作数访问的结构相比,指令条数多,因而其目标代码较大。指令条数多,因而其目标代码较大。计算机体系结构计算机体系结构计算机体系结构计算机体系结构三种通用寄存器型指令集结构的优缺点三种通用寄存器型指令集结构的优缺点o寄存器存储器型(寄存器存储器型(1,2)n优点:优点:o可以直接对存储器操作数进行访问,容易对指
18、令可以直接对存储器操作数进行访问,容易对指令进行编码,且其目标代码较小。进行编码,且其目标代码较小。n缺点:缺点:o指令中的操作数类型不同。在一条指令中同时对指令中的操作数类型不同。在一条指令中同时对一个寄存器操作数和存储器操作数进行编码,将一个寄存器操作数和存储器操作数进行编码,将限制指令所能够表示的寄存器个数。由于指令的限制指令所能够表示的寄存器个数。由于指令的操作数可以存储在不同类型的存储器单元,所以操作数可以存储在不同类型的存储器单元,所以每条指令的执行时钟周期数也不尽相同。每条指令的执行时钟周期数也不尽相同。计算机体系结构计算机体系结构计算机体系结构计算机体系结构三种通用寄存器型指令
19、集结构的优缺点三种通用寄存器型指令集结构的优缺点o存储器存储器型(存储器存储器型(3,3)n优点:优点:o是一种最紧密的编码方式,无需是一种最紧密的编码方式,无需“浪费浪费”寄存器寄存器保存变量。保存变量。n缺点:缺点:o指令字长多种多样。每条指令的执行时钟周期数指令字长多种多样。每条指令的执行时钟周期数也大不一样,对存储器的频繁访问将导致存储器也大不一样,对存储器的频繁访问将导致存储器访问瓶颈问题。访问瓶颈问题。计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令集结构设计概观指令集结构设计概观硬硬硬硬 件件件件指指指指 令令令令 集集集集操作系统操作系统操作系统操作系统应用软件应用
20、软件应用软件应用软件操作码操作码操作码操作码寻址方式寻址方式寻址方式寻址方式操作数操作数操作数操作数寻址方式寻址方式寻址方式寻址方式操作数操作数操作数操作数计算机体系结构计算机体系结构计算机体系结构计算机体系结构寻址技术寻址技术o在通用寄存器型指令集结构中,一般是利在通用寄存器型指令集结构中,一般是利用寻址方式指明指令中的操作数是一个常用寻址方式指明指令中的操作数是一个常数、一个寄存器操作数,抑或是一个存储数、一个寄存器操作数,抑或是一个存储器操作数。器操作数。操作码操作码操作码操作码寻址方式寻址方式寻址方式寻址方式操作数操作数操作数操作数寻址方式寻址方式寻址方式寻址方式操作数操作数操作数操作
21、数计算机体系结构计算机体系结构计算机体系结构计算机体系结构寻址技术寻址技术o寻址实际上是从形式地址到实际地址的转换。寻址实际上是从形式地址到实际地址的转换。形式地址由指令描述,实际地址也称为形式地址由指令描述,实际地址也称为有效有效地址地址。o有效地址指明的是存储器单元的地址或寄存有效地址指明的是存储器单元的地址或寄存器地址。器地址。o必须加速有效地址生成。必须加速有效地址生成。计算机体系结构计算机体系结构计算机体系结构计算机体系结构常用的一些操作数寻址方式常用的一些操作数寻址方式o寄存器寻址寄存器寻址n指令实例:指令实例:Add R4,R3n含义:含义:RegsR4RegsR4RegsR3o
22、立即值寻址立即值寻址n指令实例:指令实例:Add R4,#3n含义:含义:RegsR4RegsR43计算机体系结构计算机体系结构计算机体系结构计算机体系结构常用的一些操作数寻址方式常用的一些操作数寻址方式o偏移寻址偏移寻址n指令实例:指令实例:Add R4,100(R1)n含义:含义:oRegsR4RegsR4Mem100+RegsR1o寄存器间接寻址寄存器间接寻址n指令实例:指令实例:Add R4,(R1)n含义:含义:oRegsR4RegsR4MemRegsR1计算机体系结构计算机体系结构计算机体系结构计算机体系结构常用的一些操作数寻址方式常用的一些操作数寻址方式o索引寻址索引寻址n指令实
23、例:指令实例:Add R3,(R1+R2)n含义:含义:oRegsR3RegsR3MemRegsR1+RegsR2o直接寻址或绝对寻址直接寻址或绝对寻址n指令实例:指令实例:Add R1,(1001)n含义:含义:oRegsR1RegsR1Mem1001计算机体系结构计算机体系结构计算机体系结构计算机体系结构常用的一些操作数寻址方式常用的一些操作数寻址方式o存储器间接寻址存储器间接寻址n指令实例:指令实例:Add R1,(R3)n含义:含义:oRegsR1RegsR1MemMemRegsR3o自增寻址自增寻址n指令实例:指令实例:Add R1,(R2)+n含义:含义:oRegsR1RegsR1
24、MemRegsR2oRegsR2RegsR2d计算机体系结构计算机体系结构计算机体系结构计算机体系结构常用的一些操作数寻址方式常用的一些操作数寻址方式o自减寻址自减寻址n指令实例:指令实例:Add R1,-(R2)n含义:含义:oRegsR2RegsR2doRegsR1RegsR1+MemRegsR2o缩放寻址缩放寻址n指令实例:指令实例:Add R1,100(R2)R3n含义:含义:oRegsR1RegsR1Mem100RegsR2RegsR3*d计算机体系结构计算机体系结构计算机体系结构计算机体系结构常用的一些操作数寻址方式常用的一些操作数寻址方式计算机体系结构计算机体系结构计算机体系结构
25、计算机体系结构偏移寻址偏移寻址计算机体系结构计算机体系结构计算机体系结构计算机体系结构立即址寻址立即址寻址计算机体系结构计算机体系结构计算机体系结构计算机体系结构立即址寻址立即址寻址计算机体系结构计算机体系结构计算机体系结构计算机体系结构指令集结构的功能设计指令集结构的功能设计o一种指令集结构中的指令到底要支持哪些类型的操一种指令集结构中的指令到底要支持哪些类型的操作呢?这就是所谓的指令集结构功能设计问题。作呢?这就是所谓的指令集结构功能设计问题。操作码操作码操作码操作码寻址方式寻址方式寻址方式寻址方式操作数操作数操作数操作数寻址方式寻址方式寻址方式寻址方式操作数操作数操作数操作数计算机体系结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 指令 集结 设计
限制150内