《系统结构与分析》第十二章CPU结构与功能

上传人:lizhe****0001 文档编号:54783292 上传时间:2018-09-19 格式:PPT 页数:65 大小:3.85MB
返回 下载 相关 举报
《系统结构与分析》第十二章CPU结构与功能_第1页
第1页 / 共65页
《系统结构与分析》第十二章CPU结构与功能_第2页
第2页 / 共65页
《系统结构与分析》第十二章CPU结构与功能_第3页
第3页 / 共65页
《系统结构与分析》第十二章CPU结构与功能_第4页
第4页 / 共65页
《系统结构与分析》第十二章CPU结构与功能_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《《系统结构与分析》第十二章CPU结构与功能》由会员分享,可在线阅读,更多相关《《系统结构与分析》第十二章CPU结构与功能(65页珍藏版)》请在金锄头文库上搜索。

1、第十二章 CPU 结构与功能,12.1 CPU 组织,CPU必须具有以下功能: 取指令 解释指令 取数据 处理数据 写数据,CPU 与总线结构,CPU 内部结构,12.2 寄存器组织,CPU 直接进行运算并暂存的单元 处于存储器分层结构的顶层 不同的 CPU 具有不同数量和功能的寄存器组 CPU 设计者的一个重要的考虑因素,用户可见寄存器,通用寄存器 数据寄存器 地址寄存器 条件代码,通用寄存器 (1),通用寄存器一般可被用于任何用途 有时也有些限制 部分寄存器侧重于处理数据,部分侧重于存放地址 数据寄存器 eg 累加器 etc 地址寄存器 eg 段寄存器,变址寄存器,堆栈指针,etc,通用寄

2、存器 (2),使用完全的通用寄存器 提高了编程的灵活性和功能 增加了指令的长度和复杂性 指定各寄存器的用途 使得指令更短、更快速 减少了编程的灵活性 没有最优的寄存器解决方案,但趋势是朝着指定寄存器的方向进行,通用寄存器的数目,8 32 之间 寄存器太少会导致更多的存储器访问 寄存器太多也未必会减少存储器访问 RISC 系统展示了使用上百个寄存器的优点,see later,寄存器的长度,地址寄存器:大到能够容纳整个地址 数据寄存器:大到能够容纳整个字长 通常可以联合两个寄存器存放一个双倍长的字,条件代码寄存器,单独的条件位的集合 e.g. Z(0标志) 可以被程序单独读取 e.g. JZ(若Z

3、F=1 则跳转) 通常由程序中的计算自动设定,不能手动设定,控制和状态寄存器,程序计数器(PC) 指令计数器(IR) 存储地址寄存器(MAR) 存储缓冲寄存器(MBR),程序状态字,一系列状态位的组合 包含环境状态码 S:最后一次运算结果的符号 Z:最后一次运算结果是否为0 C:最后一次运算的进位 E: 比较运算的结果是否相等 O:是否有溢出 I:中断标志(是否允许中断) 监督:指示CPU是否运行在监督模式,监督模式,操作系统使用 允许特权指令运行 用户程序不可见,其他寄存器,可能有寄存器指向: 程序控制块(PCB) 中断向量N.B. 对于寄存器,CPU 设计和操作系统设计是紧密相关的,寄存器

4、组织举例(1),寄存器组织举例(2),12.3 指令周期,取指 执行 中断,间址周期,指令的执行可能涉及到一个或多个存储器中的操作数,每次从存储器取数都需要存储器访问 间接寻址需要多次存储器访问 可把间址取数看作一个额外的指令子周期,带有间址的指令周期,指令周期,数据流 (取指令),数据的具体流向取决于 CPU 的设计 通常: PC 存放下一条指令的地址 指令地址转移至 MAR 指令地址放置在总线上 控制单元发出存储器读的指令 读取结果放置在数据总线上, 读取至 MBR, 然后至 IR 同时 PC 自增一次,数据流 (取数据),检查 IR 以确定是否有使用间接寻址 如果有使用间接寻址,则运行间

5、址周期: MBR 最右的N位是一个地址, 被传送到 MAR 控制单元请求存储器读 读去到操作数的地址并送入 MBR,数据流 (间址周期),数据流 (执行周期),取决于执行的类别 可能包括: 存储器读/写 I/O 操作 寄存器操作 ALU 操作,数据流 (中断),简单的并可预期的 当前 PC 的值需要保存,以保证中断之后的恢复 PC 传送到 MBR,MBR 的内容写到存储器的堆栈区 PC 装载中断处理子程序的入口地址 下一指令周期(中断处理的第一条指令)开始运行,数据流 (中断),指令预取,取指令需要访问主存 执行指令通常不需要 可以在执行当前指令时取下一条需要执行的指令 称为指令预取,12.4

6、 指令流水,将装配流水线的概念用于计算机,两段指令流水线,条件转移对指令流水的影响,6 段CPU指 令 流 水,流水线的性能 加速比,指令流水线的周期时间,现假设有 n 条指令在进行,无转移发生 指令流水线的段数为 k 则执行所有 n 条指令的总时间为:,使用流水线相对于不使用流水线的加速比为:,流水线的性能 加速比和指令数目的关系,流水线的性能 加速比和流水线段数的关系,转移处理,指令流水线的主要障碍是条件转移,已有几种方法用于处理条件转移: 多个指令流 (Multiple Streams) 预取转移目标 (Prefetch Branch Target) 循环缓冲器 (Loop buffer

7、) 转移预测 (Branch prediction) 延迟转移 (Delayed branching),多个指令流,IBM 370/168 和 IBM 3033 机使用 使用两条流水线,同时取指令 当遇到转移指令时,两条流水线不用全部丢弃已取的指令 问题: 带来寄存器和存储器访问的竞争延迟 在原先的转移判决还没解决之前,可能又有新的转移指令进入流水线,预取转移目标,识别出一个转移指令时,除了取此指令之后的指令外,转移目标处的指令也被取来 这个目标指令被保存到转移指令执行 IBM 360/91 使用该方法,循环缓冲器,循环缓冲器是由流水线指令取阶段维护的一个小的但极高速的存储器,含有 n 条最近

8、取来的顺序指令 若一个转移将要发生,硬件首先检查转移目标是否在此缓冲器中,若是,则下一条指令由缓冲器取出 这一策略非常适合处理循环,因此称为循环缓冲器 CRAY-1 使用,循环缓冲器框图,转移预测 静态转移预测策略,预测决不发生 假设转移决不发生 总是继续顺序取指令 68020 & VAX 11/780 预测总是发生 假设转移总是发生 总是由转移目标处取指令 依操作码预测 处理器假定,对某些条件转移指令的操作码将总是发生转移,对另外的总时不发生 成功率大于 75%,动态转移策略试图通过纪录条件转移指令在程序中的历史来改善预测的准确度 在循环中效率较高 发生/不发生开关 每个条件转移指令可有与之

9、关联的一位或几位,它们反应此指令的历史 这些位称为发生/不发生开关,它们指挥处理器下次遇到此指令时产生具体的判决 转移历史表 是一个与流水线取指令阶段相关联的小型高速缓存 每个表项由三个元素组成:转移指令的地址,记录该指令使用状况的历史位;有关它的目标指令的信息,转移预测 动态转移预测策略,转移预测流程图,转移预测状态图,转移处理策略 预测决不发生策略,转移历史表策略,Intel 80486 的流水线 (1),取指 指令由cache或外存取来,放入两个预取缓冲器中的一个 只要旧的数据被译码器用掉,立即用新数据填充缓冲器 取阶段的操作独立于其他阶段以保持运球缓冲器总是满的 译码段1 对操作码和寻

10、址方式信息进行译码 指挥D2阶段计算其余的信息(偏移量和立即数) 译码段2 将每个操作码扩展成对ALU的控制信号 亦控制更复杂寻址方式的计算,Intel 80486 的流水线 (2),执行 包括ALU运算、cache访问和寄存器修改写回 如果需要,则更改寄存器和在前面执行阶段修改过的状态标志,80 486 的 指 令 流 水 线 举 例,12.5 Pentium 处理器,Pentium 4 寄存器组织 整数单元,Pentium 4 寄存器组织 浮点单元,标志寄存器,控制寄存器,MMX 寄存器,MMX 使用 64 位数据类型 MMX 使用 3 位寄存器地址字段 支持 8 个MMX寄存器的使用 实

11、际上,处理器并没有专门设置MMX处理器,而是使用“别名”技术,用现有的浮点寄存器保存MMX数值 8 个浮点寄存器的低64位用来构造 8 个MMX寄存器,Pentium 中断处理,中断 可屏蔽中断和不可屏蔽中断 异常 处理器确定的异常和程序异常 中断向量表 每一类中断都被指派了一个中断号,中断号用于对中断向量表的索引 中断向量表容纳 256 个 32 位中断向量,它们存储着中断服务程序的地址 中断共有 5 个优先级,Pentium 异常和中断向量表(1),Pentium 异常和中断向量表(2),12.6 PowerPC 处理器,PowerPC 定点异常寄存器,PowerPC 条件寄存器,MMX 寄 存 器 映 射,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号