计算机组成原理第六章.ppt_第1页
计算机组成原理第六章.ppt_第2页
计算机组成原理第六章.ppt_第3页
计算机组成原理第六章.ppt_第4页
计算机组成原理第六章.ppt_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理 第6章 计算机的控制器部件 计算机组成原理2 主要学习内容 控制器的功能、组成部件以及指令执行步骤 控制方式和时序产生 硬连线控制器部件设计方法(了解) 微程序控制器部件设计方法(重点) 控制器优化技术:指令流水线和向量处理机技术 计算机组成原理3 一 控制器的功能概述 冯. 诺依曼结构的计算机 “存储程序”计算机,设置内存,存放程序和数据 在程序运行之前将程序调入内存,然后执行程序 计算机的功能是执行程序 程序是依次排列起来的指令序列 计算机执行程序的基本过程 从程序首地址开始执行第一条指令 分步执行每一条指令,并形成下一条待执行指令地址 自动地连续执行指令,直到程序的最后一条指令 计算机组成原理4 控制器的功能概述 控制器的功能就是控制指令的执行过程 能够正确并且自动地连续执行指令 按程序中设定的指令次序执行 能够正确并分步完成每一条指令规定的功能 读取指令 分析指令 执行指令 能够在执行程序的过程中响应并处理中断 使计算机得以更有效的地兼顾几项工作 进一步讲,就是向计算机各功能部件 (运算器、 存储器、总线、输入输出设备的接口,也包括控制 器部件本身) 提供它们每一个步骤协调运行所需要的 控制信号。 计算机组成原理5 控制器的组成概述 程序计数器 PC 存放指令地址,有 增量 或 接收新值的功能 指令寄存器 IR 存放指令内容:操作码与操作数地址 指令执行步骤标记线路 指明每条指令的执行步骤和相对次序关系 控制信号产生线路 给出计算机各功能部件协同运行所需要的控制信号 主脉冲源与启停控制线路 计算机组成原理6 控制器组成和在整机中的地位 在计算机硬件系统中,控制器处于指挥控制地位 计算机组成原理7 二 两种不同类型的控制器 根据指令步骤标记线路和控制信号产生线 路不同的组成和不同的运行原理,有两种不同 类型的控制器: 硬连线控制器(组合逻辑控制器): 采用组合逻辑线路、依据指令及其执行步 骤直接产生控制信号。 微程序控制器: 采用存储器电路把控制信号存储起来,依 据指令执行的步骤读出要用到的信号组合。 计算机组成原理8 硬连线vs微程序 微程序其实质是组合逻辑的另一种实现方式。将组合逻辑的输出结果存放 在RAM或ROM 内,将输入信号作为ROM或RAM 的地址通过查表得到逻 辑输出结果。例子(4输入与门): 多输出的情况:n个输入,m个输出,RAM或ROM 大小为 2n x m bits 计算机组成原理9 比较 对于控制器设计,控制器有两种设计方法: 硬布线控制器:它是将指令执行时的各个机器周期的微操作信号用时 序逻辑电路来实现,硬布线控制器速度快,但设计复杂繁琐,适合于 RISC结构。 微程序控制器:它是将机器指令根据其执行步骤所需的控制信号当前 状态形成若干条微指令存储起来,指令执行时从控制存储器中依次取 出这些微指令,发出指令所需要的全部微操作控制信号,从而完成指 令的执行。微程序控制器相对硬布线控制器速度慢,但设计比较规整 ,易于实现指令系统修改,适合于CISC结构。 微程序控制器相比较硬连线逻辑实现的优点、缺点: 1、改变逻辑功能只需要改变ROM或RAM的内容,升级或更改电路非 常方便。 2、采用RAM或ROM实现,查找需要时间,逻辑实现速度没有硬连线 逻辑快。 计算机组成原理10 三、指令周期 指令周期:是指计算机从内存取出一条指令并完成该指令的执行所需 要的时间。 不同指令的指令周期可以是不相同的。 一个指令周期可能由若干个机器周期组成。 机器周期:又称为CPU周期,用于完成1次内存的操作(读或写访问 )或者1次ALU的运算,或者1次总线传送(指令执行过程中的一个完 整功能步骤) 一般规定为CPU与内存交换1次信息(读或写内存)所需要的时间 。 一个机器周期的功能需要多个时钟周期完成。 通常情况下:一条指令的执行过程包括读指令(取指步骤1)、指 令译码(取指步骤2)、ALU执行(执行步骤1)、内存读写(执行 步骤2)、数据写回(执行步骤3)等5个步骤组成(不同计算机系 统或不同指令执行步骤可能不同)。一般每个步骤对应一个机器周 期。 时钟周期:又称为节拍周期,是指CPU执行一个微操作命令(即控制 信号)的最小时间单位,也即T周期。 每个执行步骤分解为若干个微操作命令实现,每个微操作的执行周 期为一个时钟周期(节拍周期)。 计算机组成原理11 指令周期、机器周期、时钟周期的关系 计算机组成原理12 节拍信号TS1TS4和时钟信号源 的关系 下例中,每四个节拍信号构成一个机器周期。(TS1,TS2.TS3,TS4信号控 制一个机器周期中微操作的执行顺序) 机器周期机器周期1 1 计算机组成原理13 全部指令都选用相同执行时间完成的系统被称为 单周期CPU,指令周期取决于用时最长的指令,例如每 条指令都用 5个步骤的时间完成,控制各部件运行的信号在整 个指令周期不变化,因此每个部件在一个指令周期中只能执行 一项操作,系统性能和资源利用率很低,原理正确但不实用。 IFIDEXE MEM WB 单周期CPU 指令周期 IFIDEXE MEM WB 指令周期 计算机组成原理14 依据不同指令各自的功能需求为其选择不等的执 行步骤的系统被称为多周期CPU 控制各部件运行的控制信号随着指令执行步骤改变,同一 个部件可以在不同的执行步骤完成不同的操作,系统性能和资 源利用率更高。相邻指令可以完全串行执行,也可能部分时间 重叠,更实用。 IFIDEXEWB 指令周期 IFID 指令周期 IFID EXE MEMWB 指令周期 CPU时钟CPI 4 多周期CPU 计算机组成原理15 四、指令的执行过程 (一)指令执行过程概述 (二)典型指令的执行过程 (三)计算机的工作过程 计算机组成原理16 (一)指令执行过程概述 一条指令的执行过程包括取指令、执行指令两大 阶段,执行指令根据实际情况可分成多个阶段: 1、取指令 (1)送指令地址:当前指令的地址由程序计数器PC 指出,PC的内容送到地址寄存器AR,同时PC的内容 递增以指向下一条指令的地址;即PCAR, PC+1 (2)读取指令:AR的输出通过地址总线送到存储器的 地址端,指明指令所在的地址单元,控制器发出读控 制信号,控制从存储器中读出这条指令;该指令通过 数据总线送到指令寄存器IR;即RAM IR 计算机组成原理17 (一)指令执行过程概述 (3)指令译码:由指令译码器对IR中的指令其进行 分析译码;指令译码器首先判断该指令是什么指 令,然后将判断结果信息传递给操作控制信号形 成部件;即J1# 。 2、执行指令 操作控制信号形成部件根据指令译码信息和时序 周期信号,发出该指令所需的所有部件的有一定 时序关系的控制信号序列,完成指令的执行。 执行指令的具体操作与指令的功能有很大的关系 ,不同的指令,其执行指令阶段也是不同的。 计算机组成原理18 (二)典型指令的执行过程 指令的执行过程举例:假设存放在存储器中的二条指 令内容为(双字长指令) 地址机器码助记符功能 04H0101 0000 ADD R0, 06H(R0)+06HR0 05H0000 0110(立即数) 06H1000 0000 JMP 04H04HPC 07H0000 0100(转移地址) OP(4)Rd(2) Data OP(4) ADDR 计算机组成原理19 模型计算机的系统结构 计算机组成原理20 典型指令的指令周期 1、ADD Rd, Data; (Rd)+DataRd 加法指令:寄存器立即数存入寄存器 寻址方式:源操作数为立即数寻址,目 的操作数为寄存器(直接)寻址 指令格式: OP(4)Rd(2) Data 计算机组成原理21 ADD Rd, Data指令的执行过程 取指令: M1 (送存储器地址): PCAR, PC+1 M2 (读存储器): RAM IR M3(指令译码): J1# 执行指令: M4(取源操作数送地址):PCAR, PC+1 M5(取源操作数读):RAM DA1 M6(取目的操作数): RdDA2 M7(计算并置结果):DA1+DA2Rd 计算机组成原理22 ADD R0, 06H;(R0)+06HR0指令的运行过程 取 指 令 过 程 0101 0000(50H) 0000 0101(05H) 0000 0100(04H) 计算机组成原理23 ADD R0, 06H;(R0)+06HR0指令的运行过程 执 行 指 令 过 程 0000 0110(06H) 0000 0101(05H) 计算机组成原理24 典型指令的指令周期 2、JMP ADDR; ADDRPC 跳转指令:从当前指令跳转到目标处执行 寻址方式:单操作数指令,操作数为直接 转移地址,直接寻址 指令格式: OP(4) ADDR 计算机组成原理25 JMP ADDR指令的执行过程 取指令: M1 (送存储器地址):PCAR, PC+1 M2 (读存储器): RAMIR M3(指令译码): J1# 执行指令: M4(取操作数送地址): PCAR, PC+1 M5(取操作数读):RAM PC 计算机组成原理26 JMP 04H;04HPC指令的运行过程 取 指 令 过 程 0000 0110(06H) 1000 0000(80H) 0000 0111(07H) 计算机组成原理27 JMP 04H;04HPC指令的运行过程 执 行 指 令 过 程 00000100(04H) 0000 0111(07H) 计算机组成原理28 指 令 执 行 的 流 程 图 取 指 令 阶 段 执 行 指 令 阶 段 计算机组成原理29 时序控制 信号 形成部件 译码 IR PC 节拍 启停 . 控制条件 控制器信号 主振 6.2 硬连线控制器部件 地址寄存器 输出 设备 输入 设备 主 存 运算器 部件 数据总线 地址总线 控制总线 计算机组成原理30 硬连线控制器组成与运行原理 硬连线控制器由程序计数器PC、指令寄存器IR、 节拍发生器Timer 和 控制信号产生部件 4 部分组成。 PC用于提供待读出指令在主存储器中的地址, IR 用于保存从主存储器中读出的指令内容, Timer 用于给出并维护指令执行步骤的编码, 控制信号产生部件用于依据指令内容(在IR中) 和指令执行所处的操作步骤(Timer 提供),用组合 逻辑线路产生计算机本操作步骤中各个部件所需要的 控制信号。 划分指令执行步骤,确定各步骤应执行的功能和 步骤之间的衔接关系,以及确定各部件完成这些功能 所需要的控制信号,是控制器设计的几个关键环节。 计算机组成原理31 硬布线控制器的结构与原理 经指令译码器 译码产生的指 令信息Im 时序系统产生 的机器周期信 号Mn和节拍信 号Tn,用于指 出当前处于哪 一个机器周期 和哪一个节拍 。 状态寄存器的 状态信号Sx 外部控制、状 态信号Ej 硬布线控制器的组成 计算机组成原理32 硬布线控制器的结构与原理 微操作控制信号Ci 一部分送到CPU外部构成系统总线的控制总线; 另一部分则送到CPU内部供使用。 从逻辑函数的角度来看,输出微操作控制信号Ci是5种输 入信号的函数: Ci=fi(Im,Mn,Tn,Sx,Ej) 设计硬布线控制器的过程,也就是求出每个微操作控制信 号Ci的逻辑函数fi的过程。 计算机组成原理33 硬连线控制器特点 用与-或两级构成的逻辑电路生成控制信号 线路延时小,指令执行性能好 适合实现比较精简的指令系统(早期) 常用于实现 RISC 机 (当前) 较容易实现并行 可扩展性差,制作系列机时较难实现 计算机组成原理34 6.3 微程序控制器-基本组成框图 控制存储器 (存放微程序) 微指令字 微指令寄存器 下地址 逻辑 控存地址 下地址字段 微命令字段 指令寄存器 IR 程序计数器 PC 影射 指令操作码 条件信号 Clock 微命令 (控制信号) 计算机组成原理35 微程序控制器的基本组成 程序计数器 PC 存放指令地址,有 增量 或 接收新值的功能 指令寄存器 IR 存放指令内容:包括指令操作码与操作数地址两部分 微指令下地址逻辑 形成并提供出读控制存储器要使用的微指令的地址, 其作用与硬连线控制器的节拍发生器有些类同。 控制存储器和微指令寄存器 控制存储器用于保存由全部微指令构成的微程序,读 控制存储器得到的微指令将首先存入微指令寄存器,之后 才能送到各被控制部件,这一部分的作用与硬连线控制器 的控制信号产生部件有些类同。 计算机组成原理 几个重要概念: 微命令:控制部件通过控制线向执行部件发出的各种 控制命令 (信号级:比如读/写信号) 微操作:执行部件接受微命令后所进行的操作 微指令:同时发出的控制信号所执行的一组微操作 微程序:一组微指令的集合 微地址:微指令在CM(控制存储器)中的地址 微周期:读出并执行一条微指令的时间 36 计算机组成原理37 微程序控制器的基础知识 用多条微指令“解释执行”每条机器指令的执行 过程。一条微指令控制各部件执行指令的一个执行步 骤应完成的功能,执行一条微指令所用的时间被称为 一个微周期。 微指令需要具备如下两项功能: 提供机器指令的一个执行步骤所需要的控制信号 (微命令),以控制各部件执行该步骤的操作功能; 提供下一条待用微指令的地址,以便自动有序地 读出后续的一条微指令,解决指令各执行步骤之间 正确的衔接关系。为此微指令中要有两部分信息。 全部微指令的集合构成一台计算机的完整的微程 序,保存在控制存储器中。 下地址字段控制命令字段微指令格式 计算机组成原理38 把微程序安排到控制存储器中 最简单的原理性办法 取指用的微指令 译码,按指令操作码分支 解释 指令0 的微程序 解释 指令1 的微程序 解释 指令n 的微程序 检查中断请求的微程序 响应中断请求的微程序 无 有 适当优化设计 找出多条指令用到 的相同内容的微指令或 微程序段, 归并为一条共 用,减少控存字数; 设计更好的下地址 信息组成,提供尽可能 多的微指令衔接方式; 用不同的微命令字 段控制不同的对象,提 高各部件并行运行能力, 通过译码产生互斥命令, 缩短微指令字长。 顺序方式 功能分支 条件转移 无条件转移 无 条 件 转 移 计算机组成原理39 下地址的形成方式和必要信息 有多种得到下条微指令地址的方式: 顺序执行时,下地址为本条微指令地址1; 无条件转移时,可以在微指令的下地址字段直接 给出这一转移地址; 条件转移时,按条件选择顺序执行或转向某一地 址,下地址字段要给出转移条件和微转移地址; 多路转移时,下地址要从多个微指令地址中选择; 微子程序调用与返回,要使用到微堆栈; 根据指令操作码分支时,一般通过专门硬件映射 指令操作码为该指令对应的微程序入口地址实现。 综上所述,需要在下地址字段中提供得到下地址 的方式,用到的微转移判断条件,微指令的地址值等 信息,要和下地址逻辑的硬件线路组成相吻合。 计算机组成原理40 8 位微下地址字段可以访问 256个字 的控存空间 ,用 于直接给出下一条微指令的地址,如微指令的转移地址 等 微指令中的下地址字段的信息 例如可以分成 3 个子字段,总共提供 16位 的信息 微下地址 下地址方式 微转移条件 8位4位 4位 4 位的形成下地址方式编码可以给出 16种 选择,如顺 序执行、条件转移、微子程序调用与返回、从某一固定地址 开始、循环执行与结束、按照指令操作码进行功能分支 等。 4 位的转移条件可给出 16种 不同的条件或组合,用于 指出微指令转移所依据的条件,为真则转移、否则顺序执行 微指令字的下地址字段有多种组织方案,各有长短, 计算机组成原理41 微命令字段用于向计算机各个部件提供它们运行 所需要的控制信号,这些信号的组成是由被控制部件 (运算器、存储器和 IO 接口、总线等) 运行需求决定 的。以教学计算机为例,同样的指令系统,类同的执 行部件组成,会要求微程序控制器与硬连线控制器二 者提供基本相同的控制信号。对控制器部件本身的控制则 有很大不同,硬连线控制器主要是控制节拍发生器的状态转换 ,微程序控制器主要表现为控制微指令的下地址逻辑线路。 微命令字段的信息位数可能较多,又有不同的使 用要求,相应的就有多种处理和组合这些控制信号的 方案,适当减少微指令字长、提高微指令并发控制能 力是需要重点解决的问题之一。 微指令中微命令字段的内容 计算机组成原理42 直接控制法 直接用微指令字的一位作一个控制信号,简单 且速度快,但会使微指令字变得很长。 微指令格式和字段划分设计 微指令字 下地址字段微命令字段 控制信号 常数源字段 有点类似于指令中的立即数字段,位数不多, 提供一个常数值,用来控制微程序循环次数等。 常数值 计算机组成原理43 微指令格式和字段划分设计 微指令字 控制信号 下地址字段微命令字段 字段直接编译法 把互斥的控制信号分在一组加以编码,经译码器给出 控制信号,确保互斥,速度会稍慢,但可大大减短微指令 字长度。 译 码 器 字段间接编译法 微命令的一个字段的某些微命令还受另一字段制约, 是对直接译码的一种改进,可进一步缩短微指令字长度。 译 码 器 译码器 计算机组成原理44 微程序控制器特点 采用 ROM 存储控制信号 可扩展性好,系列机的兼容性易实现 容易实现复杂的指令系统 性能比较低 并行性不太好 主要用在 CISC 中 计算机组成原理45 控制 存储器 映射 IR PC 接口 输出 设备 主存 储器 运算器 部件 下地址 逻辑 启停 地址寄存器 数据总线 地址总线 控制总线 . 控制条件 微指令寄存器 主振 选用微程序控制器的教学机组成 接口 输入 设备 微命令下地址 计算机组成原理46 组合逻辑与微程序控制器比较 相同点 完成相同的控制功能,控制信号基本相同 组成部分都有程序计数器 PC,指令寄存器 IR 都分成几个步骤完成一条指令的具体功能 不同点 控制信号生成方式不同 组合逻辑:由组合逻辑电路直接给出所需要的控制信号 微程序: 需要的控制信号是从控制存储器中读出来的,并 经过一个微指令寄存器送到被控制部件 指令步骤标记实现方式不同 组合逻辑:节拍发生器状态指明指令执行步骤 微程序: 通过微指令的地址来解决指令执行步骤 性能和设计实现难度不同 组合逻辑:优点是运行速度快,缺点是设计与实现复杂 微程序: 缺点是运行速度慢,优点是设计与实现简单 计算机组成原理47 6.4 控制器优化技术:指令流水线的概念和实现 技术 掌握: 指令流水线的基本概念 影响流水线性能的因素 1 结构相关 2 数据相关 3 控制相关 计算机组成原理48 流水线的基本概念 什么是计算机中的流水线? 把一个重复的过程分解为若干个子过程,每个子过程与 其他子过程并行进行。由于这种工作方式与工厂中的生产流 水线十分相似,因此称其为流水线技术。 提高处理机内部的并行性 时间并行性,就是采用流水线技术,此时只需增加少量 硬件就能把计算机的运算速度提高几倍,成为计算机中普遍 使用的一种并行处理技术。 空间并行性,即在一个处理机内设置多个独立的操作部件 ,并且使这些部件并行工作。 计算机各个部分几乎都可以采用流水线技术 计算机指令的执行过程可以采用流水线,称其为指令流水线。 运算器中的操作部件,如浮点加法器、浮点乘法器等可以采用流水线 ,称其为操作部件流水线。 多个计算机之间,通过存储器连接,也可以采用流水线技术,称其为 宏流水线。 计算机组成原理49 流水线的基本概念-时间重叠 指令的几种执行方式每个执行步骤时间为 t,则 执行 n 条指令的用时 T 为: T = 3nt T = (1+2n) t T = (2+n) t 以每条指令用 3个步骤完成为例 计算机组成原理50 流水线的表示方法 流水线的每一个阶段完成一条指令的一部分功能, 不同阶段并行完成不同指令的不同部分的功能。 流水线中每一个阶段称为一个流水阶段、流水节 拍、流水步、流水段、功能段、流水级等。一个流水 阶段与另一个流水阶段相连接形成流水线。 指令从流水线的一端进入,经过流水线的处理, 从另一端流出。目前大部分处理机的指令流水线在 3 12 段之间。 流水线最常用的表示方法: 流水线时空图表示法,直观描述流水线工作过程。 计算机组成原理51 流水线的表示方法 流水线时空图表示法 横坐标表示时间,也就是输入到流水线中的各个任务 在流水线中所经过的时间。纵坐标表示空间,即流水线的 每一个流水段。 计算机组成原理52 流水线的特点 第一,把一个任务(一条指令或一个操作)分解为几个有 联系的子任务, 每个子任务由一个专门的功能部件来实现。 第二,流水线每一个功能段部件后面都要设置缓冲寄存 器,或称为锁存器,其作用是保存本流水段的结果。 计算机组成原理53 流水线的特点 第三,流水线中各功能段的时间应尽量相等, 否则将引起堵塞、断流,做不到时怎么办? 要求流 水线的时钟周期不能快于最慢的流水段。 第四,只有连续不断地提供同一种任务时才能 发挥流水线的效率,所以在流水线中处理的必须是 连续任务。 第五,流水线需要有装入时间和排空时间。装 入时间是指第一个任务进入流水线到输出流水线的 时间。排空时间是指第 n 个(最后一个)任务进入 流水线到输出流水线的时间。 计算机组成原理54 流水线的相关问题 什么是流水线中的“相关”? 在流水线中经常有一些被称为“相关”的情况发生,使得指令序 列中下一条或几条指令无法按设计的时钟周期执行,将会降低流水线 运行性能。 流水线中的相关可以分为以下三种类型 第一种是结构相关,是指在指令重叠执行的过程中,遇到了因硬 件资源资源部不足而不能正常流水的冲突。 第二种是数据相关,是指在同时重叠执行的几条指令中,遇到了 后续指令用到前面指令的执行结果,但前面指令尚不能提供的冲突。 第三种是控制相关,它是指流水线中的分支指令或者其他需要改 写PC的指令时,遇到了不能及时确定应该取哪一条指令的矛盾。 解决流水线中“相关”问题的重要性 流水线相关问题是流水线执行过程中的主要障碍,会给流水线中 顺利通畅地执行指令序列带来不利影响。处理不好可能影响流水线的 性能,甚至产生错误的结果。 计算机组成原理55 结构相关和相应解决方法 因硬件资源冲突而无法使用某种指令组合被称为流水线中 遇到了结构相关。例如:指令和数据都共用一个存储器,在某 个时钟周期内,就不能同时到存储器既访问数据又读取指令, 此时就遇到了结构相关问题。 计算机组成原理56 结构相关和相应解决方法 解决结构相关的基本方法 结构相关的起因是资源争用,因此可以考虑采用资源重 复设置的方法来避免结构相关,也可以采用等待方式处理, 但会降低系统性能。 例如:解决存储器争用冲突的办法 (1) 设置两个存储器,其中一个作为数据存储器,另一 个作为指令存储器。 (2) 如果指令和数据放在同一个存储器,可使用双端口 存储器,其中一个端口存取数据,另一个端口取指令。 上述两种方案中,取指令和访问数据可以并行进行,不 会发生结构相关。 计算机组成原理57 数据相关和相应解决方法 流水线通过指令的重叠执行来加大指令的执行 流量,可能导致几条指令使用数据的冲突,例如: 计算机组成原理58 数据相关的解决方法 采用定向(旁路)技术解决数据相关,其基本思想是: 不在前条指令的计算结果写回之后再去读出,而是直接从这 个计算结果产生的线路之处将它传送给后续指令。 计算机组成原理59 数据相关的解决方法 通过暂停来解决数据相关 计算机组成原理60 数据相关的解决方法 正确地检测数据相关是重要的,可以通过引入“流水线 互锁”部件完成,当检测到上述的数据相关后就暂停流水线, 直到可以通过定向技术解决数据相关为止。 计算机组成原理61 控制相关和相应解决方法 流水线的控制相关是因程序执行转移类指令而引 起的相关,如无条件转移、条件转移、子程序调用指 令等,它们属于分支指令,运行中可能改变指令执行 的次序,从而造成流水线断流。 控制相关会使流水线的连续流动受到破坏。当执行条件转 移指令时,有两种可能结果: 如发生转移,将 PC 的内容改变成转移目标地址 如不发生转移,已经 加上一个增量 PC 保持不变 数据相关影响到的仅仅是本条指令附近少数几条 指令,所以称为局部相关。而控制相关影响的范围要 大得多,它会引起程序执行段落的改变,使流水线损 失更多的性能,所以称为全局相关。 计算机组成原理62 控制相关的解决方法 控制相关简单解决方法 一旦发现分支指令就暂停流水线,即暂停该 指令之后的所有指令,直到分支指令达到已经能 够确定新的 PC 值为止。 在发现它是分支指令之前是不愿意暂停流水 线的,因此暂停在 ID 段之后才会发生,下图所示 的流水线时空图就描述了这种出来方法。 计算机组成原理63 控制相关的解决方法 简单方法处理时空图 流水线处理分支指令时减少暂停周期数的思路: 在流水线中尽早判断出分支转移是否成功; 尽早计算出分支成功转移时的PC值(分支的目标地址) 计算机组成原理64 指令级并行技术简介 多指令发射技术 超标量 (Superscalar) 处理机 超流水线 (Superpipelining) 处理机 超标量超流水线 (Superscalar Superpipeling) 处理机 超长指令字 (Very Long Instruction Word)处理机 计算机组成原理65 指令级并行技术简介 超标量处理机 通常把一个时钟周期内能够同时发射多条指令的处理机 称为超标量处理机。 为了能够在一个时钟周期内同时发射多条指令,超标量 处理机必须有两条或两条以上能够同时工作的指令流水线。 高性能超标量处理机一般还有一个先行指令窗口,它能 够从指令 Cache 中预取多条指令,而且能够对这些指令进行 数据相关性分析和功能部件冲突检测。 超标量处理机开发空间并行性,在每个时钟周期可以平 均执行完成多条指令。如果一台超标量处理机每个时钟周期 同时发射 m 条指令,则它的指令级 并行度ILP 的期望值就 为m。但由于资源冲突、数据相关、控制相关等原因,实际 的 ILP 不可能达到 m,通常是 1ILPm。 计算机组成原理66 指令级并行技术简介 超标量处理机 计算机组成原理67 指令级并行技术简介 超流水线处理机 一般把在一个时钟周期内能够分时发射多条指令的处理 机称为超流水线处理机。另外,也把指令流水线的段数大于 等于8的流水线处理机称为超流水线处理机。 超标量处理机是通过重复设置多个部件,并且让这些部 件能够同时工作来提高指令的执行速度;而超流水线处理机 则只是通过增加少量硬件,通过各部分硬件的充分重叠工作 来提高处理机的性能。 超标量处理机采用的是空间并行性,而超流水线处理机 是开发时间并行性,通过各部分硬件的充分重叠来提高机器 性能。一台 并行度ILP 为n 的超流水线处理机,它在一个时 钟周期内能够发射 n条指令。但是 n条指令不是同时发射, 而是每隔 1n 个时钟周期发射一条指令。 计算机组成原理68 指令级并行技术简介 超流水线处理机 计算机组成原理69 指令级并行技术简介 超标量超流水线处理机 可以把超标量技术与超流水线技术结合在一起 ,这就是超标量超流水线处理机。它在一个时钟周 期内要发射指令m次,每次发射指令n条,故每个 时钟周期中总共发射指令mn条。(见下图) 超标量超流水线处理机既开发空间并行性,又 开发时间并行性。前者在重复设置的操作部件上同 时执行多个操作来提高程序的执行速度,后者在同 一操作部件上重叠多个操作,通过使用较快时钟周 期的深度流水线来加快程序的执行速度。其并行度 期望值为mn。 计算机组成原理70 指令级并行技术简介 超标量超流水线处理机 计算机组成原理71 指令级并行技术简介 四种不同类型处理机的性能比较 计算机组成原理72 超长指令字处理机 超长指令字(VLIW)处理机基于以下思路:由编译程 序在编译时找出指令间潜在的并行性,进行适当调度安排, 把多个能并行执行的操作组合在一起,成为一条具有多个操 作段的超长指令。由这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论