跳轉到內容

微處理器設計/控制與資料通路

來自華夏公益教科書,開放的書籍,開放的世界

大多數處理器和其他複雜的硬體電路通常被分為兩個部分:資料通路控制單元。資料通路包含執行所有必要操作所需的所有硬體。在許多情況下,這些硬體模組是相互並行的,最終結果由所有部分結果的多路複用確定。

控制單元透過啟用開關並將控制訊號傳遞給各個多路複用器來確定資料通路的執行。透過這種方式,控制單元可以指定資料如何在資料通路中流動。

資料通路的寬度...

在計算機設計中,只有一種錯誤是很難恢復的:為記憶體定址和記憶體管理提供不夠的地址位。
戈登·貝爾和比爾·斯特雷克,1975[1]
幾乎計算機體系結構中的任何缺點都可以克服,除了過小的地址空間;這就是為什麼 DEC 最終被迫設計 VAX(“虛擬地址擴充套件”)來替代 PDP-11 的原因。
霍林斯沃斯、薩克斯和史密斯。1987.[2]

為了獲得良好的程式碼密度,您希望 ALU 資料通路寬度至少與地址匯流排寬度一樣寬。這樣,每次您需要遞增地址時,都可以用一條指令完成,而不是需要多條指令一次處理地址的一部分。[3][4]

在設計完資料通路後,設計者需要找到該資料通路的所有控制訊號輸入——所有用於指定資料如何在該資料通路中流動的控制訊號。

  • 每個通用暫存器至少需要一個控制訊號來控制它是否保持當前值或從其他地方載入新值。
  • ALU 需要一些控制訊號來告訴它是否要加、減等等。
  • 程式計數器部分需要控制訊號來告訴它程式計數器是否被重新載入為前一個值的遞增版本,或者被重新載入為一些完全不同的分支值。
  • 等等。

一旦我們知道需要生成哪些控制訊號,我們就需要設計一個微處理器設計/指令解碼器來生成這些訊號。

參考文獻

[編輯 | 編輯原始碼]
  1. 工程教育“今日曆史” PDP-11 小型機發布 由戈登·貝爾 2009 年撰寫;參考 “我們從 PDP-11 中學到了什麼” 由戈登·貝爾和比爾·斯特雷克 1975 年撰寫。PDP-11 的早期版本具有 16 位地址空間。... 也引用於書中 “電子學”
  2. 霍林斯沃斯、薩克斯和史密斯。 “Fairchild Clipper:指令集體系結構和處理器實現”。第 9.4 節:“地址空間大小”。1987 年。
  3. “似乎 16 位 ISA 擊中了最佳程式碼密度的“最佳位置”,也許是因為地址也是 16 位寬,並且在一條指令中處理。相反,8 位機需要多條指令來處理 16 位地址。” -- “計算機世界中的昆蟲” 由米羅·薩梅克 2009 年撰寫。
  4. “如果您可以操作的最大資料量小於您的地址大小,那真的很糟糕。這意味著累加器需要與 PC 大小相同——16 位。” -- 艾倫 “操作碼注意事項”
華夏公益教科書