机组:计算机组成和数据转换 3月2日 -- 天气:晴
1. 计算机的基本组成结构

- 计算机的硬件由运算器,控制器,存储器,输入和输出设备组成
- 其中,控制器和运算器成为CPU
- 控制器又分为了内部存储器和外部存储器。内部存储器指的是内存,速度快,容量小,且断电后内容消失。外部存储器主要指的是硬盘,容量大,速度慢
- CPU+内存成为主机
1.1 CPU的组成



CPU主要由运算器,控制器,寄存器组和内部总线构成
其中运算器包括了下面的部分:
- 算数逻辑运算单元ALU:负责算数和逻辑运算
- 累加寄存器AC:负责进行累加操作如
i++
,并暂存运算结果- 数据缓冲寄存器DR:负责暂存从内存中读取的数据
- 程序状态字PSW:负责保存运算过程中的状态。
控制器包含了下面的部分:
- 指令寄存器IR:保存当前正在执行的代码
- 程序计数器PC:保存下一条指令位于内存中的地址,并具有自增功能
- 地址寄存器AR:保存CPU需要访问的内存单元的地址
- 指令译码器:对指令进行译码
此外还有一些通用的寄存器组

- 当要执行某一条指令时,指令会从内存中经过控制总线到达指令寄存器。
- 其中指令中的操作码会经过指令译码器转换成控制信号
- 地址码部分会保存到地址寄存器中。
- 地址寄存器根据地址码,到内存中找到相应的数据,通过数据总线,将数据保存到数据缓存寄存器DR中,然后一次保存到通用寄存器中由CPU调用
- 在运算过程中如果产生进位等操作,还会将状态保存到程序状态字PSWR中



2. 数值在计算机中的表示
2.1 定点数和浮点数


这里需要补充的是定点数和浮点数的区别:
- 定点数是纯正数或者纯小数
- 浮点数一般一个数字即有正数部分,也有小数部分




上面的这个题需要记住,这道题解释了为什么计算机中使用补码来储存和运算数据
- 零的表示唯一
- 可以将减法转化为加法运算,计算简单
- 数值位可以直接参与运算

在浮点数的表示中:
- 阶码长度越长,则代表表示的数据范围约大
- 尾数越长,则代表表示的数据的精度越高




补码转化为原码:
从右边开始第一个遇到1,剩下的直接取反。
比如补码00100转换为原码就是11100
3. 校验码

