一、计算机核心组成及CPU核心组成
1、計算機的核心組成:CPU、內存
2、CPU核心組成
CPU的組成書上和網上也都有很多介紹,在此只記錄跟JAVA相關的核心組成:
PC---->?Program Counter 程序計數器? ? ? ?用來記錄內存中指令的地址,一次只能計數一個線程的指令地址,線程指令切換的時候會額外存儲之前執行的線程及指令。
Registers -> 寄存器? ? ? ?用來暫時存儲CPU計算需要用到的數據。
ALU ---> Arithmetic & Logic Unit? ? 是用來執行PC的指令,操作寄存器中的數據。
cache---> 緩存? ? 是緩存數據用,寄存器中的數據優先從緩存查,緩存查不到去內存取。
?
3、CPU的核和線程
一般一顆CPU是單核單線程,即一個ALU對應一對Registers和PC。 一顆CPU也可以有多核多線程或者多核超線程,比如:
2核2線程 ,即有2組ALU/Registers/PC。如圖:
而對于多核超線程的話,比如2核4線程,即有2組ALU,每組ALU對應2對Registers/PC。如圖:
?
4、CPU緩存cache
CPU的緩存有三級,1/2級緩存是核層級隔離的,3級緩存是CPU層級隔離的。見圖:
?
5、CPU數據讀取方式
CPU為了提高效率,讀取數據會按塊讀取到緩存中,即按緩存行讀取數據。
英特爾CPU的緩存行大小是64字節,也就是每次CPU讀取64字節大小的數據塊,存入到緩存中。
緩存行數據遵從MESI(modified, exclusive, shared, invalid)緩存一致性協議。
?
?
?
?
?
總結
以上是生活随笔為你收集整理的一、计算机核心组成及CPU核心组成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django路由层
- 下一篇: 【iOS开发】从小白到低水平开发者进厂实