CPU
对算数逻辑单元不了解的建议先阅读这篇小文章:第五课_算术逻辑单元
 对寄存器&内存不了解的建议先阅读这篇小文章:第六课_寄存器&内存
 本课链接(B站):计算机科学速成课第七课
本节主要内容:CPU的结构
一、CPU的作用
CPU是计算机的中央处理器,是计算机的核心
二、CPU理论模型
:CPU简易理论模型:
 
三、CPU模型解释
| 部件 | 解释 | 
|---|---|
| ABCD寄存器组 | 用于暂存(运算过程中用到的数据以及)运算的结果 | 
| E寄存器 | 指令寄存器,由操作码和执行操作的地址组成,存当前指令 | 
| F寄存器 | 指令地址寄存器,存当前指令的内存地址 | 
| RAM | 存n个地址及数据 | 
| ALU | 逻辑运算单元,负责执行数学指令(加减乘除、大小比较等) | 
| CONTROL UNIT | 复杂的门电路,负责对指令取址、解码、执行 | 
| CLOCK | 控制 CPU取址、解码、执行的 节奏,推进CPU的内部操作 | 
四、CPU怎么执行程序
程序是由一个个操作组成的,每一个操作都对应着一条指令。
计算机怎么运行程序?
当CPU运行程序时,像加减乘除之类的数学指令,会交给算术逻辑运算单元ALU执行;而像读写值之类的内存指令,就会交给RAM去执行。
计算机如何识别一个个指令呢?
给每个指令分配一个由0和1组成的ID,我们把这个ID叫做操作码。
 举例:
| 操作名 | 操作码 | 操作 | 
|---|---|---|
| LOAD-A | 0000 | 加载数据到寄存器A中 | 
| LOAD-B | 0001 | 加载数据到寄存器B中 | 
| ADD | 0010 | 将两个数据相加,存到储存单元中 | 
计算机执行程序的流程是什么?
整体流程为:取指令->解码->执行
 接下来执行一个程序感受一下整个过程是如何发生的:
五、使用CPU模型执行LOAD-A指令
程序开始执行前,所有寄存器内的值都为0
 :CPU初始状态:
 
1、取指令
- 指令地址寄存器:取对应地址的指令
 此处为取地址为0处的指令,指令为00000000
2、解码
- 指令寄存器:操作码为0000,对应的操作为LOAD-A,即将数据存入寄存器A中。
 进行操作的地址为0000,即要传入寄存器A中的数据来自内存单元0000。
 :CPU解码状态:
  
3、执行
将通过读取线读取的数据存入寄存器A中
 :CPU执行状态:
 
4、执行结束
关闭所有线路通道,指令地址寄存器中的值+1,指向下一条指令。
六、程序执行速度-时钟
CPU完成一次取指令->解码->执行的周期时间越短,程序执行速度越快。这个周期的长短,取决于CLOCK(时钟)。
我们可能听到过的给CPU超频降频,就指的是调整时钟的频率。
七、超频降频
超频:就是把时钟频率加快,加快计算机的运行速度。
 降频则反之。
厂家一般会预留一些超频空间,但若时钟频率过快,可能会烧坏元器件;而在计算机运行较简单的程序或计算机无人使用时,降频可以省电。
我们电脑的自动睡眠功能,就是给时钟降了频。
总结:
1、CPU是计算机程序的中央处理器是计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元
 2、CPU执行程序的流程
 3、时钟频率是CPU完成一次取指令->解码->执行的周期时间的倒数,代表着程序执行的速度快慢。
以上均为个人学习所得见解,若有错误或不足欢迎补充和指正









