第一章 计算机系统结构的基本概念
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表示(改进前改进部分的执行时间)/(改进后改进部分的执行时间),则:
改进后的整个任务的执行时间为:
            ,    其中为改进前的整个任务的执行时间。
改进后的整个系统加速比为:
   
  (3)CPU性能公式。
        CPU时间=CPU时钟周期数/频率;
        CPU时间=CPU时钟周期数*时钟周期长;
        平均时钟周期数CPI=CPU时钟周期数/IC(指令的条数);
        CPU时间=(IC*CPI)/频率f;
     
  (4)访问的局部性原理。
时间局部性、空间局部性。
5. 计算机系统设计者的主要任务
(1) 确定用户对计算机系统的功能、价格和性能的要求。
(2) 软硬件的平衡。
(3) 设计出符合今后发展方向的系统结构。
6. 计算机系统设计的主要方法
(1) “由下往上”(bottom-up)设计。
(2) “由上往下”(top-down)设计。
(3) “由中间开始”(middle-out)设计。
计算机硬件系统
7. 系统结构的评价标准
(1) 性能
MIPS(Million Instructions Per Second)
        MIPS = =
MFLOPS(Million FLoating point Operations Per Second)
        MFLOPS =
用基准测试程序来测试评价机器的性能。
综合基准测试程序。
  (2)性能比较
总执行时间。
加权执行时间。
  (3)成本
成本指标。
硬件考虑。
8.冯诺依曼计算机的特征可概括为:
(1) 存储器是字长固定的、顺序线形编址的一维结构。
(2) 存储器提供可按地址访问的一级地址空间,每个地址是唯一定义的。
(3) 由指令形式的低级机器语言驱动。
(4) 指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。
(5) 机器以运算器为中心,输入输出设备与存储器之间的数据传送都途经运算器。运算器、存储器、输入输出设备的操作以及它们之间的联系都由控制器集中控制。
9.软件对系统结构的影响
(1) 采用系列机方法。
(2) 采用模拟与仿真方法。
(3) 采用统一的高级语言方法。
10.价格、应用、VLSI对系统结构的影响
11.技术的发展对价格的影响
12.算法和系统结构
第二章 指令系统
1. 指令系统(Instruction Set Architecture, ISA)是计算机系统中软件与硬件的接口;主要研究数据表示、寻址方式等内容。
2. 数据表示
(1) 基本的数据表示方法,包括定点数、逻辑数、浮点数、字符、字符串、堆栈等,以及一些新的数据表示方法和在数据表示方面的新的研究成果,如自定义数据表示、带标志符的数据表示法、数据描述符表示法及浮点数表示方面的研究成果等;
(2) 数据表示的原则:
缩短程序的运行时间
减少CPU与主存储器之间的通信量
数据表示的通用性和利用率
(3) 计算机内浮点数的表数范围、表数精度和表数效率,浮点数尾数基值的选择
(4) 浮点数的性质和设计方法
(5) 运用浮点数进行四则运算
3. 寻址方式
(1) 寻址技术研究的主要内容包括编址方式、寻址方式和定位方式等,研究的对象主要有寄存器、主存储器、堆栈和输入输出设备等,其中以面向主存储器的寻址技术为主要研究对象;
(2) 编址方式是指对各种存储设备进行编码的方法,主要包括编址的单位、零地址空间的个数等,另外还包括并行存储器的编址技术和输入输出设备的非线形编址技术;
(3) 寻操作数及数据存放单元的方法称为寻址方式。在分析各种寻址技术优缺点的基础上,重点是能够在计算机系统中如何选择和确定采用哪种寻址技术;
(4) 程序的定位是指把指令和数据的逻辑地址(相对地址)转换成主存储器的物理地址(
绝对地址)。定位方式可分为三种:直接定位、静态定位和动态定位。
4. 指令格式的优化设计
(1) 指令格式优化设计的主要目标有两个,一是节省程序的存储空间,二是指令格式要尽量规整,以减少硬件译码的复杂程度。指令格式优化后,不应该降低指令的执行速度。
(2) 操作码的表示方法通常有三种:固定长度操作码、Huffman编码法和扩展编码法。要重点掌握Huffman编码法和扩展编码法;
(3) 固定长操作码的主要优点:规整,译码简单;主要缺点:浪费信息量(操作码的总长位数增加)
(4) 采用最优Huffman编码法操作码的最短平均长度可以通过如下公式计算:
  其中:Pi表示第i种操作码在程序中出现的概率
  固定长操作码相对于Huffman操作码的信息冗余量为:
  采用Huffman编码法操作码的最短平均长度可以通过如下公式计算:
  Huffman操作码的主要缺点:
操作码长度很不规整,硬件译码困难
与地址码共同组成固定长的指令比较困难
(5) 扩展编码法:由固定长操作码与Huffman编码法相结合形成;
(6) 地址码个数的选择
地址码个数通常有三个、两个、一个及0个等四种情况
评价地址码个数应该取多少的标准主要有两个:一是程序的存储容量,包括操作码和地址码;二是程序的执行速度,以程序执行过程中访问主存的信息量代表
(7) 缩短地址码长度的方法
目标:用一个短的地址码表示一个大的逻辑地址空间
用间址寻址方式缩短地址码长度
在主存储器的低端开辟一个专门存放地址的区域,
用变址寻址方式缩短地址码长度
    由于程序的局部性,变址寻址方式中的地址偏移量比较短,
用寄存器间接寻址方式缩短地址码长度,很有效的方法
5. 指令系统的功能设计
(1) 指令系统功能设计要求:完整性、规整性、高效率和兼容性
(2) 基本指令系统包括数据传送类指令、运算类指令、程序控制类指令、输入输出指令、处理机控制和调试指令;
(3) 指令系统的优化设计有两个截然相反的方向:
复杂指令系统计算机CISCComplex Instruction Set Computer
1)增强指令功能,设置功能复杂的指令
2)面向目标代码、面向高级语言、面向操作系统
3)用一条指令代替一串指令
精简指令系统计算机RISCReduced Instruction Set Computer
1) 只保留功能简单的指令
2) 功能较复杂的指令用子程序来实现
(4) RISC与CISC各自的特点和相互比较
(5) RISC的关键技术
旁路技术
延迟转移技术
指令取消技术
重叠寄存器窗口技术
指令流调整技术
以硬件为主固件为辅
第三章    存储系统
1. 提高存储器性能的主要方法有层次存储器、并行存储器、缓冲技术、先行控制技术等。
2. 典型的并行存储器包括并行访问存储器、低位交叉存储器和高位交叉存储器。低位交叉存储器的特点是地址相邻的信息存放在不同(相邻)的存储体中。高位交叉存储器的特点是地
址相邻的信息存放在同一存储体中。
3. 所谓存储系统是指两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来而成的系统。这个系统对应用程序员透明,并且,从应用程序员看它是一个存储器,这个存储器的速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等或接近,单位容量的价格接近最便宜的那个存储器。程序访问的局部性原理是层次存储系统构成的基础。
4. 存储器的主要性能参数:
1)存取时间:
CPU到第i层存储器的往返时间。
2)存储器容量:
i层的字节或字的数量。
3)每字节成本:
4)传输带宽:
相邻层之间传输信息的速率。
5)传输单位:
相邻两层之间数据传输的粒度(如字、块、页等)。
5. 层次存储器性质
1)包含性:
  内层的信息必然包含于其外层。所有的信息最初放在最外层。在处理过程中,其子集被一步步复制到内层。
2)一致性:
同一个信息项在后继存储器层次上的副本是一致的。
如果在缓存中的一个字被修改过,那么在所有高层上该字的副本也必须立即或最后加以修改。
维护一致性的两种策略:写直达和写回。前者指如果在内层中修改了一个字,在外层中必须立即加以修改。而后者的处理方法是:在外层中的修改延迟到内层中被修改的字被替换时才进行。
  3)局部性:
时间局部性:
最近的访问项很可能在不久的将来再次被访问。
空间局部性:
一个进程所访问的各项其地址彼此很近。
顺序局部性: