2.计算机体系结构
经典计算机体系结构概念的实质是计算机系统中软硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。
广义(现代)的计算机体系结的构概念,它除了包括经典的计算机体系结构的概念范畴(指令集结构),还包括计算机组成和计算机实现的内容。
计算机体系结构是程序员所看到的计算机的属性,即概念性结构和功能特征。按计算机的多层结构,不同层级的程序员所看到的计算机具有不同的属性。一般来说,低级机器的属性对于高层机器程序员基本上是透明的。计算机体系结构主要是指机器语言级的系统结构。
一般说来,计算机的体系结构的属性有如下:
(1)机内数据表示:硬件能直接辨识和操作的数据类型和格式。
(2)寻址方式:最小可寻址单位,寻址方式的种类、地址运算。
(3)寄存器组织:操作寄存器,变址寄存器、控制寄存器及专用寄存器的定义,数量和使用规则。
(4)指令系统:机器指令的操作类型,格式,指令间排序和控制机构。
(5)存储系统:最小的编址单位、编址方式、主存容量、最大可编址空间、。
(6)中断机构:中断类型、中断级别、以及中断响应方式
(7)输入输出结构:输入输出的连接方式、处理机/存储器与输入输出设备间的数据交换方式、数据交换过程的控制。
(8)信息保护:信息保护方式、硬件信息保护机制
计算机组成指的是计算机系统结构的逻辑实现,包括机器内部数据流和控制流的组成以及逻辑设计等。其目标是合理的把各个部件、设备组成计算机,以实现特定的系统机构,同时满足所希望达到的性价比。
计算机实现是指计算机组成的物理实现。
计算机体系结构解决的是计算机系统在总体上,功能上需要解决的问题,它和计算机组成和计算机实现是不同的。一种体系结构可能有多种组成,一种组成也可能是有多种物理实现。
计算机体系结构的分类:
(0)宏观上按处理机的数量进行分类
1. 单处理系统
2. 并行处理与多处理系统
3. 分布式处理系统
(1)Flynn分类
根据指令流和数据流的多倍性特征对计算机系统进行分类。
多倍性:在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。
分为4类:
SISD:单指令流单数据流,传统的顺序执行的单处理器计算机。其指令部件一次只对一条指令进行译码,并只对一个操作部件分配数据。SISD机器是一种传统的串行计算机,它的硬件不支持任何形式的并行计算,所有的指令都是串行执行。并且在某个时钟周期内,CPU只能处理一个数据流。因此这种机器被称作单指令流单数据流机器。早期的计算机都是SISD机器,如冯诺.依曼架构,如IBM PC机,早期的巨型机和许多8位的家用机等。
SIMD:单指令流多数据流机器,SIMD是采用一个指令流处理多个数据流。这类机器在数字信号处理、图像处理、以及多媒体信息处理等领域非常有效。Intel处理器实现的MMXTM、SSE(Streaming SIMD Extensions)、SSE2及SSE3扩展指令集,都能在单个时钟周期内处理多个数据单元。也就是说我们现在用的单核计算机基本上都属于SIMD机器。
MISD:多指令流单数据流机器,MISD是采用多个指令流来处理单个数据流。由于实际情况中,采用多指令流处理多数据流才是更有效的方法,因此MISD只是作为理论模型出现,没有投入到实际应用之中。
MIMD:多指令流多数据流机器,MIMD机器可以同时执行多个指令流,这些指令流分别对不同数据流进行操作。最新的多核计算平台就属于MIMD的范畴,例如Intel和AMD的双核处理器等都属于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,M>1。
③字串行、位并行(简称WSBP)。其中N>1,M=1。
④字并行、位并行(简称WPBP)。其中N>1,M>1。
(3)计算机体系结构研究面临的挑战
当前,计算机体系结构研究面临着新的挑战:
●多核处理器体系结构带来的高效软件开发与优化问题;
●纳米量级超大规模集成电路带来的芯片可靠性问题;
●大规模高性能计算系统和便携式嵌入式系统中的功耗控制问题;
●适应虚拟计算需求的体系结构虚拟化问题;
同时,随着新材料、新工艺正在快速发展,计算机使能技术不断变化,基于新型纳米功能器件、量子器件或DNA分子的新概念计算处于探索阶段。