下 图是某单总线结构计算机,机器字长 8 位, IR 为指令寄存器, PC 为程序计数器, M 为主存, AR 为地址寄存器, DA1,DA1 为暂存器, ALU 能完成加、减运算, R0~R3 是通用寄存器。各部件的控制信号均已标出,控制信号的命名准则是:‘-’符号左边的是数据发送方部件,‘-’符号右边的是数据接收方部件, 并且控制信号中的 B 表示内部总线 IB ,另外, J1# 控制指令译码, R/W# 控制存储器读 / 写( =1 :读; =0 :写), CS# 是存储器的片选信号。例如 B - DA1 表示由总线 IB 将数据打入暂存器 DA1 的控制信号。
假如该机支持的机器指令格式如下,指令字长为 1~2 字节。
Opcode (4 位 ) | Rs ( 2 位) | Rd ( 2 位) |
Addr/Disp/Immd/X (8 位 ) |
1 . 根据所示的数据通路,画出 ADD Rs, [Addr] 指令对应的微程序流程图:
ADD Rs, [Addr] ; 功能为:寄存器 Rs 的内容与地址 Addr 单元内容相加后
送 Rs 。
2 . 若该机采用微程序控制器,共有 28 种微操作命令(采用直接控制法),有 4 个
转移控制状态(采用译码形式编码),微指令格式如下,其中下址字段 7 位,则操作控制字段和
判别测试字段各有几位?控存容量是多少?(用字数×字长的形式表示)
操作控制字段 | 判别测试字段 | 下址字段 |