一、计算机系统基础知识
1.计算机的基本组成
部件 | 作用 |
---|---|
运算器 | 完成计算机的各种算术和逻辑运算 |
控制器 | 保证程序正确执行,处理异常事件 |
存储器 | 计算机系统中的记忆设备 |
输入输出设备 | 用于输入原始数据及各种命令和输出计算机运行结果 |
2.中央处理单元(CPU)
CPU(Central Processing Unit):负责获取程序指令、对指令进行译码并加以执行
CPU主要功能
- 程序控制
- 操作控制
- 时间控制
- 数据处理
3.CPU的组成
CPU主要由运算器、控制器‘寄存器组和内部总线等部件组成
运算器组件 | 作用 |
---|---|
算术逻辑单元(ALU) | 处理数据,实现对数据的算术运算和逻辑运算 |
累计寄存器(AC) | 为ALU提供一个工作区 |
数据缓冲寄存器(DR) | 存储数据,作为CPU和内存、外部设备之间数据传送的中转站和操作速度的缓冲 |
状态条件寄存器(PSW) | 保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容 |
控制器部分 | 作用 |
---|---|
指令控制逻辑 | 完成取指令、指令译码、按指令操作吗执行、形成下一条地址、执行指令 |
时序控制逻辑 | 为每条指令按时间顺序提供应有的控制信号 |
总线逻辑 | 为多个功能部件服务的信息通路的 控制电路 |
中断控制逻辑 | 用于控制各个组件的中断请求 |
控制器相关组件 | 作用 |
---|---|
指令寄存器(IR) | 存储指令 |
程序计数器(PC) | 暂存指令地址 |
地址寄存器(AR) | 保存当前CPU所访问的内存单元的地址 |
指令编码器(ID) | 编译指令,发出控制信号 |
3.数据表示
1.关于原码、反码、补码、移码
转换规律
1.对于数的符号位为正而言,原码、反码、补码都是一样的(二进制的原码)。
2.对于数的符号位为负而言,反码为原码取反,补码为反码加一,符号不变!
3.无论数的符号位为正或者负,移码值改变其数补码的符号位,符号位取反!
4.在补码中,0有唯一编码,在原码和反码中,0有两种编码形式。
2.定位数和浮点数
定位数
- 定点整数—纯整数,小数点在最低有效数值位之后。
- 定点效数—纯小数,小数点在最高有效数值位之前。
浮点数
阶符 | 阶码 | 数符 | 尾数 |
---|
- 阶符占1位,阶码占8位,数符和尾数占23位。
公式:
N = R E F N=R^EF N=REF
- R表示进制单位,二进制时R=2。
- E表示阶码,数学的几次幂。
- F表示尾数,用科学计数法的小数。
工业标准IEEE754
- 规格化的值
当阶码部分的二进制值不全为0也不全为1时,所表示的是规格化的值。
例题
将十进制数转换成二进制数
(176.0625)10=(10110000.0001)2
第一步,将整数和小数部分分别化为二进制数。
第二步,将整数部分化为科学计数,以1开头。例如
10110000 = 1.0110000 ∗ 2 7 10110000=1.0110000 *2^7 10110000=1.0110000∗27
第三步,将2的幂7的7转为二进制(8位)=00000111,将其变为移码+127。得到结果10000110。
第四步,将整数部分化简的小数去掉头的1,然后补0到23位
第五步,结果
01000011001100000001000000000000 0 10000110 01100000001000000000000 01000011001100000001000000000000
第1位:代表符号
第2~9位:代表2的几次幂的移码
第10~32位:代表小数
注意:
这里的移码变换和之前的不同,这里只加127,如果想要靠这里已知的移码(10000110)只需要改变最高位(符号位),然后加1。
-
非规格化的值
当阶码部分的二进制值全为0时,所表示的数是非规格化的。
其作用主要用于:表示数值0和表示非常接近0的数。 -
特殊值
当阶码全为1时,当尾数部分全为0时表示无穷大,当符号位为0时表示正无穷,当符号位为1是表示负无穷。
浮点数的运算
- 对阶
- 求尾数和(差)
- 结果规格化并判溢出
- 舍入处理
- 溢出判断
4.校验码
1.奇偶校验码
- 添加一个检验码,将数据的1相加和为奇数或者偶数。
2.海明码
- 遵循如下规则,若数据位是n位,校验位是k位
2 k − 1 > = n + k 2^k-1>=n+k 2k−1>=n+k - 校验位 i 在海明码位的2^i-1的位置,且海明码与校验码的角标相等。
- 海明码中的任何一位都是有若干个校验位来校验的。
3.循环冗余校验码
二、计算机体系结构
1.体系结构发展
1.结构与分类
2.指令系统
1.一个处理器支持的指令和指令的字节级编码称为其指令集体系结构(Instruction Set Architecture ISA)
指令分类 | 序号 | 形式 | 内容 |
---|---|---|---|
体系结构观点分类 | 1 | 操作数在CPU中的存储方式 | 操作数从主存中取出后保存在什么地方 |
2 | 显示操作数的数量 | 在典型指令中有多少个显式命名的操作数 | |
3 | 操作数的位置 | 任一个ALU指令的操作数能否放在主存中,如何定位 | |
4 | 指令的操作 | 指令集中提供哪些操作 | |
5 | 操作数的类型和大小 | ||
按暂存机制分类 | 1 | 堆栈 | |
2 | 累加器 | ||
3 | 寄存器组 |
2.CISC(Complexr)和RISC(Reduced Instruction Set Computer)
3.指令流水处理
1.指令控制方式有顺序方式、重叠方式和流水方式。
2.局部性相关:影响流水线的某段工作推后,不会改变指令缓冲器中预取到的指令内容。
解决方案:后推法和通路法。
3.全局性相关:会改变指令缓冲器中预取到的指令内容,进而造成流水线的吞吐率和效率下降。
解决方案:猜测转移分支、加快和提前形成条件码、加快短循环程序的处理。
3.阵列处理机、并行处理机和多处理机
并行性包括同时性和并发性。
同时性:多件事件同一时刻发生。
并发性:多件事件同一时间间隔内连续发生。
1.阵列处理机:通过资源重复实现并行性。
2.并行处理机
- SIMD有共享存储器和分布存储器
PE为处理单元,CU为控制部件,M为共享存储器,ICN为互联网络
PEM为局部储存器