计算机系统结构教程
2010-8
中国铁道出版社
陈建铎,李学干 著
265
“计算机系统结构”是计算机专业的学生学完“数字逻辑与电路”、“计算机组成原理”、“操作系统”、“汇编语言程序设计”、“编译原理”和“高级语言程序设计”课后开设的一门专业主干课程。它不仅涉及硬件,还涉及软件;不仅涉及基础理论,还涉及新型计算机系统结构的研究与发展。因此,通过该门课程的学习,可把学生的专业水平提升到一个更高的层面。对于电类各专业的研究生,有利于他们开阔视野,了解各类计算机的组成与体系结构,以便在以后的工作中用好计算机,为其所学专业服务。本书第一版于2006年2月由电子工业出版社出版,全国发行。它内容清晰,语言简练,且配有电子教案,受到许多院校授课教师的好评。同时,也发现一些不足之处,故经修改,再次出版。 修改时,删除了个别繁杂之处,补充了一些新的知识和例题,对个别章节做了调整,从而使计算机系统结构的层次概念更加清晰准确,有利于学生及时了解计算机的新发展和新水平,有利于学生学以致用。 全书分为9章,其中第1章讲述计算机系统的层次结构、类型、性能分析方法及发展过程;第2章讲述数据的类型与表示、指令系统的设计思想、GISO与R,ISE;计算机的性能比较;第3章讲述存储器体系结构的基本原理、虚拟存储器、高速缓冲存储器(cache)及其管理模式;第4章讲述标量流水线工作原理、流水线中的主要障碍与处理方法、流水线的实现与控制方法;第5章讲述向量处理机的体系结构与类型、向量处理方式、快速向量处理技术、向量处理机实例及其性能分析;第6章讲述互连网络的作用、设计准则、类型、结构、互连函数以及互连网络中的消息传递方式;第7章讲述并行处理机的基本概念、开发策略,SIMD阵列机的基本结构、并行算法、并行存储器的无冲突访问、典型SIMD阵列机举例与应用、脉动阵列机的工作原理;第8章讲述多处理机的基本结构、类型,多处理机中的并行处理技术、操作系统、算法、程序设计语言、Ga,c11e一致性,以及并行处理技术的发展趋势与实例;第9章讲述数据流计算机、归约机以及人工智能计算机的基本原理、实现方式及体系结构。参考学时为64学时。 修改时,作者仍牢牢把握知识结构完备、层次分明、概念清楚、语言简练、既能讲清基本理论又能反映最新技术的原则。通过增加例题,进一步把理论教学与实际应用结合起来,以加深学生对理论知识的理解。 由于编者水平有限,难免存在一些谬误之处,诚请同行教师与读者批评指正。
“计算机系统结构”是计算机科学与技术专业的一门主干课程。其目的在于向学生讲授计算机的各种体系结构,使学生学习和掌握设计新型计算机的思想、方法和步骤。全书共分为9章,分别介绍了计算机系统的层次结构、类型、性能分析方法及其发展过程,计算机中数据的类型与表示、指令系统的设计思想以及CISC与RISC计算机的性能比较,存储器体系结构的基本原理、虚拟存储器、Cache及其管理模式,标量流水线工作原理、流水线的实现与控制方法,向量处理机的体系结构与类型、向量处理方法、快速向量处理技术及其性能分析,互连网络的作用、设计准则、类型、结构、互连函数以及消息传输方式,并行处理机的基本概念、开发策略、SIMD阵列机的基本结构、并行存储器无冲突访问以及脉动阵列机的组成与工作原理,多处理机的基本结构、类型、多处理机中的并行处理技术、操作系统、算法、程序设计语言、Cache的一致性以及并行处理技术的发展趋势,数据流计算机、归约机以及人工智能计算机的基本原理、体系结构、实现方法以及计算机的最新发展思路。 《计算机系统结构教程》适合作为高等院校计算机科学与技术专业本科教材,也可供电类各专业研究生使用。
第1章 计算机系统结构的基本概念1.1 计算机系统结构的发展史1.2 计算机系统结构的定义1.2.1 计算机系统的层次结构1.2.2 计算机系统结构的内涵1.2.3 计算机系统的组成与实现1.3 计算机系统结构的类型1.3.1 按“流”分类1.3.2 按“并行级”和“流水线”分类1.3.3 冯氏分类法1.4 计算机系统性能分析1.4.1 定量分析法1.4.2 CPU性能分析1.4.3 MIPS与MFLOPS指标1.4.4 性能测试结果的统计与比较1.5 计算机系统结构的发展过程1.5.1 计算机系统结构的演变过程1.5.2 软件对计算机系统结构发展的影响1.5.3 应用需求对计算机系统结构发展的影响1.5.4 器件对计算机系统结构发展的影响1.5.5 算法对计算机系统结构发展的影响1.6 计算机系统的成本、性能与价格1.6.1 计算机系统的成本与价格1.6.2 计算机系统的性能与价格练习与思考第2章 数据的表示与指令系统设计2.1 数据类型与表示2.1.1 数据类型2.1.2 数据表示2.1.3 定点数与浮点数2.1.4 向量数据表示2.1.5 自定义数据表示2.2 指令系统设计2.2.1 指令系统的发展及其风格2.2.2 指令系统的设计要求与分类2.2.3 地址分配与寻址方式2.2.4 按内容寻址方式2.2.5 指令格式与优化设计2.2.6 指令系统结构举例2.3 CISC计算机和RISC计算机2.3.1 CISC计算机的特点2.3.2 RISC计算机的特点与风格2.3.3 CISC计算机和RISC计算机性能比较2.3.4 RISC计算机中的新技术2.3.5 RISC计算机指令系统实例分析练习与思考第3章 存储器体系结构3.1 概述3.1.1 存储器的层次结构3.1.2 基本概念与性能参数3.1.3 多体并行存储器3.1.4 磁盘阵列3.2 高速缓冲存储器(Cache)3.2.1 Cache的基本概念3.2.2 Cache的组成与工作原理3.2.3 地址映像与变换3.2.4 Cache置换策略与主存更新方法3.2.5 Cache性能分析3.3 虚拟存储器3.3.1 虚拟存储器的基本概念3.3.2 虚拟存储器的管理方式3.3.3 虚拟地址快速变换法3.3.4 置换策略3.3.5 虚拟存储器管理举例3.4 存储器保护措施练习与思考第4章 标量流水线技术4.1 概述4.1.1 控制流及其改变4.1.2 程序执行过程中的重叠操作与先行控制4.2 标量流水线工作原理4.2.1 标量流水线工作原理4.2.2 标量流水线分类4.2.3 流水线性能分析4.2.4 流水线中的主要障碍4.2.5 流水线的实现与控制4.2.6 流水线的动态调度4.3 指令级流水线4.3.1 指令级流水线概述4.3.2 超级标量流水线4.3.3 超长指令字4.3.4 展开循环体后调度4.3.5 软件流水法4.3.6 超级流水机举例练习与思考第5章 向量流水与向量处理机5.1 向量流水的概念与工作原理5.1.1 向量流水的概念与特点5.1.2 向量处理机的基本组成5.1.3 向量启动时间与结果流出时间5.1.4 向量操作长度控制与向量访问步长5.2 向量处理与增强向量处理性能的方法5.2.1 向量处理方法5.2.2 增强向量处理性能的方法5.3 向量处理性能的评价参数与评价方法5.3.1 机器向量长度与向量流水处理时间5.3.2 向量流水操作中处理时间及速率与向量长度的关系5.3.3 向量流水处理中与向量长度有关的参数5.4 向量化编译技术5.5 向量处理机举例5.5.1 多向量多处理机CRAYY-MP8165.5.2 C一90处理机练习与思考第6章 互连网络6.1 互连网络的基本概念6.1.1 互连网络的功能与特征6.1.2 互连函数6.2 静态互连网络6.2.1 静态互连网络结构6.2.2 静态互连网络特性6.3 动态互连网络6.3.1 总线互连方式6.3.2 交叉开关互连方式6.3.3 多级网络互连方式6.4 消息传送与控制6.4.1 消息寻径方式6.4.2 虚拟通道与死锁6.4.3 流控制策略练习与思考第7章 并行处理技术与阵列机原理7.1 并行处理技术7.1.1 并行处理的基本概念7.1.2 并行性的开发途径7.2 SIMD阵列机7.2.1 SIMD阵列机的基本结构7.2.2 阵列机并行算法7.2.3 SIMD阵列机的特点7.2.4 并行存储器无冲突访问7.2.5 典型SIMD阵列机举例7.3 脉动阵列机7.3.1 脉动阵列机的组成原理7.3.2 面向特定算法的脉动阵列机的结构形式7.3.3 通用脉动阵列机的结构练习与思考第8章 多处理机8.1 多处理机的基本结构与类型8.1.1 紧耦合多处理机8.1.2 松耦合多处理机8.1.3 多处理机中Cache的一致性8.2 并行多处理机技术8.2.1 程序并行性分析8.2.2 并行程序设计语言8.2.3 多处理机操作系统8.2.4 多处理机调度策略8.3 并行多处理机的发展趋势8.3.1 大规模并行处理机8.3.2 MPP机举例……第9章 计算机体系结构的发展
2.结构数据类型 结构数据类型是由一组相互关联的数据元素复合而成的数据类型,这种相互之间的关联称为数据结构。结构数据类型一般不能直接由硬件表示和识别,而需要通过映像的方式存储到存储器的一维空间中去。结构数据类型中的数据元素可以是基本数据类型的数据,也可以是结构数据类型中的元素。这种结构在编译时被确定,执行时一般不允许改变。常见的向量、数组、字符串、堆栈、队列、记录等,都属于结构数据类型。其中,向量和数组中的元素具有相同的类型;字符串常用若干个ASCII码表示;堆栈和队列中的元素是在机器运行时生成的,可以笼统地视为二进制串;在记录中,数据元素的类型往往是不一样的,可以是整型数据、实型数据、字符串或其他类型。 在结构数据类型中,向量、数组、字符串、记录等,一般由用户定义和使用;堆栈可以由用户定义和使用,也可以由操作系统定义和使用;队列通常只在操作系统中定义和使用。除此之外,还有图、表、树及链表等,也是在操作系统中定义和使用的。2.1.2数据表示 1.数据表示 数据表示是指计算机硬件能够直接表示和识别的数据的形式。它研究的是由硬件能够直接表示和识别,由指令系统能够直接调用的数据类型。因此,数据表示与数据类型有着密切的关系。例如,要直接识别和处理整型数据,计算机就必须具有相应的指令和用于整型数据的运算部件;要直接识别和处理浮点数,就必须要有浮点运算的指令和浮点运算器;要直接识别和处理布尔型数据,就必须要有逻辑运算指令和进行逻辑运算的部件。 数据表示所研究的数据类型一般是常用的和比较简单的数据类型,如整型数据、实型数据、布尔数据、字符串、堆栈等;在向量机中,向量能够被硬件直接识别,可通过向量指令来处理。 数据结构研究的是面向系统软件和某些应用领域所需要处理的数据类型,它研究数据类型的逻辑结构与物理结构之间的关系与算法。除了数据表示所研究的数据之外,其他数据一般都属于数据结构所要研究的内容。