第 1章 计算机系统结构的基本概念
1.1 计算机系统的多级层次结构
1.2 计算机系统结构、组成与实现
1.3 软件取舍与计算机系统的设计思路
1.4 软件、应用、器件对系统结构的影响
1.5 系统结构中的并行性及系统的分类
?本章重点:
计算机系统结构、计算机组成、计算机实现三
者之间的定义及所包含的内容;有关透明性的判
断;软件和硬件的功能分配原则;软件可移植性
的途径、方法、使用场合、存在问题和对策;有
关并行性的概念;系统结构中开发并行性的途径
和类型等。
?本章难点,
透明性的判断与分析。
1.1 计算机系统的多级层次结构
1.六个层次结构
现代通用的计算机系统是由紧密相关的用硬
件和软件组成的。从应用的语言角度,可以将系
统看成是按功能划分的多个机器级组成的以下六
个层次结构:
VM5 应用语言机器 M5 面向应用环境,通过相应程序包
翻译成高级语言,逐层向下实现
VM4 高级语言机器 M4 经编译程序翻译成汇编语言或中
间语言或机器语言,再向下执行
VM3 汇编语言机器 M3 经汇编程序翻译成机器语言,然
后在 RM上实现
VM2 操作系统机器 M2 主要用 C编写,但最终还要由机器
语言解释作业控制语句执行
RM1 传统机器 M1 用微指令程序(固件)解释机器
指令来实现
RM0 微程序机器 M0 微指令直接由硬件执行
图 1.1 计算机系统的多级层次结构
机器,并非是指真正的一台有鼠标、键盘、显
示器等的机器实体,而是指能够存贮和执行相应
语言程序的算法和数据结构的集合体,是同时存
在于计算机内的。
这样,对于会使用某一级高级语言编程的程
序员来说,只要他熟悉和遵守该级语言的规定,
所编写的程序总能在这一机器上运行,得到结果,
而不用管这个机器级是如何实现的。就好像该程
序员有了可以直接使用这种语言作为机器语言的
机器一样。实际上,只有二进制机器指令即传统
所说的机器语言才与硬件直接对应,方可以被硬
件直接识别和执行。
翻译,是先用转换程序将高一级机器级上的程
序整个地变成低一级机器级上可运行的等效程序,
然后再在低一级机器级上去实现的技术。
解释,是在低一级机器级上用它的一串语句或
指令来仿真高一级机器级上的一条语句或指令的
功能,通过高一级机器语言程序中的每条语句或
指令逐条解释来实现的技术。
各机器级的实现主要就是靠翻译或解释,或者
是两者的结合。
应用语言虚拟机器 VM5是为了满足管理、人
工智能、图像处理、辅助设计等专门的应用来设
计的。使用面向某一种应用环境的的应用语 L5
编写的程序一般是经过应用程序包翻译成高级语
言 L4程序后,再逐级向下实现的。
高级语言机器级 M4上的程序可以先用编译程
序整个的翻译成汇编语言 L3程序或机器语言 L1程
序,再逐级或越级向下实现,也可以用汇编语言
L3程序、机器语言 L1程序,甚至是微指令语言 L0
程序解释实现。
对汇编语言 L3源程序则先用汇编程序整个将
其变换成等效的二进制机器语言 L1目标程序,再
在传统机器级 M1上实现。
操作系统程序虽然已发展成用高级语言(如
我们所熟悉的 C语言)编写,但最终还要用机器
语言程序或微指令程序来解释。它提供了传统机
器级 M1所没有,但为汇编语言和高级语言使用
和实现所用的基本操作、命令和数据结构。如文
件管理、存贮管理、进程管理、多道程序共行、
多重处理等。因此,操作系统机器级 M2放在传
统机器机 M1和汇编语言机器级 M3之间是适宜的。
传统机器级 M1采用组合逻辑电路控制,其指
令可以直接用硬件来实现,也可以采用微程序控
制,用微指令 L0程序来解释实现。微指令直接控
制硬件电路的动作。
2.实现方式
就目前情况,M0用硬件实现,M1用微程序
(固件)实现,M2到 M5大多用软件实现。我们
称以软件为主实现机器为虚拟机器 VM,以区别于
用硬件实现的实际机器 RM。虚拟机器不一定全都
由软件实现,有些操作可以用固件或硬件现。
具体采用何种实现方式,要从整个计算机系
统的效率、速度、造价、资源状况等方面全面考
虑,对软件、硬件、固件取舍进行综合平衡。
原理上,软件实现的功能完全可以用硬件或
固件实现,同样,硬件实现的功能也可以由软件
的模拟来完成,只是其性能, 价格, 实现的难易
程度不同而已。具有相同功能的系统,其软硬件
功能分配比例也是很宽的。而且在不同时期及同
一时期的不同机器也是在动态改变的。
软 件
硬 件
只有最必
需的硬件
程序
不可编
目前的计
算机系统
功能分
配比例
(%)
计算机系统
的软、硬件
功能分配图
3.分层的优点
1)有利于理解软件、硬件、固件的地位和作用
2)有利于多处理机,分布处理,计算机网络发展
3)有利于用 VM,多操作系统共同执行,促进软
件移植、计算机系统性能评价、计算机设计自
动化的发展
1.2 结构、组成与实现
1.2.1基本概念
1.系统结构,我们回到层次图上, 系统结构
( System Architecture) 是对计算机系统中各
机器之间界面的划分和定义, 以及对各级界面上,
下的功能进行分配 。 各层都由它自己的系统结构 。
系统结构的设计就是研究针对某级, 哪些应当透
明, 哪些不可以的 。
透明性概念,在计算机中, 客观存在的事物或
属性从某个角度看不到, 称这些事物或属性对它
是透明的 。 计算机重的, 透明, 与社会生活中的
,透
明,, 含义正好相反 。 社会生活中所说的, 透
明,,
是指公开的, 让大家看得到的意思;而计算机中
所讲的, 透明,, 则是指看不到的意思 。 透明就

简化某一级的设计, 但同时由于看不到, 就会无
法控制, 带来不利 。 所以, 要正确的进行透明性
分析和取舍 。
2.计算机系统结构,这里所说的计算机系统结
构或是计算机体系结构( Computer Architecture)
只是系统结构中的一部分。它指的是层次结构中
传统机器级的系统结构,其界面之上的功能包括
操作系统级,汇编语言级,高级语言级和应用语
言级中所有软件的功能。界面之下的功能包括所
有硬件和固件的功能,因此,这个界面实际是软
件与硬件或固件的分界面。
研究:软, 硬件功能的划分和传统机器级界面的
确定, 提供保证程序运行的计算机属性 。
属性包括:
数据表示
寻址方式
寄存器组织
指令系统
存贮系统
中断机构及 I/O结构
信息保护方式和保护机构
3.计算机组成,计算机组成 ( Computer
Organization) 指的是计算机系统结构的逻辑实
现, 包括机器级内的数据流和控制流的组成以及
逻辑实现 。
研究,在所期望达到的性价比下, 怎样最佳, 最
合理的把各种设备和部件组织成计算机, 以实现
所确定的系统结构 。
包括:
数据通路宽度
专用部件的设置
各种操作对部件的共享程度
功能部件的并行度
控制机构的组织方式
缓冲和排队技术
预估, 预判技术
可靠性技术
4.计算机实现,计算机实现 ( Computer
Implementation) 指的是计算机组成的物理实现 。
研究:实际器件技术和微组装技术 。
包括:
处理机, 主存等的物理结构
器件的集成度和速度
器件, 模块, 插件, 底板的划分与连接
专用器件的设计
微组装技术
举例,我们要制造飞机 。 首先要确定载客人数,
速度, 高度等技术指标, 这就属于系统结构;然
后根据技术指标研究, 设计座舱怎么安排才可以
满足载客数量, 飞机外形怎么设计才符合空气动
力学, 供油, 发动机, 控制系统等等怎样设计,
组成, 从而形成设计图纸上的飞机, 这属于组成;
最后, 经过论证确定设计没有问题, 把图纸交付
工厂, 由工人开始生产, 这就是实现了 。
1.2.2结构, 组成与实现之间的关系
三者是互不相同的概念, 既相互联系又相互影响 。
1.联系,
1)具有相同系统结构 (如指令系统相同 )的计算机
可以因速度等因素的要求不同而采用不同的组成 。
例如:对于乘法指令, 我们可以使用专用的乘法
器来实现, 也可以使用加法器重复相加, 右移来
实现 。
2)相同的计算机组成可以采用多种不同的实现
方法 。
例如:主存器件既可以选用双极型的, 也可
以选用 MOS型的;可以使用单片大规模集成电
路, 也可以用多片小规模集成电路进行组搭 。
显然, 这取决于所要求的性价比和当时的器
件技术 。
2.影响:
1)不同的系统结构会使组成技术产生差异 。
2)计算机组成也会影响系统结构, 组成的设计,
其上取决于系统结构, 其下又受限于所可以
用的实现技术 。
3)计算机实现, 特别是器件技术的进展构成了
计算机系统结构和组成的基础, 对系统结构
有很大影响 。
1.3 软硬件取舍与系统的设计思想
1.3.1软件取舍的基本原则
1.原则一,在现有的硬件和器件 (主要是逻辑器
件和存贮器件 )的条件下, 系统要有高的性价
比 。
1)提高硬件功能的比例, 可以提高解题速度,
减少程序所需的存贮空间;但是, 会提高硬件
的成本, 降低硬件的利用率和系统的灵活性与
适应性 。
2)提高软件功能的比例, 可以降低硬件的造价,
提高系统的灵活性和适应性 。 但解题速度要下
降, 软件设计费用和所需的存贮空间要增加 。
2.原则二,充分考虑准备采用和可能要用的的组成
技术, 使它尽可能不要过多或不合理地限制各
种组成, 实现技术的采用 。
3.原则三,不能仅从, 硬, 的角度去考虑如何便于

用组成技术的成果和发挥器件技术的进展, 还
应从, 软, 的角度把为编译和操作系统的实现,

至高级语言程序的设计提供更多, 更好的硬件支
持放在首位 。
1.3.2计算机系统的设计思路
从多级层次结构出发, 计算机系统结构的设
计可以分为由上往下, 由下往上和从中间开始三
种不同的设计思路 。
1.由上往下
1)方法:根据用户的要求, 设计基本的命令, 指
令, 数据类型与格式等, 然后再逐级往下设计,
并考虑对上一级进行优化来实现 。
面向应用的高级语言
虚拟机器级
应用
虚拟机器级
汇编 (中间 )语言
虚拟机器级
操作系统
虚拟机器级
传统机器级
微程序机器级






第一步,确定这一级的基本特性
第二步,设计或选择面向这种应
用的高级语言
第三步,设计使用于所用高级语言
编译的中间语言
第四步,设计面向这种应用的操作
系统
第五步,设计面向所用编译程序和
操作系统的机器语言
第六步,设计面向机器语言的微指
令及其硬件实现
计算机系统, 由上往下, 设计的方法
2)优点:适用于专用机的设计, 对所面对的具
体应用, 其效能是很好的 。
3)缺点:不适用于通用机的设计, 当应用对象或
范围发生变化时, 软硬件分配不适应, 就导
致系统效率急剧下降;另一方面, 作为厂家,
为追求经济效益, 避免生产批量少, 专用性
强, 使用面窄的硬件和系统, 这就难以做到
面向应用来优化实现 。
2.由下往上
1)方法:根据器件条件, 先把微程序机器级及传
统机器级研制出来, 然后再配合不同的操作系统
和编译系统软件, 使应用人员根据所提供的条件
来采用合适的算法满足相应的应用要求 。
2)优点:是一种通用机的设计思想 。
3)缺点:软件的设计受限于固定不变的硬件, 造
成软, 硬件的脱节 。
应用
虚拟机器级
高级语言 (多种 )
虚拟机器级
汇编 (中间 )语言
虚拟机器级
操作系统 (多种 )
虚拟机器级
传统机器级
微程序机器级






计算机系统“由下往上”设计的方法
3.中间法
1)方法:既考虑能拿到的硬件, 器件, 又考虑
可能所需的算法和数据结构, 先进行软, 硬功
能的合理分配 并定义好这个界面, 然后从这一
中间点分别往上, 往下进行软, 硬设计 。
2)优点:软件, 硬件同时进行交互设计, 有利于
缩短整个系统的设计周期 。
3)缺点:要求设计人员同时具备软件, 硬件, 器
件及应用的多方面的知识 。
1.4 软件、应用、器件对系统结构的
影响 (自学 )
1.软件的可移植性
1)概念,可移植性是指软件可以不加修改或经
少量修改, 就可以由一台机器搬到另一台机器
去运行, 使得同一套软件可以应用于不同的硬
件环境 。
2)优点,可以大量节省重复工作量, 是软件设
计者可以集中精力更好的改进或开发全新的软
件 。
2.实现可移植性的技术
1)统一高级语言
2)系列机思想
3)模拟与仿真
1.5 系统中的并行性及其分类
1.5.1并行性概念
1.并行性的含义及理解
1)并行性,解题中具有可以同时进行运算或操
作的特性 。 目的是为了能并行处理, 提高解题
效率 。
2)广义并行性,只要在同一时刻或是在同一时
间间隔内完成两种或两种以上性质相同或不同
的工作, 在时间上能相互重叠, 都称为并行性 。
包括同时性与并发性 。
3)同时性,两个或多个事情在同一时刻发生 。
4)并发性,两个或多个事情在同一时间间隔
内发生 。
2.并行性等级
1)从执行角度分
a)指令内部 —— 一条指令内部各个微操作之间
的并行执行 。
b)指令之间 —— 多条指令的并行执行 。
c)任务或进程之间 —— 多个任务或程序段的并
行执行 。
d)作业或进程之间 —— 多个作业或多道程序的
并行 。






作业或进程间并行的关键在于并行算法,即怎
样将有限的软硬件资源有效的同时分配给正在解
题的多个程序;任务或进程级间的并行主要涉及
如何进行任务分解;指令之间的并行主要应解决
和处理好指令之间存在的相互关联;指令内部的
并行主要取决于硬件和组成的设计。由上可以看
出,并行性等级由高到低反映了硬件实现的比例
在增大。所以并行性的实现是一个软硬件功能分
配的问题,需要折衷权衡。
2)从数据处理角度
a)位串字串 —— 单字单位 —— 串行单处理机
b)位并字串 —— 单字全位 —— 并行处理机
c)位片串字并 —— 多字同位 (位片 )—— 多
机串行
d)全并行 —— 多字多位 —— 多机并行
3)从信息加工角度
a)存贮器操作并行 —— 同一个存贮周期访问
多字 —— 并行存贮器, 相联处理机 。
b)处理器操作步骤并行 —— 操作步骤在时间
上重叠流水进行 —— 流水线处理机 。
c)处理器操作并行 —— 对同一条指令的多个
数据组同时操作 —— 阵列处理机 。
d)指令, 任务, 作业并行 —— 多处理机同时
对多条指令及相关多数据组的操作 —— 多处
理机 。
3.并行性开发途径
1)时间重叠
a)方法:在并行性中引入时间因素, 让多个
处理过程在时间上错开, 轮流重复的使用同
一套硬件设备的各个部分, 以加快硬件周转
而提高速度 。
b)优点:不必增加额外硬件设备就可以提高计
算机系统的性价比 。
取指 分析 执行
(a) 指令流水线
k
k
k
k+1
k+1
k+1
k+2
k+2
k+2
△ t 2△ t 3△ t 4△ t 5△ t t
取指
分析
执行
部件
(b) 指令在流水线各部件中流过的时间关系
2)资源重复
a)方法:在并行性概念中引入空间因素 。 通
过重复设置硬件资源来提高可靠性或性能 。 如
双工系统 。
b)优点:系统的速度性能得到很大提高 。
控制器 CU
处理单元 PE0 PE1 PEN-1…
? ?
资源重复
3)资源共享
a)方法,利用软件的办法让多个用户按一定
时间顺序轮流使用同一套资源, 以提高其利
用率, 这样可以提高整个系统的性能 。 例如,
多道程序分时系统就是利用共享 CPU,主存资
源, 以降低系统价格, 提高设备的利用率 。
b)优点,节省资源, 效率高, 介于上述两种
之间 。
1.5.2并行处理系统结构与多机系统耦合度
1.并行处理系统的结构
并行处理计算机是强调并行处理的系统 。 按
其基本的结构特征, 可以分为以下四种:
1)流水线计算机 —— 时间重叠 —— 多部件在时
间上交错重叠地并行执行运算和处理 —— 以实
现时间上并行 。
注意问题:解决好拥塞控制, 冲突防止, 分支
处理, 指令和数据的相关处理, 流水线重组,
中断处理, 流水线调度以及作业顺序等 。
2)阵列处理机 —— 资源重复 —— 设置大量算术
逻辑单元, 在同一控制部件作用下同时运算和
处理 —— 以实现空间上的并行 。
注意问题:解决好处理单元间的灵活而有规律
的互连模式及互连网络的设计, 存贮器组织,
数据分布等 。
3)多处理机 —— 资源共享 —— 由统一的 OS控制
共享 I/O子系统、数据库资源及处理机 —— 以
实现时间、空间上的异步并行。
注意问题:解决好处理机间的互连、存贮器组
织、存贮管理、资源分配、任务分解、系统死
锁、进程间的通信与同步、多处理机的调度、
系统保护等。
4)数据流机 —— 指令中的数据控制指令执行顺
序 —— 数据是以表示某一操作数或参数已准备
就绪的数据令牌的形式直接在指令间传递 ——
研究高效的数据流语言。
2.多级系统的耦合度
1)基本概念
a)多机系统:指的是多处理机系统和多计算
机系统 。
b)多处理机系统:多台处理机组成的单一计
算机系统 。
c)多计算机系统:多台独立的计算机组成的
系统 。
2)耦合度
耦合度是反映多机系统中各机器之间连接
的紧密程度和交叉作用能力强弱的 。 可以分为
以下三种:
a)最低耦合 —— 只是通过某种介质(如磁盘)
交换信息,各机之间没有物理连接,无共享的
联机硬件资源。
b)松散耦合 —— 也叫间接耦合, 通过通道或通
信线路互连, 只共享某些外围设备 。 又分两种
形式:一种形式是多台计算机通过通道和共享
的外围设备相联;另一种形式是各台计算机通
过通信线路连接成计算机网络 。 这两种都是非
对称, 异步的 。
c)紧密耦合 —— 也叫直接耦合, 通过总线或高
速开关互连, 共享主存, 信息传输速率高, 可
以实现数据集一级, 任务级, 作业级的并行 。
大多是对称型多处理系统 。
1.5.3计算机系统的分类
从不同的观点和角度, 可以对现有的计算机
提出许多不同的分类方法, 主要介绍三种 。
1.弗林分类法
根据指令流和数据流的多倍性 (是指在系统性能瓶
颈部件上处于同一执行阶段的指令或数据的最大可能个
数 )状况对计算机进行分类 。
1)单指令流单数据流 SISD
一次仅对一条指令译码, 仅对一个操作部件
分配数据 。 单处理器计算机,
2)单指令流多数据流 SIMD
一条指令, 多个操作过程 。 阵列机和相联
处理机 。
3)多指令流单数据流 MISD
多条指令对同一个数据流及其中间结构进行
不同的处理 。 这类系统少见 。
4)多指令流多数据流 MDMD
全面并行的多机系统 。
2.库克分类法
根据指令流和执行流 (Execution Stream)及其
多倍性对计算机系统结构进行分类 。
1)单指令流单执行流 SISE—— 单处理机系统
2)单指令流多执行流 SIME—— 多部件处 理机
3)多指令流单执行流 MISE—— 多指令单处理
4)多指令流多执行流 MIME—— 多处理机系统
3.冯泽云分类法
根据数据处理并行度对计算机系统结构进行分类 。
1)字串位串 —— 位串处理, 一字一位 —— 位串行计
算机
2)字串位并 —— 字片处理, 一字 n位 —— 位并行单
处理机
3)字并位串 —— 位片处理, m字一位 —— 相联, 阵
列处理机
4)字并位并 —— 全并行处理, m字 n位 —— 相联, 阵
列处理机及多处理机
第一章小结
1.六级层次结构
应用语言机器 面向用户
高级语言机器 面向用户
汇编语言机器 面向用户
操作系统机器 面向上层机器
传统机器 面向上层机器
微指令机器 面向上层机器
2.结构, 组成, 实现
1)概念
2)关系
3.系统设计
1)三条基本原则
2)三种设计思路
a)方法,
b)优缺点,
4.并行性
1)概念
2)并行性等级分类
3)三种开发途径
a)时间重叠
b)资源重复
c)资源共享
4)并行性处理机的结构
a)流水线计算机
b)阵列处理机
c)多处理机
d)数据流机
5)耦合度
a)最低耦合
b)松散耦合
c)紧密耦合
6)计算机系统分类
a)弗林法
单指令流单数据流 SISD
单指令流多数据流 SIMD
多指令流单数据流 MISD
多指令流多数据流 MDMD
b)库克法
单指令流单执行流 SISE
单指令流多执行流 SIME
多指令流单执行流 MISE
多指令流多执行流 MIME
c)冯泽云法
字串位串
字串位并
字并位串
字并位并
习题处理
2.有一个经解释实现的计算机,可以按功能分为
4级。每一级为了执行一条指令需要下一级的 N
条指令解释。若执行第一级的一条指令需 K ns
时间,那么执行第 2,3,4级的一条指令分别需
要多长时间?
『 分析 』 计算机按功能分配时,最低层是第 1级,
向上依次是第 2、第 3、第 4级;解释方式的执行
是在低级机器级上用它的一串语句或指令来仿
真高一级机器级上的一条语句或指令的功能,
而且是通过对高级机器级程序中的每条语句或
指令逐条加以解释来实现的。
『 解答 』 执行第 2、第 3、第 4级的一条指令分别
需要 NK ns,N2K ns,N3K ns的时间。
作业 (课后习题 ):
1.计算机系统结构 透明性
由中间向两边设计 并行性
时间重复 松耦合系统
4,7,8,15,16