通过题目来讲一讲指令系统相关知识 1 | 计算机组成与系统结构专题
题目1
设某指令系统的指令字为16位,每个地址码为6位,若二地址指令15条,一地址指令34条,则剩下的零地址指令最多有多少条?
题目1 解答
二地址的地址码部分占12位 则其操作码为4位,最多16种编码,而二地址指令为15条(0000-1110),则还剩一种编码1111未使用。
一地址的地址码部分占6位,则其操作码部分为10位,最高4位为1111 则还剩下6位可以使用。 6位最多有2^6=64种编码,用其中的32+2=34种编码,即(11110 00000-11110 11111,11111 00000-11111 00001 )
零地址有16位操作码,最高5位只能是11111,接下来5位为00010-11111,再接下来6位为(000000-111111),则有30*2^6种编码可使用。
题目2
假设某计算机字长32位,CPU有32个32位的通用寄存器,指令长度为单字长,指令操作码占6位。请回答以下问题,注意写出分析过程:
(1)对于存储器直接寻址方式的RS型指令,能直接寻址的最大主存空间是多少?
(2)对于采用通用寄存器作为基址寄存器的RS型指令,则能直接寻址的最大主存空间是多少?
(注:按操作数的来源,指令可分为:RR型、SS型和RS型。RR型:两个操作数均来自寄存器的指令;SS型:两个操作数均来自内存的指令;RS型:操作数分别来自寄存器和内存的指令)
题目2 解答
因为有32个寄存器,所以寄存器编号R占5位,间址位I占1位,当I=0,存储器寻址的操作数为直接寻址,当I=1时为间接寻址,又因为操作码占6位,所以能直接寻址的最大主存空间是2^(32-6-6) = 2^20.
如采用基址寻址,则指令格式中应给出基址寄存器号,以指定哪一个通用寄存器用作基址寄存器。指令格式变为:
增加寻址特征位X,当X=1时,以目标寄存器R作为基址寄存器进行基址寻址。
基址寻址可访问存储空间为:2^32字。
- 点赞
- 收藏
- 关注作者
评论(0)