思维导图
数据的表示
R进制表示及互转
1.二进制转十进制
例1:将二进制数 ( 111010 ) 2 (111010)_2 (111010)2转换为十进制数
解:
( 1 1 1 0 1 0 ) 2 ↓ ↓ ↓ ↓ ↓ ↓ 位权 2 5 2 4 2 3 2 2 2 1 2 0 \def\arraystretch{1.5} \begin{array}{cc} &(&1& 1&1&0&1&0&)_2 \\&&\darr&\darr&\darr&\darr&\darr&\darr \\ 位权& & 2^5 & 2^4&2^3&2^2&2^1&2^0 \end{array} 位权(1↓251↓241↓230↓221↓210↓20)2
▶ \blacktriangleright ▶按位权展开本位数字与该位的位权乘积的代数和即: 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 0 × 2 2 + 1 × 2 1 0 × 2 0 = 32 + 16 + 8 + 2 = ( 58 ) 2 1 \times 2^5 + 1 \times 2^4+1 \times 2^3 +0 \times 2^2 +1 \times 2^1 0 \times 2^0=32 +16+8+2=(58)_2 1×25+1×24+1×23+0×22+1×210×20=32+16+8+2=(58)2
2.十进制转二进制
例2:将二进制数 ( 250 ) 10 (250)_{10} (250)10转换为十进制数
解:
▶ \blacktriangleright ▶熟练掌握2的幂次方的之即: ( 250 ) 10 = 128 + 64 + 32 + 16 + 8 + 2 = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 1 = ( 11110010 ) 2 (250)_{10}=128+64+32+16+8+2=1 \times 2^7 +1 \times 2^6 +1\times 2^5 +1 \times 2^4 +1 \times 2^1=(11110010)_2 (250)10=128+64+32+16+8+2=1×27+1×26+1×25+1×24+1×21=(11110010)2
3.十进小数制转二进制
例3:将十进制小数 ( 0.6875 ) 10 (0.6875)_{10} (0.6875)10转化位二进制小数
▶ \blacktriangleright ▶熟练掌握2的幂次方的之即: ( 0.6875 ) 10 = 0.5 + 0.125 + 0.0625 = 1 × 2 − 1 + 1 × 2 − 3 + 1 × 2 − 4 = ( 0.1011 ) 2 (0.6875)_{10}=0.5+0.125+0.0625=1 \times 2^{-1} +1 \times 2^{-3} +1\times 2^{-4} =(0.1011)_2 (0.6875)10=0.5+0.125+0.0625=1×2−1+1×2−3+1×2−4=(0.1011)2
4.二进数制转八/十六进制
例4:将二进制数 ( 100011110 ) 2 (100011110)_2 (100011110)2转换为八进制数
解:
( 100011110 ) 2 ————( 100011110 ) 2 ————( 436 ) 8 ( 100011110 ) 2 ————( 000100011110 ) 2 ————( 11 E ) 16 (100011110)_{2} ———— (100 011 110)_2————(436)_8 (100011110)_{2} ———— (0001 0001 1110)_2————(11E)_{16} (100011110)2————(100011110)2————(436)8(100011110)2————(000100011110)2————(11E)16
5.二进小数制转八/十六进制
例5:将二进制数 ( 100011110 ) 2 (100011110)_2 (100011110)2转换为八进制数
解:
( 0.100011110 ) 2 ————( 0.100011110 ) 2 ————( 0.436 ) 8 (0.100011110)_{2} ———— (0.100 011 110)_2————(0.436)_8 (0.100011110)2————(0.100011110)2————(0.436)8
( 0.100011110 ) 2 ————( 0.000100011110 ) 2 ————( 0.11 E ) 16 (0.100011110)_{2} ———— (0.0001 0001 1110)_2————(0.11E)_{16} (0.100011110)2————(0.000100011110)2————(0.11E)16
原码、反码和补码
1. 用8位二进制表示正数1和负数1,并将其相加求结果
+1 | -1 | 1+(-1) | +0/-0 | |
---|---|---|---|---|
原码 | 0 0000001 | 1 0000001 | 1 0000010 | +0(00000000)/-0(10000000) |
反码 | 0 0000001 | 1 11111110 | 1 11111111 | +0(00000000)/-0(111111111) |
补码 | 0 0000001 | 1 11111111 | 0 0000000 | 00000000 |
结论:
正数原码符号为0,负数原码符号位为1
正数反码和原码一样,负数反码除符号位其余为进行倒换
正数补码和原码一样,负数补码是负数反码加1
补码的0表示唯一
2.n位二进制原码、反码补码的取值范围如下:
定点整数 | 定点小数(粗略范围) | 定点小数(精确范围 | |
---|---|---|---|
原码 | − ( 2 n − 1 − 1 ) -(2^{n-1}-1) −(2n−1−1)~ 2 n − 1 − 1 2^{n-1}-1 2n−1−1 | -1<X<1 | − ( 1 − 2 − ( n − 1 ) ) -(1-2^{-(n-1)}) −(1−2−(n−1))~ 1 − 2 − ( n − 1 ) 1-2^{-(n-1)} 1−2−(n−1) |
反码 | − ( 2 n − 1 − 1 ) -(2^{n-1}-1) −(2n−1−1)~ 2 n − 1 − 1 2^{n-1}-1 2n−1−1 | -1<X<1 | − ( 1 − 2 − ( n − 1 ) ) -(1-2^{-(n-1)}) −(1−2−(n−1))~ 1 − 2 − ( n − 1 ) 1-2^{-(n-1)} 1−2−(n−1) |
补码 | − 2 n − 1 -2^{n-1} −2n−1~ 2 n − 1 − 1 2^{n-1}-1 2n−1−1 | -1X<1 | -1~ 1 − 2 n − 1 1-2^{n-1} 1−2n−1 |
例1:以8位二进制原码、反码补码的取值范围如下:
定点整数 | 定点小数(粗略范围) | 定点小数(精确范围 | |
---|---|---|---|
原码 | -127~126 | -1<X<1 | − ( 1 − 2 − 7 ) -(1-2^{-7)} −(1−2−7)~ 1 − 2 − 7 1-2^{-7} 1−2−7 |
反码 | -127~126 | -1<X<1 | − ( 1 − 2 − 7 ) -(1-2^{-7)} −(1−2−7)~ 1 − 2 − 7 1-2^{-7} 1−2−7 |
补码 | -128~127 | -1X<1 | -1~ 1 − 2 − 7 1-2^{-7} 1−2−7 |
3. n位二进制原码、反码补码的取值个数如下:
定点数个数 | |
---|---|
原码 | 2 n 2^n 2n-1 |
反码 | 2 n 2^n 2n-1 |
补码 | 2 n 2^n 2n |
逻辑运算
逻辑运算规则
逻辑运算 | |
---|---|
逻辑或 | 0 + 0=0,0 ∨ \lor ∨ 0=0 ; 0 + 1= 1,0 ∨ \lor ∨ 1= 1 ; 1 + 0=1,1 ∨ \lor ∨ 0=1 ; 1 + 1 = 1,1 ∨ \lor ∨ 1= 1 |
逻辑与 | 0 × \times × 0=0,0 ∧ \land ∧ 0=0 ; 0 × \times × 1= 0,0 ∧ \land ∧ 1= ; 1 × \times × 0= 0,1 ∧ \land ∧ 0= 0 ; 1 × \times × 1 = 1,1 ∧ \land ∧ 1= 1 |
逻辑非 | |
逻辑异或 | 0 ⊕ \oplus ⊕ 0= 0,0 ⊕ \oplus ⊕ 1=1,1 ⊕ \oplus ⊕ 0=1,1 ⊕ \oplus ⊕ 1= 0 |
冯诺依曼系体结构
1.冯诺依曼计算机组成
五大组成部件:运算器、控制器、存储器、输入设备、输出设备
注意:运算器和控制器是CPU的两大核心部件
2.控制器主要组成部件
控制器 | 功能 |
---|---|
程序计数器PC | 存放下一条指令的地址 |
指令寄存器IR | 存放当前正在执行的指令 |
指令译码器ID | 分析指令中的操作码 |
地址寄存器AR | 保存当前CPU所访问的内存单元地址 |
时序部件 | 控制各部件之间有序协调 |
3.运算器主要组成部件
运算器 | 功能 |
---|---|
算术逻辑单元ALU | 执行算数和逻辑运算 |
累加寄存器AC | 暂时存放运算的中间结果 |
数据缓冲寄存器 | 存放一条指令或数据 |
状态条件寄存器 | 保存运算中各种标志位信息 |
多路转换器 | 对送入加法器的数据进行选择和控制的电路 |
4.存储器
存储器可分为:主存、辅存
主存:
▶ \blacktriangleright ▶其作用是存放指令和数据,并能由CPU直接随机存取
▶ \blacktriangleright ▶CPU和主存储构成主机
辅存:
▶ \blacktriangleright ▶用于存放一些需要长期保存的程序或数据,断电后也不会丢失,容量比较大,但存取速度慢
5.输入设备
用于向计算机输入数据和信息的设备模式计算机与用户或其他设备通信的桥梁。如键盘、鼠标、摄像头、扫描仪等
6.输出设备
用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。如显示器、打印机。
注意:统称输入输出设备或I/O设备
计算机总线
计算机总线定义:是计算机各种功能部件之间传送信息的公告通信干线
计算机总线的分类:数据总线、地址总线、控制总线
数据总线宽度:也叫数据总线根数,代表CPU一次读取的二进制位数,也说明字长的位数
地址总线宽度:也叫地址总线根数,决定了寻址空间大小。 2 n 2^n 2n
寻址方式
指令的组成
包含两个部分:操作码、地址码
操作码:指明该指令要完成的操作,如取数、做加法、输出数据
地址吗:知名操作数的内容或所在的存储单元地址
寻址方式
寻址方式 | 操作数 | 特点 |
---|---|---|
立即寻址 | 在指令中 | 速度最快 |
变址寻址 | 在内存中 | 访存1次 |
直接寻址 | 在内存中 | 访存1次 |
间接寻址 | 在寄存器中 | 访存2次以上 |
寄存器间接寻址 | 在内存中 | 寄存器中存放的是操作数的地址 |
注意:多种寻址的目的是:扩大寻址空间并提高编程的灵活性
指令系统类型
指令系统类型 指令系统类型 指令系统类型 | 指令 指令 指令 | 寻址方式 寻址方式 寻址方式 | 实现方式 实现方式 实现方式 |
---|---|---|---|
C S I S ( 复杂) CSIS(复杂) CSIS(复杂) | 数量多,使用频率差别大,可变长格式 数量多,使用频率差别大,可变长格式 数量多,使用频率差别大,可变长格式 | 支持多种 支持多种 支持多种 | 微程序控制技术 微程序控制技术 微程序控制技术 |
R I S C ( 精简) RISC(精简) RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器。只有 L o a d / S t o r e 操作内存 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器。只有Load/Store操作内存 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器。只有Load/Store操作内存 | 支持方式少 支持方式少 支持方式少 | 增加了通用寄存器,硬布线逻辑控制为主;适合采用流水线 增加了通用寄存器,硬布线逻辑控制为主;适合采用流水线 增加了通用寄存器,硬布线逻辑控制为主;适合采用流水线 |
Flynn分类
▶ \blacktriangleright ▶只有多指令流但数据流MISD是只有理论意义而无实例类型
流水线技术
▶ \blacktriangleright ▶流水线周期
各流水段中,执行舟曲最长的那一段
▶ \blacktriangleright ▶流水线时间计算
n条指令,采用流水线其执行时间为: ( t 1 + t 2 + t 3 ) + ( n − 1 ) t (t_1 + t_2 +t_3) + (n-1) t (t1+t2+t3)+(n−1)t
其中t是流水线周期,它是 t 1 / t 2 / t 3 t_1 / t_2 /t_3 t1/t2/t3中最长的一段
▶ \blacktriangleright ▶流水线技术指标
①吞吐率:单位时间内流水线完成的任务数量 T p = n T k T_p = \frac{n}{T_k} Tp=Tkn
n表示指令条数, T k T_k Tk表示处理n条指令所需要的时间
理论上最大的吞吐率 T p = 1 流水线周期 T_p = \frac{1}{流水线周期} Tp=流水线周期1
②加速比:不使用流水线所用的时间与流水线所用的时间比即为加速比 S = T S / T k S = T_S/T_k S=TS/Tk
③效率:流水线的设备利用率称为流水线效率。(采用流水线完成n个任务占用的时空取悦有效面积与所占区域总面积之比)
▶ \blacktriangleright ▶流水线技术相关术语
MIPS:表示每秒处理的百万级的机器语言指令数
CPI:平均指令周期数,表示平均每条计算机指令执行所需要的时钟周期。
存储系统
1.中央处理器
速度 | 容量 | 存储器 | 组成 |
---|---|---|---|
快 | 小 | CPU | 寄存器 |
较快 | 较小 | Cache | 按内容存取(相连存储器) |
比较快 | 比较小 | 内存(主存) | RAM和ROM |
慢 | 大 | 外存(辅存 | 硬盘、光盘、U盘 |
▶ \blacktriangleright ▶多级存储结构
Cache——主存
作用:缓和CPU和主存之间的速度矛盾
实现方式:硬件
主存——辅存
作用:逻辑扩大主存空间
实现方式:软、硬件
多级存储的目的:解决存储容量、成本和速度之间的矛盾
局部性原理:是层次化存储结构的支撑
时间局部性:刚被访问的内容,立即又被访问
空间局部性:刚被访问的内容,临近的空间很快被访问
2.主存储器
主存 | 可读可写 | 掉电丢失 | 需要动态刷新 |
---|---|---|---|
ROM | 仅可读 | 否 | |
RAM(SRAM) | 是 | 是 | 否 |
RAM{DRAM(主要} | 是 | 是 | 是 |
Flash闪存:可读可写,掉电不丢失,属于非易失性存储器,以块为单位进行擦除和重写,可代替ROM,但不能代替RAM和主存
▶ \blacktriangleright ▶主存容量
采用随机存取方式存储,需对每个存储单元进行编址
地址编号通常采用16进制进行表示
主存容量=存储单元个数 × \times ×存储单元的容量
相关单位:
位:bit、字节:B,1B=8bit、
1K= 2 10 2^{10} 210bit
1M= 2 10 2^{10} 210K=2^{20}$bit
1G= 2 10 2^{10} 210M= 2 20 2^{20} 220K=2^{30}$bit
例1:内容按字节编制,地址A4000H-CBFFFH,共有多少个存储单元?主存容量是多少?
解:CBFFFH-A4000H+1=28000H
28000H=10 1000 0000 0000 0000
按权位展开: 2 17 + 2 15 = 2 7 K + 2 5 K = 160 K 2^{17} + 2^{15}= 2^7 K + 2^5 K=160K 217+215=27K+25K=160K
存储芯片片数计算:
主存容量=存储单元个数 × \times ×存储单元的容量
存储芯片片数=主存总容量/单个存储芯片容量
注意:存储单元个数即地址编号个数
3.Cache
Cache高速缓冲寄存器是位于CPU和主存之间,容量较小,但速度很高的存储器,通常由SRAM组成
Cache利用局部性原理,以解决CPU和主存之间速度不匹配的问题,进而提升计算机性能
Cache和主存间的映像方式
映射方式 | 特点 |
---|---|
直接相联 | 将一个主存块存储到唯一的一个Cache行 |
全相联 | 将一个主存块存储到任意一个Cache行 |
组相联 | 将一个准村块存储到唯一的一个Cache组中任意一个行 直接由硬件自动完成 |
注意:主存与Cache之间的地址映射
建议看视频学习这个需要理解
4.硬盘
常见接口 | SAS | NL SAS | SATA | FC |
---|---|---|---|---|
性能 | 高 | 较高 | 较高 | 非常高 |
可靠性 | 高 | 较高 | 一般 | 非常高 |
价格 | 一般 | 较便宜 | 便宜 | 非常贵 |
能耗 | 高 | 较低 | 较高 | 非常高 |
应用 | 适合数据较为离散的高中端用户 | 适合较大数据块、业务压力不大的用户使用 | 适合较大数据块、业务压力不大的用户使用 | 适合高端用户,频繁访问的数据 |
硬盘材质分为两大类
HDD:传统硬盘,即机械硬盘
SSD:固态硬盘(由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘)
随着SSD硬盘的迅猛发展,目前把SSD硬盘作为存储系统的Cache来降低内存对机械硬盘的访问延迟
存储器的存取方式
相联存储 | 按内容存取 | Cache |
---|---|---|
随机存储 | 有地址,与位置无关 | 内存、U盘 |
直接存储 | 有地址,与位置有关 | 硬盘、软盘、光盘 |
顺序存储 | 无地址 | 磁带 |
系统可靠性
系统可靠性指标
失效率、MRBF、MTTR、可用性
计算
串行系统可靠性:R= R 1 R_1 R1 × \times × R 2 × R_2 \times R2×······ R n R_n Rn
并行系统可靠性:R=1-(1- R 1 R_1 R1)(1- R 2 R_2 R2)······(1- R n R_n Rn)