欢迎来到天天文库
浏览记录
ID:58657818
大小:2.77 MB
页数:217页
时间:2020-10-05
《计算机体系结构-第4章_流水线技术ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章流水线技术4.1重叠执行和先行控制4.2流水线的基本概念4.3流水线的性能指标4.4流水线的相关与冲突4.5流水线的实现4.6向量处理机将一条指令的执行过程分为三个阶段4.1重叠执行和先行控制4.1.1重叠执行一条指令的执行过程4.1重叠执行和先行控制取指令按照指令计数器PC的内容访问主存,取出一条指令送到指令寄存器。指令分析对指令的操作码进行译码,按照给定的寻址方式和地址字段形成操作数的地址,并用这个地址读取操作数。指令执行按照操作码的要求,完成指令规定的功能。在指令的执行过程中还要更新PC值,为
2、读取下一条指令做好准备。4.1重叠执行和先行控制三种执行方式顺序执行方式一次重叠执行方式二次重叠执行方式4.1重叠执行和先行控制执行n条指令所花的时间顺序执行方式指令的执行过程4.1重叠执行和先行控制如果取指令、指令分析和指令执行的时间相等,都是t,则T=3nt优点控制简单,节省设备。主要缺点处理机执行指令的速度慢功能部件的利用率很低4.1重叠执行和先行控制一次重叠执行方式指令的执行过程执行第k条指令与取第k+l条指令同时进行。(一种最简单的重叠方式)4.1重叠执行和先行控制如果执行一条指令的3个阶段的时
3、间相等,都是t,则执行n条指令所花的时间为T=(1+2n)t优点程序的执行时间减少了近1/3。功能部件的利用率明显提高。缺点需要增加一些硬件,控制过程变复杂了。4.1重叠执行和先行控制二次重叠执行方式指令的执行过程取第k+l条指令提前到与分析第k条指令同时进行,分析第k+l条指令与执行第k条指令同时进行。4.1重叠执行和先行控制如果执行一条指令的3个阶段的时间相等,都是t,则执行n条指令所花的时间为T=(2+n)t优点与顺序执行方式相比,执行时间缩短了近2/3。部件的利用率有了进一步的提高。缺点需要增加更
4、多的硬件。需要设置独立的取指令部件、指令分析部件和指令执行部件。4.1重叠执行和先行控制访问主存的冲突问题4种解决方法设置两个独立编址的存储器:指令存储器(存放指令)、数据存储器(存放数据)指令和数据仍然混合存放在同一个主存中,但设置两个Cache:指令Cache、数据Cache程序空间和数据空间相互独立的系统结构被称为哈佛结构。指令和数据仍然混合存放在同一个主存中,但主存采用多体交叉结构。(有一定的局限性)4.1重叠执行和先行控制在主存和指令分析部件之间增设指令缓冲站(又被称为先行指令缓冲站)主存不是满
5、负荷工作的,插空从主存中预先把后面将要执行的指令取出来,存放到指令缓冲站中。在“取指令”阶段从指令缓冲站读取指令(如果指令缓冲站不为空),而不用去访问主存。4.1重叠执行和先行控制先行指令缓冲站先行指令缓冲站的组成4.1重叠执行和先行控制指令缓冲存储区和相应的控制逻辑按队列方式工作。只要指令缓冲站不满,它就自动地向主存控制器发取指令请求,不断地预取指令。指令分析部件每分析完一条指令,就自动向指令缓冲站发出取下一条指令的请求。指令取出之后就把指令缓冲站中的该指令作废。指令缓冲站中存放的指令的条数是动态变化的
6、。两个程序计数器4.1重叠执行和先行控制先行程序计数器PC1:用于从主存预取指令;现行程序计数器PC:用来记录指令分析部件当前正在分析的指令的地址。先行控制方式中的一次重叠执行若取指令阶段的时间很短,可以把这个操作合并到分析指令中。上述的二次重叠就演变成了一次重叠把一条指令的执行过程分为分析和执行两个阶段;让前一条指令的执行与后一条指令的分析重叠进行。4.1重叠执行和先行控制如果指令分析和指令执行所需要的时间都是t,则采用这种方式连续执行n条指令所需要的时间为:T=(1+n)t控制方式比较简单,得到了广泛
7、应用。4.1重叠执行和先行控制当指令分析和指令执行所需要的时间不相等时,其执行过程为:指令分析部件和指令执行部件存在相互等待的时候,会出现部件空闲的情况。4.1重叠执行和先行控制先行控制技术:缓冲技术和预处理技术的结合缓冲技术:在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。预处理技术:预取指令、对指令进行加工以及预取操作数等。采用先行控制方式的处理机结构4.1.2先行控制4.1重叠执行和先行控制4.1重叠执行和先行控制设置了4个缓冲站(平滑主存、指令分析部件、运算器三者之间的工作)先行
8、指令缓冲站(前面已讲述)先行操作站先行读数站后行写数站共同特点:按先进先出的方式工作,而且都是由一组若干个能快速访问的存储单元和相关的控制逻辑组成。4.1重叠执行和先行控制先行操作站在指令分析部件和运算器之间提供缓冲先行:因为其中的指令对于运算器正在执行的指令来说是后续的,但却被先行取出并预处理。指令分析部件从先行指令缓冲站取指令,并进行预处理,加工成统一格式的RR型操作命令,然后送入先行操作站。对于不同指令做不同的处理。4.
此文档下载收益归作者所有