标题：计算机系列教材：计算机系统结构
基本信息
书名:计算机系统结构（计算机系列教材）  作 者： 方娟 编
出 版 社： 清华大学出版社
ISBN： 9787302243953
出版时间： 2011-03-01
版　次： 1
页　数： 345
装　帧： 平装
开　本： 16开
字数：537000
所属分类：图书>计算机与互联网>计算机组织与体系结构
内容简介
计算机系统结构是计算机专业学生的必修课程，旨在使学生了解计算机系统结构的发展及新技术，掌握计算机系统的基本设计分析方法。本教材系统地讲述了计算机系统结构的基本概念、基本原理、基本结构以及计算机系统结构发展的主流技术和最新发展，并介绍了MIPS体系结构和多核技术，每章均有小结，使读者对各章的内容能清楚地理解和掌握。　全书共9章，分别介绍计算机系统结构的基本概念、指令系统、存储系统、流水线技术、并行处理机和多处理机、输入输出系统、MIPS体系结构、多核技术、非冯·诺依曼型计算机。　《计算机系列教材：计算机系统结构》章节安排合理，在多年计算机专业本科生教学的基础上，总结经验，将现代大多数计算机采用比较成熟的思想，结构和方法以系统结构的角度呈现给学生，　《计算机系列教材：计算机系统结构》既可作为计算机专业本科生的教材，也可作为深入学习高档微型计算机人员的参考书。
目录
第1章 计算机系统结构的基础知识
1.1 计算机系统结构的基本概念
计算机系统结构是计算机的的机器语言程序员或编译程序编写者所看到的外特性。所谓外特性，就是计算机的概念性结构和功能特性，主要研究计算机系统的基本工作原理，以及在硬件、软件界面划分的权衡策略，建立完整的、系统的计算机软硬件整体概念。
1.1.1 计算机系统的层次结构
1.1.2 计算机系统结构的定义
（Computer Architecture）也称为计算机体系结构，它是由计算机结构外特性，内特性，微外特性组成的。经典的计算机系统结构的定义是指计算机系统多级层次结构中机器语言机器级的结构，它是软件和硬件/固件的主要交界面，是由机器语言程序、汇编语言源程序和高级语言源程序翻译生成的机器语言目标程序能在机器上正确运行所应具有的界面结构和功能。
计算机系统结构指的是什么? 是一台计算机的外表? 还是是指一台计算机内部
的一块块板卡安放结构? 都不是，那么它是什么? 计算机系统结构就是计算机的机器语言程序员或编译程序编写者所看到的外特性。所谓外特性，就是计算机的概念性结构和功能特性。用一个不恰当的比喻一，比如动物吧，它的"系统结构"是指什么呢? 它的概念性结构和功能特性，就相当于动物的器官组成及其功能特性，如鸡有胃，胃可以消化食物。至于鸡的胃是什么形状的、鸡的胃部由什么组成就不是"系统结构"研究的问题了。系统结构只管到这一层。关于计算机系统的多层次结构，用"人"这种动物的不恰当的例子列表对比如下：（这种联系很不科学，只是大家轻松一下）。
1.1.3 计算机组成和计算机实现
1.1.4 计算机系统结构的分类
按"流"分类的方法，这是Flynn教授提出的按指令流和数据流的多倍性概念进行分类的方法。共有四大类，即：（S-single 单一的 I-instruction 指令M-multiple多倍的D-data数据）。
SISD 单指令流单数据流，传统的单处理机属于SISD计算机。
SIMD 单指令流多数据流，并行处理机是SIMD计算机的典型代表。中国的YH-I型是此类计算机型。
MISD 多指令流单数据流，实际上不存在，但也有学者认为存在。
MIMD 多指令流多数据流，包括了大多数多处理机及多计算机系统。中国的YH-Ⅱ型计算机是这种类型的计算机。
一般将标量流水机视为SISD类型，把向量流水机视为SIMD类型。
按"并行级"和"流水线"分类：这是在计算机系统中的三个子系统级别上按并行程度及流水线处理程度进行分类的方法。
1.2 计算机系统的设计
1.2.1 计算机系统设计的定量原理
1.2.2 计算机系统设计者的主要任务
1.2.3 计算机系统设计的主要方法
1.3 计算机系统的性能评测
1.4 计算机系统结构的发展
1.4.1 冯·诺依曼结构及其改进
冯·诺伊曼结构与储存程式型电脑是互相通用的名词，其用法将于下述。而哈佛结构则是一种将程式资料与普通资料分开储存的设计概念。
储存程式型概念也可让程式执行时自我修改程式的运算内容。本概念的设计动机之一就是可让程式自行增加内容或改变程式指令的内存位置，因为早期的设计都要使用者手动修改。但随着索引暂存器与间接位置存取变成硬件结构的必备机制后，本功能就不如以往重要了。而程式自我修改这项特色也被现代程式设计所弃扬，因为它会造成理解与除错的难度，且现代中央处理器的管线与快取机制会让此功能效率降低。
从整体而言，将指令当成资料的概念使得组合语言、编译器与其他自动编程工具得以实现；可以用这些“自动编程的程式”，以人类较易理解的方式编写程式[1]；从局部来看，强调I/O的机器，例如Bitblt，想要修改画面上的图样，以往是认为若没有客制化硬件就办不到。但之后显示这些功能可以借由“执行中编译”技术而有效达到。
此结构当然有所缺陷，除了下列将述的冯·诺伊曼瓶颈之外，修改程式很可能是非常具伤害性的，无论无意或设计错误。在一个简单的储存程式型电脑上，一个设计不良的程式可能会伤害自己、其他程式甚或是操作系统，导致当机。缓冲区溢位就是一个典型例子。而创造或更改其他程式的能力也导致了恶意软件的出现。利用缓冲区溢位，一个恶意程式可以覆盖呼叫堆栈（Call stack）并覆写程式码，并且修改其他程式档案以造成连锁破坏。内存保护机制及其他形式的存取控制可以保护意外或恶意的程式码更动。
1.4.2 软件对系统结构的影响
1.4.3 器件发展对系统结构的影响
1.4.4 应用对系统结构的影响
1.5 计算机系统结构中并行性的发展
1.5.1 并行性的概念
并行性是指计算机系统具有可以同时进行运算或操作的特性，在同一时间完成两种或两种以上工作。它包括同时性与并发性两种含义。
同时性指两个或两个以上事件在同一时刻发生。
并发性指两个或两个以上事件在同一时间间隔发生。
计算机中提高并行性的措施多种多样，就是基本思想而言，可以归纳为如下3条途径：
（1）时间重叠。相邻处理过程在时间上错开，轮流重叠使用同一套硬件的各部分。
（2）资源重复。重复设置硬件资源提高可靠性和性能。
（3）资源共享。让多个用户按照一定的时间顺序轮流使用同一套资源，提高资源利用率。
并发的实质是一个物理CPU（也可以多个物理CPU）在若干道程序之间多路复用，并发性是对有限物理资源强制行驶多用户共享以提高效率。
实现幷发技术的关键之一是如何对系统内的多个活动（进程）进行切换。
并行性指的是两个或两个以上的事件或活动在同一时刻发生。在多道程序环境下，并行性使多个程序同一时刻可在不同CPU上同时执行。
并行性通常可分为4个级别：作业级或程序级、任务级或程序级、指令之间级和指令内部级。前两级为粗粒级，又称为过程级；后两级为细粒级，又称为指令级。
1.5.2 提高并行性的技术途径
1.5.3 单机系统中并行性的发展
1.5.4 多机系统中并行性的发展
1.5.5 并行机的发展变化
习题1
第2章 指令系统的设计
2.1 指令系统结构的分类
2.2 寻址方式
寻址方式就是寻找操作数或操作数地址的方式。8086提供了与操作数有关和与I/O端口地址有关的两类寻址方式。与操作数有关的寻址方式有七种，分别是立即寻址，寄存器寻址，直接寻址，寄存器间接寻址，寄存器相对寻址，基址加变址寻址，相对基址加变址寻址；与I/0端口有关的寻址方式有直接端口寻址和间接端口寻址方式。另外还有隐含寻址，即把要寻找的地址包含在操作码中。在存储器中，操作数或指令字写入或读出的方式，有地址指定方
式、相联存储方式和堆栈存取方式。几乎所有的计算机，在内存中都采用地址指定方式。当采用地址指定方式时，形成操作数或指令地址的方式称为寻址方式。寻址方式分为两类，即指令寻址方式和数据寻址方式，前者比较简单，后者比较复杂。值得注意的是，在传统方式设计的计算机中，内存中指令的寻址与数据的寻址是交替进行的
2.3 指令系统的设计和优化
2.3.1 指令系统设计的基本原则
2.3.2 控制指令
2.3.3 指令操作码的优化
2.3.4 指令字格式的优化
2.4 指令系统的发展和改进
2.4.1 沿CISC方向发展和改进指令系统
2.4.2 沿RISC方向发展和改进指令系统
2.5 操作数的类型和大小
2.6 MIPS指令系统结构
2.6.1 MIPS的寄存器
2.6.2 MIPS的数据表示
2.6.3 MIPS的数据寻址方式
2.6.4 MIPS的指令格式
2.6.5 MIPS的操作
2.6.6 MIPS的控制指令
2.6.7 MIPS的浮点操作
习题2
第3章 流水线技术
3.1 流水线的基本概念
3.1.1 什么是流水线
流水线是在一定的线路上连续输送货物搬运机械，又称输送线或者输送机。按照输送系列产品大体可以分为：皮带流水线、板链线、倍数链线、插件线、网带线、悬挂线及滚筒流水线这七类流水线。一般包括牵引件、承载构件、驱动装置、张紧装置、改向装置和支承件等。流水线输送能力大，运距长，还可在输送过程中同时完成若干工艺操作，所以应用十分广泛。
3.1.2 流水线的分类
3.2 流水线的性能指标
3.2.1 流水线的吞吐率
3.2.2 流水线的加速比
3.2.3 流水线的效率
3.2.4 流水线性能分析举例
3.2.5 流水线设计中的若干问题
3.3 非线性流水线的调度
3.3.1 单功能非线性流水线的最优调度
3.3.2 多功能非线性流水线的调度
3.4 流水线的相关与冲突
3.4.1 一条经典的5段流水线
3.4.2 相关与流水线冲突
3.5 流水线的实现
3.5.1 MIPS的一种简单实现
3.5.2 基本的MIPS流水线
习题3
第4章 向量处理机
第5章 指令级并行及其开发——硬件方法
第6章 指令级并行的开发——软件方法
第7章 存储系统
第8章 输入输出系统
第9章 互连网络
在并行处理计算机系统、分布计算机系统和计算机网等由多个处理机或多个功能部件组成的各种系统中，都会遇到机间互连问题。互连必须遵循一定的拓扑结构，通过开关元件来完成，以一定的控制方式实现机间通信。因此，互连网络是这些系统的重要组成部分，它对系统的性能指标有决定性的影响。
互连网络具有三大要素，即结点间互连拓扑（包含连接通路）、开关元件和控制方式。在不同的系统中，开关元件所处的物理位置可能是不同的。在采用集中式结构的系统中，互连网络可以是一个独立的部件，由一组开关元件构成，位于被连接的处理机或功能部件结点之间，在一定的控制方式作用下，按照互连拓扑的要求建立结点间的各条连接通路，以实现各个结点对的相互通信。但是，在许多采用分布式结构的系统（特别是计算机网）中，开关元件可能分散地隐含在各个结点内部，从外面只能看到由结点间连接通路所代表的互连拓扑，因而互连网络并不是以一个独立部件的形式出现的，这是一种对互连网络的广义理解，是随着分布式系统结构的日益流行而确立起来的。按照这种广义理解，公共总线是互连网络的一个特例。
互连网络的直接作用是建立机间连接通路。互连网络有两种形式。一种是非共享连接通路，即结点与结点直接相连，非直接相连的结点之间的通信经过中间结点转送。这是多数计算机网的连接情况。另一种是共享连接通路，即多个结点相互间经过开关元件相连，以建立可变的连接通路，同一路径段通过开关元件的选择在不同时刻可为不同的结点对服务，达到共享的目的。这是总线型局部区域网和集中式多处理机的连接情况。
互连网络的功能是完成计算机系统中的数据传送和变换。在单指令流多数据流计算机系统中，互连网络实现多个处理单元与多个存储单元之间的数据变换，又称为数据变换网络，其概念化功能模型如图1。在多指令流多数据流计算机系统中，互连网络既可实现处理机与共享存储器模块间的连接，称为集中式结构（图2a），也可实现带本地存储器的处理机结点相互之间的连接，称为分布式结构（图2b），还可二者结合，既有共享存储器，也有本地存储器。
第10章 多处理机
第11章 机群系统
第12章 阵列处理机
第13章 数据流计算机
参考文献