计算机组成与体系结构
1.数据的表示
按权展开法,用于R进制转十进制。例如七进制604.01
,通过用几进制的位数减一次幂乘上即可:6*7^2 + 4*7^0 + 1*7^(-2) = 298.07
短除法,十进制转R进制。带着最后的余数从下往上,从后往前写。
二进制与八、十六进制转换:从右往左,三、四个位一次划分,然后逐个转换拼接。
八进制:(2106)8
o2106
十六进制:(80E)16
0x80E
80EH
小技巧:十六进制用的可能较多,提前算好与二进制的对应,制表于草稿纸,需要的时候查。
八位为一字节,最高位存符号。正数原码反码补码都相同,负数原码反码补码最高位都是1,反码除了符号位取反,补码是反码的基础上加一。
负数补码转原码同原码转补码。
移码在补码基础上符号位取反。
补码参与加减法计算:通过溢出得正确结果。
小数二进制的计算:乘2取整,顺序排列
小数没有移码。
2.数值表示的范围
边界值:
整数2^(n-1)-1
定点小数1-2^(-(n-1))
补码和移码少一个-0
3.浮点数
浮点数,科学计数法。尾数*基数^指数
对阶,算尾数,结果格式化
- 尾数用补码,阶数用移码
- 尾数决定精度。阶数决定范围
- 对阶,小数向大数看齐,尾数右移
储存形式:阶符,阶码,数符,尾数
4.计算机结构
状态条件寄存器没有明确是运算器还是控制器。
运算器:
- 算术逻辑单元ALU :数据的算术运算和逻辑运算
- 累加寄存器AC :通用寄存器,为ALU提供一个工作区,用在暂存数据
- 数据缓冲寄存器DR :写内存时,暂存指令或数据
- 状态条件寄存器PSW :存状态标志与控制标志(争议:也有将其归为控制器的)
控制器:
- 程序计数器PC:存储下一条要执行指令的地址
- 指令寄存器IR:存储即将执行的指令
- 地址寄存器:CPU当前处理的指令地址
- 指令译码器ID:对指令中的操作码字段进行分析解释
- 时序部件:提供时序控制信号
5.计算机体系结构分类法-Flynn
单多指令流与单多数据流组合
s单m多i指令d数据
体系结构类型 | 结构 | 关键特性 | 代表 |
---|---|---|---|
单指令流单数据流 SISD | 控制部分1 处理器1 主存模块1 | 单处理器系统 | |
单指令流多数据流 SIMD | 控制部分1 处理器1 主存模块1 | 各处理器以异步 的形式执行同一条指令 | 并行处理机 阵列处理机 超级向量处理机 |
多指令流单数据流 MISD | 控制部分1 处理器1 主存模块1 | 被证明不可能, 至少是不实际 | 目前没有,有文献称 流水线计算机为此类 |
多指令流多数据流 MIMD | 控制部分1 处理器1 主存模块1 | 能够实现作业、 任务、指令等各 级全面并行 | 多处理机系统 多计算机 |
6.指令的基本概念
一条指令就是机器语言的一个语句,它是一 组有意义的二进制代码,指令的基本格式如下:
操作码字段 地址码字段
操作码部分指出了计算机要执行什么性质的操作,如加法、减法、取数、存数等。地址码字段需要包含各操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令、二地址指令、一地址指令和零地址指令。
7.寻址方式
- 立即寻址方式:操作数就在指令之中,操作数接在指令中,速度快,灵活性差
- 间接寻址方式:指令中存故了一个地址,这个地址对应的内容是操作数的地址
- 直接寻址方式:指令中存故的是操作数的地址
- 寄存器寻址方式:寄存器存放操作数
- 寄存最间接寻址方式:寄存器内存放的操作救的地址
8.CISC与RISC
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其它 |
---|---|---|---|---|
CISC(复杂) | 数量多,使用频率 差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC (精简) | 数量少,使用频率接近 定长格式,大部分为 单周期指令,操作寄存器, 只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器 ; 硬布线逻辑控制为主适台采用流水线 | 优化编译, 有效支持高级语言 |
CISC与RISC比较维度:指令数量、指令使用频率,寻址方式,寄存器,流水线支持,高级语言支持。
CISC:复杂,指令数量多,频率差别大,多寻址
RISC ;精简,指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,流水线
9.流水线-概念
相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。
各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
流水线周期为执行时间最长的一段
流水线计算公式为 :
第1条指令执行时间 + (指令条数-1) * 流水线周期
理论公式:第一条指令的各段时间之和,再减后面的
实践公式:第一条指令的段数乘流水线周期,再减后面的
10.层次化存储结构
特点 | 存储结构 | 描述 |
---|---|---|
速度快(容量小) | CPU | 寄存器,最快,但容量小,成本高 |
Cache | 按内容存取 | |
内存(主存) | 分两类:随机存储器(RAM)只读存储器( ROM ) | |
速度慢(容量大) | 外存(辅存) | 硬盘、光盘、U盘等 |
局部性原理是层次化存储结构的支撑:时间局部性,空间局部性,防止抖动。
11.Cache -映像
直接相联映像:硬件电路较简单 ,但冲突率很高。
全相联映::路难于设计和实现,只适用于小容量的cache,冲突率较低。
组相联映像:直接相联与全相联的折中。
地址映像是将主存与Cache的存储空间划分为若干大小相同的页(或称为块) 。
直接映像还要给主存分区,cache内只能存主存分区中对应的页 常发生冲突(不同区的页占同一位置) 需要数据交换,违背局部性原则。
组相联映像,区内分组,组按位置存,组内可任意放不冲突。
全是所有对所有,直接是一对一,组是几个对几个。
12.主存-编址与计算
存储单元
按字编址:存储体的存储单元是字存储单元 ,即最小寻址单位是一 个字
按字节编址:存储体的存储单元是字节存储单元;即最小寻址单位是一个字节。
根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数,即:
总片数=总容量/每片的容量
主存编址计算,区间大减小后要记得加一。
13.总线
一条总线同一时刻仅允许一个设备发送 ,但允许多个设备接收。
总线的分类:
数据总线( Data Bus) :在CPU与RAM之间来回传送需要处理或是需要储存的数据。
地址总线 ( Address Bus) : 用来指定在RAM ( Random Access Memory )之中储存的数据的地址。
控制总线( Control Bus ) :将微处理器控制单元( Control Unit )的信号,传送到周边设备,一般常见的为USB Bus和1394 Bus。
另分类,内、外、系统总线。
14.串联系统与并联系统
可靠性的计算
串联系统:各部分可靠性相乘,失效率相加。
并联系统:1-(1-部分可靠性)互相乘,(子系统失效率的倒数乘个数阶乘的倒数)的倒数。
15.N模式混合系统*
使用“14”中的计算方法分别计算并联子系统的可靠性,当作整体计算串联系统可靠性。
类似于物理中的电阻?计算
16.校验码
码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据校验码的码距。
码距和编码本身的数字、进制无关,是每个编码之间数值之差所决定的。
奇偶校验
奇偶校验码的编码方法是:由若干位有效信息(如一个字节) ,再加上一个二进制位(校验位)组成校验码。
奇校验:整个校验码(有效信息位和校验位)中"1"的个数为奇数。
偶校验:整个校验码(有效信息位和校验位)中"1"的个数为偶数。
奇偶校验,可检查1位的错误,不可纠错。
循环校验码CRC
CRC校验,可检错,不可纠错。
CRC的编码方法是 :在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码),以及如何从k+r位信息码判断是否出错。
循环冗余校验码编码规律如下:
- 把待编码的N位有效信息表示为多项式M(X) ;
- 把M(X)左移K位,得到M(X)xXK,这样空出了K位,以便拼装K位余数(即校验位) ;
- 选取一个K+ 1位的产生多项式G(X),对M(X)xXK做模2除;
- 把左移K位以后的有效信息与余数R(X做模2加减,拼接为CRC码,此时的CRC码共有N+ K位。
把接收到的CRC码用约定的生成多项式G(X)去除,如果正确,则余数为0 ;如果某一位出错,则余数不为0。不同的位数出错其余数不同,余数和出错位序号之间有惟一的对应关系。模2除法。
海明码
不用掌握纠错方式,海明校验,可检错,也可纠错。
海明校验码的原理是:在有效信息位中加入几个校验位形成海明码,使码距比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出错误的位置,为自动纠错提供了依据。