计算机组成原理第五章-第6讲-流水CPU

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

流水CPU5.6流水CPU人们追求计算机有很高的处理速率促使计算机性能提高的因素除了提高器件性能外还有哪些方式呢??回顾存储器性能提升方法解决途径硬件工艺上的提升并行工作•双端口访问和多模块交叉•空间并行和时间并行采用分层的存储系统•Cache(第6节)•虚拟存储系统(第9章)5.6流水CPU5.6.1并行处理技术5.6.2流水CPU的结构5.6.3流水线中的主要问题5.6.4PentiumCPU5.6.1并行处理技术并行性(Parrelism)概念问题中具有可以同时进行运算或操作的特性例:在相同时延的条件下,用n位运算器进行n位并行运算速度几乎是一位运算器进行n位串行运算的n倍(狭义)广义含义只要在同一时刻(同时性)或在同一时间间隔内(并发性)完成两种或两种以上性质相同或不同的工作,他们在时间上相互重叠,都体现了并行性。5.6.1并行处理技术三种形式时间并行(重叠):让多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度,实现方式就是采用流水处理部件空间并行(资源重复):以数量取胜•它能真正的体现同时性•LSI和VLSI为其提供了技术保证时间+空间并行•Pentium中采用了超标量流水技术5.6.2流水CPU的结构流水计算机的系统组成存储器体系:主存采用多体交叉存储器;Cache流水方式CPU:指令部件、指令队列、执行部件•指令流水线•指令队列:FIFO•执行部件:可以由多个采用流水线方式构成的算术逻辑部件构成,可以将定点运算部件和浮点运算部件分开。第一个流水:多体交叉存储第二个流水:CPU流水第三个流水:运算器流水5.6.2流水CPU的结构流水线CPU时空图IF(InstructionFetch取指)ID(InstructionDecode指令译码)EX(Execution执行)WB(WriteBack写回)5.6.2流水CPU的结构非流水线时空图5.6.2流水CPU的结构标量流水线时空图5.6.2流水CPU的结构超标量流水线时空图5.6.2流水CPU的结构超标量流水具有两条以上的指令流水线上图中流水线满载时,每一个时钟周期可以执行2条指令采用时间和空间并行技术PS.此时钟周期不同于彼“时钟周期”一个是流水理论中的概念一个是指令周期、CPU周期中的概念5.6.2流水CPU的结构流水线(Pipelining)的分类按种类分为•指令流水线:指令步骤并行•算术流水线:运算步骤并行•存储流水线:多体交叉并行访存•处理机流水线(宏流水线):处理机级联5.6.3流水线中的主要问题流水瓶颈问题(流水线中有速度慢的段)再分成几个段用资源重复的方法也可以解决断流问题因为出现了相关冲突5.6.3流水线中的主要问题1.资源相关:多条指令进入流水线后在同一时钟周期内争用同一功能部件。解决办法:后边指令拖一拍再推进;或增设一个存储部件,指令数据分存。取指译码执行访存写回5.6.3流水线中的主要问题2.数据相关,看例子例:两条指令发生数据相关冲突RAW(ReadAfterWrite)写后读ADDR1,R2,R3R2+R3--R1SUBR4,R1,R5R1-R5--R4ANDR6,R1,R7R1^R7--R6IDIDEXEXWB5.6.3流水线中的主要问题数据相关RAW(ReadAfterWrite)写后读•后面指令用到前面指令所写的数据WAR(WriteAfterRead)读后写•后面指令覆盖前面指令所读的单元WAW(WriteAfterWrite)写后写•两条指令写同一个单元解决办法:可以推后后继指令对相关单元的读操作设置相关的直接通路(Forwarding)5.6.3流水线中的主要问题3.控制相关引起原因:转移指令•当前指令有跳转,但流水已经开启后续指令处理过程。解决办法1:延迟转移法,让跳转的指令接在最后流水入口解决方法2:转移预测法,用硬件预测将来的行为,提前让转移指令进流水。【例4】流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。1)I1ADDR1,R2,R3;(R2)+(R3)-R1I2SUBR4,R1,R5;(R1)-(R5)-R42)I3STOM(x),R3;(R3)-M(x)M(x)是存储器单元I4ADDR3,R4,R5;(R4)+(R5)-R33)I5MULR3,R1,R2;(R1)×(R2)-R3I6ADDR3,R4,R5;(R4)+(R5)-R3写后读读后写写后写解:第1)组指令中,I1指令运算结果应先写入R1,然后在I2指令中读出R1内容。由于I2指令进入流水线,变成I2指令在I1指令写入R1前就读出R1内容,发生RAW相关。第2)组指令中,I3指令应先读出R3内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入流水线,变成I4指令在I3指令读出R3内容前就写入R3,发生WAR相关。第3)组指令中,如果I6指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令I6在指令I5写入R3前就写入R3,导致R3的内容错误,发生WAW相关。5.6.4PentiumCPUPentiumCPU(第一代)1989年初0.8um工艺,310万晶体管有60M和66MHz外频两种版本5V电压,功耗20W超标量流水线结构•486有一条流水线•Pentium有U和V两条指令流水线U流水线可以执行所有的整数和浮点指令V流水线可以执行简单的整数和FXCH浮点指令双重分离式Cache,减少了等待和搬移数据时间32位CPU,外部数据总线宽度为64位,外部地址总线宽度为36位5.6.4PentiumCPU非固定长度指令格式,9种寻址方式,191条指令,兼具有RISC和CISC特性,不过我们还是将其看成CISCSL电源管理技术提供了更加灵活的存储器寻址结构,可以支持传统的4k大小的页面,也可以支持4M大小的页面动态转移预测技术Pentium结构图•MESI(ModifiedExclusionShareInvalid)•BTB(BranchTargetBuffer)•TLB(TranslationLookasideBuffer)

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功