《计算机组成-08:CPU的结构和功能.ppt》由会员分享,可在线阅读,更多相关《计算机组成-08:CPU的结构和功能.ppt(59页珍藏版)》请在三一办公上搜索。
1、计算机组成之CPU的结构和功能,计算机学院,本章主要内容,8.1 CPU 的结构,8.1.1 CPU 的功能,取指令,分析指令,执行指令,发出各种操作命令,控制程序输入及结果的输出,总线管理,处理异常情况和特殊请求,1.控制器的功能,2.运算器的功能,实现算术运算和逻辑运算,指令控制,操作控制,时间控制,数据加工,处理中断,8.1.2 CPU 结构框图,PC IR,ALU 寄存器,中断系统,1.CPU 与系统总线,CU 时序电路,8.1,2.CPU 的内部结构,8.1,1.用户可见寄存器,(1)通用寄存器,8.1.3 CPU 的寄存器,存放操作数,可作 某种寻址方式所需的 专用寄存器,(2)数
2、据寄存器,存放操作数(满足各种数据类型),两个寄存器拼接存放双倍字长数据,(3)地址寄存器,存放地址,其位数应满足最大的地址范围,用于特殊的寻址方式 段基值 栈指针,(4)条件码寄存器,存放条件码,可作程序分支的依据,如 正、负、零、溢出、进位等,8.1,2.控制和状态寄存器,(1)控制寄存器,PC,控制 CPU 操作,(2)状态寄存器,状态寄存器,其中 MAR、MDR、IR 用户不可见,存放条件码,PSW 寄存器,存放程序状态字,PC 用户可见,3.举例,Z8000 8086 MC 68000,MAR,M,MDR,IR,8.1,8.1.4 控制单元 CU 和中断系统,1.CU 产生全部指令的
3、微操作命令序列,2.中断系统,参见 第篇,参见 8.4 节,8.1,8.2 指令周期,8.2.1 指令周期的基本概念,1.指令周期,取出并执行一条指令所需的全部时间,完成一条指令,执行,取指、分析,取指周期,执行周期,2.每条指令的指令周期不同,JMPX,ADDX,MULX,8.2,3.具有间接寻址的指令周期,4.带有中断周期的指令周期,8.2,5.指令周期流程,取指周期,执行周期,间址周期,中断周期,8.2,6.CPU 工作周期的标志,CPU 访存有四种性质,取 指令,取 地址,取 操作数,存 程序断点,取指周期,间址周期,执行周期,中断周期,CPU 的4个工作周期,8.2,1.取指周期数据
4、流,8.2.2 指令周期的数据流,CU,MAR,PC,8.2,2.间址周期数据流,8.2,3.执行周期数据流,4.中断周期数据流,不同指令的执行周期数据流不同,8.2,8.3 指令流水,如何提高机器速度,1.提高访存速度,2.提高 I/O 和主机之间的传送速度,提高整机处理能力,高速芯片,Cache,多体并行,I/O 处理机,DMA,多总线,通道,高速器件,改进系统结构,开发系统的并行性,中断,3.提高运算器速度,高速芯片,改进算法,快速进位链,系统的并行性,时间上互相重叠,2.并行性的等级,指令级(指令之间)(指令内部),过程级(程序、进程),两个或两个以上事件在 同一时刻 发生,两个或两个
5、以上事件在 同一时间段 发生,并行,1.并行的概念,粗粒度,软件实现,细粒度,硬件实现,8.3,8.3.1 指令流水原理,2.指令的二级流水,1.指令的串行执行,取指令 取指令部件 完成,总有一个部件 空闲,指令预取,若 取指 和 执行 阶段时间上 完全重叠,指令周期 减半 速度提高 1 倍,执行指令 执行指令部件 完成,8.3,必须等 上条 指令执行结束,才能确定 下条 指令的地址,造成时间损失,3.影响指令流水效率加倍的因素,(1)执行时间 取指时间,(2)条件转移指令 对指令流水的影响,解决办法?,猜测法,8.3,4.指令的六级流水,六级流水,14 个时间单位,串行执行,6 9 54个时
6、间单位,完成 一条指令,6 个时间单位,8.3,8.3.2 影响指令流水线性能的因素,1.结构相关,8.3,不同指令争用同一功能部件产生资源冲突,程序的相近指令之间出现某种关联使指令流水出现停顿,影响流水线效率,解决办法,停顿,指令存储器和数据存储器分开,指令预取技术(适用于访存周期短的情况),2.数据相关,不同指令因重叠操作,可能改变操作数的 读/写 访问顺序,采用 定向技术(旁路、相关专用通路),解决办法,8.3,写后读相关(RAW),读后写相关(WAR),写后写相关(WAW),后推法,3.控制相关,8.3,由转移指令引起,3.控制相关,8.3,8.3.3 流水线性能,1.吞吐率,单位时间
7、内 流水线所完成指令 或 输出结果 的 数量,8.3,最大吞吐率,实际吞吐率,连续处理 n 条指令的吞吐率为,2.加速比 Sp,8.3,m 段的 流水线的速度 与等功能的 非流水线的速度 之比,由于流水线有 建立时间 和 排空时间因此各功能段的 设备不可能 一直 处于 工作 状态,8.3,流水线中各功能段的 利用率,3.效率,8.3,3.效率,流水线中各功能段的 利用率,例8.1 假设指令流水线分取指(IF)、译码(ID)、执行(EX)、回写(WR)4个过程段,共有10条指令连续输入此流水线。(1)画出指令周期流程。(2)画出非流水线时空图。(3)画出流水线时空图。(4)假设时钟周期为100n
8、s,求流水线的实际吞吐率。(5)求该流水处理器的加速比。,8.3,8.3.4 流水线的多发技术,1.超标量技术,每个时钟周期内可 并发多条独立指令,硬件 不能调整 指令的 执行顺序,配置多个功能部件,通过编译优化技术,把可并行执行的指令搭配起来,8.3,2.超流水线技术,在 一个时钟周期 内 再分段(3 段),不能调整 指令的 执行顺序,在一个时钟周期内 一个功能部件使用多次(3 次),靠编译程序解决优化问题,流水线速度是原来速度的 3 倍,8.3,3.超长指令字技术,采用 多个处理部件,8.3,8.3.5 流水线结构,1.指令流水线结构,完成一条指令分 7 段,每段需一个时钟周期,若 流水线
9、不出现断流,1 个时钟周期出 1 结果,不采用流水技术,7 个时钟周期出 1 结果,理想情况下,7 级流水 的速度是不采用流水技术的 7 倍,8.3,2.运算流水线,完成 浮点加减 运算 可分对阶、尾数求和、规格化 三段,分段原则 每段 操作时间 尽量 一致,8.3,8.4 中断系统,8.4.1 概述,1.引起中断的各种因素,(1)人为设置的中断,(2)程序性事故,如 转管指令,溢出、操作码不能识别、除法非法,(5)外部事件,(4)I/O 设备,(3)硬件故障,用 键盘中断 现行程序,8.4,中断大多是随机的,中断源,不可屏蔽中断,可屏蔽中断(被谁屏蔽?),2.中断系统需解决的问题,(1)各中
10、断源 如何 向 CPU 提出请求?,(2)各中断源 同时 提出 请求 怎么办?,(5)如何 寻找入口地址?,(4)如何 保护现场?,(3)CPU 什么 条件、什么 时间、以什么 方式 响应中断?,(6)如何 恢复现场,如何 返回?,(7)处理中断的过程中又 出现新的中断 怎么办?,硬件 软件,8.4,8.4.2 中断请求标记和中断判优逻辑,1.中断请求标记 INTR,一个请求源 一个 INTR 中断请求标记触发器,多个INTR 组成 中断请求标记寄存器,INTR 分散 在各个中断源的 接口电路中,INTR 集中 在 CPU 的中断系统 内,8.4,2.中断判优逻辑,分散 在各个中断源的 接口电
11、路中 链式排队器,集中 在 CPU 内,(1)硬件实现(排队器),参见 第五章,INTR1,INTR2,INTR3,INTR4,INTR1、INTR2、INTR3、INTR4 优先级 按 降序 排列,8.4,A、B、C 优先级按 降序 排列,(2)软件实现(程序查询),转 A 的服务程序入口地址,转 B 的服务程序入口地址,转 C 的服务程序入口地址,8.4,8.3.3 中断服务程序入口地址的寻找,1.硬件向量法,向量地址 12H、13H、14H入口地址 200、300、400,8.4,2.软件查询法,8.4,if(intr1=1)gotoisr1;else if(intr2=1)gotois
12、r2;else if(intr3=1)gotoisr3;isr1:isr2:isr3:,8.4.4 中断响应,1.响应中断的 条件,允许中断触发器 EINT=1,2.响应中断的 时间,指令执行周期结束时刻由CPU 发查询信号,CPU中断查询,至排队器,8.4,3.中断隐指令,(1)保护程序断点,(2)寻找服务程序入口地址,(3)硬件 关中断,PC,断点存于 特定地址(0 号地址)内,断点 进栈,INT 中断标记,EINT 允许中断,R S 触发器,8.4,8.4.5 保护现场和恢复现场,1.保护现场,2.恢复现场,保护现场,其它服务程序,恢复现场,中断返回,PUSH,视不同请求源而定,POP,
13、中断服务程序 完成,中断服务程序,中断隐指令 完成,中断服务程序 完成,8.4,IRET,1.多重中断的概念,k,l,m,k+1,l+1,m+1,程序断点 k+1,l+1,m+1,8.4.6 中断屏蔽技术,8.4,2.实现多重中断的条件,中断请求,主程序,(2)优先级别高 的中断源 有权中断优先级别低 的中断源,(1)提前 设置 开中断 指令,8.4,3.屏蔽技术,(1)屏蔽触发器与屏蔽字,MASK=0(未屏蔽),INTR 能被置“1”,MASKi=1(屏蔽),INTPi=0(不能被排队选中),8.4,屏蔽字,8.4,(2)屏蔽技术可改变处理优先等级,响应优先级,响应优先级 ABCD 降序排列
14、,8.4,不可改变,处理优先级,可改变(通过重新设置屏蔽字),处理优先级 ADCB 降序排列,屏蔽技术可改变处理优先等级,8.4,屏蔽技术可改变处理优先等级,8.4,8.4,例8.2 设某机有4个中断源1、2、3、4,其硬件排队优先次序按1234降序排列,各中断源的服务程序中所对应的屏蔽字如表所示。(1)给出上述4个中断源的中断处理次序。(2)若4个中断源同时有中断请求,画出CPU执行程序的轨迹。,8.4,(3)屏蔽技术的其他作用,便于程序控制,可以 人为地屏蔽 某个中断源的请求,新屏蔽字的设置,(1)断点进栈,(2)断点存入“0”地址,中断隐指令 完成,中断周期,命令存储器写,三次中断,三个断点都存入“0”地址,4.多重中断的断点保护,中断隐指令 完成,8.4,(3)程序断点存入“0”地址的断点保护,SERVE,LDA SAVE,JMP RETURN,存程序断点,5 为向量地址,保护现场,恢复现场,间址返回,存放 ACC 内容,转存 0 地址内容,开中断,ENI,8.4,作业,P370249121821242526,本章结束,谢谢,