第五章 标量流水技术
在学这一章之前,我们先想一下"流水"是什么意思,我们看到过工厂的生产流水线,每一个工序都在工作,每一个工人都没有闲着,他们同时在工作,做着同一件事,流水线每隔一个拍子就出来一个成品。这样的生产效率是很高的。如果不是用流水线,而是从开始一道工序一道工序地往后传递直到做成一个成品再从第一道工序开始生产,那么,在前一道工序完成任务之前,后面工序就会在等待,每个时刻只有一个工序在工作。这样的效率是很低的,即使每一道工序的工作速度提高很多。
计算机的流水技术也就是应用了这样的技术,它从系统结构上考虑使计算机在运行时各个"工序"都不能闲着,每时刻都要在进行处理。这就是引入的并行处理能力。流水控制方式就是一种非常经济有效的方法。
一、控制流及其改变(领会)
编过程序的人都知道,算法中,常常需要程序的流程发生转移,比如从这条语句跳到另一条语句。控制流就是被处理的指令序列的执行顺序。当程序在执行过程中遇到以下一些情况下时,控制流就要发生改变:
1.转移指令。2.过程调用和返回。3.协同程序。4.中断和自陷。
控制流的改变就使得程序在执行时,要在存储器中不相邻的地址处读取指令。
二、标量流水工作原理(领会)
这里我们提一下标量。 标量是代数量的一种,它们构成一个域,通常是实数或复数。我们可以理解为单个的量。这是与向量相对的概念。而向量是通常由标量的一组有序集合表示的量。在我们这里,它是一种地址,比如一个数组在C语言中用a[10]表示,实际上它指示的是一个首地址a,长度为10.这10个数据的存储空间在存储器中就是一个向量。
在计算机中采用的重叠操作是指计算机中不同部件或同一部件内的各种操作在时间上存在重叠的部分。就像上面提到的各个工序的工人们在操作时间上存在重叠的部分。
指令的解释方式一般分为顺序、重叠、流水三种。
在这一节内容中。我们要掌握的就是重叠操作后指令执行时间的计算。以及采用先行控制技术后时间的计算。
先行控制技术:它的基本思想是使分析部件和执行部件能分别连续不断地分析和执行指令,为了保证分析和执行部件的连续工作,在系统中通常要增设指令缓冲栈、先行操作栈、数据缓冲栈等,所以这种技术实际上是预处理技术和缓冲技术的结合,即通过对指令流的先行控制,使指令分析器和执行部件能尽量地连续工作。这里的缓冲部件一般采用先进先出的工作方式。请理解教材图5.6.各个缓冲部件的深度之间存在如下关系:
D指缓≥D操作数≥D读栈≥写栈
标量流水工作原理(领会):根据上面的重叠技术和先行控制技术。进一步发展应用就是标量流水技术。如果把一条指令的解释过程进一步细分,如把分析、执行两个过程分成取指、译码、执行、访存、写回寄存器五个子过程,并用五个子部件分别处理每个子过程。就像工厂中的流水线,重叠的操作最后可以使用五个子部件同时对五条指令进行操作。相应的我们要能理解流水时空图。
在流水技术中有如下一些特点:对照工厂的装配流水线很容易理解:(领会)
(1)一条流水线由多个流水段组成(多段)
(2)每个流水段有专门的功能部件对指令进行某种加工(专件)
(3)各流水段所需时间是一样的(同时)
(4)流水线工作阶段可分为建立、满载和排空三个阶段(在阶段)
(5)在理想情况下,当流水线充满后,每隔Δt时间将会有一个结果流出流水线。
标量流水的分类(识记)
按处理级别分类:操作部件级、指令级、处理机级(这三个级别是从细到粗排列的)
按功能分类:单功能流水线和多功能流水线。大多数流水计算机采用单功能流水线。
按工作方式分类:静态流水线和动态流水线两种。这里要注意的是静态流水线可以是单功能的,也可以是多功能的。而动态流水线必是多功能的。单功能流水线必是静态的。
按连接方式分类:线性流水线与非线性流水线。
流水线的主要性能及其分析(简单应用)
在这一节中,要对"吞吐率、效率、加速比"这三个衡量流水线性
[1]
本文标签:广东自考 工学类 2007年度考试计算机系统结构第5章精讲
转载请注明:文章转载自(http://www.gdzkw.net)
热点关注: