第5章 华东理工大学计算机系统结构 计141阿金



《第5章 华东理工大学计算机系统结构 计141阿金》由会员分享,可在线阅读,更多相关《第5章 华东理工大学计算机系统结构 计141阿金(150页珍藏版)》请在文档大全上搜索。
1、第第5章章 标量处理机标量处理机5.1 先行控制技术先行控制技术5.2 流水线技术流水线技术5.3 相关性分析技术相关性分析技术5.4 超标量处理机超标量处理机5.5 超流水线处理机超流水线处理机5.6 超标量超流水线处理机超标量超流水线处理机5.1 5.1 先行控制技术先行控制技术5.1.1 指令的重叠执行方式指令的重叠执行方式5.1.2 先行控制方式的原理先行控制方式的原理5.1.3 处理机结构处理机结构5.1.4 指令执行序列指令执行序列5.1.5 先行缓冲栈先行缓冲栈5.1.6 缓冲深度的设计方法缓冲深度的设计方法5.1.1 5.1.1 指令的重叠执行方式指令的重叠执行方式1.1.顺序
2、执行方式顺序执行方式执行执行n n条指令所用的时间为:条指令所用的时间为: 如果每段时间都为t,则执行n条指令所用的时间为:T3 n t3 n t主要优点:主要优点:控制简单,节省设备控制简单,节省设备主要缺点:主要缺点:速度慢,功能部件的利用率低速度慢,功能部件的利用率低Ttttiiiin(取指令分析执行)1 取取指指令令k k 分分析析k k 执执行行k k 取取指指令令k k+ +1 1 分分析析k k+ +1 1 执执行行k k+ +1 1 2.2.一次重叠执行方式一次重叠执行方式如果两个过程的时间相等,则执行n条指令的时间为:T(1+2n)t1+2n)t主要优点:主要优点: 指令的执
3、行时间缩短,指令的执行时间缩短, 功能部件的利用率明显提高。功能部件的利用率明显提高。主要缺点:主要缺点: 需要增加一些硬件,需要增加一些硬件, 控制过程稍复杂。控制过程稍复杂。取指令取指令 k k分析分析 k k执行执行 k k取取指指令令 k k+ +1 1分析分析 k+1k+1执行执行 k+1k+1取指令取指令k+2k+2分析分析 k+2k+2执行执行 k+2k+23.3.二次重叠执行方式二次重叠执行方式如果三个过程的时间相等,执行n条指令的时间为:T(2 2n n)t t在理想情况下,处理机中同时有三条指令在执行。处理机的结构要作比较大的改变,需要采用先处理机的结构要作比较大的改变,需
4、要采用先行控制技术。行控制技术。 取取指指令令k k分分析析k k执执行行k k取取指指令令k k+ +1 1分分析析k k+ +1 1执执行行k k+ +1 1取取指指令令k k+ +2 2分分析析k k+ +2 2执执行行k k+ +2 2二二次次重重叠叠执执行行方方式式5.1.2 5.1.2 先行控制方式的原理先行控制方式的原理1.1.采用二次重叠执行方式必须解决两个问题:采用二次重叠执行方式必须解决两个问题:(1)(1)有独立的取指令部件、指令分析部件和指有独立的取指令部件、指令分析部件和指令执行部件令执行部件 把一个集中的指令控制器,分解成三个独立的控制器: 存储控制器、指令控制器、
5、运算控制器存储控制器、指令控制器、运算控制器(2)(2)要解决访问主存储器的冲突问题要解决访问主存储器的冲突问题 取指令、分析指令、执行指令都可能要访问存储器2.2.解决访存冲突的方法:解决访存冲突的方法:(1)(1)采用低位交叉存取方式采用低位交叉存取方式: 这种方法不能根本解决冲突问题。指令、读操作数、写结果。(2)(2)两个独立的存储器两个独立的存储器:独立的指令存储器和独立的指令存储器和数据存储器。数据存储器。如果再规定,执行指令所需要的操作数和执行结果只写到通用寄存器,则取指令、分析指令和执行指令就可以同时进行。在许多高性能处理机中,有独立的指令Cache和数据Cache。这种结构被
6、称为哈佛结构。(3)(3)采用先行控制技术采用先行控制技术 采用先行控制技术的关键是缓冲技术和预处采用先行控制技术的关键是缓冲技术和预处理技术。理技术。缓冲技术通常用在工作速度不固定的两个功能部件之间。设置缓冲栈的目的是用来以平滑功能部件之间的工作速度。在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度。先先行行指指令令缓缓冲冲栈栈指指令令分分析析器器主主存存存存储储先先行行操操作作栈栈通通储储控控先先行行读读数数栈栈用用器器制制运运算算控控制制器器寄寄器器存存后后行行写写数数栈栈运运算算器器器器5.1.3 5.1.3 处理机结构处理机结构1.1.三个独
7、立的控制器:三个独立的控制器:存储控制器、指令控制器、运算控制器。存储控制器、指令控制器、运算控制器。2.2.四个缓冲栈:四个缓冲栈:先行指令缓冲栈、先行读数缓冲栈、先行操作先行指令缓冲栈、先行读数缓冲栈、先行操作栈、后行写数栈。栈、后行写数栈。3.3.处理机组成处理机组成4.4.先行指令缓冲栈的组成先行指令缓冲栈的组成作用:作用:只要指令缓冲栈没有充满,就自动发出只要指令缓冲栈没有充满,就自动发出取指令的请求。取指令的请求。 设置两个程序计数器:先行程序计数器先行程序计数器PC1,用来指示取指令,用来指示取指令,现行程序计数器现行程序计数器PC,记录指令分析器正在分析,记录指令分析器正在分析
8、的指令地址。的指令地址。5.5.存在的主要问题:存在的主要问题:各类指令各类指令“分析分析”和和“执行执行”的时间相差很大的时间相差很大数据相关数据相关转移或转子程序指令转移或转子程序指令 先行缓冲站的组成先行缓冲站的组成先先行行程程序序计计数数器器PC1现现行行程程序序计计数数器器PC指指令令分分析析器器指指令令缓缓冲冲存存储储器器堆堆指指令令寄寄存存器器IR存存储储控控制制器器控控制制逻逻辑辑5.1.4 5.1.4 指令执行时序指令执行时序设置了指令缓冲栈,取指令的时间就可以忽略设置了指令缓冲栈,取指令的时间就可以忽略不计。不计。一条指令的执行可分为一条指令的执行可分为2 2个过程个过程1
9、.1.分析指令和执行指令时间不相等时的情况分析指令和执行指令时间不相等时的情况 分分析析k k 执执行行k k 分分析析k k+ +1 1 执执行行k k+ +1 1 分分析析k k+ +2 2 执执行行k k+ +2 2 分分析析k k+ +3 3 执执行行k k+ +3 3 2.2.采用先行缓冲栈的指令执行过程采用先行缓冲栈的指令执行过程 先行读数栈,先行操作栈,后行写数栈。 理想情况下,指令执行部件应该一直忙碌。理想情况下,指令执行部件应该一直忙碌。 连续执行连续执行n n条指令的时间为:条指令的时间为:分析分析 k k 执行执行 k k 分析分析 k+1k+1 执行执行 k+1k+1
10、分分析析 k k+ +2 2 执行执行 k+2k+2 分析分析 k+3k+3 执行执行 k+3k+3 niiniitttT111执行执行分析先行 空间并行性空间并行性:设置多个独立的操作部件设置多个独立的操作部件 时间并行性时间并行性:分时使用同一个部件的不同部分分时使用同一个部件的不同部分 5.2.1 流水线工作原理流水线工作原理 5.2.2 流水线的分类流水线的分类 5.2.3 线性流水线的性能分析线性流水线的性能分析 5.2.4 非线性流水线的调度非线性流水线的调度5.2 5.2 流水线技术流水线技术5.2.1 5.2.1 流水线工作原理流水线工作原理1. 1. 流水寄存器流水寄存器流水
11、线的每一个阶段称为流水步流水步、流水步骤、流水段流水段、流水线阶段、流水功能段、功能段功能段、流水级流水级、流水节拍等。在每一个流水段的末尾或开头必须设置一个寄存器,称为流水寄存器、流水锁存器、流水流水寄存器、流水锁存器、流水闸门寄存器等闸门寄存器等。加入流水寄存器,会增加指令的执行时间。在一般流水线时空图中不画出流水寄存器。2.2.一种指令流水线一种指令流水线一般4至12个流水段,8个流水段的称为超流水线处理机3.3.流水线时空图流水线时空图 空空间间 执执行行部部件件 执执行行k k 执执行行k k+ +1 1 执执行行k k+ +2 2 执执行行k k+ +3 3 分分析析部部件件 分分