版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6章章 中央处理部件中央处理部件(CPU)6.1 计算机的硬件系统6.2 控制器的组成6.3 微程序控制计算机的基本工作原理6.4 微程序设计技术6.5 硬布线控制的计算机6.6 控制器的控制方式6.7 流水线工作原理*6.8 CPU举例(自学)*6.9 计算机的 加电及控制过程 (自学)学习目的1. 了解计算机的硬件系统、分析计算机的加电及控制过程。2. 掌握控制器的组成的主要部件,并能分析各主要部件的功能和相互关系。3. 掌握微程序控制计算机的基本工作原理,微程序设计技术。4. 分析硬布线控制的计算机的工作原理、时序分配方法。5. 了解控制器的控制方式、流水线工作原理。 本章重点(1)
2、程序是如何执行的;(2)计算机怎样实现各条指令的功能;(3)计算机如何保证逐条指令的连续执行过程。 本章难点(1)计算机运行过程中,各个硬件部件的作用;(2)CPU中各个部件的操作过程及其实现方法的原理。第第6章章 中央处理部件中央处理部件(CPU)计算机组成:计算机组成:运算器、控制器、存储器、输运算器、控制器、存储器、输入设备和输出设备入设备和输出设备五大部件五大部件。 微处理器微处理器:运算器运算器+控制器控制器集成在一个芯片上集成在一个芯片上,通常称之为中央处理部件通常称之为中央处理部件(CPU)。 控制器的作用控制器的作用:协调并控制计算机的各个部件协调并控制计算机的各个部件执行程序
3、的指令序列。执行程序的指令序列。机器加电时机器加电时: (1)可以利用可以利用reset信号将某值信号将某值(例如全例如全 “0”)置于程序计数器置于程序计数器PC中,此即为开机后执行的第一条指令的中,此即为开机后执行的第一条指令的地址,也就是固定程序入口地址;地址,也就是固定程序入口地址; (2)也可以直接在指令寄存器中置入一条无条件转移指令)也可以直接在指令寄存器中置入一条无条件转移指令(转移到固定程序入口转移到固定程序入口),然后开始执行程序。,然后开始执行程序。固定程序固定程序:先对计算机各部件进行测试,然后进入操作系统先对计算机各部件进行测试,然后进入操作系统环境,等候操作员从键盘送
4、入命令,或用鼠标器对显示屏上环境,等候操作员从键盘送入命令,或用鼠标器对显示屏上的图标进行选择的图标进行选择。(一般放在ROM中)计算机的工作过程计算机的工作过程: 加电加电产生产生reset信号信号执行程序执行程序停机停机停电。停电。程序执行过程:程序执行过程:计算机从计算机从程序入口地址开始程序入口地址开始执行执行该程序的指令序列,是不断地该程序的指令序列,是不断地取指令取指令、分析指令分析指令和和执行指令执行指令这样一个周而复始的过程。这样一个周而复始的过程。实现原理:实现原理:当前正在执行的指令地址是放在控制当前正在执行的指令地址是放在控制器的程序计数器器的程序计数器(PC)中的。中的
5、。6. 1 计算机的硬件系统计算机的硬件系统1Intel 80386微机系统微机系统 图图61是由是由Intel 80386微处理器等器件组成的微处理器等器件组成的微机系统,微机系统,Intel 80386是是32位位微处理器。微处理器。(P163)Intel 80386 微机系统框图是系统中主要的处理、控制部件机器加电时产生reset信号,计算机各个部件处于初始状态。执行的第1条指令的地址为0FFFFFFF0H,为一条转移指令,转到引导程序入口。Clk是clk2的二分频时钟信号80386通过总线与存储器和I/O设备交换信息。对总线的使用需要总线控制逻辑来管理。快速设备通过DMA方式与主存交换
6、信息。慢速设备通过中断方式与主存交换信息。当CPU与主存交换信息时,由于速度不匹配,CPU需要等待,ready信号是由存储器发出的,表明CPU需要的读写命令已完成。80287/387协处理器与80386并行工作,扩充了80386的指令系统,主要完成浮点运算和高精度整数运算,80386自动将取得的协处理器指令传给80387。2 Intel 80386结构及外部连线结构及外部连线 80386包括:包括: 指令部件:完成取指及指令译码功能并产生控制信号; 执行部件:包括ALU、乘法部件、寄存器等; 存储管理部件:用来确定存储器地址。 80386微处理器芯片通过引出端与计算机的其它部件连接。各引出端的
7、功能各引出端的功能如下:ADS:地址状态信号,表示地址线、总线周期定义信号已有效,开始总线周期进行读写。NA:本次读/写操作虽未完成,允许送下一周期的地址和读写信息,使两次操作重叠。ready:当存储器或I/O设备完成操作后发出的信号。386接到此信号后,结束本周期。BS16:表示被访问的存储器或I/O设备的数据传送宽度为16位。PEREQ:协处理器请求386在存储器与协处理器之间传送一个数据。BUSY:协处理器忙,不能接收另一个指令。ERROR:协处理器出现了一个错误主设备:占用总线的设备。从设备:与主设备通信的设备。 I/O设备作主设备时,发出hold信号申请。当CPU同意总线请求,可以释
8、放总线,发hlda。其余引出端均呈高阻状态。INTR为中断请求信号,NMI不可屏蔽中断请求信号,RESET为总清或复位信号在80386与存储器或IO设备之间传送(读写)一个数据的时间称为总线周期。WR#区分是写周期(当WR#为1时)还是读周期(当WR#为0时)DC#表示是数据周期还是控制(取指)周期MIO#表示是访问存储器还是IO设备LOCK#为总线锁定信号,当它为低电位时,不允许芯片外部的信号打断当前总线周期的操作,即CPU不允许让出总线控制权。62 控制器的组成控制器的组成6. 2. 1 控制器的功能控制器的功能 计算机对信息进行处理计算机对信息进行处理(或计算或计算)是通过是通过程序的程
9、序的执行执行而实现的,程序是完成某个确定算法的而实现的,程序是完成某个确定算法的指令指令序列序列,要,要预先存放在存储器预先存放在存储器中。中。控制器的作用控制器的作用:控控制程序的执行制程序的执行,它必须具有以下基本功能:,它必须具有以下基本功能: 1取指令取指令 当程序已在存储器中时,首先根据程序入口取出第一条指令,为此当程序已在存储器中时,首先根据程序入口取出第一条指令,为此要发出要发出指令地址及控制信号指令地址及控制信号。然后不断取出第。然后不断取出第2,3,条指令。条指令。 2分析指令分析指令 或叫解释指令、指令译码等。是对当前取得的指令进行分析,指或叫解释指令、指令译码等。是对当前
10、取得的指令进行分析,指出它要求作什么操作,并出它要求作什么操作,并产生相应的操作控制命令产生相应的操作控制命令,如果参与操作的,如果参与操作的数据在存储器中,还需要数据在存储器中,还需要形成操作数地址形成操作数地址。 3执行指令执行指令 根据分析指令时产生的根据分析指令时产生的“操作命令操作命令”和和“操作数地址操作数地址”形成相应的形成相应的操作控制信号序列操作控制信号序列,通过,通过CPU及输入输出设备的执行,实现每条指令及输入输出设备的执行,实现每条指令的功能,其中还包括对运算结果的处理以及下条指令地址的形成。的功能,其中还包括对运算结果的处理以及下条指令地址的形成。 计算机不断重复顺序
11、执行上述三种基本操作:取指、分计算机不断重复顺序执行上述三种基本操作:取指、分析、执行;再取指、再分析、再执行析、执行;再取指、再分析、再执行,如此循环,直,如此循环,直到遇到停机指令或外来的干预为止。到遇到停机指令或外来的干预为止。4控制程序和数据的输入与结果输出控制程序和数据的输入与结果输出 根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成IO功能,这实际上也是通过执行程序来完成的。5对异常情况和某些请求的处理对异常情况和某些请求的处理 部件或设备发出:部件或设备发出: (1)“中断请求中断请求”信号信号 待CPU执行完当前指令后,响应该请求,中止当前执行的程序
12、,转去执行中断程序。当处理完毕后,再返回原程序继续运行下去。 (2)DMA请求信号请求信号 等CPU完成当前机器周期操作后,暂停工作,让出总线给IO设备,在完成IO设备与存储器之间的传送数据操作后,CPU从暂时中止的机器周期开始继续执行指令。6.2.2 控制器的组成控制器的组成1程序计数器(PC)2指令寄存器(IR)3指令译码器或操作码译码器4脉冲源及启停线路5时序控制信号形成部件 即指令地址寄存器。即指令地址寄存器。存放当前正在执行存放当前正在执行的指令地址或下一的指令地址或下一条指令地址。条指令地址。指 令 地 址 形 成指 令 地 址 形 成 : (PC)+1-PC。或。或:转移指令修改
13、其内容用以存放当前正用以存放当前正在执行的指令在执行的指令对指令寄存器中对指令寄存器中的操作码进行分的操作码进行分析解释,产生相析解释,产生相应的控制信号。应的控制信号。脉冲源产生一定频率的脉冲信号作脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周为整个机器的时钟脉冲,是机器周期和工作脉冲的期和工作脉冲的 基准信号。基准信号。根据当前正在执行的指令的需根据当前正在执行的指令的需要,产生相应的时序控制信号要,产生相应的时序控制信号返回指令执行返回微程序控制器6.2.3 指令执行过程指令执行过程 1. 组成控制器的基本电路 计算机中采用的电路,基本上分为两种类型:一类是具有记忆功能的触
14、发器以及由它组成的寄存器、计数器和存储单元等。另一类是没有记忆功能的门电路及由它组成的加法器、算术逻辑运算单元(ALU)和各种逻辑电路等。2指令执行过程举例指令执行过程举例数据通路:数据通路:控制器组成控制器组成:图图6.3 运算器组成运算器组成:图图66所示所示 中央处理器组成:图中央处理器组成:图6.8(1) 一条加法指令的执行过程一条加法指令的执行过程:(时序图时序图)指令格式指令格式:操作码rs, rdrs1imm(或 disp)rs,rd,rs1为通用寄存器地址;为通用寄存器地址;imm(或或disp)为立即数为立即数(或或位移量位移量)。加法指令功能:加法指令功能:(rs)+(rs
15、1)+disp- rs取指令计算地址取数运算送结果划分机器周期的原则:总线不冲突.加法指令返回图图6.7 加法指令时序图加法指令时序图返回(2)条件转移指令的执行过程条件转移指令的执行过程 指令功能:根据指令功能:根据N,Z,V,C的状态,决定的状态,决定是否转换。如转移条件成立,则转移到本条指是否转换。如转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。令所指定的地址,否则顺序执行下一条指令。 本条指令完成以下操作:本条指令完成以下操作: 从存储器取指令,送入指令寄存器,并进行从存储器取指令,送入指令寄存器,并进行操作码译码。操作码译码。 程序计数器加程序计数器加1,如不转
16、移,即为下一条要执行,如不转移,即为下一条要执行的指令地址。的指令地址。 本操作对所有指令都是相同的。本操作对所有指令都是相同的。 如转移条件成立,根据指令规定的寻址方式如转移条件成立,根据指令规定的寻址方式计算有效地址计算有效地址,转移指令经常采用相对寻址方式,转移指令经常采用相对寻址方式,此时转移地址;此时转移地址;PC+disp。此处。此处PC是指本条指令是指本条指令的地址,而在上一机器周期已执行的地址,而在上一机器周期已执行PC+1操作,因操作,因此计算时应取原此计算时应取原PC值,或对运算进行适当修正。值,或对运算进行适当修正。最后将转移地址送最后将转移地址送PC。控制信号控制信号:
17、PC ALU,dispALU;“+” ;ALU PC 其他指令的控制信号也按同样方法分析,根据每条指令的功能确定所需的机器周期数,并得出每个机器周期所需要的控制信号,最后将所有的控制信号进行综合简化。控制器的功能就是按每条指令的要求产生所需的控制信号。因此在设计控制器时要求系统设计师提供一个完整的无二义性的指令系统说明书。产生控制信号一般有产生控制信号一般有微程序控制微程序控制和和硬布线控硬布线控制制两种方法。两种方法。课后作业 CPU结构如图所示,其中有一个累加寄存器AC、一个状态条件寄存器和其他四个寄存器,各部分之间的连线表示数据通路,箭头表示信息传送方向。要求:(1) 标明图中a,b,c
18、,d四个寄存器的名称。(2) 简述指令从主存取到控制器的数据通路。(3) 简述数据在运算器和主存之间进行存/取访问的数据通路。6.3 微程序控制计算机的基本工作原理微程序控制计算机的基本工作原理6.3.1 微程序控制的基本概念微程序控制的基本概念1.微操作微操作(微命令微命令):实现一条指令的功能按一定次实现一条指令的功能按一定次序执行一系列基本操作,这些基本操作称为序执行一系列基本操作,这些基本操作称为。 例如,前面讲到的加法指令,分成四步例如,前面讲到的加法指令,分成四步(取指令、计算地取指令、计算地址、取数、加法运算址、取数、加法运算)完成,每一步实现若干个微操作。完成,每一步实现若干个
19、微操作。 2.微指令:微指令:由同时发出的控制信号所执行由同时发出的控制信号所执行的一组微操作称为的一组微操作称为微指令,它含微指令,它含控制命令控制命令(信号信号)与下一条执行的微指令地址与下一条执行的微指令地址。 将一条指令分成若干条微指令,按次序将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。执行这些微指令,就可以实现指令的功能。3.微微程序:程序:用于完成计算机的指令功能的微用于完成计算机的指令功能的微指令序列的集合。指令序列的集合。 4.控制存储器:控制存储器:存放微程序存放微程序(控制指令与控制指令与下条微指令地址下条微指令地址)的存储器的存储器。它可以用只
20、读。它可以用只读存储器实现。存储器实现。执行一条指令执行一条指令执行一段微程序执行一段微程序6.3.2 实现微程序控制的基本原理实现微程序控制的基本原理1控制信号控制信号 返回指令执行返回控制信号返回时序信号 以执行以执行一条加法指令一条加法指令为例,它由为例,它由四条微指令四条微指令解解释执行,一条微指令中的所有控制信号是同时发出释执行,一条微指令中的所有控制信号是同时发出的。每条微指令所需的控制信号如下:的。每条微指令所需的控制信号如下: (1)取指微指令取指微指令 指令地址送地址总线:指令地址送地址总线:PCAB(1) 发访存控制命令,发访存控制命令,ADS(21),MIO=1(22),
21、 WR=0(23)。从存储器取指令送数据总线从存储器取指令送数据总线。 指令送指令寄存器:指令送指令寄存器:DBIR(5) 程序计数器程序计数器+1:PC十十1(3)(2)计算地址微指令计算地址微指令 取两个源操作数取两个源操作数(计算地址用计算地址用):rslGR(8),(rsl) ALU(10),dispALU(4)。 加法运算:加法运算:“+”(13)。 有效地址送地址寄存器:有效地址送地址寄存器:ALUAR(19)。 (3)取数微指令取数微指令 数据地址送地址总线:数据地址送地址总线:ARAB(20)。 发访存控制命令:发访存控制命令:ADS(21),MIO(22),WR(23)。由存
22、储器将数据送数据总线由存储器将数据送数据总线DB。 数据送数据寄存器:数据送数据寄存器:DBDR(6)(4)加法运算和送结果微指令加法运算和送结果微指令 两源操作数送两源操作数送ALU:rsGR(9),(rs) ALU(11);DRALU(12)。 加法运算:加法运算:“+”(13) 送结果;送结果;ALUGR(17)微指令如何产生控制信号:微指令如何产生控制信号: 微指令最简单的组成形式:微指令最简单的组成形式: 将每个控制信号用一个控制将每个控制信号用一个控制位来表示,当该位为位来表示,当该位为“1”时,时,定义为有控制信号,当该位定义为有控制信号,当该位为为“0”时,没有控制信号。时,没
23、有控制信号。控制存储器容量为4K字,则每条微指令还需要12位来表示下址。控制存储器的容量取决于实现指令系统所需的微程序长度。 图图6.9为加法指令的四条微指令编码,为加法指令的四条微指令编码,每一小格每一小格表示一位表示一位(二进制二进制),空格表示,空格表示0,第,第24位到第位到第35位位为下址。为下址。微程序也可用微程序也可用流程图来表示流程图来表示方框:表示微指令右下角的数字:表示下址上方的数字:微指令的地址微程序控制器的基本工作原理:微程序控制器的基本工作原理: 当指令取入当指令取入IR中中以后,根据操作以后,根据操作码进行译码,得码进行译码,得到相应指令的第到相应指令的第一条微指令
24、的地一条微指令的地址址。指令译码部件可用只读存储指令译码部件可用只读存储器组成,将操作码作为只读器组成,将操作码作为只读存储器的输入地址,该单元存储器的输入地址,该单元的内容即为相应的微指令在的内容即为相应的微指令在控制存储器中的地址。控制存储器中的地址。根据控制存储器中根据控制存储器中的地址从控制存储的地址从控制存储器取出微指令,并器取出微指令,并将它存放在微指令将它存放在微指令寄存器中。寄存器中。控制字段各位的输出控制字段各位的输出通过连接线直接与受通过连接线直接与受控制的门相连,于是控制的门相连,于是就提供了在本节所提就提供了在本节所提出的控制信号。出的控制信号。2微程序控制器微程序控制
25、器时序控制信号形成部件3时序信号及工作脉冲的形成时序信号及工作脉冲的形成 在图在图68中,没有画出一些寄存器中,没有画出一些寄存器(例例如指令寄存器、程序计数器等如指令寄存器、程序计数器等)接收数据接收数据或计数的工作脉冲或计数的工作脉冲(打入脉冲打入脉冲),这些脉冲,这些脉冲是如何形成的呢是如何形成的呢?另外在波形图中的另外在波形图中的CLK,T1, T2等等信号又是如何产生的信号又是如何产生的? 观察时序可知:CLK2二分频得到CLKCLK二分频得到T1T1反相得到T2先看CLK、T1、T2怎样产生的?T2的末尾产生一个CP,用来保存计算结果或接收传送的数据及指令等。T1的末尾产生另一个工
26、作脉冲。CLKTCLKCP22CLKTCPCLK211CLKCPCLKCP21两个工作脉冲的叠加信号 在一个机器周期内设置一个或多个工作脉冲在一个机器周期内设置一个或多个工作脉冲?机机器周期时间多长器周期时间多长?这是由设计者根据逻辑设计和电这是由设计者根据逻辑设计和电路性能而决定的,将随机器而异。路性能而决定的,将随机器而异。 下面讨论一下机器中一些寄存器的打入脉冲是如下面讨论一下机器中一些寄存器的打入脉冲是如何形成的。何形成的。控制位DBIR为“1”,采用与门,可形成IR的打入脉冲4电路配合中的常见问题电路配合中的常见问题 (1)电路延迟引起的波形畸变电路延迟引起的波形畸变 F/F无延迟C
27、LK无畸变F/F有延迟CLK有畸变(2)机器周期的确定机器周期的确定 1)机器周期一条微指令中执行时间最长的微操作。主要考虑存储器访问时间和一次运算所需的时间。2)机器周期的延长:)机器周期的延长:信号来自存储器,若 信号出现较晚,CPU将延长一个或一个以上T2节拍信号。 当T2有,且无信号时,封锁CLK2信号(T的计数脉冲)。 readyreadyready有T2且无ready信号时,封锁CLK2信号: T2 ready允许T计数的条件: T2 readyT2+ readyTl+ readyTl+ready(3)时钟脉冲时钟脉冲CLK和工作脉冲和工作脉冲CP的标准性的标准性当满足cond条件
28、时,才产生CPB和CP-C信号。CP脉冲不受控制,总是作用在触发器上,但当条件不成立时,使触发器处于保持状态,而当条件成立时,接受新状态。打入脉冲的同时性:在控制打入脉冲的机器中,总是尽量将总是尽量将CP信号送到控制门的最后一级信号送到控制门的最后一级。以免延迟造成失真和不同步。5微程序控制计算机的工作过程简单的总结(参阅图68)(1)机器加电后,首先由机器加电后,首先由reset信号在信号在PC内置入开内置入开机后执行的第一条指令的地址机后执行的第一条指令的地址,同时在微指令寄存器内置入一条“取指”微指令,并将其他一些有关的状态位或寄存器置于初始状态。当电压达到稳定值后,自动启动机器工作,产
29、生节拍电位T1,T2和CP。(2)机器开始执行程序机器开始执行程序,不断地取出指令、分析,不断地取出指令、分析指令、执行指令指令、执行指令。程序可以存放在固定存储器中,也可以利用一小段引导程序(在固存中)将要执行的程序和数据从外部设备调入主存。(3)实现各条指令的微程序是存放在微程序控制器中实现各条指令的微程序是存放在微程序控制器中的当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处理。当遇到停机指令或外来停机命令时,应该待当前这条指令执行完再停机或至少在本机器周期结束时再停机。课后作业设某计算机运算控制器逻辑图如图
30、6.8,控制信号意义见表6.1,指令格式和微指令格式如下:指令格式 操作码 rs,rd,rs1imm或disp微指令格式 1 2 23 24 25 控制字段 下址字段其中123位代表的123号控制信号见表6.1。试写出下述三条指令的微程序编码:(1) JMP(无条件转移到(rs1)+disp)(2) Load(从(rs1)+disp指示的内存单元取数,送rs保存)(3) Store(把rs内容送到(rs1)+disp指示的内存单元提示:先列出各指令执行步骤和每步所需控制信号,最后再写出编码6.4 微程序设计技术微程序设计技术在实际进行微程序设计时,要考虑下面三个问题: (1)如何缩短微指令字长
31、; (2)如何减少微程序长度; (3)如何提高微程序的执行速度。 6.4.1 微指令的编译法微指令的编译法-控制字段控制字段微指令的编码,就是对微指令的控制字段采用的表示方法。1直接控制法直接控制法(不译码法不译码法 )操作控制字段中的每一位代表一个微命令。操作控制字段中的每一位代表一个微命令。“1”有效,有效,“0”无效。无效。 优点:简单直观,输出直接用于控制优点:简单直观,输出直接用于控制缺点:微指令字较长,因而使控制存储器容量较大。缺点:微指令字较长,因而使控制存储器容量较大。2字段直接编译法(字段直接编译法(使用较普遍使用较普遍)微周期:是一条微指令所需的执行时间。如果有若干个(一组
32、)微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是互斥的。选择互斥的微命令入同组分组编码,用微命令译码器译选择互斥的微命令入同组分组编码,用微命令译码器译码控制。码控制。例:例: 当字段长度为3位时,最多只能表示7个互斥的微命令,通常代码000表示不发微命令。优点:缩短了微指令长度。代价:在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令。 字段长度字段长度n n与所能表示的微命令数与所能表示的微命令数m m的关系:的关系:m=2m=2n n-1-1 3 3字段间接编译法字段间接编译法如果在字段直接编译法中,还规定一个字段的某些微命令
33、,要兼由另一字段中的某些微命令来解释,称为字段间接编译法。优点:进一步减少了指令长度。缺点:削弱微指令的并行控制能力。A受B控制,B发b1微指令时,字段A发出a1,1a1,7中的一个微命令。B发b2微指令时,字段A发出a2,1a2,7中的一个微命令。 4 4常数源字段常数源字段E E 在微指令中,一般设有一个常数源字段E,就如指令中的立即操作数一样。E字段一般仅有几位,用来给某些部件发送常数,故有时称为发射字段。该常数有时作为操作数送入ALU运算;有时作为计算器初值,用来控制微程序的循环次数等。 5 5其他其他 如:如:微操作码微操作码编译法(见微指令格式)编译法(见微指令格式)6.4.2 6
34、.4.2 微程序流的控制微程序流的控制现行微指令现行微指令:当前正在执行的微指令。现行微地址现行微地址:现行微指令所在的控制存储器单元的地址。后继微指令:后继微指令:下一条要执行的微指令。后继微地址:后继微地址:后继微指令所在的控制存储器单元地址。微程序控制微程序控制:当前微指令执行完毕后,产生后继微指令的微地址的方法。1 1产生后继微指令地址的几种方法产生后继微指令地址的几种方法(1)(1)以增量方式产生后继微地址以增量方式产生后继微地址A)微程序入口:首条微指令,由专门硬件电路产生,控制实现取指操作;B)顺序执行:后继微地址现行微地址(在微程序计数器中)1C)转移地址:后继微地址现行微地址
35、转移条件译码(相对转移量)D)由操作码产生后继地址优点:可使微指令的下址字段很短,仅起选择作用。缺点:微程序转移很不灵活,使得微程序在控存中的物理空间分配相当困难。在下图中,PC兼作控制存储器的地址寄存器,输入有四个来源。下址字段仅有两位,其功能是选择三个输入源中的一个作为PC的输入,而微程序入口是由专门的硬件产生的,不受下址字段控制。 (2)(2)增量与下址字段结合产生后继微地址增量与下址字段结合产生后继微地址 微指令的下址字段分成两部分: 转移控制字段BCFBCF和转移地址字段BAFBAF, BCF控制转移条件,BAF控制转移的目标地址。 当条件成立时,微程序要转移,将BAFBAF送送PC
36、PC,否则顺序执行下一条微指令(PC+1)(PC+1)。 执行微程序条件转移时,决定转移与否的硬件条件有好几种。由BCF定义的八个微命令见表62。BCF=0,顺序执行微命令,PC+1为后继微地址。BCF=1,条件转移微命令,当运算结果为0时,将BAF送PC,否则PC+lPCBCF=2,条件转移微命令,当运算结果溢出时,将BAF送PC,否则PC+1PC。BCF=3,无条件转移微命令,将BAF送PC。BCF=4;测试循环微命令,假如CT0,表示需要继续执行循环微命令,将循环人口微地址从BAF送PC。假如CT=0,表示循环结束,后继微地址为PC+1。本条微命令同时完成CT一1操作。BCF=5,转微子
37、程序微命令,把微子程序人口地址从BAF送PC,从而实现转移。在转移之前要把该条微指令的下一地址(PC+1)送人返回寄存器RR之中。BCF=6,返回微命令,把RR中的返回微地址送人PC,从而实现从微子程序返回到原来的微程序。BCF=7,操作码产生后继微地址的微命令,这是取指后,按现行指令执行的第一条微指令。 (3)(3)多路转移方式多路转移方式 一条微指令存在多个转移分支的情况称为多路转移。 后继微地址的产生条件: 1)在若干个微地址中选择一个作为后继微地址,如:根据操作码产生不同的后继微地址。(实现此功能的电路通常由PROM组成,该存储器的特点:以指令的操作码作为地址输入,相应的存储单元内容即
38、为该指令的第一条微指令的入口地址。容量等于或略大于机器的指令数,容量小,速度快。) 2)根据硬件状态决定后继微地址,如:运算结果所置的标志位N、Z、V、C等,计数器状态,数据通路状态。 (4)(4)微中断微中断 微中断与程序中断的概念相似,当某一条件满足时,发出微中断请求信号,CPU在完成现行指令的微程序后响应该中断请求,进入微中断处理程序。该微程序的入口地址(硬件产生)即为刚刚执行的微程序的后继微地址。 设计人员在进行微程序设计时,已安排好微中断处理程序在控制存储器的位置,因此该微程序段的入口地址是已知的。当CPU响应微中断请求时,由硬件产生微中断程序的入口地址。当中断处理完毕后,再返回到原
39、来被中断的程序。这也是产生后继微地址的一种情况。2 2以以AM2900AM2900系列芯片构成的微程序系列芯片构成的微程序CPUCPU(自学)(自学)6.4.3 6.4.3 微指令格式微指令格式 微指令的格式大体上可分成两类:水平型微指令和垂直型微指令。 1.1. 水平型微指令水平型微指令 特点:在一条微指令中定义并执行多个并行操作微命令在一条微指令中定义并执行多个并行操作微命令。一般格式如下: 在实际应用中,直接控制法、字段编译法(直接、间接编译法)经常应用在同一条水平型微指令中。从速度来看,直接控制法最快,字段编译法要经过译码,所以会增加一些延迟时间。控制字段判别测试字段下地址字段2. 2
40、. 垂直型微指令垂直型微指令 在微指令中设置有有微操作码微操作码字段字段,采用微操作码编译法,由微操作码规定微指由微操作码规定微指令的功能令的功能,称为垂直型微指令。特点:不强调实现微指令的并行控制功能,通常一条微指令只要求能控制实现一二种操作。这种微指令格式与指令相似:每条指令有一个操作码;每条微指令有一个微操作码。 3 3水平型微指令与垂直型微指令的比较水平型微指令与垂直型微指令的比较 (1)并行性、效率和灵活性:水平好,垂直差。 (2)指令执行时间:水平短,垂直长。 (3)水平:微指令字长,微程序短。垂直:微指令字短,微程序长。 (4)用户使用:水平难,垂直易。课后作业1.从供选择的答案
41、中,选出正确答案填入( )中微指令分成水平型微指令和(A)微指令两类。(B)可同时执行若干个微操作,所以执行指令的速度比(C)快。在实现微程序时,取下一条微指令和执行本条微指令一般是(D)进行的,而微指令之间是(E)执行的。实现机器指令的微程序一般是存放在(F)中的,而用户可写的控制存储器则由(G)组成。供选择的答案AC: 微指令; 微操作; 水平型微指令; 垂直型微指令。D,E: 顺序; 重叠。F,G: 随机存储器(RAM); 只读存储器(ROM)。6.4.4 6.4.4 微程序控制存储器和动态微程序设计微程序控制存储器和动态微程序设计1微程序控制存储器 存储介质类型:RAM、ROM、EPR
42、OM等。2动态微程序设计能够根据用户的要求来改变微程序的设计称动态微程序设计。 用于动态微程序设计的控制存储器称为可写控制存储器(WCS)或用户控制存储器(UCS)。 3控制存储器的操作 执行一条微指令包括:取微指令微指令和执行微指令执行微指令操作。根据这两步是串行还是并行进行而具有下述的两种方式: (1)串行方式 执行一条微指令所需要的时间称为微周期。在串行方式下微周期的安排如下: (2)(2)并行方式并行方式将执行本条微指令的功能与取下一条微指令的操作在时将执行本条微指令的功能与取下一条微指令的操作在时间上重叠起来。(间上重叠起来。(因为两种操作是在不同的部件中完成的)实现方法:增加了微指
43、令寄存器微指令寄存器。执行微指令时,先将微指令送入IR 4 4毫微程序设计的基本概念毫微程序设计的基本概念 (1) 毫微程序:毫微程序:用来解释微程序的微程序。用来解释微程序的微程序。毫微指令是解释微指令的微指令。其主要目的是毫微指令是解释微指令的微指令。其主要目的是为了减少控制存储器的容量。为了减少控制存储器的容量。 (2)设计方法:采用两级法。采用两级法。第一级采用垂直微程序,主要功能是简单分类和下址的确定,该级很容易实现微程序设计的自动化,其控制存储器的主要特点是字短。第二级采用水平微程序,由第一级调用,本身具有并行操作控制的能力但不含下址,可以被第一级重复调用。 每条毫微指令各不相同。
44、特点:控制存储器字数较少,但每个字的长度较长。5.微程序设计语言微程序设计语言:用来编制微程序的语言叫微程序设计语言,一般用微汇编语言。6.5 6.5 硬布线控制的计算机硬布线控制的计算机在运算控制器逻辑图, “时序控制信号形成部件”产生控制计算机各部分操作所需的控制信号,这个部件组成有两种方式:(1 1)微)微程序控制方式(程序控制方式(2 2)硬布线控制方式)硬布线控制方式硬布线控制方式:硬布线控制方式: 通过逻辑电路直接连线而产生通过逻辑电路直接连线而产生的,所以又称为组合逻辑控制方式。的,所以又称为组合逻辑控制方式。至于控制器的其他组成部分,诸如时钟、启停电路、程序计数器、指令寄存器以
45、及电路配合问题等等,则不因控制方式而异。6.5.1 6.5.1 时序与节拍时序与节拍 一条指令的实现可分成:取指、计算地址、取数及执行等几个步骤。在微程序控制方式中,每一步由一条微指令实现,而硬布线控制方式则由指令的操作码直接控制并产生实现上述各步骤所需的控制信号。一条指令的每一步由一个机器周期实现,如何区分一条指令的四个机器周期呢?方法有两种: 法1. 两位计数器的译码输出产生的四个状态来表示当前所处的机器周期,(24译码器)如图631所示; 法2.用四位触发器来分别表示四个周期,当机器处于某一周期时,相应的触发器处于“1”状态,而其余三个触发器则处于“0”状态,四位移位寄存器即可实现此功能
46、。两位计数器译码输出4位由于每条指令的功能不同,机器周期数和长短有所不同,计数器或移位寄存器的工作时序发生变化的规律与指令有关。A指令需指令需4个机器周期个机器周期B指令需指令需3个机器周期个机器周期当前周当前周期计数期计数状态状态下一周下一周期计数期计数状态状态A A指令指令:cyA=cyA cyB+cyA cyB:cyA=cyA cyB+cyA cyB; cyB=cyA cyB+cyA cyB=cyBcyB=cyA cyB+cyA cyB=cyB。B B指令指令:cyA=cyA cyB+cyA cyB=cyB:cyA=cyA cyB+cyA cyB=cyB; cyB=cyA cyBcyB=
47、cyA cyB。A A指令指令:cyA=cyA cyB+cyA cyB:cyA=cyA cyB+cyA cyB; cyB=cyA cyB+cyA cyB=cyBcyB=cyA cyB+cyA cyB=cyB。B B指令指令:cyA=cyA cyB+cyA cyB=cyB:cyA=cyA cyB+cyA cyB=cyB; cyB=cyA cyBcyB=cyA cyB。根据逻辑表达式画出逻辑图计数器注:1.实际机器指令有几十到几百条,一般根据指令功能列出每条指令的机器周期变化规律,最后归纳处几种情况,将情况相同的指令归为一类,然后列出表达式,画出逻辑图。2.延长某个机器周期时间的方法:封锁CP(简
48、单);控制计数器输入(复杂)。3.计数器译码器输出可能会产生毛刺,可通过改变触发器状态的顺序加以改善(此时真值表、表达式、逻辑图要作相应的修改)。6.5.2 6.5.2 操作控制信号的产生操作控制信号的产生 1操作码译码器 指令:操作码+地址码 在机器内设置一个指令译码器,输入:操作码 输出:反映出当前正在执行的指令。 由译码器的输出和机器周期状态cylcy4作为输入,使用逻辑电路产生操作控制信号。7位OP 2 2操作控制信号的产生操作控制信号的产生 “组合逻辑电路”究竟是由什么组成的? 以加法指令为例,假设一条加法指令的功能是由四个机器周期cylcy4完成的,分别为取指、计算有效地址、取操作
49、数、进行加法运算并送结果。 取指令周期:控制信号的逻辑式为 PCAB=cy1 ADS= cy1 T1 MIO= cy1 WR= cy1 DBIR= cy1 PC+1=cy1在计算地址周期cy2, 列出逻辑表达式 rslGR=加法指令 cy2 (rsl)ALU=加法指令 cy2 ALUAR=加法指令 cy2对每一条指令都进行同样的分析,得出逻辑表达式。对每一条指令都进行同样的分析,得出逻辑表达式。主要结论:主要结论:(1)取指周期cy1的信号对所有指令均相同。(2)同一控制信号可能在多个指令中运用。如:+= 加法指令cy2+ 加法指令cy4 + 减法指令cy2+ 转移指令cy2 + (3)同种类
50、型的指令所需要的控制信号大部分相同。如:所有的算术逻辑运算指令仅在ALU的操作命令及是否置状态位上不同,其他均完全相同。(4)在确定指令操作码时,要认真做好分类。 6.5.3 控制器的组成1程序计数器和中断控制逻辑 程序计数器的输入:有四种来源. (1)开机后的reset信号,将PC置以初始地址; (2)顺序执行指令:由PC+1形成下一条指令地址; (3)转移:由ALU送来转移地址(通过ALU部件计 算有效地址) (4)外来中断请求信号:若CPU响应中断,则由 中断控制逻辑部件产生中断入口地址。2译码器 如操作码为7位,则允许计算机最多设置128条指令. 译码器的最基本形式为: 输入:7位操作
51、码 输出:128条线中,在任何时候只有1根为高电位,其余均为低电位(或只有1根为低电位,其余均为高电位),每1根输出线代表一条指令。 3硬布线逻辑的实现途径 用PLA(可编程逻辑阵列,地址与存储区或均可编程)、PAL(可编程阵列逻辑,与可编程、或不可编程、增加三态输出器件及记忆元件)、GAL(通用阵列逻辑,与或均可编程、输出逻辑宏单元)或半定制电路门阵列(GA)来实现。6.5.4 硬布线控制逻辑设计中的若干问题设计步骤1指令操作码的代码分配 主要目标:简化控制部分的电路,减少延迟时间。主要难点:(1)CISC不定长操作码的译码困难;(2)为后续升级系统预留指令位置困难。2. 确定机器周期、节拍与主频 保证大部分指令在一个周期内完成,部分指令通过如“ready”信号等方式来增加机器周期来完成。 3. 根据指令功能,确定每一条指令所需的机器周期数以及每一周期所完成的操作。 如:乘法采用加法与移位操作,每位执行一个周期等方法(延长这条指令的执行周期或重复多次出现执行周期)。 在确定每条指令在每一周期所完成的操作时,也就得出了相应的操作控制命令,一般表达式为: 操作控制命令名指令名机器周期节拍条件4. 综合所有指令的每一个操作命令(写出逻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法式铠甲守护安全
- 触电测试题及答案
- 传真机测试题及答案
- 2026苏教版六年级数学上册第七单元第4课时《练习十四》教案
- 护理查对的法律法规
- 护理人文关怀理念
- 护理病区护理不良事件分析与处理
- 护理护理信息技术:数字化时代护理信息技术的应用
- 2026年头部媒体发稿平台综合实力研究:15万+媒体资源矩阵规模优势资源整合能力的行业标杆实证-头部媒体发稿平台深度测评与未来趋势
- 护理风险识别与防范评估
- 从输血到患者血液管理《临床用血技术规范(2025版)》解读
- 2026年顺丰速运快递员面试问题及答案详解
- 国家基层糖尿病防治管理指南(2025)解读
- 第25课《文言文二则:曹冲称象》课件 统编版语文六年级上册
- 呼吸机脱机流程规范
- 2025年新高一英语暑假专项提升(人教版)动词时空密码速通(时态语态与主谓一致考点解析)
- 牛羊屠宰车间管理制度
- 潞安化工集团招聘2025笔试题库官方
- 2025年版云南省劳动合同范本下载
- 小学长元音知识讲解
- 个人防护PPE培训课件
评论
0/150
提交评论