基礎:計算機是什麼
資料路徑(datapath)
如果控制單元是發號施令的老闆,那資料路徑就是工作檯、工具,以及真正動手的那些托盤。它是處理器中讓資料流過並被轉換的部分:數字進來,被相加、比較或搬移,結果出去。當你聽到處理器把兩個數字相加,實際做這件事的,正是資料路徑,依老闆的命令。
資料路徑由存放與搬移資料的元件構成:暫存器檔(一小組快速、有名字的儲存格)、執行加減、比較與邏輯運算的算術邏輯單元(ALU),在它們之間繞送數值的導線與多工器,以及通往記憶體的連接。一條典型的指令會流經它:運算元從暫存器檔讀出、送進 ALU、執行選定的運算,結果再寫回暫存器——全程走在一條由控制單元操控的導線路徑上。
資料路徑與控制單元合起來構成處理器,而設計一顆 CPU 很大一部分就是把這條資料路徑設計好,因為它的寬度與巧思決定了每個週期能完成多少事。同一個結構上的 add,可以跑在簡單窄小的資料路徑上,也可以跑在又寬又深度管線化的資料路徑上。便宜晶片與快速晶片之間許多速度差異,歸根究柢都在於它們的資料路徑如何排布,即使兩者實作的結構完全相同。
要算 x = a + b:資料路徑從暫存器檔讀出 a 與 b,ALU 把它們相加,總和再寫入存放 x 的暫存器。控制單元選了 add 並挑了暫存器;資料路徑搬運數字並完成工作。
資料路徑就是數字真正移動與結合的地方。
資料路徑與控制是一對:資料路徑能做事,但需要控制單元告訴它做哪件事、何時做。兩者單獨都不是一顆處理器。
又稱
另見