衡量一台计算机性能的优劣是根据多项技术指标综合确定的,既包括硬件的各种性能指标,又包括软件的各种功能。
第一章、计算机系统概论
1、计算机系统组成及性能:
计算机系统是由“硬件”和“软件”组成。衡量一台计算机性能的优劣是根据多项技术指标综合确定的,既包括硬件的各种性能指标,又包括软件的各种功能。计算机系统由硬件和软件两部分组成。计算机系统性能由硬件和软件共同决定。
2、计算机系统5层层次结构:
为程序机器、传统机器、操作系统机器、汇编语言机器、高级语言机器微程序机器和传统机器是物理机,其他是虚拟机。
3、冯诺依曼机器的主要特点:
计算机由运算器、存储器、控制器、输入设备和输出设备五大部分组成;指令和数据存储再存储器中,并可以按地址访问;指令和数据均以二进制表示;指令由操作码和地址码构成,操作码指明操作的性质,地址码表示操作数在存储器中的位置;指令在存储器内按顺序存放,通常按自动的顺序取出执行;机器以运算器为中心,I/O设备与存储器交换数据也要通过运算器。(后来有以存储器为中心的计算机结构)
4、现代计算机组成图:
5、计算机储存单元:
存储单元:存储一个存储字并具有特定存储地址的存储单位;存储字:一个存储单元中存放的所有的二进制数据,按照某个地址访问某个存储单元获取的二进制数据。存储字长:存储字中二进制数据的位数,即按照某个地址访问某个存储单元获取的二进制数据的位数;存储体:由多个存储单元构成的存储器件。
6、主存储器中的MAR和MDR:
MAR:存储地址寄存器,保存需要访问的存储单元地址。反映存储单元的个数。MDR:存储数据寄存器,缓存读出/写入存储单元的数据。反映存储字长。存储器的最大容量由MAR寄存器的位数和MDR寄存器的位数决定。
7、机器字长和存储字长:
机器字长:CPU一次能够处理的二进制数据的位数。存储字长:按照某个地址访问某个存储单元获取的二进制数据的位数。
第二章、计算机系统
硬件结构主机CPUALU运算器CU控制器存储器主存(计算机的内存条)辅存(如磁盘等虚拟存储)I/O输入设备输出设备主要技术指标机器字长CPU一次能处理的数据位数存储容量存储容量=存储单元个数×存储字长运算速度单位时间执行指令的平均条数,MIPS(每秒百万指令条数)软件系统软件用来管理整个计算机系统语言处理程序(编译器,模拟器等)操作系统(windows/linux)服务性程序(网络驱动,磁盘驱动等)数据库管理系统(mysql,oracle,pgsql等)网络软件(tcp/ip协议栈等)应用软件自己下载的普通软件
第三章、运算方法和运算部件
1、数据的表示方法和转换
机器数正0负1真值:符号位加绝对值符号数值化的带符号二进制数,称为机器数。余三码:在8421码的基础上,把每个编码都加上0011格雷码:任何两个相邻编码只有1个二进制位不同,而其余3个二进制位相同当两个余三码相加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送入高位,本位加00118421码权值从高到低为8、4、2、1算术运算时,需对运算结果进行修正。 方法:如果小于、等于(1001)2,不需要修正;否则加6修正
2、带符号的二进制数据在计算机中的表示方法及运算
(1)源码表示:
X为正数时,符号位为0;X为负数时,符号位为1。其他位置上与真值一样0存在两种表示形式特点:值+0,-0的原码分别为00000、10000,形式不唯一;正数的原码码值随着真值增长而增长,负数的原码码值随着真值增长而减少n+1位原码表示定点整数范围-(2n-1)——-(2n-1)n+1位原码表示定点小数范围 -(1-2-n)———(1-2-n)运算:绝对值相加减,由数值大小决定运算结果符号
(2)反码表示:
正数的反码、补码与原码相同负数的反码,按位取反,符号位取反特点:数值零的反码表示不唯一正数反码码值随着真值增大而增大,负数反码码值随着真值增大而增大n+1位反码所表示定点整数范围- (2n-1)——-2n-1,n+1位反码所表示定点小数范围-(1-2-n)——-1-2-n运算:满足[X+Y]反=[X]反+[Y]反,[X-Y]反=[X]反+[-Y]反
(3)补码表示:
从X求[X]补:X为正数时,[X]补=XX为负数时,①按位求反(符号位不变),②末尾加1从[X]补求X:[X]补的符号位为0(正数),[X]补=X[X]补的符号位为1(负数),①按位求反(包括符号位),②末尾加1,再在数值前面加上符号-从[X]补求补:按位求反(包括符号位)末尾加1特点:数值零的补码表示唯一正数补码码值随着真值增大而增大,负数补码码值随着真值增大而增大n+1位补码所表示定点整数范围- 2n——2n-1,n+1位补码所表示定点小数范围-1—-1-2-n结论:负数的补数=模+负数互为补数的绝对值相加=模在补数中,减法运算即加法运算运算:[X+Y]补=[X]补+[Y]补,[X–Y]补=[X+(–Y)]补=[X]补+[–Y]补
(4)移码表示:
left [ X ight ][X]补的符号位取反,即得$ left [ X ight ] $$移为了从码值直接判断对应真值的大小,所以引进移码特点:最高位是符号位,1表示正,0表示负数据0有唯一的编码移码码值随着真值增大而增大n+1位移码所表示定点整数范围-2^{n} - left { 2^{n}-1 ight } , n+1位移码所表示定点小数范围-1——1-2-n计算机中,移码常用于表示阶码,故只执行加、减运算计算机中,移码运算公式需要对结果进行修正运算:移码定义:[X]移=2的n次方+X补码定义:[X]补=2的n+1次方+Y阶码求和公式[X]移+[Y]补=[X+Y]移mod2的n+1次方[X]移+[-Y]补=[X-Y]移
(5)补、反、原、移码的相互转换
反码——->原码方法:符号位不变,正数不变,负数数值部分取反。补码——->原码方法1:正数不变,负数数值部分求反加1。方法2:串行转换从最后开始数,遇到第一个“1”,除第一个“1”不变,前面数字分别取反移码——->原码方法:移码转换为补码,再转换为原码
(6)定点数和浮点数
定点数:小数点固定在某个位置上的数据32位定点小数、定点整数补码的范围32位定点小数-1~1-2-3132位定点整数-231~231-1浮点数:根据IEEE754国际标准,常用的浮点数有两种格式Nmax=Mmax2的EmaxNmin=Mmin2的Emax单精度(32位)=8位阶码+24位尾数单精度浮点数(32位),阶码8位(含一位符号位),尾数24(含一位符号位),取值范围:-2的127次方~(1-2的-23次方)*2的127次方双精度(64位)=11位阶码+53位尾数双精度浮点数(64位),阶码11位(含一位符号位),尾数53位(含一位符号位),取值范围:-2的1023次方~(1-2的-52次方)*2的1023次方为了保证数据精度,尾数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值应大于或等于(0.5)10小数点位置可以浮动的数据。左规右规表示形式:N = M · RE计算机中存储形式Ms+Es+E(n位)+M(m位)阶码E,一般为整数,用补码或者移码表示;尾数M,一般为规格化的定点小数,用补码表示;
3、二进制乘法运算
定点原码一位乘法两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积[X·Y]原=[X]原·[Y]原=(X0⊕Y0)|(X1X2…Xn) · (Y1Y2…Yn)定点补码一位乘法表达式:[X·Y]补=[X]补·(-Y0+Y1·2-1+….Yn·2-n)注意:此处为双符号位,当最后乘积高位为负数时,需要补充加上[-|x|]补的操作
4、二进制除法运算
加减交替法:当余数为正时,商上1,求下一位商的办法是,余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的办法是,余数左移一位,再加上除数。此方法不用恢复余数,所以又叫不恢复余数法。但若最后一次上商为0而又需得到正确余数,则在这最后仍需恢复余数
5、浮点数运算
(1)浮点数的加减法运算
对阶操作求出E,再对小的进行移位尾数的加减运算规格化操作规则简化是符号位和数值最高位不同,即00.1xxxx或11.0xxxx舍入超出表示范围的高位为1舍入检查节码是否溢出
(2)浮点数的乘除法运算
浮点数阶码运算(移码)[X+Y]移=[X]移+[Y]补[X–Y]移=[X]移+[–Y]补按照一位乘或加减交替除运算先确定符号,在列式子计算
6、运算部件
ABC寄存器作业定点运算部件浮点运算部件由阶码运算部件和尾数运算部件组成
7、校验码
码距:
任意两个合法码之间不相同的二进制位数的最小值要具有差错能力,则码距>1合理增大码距,就能提高发现错误的能力
鉴定方法:
有无差错能力是否能合理增大码距
(1)奇偶校验码
能发现数据代码中一位或奇数个位出错情况的编码实现原理是使码距由1增加到2步骤1:在字节高位补充一位,即校验位步骤2:依据图3.10电路形成原始数据D8…D1的校验位置步骤3:将9位数据写入主存步骤4:读出该数据时,读取数据D8…D1通过图3.10判定合法性结论:(1)奇偶校验码只能发现一位或奇位错,且不能确定出错位置(2)奇偶校验码的码距=2
(2)海明校验码
海明码位号和校验位位号的关系Pi的位置在2的i-1次方,但是除了最高位海明码码距为4纠一位错,查一位错2∧r≥k+r+1纠一位错,查两位错2∧(r–1)≥k+r
(3)循环冗余校验码(CRC)
CRC码可以发现并纠正信息存储或传送过程中连续出现的多位错误CRC码一般是指k位信息码之后拼接r位校验码模2运算模2加减模2乘除异或逻辑CRC的译码与纠错更换不同的待测码字可以证明:余数与出错位的对应关系是不变,只与码制和生成多项式有关
第四章、存储器
1、概念
用来存储数据和指令等的记忆部件,叫做存储器。存储器是由一些编号的单元所组成。单元的编号叫做地址。
计算机对存储器的要求是:一要存取速度快,二要存储容量大。
存储器按构造分为磁心存储器、半导体存储器、磁盘、磁带等多种,按与中央处理器的关系可分为内存储器和外存储器两类。
2、存储器分类
1)可以分为随机存储器、只读存储器、顺序存储器和直接存储器;2)随机存储器和只读存储器属于随机存储器,即存取时间与物理地址无关;3)顺序存储器(典型的如磁带)和直接存储器(典型的如磁盘)属于串行存储器,即存取时间与物理地址有关。
3、衡量存储器使用指标
1)速度、容量、位价格。2)寄存器速度最快,主存最便宜
4、常见的存储系统层次结构
1)缓存-主存层次:用来缓解CPU和主存速度不匹配的问题,由硬件来完成,对所有的程序员完全透明。2)主存-辅存层次:用来解决主存容量不够的问题,由操作系统和硬件共同完成,对应用程序设计者透明,对系统程序设计者不透明。
5、主存储器的主要技术指标
主存容量64×8等等计算机可寻址的最小信息单元是一个存储字主存储器存储单元的总数存取速度:由存储器存取时间和存储周期表示存储器存取时间:启动一次存储器操作(读/写)到完成该操作所经历的时间存储周期:连续启动两次独立的存储器操作所间隔的最小时间
6、主存储器的基本操作
CPU通过使用AR(地址寄存器)和DR(数据寄存器)和主存进行数据传送若AR为K位字长,DR为n位字长,则允许主存包含2∧k个可寻址单元CPU与主存采取异步工作方式,以ready信号表示一次访存操作的结束
7、读/写存储器
随机存储器(RAM)按存储元件在运行中能否长时间保存信息分为静态存储器和动态存储器静态存储器,利用触发器保存信息,只要不断电,信息就不会丢失电路简图MOS静态存储结构图动态存储器,利用MOS电容存储电荷来保存信息,需要不断给电容充电才能使信息来保存信息电路简图16K×1位动态存储器框图再生集中式分散式时间小于或等于2ms行读出再生
8、非易失性半导体存储器
RAM(random access memory)即随机存储内存,可读可写,断电时将丢失其存储内容,故主要用于存储短时间使用的程序。ROM(Read-Only Memory)即只读内存,只能读不能写,在掉电的情况下,依然保存原有的数据。
9、存储器的组成与控制
存储器容量扩展位扩展:用多个存储器芯片对字长进行扩充字扩展:增加存储器中字的数量,提高存储器的寻址范围字位扩展,假设一个存储器的容量为M×N位,若使用L×K位存储器芯片,那么,这个存储器共需要(M/L)×(N/K)个存储器芯片
10、多体交叉存储器
提高访存速度的方式采用高速器件采用层次结构调整主存结构计算机中大容量的主存可由多个存储体组成,每个存储体都具有自己的读写线路,地址寄存器和数据寄存器,称为”存储模块”。这种多模块存储器可以实现重叠与交叉存取第i个模块M的地址编号应按下式给出:M×j+i连续地址分布在相邻的不同模块内,而同一模块内的地址都是不连续的
11、提高访存速度的三种方式
1)采用高速元器件;2)采用存储层次结构:cache-主存结构;3)调整主体结构:包括单体多字,多体并行两种方式。
第五章、指令系统
1、指令系统的发展
20世纪70年代末人们提出了便于VLSI实现的精简指令系统计算机,简称RISC,同时将指令系统越来越复杂的计算机称为复杂指令系统计算机,简称CISC。