聊聊 CPU(中央处理器)
2020-07-26
0. CPU 是什么
CPU (Central Processing Unit) 是电脑硬件的核心部分,长这样:
CPU 是计算机的大脑,核心任务是处理数据,完成任务。
1. CPU 的构成
- 控制器 (Control Unit)
- 运算器 (Arithmetic and Logic Unit)
控制器 (Control Unit)
简称 CU。
控制器是用来管理电脑系统里面的数据流的(数据流是电脑沟通的方式)。
控制器会监控数据的流动,数据的输入和输出,数据是否按时到达了正确的地方。
运算器 (Arithmetic and Logic Unit)
简称 ALU,ALU 是 CPU 用来进行运算的部件。
之前我们说过,计算机本质上就是 01,所以 ALU 是对 01 在进行运算。
2. CPU 的速度
CPU 的速度很大程度上决定了计算机的速度,有 3 大指标:
- Clock speed(主频)
- Cores(核)
- Cache(缓存)
Clock speed(主频)
因为 CPU 同一时间只能处理一个指令,所以理论上,它处理一个指令的速度越快,CPU 的性能就越高。
一个 Clock 的时间,等于 CPU 获取并且执行一个指令的时间。
这个速度是用每秒的转速来衡量的,每秒 1 转 = 1 赫兹,所以我们看下图 2020 年 Macbook Pro 的 CPU 的规格是 2.6GHz,就等于每秒可以转 26 亿次。
Cores(核)
Macbook Pro 还提到了 Intel 8 核处理器,这个【核】就是 CPU 的 core。
每个核在同一时间可以处理一个指令,那么 8 个核就意味着 CPU 在同一时间可以处理 8 个指令,效率是不是大大提高了呀~
然而核多了也有一个缺点:处理指令之前先要确定到底哪个核来处理,指令处理完了之后,还要把每个核的处理结果合并在一起。
Cache(缓存)
缓存是一种 memory (储存)的形式,它是 CPU 的一部分,用来储存一些 CPU 需要用的数据和指令。
缓存越大,CPU 能存的数据和指令就越多。
Cache 分为以下几个等级,不同等级的规格有所区别。
在 Macbook Pro 的例子里面,我们可以看到有 12 MB 的 L3 cache,指的就是缓存容量。
速度:L1 Cache > L2 Cache > L3 Cache
3. CPU 的工作流程
说来简单,CPU 只做以下几件事:
- Instruction Fetch (获取指令)
- Instruction Decode(解码指令)
- Instruction Execution(执行指令)
然后重复……
Instruction Fetch (获取指令)
CPU 从内存里面获取指令,指令会放进一个叫做 Instruction Register(指令寄存器)的东西里面,也有人把这个称作 Immediate access store。
Instruction Decode(解码指令)
这个阶段是由 Control Unit 完成的,主要是看看这个指令需要怎么完成,是否需要从内存里面拿一些数据才能完成。
Instruction Execution(执行指令)
如果指令涉及到算术和逻辑运算,就要用到 ALU(运算器)了。
执行是这三个步骤里面的核心,其余两步可以认为是 overhead(额外成本)。
有时候需要把运算结果存下来,也就是第四步。
4. 结语
本文主要讲了:
- CPU 是计算机的大脑,核心任务是处理数据,完成任务。
- CPU 的组成部分:控制器和运算器
- CPU 的三大指标:主频、核、缓存
- CPU 的工作流程:指令获取、指令解码、指令执行