组成原理课件 - 指令系统_第1页
组成原理课件 - 指令系统_第2页
组成原理课件 - 指令系统_第3页
组成原理课件 - 指令系统_第4页
组成原理课件 - 指令系统_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

了解机器语言的基本概念;

掌握指令格式、寻址方式、指令字长及指令类型对指令系统设计的影响;会根据指令格式、指令字长及寻址方式要求设计指令的编码。

第4章指令系统§4·1机器指令一、基本概念1、机器指令由0、1代码表示,计算机硬件能够识别并直接执行的操作命令。2、指令系统一台计算机所有机器指令的集合,它反映了该计算机具有的基本功能。它是软件和硬件的主要界面。3、指令的执行过程取指令→分析指令→执行指令软件硬件指令系统

地址码二、指令格式指明指令所完成的操作,其位数反映了机器的操作种类即机器指令的条数。1、操作码2、地址码指明与操作数有关的信息,操作数、操作数地址或运算结果地址。操作码位数n与机器指令条数m的关系2n≥m或n≥log2m操作码例:某计算机有78条指令,采用等长操作码编码需要多少位?三、地址码格式指令地址码格式中要指明一条指令操作数地址的个数及操作数地址采用什么方式给出。

1、三地址指令OPA1A2A3功能:(A1)OP(A2)→A3特点:

(1)两个操作数均保持不变,可再次使用;(2)适用于字长较长的大、中型机。三、地址码格式2、二地址指令OPA1A2功能:(A1)OP(A2)→A1特点:

(1)操作数A1被运算结果替代;(2)适用于字长较短的小型机和微型机。三、地址码格式3、一地址指令OPA功能:OP(A)→A特点:

(1)操作数A被运算结果替代;(2)在许多微型机中,双操作数指令也采用一地址指令格式,在指令中源操作数由地址码A给出,另一操作数隐含在累加器AX中。(AX)OP(A)→AX(3)适用于字长较短的小型机和微型机。三、地址码格式4、零地址指令OP特点:

(1)无需任何操作数;(2)所需操作数是隐含指定的。四、操作码格式1、定长的操作码操作码的位数与位置固定,占据指令最前面的几位。IBM370、VAX-11、Intel8086/8088特点:(1)简化操作码译码器的设计,缩短指令译码时间;(2)指令扩展性差;(3)广泛用于大、中、小型机及RISC中。例:一台模型机有7条指令,采用定长操作码,操作码位数为几位?应采用什么样的译码器?四、操作码格式2、扩展操作码操作码的位数不固定,占据指令前面若干位。如

PDP-11

机。特点:(1)常用指令用较短的操码,不常用的指令用较长的操作码,可缩短指令操作码平均长度;(2)指令扩展性强,便于增加新指令;(3)指令译码电路复杂;(4)任何短码不能为长码的前缀,确保编码的唯一性。例:某台计算机的指令系统中共有50条指令,试问:(1)若采用定长编码方式,其操作码的编码长度需要多少位?(2)设该指令系统中有10条指令的使用概率为90%,其余为10%,若采用不等长编码方式,其操作码的平均长度为多少?(3)若原指令系统采有固定长度编码,后继产品中需增加50条指令,试设计其指令操作码,并计算其平均长度。

五、指令字长1、定字长指令2、变字长指令指令字长一定,地址码较多用较短操作码,地址码较少用较长操作码。如PDP-11机指令字长不同,一般使用频率高的指令用较短操作码;使用频率低的指令用较长的较长的操作码。Pentium机采用可变长指令格式,最短的1个字节,最长的有12个字节。属于CISC结构。8086的指令字长为1~6个字节,80486的指令字长为1~11位。

五、指令字长3、特点:(1)指令字长为字节的整数倍;(2)指令字长越长,指令功能丰富,占用存储空间多读取指令时间长;练习:某计算机的指令长度为16位,需设置二地址、一地址和零地址指令三种,每个操作数的地址码占6位,用操作码扩展的方法设计出这三种指令的格式,并指出所设计的各种指令的数目。§4·2寻址方式了解机器语言的基本概念;

掌握指令格式、指令字长、寻址方式及指令类型对指令系统设计的影响;会根据指令格式、指令字长及寻址方式要求设计指令的编码。六、寻址方式在程序的运行过程中,形成指令地址或操作地址的方式。(一)指令的寻址方式1、顺序寻址方式:程序按其执行的先后次序存放在内存中,由PC提供要执行的指令地址。2、跳跃寻址方式:由程序控制类指令的执行而改变原来程序的执行顺序。(二)操作数的寻址方式指令中提供操作数地址(或操作数)的方法。OP寻址特征MOD形式地址D1、立即寻址:操作数在指令中。Data=D2、直接寻址:操作数地址在指令中。EA=DOPMODD(操作数)OPMODD操作数D特点:速度快,寻址范围受D位数的限制,寻址空间为2D特点:速度快,适用于操作数固定的场合。3、存储器间接寻址操作地址在内存中,在数在指令中给出的是操作数地址的地址。EA=(D)OPMODD操作数地址EAD操作数EA特点:速度慢,可扩大操作数的寻址范围。例:设指令字长和存储字长均为16位,D=8,问直接和间接寻址时的寻址范围各为多大?4、寄存器寻址操作数在寄存器中,在指令中给出寄存器号。EA=ROPMODR操作数R5、寄存器间接寻址操作数地址在寄存器中,在指令中给出寄存器号。OPMODREAR操作数EA寄存器组寄存器组内存6、隐含寻址在指令中不指出操作数的地址,操作数的地址隐含在操作码中,此时操作数一般隐含于堆栈或累加器中。特点:可缩短指令字长。7、基址寻址

操作数的有效地址EA等于指令中的形式地址D与基址寄存器BR中内容相加。OPMODDBRALU操作数EA内存特点:可扩大指令对主存的寻址范围,可实现全空间寻址。主要用于为程序和数据分配存储空间,基址寄存器中的内容通常由操作系统或管理程序确定。7、变址寻址

操作数的有效地址EA等于指令字中的形式地址D与变址寄存器IX中内容相加。OPMODDIXALU操作数EA内存特点:主要用于处理数组问题。8、相对寻址

操作数的有效地址EA等于指令字中的形式地址D与程序计数器PC中内容相加。EA=(PC)+DOPMODDPCALU操作数EA内存特点:主要用于转移类指令。指令系统中采用不同寻址方式的目的主要是缩短指令长度,扩大寻址空间,提高编程的灵活性。例:一种二地址R-S型(寄存器/存储器)指令的结构如下所示:OP9通用寄存器4I1X2偏移量D16其中I为间接寻址标志位,X为寻址模式字段,D为偏移量字段。通过I、X、D的组合,可构成下表所示的寻址方式,请写出表中6种寻址方式的名称。有效地址E算法E=DE=(PC)DE=(R2)DE=(R3)E=(D)E=(R1)D寻址方式名称说明PC程序计数器R2为变址寄存器R1为基址寄存器I000110X000110110011+-+-+-(三)Pentium机的寻址方式寻址方式名称有效地址E算法说明立即寄存器直接基址基址+偏移量比例变址+偏移量基址+变址+偏移量基址+比例变址+偏移量相对EEEEEEE操作数在指令中操作数在寄存器中=DD为偏移量=(B)=(B)+DB为基址寄存器=(I)×S+DI为变址寄存器,S为比例因子=(B)+(I)+D=(B)+(I)×S+D=(PC)+DPC为程序计数器1、定长操作码编码方式中操作码位数n与指令条数m有何关系?2、采用扩展操作码编码方式时有哪些注意事项?知识回顾例:某计算机字长16位,运算器16位,有16个通用寄存器,8种寻址方式,主存容量为64K字,指令中地址码由寻址方式字段和寄存器字段组成。(1)单、双操作数指令最各有多少条?(2)直接寻址范围有多大?(双字长)(3)间接寻址范围有多大?(单字长)(4)变址寻址(双字长)的范围有多大?练习:某机存储字长为32位,共有机器指令100条,指令单字长,等长操作码,CPU内部有通用寄存器32个,可做变址寄存器用。存储器按字节编址,指令拟用直接寻址、间接寻址、变址寻址和相对寻址4种方式。(1)分别画出采用4种不同寻址方式的单地址指令的指令格式。(2)采用直接寻址和间接寻址方式时,可寻址的存储器空间各是多少?(3)写出4种方式下,有效地址E的表达式。七、指令类型1、数据传送类指令2、算术/逻辑运算指令3、程序控制类指令4、输入/输出指令5、其他指令八、RISC指令系统和CISC指令系统的特点1、RSIC精简指令系统计算机的特点(1)指令数目较少,选使用频度高的简单指令。(2)指令长度固定、指令格式、寻址方式种类少。(3)只有存/取数指令访存,其余指令均在寄存器之间进行。(4)大部分指令在一个机器周期内完成,采用流水线技术。每条指令的平均执行时间小于一个是时钟财期。(5)CPU中通用寄存器数量相当多。(6)控制器采用组合逻辑控制,不用微程序控制。(7)采用优化的编译程序。(8)指令功能简单使得程序代码较长,占用较多的存储空间。如:SPARC机只有75条指令,3种指令格式,4种寻址方式120~136个寄存器。MIPSR400094/1/322、CISC复杂指令系统计算机的特点(1)指令系统复杂庞大。(200~300条)(2)寻址方式、指令格式多。(3)指令字长不固定。(4)可访存指令多。(5)指令使用频率、执行时间相差大。(6)采用微程序控制器。Intel80486计算机有235条指令,11种寻址方式;Pentuim有191条指令,9种寻址方式。练习:某机字长16位,直接寻址空间为128字,变址时的位移时为-64~+64,16个通用寄存器都可以作为变址寄存器。设计一套指令系统,满足下列寻址类型的要求:(1)直接寻址的二地址指令3条。(2)变址寻址的一地址指令6条。(3)寄存器寻址的二地址指令8条。(4)直接寻址的一地址指令12条。(5)零地址指令32条。2009年考研:1、某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一个字节为操作码字段,第二个字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是()。A.2006HB.2007HC.2008HD.2009H2、下列关于RISC的叙述中,错误的是()。A.RISC普遍采用微程序控制器B.RISC大多数指令在一个时钟周期内完成C.RISC的内部通用寄存器数量相对CISC多D.RISC的指令数、寻址方式和指令格式种类相对CISC少(2010考研)某计算机字长为16位,主存地址空间大小为128KB,按字编址。采用单字长指令格式,指令各字段定义如下:转移指令采用相寻址方式,相对偏移量用补码表示。寻址方式定义如下:(1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?MAR和MDR各多少们位?(2)转移指令的目标地址范围是多少?(3)若操作码0010B表示加法操作(add),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则执行“add(R4),(R5)+”(逗号前为源操作数)对应的机器码是什么?哪些寄存器和存储单元的内容会改变?改变后的内容是什么?OP1512MsRs116MdRd50Ms/Md000B001B010B011B寻址方式寄存器直接寄存器间接寄存器间接、自增011B助记符Rn(Rn)(Rn)+D(Rn)含义操作数=(Rn)操作数=((Rn))操作数=((Rn)),(Rn)+1→Rn转移目标地址=(PC)+(Rn)2010年考研1、下列选项中,能缩短程序执行时间的措施是()Ⅰ.提高CPU时钟频率Ⅱ.优化数据通路结构Ⅲ.对程序进行编译优化A.仅Ⅰ和ⅡB.仅Ⅰ和ⅢC.仅Ⅱ和ⅢD.Ⅰ、Ⅱ和Ⅲ2、假定有4个整数用8位补码分别表示为r1=FEH,r2=F2H,r3=90H,r4=F8H。若运算结果存放在一个8位寄存器中,则下列运算中会发生溢出的是()。A.r1×r2B.r2×r3C.r1×r4D.r2×r42010年考研3、假定变量I、f和d的数据类型分别为int、float和double(int用补码表示,float和double分别用IEEE754单精度和双精度浮点数格式表示),已知i=785,f=1.5678e3,d=1.5e100。若在32位机器中执行下列关系表达式,则结果为“真”的是()。Ⅰ.i==(int)(float)iⅡ.f==(float)(int)fⅢ.f==(float)(double)fⅣ.(d+f)-d==fA.仅Ⅰ和ⅡB.仅Ⅰ和ⅢC.仅Ⅱ和ⅢD.仅Ⅲ和Ⅳ4、下列寄存器中,汇编语言程序员可见的是()。A.存储器地址寄存器(MAR)B.存储器数据寄存器(MDR)C.程序计数器(PC)D.指令寄存器(IR)2010年考研5、不列选项中,不会引起指令流水线阻塞的是()。A.数据旁路(转发)B.数据相关C.条件转移D.资源冲突6、下列选项中英文缩写均为总线标准的是()。A.PCI、CRT、USB、EISAB.ISA、CPI、VESA、EISAC.ISA、SCSI、RAM、MIPSD.ISA、EISA、PCI、PCI-Express7、单级中断系统中,中断服务程序内的执行顺序是()。Ⅰ.保护现场Ⅱ.开中断Ⅲ.关中断Ⅳ.保存断点Ⅴ.中断事件处理Ⅵ.恢复现场Ⅶ.中断返回A.Ⅰ→Ⅴ→Ⅵ

→Ⅱ→ⅦB.Ⅲ→Ⅰ→Ⅴ→ⅦC.Ⅲ→Ⅳ→Ⅴ→

Ⅶ→Ⅵ

D.Ⅳ→Ⅰ→Ⅴ→Ⅵ→Ⅶ2010年考研8、假定一台计算机的显示存储器用DRAM芯片实现,若要示显示分辨率为1600×1200,颜色深度为24位,帧频为85HZ,显存总带宽的50%用来刷新屏幕,则需要的显存总带宽至少约为()。A.245MbpsB.979MbpsC.1958MbpsD.7834Mbps9、下列选项中,操作系统提供应用程序的接口是()。A.系统调用B.中断C.库函数D.原语7、单级中断系统中,中断服务程序内的执行顺序是()。Ⅰ.保护现场Ⅱ.开中断Ⅲ.关中断Ⅳ.保存断点Ⅴ.中断事件处理Ⅵ.恢复现场Ⅶ.中断返回A.Ⅰ→Ⅴ→Ⅵ→Ⅱ→ⅦB.Ⅲ→Ⅰ→Ⅴ→ⅦC.Ⅲ→Ⅳ→Ⅴ→Ⅶ→ⅥD.Ⅳ→Ⅰ→Ⅴ→Ⅵ→Ⅶ一、填空1、指令的编码将指令分成()、()等字段。2、通常指令编码的第一个字段是()。3、操作数直接出现在地址码位置的寻址方式称为()寻址。4、寄存器寻址方式中,指令的地址码位置部分给出的是(),而操作数在()。5、直接寻址方式指令中,直接给出(),只需()一次就可获得操作数。6、寄存器间接寻址方式指令中给出的是()所在的寄存器号。7、存储器间接寻址方式指令中给出的是()所在的存储器的地址,CPU需要访问内存()次才能获得操作数。8、变址寻址方式中操作数的地址由()与()的和产生。9、相对寻址方式中操作数的地址由()与()之和产生。10、只有操作码而没有地址码的指令称为()指令。二、判断题1、执行指令时,指令在内存中地址存放在指令寄存器中。2、没有设置乘、除法指令的计算机系统中,就不能实现乘、除法运算。3、程序计数器PC用来指令从内存中取指令。4、内存地址寄存器用来指示从内存中取数据。5、计算机指令是指挥CPU进行操作的命令,指令通常由操作码和操作数地址码组成。6、浮点运算指令对用于科学计算的计算机是很必要的,可以提高机器的运算速度。7、不设置浮点运算指令的计算机,就不能用于科学计算。8、扩展操作码是种优化技术,它使操作码的长度随地址码的减少而增加,不同地址的指令可以具有不同长度的操作码。9、RISC没有乘、除指令和浮点运算指令。10、RISC的主要设计目标是减少指令数、降低软、硬件开销。(1)二地址指令三条,直接寻址的空间为128,所以指令中的D=7因为二地址指令所以指令格式如下:操作码编码为00、01、10(2)变址寻址的一地址指令6条变址时的位移量为-64~+63需用7位表示位移量的范围,4位表示通用寄存器寻址,操作码5位。格式如下:操作码编码为11000、1100111010、1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论