cpu架构及工作原理 cpu原理及讲解

一、CPU架构图

cpu架构及工作原理 cpu原理及讲解

文章插图
cpu 架构
二、CPU 核心的工作流程
1. CPU 核心组成部分
a. ALU(Arithmetic Logical Unit) 算数逻辑运算单元
i. 对读取到寄存器中的数据进行运算或其他逻辑运算
b. Register 寄存器
i. 存储程序正在运行的指令所需要的数据
ii. 距离 cpu 最近,读取速度 < 1ns
c. PC(Program Counter) 程序计数器
i. 存储程序马上要执行的指令地址
d. Cache(L1、L2、L3) 高速缓存
i. 存储 cpu 执行命令可能需要的数据
ii. 为了加快读取数据的操作,避免直接从内存中读取
iii. 越靠近寄存器读取越快,存储量也越小
2. 工作原理(由 CPU 中的控制器来调度,图中未画出)
a. PC 发现自己所指向的指令需要数据不在寄存器中
b. 依次读取 L1、L2、L3 缓存、内存,读取到数据就返回给上级缓存直到寄存器
c. 执行指令的时候将数据读取到寄存器中
d. ALU 对数据进行逻辑运算并返回结果
e. 将执行结果写回内存
3. CPU 的抢占
a. 在多线程环境下,会对一个 CPU 资源时间片进行抢占执行
b. 切换到其他线程的时候如果之前的线程没有执行完,就将数据和指令地址存储到缓存中,然后载入其他线程所需数据、指令等让其他的线程执行
c. 其他线程执行完毕后切换回之前线程时,将原有的数据和指令加载并继续执行
d. 就是这样一直抢占 cpu 资源
4. 超线程技术
a. 对于 cpu 的抢占执行,在线程切换的时候会对缓存有 IO 操作,这时 cpu 的其实是空闲的
b. ALU 处理是很快的,如果一个 CPU 核心中可以包含多个寄存器和 PC,那么就能减少多线程的上下文切换并能在 cpu 空闲的时候让另一个线程直接运行而不需要等待数据
【cpu架构及工作原理 cpu原理及讲解】
cpu架构及工作原理 cpu原理及讲解

文章插图