1、1时序控制方式q计算机中一条指令的执行过程:读取指令 读取操作数 运算 存放结果。q这样的执行过程需要一种时间划分的信号标志即时序信号来对执行指令的操作定时。q本讲内容先讲述“指令的执行过程”,然后再讲述“时序控制方式”。2教学目标q掌握指令的执行过程q掌握时序控制方式3教学内容q指令的执行过程q时序的控制方式4指令的执行过程q1、指令的分段执行过程q2、指令之间的衔接方式5指令的执行过程(续)q1、指令的分段执行过程q指令执行的3个阶段:读取指令,分析指令和执行指令。读取与分析指令的操作,对所有指令几乎都一样,而每条指令的执行阶段的具体操作则有效大差别。q比如:有的指令需要从存储器中取操作数
2、,再进行运算,运算结果还要写回存储器,因此执行阶段还可细分。6指令的执行过程(续)q1、指令的分段执行过程(续)q指令执行过程一般可分为:q(1)取指令q(2)分析指令q(3)执行指令7指令的执行过程(续)q1、指令的分段执行过程(续)q(1)取指令q根据指令计数器PC提供的地址从主存储器中读取现行指令,送到主存数据缓冲器MDR中,然后再送往CPU内的指令寄存器IR中。同时改变指令计数器的内容,使指令计数器指向下一条指令地址或紧跟现行指令的立即数或地址码。8指令的执行过程(续)q1、指令的分段执行过程(续)q(2)分析指令q如果CPU采用组合逻辑控制器,则通过译码电路译出IR中指令各字段表示什
3、么操作,并在时序系统地配合下产生该指令对应的微操作命令序列。q如果CPU采用微程序控制器,则可根据指令的操作码与标志位转向控制存储器取出对应的微程序,由微指令提供微操作命令序列。q通常译码电路工作只需很短的一点时间,因此不必为分析指令含义去设置专门的节拍。9指令的执行过程(续)q1、指令的分段执行过程(续)q(3)执行指令q1)取操作数q如果现行指令需要从主存取操作数,就需要安排时间再次访问存储器。如果是间址方式或是取双操作数,则访问主存次数就更多。若是变址方式,在取数之前还需安排时间进行变址计算。10指令的执行过程(续)q1、指令的分段执行过程(续)q(3)执行指令q2)执行操作q如果现行指
4、令需要运算,则需考虑形成稳定运算结果的时间,为此安排专门的节拍。对乘除、浮点运算则需占用更多的节拍。若运算结果需送回主存单元,则应安排时间以完成对主存的写操作。11指令的执行过程(续)q1、指令的分段执行过程(续)q(3)执行指令q3)形成下条指令地址q对于顺序执行的指令,下条指令地址在取指令、取立即数、取地址码时,就已形成在PC中;如果是转移类指令,则将形成的转移地址送到PC中。以后再取下一条指令,分析,执行,如此循环直至程序执行完毕或外来干预为止。12指令的执行过程(续)q2、指令之间的衔接方式q有2种方式:串行的顺序安排方式与并行的重叠处理方式。q采用不同的处理方式将对CPU的总体结构与
5、时序系统有很大的影响。13指令的执行过程(续)q2、指令之间的衔接方式(续)q串行的顺序安排方式是指在一条指令执行完毕后才开始取下条指令。这种方式控制简单,但在时间上不能充分利用部件。例如在ALU进行运算时,主存是空闲的,在访问主存时,ALU又是空闲的。模型机就采用这种简单的指令衔接方式。14指令的执行过程(续)q2、指令之间的衔接方式(续)q为了提高设备利用率和运算速度,可以让指令重叠执行,即在对现行指令执行运算操作时提前从主存取出下条指令,而不必等当前指令全部执行完,但如果程序需要转移,预取下条指令就要失败。不过由于大多数情况下程序流程是顺序执行,下条指令地址并不依赖本次执行结果,所以预取
6、指令还是能有效地提高执行速度。15时序控制方式q 很显然,执行一条指令的过程可分为几个阶段,而每段又分为若干步基本操作,每一步操作则是由控制器产生相应的一些控制信号实现的。因此,每条指令都分可分解为一个控制信号序列,指令的执行过程就是依次执行一个确定的控制信号序列的过程。q 由于执行指令的各步操作是有先后次序的,并且许多控制信号的长短也有严格的时间限制,这就需要引入时序信号对它们进行定时控制。时序控制方式就是指微操作与时序信号之间采取何种关系,它不仅直接决定时序信号的产生,也影响到控制器及其它部件的组成,以及指令的执行速度。16时序控制方式(续)q 1、同步控制方式q 同步控制方式是指各项操作
7、由统一的时序信号进行同步控制,这就意味着各个微操作必须在规定时间内完成,到达规定时间就自动执行后继的微操作。q 同步控制的基本特征是将操作时间分为若干长度相同的时钟周期(也称为节拍),要求在一个或几个时钟周期内完成各个微操作。机器的时钟频率(主频)的选择主要取决于CPU内部的操作。通常时钟应能完成CPU内部花费时间最长的微操作。显然,对于花费时间少的微操作,就会有时间上的浪费,这种是同步控制方式的一个缺点。17时序控制方式(续)q1、同步控制方式(续)q在CPU内部通常是采用同步控制方式,此外在CPU、主存、各I/O接口之间也可以采用这种方式。一般是由CPU提供统一的时序信号来控制各大部件之间
8、的数据传送,这时的传送操作可能需要几个时钟周期。q同步控制方式的优点是时序关系简单,结构上易于集中,相应的设计和实现比较方便。在实际应用中,根据不同的需要,同步控制方式也有了一些扩展。18时序控制方式(续)q 1、同步控制方式(续)q 目前的微机系统中较多采用同步控制方式。q 例如,在PC机中就用时钟周期作为基本定时单位,CPU按指令执行时间的长短为其分配时钟周期数,最短的指令只需2个时钟周期,较长的指令则占用多个时钟周期。由于时钟周期短,因此时间安排比较紧凑且经济。q 又如PC机中系统总线的数据传送操作一般需4个时钟周期(一个总线周期)。如果传送距离远,在4个时钟周期内不能完成传送,则可在第
9、3个时钟周期与第4个之间插入一到数个等待时钟周期。因此,总线周期的长度可按需要变化,这实际上是同步方式的一种扩展。19时序控制方式(续)q 2、同步控制方式的多级时序系统q 在CPU中为实现同步控制,必须设置一时序系统,以产生统一的时序信号对各操作进行定时控制。q(1)多级时序的概念q 在同步控制方式中,通常将时序信号划分为几级(其中包括指令周期),称为多级时序。q 指令周期是从取指令、分析指令到执行完该指令所需的时间。不同的指令,其操作性质不同,执行时间的长短可能也不同。因此,不同的指令,其指令周期长短也可以不同。在时序系统中通常不为指令周期设置时间标志信号,因而也不将其作为时序的一级。20
10、时序控制方式(续)q2、同步控制方式的多级时序系统(续)q在组合逻辑控制器中,是依靠不同的时间标志使CPU分步执行指令,其时序信号常划分为3级,即机器周期、节拍、时钟脉冲。q而在微程序控制器中,一条指令对应一段微程序(微指令序列),指令的分步执行是由执行不同的微指令来实现的,每条微指令的执行时间为一个节拍,故其时序信号划分为2级,即节拍、时钟脉冲。21时序控制方式(续)q2、同步控制方式的多级时序系统(续)q1)机器周期q在组合逻辑控制器中,通常将指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期,又称为CPU工作周期或基本周期。例如,取指令周期,存储器读周期,存储器写周期等。在不
11、同的机器周期中完成不同的操作。22时序控制方式(续)q2、同步控制方式的多级时序系统(续)q在时序系统中需设置一组周期状态触发器,以标志不同的机器周期,任一时刻只允许有其中的一个触发器为1,表明CPU当前处在哪个机器周期。不同的机器周期的长短可以不同。此外,不同的指令中的同一机器周期所占时间也可以不同,如正常的存储器读周期与插入等待状态的存储读周期的长度是不同的。23时序控制方式(续)q 2、同步控制方式的多级时序系统(续)q 2)节拍(时钟周期)q 一个机器周期的操作一般需分几步完成。为此,将一个机器周期划分为若干相等的时间段,每个时间段内完成一步基本操作。这个时间段用一个电平信号宽度对应、
12、称为节拍或时钟周期。显然,一个机器周期由若干个节拍组成。不同的机器周期,或不同指令中的同一机器周期,包含的节拍数目可能不同。q 节拍的长度确定,一般取决于CPU内部的操作的需要。q 在时序系统中设置有节拍发生器,用以产生节拍信号。24时序控制方式(续)q2、同步控制方式的多级时序系统(续)q3)时钟脉冲信号q节拍的长度确定后,时钟脉冲信号的频率也就随之确定了。在时序系统中由时钟发生器产生时钟脉冲信号,作为时序系统的基本定时信号。此外,在节拍信号的配合下,使用时钟脉冲前将运算结果打入寄存器,其后沿实现周期切换等功能。25时序控制方式(续)q2、同步控制方式的多级时序系统(续)q(2)多级时序信号
13、之间的关系26时序控制方式(续)q2、同步控制方式的多级时序系统(续)q(3)时序系统的组成q一个时序系统的组成如下图所示。q该图中的主振就是一个晶体振荡器,当机器一接上电源就产生频率稳定的主振信号,由时钟发生器发出经过整形分频后得到时钟脉冲信号。启停控制线路控制时钟脉冲的发与不发。节拍发生器按先后顺序,循环地发出若干节拍信号,它通常用计数译码电路构成。27时序控制方式(续)q2、同步控制方式的多级时序系统(续)主振时钟发生器周期触发器节拍发生器启动暂停T1T2M1M2时钟脉冲CLK 时序系统框图28小结q本次课我们讲述了指令的执行过程和时序控制方式。q指令的执行过程:取指令、分析指令、执行指令。q时序的同步控制方式的缺点:有时间上的浪费。q时序的同步控制方式的优点:时序关系简单,结构上易于集中,相应的设计和实现比较方便。q3级时序信号:机器周期、节拍、时钟脉冲q2级时序信号:节拍、时钟脉冲29作业q1、指令的执行过程是什么?q2、时序的同步控制方式的缺点是什么?q3、时序的同步控制方式的优点是什么?q4、3级时序信号是什么?它主要是指哪种控制器?q5、2级时序信号是什么?它是要是指哪种控制器?