CPU习题课练习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、设某运算器只由一个加法器和A,B 两个D 型边沿寄存器组成,A,B 均可接加法器输出,A 还可接收外部数据,如图所示,问:

(1)外部数据如何才能传送到B (2) 如何实现A+B

A 和A+B

B

(3) 如何估算加法执行时间

解:(1) 外部数据传送到B 的操作:S 选D ,CPA,A ∑,M,CPB

(2) 实现A+B A 的操作:A ∑,B ∑,+,S 选∑,CPA 实现A+B

B 的操作:A

∑,B

∑,+,CPB

(3) 影响加法速度的关键因素是进位信号的传递问题,所以估算加法执行时间要看∑加法器采用何种进位方式,分析进位信号的产生时间。

2、四位运算器框图如图2所示。ALU 为算术逻辑单元,A 和B 为三选一多路开关,预先已通过多路开关A 的SW 门向寄存器R1、R2送入数据如下,R1=0101,R2=1010,寄存器BR 输出端接四个发光二极管进行显示,其运算过程依次如下:显示灯

(1) R1(A )+ R2(B ) BR(1010);(2)R2(A )+ R1(B ) BR(1111); (3) R1(A )+ R1(B ) BR(1010);(4)R2(A )+ R2(B ) BR(1111); (5) R2(A )+ BR (B ) BR(1111); (6)R1(A )+ BR (B ) BR(1010); 试分析运算器的故障位置,说明理由。

FLA

∑加

A

B

CP

A B S C

C

D

图2

解:运算器的故障位置在多路开关B,其输出始终为R1的值。分析如下:

(1) R

1(A)+ R

2

(B)= 1010,输出结果错

(2) R

2(A)+ R

1

(B)= 1111,结果正确,说明R

2

(A),R

1

(B)无错

(3) R

1(A)+ R

1

(B)= 1010,结果正确,说明R

1

(A),R

1

(B)无错

由此可断定ALU和BR无错

(4) R

2(A) + R

2

(B) =1001,结果错,由于R

2

(A)正确且R

2

(A)=1010

推知R

2

(B)=0101,显然多路开关B有问题

(5) R

2(A) + BR(B) =1111,结果错,由于R

2

(A)=1010,BR(B)=1111,

但现推知BR(B)=0101,证明开关B输出有错

(6)R

1(A)+BR(B) =1010,结果错,由于R

1

(A)=0101,本应

BR(B)

=1111,但现推知BR(B)=0101,证明开关B输出有错

综上所述,多路开关B输出有错。故障性质:多路开关B输出始终

为0101,这有两种可能:一是控制信号BS

0,BS

1

始终为01,故始终选中

寄存器R 1;二是多路开关B 电平输出始终嵌在0101上。

3、某运算部件的基本结构如图3所示,假定此部件只有加(+)和减(-)两种基本操作,要求:

(1) 给出运算部件的所有微命令。

(2) 指出哪些微命令是相容的,哪些是相斥的

(3)试用位数最少的操作控制字段来表示全部微命令。

图3

解:(1)运算部件的微命令如下图所示。

(2)R2Y 与R1Y 是相斥的;+与-是相斥的;DBUS R1与DBUS

R2是

相容的;R1

X 与R2

Y 是相容的。

(3) 微命令采用字段直接编码法。DBUS

R1与DBUS

R2在指令的执行过程中不会同时出现,可以将它们放在同一字段,用2位来控制。

+与-也是相斥的,放在同一字段,用2位来控制,但由于能放在同一字段的微命令只有2位,采用直接控制法也只需用2位,所以采用直接控制。

根据以上分析,操作控制字段共有8个微命令,全部采用直接控制方式。

ALU

+

- X

Y

R1

R2

ALU DBUS

R2Y R1

Y

R1

X

DBUS

DBUS

ALU

+ - X

Y

R1 R2

ALU DBUS

4、图4所示为双总线结构机器的数据通路,IR 为指令寄存器,PC 为程序计数器(具有自增功能),M 为主存(受R/W 信号控制),AR 为主存地址寄存器,DR 为数据缓冲寄存器。ALU 由加减控制信号决定完成何种操作。控制信号G 控制的是一个门电路。另外,线上标注有控制信号,例如Yi 表示Y 寄存器的输入控制信号,R1o 表示寄存器R1的输出控制信号。未标注的线为直通线,不受控制。

现有“ADD R2, R0”指令完成(R0) + (R2) → R0的功能操作。请画出该指令的指令周期流程图,并列出相应的微命令控制信号序列。假设该指令的地址已放入PC 中。

图4

解:ADD 指令是加法指令,参与运算的二数放在R0和R2中,相加结果放在R0中。指令周期流程图如下图所示,包括取指令阶段和执行指令阶段两部分。每一方框表示一个CPU 周期。其中框内表示数据传送路径,框外列出微操作控制信号。

PC ,G AR i 取

指 R/W=1

DR o ,G,IR i

R 2o ,G

执 R 0o ,G 行

+,G,R0i

PC →AR

M →DR

R →Y

DR →IR

R →X

R+ R →R

相关文档
最新文档