微架構，也被叫做計算機組織，微架構使得指令集架構（ISA）可以在處理器上被執行。指令集架構可以在不同的微架構上執行。 計算機結構是一門探討微架構與指令集兩者互動的一門學問。 和指令集架構的關係 指令集架構是指在處理器內被處理的程式，指令集架構為組合語言的設計師和編譯器所見。指令集架構包含 execution model，暫存器，地址以及資料格式。微架構包含處理器內部的構成以及這些構成起來的部分如何執行指令集架構。微架構通常被表示成流程圖，以描述機器內部元件的連結狀況，從一個閘或是暫存器，到算術邏輯單元（ALU）。圖上分佈著資料路徑（可以顯示資料在微架構的位置）以及控制路徑（顯示資料該被什麼指令所處理）。 每個微架構的的元件都被表示成藉數個邏輯閘所建構而成的工具。每個邏輯閘都被表示成藉電晶體建構成的零件。擁有不同微架構的機器可能擁有相同的指令集架構，因此可以執行相同的程式。由於半導體科技的進步，新型的處理器可以以較快的速度執行相同的指令集架構。 微架構的概念 現時，流水線資料路徑是微架構中最常被使用的資料路徑。這種作法也被普遍的用於微處理器，微控制器，以及數字訊號處理器。流水線的結構允許多個指令在同一時間執行，不同的指令在微架構不同的位置執行。流水線分有好幾個不同的階段（stage），這些階段是微架構的基礎。這些階段包含取指令，譯碼，執行指令，以及將資料寫回。一些結構還包含其他階段，像是對記憶體做存取的動作。流水線是微架構其中一項主要的工作。執行單元也是微架構的基本元件。執行單元包含算術邏輯單元（ALU），浮點運算器（FPU），loadstore 單元，分支預測，以及 SIMD。這些單元在處理器內進行計算。執行單元的數量，他們的延遲（記憶體存取資料的時間）及吞吐量（將資料存到或是讀取出記憶體的速度）影響微架構的效能。 指令週期 所有的中央處理器，微處理器藉由以下的步驟來執行程式： 讀取指令並將其譯碼 找到需要用到的資料以執行指令 執行指令 將結果寫回 指令週期將會不斷迴圈，直到電力用盡。 執行速度 上面的步驟看起來簡單，但階層記憶體使這些步驟變得複雜，階層記憶體包含快取，主記憶體，以及非揮發性的記憶體，例如硬碟（這是指令和資料儲存的地方），總是比處理器處理資料的速度慢。步驟（2）常常導致 lengthy（在 CPU 內）delay，這種延遲是在資料透過匯流排時產生。一直以來，一個不變的目標是在同一時間內執行更多指令，以提升程式執行的效率。這導致邏輯和電路設計變得更複雜。一開始，只有大型電腦和超級電腦使用這種技術，因為這種技術需要大量的電路。當半導體產業發展起來後，這樣的技術被加裝在單一的半導體晶片上。詳見摩爾定律（積體電路可容納的電晶體數量，每二年增加一倍）。 指令集的選擇 指令集從過去以來不斷的變化，從一開始的簡單到後來的複雜。最近，loadstore 結構，VLIW 以及 EPIC 是最普遍的指令集。結構處理 data parallelism 的方法包括 SIMD 以及向量。一些指令集，例如 CISC；多早期的裝置使用 CISC。 然而，對指令集架構的選擇可能會對實作高效能的機器產生大的影響。發展 RISC 處理器是一個好的策略，可以將指令給簡化。這樣的指令容易在管線內被擷取，解碼與執行，由於指令頻繁的被使用，快取便被頻繁的使用，這樣就使記憶體存取的時間降低。 流水線 pipeline 在目前，能夠最有效的提升效能的方法就是流水線。早期的處理器是等一個指令執行完所有步驟後，然後才輪到下一個指令執行。大部分的電路在某一個步驟結束後就處在閒置的狀態，例如，對指令進行解碼的電路在指令進入執行階段後就處於閒置狀態。 流水線化的電路藉由允許多個指令在同一時間，在電路上不同的位置進行不同的工作。例如，處理器可以在最後一個指令等待結果寫回時對另一個指令解碼。這使得處理器在同一時間可以處理四個指令，使處理器的效能增加了四倍。 RISC 藉由將每個階段分割清楚並讓每個階段都花費一樣的時間執行來讓流水線變小和變得容易建構 每個階段花費 1 個 cycle 的時間。處理器使用了有如工廠流水線的設計，當指令由一邊進來的同時就有另一個指令從另一邊出去。由於 RISC 流水線是降低複雜度的設計，使得流水線核心跟指令快取可以被裝置在同一個晶片內，這是精簡指令集較為快速的原因。早期的裝置，例如 SPARC 和 MIPS 比 Intel 和 Motorola 的 CISC 還快 10 倍。 幾種典型的微架構 Intel P5 P6 NetBurst Core NehalemWestmere Sandy BridgeIvy Bridge HaswellBroadwell Skylake Kaby Lake Coffee Lake Comet Lake Ice Lake AMD K5 AMD 的首個原創微架構。K5 基於 Am29000 的微架構，並且添加了一個 x86 的解碼器。即使這個設計的原理和 Pentium Pro 相同，而實際效能更像是 Pentium。 K6 K6 並非基於 K5 而是基於當時已經被 AMD 所收購了的 NexGen 所設計的 Nx686 處理器，K6 的針腳相容 Intel Pentium。 K62 微架構 增加了 3DNow SIMD 指令集。 K6III 微架構 有 3 級快取，64KB L1 一級快取，256KB L2 二級全速快取，最高可達 2MB 的主機板裝載（motherboard mounted）L3 三級快取。 K7 是 AMD Athlon 和 Athlon XP 的微架構。 K8 微架構 全球首款 x8664 處理器，集成了記憶體控制器（Integrated Memory Controller），採用 HyperTransport 技術，增加了 SSE 指令集。後期的 K8 增加了 SSE3。K8 在 2003 年 4 月 22 日上市。HyperTransport 取代了傳統的前端匯流排，讓 CPU 直接和記憶體連結。 K9 被取消。 K10 微架構 代號為 Barcelona 是 AMD 系列的第十代微架構，最多內建四個核心，共享 Level 3 Cache 第三級快取，128 位浮點單元，支援 AMDV Nested Paging Virtualization 和 HyperTransport 30。 Bulldozer 是繼 K10 之後，使用 AMD MSPACE 模組化設計方法（modular design methodology）的微架構。Bulldozer 是為功耗在 10W 至 100W 類別的處理器而設計，應用了 XOP，FMA 和 CVT16 指令集，並且部分產品整合了 GPU 核心（AMD APU）。 Zen 微架構 AMD 在 2017 年推出的微架構，是多年來效能最接近 Intel 的產品。採用 14 奈米製程。 Zen 微架構 AMD 在 2018 年推出的微架構，CPU 晶片採用 12 奈米製程。 Zen 2 微架構 AMD 在 2019 年推出的微架構，CPU 晶片採用 7 奈米製程。 Zen 3 AMD 在 2020 年推出的微架構 微架構的發展方向 參考文獻 《計算機科學技術百科全書》（第二版） 作者：張效祥。出版社：清華大學出版社，2005 年 ISBN：7302105944 9787302105947 參見 AMD CPU 微架構列表 指令集架構 計算機系統結構 Category 微處理器 Category 中央處理器 Category 電腦架構 Category 電腦科學 Category 計算機架構 Category 指令處理