1. 程式人生 > >CPU的基本知識與使用方法

CPU的基本知識與使用方法

1,CPU的兩大巨頭

Intel,使用CISC(複雜指令集,只是用20%),主要佔領伺服器,PC端市場。

ARM,使用RISC(精簡指令集),主要佔領嵌入式市場。

2,馮.洛伊曼架構和哈佛架構。

馮.洛伊曼架構:

  1. 以運算單元為中心
  2. 採用儲存程式原理
  3. 儲存器是按地址訪問、線性編址的空間
  4. 控制流由指令流產生
  5. 指令由操作碼和地址碼組成
  6. 資料以二進位制編碼
哈佛架構:

儲存與指令分開,也就儲存使用8bit,指令為14bit,分別為兩塊儲存空間,所以在取指令與取資料時不會在總線上發生衝突。

現代PC都是偽.馮.洛伊曼結構,在CPU外部為馮洛伊曼結構,但是在CPU內部增加了指令快取和資料快取而將指令與資料分開。

3,linux檢視cpu核數

# 總核數 = 物理CPU個數 X 每顆物理CPU的核數 
# 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超執行緒數


# 檢視物理CPU個數
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l


# 檢視每個物理CPU中core的個數(即核數)
cat /proc/cpuinfo| grep "cpu cores"| uniq


# 檢視邏輯CPU的個數
cat /proc/cpuinfo| grep "processor"| wc -l

4,CPU的使用

Intel的超執行緒技術,增加片上20%的面積為開銷,來充分利用片上資源,使得單核上可以執行多個執行緒,但是並不能完全並行。

CPU的cpupower調頻,可設定CPU的頻率。

注意在使用多執行緒編寫程式時,要將執行緒與核進行繫結(設定執行緒親緣性),不讓在給執行緒分配核時是不確定的,可參考http://blog.csdn.net/wuhui_gdnt/article/details/51280906。