Linux鳥哥的私房菜讀書筆記1

鳥哥Linux

第0章:

  • 計算機定義:接受用戶輸入指令與數據(命令+數據),經過中央處理器(CPU)的數據與邏輯單元運算處理後,以產生或存儲成有用的信息(用戶希望得到的數據)。

  • 計算機三部分:輸入單元,中央處理器(含有算術邏輯,控制,記憶等單元),輸出單元。

  • 主板安插了中央處理器,內存,以及一些適配卡

  • 中央處理器(Central Processing Unit,CPU),CPU爲一個具有特定功能的芯片,裏頭含有微指令集

  • 要想讓主機進行特定的功能,要參考CPU是否有相關內置的微指令集支持

  • CPU主要工作:管理與運算
    分爲兩個單元,算術邏輯單元,負責:程序運算與邏輯判斷
    控制單元,負責:協調各組件與各單元間的工作。
    CPU實際要處理的數據 完全來自於內存

  • 我們所使用的軟件都要經過CPU內部的微指令集來完成

  • 兩種主要CPU種類,

    • 精簡指令集(RISC,Reduced Instruction Set Computing)
      • 微指令集精簡,每個指令的執行時間短,完成的操作單純,執行執行性能較佳,
      • 例子:銀行金融體系的主要服務器,Sony 的PS3,手機/導航/交換機/路由器等都是使用ARM架構的CPU
    • 複雜指令集(CISC)
      • 每個指令可以執行一些較低階的硬件操作,指令數目多且複雜,每條指令長度並不相同,指令花費時間長,但處理工作較豐富
      • 常見CISC微指令集CPU有AMD,Intel,VIA等x86架構的CPU
  • 個人計算機常被稱爲x86架構的計算機

    • x86架構 名字由來:最早Intel發展出來的CPU稱爲8086,後來依此架構開發出80286,80386等,因此這種架構的CPU稱爲x86架構,Intel所開發的x86架構由8位升級到16,32位,後來AMD依此架構修改新一代的CPU爲64位,爲了區別二者,64位的個人計算機CPU又被統稱爲x86_64的架構
    • 不同x86架構的CPU區別:除了CPU的整體結構(如第二層緩存,每次運作可執行的指令數等)之外,主要是在於微指令集的不同。新的x86的CPU某些微指令集可以加速多媒體程序的運行,加強虛擬化的性能,增加能源效率,降低CPU耗電量。
  • 最重要的接口設備是主板

    • 主板負責獎所有的設備連接在一起,讓所有的設備能夠運行協調與通信,主板最重要的組件是主板芯片組,這個芯片組將所有的設備彙集在一起
  • CPU=大腦:每個人會做的事情都不一樣(微指令集的區別)

  • 主板=神經系統,連接所有重要的組件

  • 顯卡=腦袋中的影像,所以顯卡所產生的數據來源也是CPU控制的。

  • 1 Byte = 8 bit

  • 文件大小使用的是二進制的方式,1GB=1024x1024x1024B

  • 速度單位則常使用十進制,例如1GHz 就是1000x1000x1000Hz 的意思

  • CPU運算速度常使用MHz 或GHz,Hz其實就是秒分之1

  • 網絡傳輸使用的是Mbit/s 爲單位,即每秒多少Mbit

    • 舉例,1M ADSL傳輸速度,如果轉成文件容量的Byte時,其實理論最大傳輸值爲:125KB/s的上傳/下載速度
    • 硬盤廠商問題,硬盤製造商以十進制爲單位,而轉成文件的大小單位時使用二進制,廠商並非要騙人,只是因爲硬盤的最小物理量爲512bytes,最小的組成單位爲扇區(sector),通常硬盤容量的計算採用多少個sector
  • Intel芯片組分爲兩個橋接器來控制各組件的通信,

    • 北橋負責連接速度較快的CPU,內存與顯卡等組件
    • 南橋負責連接速度較慢的周邊接口,包括硬盤,USB,網卡等
  • AMD架構與Intel不同的地方在於,內存是直接與CPU通信而不通過北橋

    • AMD爲了加速CPU與內存的通信,將內存控制組件集成到CPU當中,理論上這樣可以加速CPU與內存的傳輸速度
  • 技嘉爲例,主板主要組件爲CPU,內存,磁盤設備(IDE/SATA),總線芯片組(南橋/北橋),顯卡接口(PCI-Express)與其他適配卡(PCI)

  • 原本的單核CPU僅有一個運算單元,所謂的多核則是在一個CPU封裝當中嵌入了兩個以上的運算內核

  • 不同型號的CPU大多具有不同的腳位,能夠搭配的主板芯片組也不同

  • 除了不同的微指令集會導致CPU工作效率的優劣外,CPU的頻率也是性能的比較

  • 頻率就是CPU每秒鐘可以進行的工作次數

  • 3.0GHz 表示這個CPU在一秒內可以進行3.0 x 10的九次方次工作,每次工作都可以進行少數的指令運行

  • 不同的CPU之間不能單純以頻率來判斷運算性能,這是因爲每個CPU的微指令集不相同,架構也不一樣,每次頻率能夠進行的工作指令數也不同,所以頻率目前僅能比較同款CPU的速度

  • CPU的外頻與倍頻

    • 所謂的外頻指的是CPU與外部組件進行數據傳輸/運算時的速度(理論上與外部各組件速度一致纔好),倍頻則是CPU內部用來加速工作性能的一個倍數,兩者相乘纔是CPU的頻率
    • 例如,CPU頻率爲3.0GHz,外頻是333MHz,倍頻是9倍
    • 超頻:指將CPU的倍頻或者是外頻通過主板的設定功能 更改成較高頻率的一種方式,但因爲CPU的倍頻通常在出廠時已經被鎖定而無法修改,因此較常被超頻的爲外頻
    • 舉例上述3.0 GHz的CPU超頻,可以將它的外頻333MHz調整稱爲400MHz,但如此一來整個主板的各個組件的運行頻率可能都會被增加成原本的1.333倍(講道理,這個爲什麼會是1.333?),雖然CPU有可能到達3.6GHz, 但卻因爲頻率並非正常速度,可能會造成死機等問題。
    • CPU運算的數據都是由內存提供的,內存與CPU的通信速度靠的是外部頻率,每次工作可以傳送的數據量有多大呢?那就是總線的功能了,北橋的總線稱爲系統總線,因爲是內存傳輸的主要信道,所以速度較快;南橋就是所謂的輸入輸出(I/O)總線,主要用於“聯繫“硬盤,USB,網卡等接口設備
  • 北橋所支持的頻率稱爲前端總線速度(Front Side Bus,FSB), 而每次傳送的位數 則是 總線寬度,總線頻寬則是“FSB x 總線寬度“,亦即每秒鐘可傳送的最大數據量。目前常見的總線寬度由32/64位(bit)

  • 舉例,前端總線最高速度可達1600MHz,64位, 可計算出內存與北橋的頻寬爲1600MHz x 64bit = 1600MHz x 8 Bytes = 12800 MB/s = 12.8GB/s

  • CPU 每次能夠處理的數據量稱爲 字組大小(word size),字組大小依據CPU的設計而有32位與64位,我們現在所稱的計算機是32位或64位主要是依據CPU解析的字組大小而來的。

  • 早期32位CPU中,因爲CPU每次能夠解析的數據量有限,因此由內存傳來的數據量就有所限制,這導致32位的CPU最多隻能支持最大到 4GB的內存

  • 字組大小可以與總線寬度不相同,通常以字組大小來稱呼該架構

  • 個人計算機的內存主要組件爲 動態隨機訪問內存(Dynamic Random Access Memory,DRAM),隨機訪問內存只有在通電時才能記錄與使用,斷電後數據就消失了,稱這種RAM 爲揮發性內存。

  • DDR SDRAM是雙倍數據傳送速度(Double Data Rate),它可以在一次工作週期中進行兩次數據的傳送

  • 雙通道設計,將兩個內存彙整在一起,如果一條內存可達64位,兩條就可以達到128位了,(型號最好一模一樣),啓動雙通道內存功能時,數據是同步寫入/讀出這一對內存中,如此才能夠提升整體的頻寬

  • CPU與內存的外頻應該要相同纔好

  • CPU內的第二層高速緩存(L2 Cache),對很常用的程序或數據放置到CPU內部,提升性能

  • L2 Cache內存的速度必須要與CPU頻率相同,使用DRAM無法達到這個頻率速度,需要 靜態隨機訪問內存(Static Random Access Memory ,SRAM),設計上晶體管數量較多,價格較高,且不易做成大容量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章