指令格式设计举例_第1页
指令格式设计举例_第2页
指令格式设计举例_第3页
指令格式设计举例_第4页
指令格式设计举例_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、指令格式设计举例综合题综合题1、若某计算机数据线、地址线均是、若某计算机数据线、地址线均是8bit,有一条相对寻,有一条相对寻址的无条件转移指令存于内存的址的无条件转移指令存于内存的20H单元中,指令给出的单元中,指令给出的位移量位移量D=00010101B,设该指令占用,设该指令占用2个字节,试计算:个字节,试计算:(1)取该指令时)取该指令时PC的内容。的内容。(2) 该指令执行时该指令执行时PC的内容。的内容。答: (1)取该指令时PC的内容为20H(2)转移地址=PC+2+D=00100000+00000010+00010101=00110111B2、假设(、假设(R)=1000,(,

2、(1000)=2000,(,(2000)=3000,(PC)=4000,问在以下方式中,访问到的操作数的值,问在以下方式中,访问到的操作数的值是什么?是什么?(1)寄存器寻址)寄存器寻址 RDATA=(R )=1000(2)寄存器间接寻址寄存器间接寻址DATA=(R) =(1000)=2000(3)直接寻址直接寻址 1000DATA=(1000) =2000(4)存储器间接寻址存储器间接寻址 (1000)DATA=(1000)=(2000)(5)相对寻址相对寻址 -2000EA=(PC )-2000=2000DATA=(EA)=(2000)=3000(6)立即数寻址立即数寻址 #2000 DA

3、TA=20003、某台计算机的指令系统中共有、某台计算机的指令系统中共有50条指令,试问:条指令,试问:(1)若采用固定长度编码方式,其操作码的变码长度需)若采用固定长度编码方式,其操作码的变码长度需要多少位?要多少位?(2)设该指令系统中有)设该指令系统中有10条指令的使用概率为条指令的使用概率为90%,其,其余指令为余指令为10%,若采用不等长编码方式,其操作码的平均,若采用不等长编码方式,其操作码的平均长度为多少?长度为多少?(3)若原指令系统采用固定长度编码,后继产品中需增)若原指令系统采用固定长度编码,后继产品中需增加加50条指令,试设计器指令操作码,并计算器平均长度。条指令,试设计

4、器指令操作码,并计算器平均长度。解:解: (1)采用固定长度编码方式,其操作码的变码长度需要6位,即从000000110001(2)采用不等长编码方式,常用的指令用4位,编码表示,即从00001001,其余用7位编码,即从1010000-1110111。平均长度=4*90%+7*10%=4.3(3)若原指令系统采用固定长度编码,后继产品中需增加50条指令,其操作码的变码长度需要6位,即从000000110001。新增指令采用8位编码,即从11001000-111110013、某指令系统字长、某指令系统字长16位位,每个操作数的地址码长每个操作数的地址码长6位位.设系设系统有双操作数指令统有双操

5、作数指令,单操作数指令和无操作数指令单操作数指令和无操作数指令3类类.若单若单操作数指令有操作数指令有M条条,无操作数指令有无操作数指令有N条条,问双操作数指令问双操作数指令最多有多少条最多有多少条?解:因指令总长度为解:因指令总长度为16位位,操作数地址为操作数地址为6位位,则则 双操作数指令的操作码长度为双操作数指令的操作码长度为(16-62)=4位位 单操作数指令的操作码长度为单操作数指令的操作码长度为(16-6)=10位位 零操作数指令的操作码长度为零操作数指令的操作码长度为16位位 设双操作数指令最多有设双操作数指令最多有X条条.则三类指令的操作码范围则三类指令的操作码范围: 双操作

6、数指令的操作码范围双操作数指令的操作码范围: 0000(X-1) 单操作数指令的操作码范围单操作数指令的操作码范围: X000000 X(M-1) 零操作数指令的操作码范围零操作数指令的操作码范围: XM000000 XM111111 N=(24-X)26-M)26 X=24-(N/26+M)/26某台计算机字长某台计算机字长16位,主存容量为位,主存容量为64K,采用单字长单地,采用单字长单地址指令,共有址指令,共有64 条指令。请用四中寻址方式(直接、间条指令。请用四中寻址方式(直接、间接、变址、相对)设计指令格式。接、变址、相对)设计指令格式。 64条指令占用操作码(条指令占用操作码(O

7、P)字段)字段6位,寻址方式(位,寻址方式(X)4种,需种,需2位,剩余位,剩余8位为位移量(位为位移量(D) X=00 直接寻址直接寻址 有效地址有效地址E=D(256单元)单元)X=01 直接寻址直接寻址 有效地址有效地址E=(D)()( 64K)X=10 直接寻址直接寻址 有效地址有效地址E=D+(R) 64K)X=11 直接寻址直接寻址 有效地址有效地址E=D+(PC)()( 64K)OPXD15 10 9 8 7 0设有一台计算机设有一台计算机,其指令长度为其指令长度为16位位,指令格式如下指令格式如下:OPRMD15 11 10 8 7 6 5 0其中其中,OP为操作码为操作码,占

8、占5位位,R为寄存器编号为寄存器编号,占占3位位,可有可有8个寄个寄存器存器;M为寻址方式为寻址方式,占占2位位,与与D一起决定元操作数一起决定元操作数,规定如规定如下下:MM=00,为立即寻址为立即寻址,D为立即数为立即数;MM=01,为相对寻址为相对寻址,D为位移量为位移量;MM=10为变址寻址为变址寻址,D 为位移量为位移量;假定要执行的指令为加法指令假定要执行的指令为加法指令,存放在存放在001000单元中单元中,D的的值为值为01,该指令执行前存储器和有关寄存器的存储情况如该指令执行前存储器和有关寄存器的存储情况如下入所示下入所示,其中地址码和数据时八进制表示其中地址码和数据时八进制

9、表示.000001050001150001250002006002016001000001001001002001003002001002002001002000015变址寄存器变址寄存器R0在以下几种情况下在以下几种情况下,给出该指令执行后给出该指令执行后R0和和PC内容为几内容为几?若若M=00M,(R0)=?若若M=01M,(R0)=?若若M=10M,(R0)=?PC=?解解:从从001000单元中的单元中的108位可知位可知,指令使用指令使用R0寄存器寄存器,指令为加法指令指令为加法指令.(1) M=00时时,为立即寻址为立即寻址,D为立即数为立即数01运算结果运算结果=(R0)+D=

10、000015+01=000016,(R0)=000016(2) M=01时时,为相对寻址为相对寻址,D为位移量为位移量,操作数地址操作数地址=(PC)+D=001001+01=001002运算结果运算结果=(R0)+(001002)=000015+001150=001165,(R0)=001165(3) (3) M=10时时,为变址寻址为变址寻址,D为位移量为位移量,操作数地址操作数地址=(变变址寄存器址寄存器)+D=001002+01=001003运算结果运算结果=(R0)+(001003)=000015+001150=001265,(R0)=001265(4) 无论寻址方式如何无论寻址方式

11、如何,指令执行后指令执行后,PC的内容自动加的内容自动加1,指向下一单元的指令指向下一单元的指令. 所以所以(PC)=001001某计算机字长某计算机字长16位位,直接寻址空间直接寻址空间128字字,变址时的位移量为变址时的位移量为-64+63,16个通用寄存器都可以作为变址寄存器个通用寄存器都可以作为变址寄存器.设计一套设计一套指令系统指令系统,满足下列寻址类型的要求满足下列寻址类型的要求:(1). 直接寻址的二地址指令直接寻址的二地址指令3条条.(2). 变址寻址的一地址指令变址寻址的一地址指令6条条.(3). 寄存器寻址的二地址指令寄存器寻址的二地址指令8条条.(4). 直接寻址的一地址

12、指令直接寻址的一地址指令12条条.(5). 零地址指令零地址指令32条条.OP地址码1地址码2 2位位 7位位 7位位操作码操作码000110 (2). 变址寻址的一地址指令变址寻址的一地址指令6条条,故操作码需要故操作码需要2+3位位;而而变址时的位移量为变址时的位移量为-64+63,其地址码需其地址码需7位位;由于由于16个通个通用寄存器都可以作为变址寄存器用寄存器都可以作为变址寄存器,寄存器需寄存器需4位位.指令长度指令长度为为16位位.OP寄存器索引 操作数 5位位 4位位 7位位操作码操作码1100011001.6条条共共3条条解:解:(1). 直接寻址的二地址指令直接寻址的二地址指

13、令3条条,故操作码需要故操作码需要2位位;而直接寻址空间而直接寻址空间128字字,故地址码需故地址码需log227=7位位,指令长指令长度为度为16位位. (3).寄存器寻址的二地址指令寄存器寻址的二地址指令8条条,操作码需操作码需5+3位位;因有因有16个通用寄存器个通用寄存器,寄存器需寄存器需4位位,故指令字长为故指令字长为16位位.OP 寄存器索引1 寄存器索引2 8位位 4位位 4位位操作码操作码1111000011110111.(4).直接寻址的一地址指令直接寻址的一地址指令12条条,操作码需操作码需5+4位位;直接直接寻址空间寻址空间128字字,地址码需地址码需7位位;指令字长为指

14、令字长为16位位.OP地址码 9位位 7位位操作码操作码111110000111111011.(5).零地址指令零地址指令32条条, 需要需要5位位;但上述指令均为但上述指令均为16位位,所所以以,也将此指令的字长增至也将此指令的字长增至16位位. OP 16位位操作码操作码1111111000000000.1111111000011111ASCll码是码是7位,如果设计主存单元字长为位,如果设计主存单元字长为32位,指位,指令字长为令字长为12位,是否合理?为什么?位,是否合理?为什么?解:指令字长设计为解:指令字长设计为12位不是很合理。主存单元字位不是很合理。主存单元字长为长为32位,一

15、个存储单元可存放位,一个存储单元可存放4个个ASCII码,余下码,余下4位可作为位可作为ASCII码的校验位(每个码的校验位(每个ASCII码带一位校码带一位校验位),这样设计还是合理的。验位),这样设计还是合理的。但是,设计指令字长为但是,设计指令字长为12 位就不合理了,位就不合理了,12位位的指令码存放在字长的指令码存放在字长32位的主存单元中,造成位的主存单元中,造成19位位不能用而浪费了存储空间。不能用而浪费了存储空间。 指令格式结构如下所示,试分析指令格式及寻址方式特点。指令格式结构如下所示,试分析指令格式及寻址方式特点。解:指令格式及寻址方式特点如下:解:指令格式及寻址方式特点如

16、下: 单字长二地址指令;单字长二地址指令; 操作码操作码OP可指定可指定=64条指令;条指令; RR型指令,两个操作数均在寄存器中,型指令,两个操作数均在寄存器中,源和目标都是通用寄存器(可分别指定源和目标都是通用寄存器(可分别指定16个个寄存器之一);寄存器之一); 这种指令格式常用于算术逻辑类指令。这种指令格式常用于算术逻辑类指令。 指令格式结构如下所示,试分析指令格式及寻址方式特点指令格式结构如下所示,试分析指令格式及寻址方式特点 解:指令格式及寻址方式特点如下:解:指令格式及寻址方式特点如下: 双字长二地址指令;双字长二地址指令; 操作码操作码OP可指定可指定=64条指令;条指令; RS型指令,两个操作数一个在寄存器中(型指令,两个操作数一个在寄存器中(16个个寄存器之一),另一个在存储器中;寄存器之一),另一个在存储器中; 有效地址通过变址求

温馨提示

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

评论

0/150

提交评论