计算机组成原理复习4:指令系统

  1. 基址寻址方式和变址寻址方式由什么优点?
    (1) 基址寻址的优点是可扩大寻址范围(基址寄存器的位数大于形式地址A的位数);用户不必考虑自己的程序存于主存的哪个空间区域,因此有利于多道程序设计,并可用于编制浮动程序,但偏移量(形式地址A)的位数较短。
    (2) 变址寄存器的优点是可扩大寻址范围(变址寄存器的位数大于形式地址A的位数);在数组处理过程中可设定A为数组的首地址,不断改变变址寄存器ΙΧ的内容,便可很容易形成速度中任意数据的地址,特别适合编制循环程序。偏移量(变址寄存器ΙΧ)的位数足以表示整个存储空间。
  2. 与堆栈类似的一种存储器结构是队列,它将堆栈的后进先出(LIFO)的访问方式改为先进先出(FIFO)方式,试描述用随机访问的存储器空间以件方式实现队列的方法,指出写入队列的指令以及从队列中读取数据的指令的功能。
  3. 许多指令系统中都包含一种NOP指令,表示空操作,它只是增加PC的数值,而对CPU的状态没有任何作用。指出这种指令的作用。
    一个NOP为一个指令周期,主要用于精确定时或延时NOP指令的作用:
    (1) 通过NOP指令的填充(NOP指令一个字节),使指令按字对齐,从而减少取指令时的内存访问次数,
    (2) 通过NOP指令产生一定的延迟,但是,对于快速的CPU来说效果不明显。
    (3) I/O传输时,也会用一下NOP,等待缓冲区清空,总线恢复。
    (4) 清除由上一个算术逻辑指令设置的flag位。
    综合题
  4. 一个计算机系统采用32位单字长指令,地址码为12位。如果定义了250种二地址指令,那么还可以有多少条单地址指令?
    系统指令可能有三种组合(分别为二地址、一地址、零地址)操作码(8位)+2地址码(12位)/操作码(8+12位)+地址码(12)/操作码(32位)
    250<28=256 即,还有256-250=6位可以用于扩展一地址,及由上一步可知, 如果无零地址时 ,共可能有 6
    212=24K 条一地址指令。
  5. 设计算机A有60条指令,指令操作码为6位固定长度编码,从000000到111011。其后继产品B需要增加32条指令,并与A保持兼容,
    (1) 试采用操作码扩展技术为计算机B设计指令操作码。
    B要与A保持兼容
    000000-111011:A的操作码部分
    B需从地址码中占用三位可表示新的32条指令
    (2) 计算操作码平均长度。
    60 条指令长度为6
    32 条指令长度为9
    (606+329)/92=7.04
  6. 假设寄存器R中的数值为1000,地址为1000的存储器中存储的数据为2000,地址为2000的存储器中,存储的数据为3000,PC的值为4000,问在以下寻址方式下询问到的指令操作数的值是什么?
    (1) 寄存器寻址 R ( R )=1000
    (2) 寄存器间接寻址 ( R ) (1000)=2000
    (3) 直接寻址 1000 (1000)=2000
    (4) 存储器间接寻址 (1000) (2000)=3000
    (5) 相对寻址 -2000(PC)
    (6) 立即数寻址 #2000 2000
  7. 一条相对转移指令长四个字节存储在存储器中,地址为75010的地方,转移目标为地址为500问:
    (1) 指令读取之后PC的值为多少?
    75010+4=75410
    (2) 指令的相对地址字段的值为多少?
    500-754=-254
    (3) 该指令的相对地址字段需要多少二进制位?
    254<28相对地址需要8个二进制位
    (4) 如果采用补码表示相对地址字段,有什么好处?需要多少位?
    如果采用补码表示相对地址,则可以形成向前和向后的转移,即转移到该指令的前面以及后面。这样需要增加符号位,一共9位相对地址。
  8. 存储器堆栈的顶部内容是100016,堆栈向下生长,堆栈指针寄存器SP的内容是10016,y一条双字长的子程序调用指令位于存地址为200016,200116处,指令第二个字的内容是地址字段,内容为300016.。问以下情况PC、SP和栈顶的内容。
    (1) 子程序调用指令被读取之前。
    (PC)=2000H,(SP)=100H ,栈顶内容=1000H
    (2) 子程序调用指令被执行之后。
    子程序调用指令被执行之后,内容为子程序入口的指令地址,返回地址进入栈顶,栈指针减一;由于子程序调用指令为双字长,所以返回地址为子程序调用指令的地址加2,即2000H+2=2002H (pc)=3000H,(SP)=FFH 栈顶内容=2002H
    (3) 从子程序返回之后。
    (pc)=2002H (sp)=100H,栈顶内容=1000H
  9. 某计算机的字长为16位,存储器按字编址,访存指令格式为16位,其中5位操作码;3位访寻址方式字段,分别表示立即寻址、直接寻址、间接寻址、变址寻址和相对寻址5种8位地址码字段。设PC和Rx分别为程序计数器和变址寄存器。问:
    (1) 该格式能定义多少种指令?
    因为操作码字段长度为5位(k位),因此能定义25=32种(2K种)操作。
    (2) 各种寻址方式的寻址范围是多少?
    N:机器字长,A:指令的地址位长
    0 1个字,及指令字
    1 256个字(2A字)
    2 64K字(2A字)
    3 64K 字(2A字)
    4 256个字(PC值附近256个字)(2A 字)
    (3) 写出各种寻址方式的有效地址EA的计算式。
    0 EA=(PC) 1EA=A 2EA=(A) 3EA=(RX)+A 4EA=(PC)+A
  10. 在大数端存储方式下,向存储器中存储为1000的地方写入一个32位的字1267AB9216,然后分别从存储器中的地址分别为1000、1001、1002、1003的单元读取4个字节,问这四个字节的内容分别是什么?
    1000 为 12(H)
    1001 为67(H)
    1002为AB(H)
    1003为92(H)
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值