计算机组织
计算机领域名词
计算机组织(Computer organization)涉及架构设计的物理实现,包括有关组件之间互连和通信的决策,例如总线结构、内存层次结构和输入输出系统。
内容简介
计算机系统结构作为从程序设计者角度所看到的计算机属性,在计算机系统的层次结构中处于机器语言级;而计算机组织作为计算机系统结构的逻辑实现和物理实现,其任务就是围绕提高性能价格比的目标,实现计算机在机器指令级的功能和特性。研究和建立各功能部件间的相互连接和相互作用,完成各个功能部件内部的逻辑设计等是逻辑实现的内容;把逻辑设计深化到元件、器件级,则是物理实现的内容。有时把前者称为计算机组织,把后者称为计算机实现。但是,随着集成电路规模的日益增大。这两步实现的内容很难分开,因此将它们统称为计算机组织。
计算机的许多重要特性,如快速性、通用性、准确性、逻辑性等,均来源于最主要的结构原理,即存储程序原理,它是了解计算机组织的关键。根据存储程序原理构造的计算机称为存储程序计算机,又称诺伊曼型计算机。
存储程序原理的基本点是指令驱动,即程序由指令组成,并和数据一起存放在计算机存储器中。机器一经启动,就能按照程序指定的逻辑顺序把指令从存储器中读出来逐条执行,自动完成由程序所描述的处理工作。这是计算机与一切手算工具的根本区别。
存储程序概念最早是由匈牙利人J.诺伊曼于1946年提出来的。他同时提出了一个完整的现代计算机雏型,其基本组成就是上述五种功能部件。它的存储器是4096个40位存储字的集合体,利用示波管存储器来实现。存储单元按线性编址,同等地存放数据和程序。运算器包含一个算术逻辑单元和一个用来提供操作数和存放操作结果的累加寄存器(另一个操作数来自存储器)。
控制器实现对20位半字长指令的时序控制。在一条指令中6位表示操作码,给出64种不同操作;12位表示地址码,给出存储器每一个存储单元的地址;另有 2位未用。输入和输出设备包括电传打字机、磁带设备等,输入输出操作的控制通过运算器完成。
现代的计算机组织与诺伊曼当时提出的计算机组织相比虽已发生了重大变化,但就其结构原理来说,占有主流地位的仍是以存储程序原理为基础的诺伊曼型计算机。它的特征可概括为:①存储器是字长固定的、顺序线性编址的一维组织;②存储器提供可按地址访问的一级地址空间,每个地址是唯一定义的;③由指令形式的低级机器语言驱动;④指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。
基本组成
现代计算机的功能部件包括有中央处理器、控制器、存储器和输入输出子系统。
中央处理器
中央处理器一般包括运算器和控制器。根据完成操作的种类和速度的不同要求,运算器可以采用不同的实现方法。基本算术逻辑操作由硬件实现,复杂操作则既可由硬件、固件实现,也可由软件实现。在要求速度很高的场合,则采用流水线运算部件或阵列乘法器等并行处理组织形式。
中央处理器组织的特点主要反映在寄存单元的选择上。依照这一特点,可以区分两种不同的组织形式。
1.多通用寄存器计算机组织
早期的计算机采用单一的累加器作为寄存单元,现代计算机则普遍采用多通用寄存器。它们既可提供操作数和保存操作结果,也可提供寻址中需要的基址变址量、主存地址,或保存子程序参量,堆栈指针等。必要时,还设置一些专用寄存器,如暂存寄存器、条件码寄存器等。操作单元主要是算术逻辑单元,担负基本算术逻辑运算。在有必要由硬件实现复杂算术运算的巨型和大型计算机中,还设置有各种浮点运算部件、乘除运算部件等。
2.堆栈计算机组织
堆栈计算机的中央处理器组织与前一种组织形式有所不同。代替通用寄存器的是主存堆栈(可能少数栈顶单元用寄存器实现)。采用零地址指令实现堆栈顶部几个单元内容间的操作,操作结果仍送回堆栈,代替原来的操作数。中央处理器设置多个寄存器,用来保存主存中程序区、数据区和堆栈的各种指针。利用堆栈的后进先出存取原理能使计算机的结构与高级程序设计语言的结构相适应。
控制器
由于输入输出控制和通信控制等功能已从中央处理器中分离出来,而且存储器、输入输出装置等采用异步工作方式,所以早期计算机中统一的控制器逐渐分散到各功能部件内部,形成运算控制器、指令控制器、存储控制器、输入输出(通道)控制器、外围设备控制器等。中央处理器除直接掌握运算控制和指令控制功能外,还通过中断机构调用操作系统对存储系统和输入输出子系统等实行统一的控制。此外,操作系统还能实现复杂的系统管理功能,为用户提供批处理分时处理交互式处理实时处理等多种操作方式。因此可以说,操作系统是利用存储程序作为控制手段实现对控制器的延伸,补充了控制器硬件功能之不足。
存储器
长期以来,存储器的工作速度落后于中央处理器的工作速度,成为处理机的瓶颈。为了克服这个障碍,人们提出层次存储系统虚拟存储器的概念。为了提高存储器的有效工作速度,在原来的主存储器与中央处理器之间增加了高速缓冲存储器;为了扩大存储器容量,增加了以磁盘机为主要设备的辅助存储器作为主存储器的后援。用户使用时,可以面向统一的虚拟存储器逻辑地址空间,而数据和指令在各层之间的调动则由硬件(高速缓存-主存层次)或操作系统(主存-辅存层次)自动完成。
输入-输出子系统
硬件技术水平的提高,特别是集成电路、磁盘机和终端设备的发展,使计算机硬件的面貌发生了根本变化。硬件对软件提供了有力的支持,但与此同时计算机系统的设备量显著增加。计算机组织成分有了新的划分方法。辅助存储器和输入-输出装置组成计算机的外围设备,受输入-输出子系统的单独控制。它们对系统的价格比重已经由60年代的30%~40%上升到80%。中央处理器主存储器和输入-输出接口等,组成处理机与输入-输出子系统并列。
基本原则
计算机组织的发展过程体现了下列几条基本原则。
信息流量平衡
计算机组织的发展是一个不断争取高运算速度、大存储容量、强处理功能、低机器价格的过程。为了发挥所有功能部件的总效能,必须谋求计算机各部件间的信息流量平衡。因此,各功能部件工作速度的相互匹配是计算机组织合理性的标志。例如,层次和并行存储系统的产生和发展是谋求中央处理器存储器之间信息流量平衡的结果。
层次化
采用层次概念来研究计算机组织可以达到两个目的。一是把外层的标准化与内层的多样化结合起来,如用标准的输入-输出通道或接口经过设备控制器驱动多种特性迥异、类型不一的外围设备;二是实现虚拟系统,这与计算机系统结构实现各层虚拟机器的原理类似。例如,虚拟存储器就是在层次组织的基础上发展起来的,使用户无需介入实际存储系统的细节,以接近于高速缓冲存储器存取速度使用比主存容量大得多的主、辅存储统一的地址空间
模块化
无论是计算机系统的全局或是局部,都可以利用模块化概念划分为相对独立的部分,各部分至少具有一定程度上完整的处理功能和独立的自治控制能力。各部分之间经过标准的接口或界面相互连接,这样使它们能随意增减或替换,而不致影响其余部分的正常工作。在计算机系统的各个层次都存在利用模块化方法加以实现的可能性。以硬件的层次来说,按功能划分模块是纵向划分,而设置多个并行的运算部件和存储模块等是横向划分。在各个部件内部,模块化也是有效利用大规模集成电路的必要条件。
功能分散化
模块化的基础上进一步分散控制功能,从集中式控制走向分布式控制。这样,有利于多个部件的并行操作,也为不同工作速度的部件之间实现异步控制创造条件。上述的统一控制器向多个分散控制器的发展,是已经实现的功能分散方案。许多巨型和大型计算机也可利用功能分散原理做成高性能的功能分布多处理机系统
互连方式
处理任务的高度集中和数据流量的迅速增长,要求采用多运算部件和多存储模块。它们与数量众多、品种繁杂的外围设备之间如何互相连接,成为计算机组织的中心问题之一。早期计算机(图1 以中央处理器为中心的计算机组织)中那种以中央处理器为中心,由它包揽一切指令操作和输入输出控制任务的做法,不但不利于提高中央处理器自身的使用效率,而且也无法应付数量庞大的外围设备对处理的需求。代之而起的是以存储器为中心的互连方式(图2 以存储器为中心的计算机组织)。批量的输入输出数据可以越过中央处理器,经过输入输出通道进出于主存储器,只是在最必要的时候才用中断方式请求中央处理器进行短暂干预。
在设备数量很多的情况下,全部设备都与存储器分别单独相连是不现实的,而且也不能适应扩展数量和更换品种的需要。如果所有外围设备都经过统一的总线和标准接口与中央处理器和存储器模块相连,计算机系统组织就要灵活得多。这就是现代计算机组织普遍采用的总线互连方式(图3 以总线互连的计算机组织)。
总线以简单经济的技术实现灵活可变的计算机系统配置,能较好地满足不同用户对计算机系统通用性的要求。但是,它必须按时间分割或优先级竞争的原则工作,使同一时间内一套总线只能为一对功能模块之间传送信息服务。总线是互连网络最简单的一种型式,在设备量更多、速度要求更高的场合,还可选用其他互连型式。
数据流
计算机对信息的加工过程可以从概念上表示为数据流和控制流的结合。数据流发生于计算机各功能模块之间,存储或寄存的信息经过数据路径流动并接受加工;而控制流则对数据流的存储、传送和加工过程进行时序控制。数据路径表示计算机数据单元(包括存储器寄存器)和操作单元(包括运算、计数、移位、传送)相互连接的空间关系。控制时序表示正被处理中的信息经过数据路径作用的时间关系。二者相结合,信息便能按照相应的时间顺序经过有关的数据单元和操作单元,完成由确定的算法所描述的信息处理过程。这就是计算机组织中用来分析和设计计算机功能部件相互作用的一种普遍方法,为诺伊曼型计算机所采用。
控制流
控制流的设计反映在指令控制器中,就是制定各类指令的时序控制过程,包括取指令、形成操作数地址、取操作数、执行指令操作、形成结果数地址、保存结果、判断和响应中断请求等一系列指令步骤。实现这些指令步骤既可以用硬联逻辑控制方法,也可以用微程序控制方法。为了获得尽可能高的指令吞吐率,可以采用使连续的指令相互重叠和按流水线执行的组织方法;也可以设立指令缓冲站以减少从主存储器重复读取指令的时间,并采用先行控制的方法以越过前面执行时间较长的指令而尽可能把具备条件的后续指令提前执行。
展望
随着大规模集成电路和微处理器的迅速发展,传统的诺伊曼型计算机结构原理正在经受一场挑战。如果说至今关于功能部件的划分和互连都是针对单处理机而言的,那么利用廉价硬件构成的各种功能分布或任务分布多处理机系统则需要采取更为复杂的组织方式,来实现更好的性能-价格比指标。如果说商售计算机系统习惯于在传统的硬件内层基础上发展外层软件,那么直接根据计算结构、软件结构、知识结构等特性来发展崭新的计算机组织形式,已经成为现实的研究目标。
参考资料
计算机组织.豆瓣读书.
最新修订时间:2024-02-29 08:01
目录
概述
内容简介
参考资料