机器体系结构

科技工作者之家 2020-11-17

机器体系结构着重研究机器系统的物理或硬件结构、各组成部分的属性以及这些部分的相互联系。它可分为系统体系结构和实现体系结构(计算机组织)两个方面。前者着重从系统软件开发人员的角度看计算机系统的功能行为和概念结构;后者从计算机系统的价格和性能特征出发,考虑该系统的结构和实现,包括中央处理器、存储器等部件的结构和实现。

简介机器体系结构主要由计算机组织和系统体系结构组成,计包括处理机体系结构、存储系统、并行处理系统、分布式处理系统等。处理机体系结构包括各种类型的处理机结构,特别是精简指令集计算机的体系结构对计算机的发展有重要的影响。存储系统具有层次结构。一般由四级存储器组成: 第一级是寄存器(在中央处理器中) ;第二级是高速缓冲存储器; 第三级是主存储器;第四级是辅助存储器。这四级存储器都是实际存储器。虚拟存储器为用户提供比主存储器容量大得多的可随机访问地址空间。并行处理系统旨在突破单机运算速度与作业吞吐量的限制,以适应日益增长的巨大计算能力需求。它将多个处理机通过互联网络连接起来, 实现并行处理。其体系结构大体上可分为单指令流多数据流和多指令流多数据流两种。由成百上千个微处理器构成的大规模并行处理系统和其它并行处理系统已经实现。分布式处理系统将不同地点或不同功能的多台计算机用通信网络连接起来, 协同完成信息处理任务。它包括客户 服务器计算、 计算机簇、 分布式异构型计算机系统等。

发展现代计算机的发展历程可以分为2 个时代:串行计算时代和并行计算时代。并行计算是在串行计算的基础上,由一组处理单元组成,处理单元彼此通过相互之间的通信与协作,共同高速完成一项大规模的计算任务。而每一个计算时代都是从体系结构的发展开始,然后才是基于该结构的系统软件(特别是编译器与操作系统)、应用软件的发展,最后随着问题求解和发展而达到顶峰。随着计算技术的发展,计算机体系也在不断发展变化。20 世纪60 年代初期,随着晶体管和磁芯存储器的出现,处理单元和存储器实现小型化,并行计算机开始出现。到了20世纪60年代末期,单一处理器中可以集成多个功能单元,产生了流水线技术。该技术与单纯提高CPU时钟频率相比,大大提高了并行计算机系统的性能。

当时,伊利诺依大学和 Burroughs 公司开始着手实施Illiac Ⅳ计划,研制1台64颗CPU的SIMD 主机系统,涉及到相关硬件技术、体系结构、I/O 设备、操作系统、程序设计语言,以及包括应用程序在内的众多研究课题。1975 年,随着一台规模大大缩小的原型系统(仅使用16颗CPU)的面世,新的计算技术也得到了发展。首先是存储系统的概念,提出了虚拟存储和缓存的思想,大大提高了计算机的整体性能。其次是半导体存储器开始代替磁芯存储器,大大缩小了存储器的体积并提高了访存速度。集成电路技术也被广泛而迅速地应用到计算机技术中。

1976 年Cray-1 问世,向量计算技术被应用到高性能计算机中。Cray-1 对所使用的逻辑电路是经过精心设计的,采用 RISC 精简指令集,引入向量寄存器,完成向量运算。20世纪80年代开始,微处理器技术高速发展。此时,微处理器随着机器的字长从4位、8位、16位一直增加到32位、64位,其性能也随之显著提高。卡内基·梅隆大学提出共享存储多处理器体系结构,并在当时流行的DEC PDP-11 小型计算机的基础上研制出1台由16台PDP-11/40 处理机通过交叉开关与16个共享存储器模块相连接而成的共享存储多处理器系统 C.mmp。伯克利加州大学对基于 SMP 方式的总线协议进行扩展,提出了 Cache 一致性问题的处理方案。从此,C.mmp 开创出的共享存储多处理器体系结构便成为服务器和桌面工作站的主流。20世纪80年代中期,基于消息传递机制的并行计算机开始出现,加州理工学院将64 个 i8086/i8087 处理器通过超立方体互连结构连接起来。此后,便先后出现了Intel i PSC 系列、INMOS Transputer 系列、Intel Paragon,以及IBM SP 的前身 Vulcan 等基于消息传递机制的并行计算机。

20 世纪 80 年代末到20世纪90 年代初,共享存储器方式的大规模并行计算机又获得了新的发展。IBM 将大量早期的RISC微处理器通过蝶形互联网络连接起来。斯坦福大学提出 DASH 计划,通过维护1个保存有每一缓存块位置信息的目录结构来实现分布式共享存储器的缓存一致性技术,IEEE 在此基础上提出了缓存一致性协议的标准。从20世纪90年代末开始,以前发展的主要几种体系逐步走向融合,同时随着新技术的出现又为新的架构带来了新的革命1。

系统体系结构计算机系统属于工程系统,由许多连通的层和子系统组成,这些层和子系统之间的交互模式复杂,并且可能随时间变化。从第一台通用电子计算机问世以来,计算机系统在性能、存储等方面飞速发展。这既得益于计算机系统生产技术的发展,也得益于计算机系统体系结构的优化设计和创新。系统体系结构是系统的全局视图和主要结构,包括系统的组成和交互特征,贯穿包括前期功能区分设计等在内的系统设计实现的所有阶段,综合考虑系统的功能需求、属性指标和约束条件等许多方面。与具体细节设计、实现不同,体系结构或者说体系结构设计是一个更高级别的抽象,侧重各个组成部分的外在可见属性。对系统体系结构的深入研究可以加深对对象系统的理解,有助于系统更好地设计和实现,缺少理论基础、不成熟的体系结构会影响部分乃至整个系统的运转。传统的计算机体系结构指计算机的概念结构与 能 特 性,包括指令集体系结构 、组成和硬件 ,负责在不同的层次分配软硬件功能和确定软硬件界面。在计算机系统体系结构演变的过程中形成了许多基本设计原理,比如通过时间重叠、资源重复及资源共享充分利用并行性,局域性原理和Amdahl定律。层次设计是设计大规模控制系统体系结构的有效途径,是计算机系统体系结构设计的重要组成部分,在计算机领域各种系统体系结构设计中有着广泛应用。从计算机语言角度,可以把传统的计算机系统按照功能划分为从应用语 言虚拟机级向下到微程序机器级的多级层次结构,高级语言以低级语言为基础,功能更强,对用户和开发人员更加友。Dijkstra将层次模型应用在计算机操作系统的设计中,将操作系统分为调度层、分页层、终端与操作系统通信层、I/O管理层、用户程序层、用户层,上层的设计仅仅依赖于相邻的下层2。

计算机组织计算机组织是指计算机运算器、存储器、控制器、输入设备和输出设备等主要功能部件的相互连接和相互作用,借以实现机器指令级的各种功能和特性。从最基本的功能和作用原理来说,计算机是在控制器的全面控制下,接收经数字化编码的输入信息(程序和数据),把它存放在存储器中,根据程序的要求对数据进行快速运算,产生结果数据输出。因此,可以把运算器、存储器、控制器、输入设备和输出设备看成是一台计算机的逻辑组成中最基本的功能部件。

本词条内容贡献者为:

李岳阳 - 副教授 - 江南大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。