微處理器設計/簡介
計算機和計算機系統是現代世界中無處不在的一部分。除了常見的臺式電腦之外,還有許多其他型別的專用計算機系統出現在許多不同的地方。這些計算機和計算機系統的核心元件是微處理器,或稱為 CPU。CPU(“中央處理器”的縮寫)本質上是計算機系統的“大腦”,它是“計算”的元件。本書將討論微處理器單元的作用,它們的工作原理以及它們的設計方法。
本書將討論微處理器單元的設計,但不會討論完整計算機系統的設計,也不會討論其他計算機元件或外圍裝置的設計。一些微處理器設計將在硬體描述語言(如 Verilog 或 VHDL)中實現和綜合。本書將按照從簡單的設計和概念開始,隨著書籍的進展,將初始設計擴充套件到包括更復雜的概念的順序進行組織。
本書將嘗試從抽象層面討論微處理器設計的基本概念和理論,並在必要時給出實際示例。本書不會集中研究任何特定的處理器體系結構,儘管一些最常見的體系結構將在示例和註釋中頻繁出現。
本書的第一部分將回顧計算機體系結構,並簡要概述計算機的元件、微處理器的元件以及現代微處理器的一些基本體系結構。
第二部分將詳細討論微控制器的各個元件,它們的作用以及它們的設計方法。
第三部分將重點放在 ALU 和 FPU 上,並討論特定數學運算的實現。
第四部分將討論各種設計正規化,從最簡單的單週期機器開始,到更復雜的奇特體系結構,例如向量機和 VLIW 機。
額外的章節將作為前四個部分中討論的概念的擴充套件和支援章節。
本書將依賴一些重要的背景資訊,這些資訊目前在其他一些本地華夏公益教科書中有所介紹。本書的讀者會發現以下先決條件對於理解本書的內容很重要。
所有讀者**必須熟悉二進位制數**以及十六進位制數。這些符號將在整本書中使用,無需事先解釋。本書的讀者應該熟悉至少一種組合語言,也應該熟悉一種硬體描述語言。本書將在文字的主要敘述中使用這兩種型別的語言,事先不會提供解釋。附錄中可能包含關於這些材料的入門知識。
本書的讀者還會發現一些軟體片段有助於理解示例。具體來說,彙編程式和組合語言模擬器將有助於理解許多示例。同樣,HDL 編譯器和模擬器在設計示例中也將很有用。如果能找到這些軟體程式的免費版本,將在附錄中新增連結。
本書旨在作為微處理器設計領域高階本科或研究生學習的補充。電氣工程、計算機工程或計算機科學專業的學生可能會發現本書最有用。本書將涵蓋該領域的基本科目,並將根據作者的精通程度包含更高階的主題。本書中考慮的許多主題將適用於許多不同型別數字硬體的設計,包括 ASIC。但是,本書的主要敘述以及本書的最終目標將集中在微控制器和微處理器上,而不是其他 ASIC 上。
本書僅介紹微控制器和微處理器的設計。本書不會詳細介紹以下主題,儘管可能會提及其中一些主題作為興趣點。
- 電晶體機制、半導體或積體電路製造(微技術)
- 數位電路邏輯、設計或佈局(可程式設計邏輯)
- 設計或與其他計算機元件或外圍裝置介面(嵌入式系統)
- 設計或實現用於計算機元件之間通訊的通訊協議(序列程式設計)
- 設計或建立計算機軟體(計算機程式設計)
- 片上系統硬體的設計或建立,或任何具有整合微控制器的裝置
- 如何選擇現成的 CPU(如何組裝臺式電腦/選擇零件/CPU)
在整本書中,“微處理器”、“微控制器”、“處理器”和“CPU”這些詞通常可以互換使用,表示能夠執行算術運算和定量比較的數字處理單元。我們可能會在各個部分割槽分這些術語,但始終會提供差異說明。