数据库系统工程师教程知识点精讲之计算机组成(二)

数据库系统工程师 责任编辑:长颈鹿 2016-04-21

添加老师微信

备考咨询

加我微信

摘要:接上篇,本章主要论述了数据库系统工程师教程的重要知识点计算机组成,中央处理器是计算机的控制、运算中心,它主要通过总线和其他设备进行联系。另外,在嵌入式系统设计中,外部设备也常常直接连接到中央处理器的外部I/O(Input/Output,输入/输出)脚的相关引脚上。中央处理器的类型和品种异常丰富,各种中央处理器的性能也差别很大,有不同的内部结构及不同的指令系统。但都是基于冯·诺依曼结构,因而其

    >>>>数据库系统工程师网络课堂

    >>>>数据库系统工程师面授班

    >>>>数据库系统工程师在线辅导班 

      计算机组成

      中央处理器是计算机的控制、运算中心,它主要通过总线和其他设备进行联系。另外,在嵌入式系统设计中,外部设备也常常直接连接到中央处理器的外部I/O(Input/Output,输入/输出)脚的相关引脚上。

      中央处理器的类型和品种异常丰富,各种中央处理器的性能也差别很大,有不同的内部结构及不同的指令系统。但都是基于冯·诺依曼结构,因而其基本组成部分相似。

      4、时序产生器和控制方式

      为了使得计算机各部件同步工作,计算机中都有一个脉冲源,通常是晶振。这个脉冲源产生主振脉冲,主振脉冲的时间间隔为主振周期,即时钟周期。中央处理器执行指令的时间(包括取指)为指令周期,由于指令可能有不同的复杂度,所以,每种指令的指令周期可能不同。CPU(Central Process Unit)周期也称机器周期,一般是从内存中读一个指令的最短时间。CPU周期又由若干个时钟周期组成。指令周期与时钟周期的关系如图1-3所示。

      通常把CPU执行指令的各个微操作遵循的时间顺序叫时序。时序图是形象地表示信号线上信息变化的时间序列的图形。

      组合逻辑控制和微程序控制是两种基本的控制方式。

      1.组合逻辑控制

      使用专门逻辑电路的控制方式,它的实现有硬件接线控制和可编程逻辑阵列两种。硬件连线法最直接,可以用较少的元件实现最快的速度,但是如果要更改,只有重新设计。可编程逻辑阵列采用低成本大规模集成电路的方式。组合逻辑控制灵活性很差,在复杂指令系统计算机中难以处理不断增加的复杂指令,但是它使用的电子原件少,在精简指令计算机中发挥了很大的作用。

      2.微程序控制

      为提高控制的灵活性,许多中央处理器采用了微程序控制的控制方法,先看如下的几个概念。

      微程序:微程序对应一组机器指令,若干个微指令序列形成一段微程序。而微指令又可细分为若干个微操作。微程序存在控制内存内。

      微操作:微操作是最基本的操作,可分为相容性微操作和不相容性微操作,这两种微操作的区别在于:是否能在一个CPU周期内并行执行。

      3.微指令格式

      微指令格式如图1-4所示。

      在如图1-4所示的前半部分,存放着对各种控制门进行激活或关闭的控制信息;后半部分是后续微指令的地址。微指令格式实现了数据结构中的单向列表。

4.jpg

      操作控制字段的格式有如下两种。

      水平型微指令:操作控制字段的每一位控制不同的控制门,可以在一个微指令中定义。执行多个并行的微操作的优点是效率高、灵活,执行时间短。

      垂直型微指令:与水平型微指令相比,其格式要短,一条微指令中包括的微操作少,只有1~2个。由于其指令字短,所以比较容易掌握。

      在实践中也常常使用混合型微指令,即水平型微指令和垂直型微指令的混合。

      5、指令流、数据流和计算机的分类

      首先介绍指令流和数据流的定义。

      指令流:机器执行的指令序列。

      数据流:由指令流调用的数据序列,包括输入数据和中间结果。

      1.计算机根据多倍性的分类

      按照计算机在一个执行阶断能执行的指令或能处理数据的最大可能个数,人们把计算机分成4种,如表1-1所示。

5.jpg

      SISD(Single Instruction Single Data,单指令流单数据流):这是最简单的方式,计算机每次处理一条指令,并只对一个操作部件分配数据。

      SIMD(SingleInstructionMultipleData,单指令流多数据流):具备SIMD点的常常是并行处理机,这种处理机具备多个处理单元,每次都执行同样的指令,对不同的数据单元进行处理。这种计算机非常适合于处理矩阵计算等。

      MISD(Multiple Instruction Single Data,多指令流单数据流):这种处理方式比较难以想象,有多个处理单元,同时执行不同的指令,但针对的是单一数据。有资料认为流水线处理机,是每个数据由不同操作部件对其进行处理。

      MIMD(Multiple Instruction Multiple Data,多指令流多数据流):这是一种全面的并行处理,典型的是多处理机。这种计算机的设计和控制都很复杂。

      2.计算机按照程序流程机制的分类

      1)控制流计算机

      这是通常见到的计算机,使用程序计数器(PC)来确定下一条指令的地址。指令程序流由程序员直接控制,其主存是共享的,存储区可以为多指令修改(后面将会提到),这容易产生数据相关性,对并行性不利。

      2)数据流计算机

      在冯·诺依曼体系中,计算机是指令流驱动的,而数据流则是处于被动地位,这看起来合理,但在某些时候也不尽然。相对比的是数据流驱动,即一旦数据准备好,则立即开始执行相关的指令,这种非冯·诺依曼体系仍然在探索中。目前,对冯·诺依曼体系的改良已有相当的成果,即流水线技术和并行计算机。

      在数据流计算机中,数据不在共享的存储器中,而是在指令间传送,成为令牌。当需要使用该数据的指令收到令牌,开始执行之后,该令牌即消失,执行的指令将执行的结果数据当做新的令牌发送。这种方式不再需要程序计数器及共享的存储器,但需要检测数据可用性的专门部件,以建立、识别、处理数据令牌标记所需要的时间和空间。

      在其他一些方面,数据流计算机还有一些困难需要克服。例如,在数据流计算机中,由于没有程序计数器,使得程序的调试和诊断变得困难。因为没有共享的存储器,也就无法控制其分配,无法支持数组、递归等操作。

      3)归约机(ReductionsMachine)

      亦称需求驱动,是对一个操作结果的需求而启动的。归约机采用一种"惰性计算"的方式,操作只有在另一条指令需要这个操作的结果时才执行。例如,当计算5+(6×2-10)时,归约机并非先去计算6×2,而是先计算整个算式,碰到(6×2-10)再启动一个过程去计算它,最后碰到需要计算6×2,计算后一层层退回,得到整个算术的值。由于需求驱动可减少那些不必要的求值操作,因而可以提高系统效率。

      归约机是一种面向函数式语言,或以函数式语言为机器语言的机器。函数式语言程序没有诸如指令计数器、数据存储器和程序当前状态之类的概念。这种语言的程序是纯数学意义上的函数,它作用于程序的输入,得到的结果值就是程序的输出。因此它不具有副作用,保证了程序各部分的并发执行。

      6、处理器性能

    计算机系统是一个极其复杂的系统,不同的指令系统、不同的体系实现方式、不同数量的硬件及不同部件的组合,都对计算机的性能造成这样或那样的影响。而且不同的应用对处理器的性能方面有不同的要求。这就要求对处理器性能评价需要综合考虑,全面地衡量处理器的性能。

      1.影响处理器性能的因素

      1)基本字长

      运算器进行计算的位数称为基本字长。字长越长,处理器计算的精度就越高,复杂度也越高。这是因为基本字长增加不但要增加运算器的复杂度,而且需要同时增加寄存器和总线的宽度。

      2)数据通路宽度

      数据通路宽度指的是数据总线一次所能并行传送的位数。它体现了信息的传送能力,从而影响计算机的有效处理速度。在处理器内部,数据通路的宽度一般是基本字长,而外部总线的数据通路宽度则不一定。如果外部数据通路宽度小于基本字长,那么运算器需要的数据,必需多次通过总线从主存传递到处理器内部。

      3)指令系统

      不同的指令系统对处理器的性能也有非常大的影响。在前面已经讨论过精简指令系统和复杂指令系统之间的不同。另外,有的处理器对一些专门的应用增加了专门的指令,使得这些处理器在处理专门任务时能够"得心应手".

      4)时钟频率

      通常来说,提高处理器的时钟频率能够提高系统的性能,因为在同样的时间内,提高时钟频率,使得时钟周期减少,从而指令的执行时间减少。

      5)流水线技术

      处理器使用流水线技术能够使不同指令的不同执行部分,使用不同的处理单元同时执行。例如,将一个指令的取指、移码、取操作数、执行、写结果分别由不同的处理单元处理,能有效地提高处理器的性能。另外,处理器把这些不同的处理单元在硬件上重复,形成多条流水线,以期更加提高性能。无疑,流水线增加了处理器的复杂度,不但处理单元要分开,而且需要增加流水线管理部分的电路。

      6)内部数据/指令缓存

      使用存储器内部的数据或指令缓存,能够减少处理器访问较慢的内存的次数,从而提高处理器的性能。缓存当然越大越好。在缓存命令失败时,就需要从主存提取数据,这个判断需要增加控制电路。如果缓存太小或管理不当,有可能对性能造成负面影响。

      2.处理器性能的评价

      评价处理器性能可以是直接给出处理器每条指令的执行时间,或者是指令系统中的指令执行时间的某种加权评价,以及计算处理器每秒能执行多少个加法指令。1个MIPS(Million Instructions Per Second,每秒百万条指令)指的是处理器每秒能完成1×106条指令。

      这样的简单评价方法随着计算机应用的不断发展显得过于简单,局限性也日益暴露,由此很快便出现了改进的方法,主要有以下3种。

      1)等效指令速度法

      这种方法把指令分成若干种不同的类型,分别统计各种类型的指令在整个程序中的比例和执行时间,以此来计算等效指令速度。

      采用固定比率的方法来计算处理器的执行时间,不能灵活地适应不同的程序应用存在的指令频率不同,不能反映出不同处理器之间数据长度和指令功能强弱对处理器性能的影响,同时也不能反映处理器内部数据缓存、流水线等对性能的影响。

      2)数据处理速度法

      这种方法试图给出处理器的"数据处理速度".这只考虑了不同指令及不同操作数的平均长度对处理器性能的影响。这种方法主要对处理器和主存储器的速度进行度量,没有涉及Cache、多功能部件等技术对性能的影响。

      3)核心程序法

      这种方法在归纳总结应用程序中,把使用得最为频繁的那部分程序作为核心程序。即将这些程序放在不同的处理器上运行,运行时间作为不同处理器的性能评价依据。使用精挑细选的核心程序,能够比较全面地评价处理器对某种应用程序的性能。与实际的应用程序相比,核心程序由于比较小,所以缓存利用率就高。

    相关推荐:

      数据库系统工程师教程知识点精讲之计算机组成(一)

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!