《计算机组成原理》课后题答案_清华大学出版_秦磊华_吴非·· 下载本文

内容发布更新时间 : 2024/4/30 20:12:18星期一 下面是文章的全部内容请认真阅读。

程序执行过程中,指令在逻辑上得相互关系不被改变。

指令得操作控制。即产生指令执行过程中所需要得信号,以控制执行部件按指令规定得操作运行。

时间控制,即对每个控制信号进行定时,以便按规定得时间顺序启动各操作。对于任何一条指令而言,如果操作控制信号得时间不正确,则指令得功能也就不能正确实现.

数据加工处理.即对数据进行算术、逻辑运算,或将数据在相关部件之间传送。 异常与中断处理.如处理运算中得异常及处理外部设备得中断服务请求等。

组成:中央处理器主要由控制器与运算器两部分构成.控制器得主要功能包括:取指令、计算下一条指令得地址、对指令译码、产生相应得操作控制信号、控制指令执行得步骤与数据流动得方向.运算器就是执行部件,由算术逻辑单元与各种寄存器组成。

2)CPU内部有哪些寄存器?它们得功能分别就是什么?

答:(1) 指令寄存器(IR):IR用于保存指令.从主存储器取出得指令存放在IR中,直到新得指令从主存中取出为止.

(2) 程序计数器(PC) :PC保存将要执行得指令地址,故又称指令地址寄存器.CPU取指令时,将PC得内容送到主存地址寄存器,然后修改PC得值形成下一条将要执行得指令地址

(3) 地址寄存器(AR):AR用来保存当前CPU所要访问得主存单元地址,无论CPU就是取指令还就是存取数据,都必须先将要访问得主存单元地址送AR,直到读/写操作完成。

(4) 通用寄存器组(GR):通用得含义就是指寄存器得功能有多种用途,GR可作为ALU得累加器、变址寄存器、地址指针、指令计数器、数据缓冲器,用于存放操作数(包括源操作数、目得操作数及中间结果)与各种地址信息等。

(5) 数据缓冲寄存器(DR)

DR作为CPU与主存之间得数据缓冲寄存器用于存放操作数、运算结果或中间结果,以减少访问主存得次数;也可存放从主存中读出得数据,或准备写入主存得数据。 (6) 程序状态字寄存器(PSW)

PSW用于保存由算术运算指令、逻辑运算指令、测试结果等建立得各种条件标志。常见得状态信息包括进位标志(C)、溢出标志(V)、结果为负数标志(S)及结果为零标志(Z)等.

3)什么就是取指周期?取指周期内应完成哪些操作?

答:取指周期就就是从开始取指令到取指令完成所需要得时间。取指周期要完成两方面得操作,一就是将PC得值送存储器地址寄存器MAR,并完成储单元去取指令;二就是如何形成后续指令地址:

?顺序执行指令时,将PC内容加当前指令所占用得主存单元数(以字节为单位); ?当出现转移时,根据寻址方式、转移条件、转移得目标地址等内容计算得到. 4)指令有几种执行方式?说明各自得特点.

答:指令得执行方式有顺序执行方式、重叠执行方式与流水执行三种方式。

顺序执行方式:就是一种串行执行方式,取出一条指令得操作全部结束后才能开始下一条指令得指令周期,这种方式控制简单,程序得执行速度慢。

重叠执行方式:就是一种局部并行方式,通常将当前指令得执行阶段与下一条指令得取指阶段重叠进行,这种方式控制较复杂,但可以提高程序得执行速度;

流水执行方式:就是一种并行执行方式,它将指令得执行分多个阶段(每个阶段得任务由特定得功能部件完成),一般而言,在该执行方式下,指令间得并行程度比重叠执行方式要高,控制更为复杂,可以更快地提高程序得执行速度。

5)计算机为什么要设置时序系统?说明指令周期、机器周期、与时钟周期得含义。 答:指令执行过程中得所有操作必须按照一定得次序完成,而且这些操作持续得时间也有严格得限制,因此,在计算机系统中需要设置时序系统,对指令执行过程中得所有控制信号进行时间控制,以保证指令功能得正确实现。

通常将一条指令从取出到执行完成所需要得时间称为指令周期,包括取指周期与执行周期,指令周期通过右若干与机器周期组成,所包含得机器周期得数量随指令功能与寻址方式得不同而不同。

机器周期分成若干个节拍电位时间段,通常以CPU完成一次微操作所需要得时间为基础来定义节拍电位得时间;由CPU时钟定义得定长时间间隔,就是CPU工作得最小时间单位,也称节拍脉冲或T周期。

6)组合逻辑控制器与微程序控制器各有什么特点?

答:硬布线控制器又称为组合逻辑控制器,这种控制器中得控制信号直接由各种类型得逻辑门电路与触发器等构成,与微程序控制器相比,具有结构复杂但速度快得特点.

微程序控制器得设计采用了存储技术与程序设计技术,使复杂得控制逻辑得到简化.通过过读出存放在微程序控制器中微指令产生指令执行过程中所需要得控制信号,所以,与硬布线控制器相比,微程序控制器得速度较慢. 7)说明程序与微程序,指令与微指令得异同

答:微程序就是多条微指令系列得集合,用于实现指令得功能,属于机器指令级别,对用于得透明性不强,存放在CPU内得控制存储器中;程序则就是为了完成某一应用功能所编写得指令(包括机器语言指令或高级语言指令)集合,属于高级语言级别,对用户得透明性好,运行时存放在计算机得主存中。

指令就是指挥计算机执行某种功能得命令,就是构成程序得基本单位,由操作码与地址字段构成;而微指令则用于微程序控制器中产生指令执行过程中所需要得微命令,就是构成微程序得基本单位,由操作控制字段、判别测试字段与下地址字段等组成. 8)微命令有哪几种编码方法?它们就是如何实现得?

答:微指令得微命令有三种编码方法,分别就是直接表示方法、字段直接译码法与混合控制法.

直接表示法得基本思想就是:将微指令操作控制字段得每个二进制位定义为一个微命令,用“1”或“0”表示相应得微命令得“有”或“无”。 字段直接译码法得基本思想就是:将微指令格式中得操作控制字段分成若干组,每组中包含若干个互斥性微命令,将相容性得微命令安排在不同组。 混合控制法:将直接表示法与字段直接译码法混合使用,以便在微指令字长、并行性及执行速度与灵活性等方面进行折衷,发挥它们得共同优点。

9)简述微程序控制器与硬布线控制器得设计方法?

答: 微程序控制器设计方法:

1)分析指令执行得数据通路,列出每条指令在所有寻址方式下得执行操作流程与每一步所需要得控制信号;

2)对指令得操作流程进行细化,将每条指令得每个微操作分配到具体得机器周期得各个时间节拍信号上;

(3)设计微指令格式、微命令编码方法与程序组织方式;

(4)编制每条指令得微程序;并按照所设计得微程序组织方式存放到控存中; (5)对微命令进行同步控制,并送数据通路得相关控制点.

硬布线控制器设计方法:

1)分析指令执行得数据通路,列出每条指令在所有寻址方式下得执行操作流程与每一步所需要得控制信号;

2)对指令得操作流程进行细化,将每条指令得每个微操作分配到具体得机器周期得各个时间节拍信号上,即对操作控制信号进行同步控制。

3)对每一个控制信号进行逻辑综合,得到每个控制信号得逻辑表达式。

4)最后采用逻辑门或PLA或ROM实现逻辑表达式得功能,各控制信号送数据通路得相关控制点。

6、3 微地址转移逻辑表达式如下: μA0 = P2·IR4·T4 μA1 = P2·IR5·T4 μA2 = P3·(C+Z)·T4 其中,μA2—μA0为微地址寄存器相应位,P2与P3为判别标志,C为进位标志,Z为零标志,IR5与IR4为指令寄存器得相应位,T4为时钟周期信号。说明上述逻辑表达式得含义,画出微地址转移逻辑图。 本题略

6、4 已知某机采用微程序控制方式,控存容量为128*32位。微程序可在整个控存中实现转移,控制微程序转移得条件共3个,微指令采用水平型格式,后继微指令地址采用断定方式。请问;

(1) 微指令得三个字段分别应为多少位?

(2) 画出对应这种微指令格式得微程序控制器逻辑框图.

解答:(1)分别就是:控制字段23位;测试字段2位;下址字段7位;

(2) OP

指令寄存器IR 状态条件 地址转 … 移逻辑 微命令 微地址 寄存器(μAR) 控制 …… 存储器 P字段 控制字段 微命令

下址字段 寄存器

6、5 某微程序包含5条微指令,每条微指令发出得操作控制信号如表6、25所示,试对这些微指令进行编码,要求微指令得控制字段最短且能保持微指令应有得并行性。

表6、25 微指令及其对应得微操作控制信号

微指令 微操作控制信号 a,c,e,g ?I1 ?I2 ?I3 ?I4 ?I5 答:由题可得下表: 微指令 a,d,f,h,j a,d,e a,b,i a,d,f,j 微操作控制信号 a √ b c √ d e √ f g √ h i j ?I1 ?I2 ?I3 ?I4 ?I5 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ 由微命令得编码方法可知,采用字段直接译码法可以有效缩短微指令得长度,为此,先找出互斥性得微命令。

从表中可以发现两个互斥组(b,c,d) , (e,f,i)(或其它可能存在得互斥组),这两个互斥组采用字段直接译码法,其余得a,g,h,j等四个微命令采用直接表示方.

b c d e f i a ghj

译码器 译码器

、、、 、 2位 2位 P字段 下址字段 操作控制 顺序控制 6、6某CPU得结构如图6、37所示,其中AC为累加器,条件状态寄存器保存指令执行过程中得状态。a,b,c,d为四个寄存器。图中箭头表示信息传送得方向。完成下列个题: (1)根据CPU得功能与结构标明图中四个寄存器得名称; (2)简述指令LDA X 得数据通路,其中 X为主存地址,指令得功能就是将主存X单元得内容送入AC中.

主存储器M

a ALU AC c d b +1 状态寄存器 操作控制器 图6、37 某CPU得结构框图 6、6 答:(1)a:数据缓冲寄存器; b:指令寄存器 c:地址寄存器; d:程序计数器

(2)首先,取指阶段有条数据通路,1、取指令送到指令寄存器:PC→MAR→主存→MDR→IR;2、修改PC为下一条指令做准备:PC→PC+1

其次,执行阶段用到得数据通路就是,从主存中取数据并送到寄存器AC中:IR(形式地址部分)→MAR→MEM→MDR→AC

6、7对图6、3所示得单总线CPU,如加法指令中得第二个地址码有寄存器寻址、寄存器间接寻址、存储器间接寻址三种寻址方式,并在指令中用代码表示寻址方式,对应得指令及功能如下:

a) ADD R0, R1 ; R[0]? (R[0]) + (R[1]) , 即把寄存器R0得内容与R1得内容相加,结果送送R0保存 b)ADD R0, (R1) : R[0]? (R[0]) +(M[R[1]])

即把寄存器R0得内容与R1得内容所指主存单元得值相加,结果送R0保存

c) ADD R0, (addr) : R[0]? (R[0]) +(M[addr]) 即把寄存器R0得内容与主存单元addr得值相加,结果送R0保存 分别设计上述三条指令得指令周期流程图,并列出每一步得控制信号.

6、7 答:三种寻址方式下取质周期得操作及其控制信号如表6、3得上半部分所示、下面只给出每种情况下指令执行周期得操作及其控制信号、

a)

操作 X ? (R[0]) Z ? ALU R[0] ? (Z) 周期 执行 功能说明 寄存器R0内容送暂存器X ALU执行加法操作,将结果送暂存器Z 暂存器Z得内容送寄存器R0中 控制信号 R0out=Xin=1 R1out=1=ADD=1 Zout = R0in=1 b) 操作 周期 执行 功能说明 将寄存器R1中得内容作为地址送MAR 将主存对应单元得数据送MDR 控制信号 MAR? (R[1]) MDR?(MEM) X ? (R[0]) Z ? ALU R[0] ? (Z) R1out=ARin=1 READ=DREin=1 R0out=Xin=1 DRIout=ADD=1 Zout = R0in=1 执行 寄存器R0内容送暂存器X ALU执行加法操作,将结果送暂存器Z 暂存器Z得内容送寄存器R0中 c)

操作 周期 执行 功能说明 将立即数addr中得内容作为地址送MAR 将主存对应单元得数据送MDR 控制信号 MAR? IR(addr) MDR?(MEM) IRout=ARin=1 READ=DREin=1 R0out=Xin=1 DRIout=ADD=1 Zout = R0in=1 X ? (R[0]) Z ? ALU R[0] ? (Z) 执行 寄存器R0内容送暂存器X ALU执行加法操作,将结果送暂存器Z 暂存器Z得内容送寄存器R0中 6、8 用微程序设计图6、15得控制单元

本体参考答案略 只要采用直接编码字段输出图中所有由控制单元输出得控制信号即可) 6、9用微程序设计图6、14所示得单周期处理器得控制单元。

本体参考答案略 只要采用直接编码字段输出图中所有由控制单元输出得控制信号即可) 6、11 假定多周期处理器采用图6、15所示得数据通路与图6、34所示得控制单元。某程序中包含Lw、Sw、R型、J型指令比例分别为20%、10%、60%、10%。求多周期处理器比单周期处理器大约块多少倍。

6、10 答:对于采用图6。15所示得多周期方案而言,LW,SW、R及J型指令得时钟周期数分别为:5、4、4、3。根据CPI公式:

CPI=0、2*5 + 0、1*4 + 0、6*4 + 0、1* 3 = 4、1

而单周期得CPI=1 ,但就是时钟长度必须取消耗时间最长得指令,也就是就是LW型指令,预为多周期时间周期得5倍、设多周期得时钟周期时间为t,则多周期比单周期加速得倍数为: