by 梁祐承
CPU是電腦的核心,負責大部分的計算工作
CPU具有各種不同用途的處理單元,比較重要的有以下兩項:
電腦用二進位形式(0與1)理解所有數值:
$$2^3$$ | $$2^2$$ | $$2^1$$ | $$2^0$$ | |
---|---|---|---|---|
13 | 1 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
CPU每次能處理的資料大小有限,所謂的32位元/64位元CPU的差異就是這個
除了最基本的無號整數(int)以外,還有很多其他的表示方法(有號數/IEEE-754浮點數)
其中上頁舉例的 4bit 無號整數能表示的範圍是0-15
, 相當於$$0~2^4-1$$
$Q1:$ 一個16bit int
最大可以表示的數是多少?8964
這個數字該怎麼表示?
var = 8964
print('Max of 16-bit int is:', int(0b1111111111111111))
print('Value of var in decimal is:', var)
print('Value of var in binary is:', bin(var))
Max of 16-bit int is: 65535 Value of var in decimal is: 8964 Value of var in binary is: 0b10001100000100
CPU透過邏輯閘的組合進行二進位運算,邏輯閘由電晶體構成
矽晶圓上的半導體組成電晶體,其中通道長度就是常聽到的半導體製程(14nm/7nm 等)
MOSFET與電路組合形成,依照規模可以分成幾種:
CPU看得懂的二進位指令集合稱為指令集,常見的有 x86 / x86_64(AMD64) / ARM / MIPS 等等
- 提供最基本的功能,直接使用CPU/記憶體/IO裝置
- 在開機過程中第一個被執行
C:/Program Files
, Linux有/usr/bin