早期 x86 處理器型號

最後更新: 2024-01-17 22:54:22 +0800 +0800
原文以英文撰寫。您正在閱讀AI翻譯版本。

處理器型號共享相同的 ISA 血統,但在匯流排、封裝、時脈、整合周邊裝置和微架構方面有所不同。 因此,軟體相容性並不表示電路板層級的行為完全相同。

Intel 8086 與 8088 #

8086 與 8088 執行相同的 16 位元指令集,並使用 20 位元位址空間,可提供 1 MiB 的實體記憶體。 兩者主要的外部差異在於資料匯流排:8086 具有 16 位元匯流排,而 8088 具有 8 位元匯流排。 較窄的匯流排寬度使 8088 更容易連接當時的低成本周邊裝置,但 16 位元傳輸需要額外的匯流排 週期。

兩種設計都將位址與資料接腳多工化,因此外部鎖存器會在匯流排週期期間保留位址。MN/MX 輸入會選擇單處理器系統的最小模式,或使用外部匯流排控制器與協同處理器之系統的最大模式。

區段從 16 位元組邊界開始,並透過 CS、DS、SS 和 ES 進行定址。遠指標儲存一個位移 和一個區段值;它不是線性 32 位元位址。

x86 處理器封裝

80186 與 80188 #

80186 與 80188 保留了 8086/8088 核心之間的差異,同時整合計時器、中斷控制、DMA 和晶片 選擇邏輯等周邊裝置。這種整合適合嵌入式系統,但 PC 相容系統使用獨立的周邊裝置設計, 因此沒有採用它們作為直接的 PC CPU 替代品。

這兩個型號也加入後續 x86 處理器使用的指令,包括 PUSHA、POPA、PUSH 的立即數形式、 帶正負號立即數 IMUL、ENTER、LEAVE、BOUND 以及字串埠 I/O。與前一對處理器一樣, 80186 具有 16 位元外部資料匯流排,而 80188 具有 8 位元匯流排。

型號、封裝與時脈界線 #

處理器名稱無法識別單一實體元件。Intel 以多種封裝和速度等級出貨這些系列的成員,而相容 廠商也製造了其他實作。時脈額定值描述相關資料表規定的輸入頻率或運作頻率,而不是每秒 執行的指令數。匯流排寬度、等待狀態、預取行為和周邊裝置時序可能使具有相同時脈的元件 呈現不同的行為。

現代處理器上的識別 #

現代 x86 處理器會透過 CPUID 回報 family、model 和 stepping,前提是處理器實作了該指令。 作業系統會將這些識別碼與功能位元結合,以選擇緩解措施、效能原則和因應方案。選擇 ISA 指令時,正確依據是功能位元而非 family 編號,因為不同型號可能公開不同的選用擴充功能。

電氣接腳配置、封裝規則和時序需求來自特定處理器的資料表。ISA 手冊描述軟體契約,但不能 取代這些電路板層級的文件。同樣地,歷史型號名稱也不表示處理器處於實模式、保護模式、 相容模式或 64 位元執行模式;軟體必須確定目前的模式,並查詢支援的功能。

評論

在 GitHub 上閱讀或評論(發表評論需要登入)