没有合适的资源?快使用搜索试试~ 我知道了~
首页现代RISC中的流水线技术
流水线技术是提高系统吞吐率的一项强大的实现技术,并且不需要大量重复设置硬件。20世界60年代早期的一些高端机器中第一次采用了流水线技术。第一个采用指令流水线的机器是IBM7030(又称作Stretch计算机)。后来的CDC 6600同时采用了流水线和多功能部件。 到了20世纪80年代,流水线技术成为RISC处理器设计方法中最基本的技术之一。RISC设计方法的大部分技术都直接或者间接以提高流水线性能为目标。从此以后,流水线技术也被有效地应用到CISC处理器的设计中。Intel i486是IA32体系结构中的第一个流水线实现。Digital的VAX和Motorola的M68K的流水线版本在商业上也取得了成功。 流水线技术是当前指令集处理器设计中广泛采用的技术。在这里我们将重点放在(标量)流水线处理器的设计。流水线处理器设计中的许多方法和技术,例如用于检测和化解相关的流水线互锁机制,都是标量处理器设计的基本方法。 当前的趋势是朝着超深度流水线的方向发展。流水线的深度已经从不到10发展到超过20.深度流水是获得高速始终频率的必要条件,这是提高处理器性能的一个非常有效的方法。有迹象表明。这种趋势还将持续下去。
资源详情
资源评论
资源推荐

目录
目录
目录.........................................................................................................................................................1
第一章 绪论..........................................................................................................................................2
1.1 现代 RISC 中的流水线技术...................................................................................................3
1.1.1 超流水线技术...............................................................................................................3
1.1.2 超标量技术...................................................................................................................3
1.1.3 流水技术在 Pentium 系列微处理器中的实现...........................................................4
第二章 流水线基础..............................................................................................................................7
2.1 流水线概念..............................................................................................................................7
2.1.1 指令重叠.......................................................................................................................8
2.1.2 流水线...........................................................................................................................8
2.1.3 流水线的特点...............................................................................................................9
2.1.4 流水线的分类.............................................................................................................10
2.2 流水线的主要性能................................................................................................................12
2.2.1 吞吐率.........................................................................................................................12
2.2.2 加速比和效率.............................................................................................................12
第三章 指令流水线设计....................................................................................................................15
3.1 流水线理想假设....................................................................................................................15
3.1.1 一致的运算分量........................................................................................................15
3.1.2 重复的运算.................................................................................................................16
3.1.3 独立的运算.................................................................................................................17
3.2 指令流水线............................................................................................................................18
3.2.1 指令流水线设计........................................................................................................18
3.2.2 指令集体系结构的影响............................................................................................19
3.2.3 流水线分级的考虑....................................................................................................20
3.3 流水线处理器设计................................................................................................................21
3.3.1 保持流水段均衡........................................................................................................21
3.3.2 统一指令类型.............................................................................................................22
3.3.3 减少流水线停顿........................................................................................................26
第四章 流水线中各种相关及其处理................................................................................................28
4.1 流水线中相关.........................................................................................................................28
4.2 资源相关.................................................................................................................................28
4.3 数据相关.................................................................................................................................29
4.3.1 指令相关.....................................................................................................................30
4.3.2 主存空间操作数相关................................................................................................30
4.3.3 通用寄存器组相关....................................................................................................31
4.4 控制相关................................................................................................................................32
4.4.1 猜测法.........................................................................................................................32
4.4.2 加快和提前形成条件码............................................................................................33
1

CPU 中指令流水线技术研究
4.4.3 采取转移延迟.............................................................................................................33
4.4.4 加快短循环程序的处理............................................................................................34
第五章 中断处理与流水线调度........................................................................................................37
5.1 中断处理................................................................................................................................37
5.2 流水线调度............................................................................................................................38
第六章 总结与展望............................................................................................................................42
致谢.......................................................................................................................................................45
参考文献...............................................................................................................................................46
第一章 绪论
流水线技术是提高系统吞吐率的一项强大的实现技术,并且不需要大量重复
设置硬件。20 世界 60 年代早期的一些高端机器中第一次采用了流水线技术。第
一个采用指令流水线的机器是 IBM7030(又称作 Stretch 计算机)。后来的
CDC 6600 同时采用了流水线和多功能部件。
2

目录
到了 20 世纪 80 年代,流水线技术成为 RISC 处理器设计方法中最基本的技
术之一。RISC 设计方法的大部分技术都直接或者间接以提高流水线性能为目标 。
从此以后,流水线技术也被有效地应用到 CISC 处理器的设计中。Intel i486 是
IA32 体系结构中的第一个流水线实现。Digital 的 VAX 和 Motorola 的 M68K 的
流水线版本在商业上也取得了成功。
流水线技术是当前指令集处理器设计中广泛采用的技术。在这里我们将重点
放在(标量)流水线处理器的设计。流水线处理器设计中的许多方法和技术,例
如用于检测和化解相关的流水线互锁机制,都是标量处理器设计的基本方法。
当前的趋势是朝着超深度流水线的方向发展。流水线的深度已经从不到 10 发展
到超过 20.深度流水是获得高速始终频率的必要条件,这是提高处理器性能的一
个非常有效的方法。有迹象表明。这种趋势还将持续下去。
1.1 现代 RISC 中的流水线技术
1.1.1 超流水线技术
超流水线(Super Pipeline)技术是 RISC 采用的一种并行处理技术。他通
过细化流水,增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个
浮点操作。其实质就是以时间换取空间。超流水机器的特征就是在所有的功能单
元都才用流水,并有更高的时钟频率和更深的流水深度。
1.1.2 超标量技术
超标量(Super Scalar)技术是 RISC 采用的有一种处理技术。它通过内装
多条流水线来同时执行多个处理。其实质就是以空间换取时间。流水线实现中的
问题及解决:
流水线实现的一个问题是使流水线连续不断地流动,即不出现流断,才能获
得高效率。断流的原因很多,除了编译生成的目标程序不能发挥流水结构的作用
3

CPU 中指令流水线技术研究
或者存储系统不能及时供应连续流动所需的指令和操作数外,主要还与出现了相
关、转移以及中断指令有关。解决局部性相关有两种方法:退后法和通路法;解
决全局性相关有三种方法:猜测转移分支、加快和提前形成条件码、加快短循环
程序处理。
1.1.3 流水技术在 Pentium 系列微处理器中的实现
流水线技术早在 Intel 的 X86 芯片中均得到了实现。而 Pentium 系列 CPU
产品更是一个高级的超标量处理器。它是建筑在两个通用的整型流水线和一个可
流水作业的浮点单元上的,这使处理器能够同时执行两条整型指令。一个对软件
透明的动态分支预测机制能够使分支的流水线阻塞达到最小化。奔腾处理器可以
在一个时钟周期内完成两条指令,一个流水线完成一条指令。第一个逻辑管道称
之为“U”管道,第二个称之为“V”管道。在任何一条给定的指令译码期间,它安排
的后面两条指令将被检查。并且,如果有可能,第一条指令被安排到“U”管道执
行,第二条指令被安排到“V”管道执行。如果不能,则第一条指令被安排到“U”管
道执行,“V”管道中不安排指令运行。指令在两个管道中运行与它们顺序执行所
产生的效果是完全一样的。当发生管道阻塞时,后继的指令无法通过被阻塞的指
令所在的任一管道中。
具有 MMX?技术的奔腾处理器为整型流水线增加了一个额外的处理阶段。指
令从代码的高速缓冲区中预取出来,被送入到“预取”(PF)阶段,并且在“提取”(F)
阶段中进行指令的语法分析。 另外, 全部的前缀译码都在 F 阶段中进行。 指令
在先进先出(FIFO)的指令缓冲区中将语法分析与指令译码分开, 这个缓冲区位于
F 阶段与译码 1(D1)阶段之间。FIFO 缓冲区的空间能够将被处理的指令上升到四
条指令。FIFO 缓冲区是透明的,当它为空时,不增加额外的迟延。在每个时钟周
期内,可将两条指令压到指令的 FIFO 缓冲区中(根据有效的代码字节,以及其它
因素,如前缀)。然后,再将成对的指令从 FIFO 缓冲区中弹出来,送到 D1 阶段
中。由于指令的平均执行效率为每个时钟周期内不超过两条指令,所以 FIFO 通
常是满的。只要 FIFO 是满的,就可以防止在指令提取和进行语法分析时产生的
阻塞。如果发生了这样的阻塞,FIFO 也可以使阻塞不在管道的执行阶段上发生。
4

目录
但如果 FIFO 空,由于流水线中无指令运行,则可能会导致一个执行阻塞。较长
的指令或前缀可能会在 FIFO 入口处产生阻塞。
超流水线(Super Pipeline)在本质上仍为一种流水线技术,但它做了以下的
改进:
1. 流水线条数从奔腾的两条增至三条,还有十一个独立的执行单元并行支持。
2. 在执行中采取了无序执行(out-of-order processing)技术。即当某条指令
需要一些数据而未能立即执行完毕时,它将被剔出流水线并等待数据,CPU
则马上执行下条指令,就好比在装配线上发现某件产品不太合格,而被淘汰 ,
等待返工一个道理。这样,可以防止一条指令不能执行而影响了整个流水线
的效率。
3. 在 P6 中将指令划分成了更细的阶段,从而使逻辑设计、工序等等更为简化,
提高了速度。在 486 芯片中,一条指令一般被划分为五个标准的部分,奔腾
亦是如此。而在 P6 中,由于采用了近似于 RISC 的技术,一条指令被划分成
了创纪录的十四个阶段。这极大地提高了流水线的速度。
P6 系列处理器使用动态执行结构。该结构通过硬件寄存器重命名和分支预
测的方法,将乱序执行和推测执行合成在一起。这些处理器有一个有序进入的流
水线,它将 Intel 386 的宏指令支解成简单的微操作(或 UOP)和一个可以处理这
些微操作的乱序的超标量处理器内核。这个乱序的处理器内核包含了几条流水线
连接了整型、跳转、浮点和内存执行单元。几种不同的执行单元可以集成在同一
条流水线上。例如:一个整型地址逻辑单元和浮点执行单元(加法器、乘法器和除
法器)同享一个流水线。数据高速缓冲区由一个专用的读取端口和其它的存储端口
交错而成。大多数简单操作(整型 ALU,浮点加法,甚至浮点乘法)可以按每时钟
周期完成一至两个操作的吞吐量进行流水作业。浮点除法不可以进入流水线,长
迟延操作可以和短迟延操作并行处理。P6 系列的流水线由三部分构成:有序组
织的前端(In-Order Issue Front-end)单元,乱序内核(Out-of-order Core)
单元和有序的退出(In-Order Retirement)单元。
Intel 新近推出的奔腾Ⅲ处理器使用了 P6 中的动态执行技术,包括多分枝预
测、数据流分析、投机执行。同时奔腾Ⅲ处理器具有一个流水线式的浮点运算单
5
剩余45页未读,继续阅读



















clyzlf
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论3