CPU流水线技术中的结构相关和数据相关
计算机专业基础综合(中央处理器)模拟试卷4(题后含答案及解析)

计算机专业基础综合(中央处理器)模拟试卷4(题后含答案及解析) 题型有:1. 单项选择题 2. 综合应用题单项选择题1-40小题,每小题2分,共80分。
下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
1.通常所说的32位微处理器是指( )。
A.地址总线的宽度为32位B.处理的数据长度只能为32位C.CPU字长为32位D.通用寄存器数目为32个正确答案:C解析:通常所说的32位微处理器是指CPU字长为32位。
将运算器和控制器合称为中央处理器(CPU),在由超大规模集成电路构成的微型计算机中,往往将CPU制成一块芯片,称为微处理器。
CPU按照其处理信息的字长可以分为8位CPU、16位CPU、32位CPU、64位CPU等。
选项A、B、D均与微处理器的位数无关。
知识模块:中央处理器2.在微程序控制方式中,机器指令、微程序和微指令的关系是( )。
A.每一条机器指令由一条微指令来解释执行B.每一条机器指令由一段(或一个)微程序来解释执行C.一段机器指令组成的工作程序可由一条微指令来解释执行D.一条微指令由若干条机器指令组成正确答案:B解析:机器指令是由一段(或一个)微程序来解释执行的,一条微程序是由若干微指令构成的。
知识模块:中央处理器3.一个单周期处理器,各主要功能单元的操作时间为:指令存储器和数据存储器为0.3 ns,ALU为0.2 ns,寄存器文件为0.1 ns,则该CPU的时钟周期最少应该是( )。
A.0.4 nsB.0.3 nsC.0.2 nsD.1 ns正确答案:D解析:单周期处理器时钟周期取为“Load”指令的执行时间(最长),它等于读指令存储器(取指)的时间、读寄存器堆(取形式地址)的时间、ALU(计算有效地址)的时间、读数据存储器(取操作数)的时间以及写寄存器堆(将操作数写入目的寄存器)的时间之和,为1 ns。
知识模块:中央处理器4.微程序存放在( )。
A.主存中B.堆栈中C.只读存储器中D.磁盘中正确答案:C解析:微程序存放在控制存储器中,是只读存储器。
计算机系统结构考试试题

计算机系统结构考试试题一、选择题(每题 2 分,共 40 分)1、以下关于计算机系统结构的说法中,错误的是()A 计算机系统结构是指计算机系统的软、硬件的界面B 计算机系统结构是对计算机系统中各级界面的定义及其上下的功能分配C 计算机系统结构是指计算机系统的概念性结构和功能特性D 计算机系统结构与计算机组成和计算机实现无关2、提高并行性的技术途径不包括()A 时间重叠B 资源重复C 资源共享D 增加指令3、指令流水线中出现数据相关时,通常采用的解决办法不包括()A 停顿B 分支预测C 数据旁路D 指令预取4、以下关于存储系统的说法中,正确的是()A Cache 是为了弥补主存速度的不足B 虚拟存储器是为了扩大主存容量C 相联存储器是按地址访问的D 主存是按内容访问的5、以下关于中断的说法中,错误的是()A 中断是指计算机在执行程序过程中,遇到突发事件而中断当前程序的执行B 中断响应的过程包括关中断、保存断点、识别中断源、保护现场等C 中断向量是中断服务程序的入口地址D 中断处理的过程包括恢复现场、开中断、返回原程序等6、以下关于总线的说法中,错误的是()A 总线是连接计算机各部件的公共信息传输线B 总线可以分为数据总线、地址总线和控制总线C 同步总线的传输效率高于异步总线D 总线的带宽等于总线的时钟频率乘以总线的宽度7、以下关于输入输出系统的说法中,正确的是()A 程序查询方式的效率最高B 中断方式需要 CPU 不断查询设备状态C DMA 方式可以直接在内存和外设之间传输数据D 通道方式的功能比 DMA 方式强大8、以下关于多处理机系统的说法中,错误的是()A 多处理机系统是指由两个或两个以上的处理机组成的计算机系统B 多处理机系统的并行性比单处理机系统高C 多处理机系统的通信方式包括共享存储器和消息传递D 多处理机系统的性能只取决于处理机的数量9、以下关于流水线的说法中,正确的是()A 流水线的段数越多,流水线的效率越高B 流水线的吞吐率与流水线的段数无关C 流水线的加速比等于流水线的段数D 流水线的效率与任务的类型有关10、以下关于 RISC 指令集的说法中,错误的是()A RISC 指令集的指令长度固定B RISC 指令集的指令格式种类少C RISC 指令集的寻址方式简单D RISC 指令集的指令功能强大11、以下关于 CISC 指令集的说法中,正确的是()A CISC 指令集的指令长度可变B CISC 指令集的指令格式种类多C CISC 指令集的寻址方式复杂D 以上都是12、以下关于超标量技术的说法中,错误的是()A 超标量技术是指在一个时钟周期内同时发射多条指令B 超标量技术可以提高指令的并行度C 超标量技术需要增加硬件的复杂度D 超标量技术可以在任何指令集架构上实现13、以下关于向量处理机的说法中,正确的是()A 向量处理机是专门用于处理向量数据的计算机B 向量处理机的运算速度比标量处理机快C 向量处理机的并行性主要体现在指令级并行D 以上都是14、以下关于存储层次的说法中,错误的是()A 存储层次的目的是为了提高存储系统的性能价格比B 存储层次的性能由命中率、访问时间和失效开销决定C 增加 Cache 的容量可以提高命中率D 降低主存的访问时间可以提高存储层次的性能15、以下关于虚拟存储器的说法中,正确的是()A 虚拟存储器的容量等于主存容量加上辅存容量B 虚拟存储器的页面大小是固定不变的C 虚拟存储器的地址转换是由硬件完成的D 虚拟存储器的页面替换算法对系统性能有很大影响16、以下关于多总线结构的说法中,错误的是()A 多总线结构可以提高系统的性能B 多总线结构可以增加系统的可靠性C 多总线结构可以减少系统的成本D 多总线结构可以提高系统的可扩展性17、以下关于 I/O 接口的说法中,正确的是()A I/O 接口是 CPU 与外设之间的桥梁B I/O 接口可以实现数据格式的转换C I/O 接口可以实现数据缓冲和锁存D 以上都是18、以下关于 DMA 控制器的说法中,错误的是()A DMA 控制器可以接管总线控制权B DMA 控制器可以在内存和外设之间直接传输数据C DMA 控制器可以减少 CPU 的干预D DMA 控制器可以提高系统的并行性19、以下关于通道的说法中,正确的是()A 通道是一种具有特殊功能的处理器B 通道可以实现对 I/O 设备的统一管理C 通道可以提高系统的 I/O 性能D 以上都是20、以下关于计算机系统性能评价的说法中,错误的是()A MIPS 是衡量计算机性能的常用指标之一B MFLOPS 是衡量浮点运算性能的指标C 基准测试程序可以用来评价计算机系统的性能D 计算机系统的性能只取决于硬件的性能二、填空题(每题 2 分,共 20 分)1、计算机系统结构的经典定义是由提出的。
中央处理器CPU——指令流水线

中央处理器CPU——指令流⽔线指令流⽔线概念:⼀条指令的执⾏过程划分为不同阶段,占⽤不同硬件资源,多条指令重叠操作实现并⾏处理1.顺序执⾏:⼜称串⾏执⾏⽅式;传统的冯诺依曼机器优点:控制简单,硬件代价⼩缺点:速度慢,各功能部件利⽤率低2.⼀次重叠执⾏⽅式:优点:时间缩短三分之⼀,各功能部件利⽤效率提⾼缺点:控制复杂,硬件开销增⼤3.⼆次重叠执⾏⽅式:优点:时间缩短三分之⼆,理想状态指令执⾏过程图:⽤于分析指令执⾏过程和影响流⽔线因素时空图:⽤于分析流⽔线的性能吞吐率TP:单位时间内流⽔线完成的任务数量或输出结果的数量加速⽐S:同⼀任务下,不使⽤流⽔线⽤时与使⽤流⽔线⽤时之⽐效率E:流⽔线的设备利⽤率锁存器(缓冲寄存器):作⽤是保存本流⽔段的执⾏结果,提供给下⼀流⽔段使⽤。
影响因素:结构相关(资源冲突):多条指令同⼀时间争⽤同⼀资源解决:1.后⼀相关指令暂停⼀周期;2.资源重复配置(数据存储器+指令存储器)数据相关(数据冲突):在⼀个程序中,上⼀条指令执⾏完才能执⾏下⼀条指令(这两条指令即为数据相关)解决:将数据相关的指令和后续指令暂停时钟周期到问题消失再执⾏;1.硬件阻塞stall和软件插⼊NOP;2.数据旁路技术;3.编译优化:通过编译器调整指令顺序控制相关(控制冲突):转移指令和改变PC值的指令造成断流解决:1.尽早判别转移是否发⽣,尽早⽣成转移⽬标地址2.预取转移成功和不成功两个控制流⽅向上的⽬标指令3.加快和提前形成条件码4.提⾼转移⽅向的猜准率流⽔线的分类1.根据流⽔线使⽤级别:部件功能级、处理机级和处理机间级流⽔线部件功能级流⽔:将复杂的算术逻辑运算组成流⽔线⼯作⽅式处理机级流⽔:把⼀条指令解释过程分成多个⼦过程,如取指、译码、执⾏、访存及写回5个⼦过程。
处理机间流⽔:是⼀种宏流⽔,其中每⼀个处理机完成某⼀专门任务,各个处理机所得到的结果需存放在与下⼀个处理机所共享的存储器中2,按流⽔线可以完成的功能分为:单功能流⽔线和多功能流⽔线单功能流⽔线:指只能实现⼀种固定的专门功能的流⽔线;多功能流⽔线:指通过各段间的不同连接⽅式可以同时或不同时地实现多种能的流⽔线。
计算机系统结构第3章流水线技术

流水线调度
根据指令的依赖关系和资源可用性,动态调 度指令到不同的流水线阶段。
GPU设计中的流水线技术
线程级并行
通过划分线程块和线程束,实现线程级并行执行。
数据级并行
将数据划分为多个块,每个块在GPU的多个处理单元上并行处理。
指令级并行
通过指令调度和分支预测,实现指令级并行执行。
硬件资源共享
01
硬件资源共享是指流水线中的多个操作共享相同的硬件资源, 如寄存器、缓冲区等。
02
硬件资源共享能够提高资源利用率,减少硬件开销,降低成本。
需要注意的是,硬件资源。
流水线的性能指标
01
吞吐量
流水线每单位时间内完成的操作数 或任务数。
流水线调度
根据子任务的依赖关系和资源需求,动态调 度子任务到不同的计算节点。
THANKS
感谢观看
将执行结果写回寄 存器或内存。
02
流水线的工作原理
数据流驱动
1
数据流驱动是指流水线中的操作按照数据流动的 方向依次执行,每个操作在完成前需要等待前一 个操作的结果。
2
数据流驱动的优点是能够充分利用数据依赖关系, 减少等待时间,提高流水线的吞吐量。
3
需要注意的是,数据流驱动需要精确控制数据流 动的顺序,以避免出现数据相关和冒险问题。
调试和维护困难
由于流水线中各个阶段是并行处 理的,调试和维护可能会比串行 系统更加困难。
05
流水线技术的应用
CPU设计中的流水线技术
指令划分
将指令划分为多个阶段,每个阶段对应一个 功能单元,从而并行执行多个指令。
数据路径设计
Intel系列CPU的流水线结构与性能分析

Intel系列CPU的流水线结构与性能分析流水线技术早在Intel的X86芯片中均得到了实现。
流水线的使用使CPU 的性能得到了很大的提升,而Pentium系列CPU产品更是一个高级的超标量处理器。
当然CPU流水线性能是有限制,影响CPU流水线性能的因素有:1、多个任务在同一时间周期内争用同一个流水段例如,假如在指令流水线中,如果数据和指令是放在同一个储存器中,并且访问接口也只有一个,那么,两条指令就会争用储存器;在一些算数流水线中,有些运算会同时访问一个运算部件。
2、数据依赖比如,A运算必须得到B运算的结果,但是,B运算还没有开始,A运算动作就必须等待,直到A运算完成,两次运算不能同时执行。
3、条件转移的影响如果第一条指令是一个条件转移指令,那么系统就会不清楚下面应该执行那一条指令。
这时就必须等第一条指令的判断结果出来才能执行第二条指令。
条件转移所造成的流水线停顿甚至比相关还要严重的多。
越是长的流水线,相关和转移两大问题也越严重,所以,流水线并不是越长越好,超标量也不是越多越好,找到一个速度与效率的平衡点才是最重要的。
为了解决这些影响流水线性能的因素和提高CPU性能,Intel公司采取了一系列技术手段。
在Pentium III的时候主要采用的技术1.采用超标量双流水线结构超标量流水线设计是Pentium微处理器技术的核心。
所谓超标量就是处理器内部含有多个执行单元来完成多条指令的同时执行。
Pentium有两条分别称为U和V的指令流水线,各自有独立的算术逻辑单元ALU及高速缓存结构。
这种双流水线并行作业的方式,使得Pentium在每个时钟周期内可同时执行两条指令。
此外,还有一个执行单元,保证同时完成一条浮点运算指令。
在Pentium III时采用3条独立的12级超标量流水线。
2.分支预测技术为了减少由于转移导致流水线的效率损失,Pentium采用分支预测技术来动态预测指令的目标地址,从而节省了CPU的执行时间。
最新3 4流水线中的相关

34流水线中的相关3 4流水线中的相关流水线中的相关是指相邻或相近的指令因存在某种关联,后面的指令不能在原指定的时钟周期开始执行。
一般来说,流水线中的相关主要分为如下三种类型:1.结构相关:当硬件资源满足不了指令重叠执行的要求,而发生资源冲突时,就发生了结构相关。
2.数据相关:当一条指令需要用到前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起数据相关。
3.控制相关:当流水线遇到分支指令和其它能够改变PC值的指令时,就会发生控制相关。
一旦流水线中出现相关,必然会给指令在流水线中的顺利执行带来许多问题,如果不能很好地解决相关问题,轻则影响流水线的性能,重则导致错误的执行结果。
消除相关的基本方法是让流水线暂停执行某些指令,而继续执行其它一些指令。
在后面的讨论中,我们约定:当一条指令被暂停时,在该暂停指令之后发射的所有指令都要被暂停,而在该暂停之前发射的指令则可继续进行,在暂停期间,流水线不会取新的指令。
如果某些指令组合在流水线中重叠执行时,产生资源冲突,则称该流水线有结构相关。
为了能够在流水线中顺利执行指令的所有可能组合,而不发生结构相关,通常需要采用流水化功能单元的方法或资源重复的方法。
许多流水线机器都是将数据和指令保存在同一存储器中。
如果在某个时钟周期内,流水线既要完成某条指令对数据的存储器访问操作,又要完成取指令的操作,那么将会发生存储器访问冲突问题(如图3.3.1所示),产生结构相关。
为了解决这个问题,可以让流水线完成前一条指令对数据的存储器访问时,暂停取后一条指令的操作(如图3.3.2所示)。
该周期称为流水线的一个暂停周期。
暂停周期一般也称为流水线气泡,或简称为气泡。
从图3.3.2可以看出,在流水线中插入暂停周期可以消除这种结构相关。
图3.3.1由于存储器访问冲突而带来的流水线结构相关图3.3.2为消除结构相关而插入的流水线气泡也可以用如图3.3.3所示的时空图来表示上述暂停情况。
处理器系列之CPU流水线科普

处理器系列之CPU流水线科普1989年推出的i486处理器引入了五级流水线。
这时,在CPU中不再仅运行一条指令,每一级流水线在同一时刻都运行着不同的指令。
这个设计使得i486比同频率的386处理器性能提升了不止一倍。
五级流水线中的取指阶段将指令从指令缓存中取出(i486中的指令缓存为8KB);第二级为译码阶段,将取出的指令翻译为具体的功能操作;第三级为转址阶段,用来将内存地址和偏移进行转换;第四级为执行阶段,指令在该阶段真正执行运算;第五级为退出阶段,运算的结果被写回寄存器或者内存。
由于处理器同时运行了多条指令,大大提升了程序运行的性能。
处理器一般由如下功能单元组成:取指单元译码单元执行单元Load/store单元(load用于从内存中取数据,而STORE用于存数据到内存)例外/中断单元电源管理单元流水线通常由取指、译码、执行及Load/Store等单元组成。
各单元按图所示的几个步骤循环重复自身工作。
流水线的含义:与工厂生产线类似,将一件工作分成若干个固定的工序进行。
cpu流水线技术是一种将指令分解为多步,并让不同指令的各步操作重叠,从而实现几条指令并行处理,以加速程序运行过程的技术。
指令的每步有各自独立的电路来处理,每完成一步,就进到下一步,而前一步则处理后续指令。
(原理和生产流水线一样)CPU指令流水线根据之前描述的基础,指令进入流水线,通过流水线处理,从流水线出来的过程,对于我们程序员来说,是比较直观的。
I486拥有五级流水线。
分别是:取指(Fetch),译码(D1, main decode),转址(D2, translate),执行(EX, execute),写回(WB)。
某个指令可以在流水线的任何一级。
但是这样的流水线有一个明显的缺陷。
对于下面的指令代码,它们的功能是将两个变量的内容进行交换。
1 XOR a, b2 XOR b, a3 XOR a, b从8086直到386处理器都没有流水线。
计算机体系结构——流水线技术(Pipelining)

单功能流水线:流水线只完成一种固定功能 多功能流水线:流水线可以完成多种功能,如 TI公司的ASC机,8段流水线,能够实现:定点加减 法、定点乘法、浮点加法等功能 3.按同一时间内各段之间的连接方式分 静态多功能流水线 :同一时间内,多功能结构只能按一种功能的连接方式工作。 动态多功能流水线:在同一时间内,可以有多种功能的连接方式同时工作 4.按处理的数据类型 标量流水线 向量流水线 5.按控制方式 同步流水线 异步流水线:当Si功能段要向Si+1段传送数据时,首 先发出就绪信号,Si+1功能段收到信号后,向Si回送 一个回答信号。 6.按任务从输出端的流出顺序 顺序流水方式:指令流出顺序 = 指令流入顺序 乱序流水方式:指令流出顺序 != 指令流入顺序 7. 线性流水线——不带反馈回路的流水线
三、流水线的分类(了解)
四、流水线相关及冲突(重点) 1.流水线相关 2.流水线冲突 3.流水线冲突带来问题 4.数据冲突及其解决方案 5.结构冲突及其解决方案 6.控制冲突及其解决方案
五、流水线性能分析(含例题讲解) 1.流水线的基本参数——吞吐率 2.流水线的基本参数——加速比 3.流水线的基本参数——效率 4.结果分析 5.有关流水线性能的若干问题
整体评估、反馈、再改进
3. 指令周期
单周期处理机模型:一个周期完成一个指令(每个周期是等长的),指令长度可能不一样,会造成很大的浪费 多周期处理机模型:将一个指令的完成划分成若干个周期来实现 流水线模型
二、流水线技术 1. 什么是流水线? 计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行。由于这种工作方式与工厂中的生产 流水线十分相似, 因此称为流水线技术 从本质上讲,流水线技术是一种时间并行技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年第7期福建电脑
CPU流水线技术中的结构相关和数据相关
孙启良
(济南大学理学院山东济南250022)
摘要:CPU流水线技术是计算机CPU设计中普遍采用的一种并行处理技术。
它可以提高指令的运行效率,但是其流水线相关问题是流水线执行过程中的主要障碍,会给流水线中指令序列的顺利执行带来许多不利的影响。
流水线中的相关主要是结构相关和数据相关,本文重点介绍了他们的解决方法。
其中数据相关较普遍,旁路技术是主要的解决方法。
关键词:流水线技术时钟周期旁路技术编译器
1、引言
计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行。
由于这种工作方式与工厂中的生产流水线十分相似,因此称为流水线技术。
流水线技术是一种非常经济、对提高计算机的运算速度非常有效的技术。
采用流水线技术只需增加少量硬件就能把计算机的运算速度提高几倍,成为计算机中普遍使用的一种并行处理技术。
计算机各个部分几乎都可以采用流水线技术,运算器中的操作部件,如浮点加法器、浮点乘法器等可以采用流水线,称为操作部件流水线。
多个计算机之间,通过存储器连接,也可以采用流水线,称为宏流水线[1]。
如果指令的执行过程可以采用流水线,那么称为指令流水线[1]。
如图只用T0-T8八个时钟周期就完成了I1-I5五条指令的运行。
在指令流水线中经常有一些被称为"相关"的情况发生,它使得指令序列中下一条指令无法按照设计的时钟周期执行,这些"相关"可能会降低流水线可以获得的理想性能。
流水线中的相关可以分为以下三种类型:
第一种是结构相关,是指令在重叠执行的过程中,硬件资源满足不了指令重叠执行的要求,发生硬件资源冲突而产生的相关。
第二种是数据相关,是指在同时重叠执行的几条指令中,一条指令依赖于前面指令执行结果数据,但是又得不到时发生的相关。
第三种是控制相关,它是指流水线中的分支指令或者其他需要改写PC的指令造成的相关。
流水线相关问题是流水线执行过程中的主要障碍,会给流水线中指令序列的顺利执行带来许多不利的影响。
如果不能较好的处理流水线相关问题,就可能影响流水线的性能,甚至使程序运行产生错误的结果。
2、结构相关
如果因资源冲突而无法使用某种指令组合,那么就称该流水线产生了结构相关。
例如:指令和数据都共享一个存储器,在某个时钟周期内,流水线既要完成某条指令对数据的存储器访问操作,又要完成后续的另一条指令的取指令操作,这样就会发生存储器访问冲突问题,产生结构相关[2]。
消除结构相关的最简单方法就是引入暂停周期,如下图所示,这必然要降低流水线的性能
结构相关的起因是资源争用,那么可以考虑采用资源充分重复设置的方法来避免结构相关。
这是解决结构相关的基本方法。
特殊的,对存储器争用冲突,有如下解决方法:
(1)如果指令和数据放在同一个存储器,可使用双端口存储器,其中一个端口存取数据,另一个端口取指令。
(2)设置两个存储器,其中一个作为数据存储器,另一个作为指令存储器。
上述两种方案中,取指令和访问数据可以并行进行,不会发生结构相关。
3、数据相关
流水线技术可以通过指令的重叠执行来改变指令的相对执行时间,这就可能导致流水线中的指令序列读写操作数的顺序发生改变,而不同于非流水线时的指令序列读写操作数的顺序[3]。
示例如下
:
49
福建电脑2010年第7期
第一条指令ADD R1,R2,R3还没有运算结束,结果还没有保存到寄存器,后续指令已经在取ADD R1,R2,R3的运算结果,其结论必然是错误的。
数据相关可分为三种:
(1)写后读相关(RAW:Read After Write)
指令j的执行需要使用指令i的计算结果,但是当它们在流水线中重叠执行时,指令j可能在指令i将其计算结果写入之前就先行对保存该计算结果的寄存器进行了读操作,这样指令j 读出的寄存器值就是错误的。
(2)写后写相关(WAW:Write After Write)
指令j和指令i的目的操作数相同,但是当它们在流水线中重叠执行时,指令j可能在指令i将其计算结果写入之前就先行对保存该计算结果的寄存器进行了写操作,这样就导致了寄存器写入顺序的错误,此时,目的寄存器的内容是指令i写入的值,而不是指令j写入的值。
(3)读后写相关(WAR:Write After Read)
指令j可能在指令i读取某个源寄存器的内容之前就对该寄存器进行了写操作,结果就是导致了指令i后来读取的值是错误的。
方法1定向(旁路)技术解决数据相关
主要思想是:在某条指令产生一个计算结果之前,其他指令并不真正需要使用这个计算结果,如果能够从这个计算结果产生的地方直接将它送到后续指令需要使用它的地方,那么就可以避免暂停。
方法2编译器调度方法处理数据相关
例如对于最常见的A=B+C这样的操作形式,采用比较典型的代码生成方法可以得到如下的指令序列:
LW R1,B
LW R2,C
ADD R3,R1,R2
SW A,R3
这个指令序列的流水线时空图
编译器调度方法处理数据相关
编译器是如何通过指令调度来消除流水线暂停的呢?例如有下面连续的两个操作:
a=b+c;
d=e-f;
指令调度前后代码对比(左:调度前,右:调度后)
4、结束
本文重点介绍了结构相关和数据相关及其解决方法。
除了这两种相关冲突,流水线中还有控制相关,当流水线遇到分支指令和其他会改变PC值的指令时就会发生控制相关.处理分支指令最简单的方法:一旦在流水线检测到某条指令是分支指令,就暂停执行该分支指令后的所有指令,直到分支指令到达流水线的MEM段,确定新的PC值为止,但是这样做就会给流水线带来多个时钟周期的暂停。
本文未加详述。
参考文献:
[1]王爱英.计算机组成与结构[M].北京:清华大学出版社,2001:210-214
[2]郑纬民汤志忠.计算机系统结构[M].北京:清华大学出版社,1998: 263-268
[3]张楷,汤志忠.通用16位CPU的设计与实现[J].计算机工程与应用, 2003,39(23):116-117
[4]陈智勇.计算机系统结构[M].西安:西安电子科技大学出版社,2004: 92-98
[5]朱怡健,吴强,杨全胜.简单高性能微处理器的设计[J].电气电子教学学报,2004,26(2):67-70
[6]唐朔飞.计算机组成原理[M].北京:高等教育出版社.2008:243-258
[7]白中英.计算机组成原理[M].第3版.北京:科学出版社,2001:
42 50。