操作系统(2)- 程序的执行
计算机组成-冯诺依曼模型
- 状态:内存
- 控制单元
- 运算单元
- 输入
- 输出
CPU
负责控制和计算
- 如果 CPU 每次可以计算 4 个 byte,那么我们称作 32 位 CPU;
- 如果 CPU 每次可以计算 8 个 byte,那么我们称作 64 位 CPU。
一个 byte 最大的表示范围就是 0~255。比如要计算 20000*50,就超出了byte 最大的表示范围了。
CPU可以一下计算多个byte,所以位数越大,计算的数据范围越大。
寄存器
CPU计算,要存储的数据放在寄存器里。
总线
CPU和内存以及其他设备间通信
- 地址总线:指定CPU将要操作的内存地址
- 数据总线:用来读写内存中的数据
- 控制总线:用来发送和接收关键信号
CPU执行程序过程
1、CPU读取PC指针指向的指令,将它导入指令寄存器。
2、CPU分析指令寄存器中的指令,确定指令的类型和参数
3、如果是计算类型的指令,交给运算单元
4、如果是存储类型的指令,交给控制单元
5、PC指针自增,准备获取下一个指令
指令
所以我们是把操作码、寄存器的编号、要读取的地址合并到一个32位的指令中。
构造指令的过程——编码,由编译器完成;
解析指令的过程——解码,由CPU完成;
CPU的内部循环:
- 首先 CPU 通过 PC 指针读取对应内存地址的指令,我们将这个步骤叫作 Fetch,就是获取的意思。
- CPU 对指令进行解码,我们将这个部分叫作 Decode。
- CPU 执行指令,我们将这个部分叫作 Execution。
- CPU 将结果存回寄存器或者将寄存器存入内存,我们将这个步骤叫作 Store。
CPU的工作就是一个周期接着一个周期,周而复始。
64位宽CPU的优势
- 可以执行更大数字的运算。
- 可以寻址更大的内存空间。操作系统也是一种程序,如果是64位,那么程序的指令都是64位指令,因此不能安装在32位机器上。
人生的路还很长,继续走吧