Luna Tech

Tutorials For Dummies.

聊聊 CPU(中央处理器)

2020-07-26


0. CPU 是什么

CPU (Central Processing Unit) 是电脑硬件的核心部分,长这样:

CPU

CPU 是计算机的大脑,核心任务是处理数据,完成任务。


1. CPU 的构成

  1. 控制器 (Control Unit)
  2. 运算器 (Arithmetic and Logic Unit)

The CPU and the fetch-execute cycle

控制器 (Control Unit)

简称 CU。

控制器是用来管理电脑系统里面的数据流的(数据流是电脑沟通的方式)。

控制器会监控数据的流动,数据的输入和输出,数据是否按时到达了正确的地方。

运算器 (Arithmetic and Logic Unit)

简称 ALU,ALU 是 CPU 用来进行运算的部件。

之前我们说过,计算机本质上就是 01,所以 ALU 是对 01 在进行运算。


2. CPU 的速度

CPU 的速度很大程度上决定了计算机的速度,有 3 大指标:

  1. Clock speed(主频)
  2. Cores(核)
  3. Cache(缓存)

Clock speed(主频)

因为 CPU 同一时间只能处理一个指令,所以理论上,它处理一个指令的速度越快,CPU 的性能就越高。

一个 Clock 的时间,等于 CPU 获取并且执行一个指令的时间。

这个速度是用每秒的转速来衡量的,每秒 1 转 = 1 赫兹,所以我们看下图 2020 年 Macbook Pro 的 CPU 的规格是 2.6GHz,就等于每秒可以转 26 亿次。

2020 MBP CPU

http://www.kylesconverter.com/frequency/gigahertz-to-cycles-per-second

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

https://www.pcmag.com/encyclopedia/term/cache


3. CPU 的工作流程

说来简单,CPU 只做以下几件事:

  1. Instruction Fetch (获取指令)
  2. Instruction Decode(解码指令)
  3. Instruction Execution(执行指令)

然后重复……

Instruction Fetch (获取指令)

CPU 从内存里面获取指令,指令会放进一个叫做 Instruction Register(指令寄存器)的东西里面,也有人把这个称作 Immediate access store。

Instruction Decode(解码指令)

这个阶段是由 Control Unit 完成的,主要是看看这个指令需要怎么完成,是否需要从内存里面拿一些数据才能完成。

Instruction Execution(执行指令)

如果指令涉及到算术和逻辑运算,就要用到 ALU(运算器)了。

执行是这三个步骤里面的核心,其余两步可以认为是 overhead(额外成本)。

有时候需要把运算结果存下来,也就是第四步。

CPU


4. 结语

本文主要讲了:

  1. CPU 是计算机的大脑,核心任务是处理数据,完成任务。
  2. CPU 的组成部分:控制器和运算器
  3. CPU 的三大指标:主频、核、缓存
  4. CPU 的工作流程:指令获取、指令解码、指令执行