
1. (2015)某 16 位计算机的主存按字节编码,存取单位为 16 位;采用 16 位定长指令字格式;CPU 采用单总线结构,主要部分如下图5-10所示。图中 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 加 1(inc)7 种操作,控制信号为 ALUop。
(1)图中哪些寄存器是程序员可见的?为何要设置暂存器 T?
(2)控制信号 ALUop 和 SRop 的位数至少各是多少?
(3)控制信号 SRout 所控制部件的名称或作用是什么?
(4)端点①~⑨中,哪些端点须连接到控制部件的输出端?
(5)为完善单总线数据通路,需要在端点①~⑨中相应的端点之间添加必要的连线。写出连线的起点和终点,
以正确表示数据的流动方向。
(6)为什么二路选择器 MUX 的一个输入端是 2?
解析:
(1)程序员可见寄存器为通用寄存器(R0~R3)和PC。因为采用了单总线结构,因此,若无暂存器T,则ALU的A、B端口会同时获得两个相同的数据,使数据通路不能正常工作。
(2)ALU共有7种操作,故其操作控制信号ALUop至少需要3位;移位寄存器有3种操作,其操作控制信号SRop至少需要2位。
(3)信号SRout所控制的部件是一个三态门,用于控制移位器与总线之间数据通路的连接与断开。
(4)端口①、②、③、⑤、⑧须连接到控制部件输出端。
(5)连线1,⑥→⑨;连线2,⑦→④。
(6)因为每条指令的长度为16位,按字节编址,所以每条指令占用2个内存单元,顺序执行时,下条指令地址为(PC)+2。MUX的一个输入端为2,可便于执行(PC)+2操作。
2. (2015)上题中描述的计算机,其部分指令执行过程的控制信号如下图所示。
题图 指令格式(1)该机的指令系统最多可定义多少条指令?
(2)假定inc、shl和sub指令的操作码分别为01H、02H和03H,则以下指令对应的机器代码各是什么?
①inc R1; R1 + 1→R1
②shl R2,R1; (R1) << 1→R2
③sub R3, (R1),R2; ((R1)) – (R2) → R3
(3)假设寄存器X的输入和输出控制信号分别为Xin和Xout,其值为1表示有效,为0表示无效(例如,PCout=1表示PC内容送总线);存储器控制信号为MEMop,用于控制存储器的读(read)和写(write)操作。写出题图5-8中标号①~⑧处的控制信号或控制信号的取值。
(4)指令“sub R1,R3,(R2)”和“inc R1”的执行阶段至少各需要多少个时钟周期?
解析:
(1)指令操作码有7位,因此最多可定义27=128条指令。
(2)各条指令的机器代码分别如下:
①“inc R1”的机器码为:0000001 0 01 0 00 0 00,即0240H。
②“sh1 R2,R1”的机器码为:0000010 0 10 0 01 0 00,即0488H。
③“sub R3,(R1),R2”的机器码为:0000011 0 11 1 01 0 10,即06EAH。
(3)各标号处的控制信号或控制信号取值如下:
①0;②mov;③mova;④left;⑤read;⑥sub;⑦mov;⑧SRout。
(4)指令“sub R1,R3,(R2)”的执行阶段至少包含4个时钟周期;
指令“inc R1”的执行阶段至少包含2个时钟周期。
免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用,不涉及商业盈利目的。如涉及版权问题,请联系本站管理员予以更改或删除。




