奔騰 (初代)

奔騰（又稱i586）是Intel於1993年3月22日推出的微處理器，是奔騰系列品牌中的第一款CPU。它是與80486兼容的指令集，但它是一種全新的、非常不同的微架構設計。 P5 奔騰是第一個超標量x86微架構，也是世界上第一個量產的超標量微處理器。它包括雙整數管道、更快的浮點單元、更寬的數據總線、單獨的代碼和數據緩存以及許多其他技術和功能，以提高性能並增強安全性。
它被認為是 8086 兼容處理器系列中的第五代主要產品，其代號和微架構稱為P5 。與自奔騰以來英特爾的所有新處理器一樣，P5添加了一些新指令以增強特定類型工作負載的性能。
奔騰是第一個為類似於大型 IBM 大型計算機的多處理提供強大硬件支持的 Intel x86處理器。這種新能力在之前的x86處理器代和競爭對手的處理器中是不存在的。
為了發揮其最大潛力，必須優化編譯器以利用新的超標量雙流水線和需要重新編譯的應用程序提供的指令級並行性。英特爾花費大量精力和資源與開發工具供應商，主要的獨立軟件供應商(ISV) 和操作系統(OS) 公司合作，在產品發佈之前針對奔騰優化他們的產品。
1996 年 10 月，推出了類似的奔騰MMX  ，採用MMX 指令集、擁有更大的緩存和其他一些增強功能補充了相同的基本微架構。
66 MHz SX950 芯片
競爭對手包括摩托羅拉 68040 、摩托羅拉 68060 、PowerPC 601 ，以及SPARC、MIPS 、Alpha系列，其中大多數有時也使用超標量有序雙指令流水線配置。
英特爾在 2000 年初停止了 P5 奔騰 處理器（自 1997 年奔騰 II發佈以來作為更便宜的產品銷售），轉而使用Celeron處理器。 

**開發**
P5 微架構是由曾經設計386和486的Santa Clara團隊設計的。 設計工作始於1989年； 團隊決定使用具有片上緩存、浮點和分支預測的超標量架構。初步設計於1990年成功模擬，隨後設計了佈局。到了這個時候，這個團隊已經有幾十名工程師了。該設計於 1992年4月流片（轉移到硅片上），此時 beta 測試開始。 到1992年年中，P5 團隊已有 200 名工程師。 英特爾最初計劃於1992年6月在PC Expo貿易展上展示 P5，並於1992年9月正式宣佈該處理器， 但設計問題迫使演示被取消，芯片的正式推出也被推遲直到1993年春天。  
最初 386 的首席設計師約翰·克勞福德 ( John H. Crawford ) 與管理架構團隊的唐納德·阿爾珀特 (Donald Alpert) 共同管理了 P5 的設計 。 Dror Avnon 管理了 FPU 的設計。  Vinod K. Dham是 P5計劃的總經理。 
英特爾的Larrabee多核架構項目使用源自 P5（P54C） 的處理器內核，並通過使用多線程、 64 位指令和 16 寬矢量處理單元進行了增強。 早期Atom處理器內核中採用的英特爾低功耗Bonnell 微架構也使用類似於 P5 的有序雙流水線。 
因為數字不能註冊商標，所以英特爾將此係列命名為奔騰而非80586 

**對 i486 的改進**
P5 微架構比之前的 i486 架構帶來了幾個重要的進步。- 性能：
** 超標量架構——奔騰有兩條數據路徑（流水線），在許多情況下允許它在每個時鐘週期完成兩條指令。主管（U）可以處理任何指令，而另一個（V）可以處理最常見的簡單指令。一些date=July 2018精簡指令集計算機(RISC) 的支持者認為，“複雜的”x86 指令集可能永遠不會通過緊密流水線的微架構實現，更不用說雙流水線設計了。但486和奔騰 證明了這確實是可能和可行的。
** 64 位外部數據總線使每次內存訪問時可能讀取或寫入的信息量翻倍，因此奔騰加載其代碼緩存的速度比 80486 快；它還允許更快地訪問和存儲 64 位和 80 位x87 FPU數據。
** 更快的浮點單元。一些指令顯示出巨大的改進，尤其是 FMUL，其吞吐量比 80486 FPU 高出 15 倍。 奔騰還能夠與普通（算術或加載/存儲）FPU 指令並行執行 FXCH ST(x) 指令。
** 與 80486 相比，四輸入地址加法器使奔騰能夠進一步減少地址計算延遲。奔騰可以在單個週期內計算段基址+基址寄存器+縮放寄存器+立即偏移量的全尋址模式； 而486只有一個三輸入地址加法器，因此必須在兩個週期之間進行此類計算。
** 微碼可以使用兩條流水線來啟用自動重複指令，例如REP MOVSW每個時鐘週期執行一次迭代，而80486每次迭代需要三個時鐘（最早的 x86 芯片明顯多於 486）。此外，在解碼階段優化對第一個微碼字的訪問有助於使幾個頻繁的指令執行得更快，尤其是在它們最常見的形式和典型情況下。例子有：（486→奔騰，時鐘週期）：CALL（3→1），RET（5→2），移位/旋轉（2-3→1）。
** 更快、完全基於硬件的乘法器使 MUL 和 IMUL 等指令比 80486 快幾倍（且更可預測）；對於 32 位操作數，執行時間從 13 到 42 個時鐘週期減少了到 10-11 個。
** 分支預測- 其他特點：
** 通過引入基於處理器的調試端口增強了調試功能（請參閱《開發人員手冊》第 1 卷中的奔騰處理器調試）。
** 增強的自檢功能，例如 L1 緩存奇偶校驗檢查（參見開發人員手冊第 1 卷中的緩存結構）。
** 新指令：CPUID、CMPXCHG8B、RDTSC、RDMSR、WRMSR、RSM。
** 測試寄存器 TR0-TR7 和訪問它們的 MOV 指令被取消。- 後來的奔騰MMX還添加了MMX 指令集，這是一種基本的整數單指令、多數據( SIMD ) 指令集擴展，用於多媒體應用程序。 MMX 不能與x87 FPU 指令同時使用，因為寄存器被重用（以允許快速上下文切換）。更重要的改進是指令和數據緩存大小翻了一番，以及為了獲得更好的性能而做出的一些微架構更改。
奔騰可以每秒執行超過 1 億條指令(MIPS)， 75MHz 模型在某些基準測試中能夠達到 126.5 MIPS。 在普通基準測試中，奔騰架構的每個時鐘週期通常可以提供略低於 486 處理器性能的兩倍。最快的 80486 部件（使用略有改進的微架構和100MHz操作）幾乎與第一代 奔騰一樣強大，而AMD Am5x86在純 ALU 性能方面與 奔騰 75 大致相當。
部分60-100MHz的早期版本P5奔騰處理器在浮點單元中存在問題，導致某些除法運算的結果不正確（但此問題可預測）。這個漏洞是由弗吉尼亞州林奇堡學院的 Thomas Nicely 教授於 1994 年發現的，它被廣泛稱為奔騰 FDIV 漏洞，並讓英特爾顏面掃地，該公司隨後啟動了一個換貨計劃來更換有故障的處理器。
1997 年，發現了另一個錯誤，它可能允許惡意程序在沒有任何特殊權限的情況下使系統崩潰，即“ F00F 錯誤”。所有 P5 系列處理器都受到了影響，並且沒有發佈任何已修復此問題的P5處理器，但是現代操作系統已經修補了此錯誤。

**核心和後續產品**
奔騰是英特爾在 1990 年代中期用於個人計算機的主要微處理器。原始設計在更新的處理器中重新實現，並添加了新功能以保持其競爭力，並針對便攜式計算機等特定市場推出了其他變體。因此，P5微體系結構有幾種變體。

**P54C**
英特爾奔騰微架構
第一個奔騰微處理器內核的代號為“P5”。它的產品代碼是80501。80501有兩個版本，指定運行在各60兆赫和66MHz，皆使用Socket 4 。 奔騰 的第一個實現使用傳統的 5 伏電源（源自通常的晶體管-晶體管邏輯(TTL) 兼容性要求）。它包含 310 萬個晶體管，測得 16.7毫米乘 17.6mm，面積為 293.92毫米2 。 它使用0.8μm雙極互補金屬氧化物半導體 ( BiCMOS ) 工藝。 與隨後緊跟的型號相比，80851的5伏設計導致其工作頻率的能耗相對較高。
英特爾奔騰 P54C 芯片
1994 年 P5的後續型號的是 P54C (80502)，其版本指定為各版本在75、90 或 100MHz運行，使用 3.3 伏電源和Socket 5 ，這是第一個在 3.3伏電壓下運行的奔騰處理器，降低了能耗，但需要在主板上進行電壓調節。與時鐘頻率較高的 486 處理器一樣，它使用內部時鐘倍頻器，讓內部電路以比外部地址和數據總線更高的頻率工作，但是由於物理限制，其調節外部頻率更加複雜和麻煩。它還允許雙向多處理，並具有集成的本地 APIC和新的電源管理功能。它包含 330 萬個晶體管，面積163個平方毫米。 它使用BiCMOS 製程製造。

**P54CQS**
1995 年初，P54C的的後續產品是 P54CQS，其運行速度為 120MH。它使用0.35μmBiCMOS 工藝，是第一個以 0.35微米工藝製造的P5處理器。 它的晶體管數量與 P54C 相同，儘管工藝較新，但它的芯片面積也相同。芯片使用引線鍵合連接到封裝，僅允許沿芯片邊緣連接。因為導線的長度有限制，而且芯片的邊緣會遠離封裝上的焊盤，所以較小的芯片需要重新設計封裝，。此問題解決方案是保持芯片尺寸不變，保留現有的焊盤環，只減小奔騰邏輯電路的尺寸，使其能夠實現更高的時鐘頻率。 

**P54CS**
P54CQS 緊隨其後的是 P54CS，它在 133、150、166 和 200MHz下運行，並引入了Socket 7 。它包含 330 萬個晶體管，芯片面積為90 mm 2並以 0.35μm BiCMOS 工藝生產。

**P24T**
用於486系統的 P24T 奔騰OverDrive於 1995 年發佈，基於 3.3V 0.6μm製程，使用 63 或 83 MHz時鐘。由於這些處理器使用Socket 2 / 3 ，因此必須進行一些修改以補償 486 主板的 32 位數據總線和較慢的板載 L2 緩存。因此，他們配備了32KB的L1 緩存（是 P55C 之前 奔騰 CPU 的兩倍）。

**P55C**
英特爾奔騰 MMX 微架構
奔騰 MMX 166 MHz 
P55C（或 80503）由位於以色列海法的英特爾研發中心開發。它以 採用MMX科技的奔騰處理器 的名字出售（通常簡稱為奔騰MMX ）；儘管它基於 P5 內核，但它具有一組新的 57 條“MMX”指令，旨在提高多媒體任務的性能，例如編碼和解碼數字媒體數據。 奔騰MMX系列於 1996 年 10 月 22 日宣佈，並於 1997 年 1 月發佈。 
新指令適用於新的數據類型：8 個 8 位整數、四個 16 位整數、兩個 32 位整數或一個 64 位整數的 64 位壓縮向量。因此，例如，PADDUSB（Packed ADD Unsigned Saturated Byte）指令將兩個向量相加，每個向量包含八個 8 位無符號整數，按元素計算；每個溢出的加法都會飽和，產生 255，這是可以用一個字節表示的最大無符號值。這些相當專業的指令通常需要程序員進行特殊編碼才能使用。 
內核的其他變化包括一個 6 級管道（與 P5 上的 5 個）和一個返回堆棧（首先在 Cyrix 6x86 上完成）和更好的並行性、改進的指令解碼器、16KB L1 數據緩存 + 16KB L1 指令緩存，兩者都有 4路關聯性（與 P5 上 2 路的 8KB L1 數據/指令相比），4 個寫入緩衝區現在可由任一管道使用（與一個對應於 P5 上的每個管道）和改進的分支預測器取自 奔騰 Pro，  具有 512 個條目的緩衝區（與 P5 上的 256 個相比）。 
它包含 450 萬個晶體管，面積為 140平方毫米 。該過程具有四個互連級別。 
雖然 P55C 仍然與Socket 7兼容，但為芯片供電的電壓要求與標準的 Socket 7 規格不同。在 P55C 標準建立之前為 Socket 7 製造的大多數主板不符合該 CPU 正常運行所需的雙電壓軌（2.8 伏核心電壓，3.3 伏輸入/輸出(I/O) 電壓）。英特爾通過 OverDrive 升級套件解決了這個問題，該套件採用具有自己電壓調節功能的內插器。

**Tillamook**
奔騰 MMX 筆記本 CPU 使用了一個固定 CPU 的移動模塊。該模塊是一塊印刷電路板(PCB)，CPU 以較小的形式直接連接到其上。模塊卡在筆記本主板上，通常會安裝一個散熱器並與模塊接觸。隨著 0.25μm Tillamook Mobile Pentium MMX（以俄勒岡州的一個城市命名）的推出，該模塊還添加了430TX芯片組以及系統的 512 KB靜態隨機存取存儲器(SRAM) 高速緩存。

**型號和變體**

**關聯閱讀**
 IA-32指令集架構(ISA)

**競爭對手**
 AMD K5, AMD K6- Cyrix 6x86- WinChip C6- NexGen Nx586- Rise mP6

**參考**
  CPU-Collection.de date=20070927000055  - Intel Pentium 圖像和描述-  Plasma 在線 Intel CPU 識別 date=20010423135401 -  Pentium Timeline 項目 date=20211223151333 Pentium Timeline 項目映射了已知的每個 s-spec 中最古老和最年輕的芯片。數據顯示在交互式時間線中。

**英特爾數據表**
  奔騰 (P5) date=20211113202627 -  奔騰 (P54) date=20211116133428 -  奔騰 MMX (P55C) date=20211008101748 -  移動奔騰 MMX (P55C) date=20220412014710 -  移動奔騰 MMX (Tillamook) date=20220412010651 

**英特爾手冊**
這些官方手冊提供了奔騰處理器及其特性的概述：- 奔騰處理器系列開發人員手冊 奔騰處理器（第 1 卷） （英特爾訂單號 241428）- 奔騰處理器家族開發者手冊 第 2 卷：指令集參考 date=20120313153131 （Intel 訂單號 243191）- 奔騰處理器家族開發者手冊 第 3 卷：架構和編程手冊（Intel 訂單號 241430）