流水线(Pipeline)介绍
流水线(Pipeline)介绍

ADD Ra,Rb, Rc LD Rf,F SD Ra,A
IF ID EX MEM WB
IF ID EX MEM WB
SUB Rd,Re, Rf SD Rd,D
IF ID EX MEM WB
IF ID EX MEM WB
28
动态调度
有些信息在译码时难以确定,如是否发生异 常、访存操作需要多少周期等,静态调度就 不能完成。 动态调度:硬件会重新安排指令的执行顺序 以减少停顿并同时保持数据流和异常行为。 优点:有些相关编译无法检测、编译器更加 简单、程序性能对机器依赖少
i: DSUB R1,R2,R3 j: DADD R4,R1,R3
17
写后写冲突(WAW: Write After Write) 在 i 写入之前,j 先写。最后写入的结果 i 是 错误的。 这对应“输出相关”,寄存器换名技术可以 消除 i: DSUB R1,R4,R3
j: DADD R1,R2,R3 k: DMUL R6,R1,R7
Tomasulo算法小结
通过动态调度缓解流水线阻塞:例如减少CACHE 失效对性能的影响 保留站:重命名寄存器+缓存源操作数 •避免寄存器成为瓶颈 •避免WAW和WAR阻塞 •缺点: •硬件复杂性 •结果总线成为瓶颈,多条结果总线增加硬 件复杂度
39
流水线技术一直是提高处理器速度的最有效 技术之一。但目前的在相关处插入阻塞,转发技 术,编译器调度都是尽量分离相关问题的指令, 使他们不会导致冲突,从而减少暂停的影响。虽 然都会相应的显著减少数据相关的次数提高流水 效率,但也会不可避免的增加硬件复杂度和编译 器的复杂性。 而动态调度则可以以硬件的方式调整指令执 行顺序,使不相关的后续指令得以不受暂停的影 响而继续执行,可以在降低编译器复杂度的同时 处理一些编译阶段无法知道的相关,在出现数据 冒险是尽量避免出现流水暂停。
什么是自动化流水线?

什么是自动化流水线?自动化流水线(Automation Pipeline)是一种软件开发和部署流程的自动化方法。
它可以将软件开发流程和软件部署流程自动化,使得整个软件开发和部署流程被分解成为多个小的阶段,可以由一些自动化工具去管理和执行。
自动化流水线的目标是减少人工操作,减少人为错误,提高部署的效率和可靠性。
自动化流水线由多个自动化工具组成,这些工具可以实现自动化构建、测试、打包和部署任务。
自动化流水线的优点包括:•提高软件开发和部署的效率•减少手动操作的几率,减少出错的几率•提高软件部署的效率和可靠性•大量节省公司的人工成本•可以灵活配置不同环境和构建版本自动化流水线的主要组成部分包括版本控制、构建、测试、打包、部署等环节。
在这些环节中,自动化流水线需要用到多个自动化工具,下面是一些常用的自动化工具:版本控制工具版本控制工具是自动化流水线的第一步,它用来管理代码的版本,包括代码的提交,回滚,合并等操作。
版本控制工具可以帮助开发人员协同开发代码,在代码变更时保证代码的一致性和可追溯性。
常用的版本控制工具有Git、SVN等。
构建工具构建工具用来将源代码编译成可执行文件或者部署包。
构建工具可以帮助开发人员自动编译源代码,并在编译成功后生成可执行文件。
常见的构建工具有Gradle、Maven、Ant等。
测试工具测试工具是自动化流水线的核心部分,它可以通过自动化测试来优化软件的性能、功能和质量。
测试工具可以帮助开发人员在代码构建完成后自动运行测试用例,自动化检查代码的正确性和性能影响。
常见的测试工具有JUnit、Selenium、JMeter等。
打包工具打包工具是将构建好的软件打包成安装包或者部署包的工具。
打包工具可以将构建好的软件和其依赖的库文件打包成可执行的安装包或者部署包,以加快软件部署的速度。
常见的打包工具有IzPack、NSIS、ANTInstaller等。
部署工具部署工具用来将打包好的软件部署到特定的环境中。
流水线基础-Pipeline

流⽔线基础-Pipeline1. 认识Pipleine1.1 Pipeline是什么?Pipeline是Jenkins的核⼼功能,提供⼀组可扩展的⼯具。
通过Pipeline 的DSL语法可以完成从简单到复杂的交付流⽔线实现。
jenkins的Pipeline是通过Jenkinsfile(⽂本⽂件)来实现的。
这个⽂件可以定义Jenkins的执⾏步骤,例如检出代码。
1.2 JenkinsfileJenkinsfile使⽤两种语法进⾏编写,分别是声明式和脚本式。
声明式和脚本式的流⽔线从根本上是不同的。
声明式是jenkins流⽔线更友好的特性。
脚本式的流⽔线语法,提供更丰富的语法特性。
声明式流⽔线使编写和读取流⽔线代码更容易设计。
1.3 为什么使⽤Pipeline?本质上,jenkins是⼀个⾃动化引擎,它⽀持许多⾃动模式。
流⽔线向Jenkins添加了⼀组强⼤的⼯具,⽀持⽤例、简单的持续集成到全⾯的持续交付流⽔线。
通过对⼀系列的发布任务建⽴标准的模板,⽤户可以利⽤更多流⽔线的特性,⽐如:代码化: 流⽔线是在代码中实现的,通常会存放到源代码控制,使团队具有编辑、审查和更新他们项⽬的交付流⽔线的能⼒。
耐⽤性:流⽔线可以从Jenkins的master节点重启后继续运⾏。
可暂停的:流⽔线可以由⼈功输⼊或批准继续执⾏流⽔线。
解决复杂发布:⽀持复杂的交付流程。
例如循环、并⾏执⾏。
可扩展性:⽀持扩展DSL和其他插件集成。
构建⼀个可扩展是Jenkins的核⼼价值,流⽔线可以通过ShareLibrary的⽅式来扩展。
下⾯是⼀个CD的场景实例2.Pipeline概念pipeline演⽰来我们⼀起看下这⾥的配置,看下Jenkinsfile的组成及每个部分的功能含义。
使⽤agent{},指定node节点/workspace(定义好此流⽔线在某节点运⾏)指定options{}运⾏选项(定义好此流⽔线运⾏时的⼀些选项,例如输出⽇志的时间)指定stages{}(stages包含多个stage,stage包含steps。
什么是流水线技术pipeline

什么是流水线技术pipeline/uid-9185047-id-445171.html2010流水线(Pipeline)技术是目前广泛应用于微处理芯片(CPU)中的一项关键技术,但对许多非专业性的读者来说,这个名词过于抽象,加上P6(高能奔腾)应用的超流水线(Super Pipeline)技术,更令人一头雾水,不知所云。
本文以简单、形象、非专业的语言来介绍这一技术,加深大家对其的理解。
流水线技术指的是对CPU内部的各条指令的执行方式的一种形容,要了解它,就必须先了解指令及其执行过程。
一、计算机指令及其执行过程计算机指令,就是告诉CPU要做什么事的一组特定的二进制集合。
如果我们将CPU比喻成一个加工厂,那么,一条指令就好比一张订单,它引发了CPU__加工厂的一系列动作,最后分别得到了运算结果和产品。
那么,它们到底是怎样工作的呢?首先,要有一个接收订单的部门——CPU的取指令机构;其次,还要有完成订单的车间——CPU的执行指令机构。
在工厂中,一张订单上的产品被分成了许多道工序,而指令亦在CPU中转换成了许多条对应的微操作,依次完成它们,就执行完了整条指令。
二、执行指令的方式及流水线技术在低档的CPU中,指令的执行是串行的,简单地说,就是执行完了一条指令后,再执行下一条指令,好比我们上面提到的那个加工厂在创业之初,只有一间小车间及孤军奋战的老板,那么,当他接到一张订单之后,他必然忙于完成第1张订单,而没有能力去接第2张订单。
这样接订单→完成订单→接订单→……取指令→执行指令→取指令→……是一个串行的过程。
后来,老板发现接受订单不费太多时间,而且他还有了一个帮工,他们可以相互独立地工作,这样,老板就在完成上张订单产品的同时,接受下一张订单的订货。
这表现在CPU上就是取指令机构与执行指令机构的分开,这样从CPU整体来看,CPU在执行上条指令的同时,又在并行地取下条指令。
这在CPU技术上是一个质的飞跃,它使得CPU从串行工作变为并行工作,从而具有了流水线的雏型。
流水线(Pipeline)介绍PPT课件

.
16
写后读冒险(RAW: Read After Write)
❖ 在 i 写入之前,j 先去读。j 会错误的获取旧 值。
❖ 这对应“真数据相关”,为了确保j可以得到 正确的i值,必须保持程序的顺序。
i: DSUB R1,R2,R3 j: DADD R4,R1,R3ຫໍສະໝຸດ DSUB R4,R1,R5
IM
Reg
DM
Reg
XOR R6,R1,R7
IM
Reg
DM
AND R8,R1,R9
IM
Reg
OR R10,R1,R11
IM
Reg
AND,OR操作不会暂停,但是DSUB,XOR指
令需要等待DADD在WB阶段写回数据后才
可以执行。
.
15
2.4 数据冒险的解决办法
❖ 根据指令中读写访问的顺序,可以将数据冒 险分为三类。分别是:
处理器流水线相 关技术
报告人:Hardy
.
1
流水线技术
❖1.流水线的概念 ❖2.流水线的冒险和冒险的解决办法 ❖3.多发射处理器
.
2
1.流水线的概念
❖ 流水线技术:
把一个重复的过程分解为若干个子过程,每个子过 程由专门的功能部件来实现。将多个处理过程在时 间上错开,依次通过各功能段,这样,每个子过程 就可以与其他子过程并行进行。
.
5
采用相同的功能模块,指令顺序执行和按照流水线
技术执行,在时间上可以看出流水线指令的执行速
度提高了4倍。
.
6
流水线的基本作用
流水线增大了CPU的指令吞吐量—即单位时 间执行指令的条数,但是它未减少指令各自 的执行时间。实际上流水线技术要对流水线 附加一些控制,因而了增加开销,使单条指 令执行时间略有增加。吞吐量的增大意味着 程序运行的更快,总的执行时间变短,尽管 没有一条指令的执行变快。
pipelines 用法

pipelines 用法
Pipelines是一个在软件开发和数据处理中常见的概念,它可以用于多个领域,包括软件开发、数据处理和机器学习等。
在软件开发中,pipeline通常用于描述一系列的处理步骤,这些步骤按照一定的顺序依次执行,每个步骤的输出作为下一个步骤的输入。
在数据处理中,pipeline用于描述数据流经过一系列的处理步骤,如数据清洗、转换、分析和可视化等。
在机器学习中,pipeline描述了数据在模型训练过程中经历的一系列预处理和建模步骤。
在软件开发中,pipeline可以用于自动化构建、测试和部署软件。
例如,在持续集成/持续部署(CI/CD)中,开发人员可以创建一个pipeline来自动执行代码编译、单元测试、集成测试和部署到生产环境等步骤,从而提高开发效率和代码质量。
在数据处理中,pipeline可以用于构建数据处理流程,例如数据清洗、特征提取、建模和评估等步骤。
通过使用pipeline,数据处理过程可以更加清晰和可维护,同时可以方便地对新数据进行相同的处理流程。
在机器学习中,pipeline通常用于将数据预处理步骤(如标准
化、特征选择、特征转换等)和模型训练步骤(如模型选择、参数
调优等)组合成一个整体的流程。
这样做的好处是可以将整个流程
封装成一个模型,方便进行部署和使用。
总的来说,pipelines的用法可以帮助我们更加高效地进行软
件开发、数据处理和机器学习,它可以提高工作效率、降低错误率,并且使得整个流程更加可控和可维护。
ARM流水线

ARM 流水线[整理]2007-3-20 16:07:00流水线(Pipeline)简介流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。
目的是提高数据吞吐率(提高处理速度)。
流水线缩短了在一个时钟周期内给的那个信号必须通过的通路长度,从而可以提高时钟频率。
例如:一个2级组合逻辑,假定每级延迟相同为Tpd,无流水线的总延迟就是2Tpd,可以在一个时钟周期完成,但是时钟周期受限制在2Tpd;如果使用流水线,每一级加入寄存器(延迟为Tco)后,单级的延迟为Tpd+ Tco,每级消耗一个时钟周期,流水线需要2个时钟周期来获得第一个计算结果,称为首次延迟,它要2*(Tpd+Tco),但是执行重复操作时,只要一个时钟周期来获得最后的计算结果,称为吞吐延迟(Tpd+Tco);可见只要Tco小于Tpd,流水线可以提高速度。
实现流水线的代价:1.消耗寄存器-就是消耗硅片面积(想想20级流水线的某著名CPU吧)2.流水线长则消耗更多时钟周期。
(如果流水线反复启动,则会损失速度,想想某CPU著名的高频率低效能吧)下面附上一段流水线在CPU设计中的应用和问题进行简要介绍对于一条具体的指令执行过程,通常可以分为五个部分:取指令,指令译码,取操作数,运算(ALU),写结果。
其中前三步一般由指令控制器完成,后两步则由运算器完成。
按照传统的方式,所有指令顺序执行,那么先是指令控制器工作,完成第一条指令的前三步,然后运算器工作,完成后两步,在指令控制器工作,完成第二条指令的前三步,在是运算器,完成第二条指令的后两部……很明显,当指令控制器工作是运算器基本上在休息,而当运算器在工作时指令控制器却在休息,造成了相当大的资源浪费。
解决方法很容易想到,当指令控制器完成了第一条指令的前三步后,直接开始第二条指令的操作,运算单元也是。
这样就形成了流水线系统,这是一条2级流水线。
如果是一个超标量系统,假设有三个指令控制单元和两个运算单元,那么就可以在完成了第一条指令的取址工作后直接开始第二条指令的取址,这时第一条指令在进行译码,然后第三条指令取址,第二条指令译码,第一条指令取操作数……这样就是一个5级流水线。
流水线技术 ppt课件

T P T 1 T 2 T K(n 1 ) M a x(T 1,T 2, T K )
▪K为流水线段数,Ti为第i段所需要的时间
❖指令流水线的吞吐率
单位时间内流水线所完成的指令数
n TP
kT (n 1)T
▪N为通过流水线的指令数 ▪T为指令流水线各个流水段的时间 ▪kT为指令流水线的填充时间
ADD R1, R2, R3 ; (R1) + (R2) → R3 OR R3, R2, R6 ; (R2) ^ (R3) → R6 SUB R3, R4, R5 ; (R4) - (R3) → R5
时钟周期 1 2 3 4
5
6
ADD IF ID EX —— WB
OR
IF ID EX —— WB
6
❖最大吞吐率
当流水线充满之后,理想情况下每个周期都有一条指令完成
1 T P max
T
❖最大吞吐率和实际吞吐率之间的关系
TPkT(n n1)Tkn n1T 11k 11TPm ax n
当n>>k时,TP≈TPmax
❖MIPS与吞吐率
TPMIPS106
MIPS:单位时间内所完成的指令数
7
❖加速比
时钟周期 1 2 3 4 5
6
7
8
指令1 IF ID EX MEM WB
指令2
IF ID EX MEM WB
指令3
IF ID EX MEM WB
指令4
IF ID EX MEM WB
13
❖争用同一个硬件资源,又称资源相关、冲突
时钟周期 1 2 3 4
5
6
7
8
指令1 Ik时,Sp≈k 增加流水线深度可以提高加速比
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ADD Ra,Rb, Rc LD Rf,F SD Ra,A
IF ID EX MEM WB
IF ID EX MEM WB
SUB Rd,Re, Rf SD Rd,D
IF ID EX MEM WB
IF ID EX MEM WB
28
动态调度
有些信息在译码时难以确定,如是否发生异 常、访存操作需要多少周期等,静态调度就 不能完成。 动态调度:硬件会重新安排指令的执行顺序 以减少停顿并同时保持数据流和异常行为。 优点:有些相关编译无法检测、编译器更加 简单、程序性能对机器依赖少
处理器流水线相 关技术
报告人:Hardy
1
流水线技术
1.流水线的概念 2.流水线的冒险和冒险的解决办法 3.多发射处理器
2
1.流水线的概念
流水线技术:
把一个重复的过程分解为若干个子过程,每个子过 程由专门的功能部件来实现。将多个处理过程在时 间上错开,依次通过各功能段,这样,每个子过程 就可以与其他子过程并行进行。
15
2.4 数据冒险的解决办法
根据指令中读写访问的顺序,可以将数据冒 险分为三类。分别是: 写后读(RAW) 写后写 (WAW) 读后写 (WAR)
16
写后读冒险(RAW: Read After Write) 在 i 写入之前,j 先去读。j 会错误的获取旧 值。 这对应“真数据相关”,为了确保j可以得到 正确的i值,必须保持程序的顺序。
SUB Rd,Re, Rf SD Rd,D
IF ID 停 EX MEM WB
IF 停 ID EX MEM WB
27
调度后执行情况(采用了转发技术)
LD LD Rb,B Rc,C IF ID EX MEM WB IF ID EX MEM WB
LD
Re,E
IF ID EX MEM WB
IF ID EX MEM WB
25
例1 请为下列表达式生成没有暂停的流水线 指令序列: a=b+c ; d=e-f ; 假设载入延迟为1个时钟周期。
两条ALU指令(ADD Ra, Rb,Rc 和 SUB Rd,Re, Rf)分别和两条Load指令 (LW Rc,c和LW Rf,f) 之间存在数据相关。为了保 证流水线正确执行调度前的 指令序列,必须在指令执行 过程中插入两个时钟周期的 暂停。但是考察调度后的指 令序列不难发现,由于流水 线允许转发,就不必在指令 执行过程中插入任何暂停周 期。
Tomasulo算法小结
通过动态调度缓解流水线阻塞:例如减少CACHE 失效对性能的影响 保留站:重命名寄存器+缓存源操作数 •避免寄存器成为瓶颈 •避免WAW和WAR阻塞 •缺点: •硬件复杂性 •结果总线成为瓶颈,多条结果总线增加硬 件复杂度
39
流水线技术一直是提高处理器速度的最有效 技术之一。但目前的在相关处插入阻塞,转发技 术,编译器调度都是尽量分离相关问题的指令, 使他们不会导致冲突,从而减少暂停的影响。虽 然都会相应的显著减少数据相关的次数提高流水 效率,但也会不可避免的增加硬件复杂度和编译 器的复杂性。 而动态调度则可以以硬件的方式调整指令执 行顺序,使不相关的后续指令得以不受暂停的影 响而继续执行,可以在降低编译器复杂度的同时 处理一些编译阶段无法知道的相关,在出现数据 冒险是尽量避免出现流水暂停。
i: DSUB R1,R2,R3 j: DADD R4,R1,R3
17
写后写冲突(WAW: Write After Write) 在 i 写入之前,j 先写。最后写入的结果 i 是 错误的。 这对应“输出相关”,寄存器换名技术可以 消除 i: DSUB R1,R4,R3
j: DADD R1,R2,R3 k: DMUL R6,R1,R7
26
调度前执行情况(采用了转发技术)
LD Rb,B IF ID
LD
Rc,C
IF
EX ME WB M ID EX MEM WB IF ID 停 EX MEM WB IF 停 ID EX MEM WB
ADD Ra,Rb, Rc SD Ra,A
LD
LD
Re,E
Rf,F
IF ID EX MEM WB
IF ID EX MEM WB
7
2.流水线的冒险
尽管流水线可以带来处理器性能上的提高,但是不 是所有的指令就直接可以进行流水线操作,在指令 执行中的下一个周期中的下一条指令不能执行,这 种情况叫做冒险。有三类冒险:
1.结构冒险 2.数据冒险 3.控制冒险 流水线中的冒险会引起流水线停顿,部分指令就要延期执行。
8
2.1 结构冒险
当一条指令试图读取一个由前一条装载指令读入的寄存器时, 就无法使用转发解决数据冒险问题了。
23
对于装载指令的存在,我们采用了插入阻塞 (气泡,)方法解决问题。增加一个冒险检 测单元,一旦发现装载指令后就在其他需要 这个结果的指令前插入阻塞。直到可以使用 转发技术或指令可以得到结果为止。
24
编译器调度(静态调度)
Can’t happen in MIPS 5 stage pipeline because: - All instructions take 5 stages, and - Writes are always in stage 5
18
读后写冲突(WAR: Write After Read)
在 i 读之前,j 先写。i 读出的内容是错误的! 这对应“反相关” ,寄存器换名技术可以消 除
11
为消除资源冲突而插入的流水线气泡 (Bubble)
时间(时钟周期) 1 load M 2 Reg 3
ALU
4 M
5 Reg
6
7
8
ALU
指令 i+1
M
Reg
M
Reg
ALU
指令 i+2
M
ห้องสมุดไป่ตู้
Reg
M
Reg
暂
停
气泡
气泡
气泡
气泡
气泡
ALU
指令 i+3
M
Reg
M
12
解决办法二
设置相互独立的指令存储器和数据存储器或 设置相互独立的指令Cache和数据Cache。
20
在原始的数据通路中用流水线寄存器将流水线各部分分 开,这些寄存器可以存储所有穿过它的数据,寄存器的宽度 都足够大。目前流行的有128位,97位,64位。 有了流水线寄存器后,转发就变的简单了。在指令执行 的五个阶段中间各加了个寄存器记录流过的数据。
21
时间(时钟周期) 1 ADD R1,R2,R3 IM 2 Reg 3 4 DM 5 Reg 6
29
动态调度的思想
基本思想 :•把相关的解决尽量延迟到马上就会出错的时候 •前面指令的stall不影响后面指令继续前进 把译码分成两个阶段:发射和读操作数 •发射:指令译码,检查结构相关 •读操作数:检查操作数是否准备好,准备好就 读数,否则等待,当一条指令在读操作数阶段 等待时,后面指令的发射可以继续进行 •乱序执行: •指令进入是有序的 •执行可以乱序,只要没有相关就可执行,多条 指令同时执行 •结束可以乱序,也可以有序(主要是精确例外 的需要),乱序结束会导致WAR相关(静态 流水线中只有RAW和WAW相关) 30
Tomasulo算法
IBM 360/91中首次使用,由Robert Tomasulo提出 的一种支持乱序执行的高级方案。它会跟踪指令的 操作数何时可用,将RAW冒险降至最低,并在硬件 中引入寄存器重命名功能,将WAW和WAR冒险降 至最低。 现代处理器使用了该算法的各种变体,但是核心都 是: 1.跟踪指令相关以允许在操作数可用时立即执行 指令。 2.重命名寄存器以避免WAR和WAW冒险。 31
32
Tomasulo算法的流水阶段
1.发射:把操作队列的指令根据操作类型送到 保留站(如果保留站有空),发射过程中读 寄存器的值和结果状态域 2.执行:如果所需的操作数都准备好,则执行, 否则侦听结果总线并接收结果总线的值。
3.写回:把结果送到结果总线,释放保留站
33
34
35
36
37
38
流水线的描述:最常用的方法是时间-空间图
横坐标:表示时间,即各个任务在流水线中所
经过的时间 纵坐标:表示空间,即流水线的各个子过程, 也称为级、流水线深度(Stage)
3
流水线时间空间图
4
流水线技术应用到处理器中就是采用流水线 方式执行指令。一个MIPS指令包包含五个处 理步骤: 1.取指令周期(IF) 2.指令译码/读寄存器周期(ID) 3.执行操作/计算地址(EX) 4.从数据存储器中读取操作数(MEM) 5.将结果写回寄存器堆(WB)
14
时间(时钟周期) 1 DADD R1, R2, R3 IM 2 Reg 3 4 DM 5 Reg 6
ALU
ALU
DSUB R4,R1,R5
IM
Reg
DM
Reg
ALU
XOR R6,R1,R7
IM
Reg
DM
ALU
AND R8,R1,R9
IM
Reg
OR R10,R1,R11
IM
Reg
AND,OR操作不会暂停,但是DSUB,XOR指 令需要等待DADD在WB阶段写回数据后才 可以执行。
5
采用相同的功能模块,指令顺序执行和按照流水线 技术执行,在时间上可以看出流水线指令的执行速 度提高了4倍。
6
流水线的基本作用
流水线增大了CPU的指令吞吐量—即单位时 间执行指令的条数,但是它未减少指令各自 的执行时间。实际上流水线技术要对流水线 附加一些控制,因而了增加开销,使单条指 令执行时间略有增加。吞吐量的增大意味着 程序运行的更快,总的执行时间变短,尽管 没有一条指令的执行变快。