• 2021-04-14
    某机器字长 32 位,CPU 内有 32 个 32 位的通用寄存器,设计一种能容纳 64 种操作的指令系统,设指令字长等于机器字长。
    (1) 如果主存可直接或间接寻址,采用寄存器-存储器型指令,能直接寻址的最大存储空间是多少?试画出指令格式。
    (2) 在(1)的基础上,如果采用通用寄存器作为基址寄存器,则上述寄存器-存储器型指令的指令格式又如何设计?画出指令格式并指出这类指令可访问多大的存储空间

  • (1)64种操作,则操作码位数 = log264 = 6寄存器32个,则寄存器编码位数 = log232 = 5
    有直接寻址或间接寻址,则寻址特征位 位数 1位,所以寄存器-存储器型指令格式:(4分)
    (4分)(4分)
    (4分)OP 6位
    M 1位R 5位
    A 32-6-1-5=20位说明:OP 为操作码,表明做什么操作 6位 (1分)
    M寻址特征位 1位 ,表明主存的寻址方式 0:直接寻址 1:间接寻址 (1分)R 寄存器操作数,指明寄存器的编号 5位 (1分)
    A 存储器地址,表明操作数的地址 20位 (1分)采用直接寻址时,A的位数为 20位则寻址的最大存储空间为220 =1M (4分)
    (2)在(1)的基础上采用通用寄存器作为基址寄存器,则增加了基址寻址,寻址特征位增加到2位 还得再增加一个基址寄存器的位数,则A的位数为32-6-2-5-5=14位,所以指令格式为:
    (2分)(4分)
    (2分)(2分)
    (4分)OP 6位
    M 2位R 5位
    基址R 5位A 14位
    特点:增加了基址寻址方式,直接寻址范围变小 为214 =16K (5分)间接寻址与基址寻址范围 都是232 =4G (5分)

    举一反三

    内容

    • 0

      某机指令字长[tex=1.0x1.0]5Wf867QmqWheYOY0G/cAHw==[/tex]位,共有[tex=1.0x1.0]BYy53N5r8E+k5aEHlOAAkQ==[/tex]种操作,若[tex=2.071x1.0]4KiX63QwBg3rBb/SYYoSTA==[/tex]内有[tex=1.0x1.0]mqXSIedfIXuT5QAh9Hrzdg==[/tex]个[tex=1.0x1.0]5Wf867QmqWheYOY0G/cAHw==[/tex]位的通用寄存器,采用寄存器─存储器型指令,能直接寻址的最大主存空间是      ,如果采用通用寄存器作为基址寄存器,则寄存器—存储器型指令能寻址的最大主存空间是      。[br][/br]

    • 1

      某机字长32位能完成32种操作,CPU 有32个通用寄存器(32位),主存容量为 4G 字。(1)若实现 RR 型指令,其中 R 为通用寄存器,并能实现立即寻址,画出其指令格式。(2)若实现 RS 型指令,其中R为通用寄存器,S 为存储器地址(直接寻址或寄存器间址实现),画出其指令格式。

    • 2

      某机指令字长32位,共有64种操作,若CPU内有16个32位的通用寄存器,如果采用通用寄存器作为基址寄存器,则寄存器—存储器型指令能寻址的最大主存空间是______。 A: 4M B: 8M C: 4G D: 8G

    • 3

      某机字长为16位,采用一地址格式的指令系统,允许直接、间接、变址、基址寻址,变址寄存器和基址寄存器均为16位,请回答: (1)若采用单字指令,共能完成108种操作,画出指令格式,并指出直接寻址和一次间址的寻址范围各为多少? (2)若采用双字指令,操作码位数和寻址方式不变,指令可直接寻址的范围是多少?画出指令格式

    • 4

      指令寄存器的位数取决于( )。? 机器字长|指令字长|存储器容量|存储字长