.. .…. word. …第一章 计算机系统结构的基本概念【学习指南】一.本章是全书的基础,所以要透切理解本章所介绍的基本概念,例如计算机系统层次结构,系统结构定义,计算机组成定义,计算机实现定义,系统结构、组成与实现的三者关系,透明性,Amdahl 定律,CPU 性能公式,局部性原理,MIPS 定义,MFLOPS 定义等等。
1. 计算机系统由硬件和软件组成,按功能划分为多级层次结构。
2. 计算机系统结构作为一门学科,主要是研究软件,硬件功能分配和对软件、硬件界面的确定,即哪些功能由软件完成,哪些功能由硬件完成。
计算机系统结构,计算机组成和计算机实现是三个不同的概念。
计算机系统结构是计算机系统的软硬件的界面;计算机组成是计算机系统结构的逻辑实现;计算机实现是计算机组成的物理实现。
3. 计算机系统结构的分类(1) 通常把计算机系统按照其性能和价格的综合指标分为巨型、大型、中型、小型、微型等。
(2) 按用途可分为科学计算、事务处理、实时控制、家用等。
(3) 按处理机个数和种类,可分为单处理机、多处理机、并行处理机、关联处理机、超标量处理机、超流水线处理机、SMP (对称多处理机)、MPP (大规模并行处理机)、机群系统等。
(4) Flynn 分类法。
按照指令流和数据流的不同组织方式,将计算机系统结构分为以下四类:♦ 单指令流单数据流SISD (Single Instruction stream Single Datastream ) ♦ 单指令流多数据流SIMD (Single Instruction stream Multiple Datastream ) ♦ 多指令流单数据流MISD (Multiple Instruction stream Single Datastream ) ♦ 多指令流多数据流MIMD (Multiple Instruction stream Multiple Datastream )(5)式分类法。
提出用最大并行度对计算机系统结构进行分类。
分为:♦ 字串位串WSBS (Word Serial and Bit Serial ) ♦ 字并位串WPBS (Word Parallel and Bit Serial ) ♦ 字串位并WSBP (Word Serial and Bit Parallel ) ♦ 字并位并WPBP (Word Parallel and Bit Parallel )4.计算机系统设计的定量原理(1) 加快经常性事件的速度(Make the common case fast)。
(2) Amdahl 定律:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。
Fe 表示(改进前可改进部分占用的时间)/(改进前整个任务的执行时间),Se 表示(改进前改进部分的执行时间)/(改进后改进部分的执行时间),则:♦ 改进后的整个任务的执行时间为:)1(0SeFe Fe T T n +-=, 其中0T 为改进前的整个任务的执行时间。
♦ 改进后的整个系统加速比为:SeFe Fe T T S n n /)1(10+-==(3)CPU 性能公式。
CPU 时间=CPU 时钟周期数/频率; CPU 时间=CPU 时钟周期数*时钟周期长; 平均时钟周期数CPI=CPU 时钟周期数/IC (指令的条数); CPU 时间=(IC*CPI )/频率f ;)(CPU 1i ni i I CPI ⨯=∑=的时钟周期数(4)访问的局部性原理。
时间局部性、空间局部性。
5 系统结构的评价标准(1) 性能♦ MIPS (Million Instructions Per Second )MIPS =610*执行时间指令条数=610*CPI f♦ MFLOPS (Million Floating point Operations Per Second )MFLOPS =610*执行时间程序中的浮点操作次数♦ 用基准测试程序来测试评价机器的性能。
♦ 综合基准测试程序。
(2)性能比较♦ 总执行时间。
♦ 加权执行时间。
(3)成本♦ 成本指标。
♦ 硬件考虑。
6.•诺依曼计算机的特征可概括为:(1) 存储器是字长固定的、顺序线形编址的一维结构。
(2) 存储器提供可按地址访问的一级地址空间,每个地址是唯一定义的。
(3) 由指令形式的低级机器语言驱动。
(4) 指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支)()(11ICI CPI ICI CPICPI ini i ni i i⨯=⨯=∑∑==由转移指令实现。
(5) 机器以运算器为中心,输入输出设备与存储器之间的数据传送都途经运算器。
运算器、存储器、输入输出设备的操作以及它们之间的联系都由控制器集中控制。
二.通过做例题和习题,会做下列类型的计算题: (1).有效(平均)CPI 计算[题] 假设在一台40MHZ 处理机上运行200,000条指令的目标代码,程序主要由四种指令组成。
根据程序跟踪实验结果,已知指令混合比和每种指令所需的指令数如下。
计算在单处理机上用跟踪数据运行程序的平均CPI,并根据所得的CPI,计算相应的MIPS 速率。
指令类型 CPI 指令混合比 算术和逻辑 1 60% 高速缓存命中的加载/存储 2 18% 转移 4 12% 高速存储缺失的存储器访问 8 10% [解]CPI = 1*60% + 2*18% + 4*12% + 8*10% = 2.24 MIPS = f/(CPI*106) = (40*106)/(2.24*106) = 17.86 (2)Amdahl 定律应用[题]假定我们利用增加向量处理模块来提高计算机的运算速度。
计算机处理向量的速度比其通常的运算要快20倍。
我们将可用向量处理部分所花费的时间占总时间的百分比称为可向量化百分比。
1)求出加速比S 和可向量化百分比F 之间的关系式。
2)当要得到加速比为2时的可向量化百分比F 为多少? [解] 1)2)由上式,将 S=2 代入 得:F = 10/19 = 0.53第二章 指令系统【学习指南】一.首先透切理解以下基本概念:数据结构、数据表示、寻址技术、RISC 指令系统、CISC 指令系统1. 指令系统(Instruction Set Architecture, ISA)是计算机系统中软件与硬件的接口;主要研究FF F S ⨯-=+-=19202020/)1(1数据表示、寻址方式等容。
2. 数据表示(1) 基本的数据表示方法,包括定点数、逻辑数、浮点数、字符、字符串、堆栈等,以及一些新的数据表示方法和在数据表示方面的新的研究成果,如自定义数据表示、带标志符的数据表示法、数据描述符表示法及浮点数表示方面的研究成果等; (2) 数据表示的原则:♦ 缩短程序的运行时间♦ 减少CPU 与主存储器之间的通信量 ♦ 数据表示的通用性和利用率(3) 计算机浮点数的表数围、表数精度和表数效率,浮点数尾数基值的选择 (4) 浮点数的性质和设计方法 (5) 运用浮点数进行四则运算3. 寻址方式(1) 寻址技术研究的主要容包括编址方式、寻址方式和定位方式等,研究的对象主要有寄存器、主存储器、堆栈和输入输出设备等,其中以面向主存储器的寻址技术为主要研究对象;(2) 编址方式是指对各种存储设备进行编码的方法,主要包括编址的单位、零地址空间的个数等;(3) 寻找操作数及数据存放单元的方法称为寻址方式。
在分析各种寻址技术优缺点的基础上,重点是能够在计算机系统中如何选择和确定采用哪种寻址技术; (4) 程序的定位是指把指令和数据的逻辑地址(相对地址)转换成主存储器的物理地址(绝对地址)。
定位方式可分为三种:直接定位、静态定位和动态定位。
4. 指令格式的优化设计(1) 指令格式优化设计的主要目标有两个,一是节省程序的存储空间,二是指令格式要尽量规整,以减少硬件译码的复杂程度。
指令格式优化后,不应该降低指令的执行速度。
(2) 操作码的表示方法通常有三种:固定长度操作码、Huffman 编码法和扩展编码法。
要重点掌握Huffman 编码法和扩展编码法;(3) 固定长操作码的主要优点:规整,译码简单;主要缺点:浪费信息量(操作码的总长位数增加)(4) 采用最优Huffman 编码法操作码的最短平均长度可以通过如下公式计算:i ni i p p H ∑=⋅-=12log 其中:P i 表示第i 种操作码在程序中出现的概率固定长操作码相对于Huffman 操作码的信息冗余量为:⎡⎤n p p R ni ii 212log log 1∑=⋅--=采用Huffman 编码法操作码的最短平均长度可以通过如下公式计算:∑=⨯=nii il pH1Huffman操作码的主要缺点:♦操作码长度很不规整,硬件译码困难♦与地址码共同组成固定长的指令比较困难(5)扩展编码法:由固定长操作码与Huffman编码法相结合形成;(6)缩短地址码长度的方法目标:用一个短的地址码表示一个大的逻辑地址空间♦用间址寻址方式缩短地址码长度在主存储器的低端开辟一个专门存放地址的区域,♦用变址寻址方式缩短地址码长度由于程序的局部性,变址寻址方式中的地址偏移量比较短,♦用寄存器间接寻址方式缩短地址码长度,很有效的方法5. 指令系统的功能设计(1)指令系统功能设计要求:完整性、规整性、高效率和兼容性;(2)基本指令系统包括数据传送类指令、运算类指令、程序控制类指令、输入输出指令、处理机控制和调试指令;(3)指令系统的优化设计有两个截然相反的方向:♦复杂指令系统计算机CISC(Complex Instruction Set Computer)1)增强指令功能,设置功能复杂的指令2)面向目标代码、面向高级语言、面向操作系统3)用一条指令代替一串指令♦精简指令系统计算机RISC(Reduced Instruction Set Computer)1) 只保留功能简单的指令2) 功能较复杂的指令用子程序来实现(4)RISC与CISC各自的特点和相互比较(5)RISC的关键技术♦延迟转移技术♦指令取消技术♦重叠寄存器窗口技术♦以硬件为主固件为辅二.通过做例题和习题,会做下列类型的计算题::(1)浮点数表示[题]在浮点数的尾数用原码、小数表示,阶码用移码、整数表示,尾数基值r e=2,阶码基值r e=2,阶码字长q=7,尾数字长p=55,尾数符号和阶码符号各一位,总字长为64解:即尾数数值部分的所有55个二进制位全部为都1;1之外,其余54个二进制位全部为0;8个二进制位全部为1;8个二进制位全部为0;最大正数第三章存储系统【学习指南】一.首先透切理解以下基本概念: :存储系统的定义、存储系统的性能参数、地址映象与变换方法、虚拟存储器、Cache存储器、命中率、替换算法1.提高存储器性能的主要方法有层次存储器、并行存储器等。