组成原理(十四):中央处理器之 时序系统与控制方式
时序控制系统是控制器的心脏,功能是为指令的执行提供各种定时信号。
1、时序系统
1.1、指令周期和机器周期
指令周期是从取指令,分析取数到执行完该指令所需的全部时间。
机器周期又称CPU周期,常把一个指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。
机器周期有取指周期、取数周期、执行周期和中断周期。
一般情况,一条指令所需的最短时间为两个机器周期:取指周期和执行周期。
每个机器周期都有一个对应的周期状态触发器,机器运行在不同的机器周期时,对应的周期状态触
发器被置"1",在机器运行的任何时刻只能处于一种周期状态。
1.2、节拍
在一个机器周期内,完成若干个微操作,应把一个机器周期分为若干个相等的时间段,每一个时间段对应一个电位信号,称为节拍电位信号。
节拍的宽度取决于CPU完成一次微操作的时间
2、控制方式
CPU的控制方式可分为3种:同步控制方式、异步控制方式、联合控制方式。
同步控制方式,固定时序控制方式,各项操作都由统一的时序信号控制,在每个机器周期中产生统一数目的节拍电位和工作脉冲。在同步控制方式中,各指令所需的时序由控制器统一发出,所有微操作都与时钟同步,又称为集中控制方式或中央控制方式。
异步控制方式,可变时序控制方式,各项操作不采用统一的时序信号控制,根据指令或部件的具体情况决定,需要多少时间就占用多少时间。这种控制方式没有统一的时钟,由各功能部件本身产生各自的时序信号自我控制,又为分散控制方式或局部控制方式。
联合控制方式,同步控制和异步控制相结合的方式。
3、指令运行的基本过程
一条指令运行过程分为3个阶段:取指令阶段、分析区属阶段和执行阶段。
3.1、取指令阶段
取指令阶段将现行指令从主存中取出来并送至指令寄存器中。
任何一条指令必须要执行的过程,取指阶段任务的事件称为取指周期。取值周期中CPU各部分的工作流程如下:
操作过程如下:
1、将程序计数器(PC)中的内容送至存储器地址寄存器(MAR),并送地址总线(AB);
2、由控制单元(CU)经控制总线(CB)向存储器发读命令;
3、从主存中取出指令通过数据总线(DB)送到存储器数据寄存器(MDR);
4、将MDR的内容送至指令寄存器(IR)中;
5、将PC的内容递增,为取下一条指令做好准备。
3.2、分析取数阶段
取出指令后,指令译码器(ID)可识别和区分出不同的指令类型。计算机进入分析取数阶段,获取操作数。
无操作数的指令,需识别出是哪条具体的指令即可直接转至执行阶段,无须进入分析取数阶段。
带操作数指令,为读取操作数,先计算出操作数的有效地址。
完成分析取数阶段任务的时间可细分为间址周期、取数周期。
3.3、执行阶段
执行阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。完成执行阶段任务的时间称为执行周期。
计算机的基本过程是取指令、取数、执行指令,再取下一条指令,直至遇到停机指令或外来的干预为止。
4、控制单元设计
控制单元的主要功能是根据需要发出各种不用的微操作控制信号,未操作控制信号是与CPU的数据通路密切相关的。
如下单累加器结构的简单CPU模型:
MAR和MDR分别直接与地址总线和数据总线相连,CPU的指令系统包含下列指令:
4.1、非访存指令
非访存指令在执行周期不访问存储器,有如下指令:
清除累加器指令 CLA
累加器取反指令 COM
累加器加1指令 INC
算术右移一位指令 SHR
循环左移一位指令 CSL
停机指令 STP
4.2、访存指令
访存指令在执行周期需访问主存储器:
加法指令 ADD,完成累加器内容与对应主存单元的内容相加,结果送累加器的操作。
减法指令 SUB,累加器与对应主存单元的内容相减。
与指令 AND,完成累加器与对应主存单元的内容相与。
取数指令 LDA,将对应主存单元的内容取至累加器中。
存数指令 STA,将累加器的内容那个存于对应主存单元中。
4.3、转移指令
无条件转移指令JMP
零转移指令JZ
负转移指令JN
进位转移指令JC