一、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空閑的時候讓另一個線程直接運行而不需要等待數據
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!