【计算机组成原理2015年真题43题-13分】
某16位计算机的主存按字节编址,存取单位为16位;采用16位定长指令字格式;CPU采用单总线结构,主要部分如下图所示。图中R0~R3为通用寄存器;T为暂存器;SR为移位寄存器,可实现直送(mov)、左移一位(left)和右移一位(right)3种操作,控制信号为SRop,SR的输出由信号SRout控制;ALU可实现直送A(mova)、A加B(add)、A减B(sub)、A与B(and)、A或B(or)、非A(not)、A加(ine)7种操作,控制信号为ALUop.
请回答下列问题。
(1)图中哪些寄存器是程序员可见的?为何要设置暂存器T?
(2)控制信号ALUop和SRop的位数至少各是多少?
(3)控制信号SRout所控制部件的名称或作用是什么?
(4)端点①~⑨中,哪些端点须连接到控制部件的输出端?
(5)为完善单总线数据通路,需要在端点①一⑨中相应的端点之间
添加必要的连线。写出连线的起点和终点,以正确表示数据的流动方向。
(6)为什么二路选择器MUX的一个输入端是2?
【第一步:信息提取】
主存按字节编址,存取单位为16位:数字16位
采用16位定长指令字格式:指令字长16位
【第二步:具体解答】
第一小题:
(1)图中哪些寄存器是程序员可见的?
程序员可见寄存器为通用寄存器(R0~R3)和PC。
(2)为何要设置暂存器T?
因为采用了单总线结构,因此,若无暂存器T,则ALU的A、B端口会同时获得两个相同的数据,使数据通路不能正常工作。
第二小题:
(1)控制信号ALUop和SRop的位数至少各是多少?
ALU共有7种操作,故其操作控制信号ALUop 至少需要3位
移位寄存器有3种操作,其操作控制信号SRop至少需要2位。
第三小题:
(1)控制信号SRout所控制部件的名称或作用是什么?
信号SRout所控制的部件是一个三态门,用于控制移位器与总线之间数据通路的连接与断开。
第四小题:
(1)端点①~⑨中,哪些端点须连接到控制部件的输出端?
端口 ①、②、③、⑤、⑧须连接到控制部件输出端。
第五小题:
(1)为完善单总线数据通路,需要在端点①一⑨中相应的端点之间。添加必要的连线。写出连线的起点和终点,以正确表示数据的流动方向。
连线1,⑥一⑨
连线2,⑦一④。
第六小题:
(1)为什么二路选择器MUX的一个输入端是2?
因为每条指令的长度为16位,按字节编址,所以每条指令占用2个内存单元,
顺序执行时,下条指令地址为(PC)+2。MUX的一个输入端为2,可便于执行(PC)+2操作。
【计算机组成原理2015年真题44题-10分】
(1)该机的指令系统最多可定义多少条指令?
(2)假定inc、shl和sub指令的操作码分别为01H、02H和03H,则以下指令对应的机器代码各是什么?
① inc R1 | (R1)+1一R1 |
---|---|
② sh1 R2,R1 | (R1)<<1→R2 |
③ sub R3,(R1),R2 | ((R1))-(R2)→R3 |
(3)假设寄存器x的输入和输出控制信号分别记为Xin和Xout,其值为1表示有效,为0表示无效(例如,PCout=1表示PC内容送总线);存储器控制信号为MEMop,用于控制存储器的读(read)和写(write)操作。写出题44图a中标号①~⑧处的控制信号或控制信号取值。
(4)指令"sub R1,R3,(R2)"和"inc R1"的执行阶段至少各需要多少个时钟周期?
【第一步:信息提取】
同上
【第二步:具体解答】
第一小题:
(1)该机的指令系统最多可定义多少条指令?
寄存器2位,寻址1位,故 16 − ( 2 + 1 ) ∗ 3 = 7 16-(2+1)*3=7 16−(2+1)∗3=7
指令操作码有7位,因此最多可定义 2 7 = 128 2^7= 128 27=128条指令。
第二小题:
(1)假定inc、shl和sub指令的操作码分别为01H、02H和03H,则以下指令对应的机器代码各是什么?
① inc R1 | (R1)+1一R1 |
---|---|
② sh1 R2,R1 | (R1)<<1→R2 |
③ sub R3,(R1),R2 | ((R1))-(R2)→R3 |
各条指令的机器代码分别如下:
"inc R1"的机器码为0000001 001 000 000,即0240H。"shl R2,R1"的机器码为0000010 010 001 000,即0488H。
"sub R3,(R1),R2"的机器码为0000011 011 101 010,即06EAH。
第三小题:
(1)假设寄存器x的输入和输出控制信号分别记为Xin和Xout,其值为1表示有效,为0表示无效(例如,PCout=1表示PC内容送总线);存储器控制信号为MEMop,用于控制存储器的读(read)和写(write)操作。写出题44图a中标号①~⑧处的控制信号或控制信号取值。
各标号处的控制信号或控制信号取值如下:
①:0②:mov
③:mova
④:left
⑤:read
⑥:sub
⑦:mov
⑧:Srout
第四小题:
(1)指令"sub R1,R3,(R2)"和"inc R1"的执行阶段至少各需要多少个时钟周期?
指令"sub R1,R3,(R2)" 的执行阶段至少包含4个时钟周期
指令“inc R1”的执行阶段至少包含2个时钟周期。