第5章中央处理器_第1页
第5章中央处理器_第2页
第5章中央处理器_第3页
第5章中央处理器_第4页
第5章中央处理器_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本章主要讨论:运算器控制器数据通路结构指令的执行过程CPU组成CPU工作原理第五章中央处理器5.1组合逻辑控制器原理5.1.1控制器组成微命令发生器微命令序列I/O状态控制台信息运行状态译码…...PS

时序IR地址形成PCOPD寻来自M送M或ALU+1送M微命令发生器微命令序列I/O状态控制台信息运行状态译码…...PS

时序IR地址形成PCOPD寻来自M送M或ALU+1送M微命令发生器1.微命令发生器功能:产生全机所需的各种微命令控制最基本的操作(微操作)的命令电位型脉冲型微命令发生器微命令序列I/O状态控制台信息运行状态译码…...PS

时序IR地址形成PCOPD寻来自M送M或ALU+1送M2.指令计数器PC功能:指示指令在M中的位置。PC+1顺序执行:PC先+1,再用转移地址修改PC微命令发生器PC转移执行:3.指令寄存器IR功能:存放现行指令。从存储器取出的当前要执行的指令决定操作性质操作码字段操作数地址转移地址PC微命令发生器微命令序列I/O状态控制台信息运行状态译码…...PS

时序IR地址形成OPD寻来自M送M或ALU+1送M微命令发生器PCIR地址码字段译码器微命令发生器地址形成部件寻D4.程序状态寄存器PS功能:指示程序运行方式,反映程序运行结果。运算型指令执行后,要根据运算的结果来设置状态标志,状态标志就反映了程序的运行结果。PC微命令发生器微命令序列I/O状态控制台信息运行状态译码…...PSW

时序IR地址形成OPD寻来自M送M或ALU+1送M微命令发生器PCIRPS5.时序线路功能:控制操作时间和操作时刻。PC微命令发生器微命令序列I/O状态控制台信息运行状态译码…...PSW

时序IR地址形成OPD寻来自M送M或ALU+1送M微命令发生器PCIRPS

时序计算机的操作都是和时间有关系的,在哪一段时间做什么操作,或者在哪一个时刻完成什么操作,都是有严格的时间限制的。1.取指令:把指令从存储器取出来送到IR中PCPC微命令发生器微命令序列I/O状态控制台信息运行状态译码…...PSW

时序IR地址形成OPD寻来自M送M或ALU+1送M微命令发生器PCIRPS

时序5.1.2控制器工作过程地址M指令IR、译码(OP、寻址方式)PC+1PC2.取数PC微命令发生器微命令序列I/O状态控制台信息运行状态译码…...PSW

时序IR地址形成OPD寻来自M送M或ALU+1送M微命令发生器PCIRPS

时序按寻址方式,或从寄存器取数,或从存储器取数。3.执行按操作码对数据进行运算处理。1.组合逻辑控制器的时序划分5.1.3时序控制方式即时序信号与操作的关系。●

采用三级时序系统:指令周期工作周期1工作周期2工作周期n……时钟周期1时钟周期2时钟周期m….….工作脉冲1工作脉冲2工作脉冲k…..……….(节拍1)(节拍2)(节拍m)●

时序关系:工作周期1工作周期2工作周期3时钟T1工作脉冲P时钟T2指令周期控制不同阶段操作时间控制分步操作时间对微操作定时取指执行取数取出指令修改PC打入IR打入PC时钟周期用来控制一步操作,在一个工作周期中要安排若干步。现在假设安排两步,需要有两个时钟周期T1和T2,两者相差一个相位。两个时钟周期组成一个工作周期。本例中,一个指令周期包括3个工作周期,每个工作周期用来完成一个阶段的操作。比如工作周期1用来控制取指这段时间,工作周期2用来控制取数这个阶段,工作周期3用来控制执行这段时间。所以一条指令通过这3个阶段,取指、取数和执行就完成了。一个工作周期中又包含两个时钟,包含两步操作,用两个时钟来控制每一步的操作时间。比如在取指阶段中分为两步,第一步是把指令取出来送到指令寄存器中;第二步就是修改PC,让PC+1然后结果再送PC。取数和执行也分成两步。在每一步操作中要通过工作脉冲对微操作进行定时,在每一个时钟结束的时候都设置了一个工作脉冲。比如在取指阶段,第一步把指令从存储器取出来送到指令寄存器就需要定时,用脉冲前沿来定时把取出的指令送入指令寄存器,打入IR;第二步在结束的时候设置一个工作脉冲,用脉冲前沿把已经修改后的PC内容打入到PC里面。2.时序控制方式(1)同步控制各项操作受统一时序控制。①定义:②特点:有明显时序时间划分,③优缺点:时序关系简单,时序划分规整,控制不复杂;时间安排不合理。④应用场合:用于CPU内部、设备内部、系统总线操作

控制逻辑易于集中,便于管理。

(各挂接部件速度相近,传送时间确定,传送距离较近)。时钟周期时间固定,

各步操作的衔接、各部件之间的数据传送受严格同步定时控制。各项操作受统一时序控制。由CPU或其他设备提供(2)异步控制各项操作按不同需要安排时间,不受统一时序控制。按需安排时间①定义:②特点:无统一时钟周期划分,例.异步传送操作●

主设备:申请并掌握总线权的设备。各操作间的衔接和各部件之间的信息交换采用异步应答方式。总线主从●

从设备:响应主设备请求的设备。从设备不掌握总线权。发/接接/发答:不对。主设备和从设备之间的数据交换不是单向的,而是双向的。主设备既可以是发送部件,也可以是接收部件,即可以发送数据,也可以接收数据;同样从设备也是如此。所以,区别主/从设备并不是看它是发送还是接收部件,而是看由哪一个设备启动了这次总线传送,是否获得总线权。问题:主设备仅仅是发送设备,从设备仅仅是接收设备,这样说对不对?主设备获得总线控制权●

操作流程:主设备询问从设备主设备发送/接收数据主设备释放总线控制权从设备准备好?YN主设备输出端与总线连接主设备输出端与总线断开时间安排紧凑、合理;控制复杂。③优缺点:④应用场合:用于异步总线操作(各挂接部件速度差异大,传送时间不确定,传送距离较远)。(3)联合控制方式是介于同步和异步之间的一种折中。对于大多数需要节拍数相近的指令,用相同的节拍数来完成,即采用同步控制;而对于少数需要节拍数多或节拍数不固定的指令,给予必要的延长,即采用异步控制。1.组合逻辑控制方式5.1.4组合逻辑控制方式的优缺点及应用综合化简产生微命令的条件(包括产生这个微命令的指令信息、状态信息以及时间信息),形成逻辑式,用组合逻辑电路实现;执行指令时,由组合逻辑电路(微命令发生器)在相应时间发出所需微命令,控制有关操作。●

产生微命令的速度较快。2.优缺点●

设计不规整,设计效率较低;因为微命令是由组合逻辑电路来产生的,只要有关条件稳定提供在组合逻辑电路的输入端,最后就会获得相应的微命令,那么微命令很快产生之后就把它送到相应部件去控制有关操作。所以,采用组合逻辑控制方式的计算机它的工作速度是比较快的。设计过程是把产生微命令的条件进行综合化简,那么不同的微命令产生的条件不同,最后获得的逻辑式也可能不同,所以实现的逻辑电路是不规整的。不规整导致不容易实现设计的自动化,所以设计的效率比较低。2.优缺点●

不易修改、扩展指令系统功能。3.应用场合用于高速计算机,或小规模计算机。组合逻辑控制器的核心电路—逻辑门电路,要用硬联线连接起来,所以称这种逻辑电路为硬联电路。所以,修改起来非常麻烦,原因就是硬联逻辑限制了指令功能的扩展。例1.若某机主频为200MHz,每个指令周期平均为2.5个机器周期,每个机器周期平均包括2个主频周期。问:(1)该机平均指令执行速度为多少MIPS?(2)若主频不变,但每条指令平均包括5个机器周期,每个机器周期又包含4个主频周期,平均指令执行速度又为多少MIPS?(3)由此可得出什么结论?例2.假设某机平均执行一条指令需要两次访问主存,平均需要3个机器周期,每个机器周期平均包含4个节拍,若机器主频为240MHz。(1)若主频为“0等待”(即不需要插入等待时间),执行一条指令的平均时间为多少?(2)若每次访问主存需要插入2个等待周期,执行一条指令的平均时间又为多少?5.2

微程序控制方式5.2.1微程序控制的基本思想

1.若干微命令编制成一条微指令,控制实现一步操作;2.若干微指令组成一段微程序,解释执行一条机器指令;3.微程序事先存放在控制存储器中,执行机器指令时再取出。4.对于整个指令系统,需要编制出一套完整的微程序,事先存入控制存储器中,执行机器指令的过程就是执行对应的微程序的过程。1.若干微命令编制成一条微指令,控制实现一步操作;2.若干微指令组成一段微程序,解释执行一条机器指令;4.对于整个指令系统,需要编制出一套完整的微程序,事先存入控制存储器中,执行机器指令的过程就是执行对应的微程序的过程。具体做法:(1)采用“存储逻辑”的设计思想。将控制器所需的微命令,以代码的形式编成微指令,存入一个由ROM构成的控制存储器中。执行机器指令时,从该存储器中取出微指令,产生执行指令所需的微操作命令序列。(2)采用“程序设计”的技术。将各种机器指令的操作分解为若干个微操作序列,每条微指令实现一步微操作。若干条微指令组成一小段微程序,用来解释执行一条机器指令。微程序控制就是用“程序设计”的思想来代替组合逻辑控制方式中“硬联逻辑”的思想。

1.主要部件(1)控制存储器CM(控存)功能:微地址形成电路IRPSPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR存放微程序。就是我们前面说的存储逻辑。5.2.2组成原理控存中要存放整个系统中所有的微程序段,这些微程序并不一定要连续存放,但是每一段微程序的一条一条微指令是连续存放的,占一个区间。所以每个微程序都有一个它存放区间的起始地址,这个起始地址称为微程序的入口地址。因此要找到微程序段,首先就需要获得微程序的入口,只要找到微程序的入口,就可以从入口开始把一条条微指令取出来解释执行。(1)控制存储器CM(控存)CM属于CPU,不属于主存储器。因为CM是要产生微命令的,相当于组合逻辑控制器中的微命令发生器。(2)微指令寄存器µIR功能:微地址形成电路IRPSPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR存放现行微指令。微命令字段:提供一步操作所需的微命令。微地址字段:指明后续微地址的形成方式。提供微地址的给定部分。(微操作控制字段)(顺序控制字段)微程序、微指令都是放在控存中的,当执行到某一步的时候,再把微指令从控存取出来,取出来以后放到寄存器存放起来。(3)微地址形成电路功能:微地址形成电路IRPSPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR提供两类微地址。微程序入口地址:由机器指令操作码形成。后续微地址:由微地址字段、现行微地址、运行状态(PSW)等形成。根据机器指令要找到相应的微程序段,也就是说一段微程序应该和一条机器指令是对应的,所以机器指令不同微程序入口地址也不同。微地址寄存器(µAR):用来存放准备要访问控制存储器的微地址,根据微地址寄存器的内容就可以找到马上要取出执行的微指令。微程序控制器它要控制一条指令的执行。取出机器指后,根据机器指令找到相应的微程序段,然后从控制存储器中取出这段微程序的各条微指令,通过执行这些微指令来完成这条机器指令的功能。2.工作过程首先要把这条机器指令取出来。因为机器指令是放在主存中的,因此第一个工作要把这条机器指令从主存取出来,那么这个工作也是通过执行微指令来实现的。2.工作过程(1)取机器指令CM取指微指令µIR微命令字段译码器微命令主存机器指令IR微地址形成电路IRPSPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR取指微指令控制存储器取指微指令微命令字段微地址字段译码器微命令序列控制存储器微命令字段微地址字段译码器微命令序列取指微指令:取机器指令的微指令。公用的,放在控存的某一个固定单元。(2)转微程序入口IR操作码微地址形成电路入口µAR微命令字段CM首条微指令(3)执行首条微指令µIRµIR译码器微地址形成电路IRPSPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR取指微指令控制存储器取指微指令微命令字段微地址字段译码器微命令序列IR控制存储器微命令字段微地址字段译码器微命令序列微地址形成电路IR微地址寄存器微地址形成电路控制存储器微地址寄存器微命令字段微地址字段控制存储器微命令字段微地址字段微命令操作部件(4)取后续微指令微地址字段现行微地址运行状态微地址形成电路后续微地址µARCM后续微指令µIR微地址形成电路IRPSWPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR微命令字段微地址字段PSW微地址寄存器微地址形成电路微命令字段微地址字段PS微地址寄存器微地址寄存器微地址形成电路微地址寄存器(5)执行后续微指令同(3)微地址形成电路IRPSWPC微地址寄存器

µAR控制存储器CM译码器微命令序列微命令字段微地址字段µIR微命令字段微地址字段PSW微地址寄存器微地址形成电路微命令字段微地址字段PS微地址寄存器微地址寄存器微地址形成电路微地址寄存器(6)返回微程序执行完,返回CM(存放取指微指令的固定单元)。机器指令的读取与执行:

一条机器指令的读取与执行就是其对应的一段微程序的读取与执行,可以分为4步:(1)从CM中读取“取指微指令”并执行,该微指令的执行就完成从主存取出一条机器指令(公操作)。(2)由取出的机器指令的操作码,经“微地址形成电路”,产生该指令对应的微程序的入口地址。(3)由该入口地址,逐条取出微指令执行,产生该机器指令的执行所需要的微操作命令序列。(4)该段微程序执行结束,又回到“取指微指令”,开始下一条机器指令的取指与执行。5.2.3微指令的格式1.微操作控制字段用于提供本条微指令所需要的各种微命令。产生微命令控制微操作。①.直接控制编码法微命令按位给出,每一位代表一个微命令,直接对应一个微操作,不需要进行译码。②.字段直接编码法将微指令划分成若干字段,每个字段独立定义其编码,与其它字段无关,各字段通过译码电路产生微命令。③.字段间接编码法一个字段的含义不仅决定于本字段的编码,还兼由其它字段参与解释。微操作控制字段顺序控制字段①直接控制法例.某微指令不需译码,产生微命令的速度快;信息的表示效率低。C0RW111C0=0进位初值为01进位初值为1R=0不读1读0不写1写W=微指令中通常只有个别位采用直接控制法。举例说明随着命令的增多占据微指令的空间就比较多。所以,这种直接控制法它表示的命令很少,表示效率低。为了提高信息表示效率就应该采用编码的方法。②字段直接编码法

微命令由字段编码直接给出。各字段都可以独立地定义本字段的微命令,而和其他字段无关。这种方法缩短了微指令字,因此得到了广泛的应用。③字段间接编码法例.C=CA设置解释位或解释字段解释位1A为某类命令0A为常数

以上介绍了几种在微程序编制中常用的一些微指令的编码方法。它的基本思想是:要使微指令编码比较简单,但是还要能够表示丰富的含义。5.2.3微指令的格式2.顺序控制字段(微地址字段)①.微程序入口地址的形成一级功能转移二级功能转移通过PLA电路实现功能转移②.后续微地址的形成增量方式断定方式增量方式与断定方式的结合指令操作码1.微程序入口地址的形成

微程序入口功能转移(1)一级功能转移各操作码的位置、位数固定,一次转换成功。

入口地址=页号,操作码5.2.3微指令的格式执行机器指令要找到它对应的微程序段,首先要获得这段微程序的入口地址,而入口地址是由这条机器指令的操作码转换而成的。这种转换我们称为功能转移。只转换一次就可以由机器指令操作码获得微程序的入口地址。

拼装方法:把微程序的入口地址放在同一个页面区间,就可以把页面的页号作为入口地址的高位部分,而把机器指令的操作码作为入口地址的低位部分,这样两个部分拼装起来就可以得到一个完整的入口地址。例.机器指令10F(8位)入口地址=000FHCM机器指令210(8位)入口地址=0010H000F0010无条件转微地址1微地址1微程序1无条件转微地址2微地址2微程序2

功能转移

功能转移0页当我们获得机器指令1的微程序段的第一条微指令之后还要转到后续的微程序段去,因此000F这个单元里放的微指令应该是一条转移微指令。也就是说,当执行这条微指令之后就要无条件转到微地址1上去,在这个区间里放的程序段各条微指令用来具体完成机器指令1的有关操作。之所以要转移是因为机器指令的操作码是连续的,既然用机器指令的操作码来作为入口地址的低位部分,那么指令系统所有的微程序段的入口地址都是连续的,那么这些入口地址对应的起始地址必定都是无条件转移微指令。约定:把入口地址集中放在控存的0号页面(2)二级功能转移各类指令操作码的位置、位数不固定,需两次转换。

分类转:指令类型标志区分指令类型功能转:指令操作码区分操作类型分类转:在一个指令系统中,在同类操作中指令操作码位置、位数都是相同的。

功能转:在同类指令中再转到相应不同操作(3)用可编程逻辑阵列PLA实现功能转移入口地址1PLAIR入口地址22.后续微地址的形成

(1)增量方式以顺序执行为主,辅以各种常规转移方式。把转移有关的条件统统都送到一个可编码译码的逻辑器件,叫做可编程逻辑阵列,从这个逻辑的输出端就可以获得相应的入口地址,这样入口地址形成就比较方便。顺序:现行微地址+1。跳步:现行微地址+2。无条件转移:现行微指令给出转移微地址。CMAA+1A+2BB条件转移:现行微指令给出转移微地址和转移条件。B转移条件CC(条件满足)(条件不满足)转微子程序:现行微指令给出微子程序入口。转移条件CDD微子程序返回微主程序:现行微指令给出寄存器号。A+1RR增量方式优点:后续微地址形成简单。缺点:只能实现微程序的两类分支转移,不能灵活的实现微程序的多路分支转移。微指令给定后续微地址高位部分(2)断定方式由直接给定和测试断定相结合形成微地址。

给定部分断定条件指明后续微地址低位部分的形成方式,不是低位微地址本身

例.微指令

D(给定)

A(条件)2位位数可变微地址10位,约定:A=0110微地址低4位为操作码,D给定高位;微地址低3位为机器指令目的寻址方式微地址低3位为机器指令源寻址方式6711编码,D给定高位;编码,D给定高位。716路分支8路分支8路分支在现行微指令执行结束以后,它可以在多个后续微地址之间进行选择,而不是两个微地址,也就是说它的后续微地址是可以变化的。为了既使它能灵活的选择,又能减少选择的范围,往往使后续微地址分成两个部分,一个部分是给定的(不能变化),另一部分(少数几位)可以变化。5.2.4微程序控制方式优缺点及应用1.优点

(1)设计规整,设计效率高;(2)易于修改、扩展指令系统功能;(3)结构规整、简洁,可靠性高;(4)性价比高。2.缺点

(1)速度慢访存频繁转移较多(2)执行效率不高3.应用范围

用于速度要求不高、功能较复杂的机器中。特别适用于系列机,因为系列机涉及到指令系统的不断扩展,可以通过改写微程序很容易实现。未充分发挥数据通路本身具有的并行能力。本来微程序包含命令较多,使数据通路并行程度能够得到很好体现。但为了简化微程序编制,就使一条微指令包含的命令不是很多。5.3.1.寄存器设置

1.通用寄存器计算机为了减少访问存储器的次数,提高运算速度,在CPU内部设置大量的通用寄存器,少则几个,多达上百个。5.3CPU的总体结构

2.专用寄存器程序计数器PC指令寄存器IR:存放现行指令。程序状态字寄存器PSW主存地址寄存器MAR:接受来自PC的指令地址,或来自地址形成部件的操作数地址。主存数据寄存器MDR:用来存放来自主存的读出数据或写入主存的数据。5.3.2.CPU数据通路结构为了使数据传送控制简单、集中,采用以ALU为中心的总线结构。

1.组成包括四个部分:ALU部件、寄存器组、内总线、CPU与系统总线的连接所有数据都要送ALU,经过算逻部件对这些数据进行收集,然后要处理的进行处理,不处理的就直接传送出去,再把它送到总线上,由总线把算逻部件处理的结果送到目的地址去。数据通路结构:主要讨论数据在CPU内部寄存器和算术逻辑运算部件之间的传送,以及CPU和外部进行数据传送的一些情况。控制逻辑:控制器微命令发生器控制存储器R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑

(1)ALU为内部数据传送通路的中心;所有寄存器的内容都是通过ALU传送或者加工处理,然后把它们送到内总线上再分配到有关的地址去。

2.特点(2)寄存器采用分立结构;每个寄存器的输入端和输出端都是独立的,互相不干扰。这样在ALU的输入端就只需设置门电路选择器就可以,不用设置具有暂存功能的锁存器。(3)内总线采用单向数据总线。ALU只能向内总线发送数据;而挂接在内总线上的寄存器都只能从内总线接收数据。单向数据总线就是保证以ALU为数据传送中心。R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑

(4)CPU内部与外部的连接:CPU与系统总线的连接通过MAR、MDR实现。R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑

3.各类信息传送途径M(1)指令信息DBIR(2)地址信息R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑

1)指令地址2)指令地址加1PC打入AALU移内MARPCAALU移内PCC0打入R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑

3)转移地址寄存器寻址:R0打入BALU移内PC寄存器间址:R0打入BALU移内MARABMDBMDRB移、内PCALUR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑

(3)数据信息1)RR:R0打入BALU移内R1DBMDBMDRB移、内R2ALU2)RM:R0打入BALU内MDR3)MR:MR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑

4)MM:M(源)R0MDRDB内I/OALU5)RI/O:打入DBMDR内CALU(计算目的地址)DBMCALU内MDR(目的)R0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑

DBDBDMA方式:I/O6)I/OR打入I/OMDR内R0ALU7)I/OMMR0~R3R0~R3CDCDSPPCPSWMDR

A移位器

B

ALUR2

R0

R1MI/OCB内总线CR3DMARMDRIRPCSPPSWABDB控制逻辑

规定部件的字母加下标in表示该部件的接收控制信号,即该部件的输入开门信号;下标out表示该部件的输出开门信号。例如,PCout、Yin两信号就能完成将PC的内容传送给Y。下面以加法指令ADD@R0,R1

为例分析指令执行过程。(1)取指周期第1步,PCout和MARin有效,完成将PC内容经内部总线送至MAR的操作,即PCMAR,然后通过控制总线向主存储器发读命令;同时利用ALU把PC加1;即

PCout,MARin,Read,Y0C01,Add,Zin

第2步,从发出读命令开始,利用等待存储器功能完成这部分时间进行PC(PC)+1的操作;即Zout,PCin,WMFC(WaitforMFC:等待存储器功能完成的回答信号)4.指令的执行过程分析这条指令完成的功能是把R0的内容作为地址送到主存以取得源操作数,与R1的内容作为目的操作数相加,再将结果送回R1中,即R1((R0))+(R1)。

第3步,收到MFC信号后,存储器通过数据总线将MAR所指单元内容(指令)送至MDR,MDRout和IRin有效,将MDR的内容送至IR,即MDRIR,至此,指令送至指令寄存器IR;即MDRout,IRin

(指令送入后立即可对指令进行分析)(2)执行周期第4步,R0内容送MAR,并发读命令;即

R0out,MARin,Read

第5步,把R1的内容送Y,且等待MFC。利用等待MFC的时间执行Y(R1)的操作;即R1out,Yin,WMFC

第6步,收到MFC信号后,存储器通过数据总线将MAR所指单元的内容(操作数)送至MDR,然后将MDR中的数据送ALU的B端,执行加操作;即MDRout

,Add,Zin

第7步,把结果(和)送R1;即Zout

,R1in

第8步,End信号表示当前指令执行完毕。4.指令的执行过程分析5.4控制单元的设计5.4.1组合逻辑设计5.4.2微程序设计5.4.1组合逻辑设计组合逻辑控制器又称为硬连逻辑控制器,采用组合逻辑技术实现,其控制单元是由门电路组成的复杂树形网络结构,它以使用最少元器件和取得最高操作速度为设计目标。

1.设计指令系统>>>

2.设计CPU内部数据通路>>>

3.微操作节拍安排>>>

4.列出微操作命令的操作时间表>>>

5.写出微操作命令的逻辑表达式>>>

6.画出微操作命令的逻辑图>>>5.4.1.1模型机的总体结构1.模型机的指令系统模型机寻址方式只包括寄存器寻址和直接寻址两种。指令格式:包括5条基本指令,分为算术/逻辑运算指令、存/取指令和控制转移指令三种类型,见下表opRiADD令操作码编码LDRiADDRSTRRiADDRADDRiADDRANDRiADDRJZADDR000001010011100取数存数加法逻辑与结果零转移操作功能2.模型机的数据通路微操作信号发生器MARinMDRinZinMDRoutYinZout0→Y1→C0……RIinRIoutIRinIRoutPCinPCoutADDANDREADWRITE指令译码器ID模8计数器LDSTRADDANDJZT0T1T2T3T4T5T6T7IR15IR14IR13启动停止时钟复位零标志位5.4.1.1模型机的总体结构控制器重复执行各条指令的微操作序列,这些序列可以用一个包含k步闭合循环的流程来描述,每次循环构成一个指令周期。5.4.1.1模型机的总体结构3.模型机时序采用三级时序系统一条指令周期包括三个工作周期(机器周期),分别是取指周期、分析周期和执行周期。

取指周期:按PC值访存取指令和修改PC的值。分析周期:形成操作数有效地址和访存取操作数。执行周期:执行指令操作码规定的操作。每个机器周期分为若干个节拍Ti,每个节拍末尾设置一个工作脉冲P。取指周期是公共操作,是每条指令都必须经历的机器周期状态。5.4.1.2指令流程分析PC←PC+1IR←MDRMAR←PC、READMAR←ADDRREADY←MDRZ←Y+RiRi←ZMAR←ADDRREADMAR←ADDRMAR←ADDRREADY←MDRZ←Y∧RiRi←ZMDR←RiWRITERi←MDRZ=1?PC←ADDRT0T1T2T3T4T5T6YNLDSTRADDANDJZ1.微操作的节拍安排

安排微操作节拍应注意以下三点:第一,有些微操作的次序是不容改变的,故安排微操作节拍时必须注意微操作的先后顺序。第二,凡是被控制对象不同的操作,若能在一个节拍内执行,应尽可能安排在同一个节拍内,以节省时间。第三,如果有些微操作所占的时间不长,应该将它们安排在一个节拍内完成,并且允许这些微操作有先后次序。2.举例说明微操作节拍安排:以AND(逻辑乘)指令为例(1)取指周期

T0:根据原则二,T0节拍可安排两个微操作:PCMAR,

1R;从发读命令开始,经过一个节拍(存储周期),所取指令已到MDR。5.4.1.2指令流程分析

T1:MDR送指令寄存器IR,同时译码器分析指令;若为

AND指令,则译出AND控制信号,送ALU控制端。

T2:利用ALU实现PC(PC)+1,为取后继指令做准备。(2)执行周期

T3:IR中操作数地址送MAR,同时向主存发读命令。

T4:将MDR中的数送Y寄存器,即ALU的A端。

T5:将Ri中的操作数通过内部总线送ALU的B端,执行逻辑乘,操作结果送寄存器Z。

T6:结果从寄存器Z送Ri。

T7:执行一条指令所需的节拍数已到,即模8计数器为0,重新执行T0,表示开始执行下一条指令。5.4.1.2指令流程分析指令微操作序列表指令节拍微操作控制信号取指令公操作T0T1T2PCout,MARin,Read,Y0,C01,Add,ZinMDRout,IRinZout,PCinLDT3T4ADDRout,MARin,ReadMDRout,RIinSTRT3T4ADDRout,MARinRIout,MDRin,WriteADDT3T4T5T6ADDRout,MARin,ReadMDRout,YinRIout,Add,ZinZout,RIinANDT3T4T5T6ADDRout,MARin,ReadMDRout,YinRIout,And,ZinZout,RIinJZT6Z=1,ADDRout,PCin5.4.1.3微操作信号发生器的设计设计组合逻辑控制部件的主要任务是用组合逻辑方法设计微操作信号发生器。根据每条指令的时序要求,让节拍电位和时钟脉冲有步骤的控制有关部件,一步一步地依次执行所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。微操作信号发生器的设计方法:1.根据指令流程图,编制指令操作时间表和微操作表;2.根据微操作表进行微操作逻辑综合;3.画出产生各个微操作的逻辑线路。5.4.1.3微操作信号发生器的设计1.设计指令微操作时间表节拍LDSTRADDANDJZMAR←PC、READIR←MDRPC←PC+1MAR←ADDR[JZ]、READ[STR+JZ]T0T1T2T3T4T5T6Ri←MDRMDR←Ri、WRITEY←MDRY←MDRZ←Y+RiZ←Y∧RiRi←ZRi←ZPC←ADDR[Z=1]T0~T2是公操作,是5条指令所共有的;有些微操作如MAR←ADDR是4条指令所共有,也可提到公操作中,但有限制条件T3MAR←ADDR[JZ],即不是JZ指令时,在T3

执行MAR←ADDR。2.设计微操作表微操作T0T1T2T3T4T5T6PCoutALLMARinJZREADSTR+JZJZ[Z=1]ALLALLY←0C0←1ADDZinZoutPCinALLALLALLALLALLALLADDADD+ANDADD+AND5.4.1.3微操作信号发生器的设计由于一个微操作信号可以出现在不同指令的不同节拍之中,大量的微操作信号直接在操作时间表上进行逻辑综合,容易造成错误也不方便检查。微操作时间表是以微操作为条目,表示在哪个节拍有哪些指令要求这个微操作,所以采用微操作表方法可以清晰、有条理的进行微操作信号的综合。2.设计微操作表MDRoutMDRinIRin微操作T0T1T2T3T4T5T6ADDRoutRIinRIoutYinWRITEANDALLALLJZSTR+JZSTRLDSTRADD+ANDSTRJZ[Z=1]ADD+ANDADD+ANDAND5.4.1.3微操作信号发生器的设计3.写出微操作的逻辑表达式PCout=T0MARin=T0+T3·JZREAD=T0+T3·STR+JZY←0=T0C0←1=T0ADD=T0+T5·ADDZin=T0+T5(ADD+AND)Zout=T2+T6(ADD+AND)PCin=T2+T6·Z·JZMDRout=T1+T4(ADD+AND+LD)MDRin=T4·STRIRin=T1ADDRout=T3·JZ+T6·Z·JZRIin=T4·LD+T6(ADD+AND)RIout=T4·STR+T5(ADD+AND)Yin=T4(ADD+AND)WRITE=T4·STRAND=T5·AND5.4.1.3微操作信号发生器的设计微操作时间表中T0~T7是时序计数器给出的节拍信号;LD、STR、ADD、AND和JZ是指令译码器输出的控制电位信号。根据以上逻辑表达式,可以用适当的门电路来实现,就可以得到微操作控制部件的逻辑图。5.4.2微程序设计采用存储逻辑实现,即把微操作信号以代码的形式事先存入控制存储器。每条机器指令对应一段微程序,微程序由若干条微指令组成,微操作信号是由微指令产生的。微命令:构成控制信号序列的最小单位称为微命令,通常指那些直接作用于部件或控制门电路的命令。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论