一.数据表示
|
数值1 |
数值-1 |
1-1 |
| 源码 |
0000 0001 |
1000 0001 |
1000 0010(x) |
| 反码 |
0000 0001 |
1111 1110 |
1111 1111(x) |
| 补码 |
0000 0001 |
1111 1111 |
0000 0000 |
| 移码 |
1000 0001 |
0111 1111 |
1000 0000(x) |
机器的字长为8位,源码最高位D7为符号位:1->负数;0->正数(对于有符号数而言)
PS:负数的源码、补码、反码变化规律
源码——>反码:1.符号位不变;2.其他位按位取反
源码——>补码:在反码的基础上+1
PS:正数的源码、补码、反码都是相同的
PS:源码——>移码:是在补码的基础上将符号位取反
在计算机的处理过程中,**加减运算是利用补码**来进行的
二.数值范围
【xxx】补码和移码没有-0这个数,只有0这个数
【xxx】定点正数、浮点数的小数点不占字长
| 码制 |
定点整数 |
定点小数 |
| 源码 |
-(2(n-1)-1) ~ +(2(n-1)-1) |
-(1-2-(n-1)) ~ +(1-2-(n-1)) |
| 反码 |
-(2(n-1)-1) ~ +(2(n-1)-1) |
-(1-2-(n-1)) ~ +(1-2-(n-1)) |
| 补码 |
- 2(n-1) ~ +(2(n-1)-1) |
-1 ~ +(1-2-(n-1)) |
| 移码 |
- 2(n-1) ~ +(2(n-1)-1) |
-1 ~ +(1-2-(n-1)) |
三.浮点数运算
表示方式:
N=尾数基数指数
例如: 314=3.14103
-
运算过程:
对阶 - - > 尾数计算 - - > 结果格式化
-
一般尾数用补码,阶码用移码
-
阶码的位数决定数的表示范围,位数越多数值范围越大
-
尾数的位数决定数的有效精度,位数越多精度越高
-
对阶时,小数向大数看齐
-
对阶是通过较小的尾数右移实现
-
例题:计算314 x 12000
314 <120000
314=0.0314105
12000=1.2105
小数向大数看齐(对阶后阶码:5 =移码表示=> 1000 1001)
四.浮点数存储
【阶符】【阶码】【数符】【数码】
如:314=3.14102
【+】【2的移码】【-】【314的补码】=
五.计算机结构
五大件:运算器、控制器、存储器{主存储和辅助存储}、输入设备、输出设备
运算器:
1.算术逻辑资源ALU; 【数据的算术运算和逻辑运算】
2.累加寄存器AC; 【通用寄存器,为ALU提供一个工作区,用于暂时存储数据】
3.数据缓冲寄存器DR; 【写内存时,暂存指令或者数据】
4.状态条件寄存器PSW; 【存储状态标志与控制标志】
控制器:
1.程序计数器PC; 【存储下一条要执行指令的 地址】
2.指令寄存器IR; 【存储即将执行的指令】
3.指令译码器ID; 【对指令中的操作码字段进行分析解释】
4.时序部件; 【提供时序控制信号】
五.计算机体系结构分类
| 体系结构 |
结构 |
关键特性 |
代表 |
单指令流 单数据流 SISD
|
控制部分:1 处理器:1 主存模块:1
|
|
单处理器系统 |
单指令流 多数据流 SIMD
|
控制部分:1 处理器:n 主存模块:n
|
各处理器以异步的形式执行同一条指令 |
并行处理机 阵列处理机 超级向量处理机
|
单指令流 单数据流 MISD
|
控制部分:n 处理器:1 主存模块:n
|
被证明不可能 |
|
多指令流 多数据流 MIMD
|
控制部分:n 处理器:n 主存模块:n
|
n能实现作业、任务、指令等各级全面并行 |
多处理机系统多 计算机系统
|
六.指令
PS:区分三地址指令、二地址指令、单地址指令、和零地址指令!!!
七.寻址方式
-
立即寻址
指令寄存器IR : OP 操作数
-
直接寻址
指令寄存器IR : OP 直接地址(操作数放在此地址)
-
间接寻址
指令寄存器IR : OP 间接地址(操作数地址放在此地址空间上)(操作数放在操作数地址空间上)
-
寄存器寻址
指令寄存器IR : OP 寄存器(操作数放在此寄存器中)
-
寄存器间接寻址
指令寄存器IR : OP 寄存器(操作数地址放在此寄存器中)(操作数放在操作数地址空间上)
八.计算机指令集分类(CISC和RISC)
CISC(复杂指令集):
1. 数量多,使用频率差别大,**<font color=red>变长格式</font>**
2. 支持多种寻址方式
3. 通过微程序控制技术实现
RISC(精简指令集):
- 数量少,使用频率差不多,定长格式,大部分是单周期指令,操作寄存器只有Load/Store操作内存
- 支持寻址方式少
- 增加了通用寄存器;硬布线裸机控制为主适合才采用流水线
九.流水线
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理时针对不同指令而言的,他们可同时为多条指令的不同部件进行工作,以提高各部件的利用率和指令的平均执行效率。
指令流程:【取指令】—>【分析】—>【执行】
-
流水线计算:
ps:流水线周期为执行时间最长的一段
1条指令执行时间 + (指令条数-1)*流水线周期 [理论时间]
-
流水线-吞吐率(TP)
单位时间内流水线完成的任务数量或输出的结果数量
TP=流水线执行时间指令条数
流水线最大吞吐率:
TPmax=Limn>..(k+n1)tn
十.层次化存储结构
CPU:寄存器
最快,但容量小,成本高
Cache:高速缓存,按内容存取
内存(主存):分类{随机存储器RAM}、{只读存储器ROM}
外存(辅存):硬盘,u盘,CD
十一.Cache高速缓存
-
在计算机的存储系统体系下,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)
-
使用Cache改善系统性能的依据是程序的局部性原理
-
如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存周期时间,以读操作为例子,使用“Cache + 主存储器”的系统的平均周期为t3,则:
t3 = h * t1 + (1-h)*t2
其中,(1-h)又称为失效率。
-
Cache映像
【直接映像】:硬件电路较简单,但是冲突率较高
【全相联映像】:电路难于设计和实现,只适合小容量的cache,冲突率较低
【组相联映像】:直接相连与全相联折中
[xxx] 地址映像是将主存与cache的存储空间划分为若干大小相同的页(或者块)
例如:,某主存为1GB,划分2048页,每一页512kb;cache容量8MB,划分16页,每页512kb;
- 直接相联:

每一个区的页与cache中的页相关联,进行映像。
-
全相联映像

主存中的任何一个页均可以存放到Cache中的每一个页面中。
-
组相联映像

主存中的任何一个页均可以存放到Cache中的每一个页面中。
十二.主存-编址与计算
- 按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字(16bit)
- 按字节编址:存储体的存储单元是字节存储单元,即最小寻址单位是一个字节(8bit)
总片数=片容量总容量
十三.总线
PS:一条总线同时仅允许一个设备发送,但允许多个设备接收
- 数据总线:在CPU与RAM之间来回传送需要处理或需要存储的数据
- 地址总线:用来指定在RAM之中存储的数据的地址
- 控制总线:将微处理器控制单元的信号,传送到周边设备,一般常见的为USB bus和1394 bus
十四.串联系统和并联系统
可靠性(R)考察:

十六.校验码
-
码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制数称为数据校验码的码距
例如:0000和0001
-
奇偶校验【只能检验1位错误,不可纠错】
有效信息+1位的二进制校验位
奇校验:整个校验码(有效信息位+校验位)中“1”的个数为奇数
偶校验:整个校验码(有效信息位+校验位)中“1”的个数为偶数
-
循环冗余校验码CRC【只能检验错误,不可纠错】
在k位信息码之后拼接r位校验码,应用CRC码的关键是如何从k位信息位简便地得到r位校验码,以及如何从k+r位信息码判断是否出错。
循环冗余校验码编码规律:
- 把待编码的N位有效信息表示为多项式M(x)
- 把M(x)左移k位,得到M(x)*Xx ,这样空出k位,以便拼接k位余数(校验位)
- 选取一个k+1的产生多项式G(x),对M(x)*Xx 做模2除
- 把左移k位后的有效信息与余数R(x)做模2加减,拼接为CRC码,此时CRC共N+K位
把接收到的CRC码用约定的生成多项式M(x)去除,如果正确,则余数为0,如果某一位出错,则余数不为零,不同的位数出错其余数不同,余数和出错位序列之间有唯一的对应关系。

结果:110010101010011
-
海明码校验
在有效信息位中加入几个校验位形成海明码,使得码距比较均匀的增大,并把海明码的每个二进制分配到几个奇偶校验组中,当某一位出错后,就会引起有关的几个校验位的数值发生变化,这不但可以发现错误哈能够指出错误的位置,为自动纠正错误提供依据。

|