(2) 见下图
5、答:
中断周期前是执行阶段,后是取指阶段。中断周期中,由中断隐指令完成: ① 保存程序断点 ② 硬件关中断
③ 将向量地址送至程序计数器(硬件向量法)或将中断识别程序入口地址送至程序计数器(软件查询法)。
6、答:
所谓并行包含同时性合并发性两个方面。前者是指两个或多个事件在同一时刻发生,后者是指两个或多个事件在同一时间段发生。也就是说,在同一时刻或同一时间段内完成良种或两种以上性质相同或不同的功能,只要在时间上互相重叠,就存在并行性。
从计算机体系上看,粗粒度并行性是在多个处理机上分别运行多个进程,由多台处理机合作完成一个程序,一般用算法(软件)实现。细粒度并行性是指在处理及的操作级和指令级的并行性,一般用硬件实现。指令流水就是一项重要技术。
8、答:
影响流水线性能的因素主要反映在两方面:访存冲突和相关问题。
① 访存冲突:取指令、取操作数和存结果都要访问存储器,若在某一时间,前后流水的若干条指令同时访存,则产生访存冲突。
② 相关问题:指程序的相近指令之间出现某种关联,使指令流水线出现停顿。例如:
当下一条指令需用前一条指令的结果时,必须待前面的指令流出流水线后才能执行,包括控制相关和数据相关。
9、答:
超长指令字(VLIW)技术和超标量技术都是采用多条指令在多个处理部件中并行处理的体系结构,在一个时钟周期内能流出多条指令。但超标量的指令来自同一标准的指令流,超长指令字则是由编译程序在编译时挖掘指令间潜在的并行性后,把多条能并行操作的指令组合成一条具有多个操作码字段的超长指令(指令字长可达几百位),由这条超长指令控制VLIW机中多个独立工作的功能部件,由每一个操作码字段控制一个功能部件,相当于同时执行多条指令。
10、答:
指令流水线和运算流水线的共同点是由于相邻两段在执行不同的操作,因此在相邻两段之间必须设置锁存器或寄存器,以保证在一个周期内流水线的输出信号不便。
第九章 思考题与习题
1.设CPU内有下列部件:PC、IR、MAR、MDR、AC、CU。 (1)写出取指周期的全部微操作;
(2)写出加法指令ADD X,取数指令LDA X,存数指令STA X在执行阶段所需
的全部微操作;
(3)当上述指令为间接寻址时,写出运行这些指令所需的全部微操作;
(4)写出无条件转移指令JMP Y和结果为零则转指令BAZ Y在执行阶段所需的全部
微操作。
2.控制单元的功能是什么?其输入受什么控制?
3.什么是指令周期、机器周期和时钟周期?三者有何关系? 4.能不能说机器的主频越快,机器的速度就越快,为什么?
5.设机器A的主频为8MHz,机器周期含4个时钟周期,且该机的平均指令执行速度是0.4MIPS,试求该机的平均指令周期和机器周期,每个指令周期中含几个机器周期?如果机器B的主频为12MHz,且机器周期也含4个时钟周期,试问B机的平均指令执行速度为多少MIPS?
6.设某机主频为8MHz,每个机器周期平均含2个时钟周期,每条指令平均有2.5个机器周期,试问该机的平均指令执行速度为多MIPS?若机器主频不变,但每个机器周期平均含4个时钟周期,每条指令平均有5个机器周期,则该机的平均指令执行速度又是多MIPS?由此可得出什么结论?
7.某CPU的主频为8MHz,若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为0.8MIPS,试求该机的平均指令周期及每个指令周期含几个机器周期?若改用时钟周期为0.4μs的CPU芯片,则计算机的平均指令执行速度为多少MIPS?若要得到平均每秒40万次的指令执行速度,则应采用主频为多少的CPU芯片?
8.某计算机的主频为4MHz,各类指令的平均执行时间和使用频度如下表所示,试计算该机的速度(单位用MIPS表示),若上述CPU芯片升档为6MHz,则该机的速度又为多少?
指令类别 存取 加、减、比较、转乘除 其他 移 平均指令执行时间 使用频度 9.试比较同步控制、异步控制和联合控制的区别。
10.什么是典型的同步控制?为了提高CPU的效率,在同步控制方式中又有哪些方式?以
8085的输出指令为例,说明它属哪种控制方式?
11.设CPU内部结构如图9.4所示,此外还设有B、C、D、E、H、L六个寄存器,它们各
自的输入和输出端都与内部总线相通,并分别受控制信号控制(如Bi为寄存器B的输入控制;Bo为寄存器B的输出控制)。要求从取指令开始,写出完成下列指令所需的控制信号。
(1)ADD B,C ((B) – (C)→B); (2)SUB A,H ((AC) – (H) →AC)。
12.CPU结构同上题,写出完成下列指令所需的控制信号(包括取指令)。 (1)寄存器间址的无条件转移指令JMP @ B; (2)间接寻址的存数指令STA @ X。
第九章 控制单元的功能习题部分答案
1、答:
(1) 写出取指周期的全部微操作; ① PC→MAR ② 1→R
③ M(MAR)→MDR ④ MDR→IR ⑤ (PC)+1→PC
(2) 写出加法指令ADD X,取数指令LDA X,存数指令STA X在执行阶段所需的全部微操作。
答: ADD X LDA X STA X ①Ad(IR) →MAR ①Ad(IR) →MAR ①Ad(IR) →MAR ②1→R ②1→R ②1→W ③M(MAR)→MDR ③M(MAR)→MDR ③ACC→MDR ④(ACC)+(MDR) →ACC ④MDR →ACC ④MDR →M(MAR) (3) 当上述指令为间接寻址时,写出运行这些指令所需的全部微操作。 答: ADD X LDA X STA X ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR→Ad(IR) ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③(ACC)+(MDR) →ACC ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR→Ad(IR) ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR →ACC ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR→Ad(IR) ①Ad(IR) →MAR,1→R ②M(MAR)→MDR ③MDR →M(MAR) 0.6?s 35% 0.8?s 50% 10?s 5% 1.4?s 10% (4) 写出无条件转移指令JMP Y和结果为零则转指令BAZ Y在执行阶段所需的全部微操作。
答: JMP Y Ad(IR) →PC BAZ Y 设Z为标记触发器,结果为0时,Z=1 BAZ Y指令执行阶段的微操作为 Z·Ad(IR) →PC 2、答:
控制单元具有发出各种微操作命令(即控制信号)序列的功能。 在执行程序的过程中,控制单元要发出各种微操作命令,而且不同的指令对应不同的命令。其输入必须受时钟控制,即每一个时钟脉冲使控制单元发一个操作命令,或发一组需同时执行的操作命令。
3、答:
指令周期:CPU取出并执行一条指令所需的全部时间,即完成一条指令的时间。
机器周期:所有指令执行过程中的一个基准时间,取决于指令的功能及其间的速度。 时钟周期:用时钟信号来控制产生每一个微操作命令。一个机器周期内包含了若干个时钟周期,又称节拍或状态。在每个节拍内机器可完成一个或几个同时执行的操作。
三者的关系:一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期(节拍),每个指令周期内的机器周期数可以不等,每个机器周期内的节拍数也可以不等。机器周期、节拍组成了多级时序系统。
4、答:
不能说机器的主频越快,机器的速度就越快。因为机器的速度不仅和主频有关,还与机器周期中所包含的时钟周期数有关。同样主频的机器,由于机器周期所含的时钟周期数不同,机器的速度也不同。机器周期中所含的时钟周期少的机器速度更快。
9、答:
同步控制方式:任何一条指令或指令中的任何一个微操作的执行,都由事先确定且有统一基准时标的时序信号所控制的方式叫做同步控制。如果机器内的存储器其存取周期不统一,那么只有把最长的存取周期作为机器周期,才能采用同步控制,否则取指令和取数时间不同,无法用统一的基准。
异步控制方式:异步控制方式不存在基准时标信号,没有固定的周期节拍和严格的时钟同步,执行每条指令和每个操作需要多少时间就占用多少时间,这种方式微操作的时序由专门的应答线路控制,其结构比同步方式复杂。
联合控制方式:是同步控制和异步控制的结合,对各种不同指令的微操作实行大部分统一,小部分区别对待的方法。
第十章 思考题与习题
1.假设响应中断时,要求将程序断点存在堆栈内,并且采用软件办法寻找中断服务程序的入口地址,试写出中断隐指令的微操作及节拍安排。
2.写出完成下列指令的微操作及节拍安排(包括取指操作)。 (1)指令ADD R1, X完成将R1寄存器的内容和主存X单元的内容相加结果存于R1的
操作。
(2)指令ISZ X完成将主存X单元的内容增1,并根据其结果若为0,则跳过下一条