- 基址寻址方式和变址寻址方式由什么优点?
(1) 基址寻址的优点是可扩大寻址范围(基址寄存器的位数大于形式地址A的位数);用户不必考虑自己的程序存于主存的哪个空间区域,因此有利于多道程序设计,并可用于编制浮动程序,但偏移量(形式地址A)的位数较短。
(2) 变址寄存器的优点是可扩大寻址范围(变址寄存器的位数大于形式地址A的位数);在数组处理过程中可设定A为数组的首地址,不断改变变址寄存器ΙΧ的内容,便可很容易形成速度中任意数据的地址,特别适合编制循环程序。偏移量(变址寄存器ΙΧ)的位数足以表示整个存储空间。 - 与堆栈类似的一种存储器结构是队列,它将堆栈的后进先出(LIFO)的访问方式改为先进先出(FIFO)方式,试描述用随机访问的存储器空间以件方式实现队列的方法,指出写入队列的指令以及从队列中读取数据的指令的功能。
- 许多指令系统中都包含一种NOP指令,表示空操作,它只是增加PC的数值,而对CPU的状态没有任何作用。指出这种指令的作用。
一个NOP为一个指令周期,主要用于精确定时或延时NOP指令的作用:
(1) 通过NOP指令的填充(NOP指令一个字节),使指令按字对齐,从而减少取指令时的内存访问次数,
(2) 通过NOP指令产生一定的延迟,但是,对于快速的CPU来说效果不明显。
(3) I/O传输时,也会用一下NOP,等待缓冲区清空,总线恢复。
(4) 清除由上一个算术逻辑指令设置的flag位。
综合题 - 一个计算机系统采用32位单字长指令,地址码为12位。如果定义了250种二地址指令,那么还可以有多少条单地址指令?
系统指令可能有三种组合(分别为二地址、一地址、零地址)操作码(8位)+2地址码(12位)/操作码(8+12位)+地址码(12)/操作码(32位)
250<28=256 即,还有256-250=6位可以用于扩展一地址,及由上一步可知, 如果无零地址时 ,共可能有 6212=24K 条一地址指令。 - 设计算机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 - 假设寄存器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 - 一条相对转移指令长四个字节存储在存储器中,地址为75010的地方,转移目标为地址为500问:
(1) 指令读取之后PC的值为多少?
75010+4=75410
(2) 指令的相对地址字段的值为多少?
500-754=-254
(3) 该指令的相对地址字段需要多少二进制位?
254<28相对地址需要8个二进制位
(4) 如果采用补码表示相对地址字段,有什么好处?需要多少位?
如果采用补码表示相对地址,则可以形成向前和向后的转移,即转移到该指令的前面以及后面。这样需要增加符号位,一共9位相对地址。 - 存储器堆栈的顶部内容是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 - 某计算机的字长为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 - 在大数端存储方式下,向存储器中存储为1000的地方写入一个32位的字1267AB9216,然后分别从存储器中的地址分别为1000、1001、1002、1003的单元读取4个字节,问这四个字节的内容分别是什么?
1000 为 12(H)
1001 为67(H)
1002为AB(H)
1003为92(H)
计算机组成原理复习4:指令系统
最新推荐文章于 2024-02-21 15:13:19 发布