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

下载本文档

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

文档简介

指令格式设计举例综合题1、若某计算机数据线、地址线均是8bit,有一条相对寻址的无条件转移指令存于内存的20H单元中,指令给出的位移量D=00010101B,设该指令占用2个字节,试计算:(1)取该指令时PC的内容。(2)该指令执行时PC的内容。答:(1)取该指令时PC的内容为20H(2)转移地址=PC+2+D=00100000+00000010+00010101=00110111B2、假设(R)=1000,(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)立即数寻址#2000DATA=20003、某台计算机的指令系统中共有50条指令,试问:(1)若采用固定长度编码方式,其操作码的变码长度需要多少位?(2)设该指令系统中有10条指令的使用概率为90%,其余指令为10%,若采用不等长编码方式,其操作码的平均长度为多少?(3)若原指令系统采用固定长度编码,后继产品中需增加50条指令,试设计器指令操作码,并计算器平均长度。解:(1)采用固定长度编码方式,其操作码的变码长度需要6位,即从000000—110001(2)采用不等长编码方式,常用的指令用4位,编码表示,即从0000—1001,其余用7位编码,即从1010000---1110111。平均长度=4*90%+7*10%=4.3(3)若原指令系统采用固定长度编码,后继产品中需增加50条指令,其操作码的变码长度需要6位,即从000000—110001。新增指令采用8位编码,即从11001000--111110013、某指令系统字长16位,每个操作数的地址码长6位.设系统有双操作数指令,单操作数指令和无操作数指令3类.若单操作数指令有M条,无操作数指令有N条,问双操作数指令最多有多少条?解:因指令总长度为16位,操作数地址为6位,则双操作数指令的操作码长度为(16-6×2)=4位单操作数指令的操作码长度为(16-6)=10位零操作数指令的操作码长度为16位设双操作数指令最多有X条.则三类指令的操作码范围:双操作数指令的操作码范围:0000~(X-1)

单操作数指令的操作码范围:

X•000000~X•(M-1)

零操作数指令的操作码范围:

X•M•000000~X•M•111111N=((24-X)×26-M)×26X=24-(N/26+M)/26某台计算机字长16位,主存容量为64K,采用单字长单地址指令,共有64条指令。请用四中寻址方式(直接、间接、变址、相对)设计指令格式。

64条指令占用操作码(OP)字段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)OPXD15109870设有一台计算机,其指令长度为16位,指令格式如下:OPRM中,OP为操作码,占5位,R为寄存器编号,占3位,可有8个寄存器;M为寻址方式,占2位,与D一起决定元操作数,规定如下:MM=00,为立即寻址,D为立即数;MM=01,为相对寻址,D为位移量;MM=10为变址寻址,D为位移量;假定要执行的指令为加法指令,存放在001000单元中,D的值为01,该指令执行前存储器和有关寄存器的存储情况如下入所示,其中地址码和数据时八进制表示.000001050001150001250……002006002016001000001001001002001003002001002002001002000015变址寄存器R0在以下几种情况下,给出该指令执行后R0和PC内容为几?若M=00M,(R0)=?若M=01M,(R0)=?若M=10M,(R0)=?PC=?解:从001000单元中的10—8位可知,指令使用R0寄存器,指令为加法指令.(1)

M=00时,为立即寻址,D为立即数01运算结果=(R0)+D=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)

无论寻址方式如何,指令执行后,PC的内容自动加1,指向下一单元的指令.所以(PC)=001001某计算机字长16位,直接寻址空间128字,变址时的位移量为-64~+63,16个通用寄存器都可以作为变址寄存器.设计一套指令系统,满足下列寻址类型的要求:(1).直接寻址的二地址指令3条.(2).变址寻址的一地址指令6条.(3).寄存器寻址的二地址指令8条.(4).直接寻址的一地址指令12条.(5).零地址指令32条.OP地址码1地址码22位7位7位操作码000110(2).变址寻址的一地址指令6条,故操作码需要2+3位;而变址时的位移量为-64~+63,其地址码需7位;由于16个通用寄存器都可以作为变址寄存器,寄存器需4位.指令长度为16位.OP寄存器索引操作数5位4位7位操作码1100011001….6条共3条解:(1).直接寻址的二地址指令3条,故操作码需要2位;而直接寻址空间128字,故地址码需log227=7位,指令长度为16位.(3).寄存器寻址的二地址指令8条,操作码需5+3位;因有16个通用寄存器,寄存器需4位,故指令字长为16位.OP寄存器索引1寄存器索引28位4位4位操作码1111000011110111…..(4).直接寻址的一地址指令12条,操作码需5+4位;直接寻址空间128字,地址码需7位;指令字长为16位.OP地址码9位7位操作码111110000111111011…..(5).零地址指令32条,需要5位;但上述指令均为16位,所以,也将此指令的字长增至16位.OP16位操作码1111111000000000…..1111111000011111ASCll码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?

解:指令字长设计为12位不是很合理。主存单元字长为32位,一个存储单元可存放4个ASCII码,余下4位可作为ASCII码的校验位(每个ASCII码带一位校验位),这样设计还是合理的。

但是,设计指令字长为12位就不合理了,12位的指令码存放在字长32位的主存单元中,造成19位不能用而浪费了存储空间。指令格式结构如下所示,试分析指令格式及寻址方式特点。

解:指令格式及寻址方式特点如下:

①单字长二地址指令;

②操作码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

提交评论