1.1.2 计算机系统结构定义
"计算机系统结构" 这个名词来源于英文
computer architecture,也有译成"计算机体系结构"的.architecture这个字原来用于建筑领域,其意义是"建筑学"、"建筑物的设计或式样",它是指一个系统的外貌。六十年代这个名词被引入计算机领域,"计算机系统结构"一词已经得到普遍应用,它研究的内容不但涉及计算机硬件,也涉及计算机软件,已成为一门学科。但对"计算机系统结构"一词的含义仍有多种说法,并无统一的定义。
计算机系统结构这个词是Amdahl等人在1964年提出的。他们把系统结构定义为由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性。这实际上是计算机系统的外特性。按照计算机层次结构,不同程序设计者所看到的计算机有不同的属性。使用高级语言的程序员所看到的计算机属性主要是软件子系统和固件子系统的属性,包括程序语言以及操作系统、数据库管理系统、网络软件等用户界面。Amdahl等人提出的系统结构定义是指机器语言或编译程序设计者所看到的计算机属性,是硬件子系统的概念结构及其功能特性,包括机器内的数据表示,即硬件能直接辨认和处理的那些数据类型;寻址方式,包括最小寻址单元和地址运算等;寄存器定义,包括操作数寄存器、变址寄存器、控制寄存器等的定义、数量和使用方式;指令系统,包括机器指令的操作类型和格式、指令间的排序和控制机构等;中断机构,包括中断的类型和中断响应硬件的功能等;机器工作状态的定义和切换,如管态和目态等;输入输出结构,包括输入输出的连结方式,处理机/存储器与输入�彩涑錾璞讣涫�据传送的方式和格式、传送的数据量、以及输入输出操作的结束与出错标志等;信息保护,包括信息保护方式和硬件对信息保护的支持等等。这些即是程序员为了使其所编写的程序能在机器上正确运行,需要了解和遵循的计算机属性。当然不包括基本的数据流、控制流、逻辑设计和物理实现等。
在计算机技术中,一种本来是存在的事物或属性,但从某种角度看似乎不存在,称为透明性现象。通常,在一个计算机系统中,低层机器级的概念性结构和功能特性,对高级语言程序员来说是透明的.由此看出,在层次结构的各个级上都有它的系统结构。
计算机系统结构作为一门学科,主要研究软件、硬件功能分配和对软件、硬件界面的确定,即哪些功能由软件完成,哪些功能由硬件完成。
关于计算机系统结构这一概念,至今有各种各样的理解,很难有一个通用的定义。在下节讨论计算机组成和实现后,我们还要给出另一些定义。