更新於 2024/12/08閱讀時間約 11 分鐘

硬體運作的基本機制(資料處理流程)

本次筆記學習目標:了解 CPU 如何處理指令,記憶體如何儲存資料

簡單來說,CPU 會從 Cache 也就是較上層的記憶體取得資料

圖片來源:Introduction to Memory

再用複習一次這張圖,其中Register 跟Cache 會很常被提到,因為他們離 CPU 最近,通常從這兩個地方取得。

Memory 與 Storage:它們有什麼不同?

大家常常聽到「記憶體」和「儲存裝置」,但這兩個東西到底有什麼不同?其實,它們的差別很明顯:

Memory(記憶體) 

  • 記憶體的工作像是一個臨時的工作台,用來暫時存放正在運行的資料或程式。它速度快,但斷電後資料就會消失,屬於 揮發性記憶體
  • 常見的記憶體種類:
    • SRAM(靜態記憶體):速度超快,用於 CPU 的快取記憶體(Cache),但造價昂貴。
    • DRAM(動態記憶體):用於一般的主記憶體(RAM),比 SRAM 慢但便宜。
    • RAM(隨機存取記憶體):一般用來指 DRAM,電腦執行中的程式和資料都放在這裡。
    • ROM(唯讀記憶體):儲存固化的資料,例如電腦開機的基本指令(BIOS)。它是非揮發性記憶體,斷電後資料不會消失。

Storage(儲存裝置)

  • 儲存裝置像是一個大型倉庫,用來長期保存檔案、應用程式、作業系統等。它屬於 非揮發性記憶體,即使斷電,資料仍然存在。
  • 常見的儲存裝置:
    • 硬碟(HDD):磁碟式儲存,容量大但讀寫速度相對慢。
    • 固態硬碟(SSD):速度比 HDD 快很多,沒有機械結構,更耐用。
    • USB 隨身碟 / 記憶卡:便攜式儲存裝置,用於短期資料存取。

兩者的區別

  • 記憶體(Memory):執行程式用的暫存空間,速度快但容量小。
  • 儲存裝置(Storage):用來長期保存資料,速度慢但容量大。
    舉個例子,當你開啟一個應用程式時,它會從 儲存裝置 載入到 記憶體,讓 CPU 可以快速讀取來執行。

Memory 和 Storage 的關係圖。

10+ Key Memory & Storage Systems: Crash Course System Design #5


CPU 的 Fetch-Decode-Execute Cycle(取指令-解碼-執行循環)

CPU 就像電腦的大腦,所有運算都由它來執行,而它的工作原理可以簡化為三個步驟:

  1. Fetch(取指令)
    CPU 從記憶體(RAM)中取出要執行的指令。這些指令以電壓的形式存在,0 表示低電壓,1 表示高電壓,組成機器語言的指令。舉例:CPU 發出訊號,要求記憶體提供下一條指令,像是「開啟一個檔案」。
  2. Decode(解碼)
    CPU 解讀剛取出的指令,判斷需要做什麼工作。指令會被拆解成小步驟,例如運算或資料移動。舉例:解讀出指令是「從磁碟讀取檔案到記憶體」。
  3. Execute(執行)
    CPU 執行剛解碼的指令,可能是進行數學運算、移動資料,或者與其他硬體互動。舉例:CPU 執行「將檔案從磁碟載入到記憶體」的指令,這裡可能涉及 I/O 裝置的操作。

這個過程就像一個永不停歇的循環,CPU 會不斷從記憶體中取指令、解碼、執行,直到所有指令完成。

參考影片:(待補充細節圖片給讀者)

The Fetch-Execute Cycle: What's Your Computer Actually Doing?


小總結

  1. 記憶體和儲存裝置各有用途,記憶體速度快但只能暫時存資料,儲存裝置負責長期保存。
  2. CPU 的取指-解碼-執行循環讓它能高效地執行程式。


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.