CPU习题课练习课案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);
试分析运算器的故障位置,说明理由。
AS
AS1
图2
解:运算器的故障位置在多路开关B,其输出始终为R1的值。
分析如下:
(1) R1(A)+ R2(B)= 1010,输出结果错
(2) R2(A)+ R1(B)= 1111,结果正确,说明R2(A),R1(B)无错
(3) R1(A)+ R1(B)= 1010,结果正确,说明R1(A),R1(B)无错
由此可断定ALU和BR无错
(4) R2(A) + R2(B) =1001,结果错,由于R2(A)正确且R2(A)=1010
推知R2(B)=0101,显然多路开关B有问题
(5) R2(A) + BR(B) =1111,结果错,由于R2(A)=1010,BR(B)=1111,
但现推知BR(B)=0101,证明开关B输出有错
(6)R1(A)+BR(B) =1010,结果错,由于R1(A)=0101,本应BR(B)
=1111,但现推知BR(B)=0101,证明开关B输出有错
综上所述,多路开关B输出有错。故障性质:多路开关B输出始终为0101,这有两种可能:一是控制信号BS0,BS1始终为01,故始终选
中寄存器R1;二是多路开关B电平输出始终嵌在0101上。
3、某运算部件的基本结构如图3所示,假定此部件只有加(+)和减(-)两种基本操作,要求:
(1) 给出运算部件的所有微命令。
(2) 指出哪些微命令是相容的,哪些是相斥的?
(3)试用位数最少的操作控制字段来表示全部微命令。
图3
解:(1)运算部件的微命令如下图所示。
(2)R2→Y 与R1→Y 是相斥的;+与-是相斥的;DBUS →R1与DBUS →R2是相容的;R1→X 与R2→Y 是相容的。
(3) 微命令采用字段直接编码法。DBUS →R1与DBUS →R2在指令的执行过程中不会同时出现,可以将它们放在同一字段,用2位来控制。
+与-也是相斥的,放在同一字段,用2位来控制,但由于能放在同一字段的微命令只有2位,采用直接控制法也只需用2位,所以采用直接控制。
根据以上分析,操作控制字段共有8个微命令,全部采用直接控制方式。
4、图4所示为双总线结构机器的数据通路,IR 为指令寄存器,PC 为程序
Y
Y R1
DBUS →R2
计数器(具有自增功能),M为主存(受R/W信号控制),AR为主存地址寄存器,DR为数据缓冲寄存器。ALU由加减控制信号决定完成何种操作。控制信号G控制的是一个门电路。另外,线上标注有控制信号,例如Yi表示Y寄存器的输入控制信号,R1o表示寄存器R1的输出控制信号。未标注的线为直通线,不受控制。
现有“ADD R2, R0”指令完成(R0) + (R2) →R0的功能操作。请画出该指令的指令周期流程图,并列出相应的微命令控制信号序列。假设该指令的地址已放入PC中。
图4
解:ADD指令是加法指令,参与运算的二数放在R0和R2中,相加结果放在R0中。指令周期流程图如下图所示,包括取指令阶段和执行指令阶段
两部分。每一方框表示一个CPU周期。其中框内表示数据传送路径,框
外列出微操作控制信号。
o
,G AR i 取
o,G,IR i
2o,G
0o,G
,G,R0i
5、一台处理机具有如下指令格式
2位6位3位3位
格式表明有8个通用寄存器(长度16位),X指定寻址模式,主存实际容量为256k字。假设不用通用寄存器也能直接访问主存中的每一个单元,并假设操作码域OP=6位,请问地址码域应分配多少位?指令字长度应有多少位?
假设X=11时,指定的那个通用寄存器用做基值寄存器,请提出一个硬件设计规划,使得被指定的通用寄存器能访问1M主存空间中的每一个单元。
解:(1)因为218=256K,所以地址码域=18位, 操作码域=6位
指令长度=18 + 3 + 3 + 6 + 2 = 32位
(2)此时指定的通用寄存器用作基值寄存器(16位),但16位长度不足以覆盖1M字地址空间,为此将通用寄存器左移,4位低位补0形成20位基地址。然后与指令字形式地址相加得有效地址,可访问主存1M地址空间中任何单元。
6、某计算机有8条微指令I1—I8,每条微指令所包含的微命令控制信号见
下表所示,a—j 分别对应10种不同性质的微命令信号。假设微指令的控制字段仅限8位,请安排微指令的控制字段格式。
解:微指令的控制字段为 8 位。
根据 10 个微命令的兼容性和互斥性,分成 3 组。分别为 2 位、2 位
和 4 位的小字段。每个2 位的组是3 个微命令的编码,需译码。4 位
的组每位是 1 个微命令,不需译码。