计算机体系结构问题汇总.doc_第1页
计算机体系结构问题汇总.doc_第2页
计算机体系结构问题汇总.doc_第3页
计算机体系结构问题汇总.doc_第4页
计算机体系结构问题汇总.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机体系结构百科名片计算机体系结构是指那些对程序员可见的系统属性,还包括设计思想与体系结构。简介计算机体系结构(ComputerArchitecture)是程序员所看到的计算机的属性,即概念性结构与功能特性。按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。一般来说,低级机器的属性对于高层机器程序员基本是透明的,通常所说的计算机体系结构主要指机器语言级机器的系统结构。经典的关于“计算机体系结构(computerarchitecture)”的定义是1964年C.M.Amdahl在介绍IBM360系统时提出的,其具体描述为“计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性” 。计算机体系结构基本概念计算机体系结构就是指适当地组织在一起的一系列系统元素的集合,这些系统元素互相配合、相互协作,通过对信息的处理而完成预先定义的目标。通常包含的系统元素有:计算机软件、计算机硬件、人员、数据库、文档和过程。其中,软件是程序、数据库和相关文档的集合,用于实现所需要的逻辑方法、过程或控制;硬件是提供计算能力的电子设备和提供外部世界功能的电子机械设备(例如传感器、马达、水泵等);人员是硬件和软件的用户和操作者;数据库是通过软件访问的大型的、有组织的信息集合;文档是描述系统使用方法的手册、表格、图形及其他描述性信息;过程是一系列步骤,它们定义了每个系统元素的特定使用方法或系统驻留的过程性语境。计算机体系结构8种属性1机内数据表示:硬件能直接辨识和操作的数据类型和格式计算机体系结构2寻址方式:最小可寻址单位、寻址方式的种类、地址运算3寄存器组织:操作寄存器、变址寄存器、控制寄存器及专用寄存器的定义、数量和使用规则4指令系统:机器指令的操作类型、格式、指令间排序和控制机构5存储系统:最小编址单位、编址方式、主存容量、最大可编址空间6中断机构:中断类型、中断级别,以及中断响应方式等7输入输出结构:输入输出的连接方式、处理机/存储器与输入输出设备间的数据交换方式、数据交换过程的控制8信息保护:信息保护方式、硬件信息保护机制。发展历程计算机系统已经经历了四个不同的发展阶段。计算机体系结构第一阶段60年代中期以前,是计算机系统发展的早期时代。在这个时期通用硬件已经相当普遍,软件却是为每个具体应用而专门编写的,大多数人认为软件开发是无需预先计划的事情。这时的软件实际上就是规模较小的程序,程序的编写者和使用者往往是同一个(或同一组)人。由于规模小,程序编写起来相当容易,也没有什么系统化的方法,对软件开发工作更没有进行任何管理。这种个体化的软件环境,使得软件设计往往只是在人们头脑中隐含进行的一个模糊过程,除了程序清单之外,根本没有其他文档资料保存下来。第二阶段从60年代中期到70年代中期,是计算机系统发展的第二代。在这10年中计算机技术有了很大进步。多道程序、多用户系统引入了人机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次。实时系统能够从多个信息源收集、分析和转换数据,从而使得进程控制能以毫秒而不是分钟来进行。在线存储技术的进步导致了第一代数据库管理系统的出现。计算机系统发展的第二代的一个重要特征是出现了“软件作坊”,广泛使用产品软件。但是,“软件作坊”基本上仍然沿用早期形成的个体化软件开发方法。随着计算机应用的日益普及,软件数量急剧膨胀。在程序运行时发现的错误必须设法改正;用户有了新的需求时必须相应地修改程序;硬件或操作系统更新时,通常需要修改程序以适应新的环境。上述种种软件维护工作,以令人吃惊的比例耗费资源。更严重的是,许多程序的个体化特性使得它们最终成为不可维护的。“软件危机”就这样开始出现了。1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机课题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生了。第三阶段计算机系统发展的第三代从20世纪70年代中期开始,并且跨越了整整10年。在这10年中计算机技术又有了很大进步。分布式系统极大地增加亍计算机系统的复杂性,局域网、广域网、宽带数字通信以及对“即时”数据访问需求的增加,都对软件开发者提出了更高的要求。但是,在这个时期软件仍然主要在工业界和学术界应用,个人应用还很少。这个时期的主要特点是出现了微处理器,而且微处理器获得了广泛应用。以微处理器为核心的“智能”产品随处可见,当然,最重要的智能产品是个人计算机。在不到10年的时间里,个人计算机已经成为大众化的商品。在计算机系统发展的第四代已经不再看重单台计算机和程序,人们感受到的是硬件和软件的综合效果。由复杂操作系统控制的强大的桌面机及局域网和广域网,与先进的应用软件相配合,已经成为当前的主流。计算机体系结构已迅速地从集中的主机环境转变成分布的客户机/服务器(或浏览器/服务器)环境。世界范围的信息网为人们进行广泛交流和资源的充分共享提供了条件。软件产业在世界经济中已经占有举足轻重的地位。随着时代的前进,新的技术也不断地涌现出来。面向对象技术已经在许多领域迅速地取代了传统的软件开发方法。总结软件开发的“第四代技术”改变了软件界开发计算机程序的方式。专家系统和人工智能软件终于从实验室中走出来进入了实际应用,解决了大量实际问题。应用模糊逻辑的人工神经网络软件,展现了模式识别与拟人信息处理的美好前景。虚拟现实技术与多媒体系统,使得与用户的通信可以采用和以前完全不同的方法。遗传算法使我们有可能开发出驻留在大型并行生物计算机上的软件。基本原理计算机体系结构解决的是计算机系统在总体上、功能上需要解决的问题,它和计算机组成、计算机实现是不同的概念。一种体系结构可能有多种组成,一种组成也可能有多种物理实现。计算机体系结构计算机系统结构的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等。其目标是合理地把各种部件、设备组成计算机,以实现特定的系统结构,同时满足所希望达到的性能价格比。一般而言,计算机组成研究的范围包括:确定数据通路的宽度、确定各种操作对功能部件的共享程度、确定专用的功能部件、确定功能部件的并行度、设计缓冲和排队策略、设计控制机构和确定采用何种可靠技术等。计算机组成的物理实现。包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接,专用器件的设计,信号传输技术,电源、冷却及装配等技术以及相关的制造工艺和技术。分类Flynn分类法1966年,Michael.J.Flynn提出根据指令流、数据流的多倍性(multiplicity)特征对计算机系统进行分类,定义如下。指令流:机器执行的指令序列计算机体系结构数据流:由指令流调用的数据序列,包括输入数据和中间结果多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。Flynn根据不同的指令流-数据流组织方式把计算机系统分为4类。1单指令流单数据流(SingleInstructionStreamSingleDataStream,SISD)SISD其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。2单指令流多数据流(SingleInstructionStreamMultipleDataStream,SIMD)SIMD以并行处理机为代表,结构如图,并行处理机包括多个重复的处理单元PU1PUn,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同的数据。3多指令流单数据流(MultipleInstructionStreamSingleDataStream,MISD)MISD的结构,它具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。4多指令流多数据流(MultipleInstructionStreamMultipleDataStream,MIMD)MIMD的结构,它是指能实现作业、任务、指令等各级全面并行的多机系统,多处理机就属于MIMD。(2)冯式分类法1972年冯泽云提出用最大并行度来对计算机体系结构进行分类。所谓最大并行度Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。设每一个时钟周期ti内能处理的二进制位数为Pi,则T个时钟周期内平均并行度为Pa=(Pi)/T(其中i为1,2,T)。平均并行度取决于系统的运行程度,与应用程序无关,所以,系统在周期T内的平均利用率为=Pa/Pm=(Pi)/(T*Pm)。用最大并行度对计算机体系结构进行的分类。用平面直角坐标系中的一点表示一个计算机系统,横坐标表示字宽(N位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽度(M位),即在一个位片中能同时处理的字数,则最大并行度Pm=N*M。由此得出四种不同的计算机结构:字串行、位串行(简称WSBS)。其中N=1,M=1。字并行、位串行(简称WPBS)。其中N=1,M1。字串行、位并行(简称WSBP)。其中N1,M=1。字并行、位并行(简称WPBP)。其中N1,M1。编辑本段技术革新计算机体系结构以图灵机理论为基础,属于冯诺依曼体系结构。本质上,图灵机理论和冯诺依曼体系结构是一维串行的,而多核处理器则属于分布式离散的并行结构,需要解决二者的不匹配问题。首先,串行的图灵机模型和物理上分布实现的多核处理器的匹配问题。图灵机模型意味着串行的编程模型。串行程序很难利用物理上分布实现的多个处理器核获得性能加速.与此同时,并行编程模型并没有获得很好的推广,仅仅局限在科学计算等有限的领域.研究者应该寻求合适的机制来实现串行的图灵机模型和物理上分布实现的多核处理器的匹配问题或缩小二者之间的差距,解决“并行程序编程困难,串行程序加速小”的问题。计算机体系结构在支持多线程并行应用方面,未来多核处理器应该从如下两个方向加以考虑。第一是引入新的能够更好的能够表示并行性的编程模型。由于新的编程模型支持编程者明确表示程序的并行性,因此可以极大的提升性能。比如Cell处理器提供不同的编程模型用于支持不同的应用。其难点在于如何有效推广该编程模型以及如何解决兼容性的问题。第二类方向是提供更好的硬件支持以减少并行编程的复杂性。并行程序往往需要利用锁机制实现对临界资源的同步、互斥操作,编程者必须慎重确定加锁的位置,因为保守的加锁策略限制了程序的性能,而精确的加锁策略大大增加了编程的复杂度。一些研究在此方面做了有效的探索。比如,SpeculativeLockElision机制允许在没有冲突的情况下忽略程序执行的锁操作,因而在降低编程复杂度的同时兼顾了并行程序执行的性能。这样的机制使得编程者集中精力考虑程序的正确性问题,而无须过多地考虑程序的执行性能。更激进的,TransactionalCoherenceandConsistency(TCC)机制以多个访存操作(Transaction)为单位考虑数据一致性问题,进一步简化了并行编程的复杂度。主流的商业多核处理器主要针对并行应用,如何利用多核加速串行程序仍然是一个值得关注的问题。其关键技术在于利用软件或硬件自动地从串新程序中派生出能够在多核处理器上并行执行的代码或线程。多核加速串行程序主要有三种方法,包括并行编译器、推测多线程以及基于线程的预取机制等。在传统并行编译中,编译器需要花费很大的精力来保证拟划分线程之间不存在数据依赖关系。编译时存在大量模糊依赖,尤其是在允许使用指针(如C程序)的情况下,编译器不得不采用保守策略来保证程序执行的正确性。这大大限制了串行程序可以挖掘的并发程度,也决定了并行编译器只能在狭窄范围使用。为解决这些问题,人们提出推测多线程以及基于线程的预取机制等。然而,从这种概念提出到现在为止,这个方向的研究大部分局限于学术界,仅有个别商业化处理器应用了这种技术,并且仅仅局限于特殊的应用领域。我们认为动态优化技术和推测多线程(包括基于线程的预取机制)的结合是未来的可能发展趋势。冯诺依曼体系结构的一维地址空间和多核处理器的多维访存层次的匹配问题。本质上,冯诺依曼体系结构采用了一维地址空间。由于不均匀的数据访问延迟和同一数据在多个处理器核上的不同拷贝导致了数据一致性问题。该领域的研究分为两大类:一类研究主要是引入新的访存层次。新的访存层次可能采用一维分布式实现方式。典型的例子是增加分布式统一编址的寄存器网络。全局统一编址的特性避免了数据一致性地考虑。同时,相比于传统的大容量cache访问,寄存器又能提供更快的访问速度。TRIPS和RAW都有实现了类似得寄存器网络。令另外,新的访存层次也可以是私有的形式。比如每个处理器和都有自己私有的访存空间。其好处是更好的划分了数据存储空间,已洗局部私有数据没有必要考虑数据一致性问题。比如Cell处理器为每个SPE核设置了私有的数据缓冲区。另一类研究主要涉及研制新的cache一致性协议。其重要趋势是放松正确性和性能的关系。比如推测Cache协议在数据一致性未得到确认之前就推测执行相关指令,从而减少了长迟访存操作对流水线的影响。此外,TokenCoherence和TCC也采用了类似的思想。程序的多样性和单一的体系结构的匹配问题。未来的应用展现出多样性的特点。一方面,处理器的评估不仅仅局限于性能,也包括可靠性,安全性等其他指标。另一方面,即便考虑仅仅追求性能的提高,不同的应用程序也蕴含了不同层次的并行性。应用的多样性驱使未来的处理器具有可配置、灵活的体系结构。TRIPS在这方面作了富有成效的探索,比如其处理器核和片上存储系统均有可配置的能力,从而使得TRIPS能够同时挖掘指令级并行性、数据级并行性及指令级并行性。多核和Cell等新型处理结构的出现不仅是处理器架构历史上具有里程碑式的事件,对传统以来的计算模式和计算机体系架构也是一种颠覆2005年,一系列具有深远影响的计算机体系结构被曝光,有可能为未来十年的计算机体系结构奠定根本性的基础,至少为处理器乃至整个计算机体系结构做出了象征性指引。随着计算密度的提高,处理器和计算机性能的衡量标准和方式在发生变化,从应用的角度讲,讲究移动和偏向性能两者已经找到了最令人满意的结合点,并且有可能引爆手持设备的急剧膨胀。尽管现在手持设备也相对普及,在计算能力、可扩展性以及能耗上,完全起步到一台手持设备应该具备的作用;另一方面,讲究性能的服务器端和桌面端,开始考虑减少电力消耗赶上节约型社会的大潮流。Cell本身适应这种变化,同样也是它自己创造了这种变化。因而从它开始就强调了不一样的设计风格,除了能够很好地进行多倍扩展外,处理器内部的SPU(SynergisticProcessorUnit协同处理单元)具有很好的扩展性,因而可以同时面对通用和专用的处理,实现处理资源的灵活重构。也就意味着,通过适当的软件控制,Cell能应付多种类型的处理任务,同时还能够精简设计的复杂。计算机组成概念计算机组成(computer organization)指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。计算机组成的任务是在指令集系统结构确定分配给硬件系统的功能和概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令集的各种功能和特性。这种联系包括各功能部件的内部和相互作用。计算机组成要解决的问题是在所希望达到的性能和价格下,怎样最佳,最合理地把各个数倍和部件组成成计算机,已实现所确定的ISA。计算机组成设计要确定的方面应包括:(1)数据通路宽度:数据总线上一次并行传送的信息位数。(2)专用部件的设置:是否设置乘除法、浮点运算、字符处理、地址运算等专用部件,设置的数量与机器要达到的速度、价格及专用部件的使用频度等有关。(3)各种操作对部件的共享程度:分时共享使用程度高,虽限制了速度,但价格便宜。设置部件多降低共享程度,因操作并行度提高,可提高速度,但价格也会提高。(4)功能部件的并行度:是用顺序串行,还是用重叠、流水或分布式控制和处理。(5)控制机构的组成方式:用硬联还是微程序控制,是单机处理还是多机或功能分布处理。(6)缓冲和排队技术:部件间如何设置及设置多大容量的缓冲器来协调它们的速度差;用随机、先进先出、先进后出、优先级,还是循环方式来安排事件处理的顺序。(7)预估、预判技术:为优化性能用什么原则预测未来行为。(8)可靠性技术:用什么冗余和容错技术来提高可靠性。局部性原理局部性原理: CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。三种不同类型的局部性:时间局部性(Temporal Locality):如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。程序循环、堆栈等是产生时间局部性的原因。空间局部性(Spatial Locality):在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。顺序局部性(Order Locality):在典型程序中,除转移类指令外,大部分指令是顺序进行的。顺序执行和非顺序执行的比例大致是5:1。此外,对大型数组访问也是顺序的。指令的顺序执行、数组的连续存放等是产生顺序局部性的原因。并行性并行性是指计算机系统具有可以同时进行运算或操作的特性,在同一时间完成两种或两种以上工作。它包括同时性与并发性两种含义。同时性指两个或两个以上事件在同一时刻发生。并发性指两个或两个以上事件在同一时间间隔发生。计算机中提高并行性的措施多种多样,就是基本思想而言,可以归纳为如下3条途径:(1)时间重叠。相邻处理过程在时间上错开,轮流重叠使用同一套硬件的各部分。(2)资源重复。重复设置硬件资源提高可靠性和性能。(3)资源共享。让多个用户按照一定的时间顺序轮流使用同一套资源,提高资源利用率。并发的实质是一个物理CPU(也可以多个物理CPU)在若干道程序之间多路复用,并发性是对有限物理资源强制行驶多用户共享以提高效率。实现幷发技术的关键之一是如何对系统内的多个活动(进程)进行切换。并行性指的是两个或两个以上的事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。并行性通常可分为4个级别:作业级或程序级、任务级或程序级、指令之间级和指令内部级。前两级为粗粒级,又称为过程级;后两级为细粒级,又称为指令级。选取指令集中的4种寻址方式(1)立即数寻址; (2)寄存器寻址; (3)直接寻址; (4)寄存器间接寻址; (5)寄存器相对寻址方式; (6)基址变址寻址方式;7相对基址变址寻址方式流水线技术百科名片流水线(pipeline)技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由56个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成56步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水。产生背景借鉴了工业流水线制造的思想,现代CPU也采用了流水线设计。在工业制造中采用流水线可以提高单位时间的生产量;同样在CPU中采用流水线设计也有助于提高CPU的频率。先以汽车装流水线技术配为例来解释流水线的工作方式。假设装配一辆汽车需要4个步骤:1.冲压:制作车身外壳和底盘等部件,2.焊接:将冲压成形后的各部件焊接成车身,3.涂装:将车身等主要部件清洗、化学处理、打磨、喷漆和烘干,4.总装:将各部件(包括发动机和向外采购的零部件)组装成车;同时对应地需要冲压、焊接、涂装和总装四个工人。采用流水线的制造方式,同一时刻四辆汽车在装配。如果不采用流水线,那么第一辆汽车依次经过上述四个步骤装配完成之后,下一辆汽车才开始进行装配,最早期的工业制造就是采用的这种原始的方式。未采用流水线的原始制造方式,同一时刻只有一辆汽车在装配。不久之后就发现,某个时段中一辆汽车在进行装配时,其它三个工人处于闲置状态,显然这是对资源的极大浪费!于是开始思考能有效利用资源的方法:在第一辆汽车经过冲压进入焊接流水线技术工序的时候,立刻开始进行第二辆汽车的冲压,而不是等到第一辆汽车经过全部四个工序后才开始。之后的每一辆汽车都是在前一辆冲压完毕后立刻进入冲压工序,这样在后续生产中就能够保证四个工人一直处于运行状态,不会造成人员的闲置。这样的生产方式就好似流水川流不息,因此被称为流水线。CPU的工作也可以大致分为指令的获取、解码、运算和结果的写入四个步骤,采用流水线设计之后,指令(好比待装配的汽车)就可以连续不断地进行处理。在同一个较长的时间段内,显然拥有流水线设计的CPU能够处理更多的指令。具体分类流水线功能繁杂,种类也非常多;如果按照处理级别来分类,流水线可以有操作部件级、指令级和处理机级;如果按照流水线可以完成的动作的数量来分类,又可以分为单功能和流水线技术多功能流水线;如果按照流水线内部的功能部件的连接方式来分类,则有线性流水线和非线性流水线;按照可处理对象来分类,还可以有标量流水线和向量流水线。流水线的分类:1、按处理级别分:功能部件级:在实现较为复杂的运算时采用指令级:将一条指令执行过程分为多个阶段处理器间级:每个处理器完成其专门的任务。2、按完成的功能分类:单功能流水线:只完成一种如乘法或浮点运算等,多用于数字信号处理器(DSP),各处理器可并行完成各自的功能,加快整机处理速度。多功能流水线:在不同情况下可完成不同功能流水线技术3、按连接的方式分类:静态流水线:同一时间内,多功能结构只能按一种功能的连接方式工作。动态流水线:同一时间内,可以有多种功能的连接方式同时工作。4、按处理的数据类型分类:标量流水线:一般数据向量流水线:矢量数据。X+Y=Z每一个代表一维数据。5、流水线结构上分类:线性流水线:指各功能模块顺序串行连接,无反馈回路,如前面介绍的。非线性流水线:带有反馈回路的流水线。性能指标衡量一种流水线处理方式的性能高低的书面数据主要由吞吐率、效率和加速比这三个参数来决定。吞吐率指的是计算机中的流水线在特定的时间内可以处理的任务或输出数据的结果的数量。流水线的吞吐率可以进一步分为最大吞吐率和实际吞吐率。它们主要和流水段的处理时间、缓存寄流水线技术存器的延迟时间有关,流水段的处理时间越长,缓存寄存器的延迟时间越大,那么,这条流水线的吞吐量就越小。因为,在线性流水线中,最大吞吐率Tpmax=流水线时钟周期T/1=max(T1,.Ti,.Tm)+T1/1,而其中,m是流水线的段数,i是特定过程段执行时间。如果,一条流水线的段数越多,过程执行时间越长,那么,这条流水线的理论吞吐率就越小。由此,要对于流水线的瓶颈部分的处理主要在于减少流水段的处理时间。实现的方法一般有两种:1、把瓶颈部分的流水线分拆,以便任务可以充分流水处理。流水段的处理时间过长,一般是由于任务堵塞造成的,而任务的堵塞会导致流水线不能在同一个时钟周期内启动另一个操作,可以把流水段划分,在各小流水段中间设置缓存寄存器,缓冲上一个流水段的任务,使流水线充分流水。假如X流水段的处理时间为3T,可以把X流水段再细分成3小段,这样,每小段的功能相同,但是处理时间已经变成3T/3=T了。流水线技术2、在瓶颈部分设置多条相同流水段,并行处理。对付流水段的处理时间过长,还有另外一种方法,那就是把瓶颈流水段用多个相同的并联流水段代替,在前面设一个分派单元来对各条流水段的任务进行分派。仍然假设瓶颈流水段的处理时间是3T,那么经过3条并联流水段的同时处理,实际需要的时间只是T。这样,就达到了缩短流水段处理时间,但这种方法比较少以采用,因为要3段相同的流水段并联,成本较高,而且,分派单元会比较麻烦处理。加速比是指某一流水线如果采用串行模式之后的工作速度和采用流水线模式后的工作速度的比值,数值越大,说明这条流水线的工作安排方式越好。效率使用效率:指流水线中,各个部件的利用率。由于流水线在开始工作时存在建立时间;在结束时存在排空时间,各个部件不可能一直在工作,总有某个部件在某一个时间处于闲置状态。用处于工作状态的部件和总部件的比值来说明这条流水线的工作效率。影响因素流水线处理方式是一种时间重叠并行处理的处理技术,具体地说,就是流水线可以在同一个时间启动2个或以上的操作,借此来提高性能。为了实现这一点,流水线必须要时流水线技术时保存畅通,让任务充分流水,但在实际中,会出现2种情况使流水线停顿下来或不能启动:1、多个任务在同一时间周期内争用同一个流水段。例如,假如在指令流水线中,如果数据和指令是放在同一个储存器中,并且访问接口也只有一个,那么,两条指令就会争用储存器;在一些算数流水线中,有些运算会同时访问一个运算部件。2、数据依赖。比如,A运算必须得到B运算的结果,但是,B运算还没有开始,A运算动作就必须等待,直到A运算完成,两次运算不能同时执行。解决方案:第一种情况,增加运算部件的数量来使他们不必争用同一个部件;第二种情况,用指令调度的方法重新安排指令或运算的顺序。技术规范超级流水线超级流水线(SuperPipeline)又叫做深度流水线,它是提高cpu速度通常采取的一种技术。CPU处理指令是通过Clock来驱动的,每个clock完成一级流水线操作。每个周期所做的操作越少,需要的时间就越短,时间越短,频率就可以提得越高。超级流水线就是将cpu处理指令是得操作进一步细分,增加流水线级数来提高频率。频率高了,当流水线开足马力运行时平均每个周期完成一条指令(单发射情况下),这样cpu处理得速度久提高了。当然,这是理想情况下,一般是流水线级数越多,重叠执行的执行就越多,那么发生竞争冲突得可能性就越大,对流水线性能有一定影响现在很多cpu都是将超标量和超级流水线技术一起使用,例如pentiumIV,流水线达到20级,频率最快已经超过3GHZ。教科书上用于教学的经典MIPS只有5级流水。超标量将一条指令分成若干个周期处理以达到多条指令重叠处理,从而提高cpu部件利用率的技术叫做标量流水技术。超级标量是指cpu内一般能有多条流水线,这些流水线能够并行处理。在单流流水线技术水线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论