計算機漫遊

今天發一篇曾經的總結,主要涉及幾個計算機思想。


1. 計算機組成結構

1.1 計算機基本構成

三大核心部件:中央處理器、存儲器、I/O設備

  • 中央處理器(CPU)

    • 算術/邏輯單元(ALU)

    • 寄存器

    • PC(程序計數器)

  • 存儲器(內存)

    • 物理上:由一組動態隨機存取存儲器(DRAM)芯片組成

    • 邏輯上:是一個線性的字節數組,每個字節都有其唯一索引

  • I/O設備

    • 磁盤

    • 鼠標、鍵盤、顯示器、打印機

    • 網絡

  • 總線

    • I/O總線

    • 存儲器總線

    • 系統總線

1.2 計算機硬件結構

一個典型系統的硬件組成(Intel Pentium)

計算機組成結構.png-53kB


2. 基本原理

2.1 驅動計算機歷史進步的持續動力

  1. 想讓計算機做得更多(解決更多問題)

  2. 想讓計算機運行得更快(提高效率)

2.2 機械原理

  1. 較大存儲設備比較小存儲設備運行得慢

  2. 快速設備的造價遠高於同類的低速設備

那麼,如果想讓計算機運行得更快,有兩種選擇:

  • 選擇較大存儲設備(存儲較大,成本較高。例如1T容量的SSD磁盤)

  • 選擇較小存儲設備(成本較低,存儲較小。例如1G容量的內存)

2.3 程序訪問趨勢

  • 局部數據

  • 局部代碼

(符合80、20理論)

3. 存儲層次結構

  • 在處理器和一個又大又慢的設備之間插入一個更小更快的存儲設備的想法已經成爲了一個普遍的觀念。

  • 主要思想:一層上的存儲器作爲低一層存儲器的高速緩存。

image_1ajc6n1qq2qa9638751ik21nql9.png-71.4kB

4. 計算機系統的抽象

抽象的使用是計算機科學中最爲重要的概念之一。

image_1ajc8kv84mpi8h6abb5qv41nm.png-39.7kB

  • 文件是對I/O的抽象(文件就是字節序列)

  • 虛擬存儲器是對程序存儲器的抽象(非常大的字節數組)

  • 進程是對一個正在運行程序的抽象

  • 虛擬機是對整個計算機的抽象

5. 處理器組織結構

Intel Core i7的組織結構:

image_1ajca397athl15ufev41119lk69.png-54.1kB

  • 多核處理器是將多個CPU(稱爲「核」)集成到一個集成電路芯片上。

  • 超線程,有時稱爲同時多線程(simultaneous multi-threading),是一項允許一個CPU執行多個控制流的技術。

6. 併發和並行

  • 線程級併發

  • 指令級並行(流水線)

  • 單指令、多數據並行

概念 時間 多線程 現象 理解

併發

同一時間段

單處理器

結果

同時看兩本書,來回切換看(上下文切換)

並行

同一時刻

多處理器

過程

雙車道上行駛的兩輛轎車


參考資料

《深入理解計算機系統》

 

轉載請註明來源:http://zhanjia.iteye.com/blog/2426406

 

 

個人公衆號

二進制之路