本章学习目标:
1.简单了解计算机发展的历史,各代计算机的技术特点。尤其注意各代计算机在系统结构上的改进。
2.掌握系统结构的定义,以及它与计算机组成、实现的区别。
3.掌握Amdalh定律,Cpu性能公式,并能熟练运用。
4.了解计算机设计者的主要任务,设计方法。
5.了解系统结构的评价标准,能根据这些标准作出判断。
6.熟悉冯·诺依曼结构。
计算机系统结构的定义
"计算机系统结构" (computer \r\narchitecture)一词的含义有多种说法,并无统一的定义。它是 Amdahl 等人在 1964 \r\n年提出的。他们把系统结构定义为由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性。这实际上是计算机系统的外特性。按照计算机层次结构,不同程序设计者所看到的计算机有不同的属性。使用高级语言的程序员所看到的计算机属性主要是软件子系统和固件子系统的属性,包括程序语言以及操作系统、数据库管理系统、网络软件等用户界面。
计算机系统层次结构
计算机系统由硬件/器件和软件组成,按功能划分成多级层次
计算机计算组成与实现
计算机组成的任务是在计算机系统结构确定分配给硬件子系统的功能及其概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。计算机组成是计算机系统结构的逻辑实现,包括机器内部的数据流和控制流的组成以及逻辑设计等。
计算机实现指的是计算机组成的物理实现,包括处理机、存储器等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。它着眼于器件技术和微组装技术,其中器件技术在实现技术中占主导作用。
因此,计算机系统结构、计算机组成和计算机实现是三个不同的概念。系统结构是计算机系统的软、硬件的界面;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。它们各自包含不同的内容,但又有紧密的关系。
我们还应看到系统结构、组成和实现所包含的具体内容是随不同机器而变化的。有些计算机系统是作为系统结构的内容,其它计算机系统可能是作为组成和实现的内容。开始是作为组成和实现提出来的设计思想,到后来就可能被引入系统结构中。例如高速缓冲存储器一般是作为组成提出来的,其中存放的信息全部由硬件自动管理,对程序员来说是透明的。然而,有的机器为了提高其使用效率,设置了高速缓冲存储器的管理指令,使程序员能参与高速缓冲存储器的管理。这样,高速缓冲存储器又成为系统结构的一部分,对程序员来说是不透明的。
计算机系统结构的分类-Flynn分类法
1966年M.J.Flynn提出了如下定义:
指令流(Instruction \r\nStream)--机器执行的指令序列。
数据流(Data Stream)--由指令流调用的数据序列,包括输入数据和中间结果。
多倍性(Multiplicity)--在系统最受限制的元件上同时处于同一执行阶段的指令或数据的最大可能个数。
同时,他按照指令流和数据流的不同组织方式,把计算机系统的结构分为以下四类:
(1)单指令流单数据流SISD(Single Instructionstream \r\nSingle Datastream)
(2)单指令流多数据流SIMD(Single InstructionStream Multiple Datastream)
(3)多指令流单数据流MISD(Multiple InstructionStream \r\nSingle Datastream)
(4)多指令流多数据流MIMD(Multiple InstructionStream Multiple Datastream)
对应于这四类计算机的基本结构框图如下图所示。SISD是传统的顺序处理计算机。SIMD以阵列处理机或并行处理机为代表。MISD在实际上代表何种计算机,存在着不同的看法,有的文献把流水线结构机器看作是MISD结构。多处理机属于MIMD结构。
CU:控制部件 PU:处理部件 MM:存储器模块 IS: 指令流 DS:数据流