好文档 - 专业文书写作范文服务资料分享网站

硬件系统设计原理-第六章作业3

天下 分享 时间: 加入收藏 我要投稿 点赞

2. 一个CPU的部分数据通路如图所示。Wa和Wb是分别写入寄存器A、B的控制信号。Wa和Wb能否

包含在一条微指令中?为什么?如果将Wa和Wb包含在一条微指令中,要采取一些什么样的措施?

WaAALUWbB 解答:

若不采取相应措施,Wa和Wb一般不能简单地放在一条微指令中。因为寄存器B要想正确接收数据。它的控制信号Wb不能来的太早,也不能太晚,要在运算器ALU运算完毕后,且输出信号已稳定后才能出现。

如果要将Wa和Wb包含在一条微指令中,可将Wb与一个节拍信号相与。这个节拍信号应该出现在微周期的后半部分,留出足够的时间保证运算器运算完毕后,且输出信号已稳定,这样就能保证结果正确。

11. 设有程序计数器PC、运算器ALU、寄存器堆、数据选择门Mux、存储器M、指令寄存器IR可供选

用。试完成能执行ADD R1, R2, R3;R1+R2?R3指令的各功能部件间数据通路的连接。其中:MR:存储器读;IRW:写指令寄存器。ADD R1, R2, R3的指令格式如下:

31 2625 2120 1615 1110 65 00R1R2R3ADD读写地址写数据M读命令字IR读出数据读寄存器号1读寄存器号2读寄存器号35 0读寄存器号4寄存器号1寄出数据存器堆寄存器号2出数据IRWASUM选择MuxBALU

解答:

选择IRW12. 某计算机CPU内部为双总线结构,所有的数据传送都通过ALU。ALU具有下列功能:

F=A;F=B;F=A+1;F=B+1;F=A-1;F=B-1

PC+1转移地址25-21读寄存器号1读寄存器号2写寄存器号写寄存器数0读写地址写数据20-1615-11M读出数据寄存器堆寄存器号1出数据寄存器号2出数据Mux131ALUPCSumIR读写命令字05-0ALUop

CPU结构如图所示:

ALUAYSPPCARDRIRFB 图中Y为暂存器;PC为程序计数器;AR与DR分别为存储器地址与数据寄存器;IR为指令寄存器。 写出转子指令(JSR)的取指和执行的微操作序列。JSR指令占两个字,第一个字是指令操作码,第二个字是子程序入口地址,返回地址保存在堆栈中,堆栈指针始终指向栈顶。 解答:

PC?MAR取指M?IRPC+1?PCPC?MAR取入口M?MBR?Y返回地址形成压入地址返回地址压栈实现转子M?MBR(置入),MBR?B,F=B,F?YPC+1?PC,MBRPC?B,F=B+1,F?PC,MBRSP-1?SP,MARSP?B,F=B-1,F?SP,MARMBR?MY?PCMBR?M(写入)Y?A,F=A,F?PCPC?B,F=B,F?MARM?IR(置入)PC?B,F=B+1,F?PCPC?B,F=B,F?MAR

13. 现有四条机器指令,其操作码分别为MOV(OP)=00,ADD(OP)=01,COM(OP)=10,ADT(OP)=11。根

据数据通路,微程序流程图设计如图所示。

M?IRP1MOVADDCOMADTR2+R1?R2R2+R3?R2Cj=1Cj=0R2-R3?R2rs?rdrs+rd?rdrs?rdP2

其中P1测试指令类型,测试条件是指令操作码;P2测试(a+b+c)是否大于9,测试条件是进位标志Cj;部分操作硬件自行完成:PC?AR,PC+1?PC。 (1) 请为微程序流程图中每条微指令分配当前微地址与下一微地址; (2) 写出微地址的转移逻辑; (3) 画出微程序在CM中的存放与转移示意。 解答:

方法1:隐式微地址

(1) 如图所示:

PC?MAR12HPC+1?PC13HM?IR14H15HJP(01)MOV00HJP(11)04Hrs?rd05HJP(11)12HADD01HJP(11)06Hrs+rd?rd07HJP(11)12HCOM02HJP(11)08Hrs?rd09HJP(11)12HCj=111HJP(11)12HJP(10)Cj=010HJP(11)ADT03HJP(11)0AHR2+R1?R20BHR2+R3?R20CH16HR2-R3?R217HJP(11)12H

(2) 微地址转移逻辑:

若CM=32个单元,则微地址为5位(log232=5)。考虑到微程序有P1和P2两个分支,以及顺序执行和无条件转,所以测试字段设为2位。其中:

JP = 00,顺序执行,微地址寄存器加1给出下条微指令地址; JP = 01,控制字段给出高3位地址,低2位由OP断定; JP = 10,控制字段给出高4位地址,低1位由Cj断定;

JP = 11,无条件转,控制字段给出5位地址,即全部转移地址。 (3) 微程序在CM中的存放与转移示意图:

(MOV入口) (ADD入口) (COM入口) (ADT入口)

00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH

04H 06H 08H 0AH rs ? rd 12H rs+ rd ? rd 12H rs ? rd 12H R2+ R1 ? R2 R2+ R3 ? R2 1000* JP 11 11 11 11 00 11 00 11 00 11 00 00 10 OP=00 OP=01 OP=10 OP=11 Cj=0 Cj=1 10H 11H 12H 13H 14H 15H 16H 17H

16H 12H PC?MAR PC+1?PC M?IR 000** R2?R3 ? R2 12H

JP 11 11 00 00 00 01 00 11

方法2:显式微地址

(1) 如图所示:

12H13HM?IR14HP1MOV00HADD01HCOM02HADT03HR2+R1?R204HR2+R3?R2Cj=111HCj=0rs?rdrs+rd?rdrs?rdP210HR2-R3?R2

(2) 微地址转移逻辑:

若CM=32个单元,则下址字段为5位(log232=5)。考虑到微程序有P1和P2两个分支,以及顺序执行和无条件转,所以测试字段设为2位。其中:

JP = 00,顺序执行,下址字段给出下条微指令地址; JP = 01,下址字段给出高3位地址,低2位由OP断定; JP = 10,下址字段给出高4位地址,低1位由Cj断定。 (3) 微程序在CM中的存放与转移示意图:

(MOV入口) (ADD入口) (COM入口) (ADT入口)

00H 01H 02H 03H 04H 05H 10H 11H 12H 13H 14H 15H

rs ? rd rs+ rd ? rd rs ? rd R2+ R1 ? R2 R2+ R3 ? R2 …… R2?R3 ? R2 PC?MAR PC+1?PC M?IR JP 00 00 00 00 10 00 00 00 00 01 下址 12H 12H 12H 04H 1000* 12H 12H 13H 14H 000**

Cj=0 Cj=1 OP=00 OP=01 OP=10 OP=11

硬件系统设计原理-第六章作业3

2.一个CPU的部分数据通路如图所示。Wa和Wb是分别写入寄存器A、B的控制信号。Wa和Wb能否包含在一条微指令中?为什么?如果将Wa和Wb包含在一条微指令中,要采取一些什么样的措施?WaAALUWbB解答:若不采取相应措施,Wa和Wb一般不能简单地放在一条微指令中。因为寄存器B要想正确接收数据。它的控制信号Wb不能来的太早,
推荐度:
点击下载文档文档为doc格式
42q2h86dhi670et7c26i4qfr0177x6016mn
领取福利

微信扫码领取福利

微信扫码分享