流水线技术--MIPS R4000流水线计算机简介

合集下载

计算机流水线(Pipeline)技术

计算机流水线(Pipeline)技术

计算机流⽔线(Pipeline)技术流⽔线是现代RISC核⼼的⼀个重要设计,它极⼤地提⾼了性能。

对于⼀条具体的指令执⾏过程,通常可以分为五个部分:取指令,指令译码,取操作数,运算(ALU),写结果。

其中前三步⼀般由指令控制器完成,后两步则由运算器完成。

按照传统的⽅式,所有指令顺序执⾏,那么先是指令控制器⼯作,完成第⼀条指令的前三步,然后运算器⼯作,完成后两步,在指令控制器⼯作,完成第⼆条指令的前三步,在是运算器,完成第⼆条指令的后两部……很明显,当指令控制器⼯作是运算器基本上在休息,⽽当运算器在⼯作时指令控制器却在休息,造成了相当⼤的资源浪费。

解决⽅法很容易想到,当指令控制器完成了第⼀条指令的前三步后,直接开始第⼆条指令的操作,运算单元也是。

这样就形成了流⽔线系统,这是⼀条2级流⽔线。

如果是⼀个超标量系统,假设有三个指令控制单元和两个运算单元,那么就可以在完成了第⼀条指令的取址⼯作后直接开始第⼆条指令的取址,这时第⼀条指令在进⾏译码,然后第三条指令取址,第⼆条指令译码,第⼀条指令取操作数……这样就是⼀个5级流⽔线。

很显然,5级流⽔线的平均理论速度是不⽤流⽔线的4倍。

流⽔线系统最⼤限度地利⽤了CPU资源,使每个部件在每个时钟周期都⼯作,⼤⼤提⾼了效率。

但是,流⽔线有两个⾮常⼤的问题:相关和转移。

在⼀个流⽔线系统中,如果第⼆条指令需要⽤到第⼀条指令的结果,这种情况叫做相关。

以上⾯哪个5级流⽔线为例,当第⼆条指令需要取操作数时,第⼀条指令的运算还没有完成,如果这时第⼆条指令就去取操作数,就会得到错误的结果。

所以,这时整条流⽔线不得不停顿下来,等待第⼀条指令的完成。

这是很讨厌的问题,特别是对于⽐较长的流⽔线,⽐如20级,这种停顿通常要损失⼗⼏个时钟周期。

⽬前解决这个问题的⽅法是乱序执⾏。

乱序执⾏的原理是在两条相关指令中插⼊不相关的指令,使整条流⽔线顺畅。

⽐如上⾯的例⼦中,开始执⾏第⼀条指令后直接开始执⾏第三条指令(假设第三条指令不相关),然后才开始执⾏第⼆条指令,这样当第⼆条指令需要取操作数时第⼀条指令刚好完成,⽽且第三条指令也快要完成了,整条流⽔线不会停顿。

流水线技术概述

流水线技术概述

流⽔线技术概述本⽂是对流⽔线技术地基本概念、冒险处理、硬件实现的基本概述。

⾸先我们介绍流⽔线的⼯作原理、组成要求、分类和性能指标,接下来讨论流⽔线的冒险处理,最后我们以MIPS为例,介绍流⽔线数据通路和控制器的实现。

⽬录1. 流⽔线概念针对串⾏执⾏过程中的冗余和瓶颈,我们提出,可以将指令执⾏过程划分为多个阶段,各个阶段可以同时处理操作,这样,每条指令按序通过各段,不同指令的执⾏过程重叠,得到的就是流⽔线。

流⽔线由多个功能段按序组成。

例如,在RISC中,通常包括IF,ID,EX,MEM,WB五个功能段,⽽在CISC中,通常包括IF,ID,OF,EX,WB五个功能段。

理想状况下,流⽔线可以对程序执⾏起到显著的加速作⽤。

例如,有n条指令在m段流⽔线上执⾏,串⾏执⾏的时间为mnt,⽽采⽤流⽔线后,其执⾏时间为(m+n-1)t。

流⽔线在组成上,有三个基本要求。

第⼀,各个段的操作要相互独⽴、相互分离。

因此,每个段的源数据必须来⾃时序部件,结果也要存到时序部件。

实现上,我们设置段间寄存器,其中保存本段的所有后续段需要的本段的数据、地址、命令等。

第⼆,各个流⽔段的操作要同步执⾏。

实现上,我们会设置公共拍时钟,使得段间寄存器被同时写⼊。

拍时钟的周期需要取为各个段长的最⼤值。

第三,各个流⽔段的操作必须⽆冲突,以保证结果正确。

具体⽽⾔,就是消除冒险。

实现上,通过增设部件和控制器,来消除各种冒险。

流⽔线可以按其属性进⾏多种分类。

按处理的级别,可以分为操作级流⽔线、指令级流⽔线、处理机级流⽔线。

按功能,可以分为单功能和多功能流⽔线。

多功能流⽔线的各流⽔段可以进⾏不同的连接,从⽽完成不同的功能。

按⼯作⽅式,可以分为静态流⽔线和动态流⽔线。

静态流⽔线在进⾏功能切换时,必须排空。

显然,动态流⽔线⼀定是多功能流⽔线。

按结构,可以分为线性流⽔线和⾮线性流⽔线。

所谓⾮线性流⽔线,就是其中有部件的复⽤。

按流⼊流出的次序,可以分为顺序流⽔线和乱序流⽔线。

计算机系统结构第3章流水线技术

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

第三章流水线技术

第三章流水线技术
EX/MEM.cond) {EX/MEM.ALUOutput} else {PC+4});
• ID
– ID/EX.A ←Regs[IF/ID.IR[rs]]; ID/EX.B ← Regs[IF/ID.IR[rt]]; – ID/EX.NPC←IF/ID.NPC; ID/EX/IR ← IF/ID.IR; – ID/EX/Imm ← sign-extend(IF/ID.IR[immediate field]);
ALUSelA 1
32
Rs
32 Rt
5
Rt 0 5
Rd 1
1 Mux 0
Ra
Rb busA A
Reg File
32
4
Rw
B
busW busB
32
<< 2
00
Zero
32 1
0 32
1 32
2
3
ALU
Control
2021/6/12
Imm 16
Extend
32
中E国xt科O学p 技术大学MemtoReg
Memory Write Access Back
MUX
MUX
Data Memory
Next SEQ PC
RS1 RS2
Zero?
ALU
MUX MUX
Reg File
RD
LLeabharlann MDImm
Sign Extend
WB Data
2021/6/12
中国科学技术大学
chapter3.9
基本操作(Step 1 & 2)
data) = MDR
• Register - Register ALU instruction

将向量数据表示和流水线技术结合起来,构成向量流水处理

将向量数据表示和流水线技术结合起来,构成向量流水处理

单发射与多发射

单发射处理机:



Hale Waihona Puke 每个周期只取一条指令、只译码一条指令,只执行 一条指令,只写回一运算结果 取指部件和译码部件各设置一套 可以只设置一个多功能操作部件,也可以设置多个 独立的操作部件 操作部件中可以采用流水线结构,也可以不采用流 水线结构 设计目标是每个时钟周期平均执行一条指令,ILP 的期望值1
超流水线处理机(续)
存结果
执行
译码
取指
12 2 5 8 11 1 4 7 10 3 6 9 12 2 5 8 11 1 4 7 10 3 6 9 12 2 5 8 11 1 4 7 10 3 6 9 12 2 5 8 11 1 4 7 10
3
6
9
每个时钟周期分时发送3条指令的超流水线
举例:

MIPS R4000
V7 向量寄存器组(8×64个) 移位 逻辑运算 V0

B
向量控制 R/W VM S7

地址寄存器 A
T
加 向量 功能 部件 迭代求倒数 相乘 加 浮点 功能 向量控制 部件
标量寄存器 S0
向量长度寄存器 VL
超级向量流水处理机举例




1972年成立CRAY公司,至今生产了400台以上的超级计算机 1979年CRAY-1S,CRAY-1改进型,有10条流水线 1983年CRAY X-MP,用4台CRAY-1 1985年CRAY-2S 1988年CRAY Y-MP,8台处理机 1991年CRAY Y-MP C-90 1996年12月,克雷研究公司也被SGI公司以7.5亿美元收购 2000年,被Tera公司合并,同年更名Cray 目前产品:MTA、SV1、SX_6、T3E 2002年Cray X1。运算速度最高为每秒52万亿次,支持65.5TB存储器。 宣布了在2010年以前实现能够连续地处理每秒1000万亿次 Cray公司称,他们将在2008年使用四核心的AMD Opteron处理器建造 XT4超级计算机,并将在2009年接近1Pflops(每秒1000万亿次浮点运 算)能力。 网址:

计算机体系结构——流水线技术(Pipelining)

计算机体系结构——流水线技术(Pipelining)
2.按功能分
单功能流水线:流水线只完成一种固定功能 多功能流水线:流水线可以完成多种功能,如 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. 什么是流水线? 计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行进行。由于这种工作方式与工厂中的生产 流水线十分相似, 因此称为流水线技术 从本质上讲,流水线技术是一种时间并行技术。

超标量处理机和超流水线处理机——计算机系统结构

超标量处理机和超流水线处理机——计算机系统结构

超标量处理机和超流⽔线处理机——计算机系统结构在表5.2中,基准标量处理机是⼀台普通的单流⽔线处理机。

为了便于进⾏⽐较,把基准标量处理机的机器流⽔线周期和指令发射等待时间都假设为1个时钟周期,同时发射的指令条数为⼀条,它的指令级并⾏度ILP(Instruction Level Parallelism)假设为1。

另外三种指令级并⾏处理机,即并⾏度为m的超标量处理机,并⾏度为n的超流⽔线处理机,以及并⾏度为(m,n)的超标量超流⽔线处理机,它们的性能都相对于基准标量处理机进⾏⽐较。

单流⽔线处理机只有⼀条指令流⽔线,只有⼀个多功能的操作部件,每个时钟周期"取指令"和"分析"完成⼀条指令。

在许多流⽔线处理机中,指令流⽔线的流⽔段数k=4;它把⼀条指令的执⾏过程主要分解为"取指令"、"分析"、"执⾏"和"写结果"4个阶段。

指令所要执⾏的功能主要在多功能操作部件中,在"执⾏"这⼀流⽔段完成。

多数流⽔线处理机的多功能操作部件采⽤流⽔线结构。

有的简单指令,只要⼀个时钟周期就能够在"执⾏"流⽔段中完成,⽽⽐较复杂的指令往往需要多个时钟周期。

另外,还有条件转移等的影响;因此,⼀般流⽔线标量处理机每个时钟周期平均执⾏指令的条数⼩于1,即它的指令级并⾏度ILP<1。

超标量、超流⽔线和超标量超流⽔线三种处理机在⼀个时钟周期内可以执⾏完成多条指令,即它们的指令级并⾏度ILP都⼤于1。

超标量处理机基本结构超标量处理机的典型结构是有多个操作部件,⼀个或⼏个⽐较⼤的通⽤寄存器堆,⼀个或两个⾼速Cache。

先进的超标量处理机⼀般都包含有三个处理单元,⼀个是定点处理单元,通常称为中央处理单元(CPU),它由⼀个或多个整数处理部件组成;第⼆个是浮点处理单元(FPU),它由浮点加减法部件和浮点乘除法部件等组成;第三个是图形加速部件,也称为图形处理单元(GPU),这是现代处理机中不可缺少的⼀个部分。

MIPS全64位超级流水线RISC R400处理器

MIPS全64位超级流水线RISC R400处理器

MIPS全64位超级流水线RISC R400处理器
赵信
【期刊名称】《微计算机信息》
【年(卷),期】1991(000)003
【摘要】七十年代兴起的RISC设计思想引起了计算机体系结构的一场革命,从微、小型机到超级计算机,从个人工作站到超级工作站,无不渗透着RISC技术。


前,RISC技术朝两个方向发展,其一是寻找新的芯片制造技术。

简单的单CPU RISC 结构几乎已经挖尽了当代CMOS速度的潜力。

【总页数】3页(P5-7)
【作者】赵信
【作者单位】无
【正文语种】中文
【中图分类】TP332.05
【相关文献】
1.64位MIPS指令处理器的流水线设计 [J], 李明刚
2.基于MIPS架构的RISC微处理器RM7000A [J], 李杰;贺占庄
3.超级流水线处理器MIPS R4000的结构设计及其特征 [J], 郑飞
4.基于MIPS IV指令集的RISC微处理器-RM7000A及其应用的实现 [J], 李杰;贺占庄;白军元
5.PMC—Sierra新推1.8GHz主频双CPU核64位MIPS—Powered多处理器——第三代多处理器RM11200增加了新CPU核心、PCI Express和DDR2 [J],
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.4 MIPS R4000流水线计算机简介
3. R4000浮点流水线是一种多功能非线性流水线 4. 双精度浮点操作指令的延迟、启动间隔以及 流水段的使用情况 (表3.9)
虚拟存储器的特点
13/14
表3.9
浮点指令 延 迟
初始化 间隔 3
4 35 111 1 1
使用的流水段
加、减
乘 除 求平方根 取反 求绝对值
2.8个流水段
(表3.8)
虚拟存储器的特点
11/14
表3.8
流水段 A D E M 功能部件 浮点加法器 浮点除法器 浮点乘法器 浮点乘法器 描 述
尾数加流水段 除法流水段 例外测试段 乘法器第一个流水段
N
R S U
虚拟存储器的特点
浮点乘法器
浮点加法器 浮点加法器
乘法器第二个流水段
舍入段 操作数移位段 展开浮点数
虚拟存储器的特点 1/14
3.4 MIPS R4000流水线计算机简介
3. 流水线中各段的功能
虚拟存储器的特点
2/14
4.指令序列在流水线中的重叠执行过程
虚拟存储器的特点
3.4 MIPS R4000流水线计算机简介
5. 载入延迟为两个时钟周期
虚拟存储器的特点
4/14
ห้องสมุดไป่ตู้
3.4 MIPS R4000流水线计算机简介
虚拟存储器的特点
7/14
虚拟存储器的特点
3.4 MIPS R4000流水线计算机简介
◆ 采用单周期延迟分支
◆ 预测分支:失败分支
◆ 处理分支指令的时空图
虚拟存储器的特点
9/14
虚拟存储器的特点
3.4 MIPS R4000流水线计算机简介
3.4.2 MIPS R4000 浮点流水线
1. R4000浮点部件 ◆ 1个浮点除法器 ◆ 1个浮点乘法器 ◆ 1个浮点加法器
第三章 流水线技术
3.4
MIPS R4000流水线计算机简介
3.4.1 MIPS R4000 整型流水线
1. 指令集:MIPS-3 指令集(64位),类似于DLX 2.MIPS R4000 流水线结构 共8个段:较深的流水线有利于提高时钟频率。 超级流水 与DLX流水线相比:把访存操作进一步分段。 取指令:IF,IS 读写数据:DF,DS,TC
6. 指令序列在流水线中的执行时空图
虚拟存储器的特点
5/14
7. R4000流水线的定向路径比DLX流水线的多 ALU输入端的定向源有4个:EX/DF,DF/DS,DS/TC,TC/WB
虚拟存储器的特点
3.4 MIPS R4000流水线计算机简介
8. 分支处理
◆ 在EX段完成分支条件的计算
基本分支延迟:3个时钟周期
4
8 36 112 2 2
U,S+A,A+R,R+S
U,E+M,M,M,M,N,N+A,R U,A,R,D28,D+A,D+R,D+A,D+R,A,R U,E,(A+R) 108,A,R U,S U,S
浮点比较
3
2
U,A,R
虚拟存储器的特点
相关文档
最新文档