计算机体系结构总结.docx
《计算机体系结构总结.docx》由会员分享,可在线阅读,更多相关《计算机体系结构总结.docx(16页珍藏版)》请在冰豆网上搜索。
![计算机体系结构总结.docx](https://file1.bdocx.com/fileroot1/2022-11/28/210dbee9-b2be-4c48-be76-e3a8055cc996/210dbee9-b2be-4c48-be76-e3a8055cc9961.gif)
计算机体系结构总结
第1章计算机系统结构的基本概念
多级层次结构:
第一级:
微程序机器级;机器语言(传统机器级);操作系统虚拟机;汇编语言虚拟机;高级语言虚拟机;应用语言虚拟机
计算机系统结构:
程序员所看到的计算机的属性,即概念性结构与功能特性。
经典计算机系统结构的实质:
计算机系统中软、硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。
硬件和软件在功能实现上是等效的,即一种功能可以由软件实现,也可以由硬件实现。
在实现性能上是不等效的。
软件实现的优点是设计容易、改进简单;硬件实现的优点是速度快
语言实现的两种基本技术:
翻译,解释
翻译和解释是语言实现的两种基本技术。
它们都是以执行一串N级指令来实现N+1级指令,但二者存在着差别:
翻译技术是先把N+1级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。
而解释技术是每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。
在这个过程中不产生翻译出来的程序,因此解释过程是边变换边执行的过程。
软件兼容
同一个软件可以不加修改地运行于系统结构相同的各档机器上,而且它们所获得的结果一样,差别只在于运行时间的不同。
软件兼容分为向上兼容、向下兼容、向前兼容和向后兼容。
其中向后兼容是软件兼容的根本特征。
向上(下)兼容:
按某档计算机编制的程序,不加修改的就能运行于比它高(低)档的计算机。
向前(后)兼容:
按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器。
兼容机:
不同厂家生产的具有相同系统结构的计算机。
系列机:
是指在一个厂家内生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。
它的出现较好地解决了软件要求环境稳定和硬件、器件技术迅速发展之间的矛盾。
透明性:
在计算机技术中,对本来存在的事物或属性,但从某种角度看又好象不存在。
响应时间
从事件开始到结束之间的时间,也称为执行时间。
即计算机完成某一任务所花费的全部时间,包括访问磁盘、访问存储器、输入/输出、操作系统开销等。
对计算机发展非常关键的实现技术
逻辑电路;半导体DRAM(动态随机访问存储器);磁盘;网络
实现软件移植的主要途径:
采用系列机方法;采用模拟与仿真方法;采用统一的高级语言
模拟:
用软件的方法在一台现有的机器(称为宿主机host)上实现另一台机器(称为虚拟机)的指令集。
仿真:
用一台现有机器(称为宿主机)上的微程序去解释实现另一台机器(称为目标机)的指令集。
试以系列机为例,说明计算机系统结构、计算机组成和计算机实现三者之间的关系。
计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。
一种系统结构可以有多种组成;一种组成可以有多种实现。
同一系列机中各种型号的机器具有相同的系统结构,但采用不同的组成和实现技术,因而具有不同的性能和价格。
存储程序计算机在系统结构上的主要特点
(1)以运算器为中心。
(2)采用存储程序原理。
程序和数据放在同一存储器中,并且没有对两者加以区分。
(3)存储器是按地址访问的、线性编址的空间。
(4)控制流由指令流产生。
(5)指令由操作码和地址码组成。
操作码指明本指令的操作类型,地址码指明操作数和操作结果的地址。
(6)数据以二进制编码表示,采用二进制运算。
冯·诺依曼结构计算机评价:
(1)以运算器为中心,由控制器集中控制。
缺点:
运算器与I/O设备速度不匹配,控制器成为瓶颈问题。
改进:
增设IOP、以存储器为中心、分布/并行处理。
(2)采用存储程序原理,指令和数据同等对待,先存储后执行。
缺点:
执行时需区分指令与数据,字长不同造成空间浪费。
改进:
指令与数据分别存储,指令执行时不可修改。
(3)存储器按地址访问、地址空间是线性编址,顺序存储顺序执行。
缺点:
对与执行顺序无关的程序难以发挥系统的并行性。
改进:
数据驱动的数据流机器,先行控制、重叠与流水。
(4)控制流由指令流产生,操作码指定操作性质和数据类型。
缺点:
操作数的数据类型在译码阶段才能产生。
改进:
高级数据表示,数据自带类型标识。
(5)数据以二进制编码表示,采用二进制运算。
缺点:
不利于事务处理等非数值运算。
改进:
高级数据表示,字符、图形类型标识。
(6)软硬件完全分开,硬件固定软件适应硬件。
缺点:
软硬件功能僵化,不利于优化程序设计。
改进:
软硬件结合设计,动态自适应机器。
新型系统结构的设计主要从以下两方面着手:
一方面是合理地增加计算机系统中硬件的功能比例,使系统结构对操作系统、高级语言甚至应用软件提供更多更好的支持;另一方面则是通过多种途径提高计算机系统结构中的并行性等级,使得凡是能并行计算和处理的问题都能并行计算和处理,使这种系统结构和组成对算法提供更多、更好的支持。
软件技术两个最重要的发展趋势?
(1)程序及数据所使用存储器容量的不断增大。
(2)高级语言的使用越来越广泛,在很多应用领域取代了汇编语言。
计算机系统设计人员的技术挑战主要来自:
系统结构、设计工具、制造工艺、软件、应用和经济等多个方面。
一种计算机系统结构的生命周期是怎样的?
计算机的生命周期和系统中各个部分的发展密切相关。
一种新的系统结构的诞生,往往以硬件为标志,它的发展和成熟,是以配套的系统软件和应用为标志的。
一个计算机系统结构,从产生到消亡,大致需要15~20年的时间。
三条基本原则
(1)大概率事件优先原则:
对于大概率事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果。
(2)Amdahl定律:
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
(3)程序的局部性原理:
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。
程序的时间局部性:
程序即将用到的信息很可能就是目前正在使用的信息。
程序的空间局部性:
程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。
并行性:
在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。
只要时间上互相重叠,就存在并行性。
同时性:
两个或多个事件在同一时刻发生的并行性。
并发性:
两个或多个事件在同一时间间隔内发生的并行性
从执行程序角度,并行性等级从低到高可分为:
(1)指令内部并行:
单条指令中各微操作之间的并行。
(2)指令级并行(ILP):
并行执行两条或两条以上的指令。
(3)线程级并行(TLP):
并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位。
(4)任务级或过程级并行:
并行执行两个或两个以上的过程或任务(程序段),以子程序或进程为调度单元。
(5)作业或程序级并行:
并行执行两个或两个以上的作业或程序。
从处理数据的角度,并行性等级从低到高可以分为:
(1)字串位串:
同时只对一个字的一位进行处理。
(2)字串位并:
同时对一个字的全部位进行处理。
(3)字并位串:
同时对许多字的同一位(称位片)进行处理。
(4)全并行:
同时对许多字的全部或部分位进行处理。
Flynn分类法把计算机系统的结构分为:
(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)(MIMD)。
Flynn分类法:
按照指令流和数据流的多倍性进行分类。
冯氏分类法:
用系统的最大并行度对计算机进行分类。
提高并行性的技术途径
(1)时间重叠。
多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
(2)资源重复。
通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。
(3)资源共享。
这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。
耦合度:
反映多机系统各机器之间物理连接的紧密程度和交互作用能力的强弱。
1)最低耦合:
除通过某种中间存储介质之外,各计算机之间没有物理连接,也无共享的联机硬件资源。
2)松散耦合:
通过通道或通信线路实现计算机间互连,共享某些外围设备,机间的相互作用是在文件或数据集一级进行。
3)紧密耦合:
机间物理连接的频带较高,往往通过总线或高速开关实现互连,可以共享主存。
单机系统和多机系统中,都是按时间重叠、资源重复和资源共享三种技术途径,分别发展为同构型多处理机、异构型多处理机、分布处理系统。
同构型(对称型)多处理机:
由多个同类型,至少担负同等功能的处理机组成,同时处理同一作业中能并行执行的多个任务。
异构型(非对称型)多处理机:
由多个不同类型,至少担负不同功能的处理机组成,按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。
分布处理系统:
把若干台具有独立功能的处理机(或计算机)相互连接起来,在操作系统的全盘控制下,统一协调地工作,而最少依赖集中的程序、数据或硬件。
计算机系统结构设计时遵循三个软硬件取舍原则:
系统在现有硬件条件下有高的性能价格比;不要限制组成和实现技术的采用;为软件设计提供更多更好的硬件支持
第2章计算机指令集结构设计
根据五个因素对计算机指令集结构进行分类:
在CPU中操作数的存储方法;指令中显式表示的操作数个数;操作数的寻址方式;指令集所提供的操作类型;操作数的类型和大小。
其中1是最主要的区别
根据CPU内部存储单元类型,可将指令集结构分为
堆栈型指令集结构、累加器型指令集结构和通用寄存器型指令集结构。
优缺点?
堆栈型(其CPU中存储操作数的主要单元是堆栈):
是一种表示计算的简单模型;指令短小。
不能随机访问堆栈,从而很难生成有效代码;同时,由于堆栈是瓶颈,所以很难被高效地实现。
累加器型(其CPU中存储操作数的主要单元是累加器):
减少了机器的内部状态;指令短小。
由于累加器是唯一的暂存器,这种机器的存储器通信开销最大。
寄存器型(CPU中存储操作数的主要单元是通用寄存器):
易于生成高效的目标代码。
所有操作数均需命名,且要显式表示,因而指令比较长
现代大多数机器均采用通用寄存器型指令集结构,原因:
一是寄存器和CPU内部其他存储单元一样,要比存储器快;其次是对编译器而言,可以更加容易、有效地分配和使用寄存器。
寄存器-寄存器型(RR)优点:
简单,指令字长固定,是一种简单的代码生成模型,各种指令的执行时钟周期数相近。
缺点:
和ALU指令中含存储器操作数的指令集结构相比,指令条数多,因而其目标代码量较大。
寄存器-存储器(RM)优点:
可以直接对存储器操作数进行访问,容易对指令进行编码,且其目标代码量较小。
缺点:
指令中的操作数类型不同。
在一条指令中同时对一个寄存器操作数和存储器操作数进行编码,将限制指令所能够表示的寄存器个数。
由于指令的操作数可以存储在不同类型的存储器单元,所以每条指令的执行时钟周期数也不尽相同存储器-存储器型(MM)优点:
是一种最紧密的编码方式,无需“浪费”寄存器保存变量。
缺点:
指令字长多种多样。
每条指令的执行时钟周期数也大不一样,对存储器的频繁访问将导致存储器访问瓶颈问题
对指令集的基本要求:
1完整性,在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令集所提供的指令足够使用。
2规整性,规整性主要包括对称性和均匀性。
对称性指所有与指令集有关的存储单元的使用、操作码的设置等都是对称的。
均匀性指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。
3高效率,执行速度快,使用频度高。
4兼容性。
指令集结构的功能设计(一种指令集结构中的指令到底要支持哪些类型的操作)两个方向:
CISC:
尽量多地支持各种类型的操作,实现软件功能向硬件功能的转移。
RISC:
只支持使用频率比较高的操作,优化这些操作的实现以提高性能。
CISC即复杂指令集计算机。
它是增强指令功能,把越来越多的功能交由硬件来实行,并且指令的数量也是越来越多。
RISC精简指令集计算机。
它是尽可能的把指令集简化,不仅指令的条数少,而且指令的功能也比较简单。
CISC结构的缺点5:
指令的使用频率相差悬殊;体系结构复杂,增加研制时间和成本,容易出现设计错误;VLSI设计困难,不利于单片集成;复杂指令运行速度慢;指令功能不均衡,不利于流水。
增强CISC机器的指令功能:
1)面向目标程序增强指令功能。
2)面向高级语言和编译程序改进指令系统。
3)面向操作系统的优化实现改进指令系统。
进行RISC设计时的原则:
1)选择使用频率最高的指令,并补充一些最有用的指令;2)每条指令的功能应尽可能简单,并在一个机器周期内完成;3)所有指令长度均相同;4)只有Load和Store才访问存储器,其他指令操作均在寄存器之间进行;5)以简单有效方式支持高级语言。
RISC和CISC在指令格式、寻址方式和每条指令的周期数三方面的区别:
CISC变长编码,各种都有,远远大于1。
RISC定长编码,只有load/store指令可以访存,为1。
计算机指令集结构设计的内容
(1)指令集功能设计:
主要有RISC和CISC两种技术发展方向。
(2)寻址方式的设计。
(3)操作数表示和操作数类型。
(4)寻址方式的表示:
可以将寻址方式编码于操作码中,也可以将寻址方式作为一个单独的域来表示。
(5)指令集格式的设计:
有变长编码格式、固定长度编码格式和混合型编码格式三种。
指令中表示操作数类型的方法
(1)操作数的类型由操作码的编码指定,这是最常见的一种方法。
(2)数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。
指令中表示寻址方式有两种常用的方法
(1)将寻址方式编于操作码中,操作码在描述指令功能的同时也描述了相应的寻址方式。
这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了CPU对指令译码的难度。
(2)为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。
这种方式译码较慢,但操作码和寻址独立,易于指令扩展。
指令集格式设计中选择表示寻址方式的依据
主要由指令集结构所采用的寻址方式种类及其适用范围,以及操作码与寻址方式之间的独立程度来决定。
采用多种寻址方式有何优缺点?
在指令集结构中采用多种寻址方式可以显著地减少程序的指令条数;但同时也可能增加实现的复杂度和使用这些寻址方式的指令的执行时钟周期数。
在控制指令中使用PC相对寻址方式有什么优点?
(1)有效地缩短指令中表示目标地址的字段的长度。
(2)使得代码在执行时与它被载入的位置无关。
在指令集格式的设计时,通常可选择哪几种指令格式?
1)变长编码格式。
可以有效减少程序的目标代码大小2)定长编码格式。
可以降低译码的复杂度,提高译码的性能3)混合型编码格式。
兼顾降低目标代码长度和降低译码复杂度。
第3章流水线技术
顺序执行:
优点:
控制简单,节省设备。
主要缺点:
处理机执行指令的速度慢,功能部件的利用率很低
重叠执行:
优点:
与顺序执行方式相比,执行时间缩短了。
部件的利用率有了进一步的提高。
缺点:
需要增加硬件。
需要设置独立的取指令部件、指令分析部件和指令执行部件。
访问主存的冲突问题解决方法
1设置两个独立编址的存储器:
指令存储器、数据存储器。
2指令和数据仍然混合存放在同一个主存中,但设置两个Cache:
指令Cache、数据Cache。
3指令和数据仍然混合存放在同一个主存中,但主存采用多体交叉结构。
4在主存和指令分析部件之间增设指令缓冲站(又被称为先行指令缓冲站)主存不是满负荷工作的,插空从主存中预先把后面将要执行的指令取出来,存放到指令缓冲站中。
在“取指令”阶段从指令缓冲站读取指令(如果指令缓冲站不为空),而不用去访问主存。
程序空间和数据空间相互独立的系统结构被称为哈佛结构。
流水线技术:
将一个重复的时序过程分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。
时空图:
用来描述流水线的工作,横坐标表示时间,纵坐标代表流水线的各段。
流水技术有哪些特点?
1)流水过程由多个相联系的子过程组成,每个过程称为流水线的“级”或“段”。
2)每个子过程由专用的功能段实现。
3)各个功能段所需时间应尽量相等。
4)流水线需要有“通过时间”,在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果。
5)流水技术适合于大量重复的时序过程,只有在输入端能连续地提供任务,流水线的效率才能充分发挥。
多倍性:
在系统受限的部件上,同时处于同一执行阶段的指令或数据的最大数目。
流水线分类
1按照流水线所完成的功能
(1)单功能流水线:
只能完成一种固定功能的流水线
(2)多功能流水线:
流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。
2按照同一时间内各段之间的连接方式
(1)静态流水线:
在同一时间内,流水线的各段只能按同一种功能的连接方式工作。
2)动态流水线:
在同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。
3按照流水的级别
(1)部件级流水线(运算操作流水线):
把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。
(2)处理机级流水线(指令流水线):
把解释指令的过程按照流水方式处理。
(3)处理机间流水线(宏流水线):
由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。
4按数据表示
(1)标量流水处理机:
处理机不具有向量数据表示,仅对标量数据进行流水处理。
(2)向量流水处理机:
处理机具有向量数据表示,并通过向量指令对向量的各元素进行处理。
5按照流水线中是否有反馈回路
(1)线性流水线:
流水线的各段串行连接,没有反馈回路。
(2)非线性流水线:
流水线中除有串行连接的通路外,还有反馈回路。
5段流水线,一条指令的执行需要5个时钟周期:
取指令周期(IF)、指令译码/读寄存器周期(ID)、执行/有效地址计算周期(EX)、存储器/分支完成周期(MEM)、写回周期(WB)。
流水线寄存器的作用:
把数据和控制信息从一个流水段传送到下一个流水段。
消除流水线的瓶颈段:
细分瓶颈段;重复设置瓶颈段。
价流水线的性能指标
(1)吞吐率:
指在单位时间内流水线所完成的任务数或输出结果的数量。
(2)流水线的加速比:
指m段流水线的速度与等功能的非流水线的速度之比。
(3)效率:
指流水线的设备利用率。
流水线相关的三种类型:
相关是指两条指令之间存在某种依赖关系。
确定程序中指令之间存在什么样的相关,对于充分发挥流水线的效率有重要的意义。
1.结构相关:
当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突时将产生“结构相关”;2.数据相关:
当一条指令需要用到前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起“数据相关”;3.控制相关:
当流水线遇到分支指令和其他会改变PC值的指令时就会发生“控制相关”。
消除相关的基本方法:
1让流水线暂停执行某些指令,而继续执行其他一些指令。
2当一条指令被暂停时,在该暂停指令之后发射的所有指令都要被暂停,而在该暂停指令之前发射的指令则可继续执行,在暂停期间,流水线不会取新的指令。
输入/输出方式:
程序控制(程序等待、程序中断)、DMA、通道、I/O处理机
数据相关:
对于两条指令i(在前)和j(在后),如果下述条件之一成立,则称指令j与指令i数据相关:
(1)指令j使用指令i产生的结果;
(2)指令j与指令k数据相关,而指令k又与指令i数据相关。
名相关
如果两条指令使用相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。
指令j与指令i之间的名相关有以下两种:
(1)反相关。
如果指令j写的名与指令i读的名相同,则称指令i和j发生了反相关。
反相关指令之间的执行顺序是必须严格遵守的,以保证i读的值是正确的。
(2)输出相关。
如果指令j和指令i写相同的名,则称指令i和j发生了输出相关。
输出相关指令的执行顺序是不能颠倒的,以保证最后的结果是指令j写进去的。
解决方法:
换名技术,通过改变指令中操作数的名来消除名相关。
控制相关:
由分支指令引起的相关。
它需要根据分支指令的执行结果来确定后续指令是否执行。
流水线冲突
指对于具体的流水线来说,由于相关的存在,使得指令流中的下一条指令不能在指定的时钟周期执行。
(1)结构冲突:
因硬件资源满足不了指令重叠执行的要求而发生的冲突。
解决方法:
流水化功能单元;资源重复;暂停流水线。
(2)数据冲突:
当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。
根据指令对寄存器的读写顺序,可将数据冲突分为:
写后读冲突;写后写冲突;读后写冲突。
(3)控制冲突:
流水线遇到分支指令和其他会改变PC值的指令所引起的冲突。
四种解决数据冲突的方法:
1)定向技术:
在某条指令产生一个结果之前,其他指令并不真正需要该计算结果,如果将该计结果从其产生的地方直接送到其他指令需要它的地方,就可以避免暂停;2)暂停技术:
设置一个“流水线互锁”的功能部件,一旦流水线互锁检测到数据相关,流水线暂停执行发生数据相关指令后续的所有指令,直到该数据相关解决为止。
;3)采用编译器调度。
当流水线中出现冲突时,编译器通过重新排列代码的顺序来消除流水线中的暂停,这种技术称为流水线调度4)重新组织代码顺序。
流水线设计者有时会允许结构冲突的存在,原因:
一是为了减少硬件开销,二是为了减少功能单元的延迟。
定向技术
当流水线中出现数据冲突时,可以将计算结果从其产生的地方直接送到其他指令中需要它的地方,或所有需要它的功能单元,避免暂停。
定向技术的主要思想
在发生数据冲突时,后面的指令并不是立即就要用到前一条指令的计算结果。
如果能够将计算结果从其产生的地方直接送到需要它的地方,就可以避免暂停。
当定向硬件检测到前面某条指令的结果寄存器就是当前指令的源寄存器时,控制逻辑会将前面那条指令的结果直接从其产生的地方定向到当前指令所需的位置。
减少流水线处理分支指令时的暂停时钟周期数有两种途径:
在流水线中尽早判断出分支转移是否成功。
尽早计算出分支转移成功时的PC值(即分支的目标地址)。
在MIPS基本流水线中可采用哪些静态方法降低分支损失?
(1)修改硬件:
在ID段增加一个加法器,将计算分支目标地址的操作移到ID段完成。
(2)预测分支失败的方法。
(3)延迟分支方法。
从编译技术的角度,降低流水线分支损失的方法:
预测分支失败的方法;预测分支成功的方法;延迟分支方法。
预测分支失败方法当流水线译码到一条分支指令时,流水线继续取指令,并允许该分支指令后的指令继续在流水线中流动。
当流水线确定分支转移成功与否以及分支的目标地址之后,如果分支转移成功,流水线必须将在分支指令之后取出的所有指令转化为空操作,并在分支的目标地址处重新取出有效的指令;如果分支转移失败,那么可以将分支指令看作是一条普通指令,流水线正常流动,无需将在分支指令之后取出的所有指令转化为空操作。
预测分支成功的方法一旦流水线译码到一条指令是分支指令,且完成了分支目标地址的计算,我们就假设分支转移成功,并开始在分支目标地址处取指令执行。
延迟分支方法其主要思想是从逻辑上“延长”分支指令的执行时间。
设延迟长度为n的分支指令后面有n个分支延迟槽,选择n条有效和有用的指令放入分支延迟槽中,无论分支成功与否,流水线都会执行这些指令。
处于分支延迟槽中的指令“掩盖”了流水线原来所必须插入的暂停周期。
为了在分支延迟槽中填入有效指令,一般采用:
从前调度:
分支必须不依赖于被调度的指令、总是可以有效提高流水线性能。
从目标处调度:
如果分支转移失败,必须保证被调度的指令对程序的执行没有影响,可能需要复制被调度指令。
分支转移成功时,可以提高流水线性能。
但由于复制指令,可能加大程序空间。
从失败处调度:
如果分支转移成功,必须保证被调度的指令对程序的执行没有影响。
分支转移失败时,可以提高流水线性能
向量处理机:
具有向量数据表示和相应向量指令的流水线处理机。
向量处理方式
(1)水平处理方式:
向量计算是按行的方式从左到右横向地进行。
若向量长度为N,则水平