流水线技术--MIPS R4000流水线计算机简介
- 格式:ppt
- 大小:384.00 KB
- 文档页数:14
计算机流⽔线(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。
流⽔线在组成上,有三个基本要求。
第⼀,各个段的操作要相互独⽴、相互分离。
因此,每个段的源数据必须来⾃时序部件,结果也要存到时序部件。
实现上,我们设置段间寄存器,其中保存本段的所有后续段需要的本段的数据、地址、命令等。
第⼆,各个流⽔段的操作要同步执⾏。
实现上,我们会设置公共拍时钟,使得段间寄存器被同时写⼊。
拍时钟的周期需要取为各个段长的最⼤值。
第三,各个流⽔段的操作必须⽆冲突,以保证结果正确。
具体⽽⾔,就是消除冒险。
实现上,通过增设部件和控制器,来消除各种冒险。
流⽔线可以按其属性进⾏多种分类。
按处理的级别,可以分为操作级流⽔线、指令级流⽔线、处理机级流⽔线。
按功能,可以分为单功能和多功能流⽔线。
多功能流⽔线的各流⽔段可以进⾏不同的连接,从⽽完成不同的功能。
按⼯作⽅式,可以分为静态流⽔线和动态流⽔线。
静态流⽔线在进⾏功能切换时,必须排空。
显然,动态流⽔线⼀定是多功能流⽔线。
按结构,可以分为线性流⽔线和⾮线性流⽔线。
所谓⾮线性流⽔线,就是其中有部件的复⽤。
按流⼊流出的次序,可以分为顺序流⽔线和乱序流⽔线。
超标量处理机和超流⽔线处理机——计算机系统结构在表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处理器
赵信
【期刊名称】《微计算机信息》
【年(卷),期】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],
因版权原因,仅展示原文概要,查看原文内容请购买。
计算机组成原理基础知识流水线技术和超标量处理器计算机组成原理基础知识:流水线技术和超标量处理器计算机组成原理是指计算机硬件的基本组成和工作原理。
在计算机科学与技术领域,流水线技术和超标量处理器是两个重要的概念。
本文将介绍这两种技术的基本原理和应用。
一、流水线技术流水线技术是指将一个复杂的操作分解成多个简单的子操作,并将这些子操作连续地执行,以提高计算机的指令执行效率。
在传统的自顶向下的设计方法中,计算机硬件主要包括控制器、运算器等单一功能模块,而在流水线技术中,计算机硬件被划分成多个阶段,每个阶段执行一个特定的功能子模块。
经典的流水线包括取指、译码、执行、访存和写回等阶段。
在取指阶段,计算机从存储器中读取指令;在译码阶段,计算机对指令进行解码并读取相应的操作数;在执行阶段,计算机执行相应的操作;在访存阶段,计算机对数据进行读写操作;在写回阶段,计算机将执行结果写回到寄存器或存储器。
流水线技术的优点是可以充分利用计算机硬件资源,提高指令的并行执行程度。
但是,流水线技术也存在一些问题,例如数据的相关性和冒险问题,需要通过一些技术手段来解决。
二、超标量处理器超标量处理器是一种在流水线技术基础上的改进方案。
传统的流水线技术中,每个阶段只能执行一个指令,而超标量处理器允许在同一个时钟周期内执行多个指令,以进一步提高计算机的执行效率。
超标量处理器主要依靠两个关键技术来实现多指令并行执行:乱序执行和动态调度。
乱序执行是指根据指令之间的依赖关系,按照合理的顺序执行指令,而不是按照指令在程序中的顺序执行。
动态调度是指通过硬件对指令进行调度,在不改变程序语义的前提下,尽可能地重排指令的执行顺序,以提高指令的并行度。
超标量处理器的工作原理可以简单描述为:在取指阶段,计算机从存储器中读取多个指令;在译码阶段,计算机对这些指令进行解码;在执行阶段,计算机并行执行多个指令;在访存阶段,计算机同时进行多个数据的读写操作;在写回阶段,计算机将执行结果写回到寄存器或存储器。
什么是流水线技术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从串行工作变为并行工作,从而具有了流水线的雏型。
计算机组成原理流水线与超标量技术的性能优化近年来,随着计算机应用的日益广泛和复杂化,对计算机性能的要求也越来越高。
为了提高计算机的运算速度和效率,人们不断探索和研究各种性能优化技术。
其中,流水线和超标量技术是两种常见且有效的优化方法。
一、流水线技术流水线技术是一种基于指令级并行的优化方法,它将计算机指令划分为不同的阶段,每个阶段分配一个专门的硬件模块来执行相应的操作。
通过将多条指令同时并行执行,流水线技术能够显著提高计算机的执行效率。
在流水线技术中,我们通常将指令的执行过程分为取指令、译码、执行、访存和写回五个阶段。
每个阶段由不同的硬件模块负责完成,并且能够同时处理多条指令。
这样一来,计算机就可以在同一个时间周期内执行多条指令,提高了整体的运算速度。
然而,流水线技术也存在一些问题。
首先,流水线的效率受制于指令之间的依赖关系。
如果一条指令的执行需要依赖前面指令的结果,那么流水线就会发生阻塞,降低了执行效率。
此外,流水线还会引入一定的硬件代价,包括冲突检测和调度机制的设计等。
为了更好地优化流水线技术的性能,人们提出了一系列的解决方案。
例如,通过添加冗余的硬件单元来处理指令间的依赖关系,即预测执行和乱序执行技术。
此外,还可以通过设置更多的流水线段数,增加流水线的深度,从而提高整体的执行效率。
二、超标量技术相比于流水线技术,超标量技术更加复杂和灵活,可以同时启动并行执行多条指令,进一步提高计算机的性能。
超标量技术可以通过增加硬件资源和优化指令调度的方式来实现。
在超标量技术中,我们将计算机指令分为多个指令流,并且每个指令流都可独立执行。
这样一来,计算机就能够同时执行多条指令,提高整体的运算速度。
超标量技术的核心在于指令调度,通过智能地选择和排序指令,使得多条指令可以并行执行。
与流水线技术相比,超标量技术能够更好地处理指令之间的依赖关系。
当一条指令的执行需要依赖其他指令的结果时,超标量技术可以灵活地选择其他可执行的指令来填充空闲的硬件执行单元。