计算机组成原理(8.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ALUCPU主机I/O设备CU主存CPUCUALU完成对数据的暂存及运算处理基本运算规则基本硬件配置指挥各部件协同运行节拍分析CU设计逻辑微程序硬布线CPU第8章CPU的结构和功能8.1CPU的结构及功能8.3指令流水8.2指令周期8.4中断系统•重点:1、CPU结构及功能2、指令周期与指令流水3、中断系统•难点:1、指令周期分析2、中断屏蔽技术8.1CPU的结构一、CPU的功能:执行程序数据加工处理取指令分析指令执行指令,发出各种操作命令控制程序输入及结果的输出处理异常情况和特殊请求1.控制器的功能2.运算器的功能—--数据加工处理实现算术运算和逻辑运算指令控制:PCIR操作控制:CU微操作命令序列时间控制:时序总线管理处理中断数据加工算术和布尔逻辑取反移位状态标志内部数据总线寄存器CU中断系统ALU…CPU二、CPU结构框图时钟节拍发生器IRPC2.控制和状态寄存器(1)控制寄存器(2)状态寄存器其中MAR、MDR、IR用户不可见PC用户可见3.系统用寄存器ZilogZ8000Intel8086MotorolaMC68000三、CPU的寄存器1.用户可见寄存器---通用寄存器四、控制单元CU和中断系统1.CU产生全部指令的微操作命令序列组合逻辑设计微程序设计硬连线逻辑存储逻辑2.中断系统参见第4篇五、ALU参见8.4节参见第6章8.2指令周期一、指令周期:1、指令执行操作步骤(指令周期的组成):取出并执行一条指令所需的全部时间完成一条指令执行取指、分析取指阶段取指周期执行阶段执行周期(取指、分析)(执行指令)指令周期取指周期执行周期寻址方式不同指令周期可能不同程序执行方式不同指令周期可能不同——带有中断周期的指令周期取指周期间址周期指令周期执行周期取指周期间址周期指令周期执行周期中断周期指令功能不同的指令周期可能不同2、CPU工作周期(机器周期)---完成一个操作步骤所需时间取指周期间址周期执行周期中断周期FEDINDDINTDCLK1FE1IND1EX1INTEXD例:CPU的4个工作周期:CPU工作周期标志:3、指令周期流程取指周期执行周期有间址吗?有中断吗?间址周期中断周期是是否否?DMA•一个指令周期由一个或多个工作周期组成一个工作周期由若干时钟周期(节拍)组成•指令功能不同,寻址方式不同,则指令周期不同;操作步骤不同,则工作周期不同。•工作周期分类:定长工作周期---包含时钟节拍数一定不定长工作周期•时钟周期(节拍):1/CPU主频机器操作最小时间单位4、指令周期与工作周期的关系——多级时序系统:(9.2.3(P385))CLK机器周期机器周期机器周期(取指令)(取有效地址)(执行指令)指令周期T0T1T2T3T0T1T2T3T0T1T2T3(1)定长机器周期(2)不定长机器周期机器周期机器周期(取指令)(执行指令)指令周期T0T1T2T3T0T1T2机器周期机器周期(取指令)(执行指令)T0T1T2T3T0T1T2T3TT延长机器周期内节拍数不等5、机器速度与机器主频的关系机器的主频f越快机器的速度也越快;与机器周期中所含时钟周期(主频的倒数)数有关;与指令周期中所含的机器周期数有关。1.取指周期数据流二、指令周期的数据流MDRCUMARPCIR存储器CPU地址总线数据总线控制总线IR+1---与微操作步骤、序列对应2.间址周期数据流MDRCUMARCPU地址总线数据总线控制总线PCIR存储器MDR3.执行周期数据流4.中断周期数据流不同指令的执行周期数据流不同MDRCUMARCPU地址总线数据总线控制总线PC存储器8.3指令流水一、如何提高机器速度1.提高访存速度2.提高I/O和主机之间的传送速度•提高整机处理能力高速芯片Cache多体并行I/O处理机DMA多总线通道改进系统结构,开发系统的并行性。中断3.提高运算器速度高速芯片改进算法快速进位链二、系统的并行性——时间上互相重叠2.并行性的等级指令级(指令之间)(指令内部)过程级(程序、进程)两个或两个以上事件在同一时刻发生两个或两个以上事件在同一时间段发生并行1.并行的概念粗粒度软件实现(操作系统)细粒度硬件实现并发同时3、相邻指令执行过程安排:串行-----顺序执行每个执行步骤同时启动多条指令(流水线的多发技术(8.3.4))并行每个执行步骤启动一条指令——指令流水线技术——超流水技术——超标量技术——超长指令字技术取指令3执行指令3三、指令流水原理2.指令的二级流水1.指令的串行执行取指令取指令部件…执行指令执行指令部件取指令1执行指令1取指令2执行指令2取指令3执行指令3取指令2执行指令2取指令1执行指令1多级流水?3.指令的六级流水线时序COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t连续N条指令执行时间理想流水线建立时间时钟周期?排空时间3.指令的六级流水线时序六级流水14个时间单位串行执行6×9=54个时间单位完成一条指令6个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t四、流水线性能1.吞吐率单位时间内流水线所完成指令或输出结果的数量•最大吞吐率•实际吞吐率连续处理n条指令的吞吐率为设m段的流水线各段时间为ΔtTpmax=Δ1tTp=m·Δ+(n-1)·Δntt2.加速比Spm段的流水线的速度与等功能的非流水线的速度之比设流水线各段时间为Δt完成n条指令在m段流水线上共需T=m·+(n-1)·ttΔΔ完成n条指令在等效的非流水线上共需T′=nm·tΔSp=m·+(n-1)·nm·=nmm+n-1ΔtΔΔtt则m(m+n-1)Δt=mnΔt流水线各段处于工作时间的时空区流水线中各段总的时空区效率=3.效率mΔt31245312453124531245………………………………n-1nn-1nn-1nn-1nT时间S空间空间S4S3S2S1(n-1)Δt流水线中各功能段的利用率时空图M增加?指令1与指令4冲突指令2与指令5冲突指令1、指令3、指令6冲突…COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令1指令2指令3指令4指令5指令6指令7指令8指令91234567891011121314t五、影响指令流水线性能的因素1.结构相关不同指令争用同一功能部件产生资源冲突程序的相近指令之间出现某种关联使指令流水出现停顿,影响流水线效率解决办法•停顿•指令存储器和数据存储器分开•指令预取技术(适用于访存周期短的情况)2.数据相关不同指令因重叠操作,可能改变操作数的读/写访问顺序•采用旁路技术解决办法•写后读相关(RAW)SUBR1,R2,R3ADDR4,R5,R1;(R2)(R3)R1;(R5)+(R1)R4•读后写相关(WAR)STAM,R2ADDR2,R4,R5;(R2)M存储单元;(R4)+(R5)R2•写后写相关(WAW)•后推法MULR3,R2,R1SUBR3,R4,R5;(R2)×(R1)R3;(R4)(R5)R33.控制相关WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令1指令2指令3指令4指令5指令6指令7指令15指令161234567891011121314转移损失t设指令3是转移指令解决办法:尽早判别猜测由转移指令引起六、流水线结构1.指令流水线结构完成一条指令分7段,每段需一个时钟周期:地址形成部件指令译码部件取操作数部件取指令部件操作执行部件回写结果部件修改指令指针部件锁存锁存锁存锁存锁存锁存2.运算流水线完成浮点加减运算可分对阶、尾数求和、规格化三段分段原则:每段操作时间尽量一致锁存器对阶功能部件第一段尾数加部件锁存器第二段规格化部件锁存器第三段•多模块存储体流水工作方式1、中断技术:CPU暂停现行程序执行转而处理突发事件的机制。2、中断源:引起中断的原因或能发出中断请求的设备。人为设置中断程序性事故引起中断硬件故障引起中断I/O设备请求中断外部事件引起中断CPU内部中断CPU外部中断一、CPU中断系统概述:8.4中断系统3、CPU中断管理:任一时刻CPU只能接受(响应)一个中断源的请求;CPU按优先级别响应中断;一定条件下,CPU可安排中断嵌套。4、中断系统需解决的问题:中断请求如何提出;优先级如何管理;CPU响应中断的条件、时间、方式;CPU响应中断后如何保护断点;响应中断后如何获取中断服务程序入口地址;中断处理结束后如何返回(恢复断点);CPU是否允许中断嵌套。硬件+软件内部(除单步)→NMI→INTR→单步(高)(低)5.常规中断优先级管理:6.中断系统任务:异常处理、实时控制、任务切换……二、中断请求标记和中断判优逻辑1.中断请求标记INTR一个请求源一个中断请求标记触发器多个请求源组成中断请求标记寄存器INTRINTR分散在各个中断源的接口电路中INTR集中在CPU的中断系统内12345n掉电过热阶上溢主存读写校验错非法除法键盘输入打印机输出2.中断判优逻辑【①分散在各个中断源的接口电路中链式排队器】②集中在CPU内(1)硬件实现(排队器)111&1&1&INTR1INTR2INTR3INTR4INTR1、INTR2、INTR3、INTR4优先级按降序排列INTP1INTP2INTP3INTP4硬件集中固定软件分散循环A、B、C优先级按降序排列(2)软件实现(程序查询)否…是否A请求?是否B请求?是否C请求?转A的服务程序入口地址转B的服务程序入口地址转C的服务程序入口地址是是是否否•人为设置中断:eg:INTn-----指令本身提供•程序性事故引起中断-----系统提供•硬件故障引起中断(NMI)-----系统提供•I/O设备请求中断(INTR)三、中断服务程序入口地址的寻找四、中断响应(INTR)1.响应中断的条件允许中断触发器EINT=12.响应中断的时间指令执行结束时刻由CPU发查询信号CPU中断查询INTR1DQINTR2DQINTRnDQ中断源1中断源2中断源n…至排队器INTn---执行指令NMI、程序性事故----当前指令结束3.中断隐指令----中断周期(1)保护程序断点(2)寻找服务程序入口地址(3)硬件关中断向量地址形成部件INTSQREINTSQRPC1&≥1排队器……断点存于特定地址(0号地址)内断点进栈向量地址PC(硬件向量法)中断识别程序入口地址MPC(软件查询法)五、保护现场和恢复现场1.保护现场2.恢复现场寄存器内容断点保护现场中断服务程序恢复现场中断返回PUSH视不同请求源而定POP中断服务程序完成中断服务程序中断隐指令完成中断服务程序完成IRET1.多重中断的概念klmk+1l+1m+1第一次中断第二次中断第三次中断程序断点k+1,l+1,m+1六、中断屏蔽技术---中断优先级调整技术2.实现多重中断的条件B、CA中断请求主程序(2)优先级别高的中断源有权中断优先级别低的中断源(1)提前设置开中断指令ABCD中断服务程序(A、B、C、D优先级按降序排列)D(1)断点进栈(2)断点存入特定存储单元----“0”地址中断周期:命令存储器写0MARPCMDR(MDR)存入存储器“0”多重中断,多个断点都存入“0”地址,3.多重中断的断点保护---中断隐指令

1 / 56
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功