第一章计算机系统概论1、基本概念硬件:是指可以看得见、摸得着的物理设备(部件)实体,一般讲硬件还应包括将各种硬件设备有机组织起来的体系结构。软件:程序(代码)+数据+文档。由两部分组成,一是使计算机硬件能完成运算和控制功能的有关计算机指令和数据定义的组合,即机器可执行的程序及有关数据;二是机器不可执行的,与软件开发、过程管理、运行、维护、使用和培训等有关的文档资料。固件:将软件写入只读存储器ROM中,称为固化。只读存储器及其写入的软件称为固件。固件是介于硬件和软件之间的一种形态,从物理形态上看是硬件,而从运行机制上看是软件。计算机系统的层次结构:现代计算机系统是由硬件、软件有机结合的十分复杂的整体。在了解、分析、设计计算机系统时,人们往往采用分层(分级)的方法,即将一个复杂的系统划分为若干个层次,即计算机系统的层次结构。最常见的是从计算机编程语言的角度划分的计算机系统层次结构。虚拟计算机:是指通过配置软件扩充物理机(硬件/固件实现)功能以后所形成的一台计算机,而物理机并不具备这种功能。虚拟机概念是计算机分析设计中的一个重要策略,它将提供给用户的功能抽象出来,使用户摆脱具体物理机细节的束缚。2、计算机的性能指标。1吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量,用bps度量。2响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量。3利用率:在给定的时间间隔内,系统被实际使用的时间所在的比率,用百分比表示。4处理机字长:常称机器字长,指处理机运算中一次能够完成二进制运算的位数,如32位机、64位机。5总线宽度:一般指CPU从运算器与存储器之间进行互连的内部总线一次操作可传输的二进制位数。6存储器容量:存储器中所有存储单元(通常是字节)的总数目,通常用KB、MB、GB、TB来表示。7存储器带宽:单位时间内从存储器读出的二进制数信息量,一般用B/s(字节/秒)表示。8主频/时钟周期:CPU的工作节拍受主时钟控制,按照规定在某个时间段做什么(从什么时候开始、多长时间完成),主时钟不断产生固定频率的时钟信号。主频(主时钟的频率)度量单位是MHZ、GHZ;时钟周期(主频的倒数)度量单位是微秒、纳秒。9CPU执行时间:表示CPU执行一段程序所占用的CPU时间,可用下式计算CPU时间=CPU时钟周期数XCPU时钟周期长。10CPI:执行一条指令所需要的平均时钟周期数,可用下式计算CPI=执行某段程序所需的CPU时钟周期数/该程序包含的指令条数。11MIPS:平均每秒执行多少百万条定点指令数,用下式计算MIPS=指令条数/(程序执行时间×106)12FLOPS:平均每秒执行浮点操作的次数,用来衡量机器浮点操作的性能,用下式计算FLOPS=程序中的浮点操作次数/程序执行时间(秒)3、计算机硬件系统的概念性结构,各个部分的作用。(1)计算机硬件系统由运算器、控制器、内存储器、输入设备、输出设备五大部分构成,一般还要包括它们之间的连接结构(总线结构);(2)将运算器、控制器、若干的寄存器集成在一个硅片上,称为中央处理器CPU;(3)由于输入设备、输出设备与CPU、内存的处理速度差异,所以输入、输出设备通过适配器与总线、CPU、内存连接;(4)概念性结构如下图所示;(5)控制器的作用有三个方面:存储程序控制方式(指令控制)、操作控制、时间(时序)控制。基本任务如下:从内存储器中按一定顺序取指令译码(翻译)、产生控制信号控制取操作数(源操作数、目的操作数)控制执行(运算)控制保存结果形成下条指令地址(顺序、转移)(6)运算器的作用:由算术逻辑运算部件ALU、寄存器、数据通路组成。实现数据的加工和处理(算术运算、逻辑运算、移位运算、关系(比较)运算、位运算);(7)存储器的作用:存储程序和数据,记忆部件;CPU存储器适配器适配器适配器运算器控制器寄存器组输入设备输出设备(8)适配器的作用:在主机与I/O设备之间起数据缓冲、地址识别、信号转换等;(9)总线的作用:多个部件分时共享的信息传送通路,用来连接多个部件并为之提供信息传输交换服务。(注:后续章节还会逐步扩充)4、指令流、数据流计算机如何区分指令和数据指令流:在取指周期中从内存中读出的信息流称为指令流,它通过总线、CPU内部数据通路流向控制器。数据流:在执行周期中从内存中读出的信息流称为数据流,它通过总线、CPU内部数据通路流向运算器。从时间上来说,取指令事件发生在取指周期(取指令阶段),取数据事件发生在执行周期(执行指令阶段);从空间(处理部件)上来说,指令一定送给控制器,数据一定送给运算器。5、冯·诺依曼计算机的技术特点由运算器、控制器、存储器、输入设备、输出设备五大部分构成计算机硬件系统概念结构;采用二进制代码表示数据和指令;采用存储程序控制方式(指令驱动)。第二章运算方法和运算器1、原码、补码、反码、移码的求法及表示范围。(1)首先应明确机器字长;(2)原码、补码、反码、移码的求法;(3)表示范围;机器字长=8机器字长=16定点小数定点整数定点小数定点整数原码-(1-2-7)至+(1-2-7)-127至+127-(1-2-15)至+(1-2-15)-32767至+32767补码-1至+(1-2-7)-128至+127-1至+(1-2-15)-32768至+32767反码-(1-2-7)至+(1-2-7)-127至+127-(1-2-15)至+(1-2-15)-32767至+32767移码-1至+(1-2-7)-128至+127-1至+(1-2-15)-32768至+327672、补码加减法运算,加法运算溢出检测。(1)补码加法运算规则(2)补码减法运算规则(3)变形补码表示法00表示正数11表示负数(4)变形补码运算:规则同补码加减法运算规则,双符号位数值化、参加运算。(5)加法运算溢出检测1)单符号位法2)双符号位法参见例题、习题3、并行加法器的进位方法及逻辑表达式(1)直接从全加器的进位公式推导。FA3FA2FA1FA0A0B0A1B1C1A2B2C2C4A3B3C3F3F2F1F0C0(2)串行进位:某位的运算必须等到下一位的进位传递来以后,才能开始。也就是进位从最低位向最高位逐级传递,速度慢。C1=G0+P0C0C2=G1+P1C1C3=G2+P2C2C4=G3+P3C3(3)并行进位:所有进位可以同时产生,实际上只依赖于数位本身、来自最低位的进位C0。C1=G0+P0C0C2=G1+P1G0+P1P0C0C3=G2+P1G1+P2P1G0+P2P1P0C0C4=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0其中:G0=A0B0P0=A0+B0G1=A1B1P1=A1+B1G2=A2B2P2=A2+B2G3=A3B3P3=A3+B3Gi:进位产生函数,表示两个数位都为1Pi:进位传递函数,表示某位上的两个数位有一个为1,如果来自低位的进位为1,则肯定会产生进位。4、浮点加减法运算方法。比较阶码大小、对阶尾数加减法运算规格化处理尾数舍入处理溢出判断参见例题、习题5、流水线原理、时钟周期确定、时间公式、加速比、时空图(1)把一个任务分割为一系列的子任务,使各子任务在流水线中时间重叠、并行执行。过程段Si之间重叠执行。(2)时钟周期的确定所有Si中执行时间最大者,参见例。(3)时间公式(理想)(K+(n-1))T(4)加速比Ck=TL/Tk=(n·k)/(k+(n-1))当任务数很大时,采用一个任务的完成时间相比,参见例。(5)流水线时空图第三章存储系统1、基本概念存储容量:指一个存储器中可以容纳的存储单元总数。典型的存储单元存放一个字节,因此通常用字节数来表示,KB、MB、GB、TB。存取时间:读操作时间指一次读操作命令发出到该操作完成、数据读出到数据总线上所经历的时间。通常写操作时间等于读操作时间,故称为存取时间。存取周期:也称读写周期,指连续启动两次读/写操作所需间隔的最小时间。通常存储周期略大于存取时间,因为数据读出到总线上,还需要经过数据总线、CPU内部数据通路传递给控制器/运算器。存储器带宽:单位时间里存储器可以存取的信息量,通常用位/秒、字节/秒表示。2、存储器的分级结构。对存储器的要求是容量大、速度快、成本低,但是在一个存储器中要求同时兼顾这三个方面的要求是困难的。为了解决这方面的矛盾,目前在计算机系统中通常采用多级存储器体系结构,即高速缓冲存储器、主存储器和外存储器。CPU能直接访问高速缓冲存储器cache和内存;外存信息必须调入内存后才能为CPU进行处理。(1)高速缓冲存储器:高速小容量半导体存储器,强调快速存取指令和数据;(2)主存储器:介于cache与外存储器之间,用来存放计算机运行期间的大量程序和数据。要求选取适当的存储容量和存取周期,使它能容纳系统的核心软件和较多的用户程序;(3)外存储器:大容量辅助存储器,强调大的存储容量,以满足计算机的大容量存储要求,用来存放系统程序、应用程序、数据文件、数据库等。3、主存储器的逻辑设计。第一步:根据设计容量、提供的芯片容量构建地址空间分布图(类似搭积木),可能需要字、位扩展;第二步:用二进制写出连续的地址空间范围;第三步:写出各片组的片选逻辑表达式。第四步:按三总线分析CPU和选用存储器芯片的数据线、地址线、控制线,以便设计CPU与存储器的连接。第五步:设计CPU与存储器连接的逻辑结构图。参见例题、习题4、顺序存储器和交叉存储器的定量分析。顺序存储器:mT交叉存储器:可以使用流水线存取,T+(m-1)τ参见例题、习题5、高速缓冲存储器cache的基本原理,cache命中率相关计算Cache的基本原理:cache是一种高速缓冲存储器,为了解决CPU和主存之间速度不匹配而采用的一项重要技术。主存和cache均按照约定长度划分为若干块;主存中一个数据块调入到cache中,则将数据块地址(块编号)存放到相联存储器CAM中,将数据块内容存放在cache中;当CPU访问主存时,同时输出物理地址给主存、相联存储器CAM,控制逻辑判断所访问的块是否在cache中:若在,则命中,CPU直接访问cache。若不在,则未命中,CPU直接访问主存,并将该单元所在数据块交换到cache中。基于程序和数据的局部性访问原理,通过cache和主存之间的动态数据块交换,尽量争取CPU访存操作在cache命中,从而总体提高访存速度。cache命中率相关计算:命中率主存/cache系统平均访问时间访问效率参加例题、习题。第四章指令系统1、基本概念指令系统:一台计算机中所有机器指令的集合,称为这台计算机的指令系统。指令系统是表征一台计算机性能的重要因素,其格式与功能直接影响机器的硬件结构、软件、适用范围等。寻址方式:告诉计算机如何获取指令和运算所需要的操作数。即如何提供将要执行的指令所在存储单元的物理地址;如何提供运算所需要的操作数所在存储单元的物理地址、或者操作数所在内部寄存器的编号。CISC:指令条数多、结构形式复杂多样、寻址方式种类繁多、功能复杂多样、翻译执行效率低、很多指令难得用到。CISC使计算机的研制周期长,难以保证正确性,不易调试、维护,大量使用频率很低的复杂指令浪费了系统硬件资源。RISC:选取使用频率最高的一些简单指令,指令条数少,复杂功能通过宏指令实现;指令长度、格式、结构形式、寻址方式种类少,翻译执行效率高;只有取数/存数指令访问存储器,其余指令的操作均在CPU内部寄存器之间进行。RISC可缩短计算机的研制周期、易于保证正确性、调试、维护,系统硬件资源使用效率高。2、指令格式及寻址方式辨析参见例题、习题第五章中央处理器1、基本概念指令周期:取出一条指令并执行这条指令所需要的时间。微指令周期:从控制存储器中读出一条微指令的时间加上执行该条微指令的时间。微命令:控制部件通过控制线向执行部件发送的各种控制信号/操作命令。微操作:执行部件接收微命令以后所完成的操作,微操作是执行部件中最基本的、不可再分解的操作。微指令:一组实现一定操作功能的微命令的组合形式,称为微指令。由操作控制和顺序控制