版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章中央处理器(CPU)5.1控制器的基本概念5.2时序系统与控制方式5.3指令的执行过程5.4微程序控制原理5.5微程序设计举例5.6硬布线控制器5.7流水线处理技术15.5微程序设计举例5.5.1系统构成5.5.2微指令格式5.5.3微程序流程25.5.1系统构成345选用了4片Am2901芯片实现的接收内部总线IB送来的16位数据运算结果
①送到地址寄存器AR
②经过2个8位的开关门电路送到内部中线IB运算结果的状态信息送到标志寄存器FLAG,FLAG的输出可以经过一个8位的开关门送到内部总线IB。1)运算器67微程序的和组合逻辑的两种控制器主要线路都集中到一片高集成度MACH器件中实现。在MACH芯片之外,有一片Am2910芯片作为微程序定序器的,2片8位的寄存器用作指令寄存器IR。指令寄存器接收从内存读出并传送到内部总线IB的指令,其全部16位输出送到MACH芯片的输入引脚,其低8位内容还要经一个开关门送到内部总线IB。微指令字中的32位微命令和组合逻辑控制器的32位控制信号完全相同。2)控制器892片8KB的EEPROM芯片58C65组成8KWROM区,地址范围:0~1FFFH,固化监控程序
2片2KB的SRAM芯片6116组成2KWRAM区,地址范围:2000H~27FFH,保存用户程序和用户数据,其高端的一些单元作为监控程序的数据区用于完成扩展内存实验的第二组ROM区,地址范围由用户选择。2路串行接口(INTEL8251),以支持接入PC机作为教学计算机的仿真终端完成输入输出操作;第一个串口的端口地址分配为80h/81h,第二个串口的端口地址可以由用户选择。作为扩展实验内容,也可以通过在一个40芯的器件插座上插上其他标准接口线路(例如INTEL的8255、8253等)并适当接线,完成常用接口线路的输入输出操作。3)主存及I/O接口10115.5.2微指令格式微指令字长48位:
顺序控制字段16位、操作控制字段32位。B47B46B45B44B43B42B41B408位下址字段B39B38B37B36B35B34B33B32Am2910命令码CI3----CI0SCC给出2910的/CC的选择码12B31B30B29B28B27B26B25B24MRWI2I1I0I8I7B23B22B21B20B19B18B17B16I6I5I4I3B口地址B15B14B13B12B11B10B9B8A口地址SSTB7B6B5B4B3B2B1B0SSHSCIDC1DC2132910的/CC的选择码14存储器和I/O接口控制15ALU完成功能需要的控制信号数据来源(I2I1I0
)功能代码(I5I4I3
)结果去向(I8I7I6
)A口地址B口地址最低位进位控制信号(SCi)状态寄存器接收信号(SST)移位控制信号(SSH)160,1,RAM0Q0,RAM15
16位的运算器16位机的运算器的完整组成四位标志位GAL1右移输入信号GAL3
SST左移输入信号GAL3最低位进位GAL3CZVSCyF=0OVRF15来自内部总线IBSSHSSHSCi[运算功能码]右移控制左移控制RAM15Q15RAM0Q00CQ15/F150CCyRAM001C[/C]方波Y15~0D15~0B口A口I8~I0Cin1718ALU可完成的功能ADDR0,R1;SUBR0,R1?INCR0?MOVR1,1;ADDR0,R1DECR0?ADCR0?SBBR0,R1R0+/R1+1(C)R0+0+1(C)R0+/0+0(C)R0+R1+0(C)R0+0+CR0+/R1+C19ALU最低位进位信号最低位进位Cin
控制码SCI应用场合举例
000ADDDEC
101SUBINCC10
ADCSBB
最低位进位信号由
SCi
编码决定20DC1、DC2字段215.5.3微程序流程1)基本指令222)扩展指令235.6
硬布线控制器5.6.1硬布线控制器与微程序控制器的比较5.6.2硬布线控制器设计步骤24共同点基本功能都是依据当前正在执行的指令和它所处的执行步骤,形成并提供处在这一时刻整机各部件所需要的控制信号。组成部分都有程序计数器PC,指令寄存器IR,时序电路。都分成几个执行步骤完成每一条指令的具体功能。5.6.1硬布线控制器与微程序控制器的比较25不同点指令执行步骤的控制方法不同硬布线控制器是用节拍发生器指明指令执行步骤(机器周期、节拍、工作脉冲)微程序控制器是通过微指令地址的衔接区分指令执行步骤(微周期)提供微操作控制信号的方案不同硬布线控制器是用组合逻辑门电路直接提供控制计算机各功能部件协同运行所需的控制信号微程序控制器控制信号是以微程序的方式存放在控制存储器中,控制信号从控制存储器中读出,并经过一个微指令寄存器送到被控制部件。26硬布线控制器微程序控制器结构不规整、设计与实现复杂结构规整、设计与实现简单不易修改和扩充可修改性,易于实现系列产品运行速度快运行速度慢特点比较275.6.2硬布线控制器设计步骤1)时序系统2)拟定指令流程(以机器周期为线索、以指令为线索)3)列出微操作时间表(电位型微命令、脉冲型微命令)4)综合分析,归纳出产生每个微命令的条件,写出每个微命令的逻辑表达式,并进行化简。5)实现电路285.7流水线处理技术对于指令的执行,CPU可有三种控制方式:
顺序方式、重叠方式及流水线方式。5.7.1重叠控制和先行控制5.7.2流水线工作原理295.7.1重叠控制和先行控制1)顺序执行和重叠控制(1)顺序执行顺序执行方式是指各指令间顺序串行执行,执行完第k条指令后,方可取出第k+1条指令分析、执行。T=3nt,T=(t取指+t分析+t执行)取指K分析K执行K取指K+1分析K+1执行K+130(2)重叠控制①一次重叠一次重叠执行方式是把执行第k条指令与取第k+1条指令同时进行。
T=(2*n+1)t
取指K分析K执行K取指K+1分析K+1执行K+1取指K+2分析K+2执行K+231②二次重叠二次重叠执行方式是把取第k+1条指令提前到与分析第k条指令同时进行,分析第k+1条指令与执行第k条指令同时进行。T=(n+2)t取指K分析K执行K取指K+1分析K+1执行K+1取指K+2分析K+2执行K+232二次重叠执行方式必须有独立的取指部件、指令分析部件和指令执行部件。解决访问内存冲突一般采用三种方法:设置彼此独立编址的指令存储器和数据存储器,并规定执行指令的结果只写到通用寄存器。采用多体交叉存储结构,一个读周期同时可以访问多个存储单元。采用先行控制技术,进行指令预取。332)先行控制在CPU内部设置指令队列缓冲器及相应的预取指令计数器、队列控制逻辑等,就可以预先将内存中的指令取到队列缓冲器中,这样“取指k+1”只需将第k+1条指令由指令队列缓冲器取到指令分析部件,无需访问内存。指令预取得以实现的原因是指令的执行阶段比分析阶段运行使用的时间长,在执行k和分析k+1同时进行时,当k+1已分析完成,k执行还未完成,此时若存储器空闲,就可进行指令的预取。34在先行控制下的一次重叠执行方式是把一条指令的执行过程分为“分析”和“执行”二个子过程。T=t分析1+[MAX{t分析i+t执行i-1}]+t执行n
(i=2~n)执行K分析K+1分析K执行K+1分析K+2执行K+2t1t235使各阶段的专用控制部件不间断的工作。
T=t分析1+t执行i
(i=1~n)执行K分析K+1分析K执行K+1分析K+2执行K+2分析K+2365.7.2流水线工作原理1)流水线概念流水线技术是将一个重复的处理过程分解为m个复杂程度大致相同,处理时间大致相同的子过程,每一个子过程由一个独立的功能部件完成。处理对象在实现各子过程的功能部件连成的通路上连续流动,在同一时间,m个部件同时进行不同的操作完成对不同的指令或数据,不同子过程的处理。这种并行处理是通过各功能部件在时间上的重叠实现的。37流水线方式与顺序工作方式相比,硬件设备增加量少,只是将完成各子过程的功能部件分开,但效率却相当于m套顺序处理设备的并行工作结果。38如果将一条指令的执行过程分解为取指令、指令译码、取操作数和执行四个子过程,每一过程对应的部件的输出端皆有一个锁存器,使对应的四个部件相互独立工作。设各部件的执行时间分别为Δt1、Δt2、Δt3、Δt4,且Δt1=Δt2=Δt3=Δt4=Δt,则执行指令的速度是顺序执行的4倍。39时空图若部件并行工作,可采用时空图描述。横坐标表示时间,也就是输入到流水线中各个任务在流水线中所经过的时间,当各任务执行时间都相等时,横坐标被分割成相等长度的时间段纵坐标表示空间,也就是流水线的各个子过程(也称为功能段)。402)流水线分类(1)按照流水线使用的级别分类一个计算机系统可以在不同的并行等级上采用流水线技术功能部件级(运算操作流水线)指令级(指令流水线)处理器级----又称为宏流水线,是指程序步骤的并行。41指令流水线是一种将每条指令分解为多个子过程,并让各子过程操作重叠,从而实现n条指令并行处理的技术。例如:80486CPUPF预取级D1译码级D2译码级EX执行级WB写回级42运算操作流水线在指令流水线的每一个部件内部还可以采用流水线来实现。例如:浮点加法器流水线43(2)按照功能分类单功能流水线:只能完成一种固定的功能。实现多种不同功能,可采用多条单功能流水线。多功能流水线多功能流水线是指流水线的各段可以进行不同的连接,在不同时间内或在同一时间内,通过不同连接方式实现不同的功能。44(3)按工作方式分类静态流水线在某一时刻,只允许一个功能通过流水线单功能流水线一定是静态流水线静态多功能流水线从一种功能方式变为另一种,需要先排空流水线。动态流水线允许几个功能同时通过流水线。动态流水线一定是多功能流水线。45(4)按流水线结构分类线性流水线设过程T被分成m个子过程,可表达为:T={T1,T2,…,Tm},各子过程之间有一定的优先关系:若i<j,则必须在Ti完成以后,Tj才能开始执行。具有这样线性优先关系的流水线称为线性流水线。非线性流水线除有串行连接的通路外,还有反馈回路,某些功能段要反复多次使用。463)衡量流水线性能的主要参数吞吐率、加速比、效率(1)吞吐率TP吞吐率是指单位时间内流水线所完成的任务数量或输出的结果数量。
n:任务数
Tn:完成n个任务所需的时间。47若流水线包括m个子过程,其中第i个子过程流过对应功能部件的时间为△ti实际吞吐率最大吞吐率148当流水线中各功能段的执行时间不完全相等时,吞吐率主要是由流水线中执行时间最长的那个功能段来决定,这个功能段就成了整个流水线的“瓶颈”。解决瓶颈问题:采取将“瓶颈”部分再细分重复设置瓶颈段,使多个瓶颈段并行工作49设流水线中各功能段的执行时间相等皆为△t最大吞吐率
TPmax=1/△t实际吞吐率
TP=n/[m△t+(n-1)△t]
=TPmax/[1+(m–1)/n]50(2)加速比S加速比是指顺序方式完成n个任务所需的时间与采用流水方式后完成n个任务所需的时间之比。设流水线包括m个子过程,且各子过程的执行时间相等,皆为△t,则:
S=顺序完成n个任务所需的时间/流水完成n个任务占用的时间
=nm△t/[m△t+(n-1)△t]
=nm/[m+(n-1)]
=m/[1+(m-1)/n]当n很大时,S=m,即在理想情况下,流水线处理机的加速比等于流水线所包括的子过程数。51(3)效率E流水线的效率是指流水线各段的设备利用率。E=n个任务占用的时空区/m个流水段的总的时空区
=To/(m·Tn)
To:n个任务占用的时空区即是顺序执行n个任务所使用的总的时间
Tn:流水线完成n个任务所用的时间
m·Tn:m段流水线完成n个任务的总的时空区。52设流水线中各功能段的执行时间相等
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论