流水技术与流水处理机.ppt
《流水技术与流水处理机.ppt》由会员分享,可在线阅读,更多相关《流水技术与流水处理机.ppt(141页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、武汉理工大学计算机系统结构教程武汉理工大学武汉理工大学计算机系统结构教程目目 录录第第3章章 流水技术与流水处理机流水技术与流水处理机3.1 指令重叠与先行控制3.2 流水线的分类与性能3.3 非线性流水线的调度与性能计算3.4 流水线的相关问题与相关处理3.5 多发射处理机及其性能3.6 向量流水处理机及其性能武汉理工大学计算机系统结构教程第3章 流水技术与流水处理机武汉理工大学计算机系统结构教程3.1 指令重叠与先行控制指令重叠与先行控制 提高处理机性能的一个途径是缩短指令序列执行提高处理机性能的一个途径是缩短指令序列执行的时间,提高指令平均执行速度。的时间,提高指令平均执行速度。提高指令
2、执行速度有以下3种途径:提高处理机的工作主频。目前,处理机的工作主频已提高处理机的工作主频。目前,处理机的工作主频已达达GHzGHz的水平以上,以提高主频来提高指令执行速度的趋的水平以上,以提高主频来提高指令执行速度的趋势已经明显减缓。势已经明显减缓。采用采用RISCRISC技术减少指令执行的平均周期数。技术减少指令执行的平均周期数。采用指令级并行技术,使多条指令并行执行。采用指令级并行技术,使多条指令并行执行。武汉理工大学计算机系统结构教程3.1 指令重叠与先行控制指令重叠与先行控制3.1.1 指令的顺序执行方式与重叠执行方式指令的顺序执行方式与重叠执行方式 指令顺序执行方式指令顺序执行方式
3、:是指指令之间顺序串行,且指令内的各是指指令之间顺序串行,且指令内的各是指指令之间顺序串行,且指令内的各是指指令之间顺序串行,且指令内的各个阶段之间也是顺序串行的方式。个阶段之间也是顺序串行的方式。个阶段之间也是顺序串行的方式。个阶段之间也是顺序串行的方式。指令重叠执行方式指令重叠执行方式:如果处理机在结构上能使执行指令各如果处理机在结构上能使执行指令各如果处理机在结构上能使执行指令各如果处理机在结构上能使执行指令各阶段功能的部件或段(阶段功能的部件或段(阶段功能的部件或段(阶段功能的部件或段(segmentsegment)相互独立,)相互独立,)相互独立,)相互独立,而且各段完成相应功能的所
4、需时间尽可能相而且各段完成相应功能的所需时间尽可能相而且各段完成相应功能的所需时间尽可能相而且各段完成相应功能的所需时间尽可能相等,那么,就可以把一个指令序列中的多条等,那么,就可以把一个指令序列中的多条等,那么,就可以把一个指令序列中的多条等,那么,就可以把一个指令序列中的多条指令在时间上重叠起来执行。指令在时间上重叠起来执行。指令在时间上重叠起来执行。指令在时间上重叠起来执行。武汉理工大学计算机系统结构教程3.1.2 先行控制技术先行控制技术 为使指令序列能够重叠执行,处理机在结构为使指令序列能够重叠执行,处理机在结构上必须解决以下两个问题。上必须解决以下两个问题。首先,需要有独立的取指令
5、部件、指令分析部首先,需要有独立的取指令部件、指令分析部件和指令执行部件,才能实现取指令、分析和执行件和指令执行部件,才能实现取指令、分析和执行的同时进行。的同时进行。其次,要解决访问主存的冲突问题。其次,要解决访问主存的冲突问题。通常,有以下通常,有以下3种方法来解决这个问题。种方法来解决这个问题。武汉理工大学计算机系统结构教程1.采用两个独立编址的存储器组成主存采用两个独立编址的存储器组成主存 把主存分成两个独立编址的存储器,把主存分成两个独立编址的存储器,一个是专门存放指令的指令存储器,简称指一个是专门存放指令的指令存储器,简称指存;另一个是专门存放数据的数据存储器,存;另一个是专门存放
6、数据的数据存储器,简称数存。两个存储器可同时独立访问,这简称数存。两个存储器可同时独立访问,这就解决了取指令和读操作数的冲突。就解决了取指令和读操作数的冲突。武汉理工大学计算机系统结构教程2.主存采用并行存储器主存采用并行存储器 主存采用多体低位交叉编址的并行存储器,从而可使主存采用多体低位交叉编址的并行存储器,从而可使主存采用多体低位交叉编址的并行存储器,从而可使主存采用多体低位交叉编址的并行存储器,从而可使得在一个存储周期中访问多个存储单元。得在一个存储周期中访问多个存储单元。得在一个存储周期中访问多个存储单元。得在一个存储周期中访问多个存储单元。3.采用先行控制技术采用先行控制技术先行控
7、制技术的关键是缓冲技术和预处理技术。缓冲技先行控制技术的关键是缓冲技术和预处理技术。缓冲技先行控制技术的关键是缓冲技术和预处理技术。缓冲技先行控制技术的关键是缓冲技术和预处理技术。缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作速度的差异。预处理技术是把进入运算器的指平滑它们的工作速度的差异。预处理技术是把进入运算器的指平滑它们的工作速度的差异。预处理技术是把进入运算器的指平滑它们的工作速度的差异。预处理技术
8、是把进入运算器的指令都处理成寄存器令都处理成寄存器令都处理成寄存器令都处理成寄存器寄存器型(寄存器型(寄存器型(寄存器型(RRRR型)指令,它与缓冲技术型)指令,它与缓冲技术型)指令,它与缓冲技术型)指令,它与缓冲技术相结合,为进入运算器的指令准备好所需要的全部操作数。相结合,为进入运算器的指令准备好所需要的全部操作数。相结合,为进入运算器的指令准备好所需要的全部操作数。相结合,为进入运算器的指令准备好所需要的全部操作数。武汉理工大学计算机系统结构教程采用先行控制技术的处理机结构采用先行控制技术的处理机结构 武汉理工大学计算机系统结构教程3.2 流水线的分类与性能流水线的分类与性能 流水处理方
9、式流水处理方式 是把一个需要反复进行的过程分离为若干是把一个需要反复进行的过程分离为若干是把一个需要反复进行的过程分离为若干是把一个需要反复进行的过程分离为若干独立的子过程,每个子过程与其他子过程同时处独立的子过程,每个子过程与其他子过程同时处独立的子过程,每个子过程与其他子过程同时处独立的子过程,每个子过程与其他子过程同时处理不同的对象。理不同的对象。理不同的对象。理不同的对象。流水处理方式是利用时间重叠的并行技术流水处理方式是利用时间重叠的并行技术流水处理方式是利用时间重叠的并行技术流水处理方式是利用时间重叠的并行技术来开发计算机系统的并行性。来开发计算机系统的并行性。来开发计算机系统的并
10、行性。来开发计算机系统的并行性。武汉理工大学计算机系统结构教程3.2.1 流水线的分类与时空图流水线的分类与时空图1.流水线的分类流水线的分类(1 1)部部部部件件件件级级级级流流流流水水水水线线线线、处处处处理理理理机机机机级级级级流流流流水水水水线线线线和和和和系系系系统统统统级流水线级流水线级流水线级流水线部件级流水线部件级流水线:是指由部件内各子部件组成的是指由部件内各子部件组成的是指由部件内各子部件组成的是指由部件内各子部件组成的流水线。流水线。流水线。流水线。处理机级流水线处理机级流水线:是指处理机内的各部件之间是指处理机内的各部件之间是指处理机内的各部件之间是指处理机内的各部件之
11、间的流水线。的流水线。的流水线。的流水线。系统级流水线系统级流水线:是指处理机之间的流水线,它又是指处理机之间的流水线,它又是指处理机之间的流水线,它又是指处理机之间的流水线,它又称为宏流水线。称为宏流水线。称为宏流水线。称为宏流水线。武汉理工大学计算机系统结构教程(2)线性流水线与非线性流水线)线性流水线与非线性流水线 线性流水线线性流水线:是指流水线的各个段之间串行连接,是指流水线的各个段之间串行连接,是指流水线的各个段之间串行连接,是指流水线的各个段之间串行连接,处理对象顺序流经流水线各段最多一次处理对象顺序流经流水线各段最多一次处理对象顺序流经流水线各段最多一次处理对象顺序流经流水线各
12、段最多一次的流水线。的流水线。的流水线。的流水线。非线性流水线非线性流水线:是指流水线的各段之间除有串行连是指流水线的各段之间除有串行连是指流水线的各段之间除有串行连是指流水线的各段之间除有串行连接之外,还有反馈回路,从而使处理接之外,还有反馈回路,从而使处理接之外,还有反馈回路,从而使处理接之外,还有反馈回路,从而使处理对象流经某个段或某几个段多次的流对象流经某个段或某几个段多次的流对象流经某个段或某几个段多次的流对象流经某个段或某几个段多次的流水线。水线。水线。水线。武汉理工大学计算机系统结构教程(3)单功能流水线与多功能流水线)单功能流水线与多功能流水线单功能流水线单功能流水线:是指流水
13、线的各段之间的连接固定是指流水线的各段之间的连接固定是指流水线的各段之间的连接固定是指流水线的各段之间的连接固定不变,因此只能完成一种固定功能的不变,因此只能完成一种固定功能的不变,因此只能完成一种固定功能的不变,因此只能完成一种固定功能的流水线。流水线。流水线。流水线。多功能流水线多功能流水线:是指流水线的各段之间可以实现不是指流水线的各段之间可以实现不是指流水线的各段之间可以实现不是指流水线的各段之间可以实现不同的连接,流水线能通过不同的连接同的连接,流水线能通过不同的连接同的连接,流水线能通过不同的连接同的连接,流水线能通过不同的连接实现不同的处理功能。实现不同的处理功能。实现不同的处理
14、功能。实现不同的处理功能。武汉理工大学计算机系统结构教程(4)静态流水线与动态流水线)静态流水线与动态流水线 静态流水线静态流水线:是指在同一段时间内,多功能流水线只是指在同一段时间内,多功能流水线只是指在同一段时间内,多功能流水线只是指在同一段时间内,多功能流水线只能实现一种连接,从而只能执行一种功能,能实现一种连接,从而只能执行一种功能,能实现一种连接,从而只能执行一种功能,能实现一种连接,从而只能执行一种功能,且只有在按照这种连接已流入的所有处理且只有在按照这种连接已流入的所有处理且只有在按照这种连接已流入的所有处理且只有在按照这种连接已流入的所有处理对象都流出流水线后,才能重新连接以实
15、对象都流出流水线后,才能重新连接以实对象都流出流水线后,才能重新连接以实对象都流出流水线后,才能重新连接以实现另一种功能。现另一种功能。现另一种功能。现另一种功能。动态流水线动态流水线:是指在同一段时间内,多功能流水线的是指在同一段时间内,多功能流水线的是指在同一段时间内,多功能流水线的是指在同一段时间内,多功能流水线的各段可以实现多种连接,从而同时执行多各段可以实现多种连接,从而同时执行多各段可以实现多种连接,从而同时执行多各段可以实现多种连接,从而同时执行多种功能。当然,流水线中的任何一个功能种功能。当然,流水线中的任何一个功能种功能。当然,流水线中的任何一个功能种功能。当然,流水线中的任
16、何一个功能段只能参加到一种连接中。段只能参加到一种连接中。段只能参加到一种连接中。段只能参加到一种连接中。武汉理工大学计算机系统结构教程(5)标量流水处理机与向量流水处理机)标量流水处理机与向量流水处理机 标量流水处理机标量流水处理机:只有流水线,没有向量数据表示只有流水线,没有向量数据表示只有流水线,没有向量数据表示只有流水线,没有向量数据表示和相应的向量指令,处理向量时,采用和相应的向量指令,处理向量时,采用和相应的向量指令,处理向量时,采用和相应的向量指令,处理向量时,采用流水执行方式对向量各元素(标量数据)流水执行方式对向量各元素(标量数据)流水执行方式对向量各元素(标量数据)流水执行
17、方式对向量各元素(标量数据)按标量指令的要求进行处理。按标量指令的要求进行处理。按标量指令的要求进行处理。按标量指令的要求进行处理。向量流水处理机向量流水处理机:是向量数据表示与向量指令流水是向量数据表示与向量指令流水是向量数据表示与向量指令流水是向量数据表示与向量指令流水线的结合,一个向量指令序列可以在向线的结合,一个向量指令序列可以在向线的结合,一个向量指令序列可以在向线的结合,一个向量指令序列可以在向量流水处理机上流水地执行。量流水处理机上流水地执行。量流水处理机上流水地执行。量流水处理机上流水地执行。武汉理工大学计算机系统结构教程2.时空图时空图时空图时空图:是描述流水线工作过程的一种
18、较好的工具。是描述流水线工作过程的一种较好的工具。是描述流水线工作过程的一种较好的工具。是描述流水线工作过程的一种较好的工具。时空图用横轴表示时间,当流水线中各功能部时空图用横轴表示时间,当流水线中各功能部时空图用横轴表示时间,当流水线中各功能部时空图用横轴表示时间,当流水线中各功能部件的执行时间都相等时,横轴被分割成相等长件的执行时间都相等时,横轴被分割成相等长件的执行时间都相等时,横轴被分割成相等长件的执行时间都相等时,横轴被分割成相等长度的时间段。时空图的纵轴表示流水线的各功度的时间段。时空图的纵轴表示流水线的各功度的时间段。时空图的纵轴表示流水线的各功度的时间段。时空图的纵轴表示流水线
19、的各功能部件,每个功能部件通常称为一个功能段。能部件,每个功能部件通常称为一个功能段。能部件,每个功能部件通常称为一个功能段。能部件,每个功能部件通常称为一个功能段。武汉理工大学计算机系统结构教程 浮点加法器流水线浮点加法器流水线:武汉理工大学计算机系统结构教程浮点加法器流水线的时空图浮点加法器流水线的时空图:空间规格化尾数加对阶求阶差求求阶阶差差5 5求求阶阶差差4 4求求阶阶差差3 3求求阶阶差差2 2求求阶阶差差1 1对阶对阶5 5对阶对阶4 4对阶对阶3 3对阶对阶2 2对阶对阶1 1尾数加尾数加5 5尾数加尾数加4 4尾数加尾数加3 3尾数加尾数加2 2尾数加尾数加1 1规规格化格化
20、5 5规规格化格化4 4规规格化格化3 3规规格化格化2 2规规格化格化1 10 t1 t2 t3 t4 t5 t6 t7 t8 时间 武汉理工大学计算机系统结构教程3.2.2 线性流水线的性能计算线性流水线的性能计算1.吞吐率吞吐率 流水线的吞吐率是指流水线单位时间输出结果流水线的吞吐率是指流水线单位时间输出结果流水线的吞吐率是指流水线单位时间输出结果流水线的吞吐率是指流水线单位时间输出结果的数量。的数量。的数量。的数量。(1)各段执行时间相等的吞吐率)各段执行时间相等的吞吐率若一条若一条若一条若一条k k段线性流水线,各段执行时间相等,段线性流水线,各段执行时间相等,段线性流水线,各段执行
21、时间相等,段线性流水线,各段执行时间相等,均为均为均为均为 ,当有,当有,当有,当有n n个处理对象连续流入流水线时,个处理对象连续流入流水线时,个处理对象连续流入流水线时,个处理对象连续流入流水线时,流水线的工作过程可用时空图表示为:流水线的工作过程可用时空图表示为:流水线的工作过程可用时空图表示为:流水线的工作过程可用时空图表示为:武汉理工大学计算机系统结构教程n nn n-1 13 32 21 1S S1 1n nn n-1 13 32 21 1S S2 2n nn n-1 13 32 21 1S S3 3n nn n-1 13 32 21 1S S4 4时间空间 各段执行时间均相等的流
22、水线时空图:各段执行时间均相等的流水线时空图:武汉理工大学计算机系统结构教程流水线的实际吞吐率为:流水线的实际吞吐率为:最大吞吐率为:最大吞吐率为:武汉理工大学计算机系统结构教程最大吞吐率与实际吞叶率的关系是:最大吞吐率与实际吞叶率的关系是:只有当只有当只有当只有当 n nk k 时,即连续输入流水线的处理对时,即连续输入流水线的处理对时,即连续输入流水线的处理对时,即连续输入流水线的处理对象数象数象数象数 n n 远大于流水线的段数远大于流水线的段数远大于流水线的段数远大于流水线的段数 k k 时,实际吞吐率时,实际吞吐率时,实际吞吐率时,实际吞吐率 TP TP 才接近于最大吞吐率才接近于最
23、大吞吐率才接近于最大吞吐率才接近于最大吞吐率 TPTPmaxmax。武汉理工大学计算机系统结构教程(2)各段执行时间不等的吞吐率)各段执行时间不等的吞吐率 若一条若一条若一条若一条 k k 段线性流水线,各段执行时间段线性流水线,各段执行时间段线性流水线,各段执行时间段线性流水线,各段执行时间 ,不相等,那么,除第一个对象外,其余不相等,那么,除第一个对象外,其余不相等,那么,除第一个对象外,其余不相等,那么,除第一个对象外,其余 (n n-1)-1)个对象必须按个对象必须按个对象必须按个对象必须按瓶颈时间间隔瓶颈时间间隔瓶颈时间间隔瓶颈时间间隔max(,)max(,)连续流入流水线。连续流入
24、流水线。连续流入流水线。连续流入流水线。武汉理工大学计算机系统结构教程 消消除除流流水水线线的的瓶瓶颈颈段段,以以提提高高流流水水线线吞吞吐吐率率的的方方法有两种法有两种:分离瓶颈段分离瓶颈段:把流水线中的瓶颈功能段分离成为几个独立把流水线中的瓶颈功能段分离成为几个独立把流水线中的瓶颈功能段分离成为几个独立把流水线中的瓶颈功能段分离成为几个独立的子功能段,消除各段执行时间的的子功能段,消除各段执行时间的的子功能段,消除各段执行时间的的子功能段,消除各段执行时间的“瓶颈瓶颈瓶颈瓶颈”。重复设置瓶颈段重复设置瓶颈段:如果瓶颈功能段由于实现技术等方面的原因难如果瓶颈功能段由于实现技术等方面的原因难如
25、果瓶颈功能段由于实现技术等方面的原因难如果瓶颈功能段由于实现技术等方面的原因难以分离成几个独立的子功能段,那么,可以采用以分离成几个独立的子功能段,那么,可以采用以分离成几个独立的子功能段,那么,可以采用以分离成几个独立的子功能段,那么,可以采用重复设置瓶颈段,让多个瓶颈段并行工作来消除重复设置瓶颈段,让多个瓶颈段并行工作来消除重复设置瓶颈段,让多个瓶颈段并行工作来消除重复设置瓶颈段,让多个瓶颈段并行工作来消除瓶颈段原执行时间的瓶颈段原执行时间的瓶颈段原执行时间的瓶颈段原执行时间的“瓶颈瓶颈瓶颈瓶颈”。这两种方法只要完全消除了这两种方法只要完全消除了“瓶颈瓶颈”,提高,提高吞吐率的程度是相同的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流水 技术 处理机
限制150内