【例1】在模型机中将指令周期分为哪几个工作周期。
答:分为6个周期:取指周期FT、取源操作数周期ST、取目的操作数周期DT、执行周期ET、中断响应周期IT、DMA传送周期DMAT。
【例2】三级时序系统中的三级是指哪三级?每一级的作用是什么?
答:三级指的是工作周期、节拍、脉冲这三级。
工作周期:通常把指令周期分为几个工作阶段,每个工作阶段也称为一个工作周期。
节拍:把一个工作周期等分成若干个时间区间,每一个时间区间称为一个节拍。一个节拍对应一个电位信号,控制一个或几个微操作的执行。
脉冲:在一个节拍当中设置一个或几个工作脉冲,用于寄存器的复位和接收数据。
【例3】指令和数据都存放在主存中,计算机在执行程序时如何区分哪个地址单元存的是指令,哪个地址单元存的是数据?
解:
空间上:指令和数据在主存当中分开存放。
时间上:指令周期分为多个工作周期,取指令是在按程序计数器PC进行取指,取指后PC加1指向下一条指令,使PC始终指向的是下一条指令。而取数据是在取操作数周期根据指令计算出规定的寻址方式计算出数据存放的有效地址,然后再用这个有效地址取出数据。
【例4】组合逻辑控制器的设计分为哪几步?每步的具体内容是什么?
解:分为三步。
1)编制控制信号时间表
将每条指令的控制信号归纳成一张控制信号时间表,表的每一列为指令的名称,每一行为各工作周期的节拍及各节拍的控制信号,表的行列交叉处为“1”或“0”,“1”表示该行左边的控制信号在该列上边的指令中出现。
2)根据控制信号时间表写出各控制信号的逻辑表达式
对于每一个控制信号,找出它在控制信号时间表的每一个出现位置,记住与此位置相关的指令、周期与节拍。根据它们之间的关系写出逻辑表达式。
3)画出控制信号的逻辑图
根据各控制信号的逻辑表达式画出相应的逻辑图。
【例5】什么是组合逻辑控制?什么是微程序控制?它们的特点是什么?
答:
组合逻辑控制 又称为硬连线控制,它将控制部件看作产生固定时序控制信号的逻辑电路,而此逻辑电路以是用最少的原件和取得最高操作速度为设计目标。
微程序控制 是将机器指令的操作分解为若干个更基本的微操作序列,并将有关的控制信号(微命令)以微码形式编成微指令输入到控制存储器中。这样,每条机器指令将与一段微程序对应,取出微指令就产生微命令,实现机器指令要求的信息传送与加工。微程序控制又称存储逻辑控制。
组合逻辑控制速度快,但设计不规整,不可调整,难以形式化。
微程序控制设计规整、可调整、可形式化,但速度慢。
【例6】解释名词:微命令、微操作、微指令、微周期、微程序、微程序设计。
微命令:就是控制信号,它由控制器通过控制线发向各个被控制的部件。
微操作:它是由微命令控制实现的最基本的操作过程。
微指令:以二进制编码形式存放在控制存储器的一个单元中,用来实现指令中的某一步操作。
微周期:通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。
微程序:一个有序的微指令序列。
微程序设计:它是将传统的程序设计方法运用到控制逻辑设计中。
【例7】控制存储器和主存的区别是什么?
控制存储器用来存放实现全部指令系统的所有微程序,它通常是一种只读型存储器,一旦微程序固化,机器运行时则只读不写。系统从控制存储器中读出一条微指令就相当于产生了一组相关的控制信号,因此,控制存储器属于控制器的一部分。
主存中存放程序和数据,它为CPU的运行提供要执行的机器指令和数据并接受运行的结果,它还可以和外存动态交换程序和数据,主存是一种随机读写存储器。
【例8】说明微程序的编写过程。
答:首先要设计微指令的格式,可以按照控制信号序列来编写程序,每行控制信号序列对应一条微指令,便携式首先要找出本行各控制信号在微指令格式中的分组及编码,然后将编码填入该分组中,无对应控制信号的分组选择None编码。对于多路控制,分支控制及分支地址中的内容根据编写微程序的需要而定。
【例9】什么是RISC?什么是CISC?它们各自的特点是什么?
解:RISC机指精简指令系统计算机;CISC机指复杂指令系统计算机。
RISC机的特点:
1)一个时钟周期完成一条指令。
2)固定的指令长度,通常为一个字。
3)仅LOAD和STORE指令访问内存。
4)采用简单的寻址方式,通常为2~3种简单的寻址方式。
5)指令数量少,且简单。
6)CPU中通用寄存器数量相当多。
7)控制器设计以组合逻辑设计为主,不用或少用微指令控制。
8)一般用高级语言编程,特别注重编译优化工作,并采用指令流水线调度。
CISC机的特点:
1)指令系统复杂庞大,指令数目一般多达200~300条。
2)寻址方式多。
3)指令格式多。
4)指令字长不固定。
5)可访存指令不受限制。
6)各种指令使用频率相差很大。
7)各种指令执行时间相差很大。
8)大多数采用微程序控制器。
【例10】什么是指令流水?画出指令的四级流水结构图。
答:计算机中指令流水线将一条指令的执行过程分为大致相等的几个子过程,每一个子过程都由一个部件来完成,让指令在各个子过程连城的线路上连续流动,这样所有部件并行工作,同时执行多条指令,就会大大提高机器的吞吐量。
假如一条指令的执行过程分为取指令(IF)、指令译码(ID)、指令执行(IE)、指令结果存储(IS)四个子过程,则可以构成如图所示的指令四级流水结构。
【例11】某机CPU的主频为8MHz,其时钟周期是多少微秒?若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为0.8MIPS,试问:
解:时钟周期=1/主频=1/8=0.125, 机器周期=0.125x4=0.5
1)平均指令周期是多少微秒?
平均指令周期=1/平均指令执行速度=1/0.8=1.25
2)平均每个指令周期含有多少个机器周期?
平均每个指令周期含有的机器周期数=平均指令周期/机器周期=1.25/0.5=2.5
3)若改用时钟周期为0.4微秒的CPU芯片,则计算机的平均指令执行速度又是多少MIPS?
由于时钟周期为0.4ms,则CPU的主频为1/0.4=2.5MHz,0.8MIPSx(2.5MHz/8MHz)=0.25MIPS.主频越高,周期越短,平均指令执行速度越大,因此主频和平均指令执行速度成正比。这里就是计算现在主频所占原先主频的比例,则平均指令执行速度就是原来的平均指令执行速度乘上这个比例。
4)若要得到40万次/s的指令执行速度,则采用主频为多少兆赫兹的CPU芯片?
40万次指令执行速度,则为0.4MIPS。0.4=0.8x(主频/8MHz)。解出需要主频为4MHz的CPU芯片。
【例12】根据表(书3.17)写出控制信号MDout的逻辑表达式并绘制逻辑图。
答:首先从表中找出控制信号MDout的出现位置。控制信号MDout在表中共有两次出现,一次实在取指周期FT的T2节拍,取每一条指令都出现。另一次实在执行周期ET的T0节拍执行LOAD指令时出现。然后将这两次出现写成逻辑表达式如下:
MDout=FT*T2 +ET*T0*LOAD
最后根据这个表达式绘制逻辑图如下: