计算机系统结构的简介
计算机系统结构(Computer Architecture)也称为计算机体系结构,它是由计算机结构外特性,内特性,微外特性组成的。经典的计算机系统结构的定义是指计算机系统多级层次结构中机器语言机器级的结构,它是软件和硬件/固件的主要交界面,是由机器语言程序、汇编语言源程序和高级语言源程序翻译生成的机器语言目标程序能在机器上正确运行所应具有的界面结构和功能。
计算机系统结构指的是什么? 是一台计算机的外表? 还是是指一台计算机内部的一块块板卡安放结构? 都不是,那么它是什么? 计算机系统结构就是计算机的机器语言程序员或编译程序编写者所看到的外特性。所谓外特性,就是计算机的概念性结构和功能特性。用一个不恰当的比喻一,比如动物吧,它的系统结构是指什么呢? 它的概念性结构和功能特性,就相当于动物的器官组成及其功能特性,如鸡有胃,胃可以消化食物。至于鸡的胃是什么形状的、鸡的胃部由什么组成就不是系统结构研究的问题了。系统结构只管到这一层。关于计算机系统的多层次结构。用人这种动物的不恰当的例子列表对比如下:
应用语言级
服务级
高级语言级
读书、学习级
汇编语言级
语言、思维级
操作系统级
生理功能级
传统机器级
人体器官级
微程序机器级
细胞组织级
电子线路级
分子级
传统机器级以上的所有机器都称为虚拟机,它们是由软件实现的机器。软硬件的功能在逻辑上是等价的,即绝大多部分硬件的功能都可用软件来实现,反之亦然。
计算机系统结构的外特性,一般应包括以下几个方面(这也就是我们要分章学习的几个章节)把这几个方面弄清了,系统结构也就基本明确了:
⑴指令系统⑵数据表示⑶作数的寻址方式 ⑷寄存器的构成定义 ⑸中断机构和例外条件 ⑹存储体系和管理 ⑺I/O结构 ⑻机器工作状态定义和切换 ⑼信息保护。
所以在以后的学习中常回头想想这是系统结构的哪一方面,这对把握全局有好处。
这里提一下计算机系统结构的内部特性,计算机系统结构的内特性就是将那些外特性加以逻辑实现的基本属性。所谓逻辑实现就是在逻辑上如何实现这种功能,比如上帝给鸡设计了一个一定大小的胃,这个胃的功能是消化食物,这就是鸡系统的某一外特性,那怎么消化呢,就要通过鸡喙吃进食物和砂石,再通过胃的蠕动、依靠砂石的研磨来消化食物,这里的吃和蠕动等操作就是内特性。
还有一个就是计算机实现,也就是计算机组成的物理实现。它主要着眼于器件技术和微组装技术。拿上面的例子来说,这个胃由哪些组织组成几条肌肉和神经来促使它运动就是鸡实现。
据此我们可以分清计算机系统的外特性、内特性以及物理实现之间的关系。在所有系统结构的特性中,指令系统的外特性是最关键的。因此,计算机系统结构有时就简称为指令集系统结构。我们这门课注重学习的是计算机的系统结构,传统的讲,就是处在硬件和软件之间介面的描述,也就是外特性。
这些不恰当的比喻只是帮助理解,不可强求对应,不然会有损科学的严密性。