跳至內容

X八十六陵六十四

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 19:50 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

x 八十六陵六十四(閣稱x 六十四,即英文詞六十四-bit extended,六十四位展覽的簡寫)是一个處理器的指令集架構,是因為 x 八十六架構的六十四位展覽,向後相容佇十六位元及三十二位元的 x 八十六架構。x 六十四於一九九九年由 AMD 設計的,AMD 頭擺公開六十四位元集以擴充予 x 八十六,這號做「AMD 六十四」。 其後嘛為英特爾所採用,現時英特爾稱為「Intel 六十四」,進前捌咧用「Clackamas Technology」( CT )、「 IA 鋪三十二 e」佮「EM 六十四 T」。

蘋果公司佮 RPM 套件管理員以「x 八十六陵六十四」抑是「x 八十六 \ _ 六十四」稱呼此六十四位元架構。甲骨文公司佮 Microsoft 彼个稱為「x 六十四」。 BSD 家族參其他 Linux 發行版則使用「amd 六十四」,三十二位元版本號做「i 三百八十六」(抑是 i 五百八十六分之四百八十六 / 六百八十六), Arch Linux 佮其衍生發行版用 x 八十六 \ _ 六十四稱呼此六十四位元架構。

AMD 六十四

AMD 六十四指令集人應用佇咧 Athlon 六十四、Athlon 六十四 FX、Athlon 六十四 X 二、Turion 六十四、Turion 六十四 X 二、Opteron、Sempron、Phenom、Athlon II、Phenom II、AMD APU、AMD FX、AMD Ryzen、AMD Epyc 等處理器上。

架構特色

佇咧 x 八十六鼻六十四出現較早,英特爾和惠普聯合設計出 IA 鋪六十四架構;惟 IA 抹六十四並無佮 x 八十六相容,而且市場反應較冷淡,同時受制佇咧幾若个專利權,予其他的廠商袂使模仿,規模無蓋大。佮 x 八十六相容的 AMD 六十四架構便應運而生,其主要是特點的名稱所述,既然有支援六十四位元通用暫存器、六十四位元整數佮邏輯運算、猶閣有六十四位元虛擬位址,設計人員閣為架構作出袂少改進,部份重大改變如下:

  • 新增暫存器
  • 位址闊度加長
  • SSE 二、SSE 三指令
  • NX 位元:AMD 六十四其中一个特色是擁有「禁止執行」(No-Execute)的位元,會當佇一定程度上防止擽蟲病毒以緩衝區溢位的方式來進行攻擊。

市場分析

AMD 六十四代表 AMD 放棄矣綴咧隨 Intel 標準的一貫作風,選擇像共十六位元的 Intel 八千空八十六擴充做三十二位元的八孵空三百八十六般,去共 x 八十六架構擴充成六十四位元版本,而且相容原有標準,無想著比 Intel 家己發表的六十四位元架構閣愛被認同。因為乎 AMD 六十四架構佇咧 IA 鋪三十二上新增六十四位元暫存器,並相容早期的十六位元和三十二位元軟體,會用得現有 x 八十六為物件的編譯器容易轉做 AMD 六十四版本。除了這以外,NX bit 嘛是引人注目的特色之一。

袂少人認為,像 DEC Alpha 一般六十四位元 RISC 晶片,終其尾會取代但是過時佮多變的 x 八十六架構。但是事實上,為 x 八十六系統而設的應用軟體實在傷過大,成做 Alpha 袂當取代 x 八十六的主要原因,AMD 六十四能有效地共 x 八十六架構徙到六十四位元的環境,而且會當相容原有的 x 八十六應用程式,顯然得著多數開發者的歡迎。

Intel 六十四

Intel 六十四指令集人應用佇 Pentium 四、Pentium D、Pentium Extreme Edition、Celeron、Xeon、Pentium Dual-Core、Intel Core 二、Intel Core i 三、Intel Core i 五、Intel Core i 七及 Intel Core i 九處理器上。

概欲

Intel 六十四計劃的歷史可為是真長猶閣有複雜,其原因主要是因為這條 Intel 家己的內政問題。好計畫開始的時陣,其代號做「Yamhill」,猶毋過 Intel 一直對外宣稱其計畫袂存在;到二空空四年初,Intel 才來改口承認,並共代號改做 CT(Clackamas Technology)。 佇宣佈 CT 計畫的數禮拜內,Intel 為著計畫予誠濟新名。佇二空空四年春季的 Intel 開發者論壇了後,Intel 共號做「IA 鋪三十二 E」,意即 IA 抹三十二的延伸;佇咧數禮拜後,才改稱做 EM 六十四 T。

Intel 曾長時間共這个計畫保持機密,其原因有以下兩點。第一,Intel 無想欲予客戶透濫的資訊,共未來 Itanium IA 鋪六十四處理器的展望佮 x 八十六濫做一談;猶毋過佇 Intel 眼見使用 AMD 六十四的 Opteron 佮 Athlon 六十四號得成功,就是需要對競爭者的威脅作出迎擊。抑若第二个原因,是 Intel 為著家己的面子,必須袂承認使用矣對手 AMD 的技術,所以 Intel 共這个技術以 EM 六十四 T 這个名來推出,雖然核心佮 AMD 六十四差不多仝款,親像一對立生兄弟,但是若準講 Intel 使用矣 AMD 六十四這名,等於咧幫對手做廣告宣傳。佇咧往陣 Intel 的行銷內底,Intel 總共 AMD 的產品貶為家己技術的仿製品;猶毋過這回 AMD 率先開發民用六十四位元技術,Intel 需要顛倒反來吸納 AMD 的技術,使 Intel 咧研發 x 八十六處理器技術的領導地位受著重跋,所以 Intel 佇造勢方面便需要使用閣較濟人力物力。Intel 主席 Craig Barrett 了後嘛承認講,保密方面,這个機密算保護了上䆀的。

佇咧 Intel 六十四(EM 六十四 T)的檔案中,對伊指令集的起源隻無講;所以講有媒體因為伊起了「iAMD 六十四」這个出名,剾洗 Intel 咧迎擊 AMD 的民用六十四位元技術上,使用矣 AMD 的技術,直接共 AMD 六十四吸納過來,並且以新名重包裝使用。後來 Intel 索性將此技術正式號名做Intel 六十四

架構特色

Intel 六十四會使處理器直接存取超過四 GB 的記持體,容許執行閣較大的應用程式。而且x 八十六陵六十四架構嘛加入額外的暫存器佮其他的改良佇咧指令集頂頭。透過六十四位元的記持體位址上限,其理論記憶體大細上限達十六 , 七仔七十七 , 兩百十六 TB(十六 EB), 毋過佇初期的應用上並無支援完整的六十四位元位址。

Intel 佇進前已經佇咧 Itanium 處理器上使用家己的六十四位元 IA 抹六十四技術,雖然講 Intel 六十四嘛是六十四位元,但是兩个並無相容,即 IA 學六十四的軟體袂當直接佇 Intel 六十四上執行。Intel 六十四咧用的 x 八十六陵六十四是 IA 抹三十二指令集的延伸,而且 IA 鋪六十四是另外一款獨立的架構,無任何 IA 抹三十二的影。雖然 IA 抹六十四會當透過類比來執行 IA 鋪三十二的指令,但指令咧執行進前愛經轉換,才會當佇 IA 抹六十四上執行,致使其速度變慢。因為 x 八十六交六十四是對 IA 鋪三十二衍生來,就按呢執行 IA 學三十二佮六十四位元程式的表現嘛顯得外口有賰。

首粒使用 Intel 六十四技術的處理器屬於 Xeon 型號,支援雙處理器,其核心的名號做 Nocona。因為 Xeon 是直接起佇咧桌頂型 Pentium 四的結構頂懸,所以 Pentium 四主機板嘛會當使用 Intel 六十四,使用超執行緒(Hyper-Threading)等。猶毋過 Intel 六十四佇咧初期的 Prescott 版本猶未啟用,其原因大概是彼當陣其實猶未完善。咧使用 Prescott 核心 E 空更新版本的 Pentium 四處理器已經會當使用 Intel 六十四,予人叫做是 Pentium 四 F。再者,E 空更新版本加入了「禁止執行」位元,這號做 XD bit(eXecute Disable), 相當於是 AMD 六十四的 NX bit。

VIA x 八十六陵六十四

VIA 佇咧 Centaur 研發部門五年的研發了後,發佈了其實伊頭一款 x 八十六鼻六十四改進架構,微架構研發代號 " Isaiah " , 六十四位元微架構佇二空空八年一月二四第一擺展示,並且五月二九以 VIA Nano 品牌發布產品。

該處理器支援一類 VIA 專工提懸低功率愛用情景下的效率研發的 x 八十六擴充指令集。 Isaiah 微架構按算佮前一代架構 Esther 相比並,同時脈頻率下,佇整數運算表現會有兩倍提效能提升,浮點運算上會有四倍效會當提升。佇咧功磨頂懸,處理器 TDP 設定做五  W 到二五  W。 此外,這對前代的產品 VIA C 七系列尚不支援的 x 八十六虛擬化的技術,該架構嘛來做支援,同時嘛保留加密擴充。

虛擬位址空間的細節

就算講虛擬位址有六十四位元的闊度,毋過目前的實現機制(佮任何已經知影處咧計劃階段的晶片)並無允准整個十六 EB 的虛擬位址空間攏予人使用。大多數的作業系統佮應用程式佇咧可見的未來攏用袂著遮爾大的地址空間(比如講,Windows 佇咧 AMD 六十四上的實現只應用兩百五十六 TB,即四十八位元的這个闊度), 所以實現按呢誠大的位址闊度干焦會增加系統的複雜度佮位址轉換的成本,𤆬無來任何好處。AMD 決定落去,佇咧對這支構的頭一改實現中,干焦虛擬位址的上低四十八位元才會佇咧位址轉換(頁表查詢)時間去使用。猶毋過,任何虛擬位址的四十八个元至六十三个就愛佮四十七个一致(按照符號擴展的方式), 抑若無處理器會報告一个各樣。符合這規則的地址予人號做「傳統格式」。 傳統格式會對零到七 FFF ` FFFFFFFF,以及對 FFFF 八千 ` 零至 FFFFFFFF ` FFFFFFFF 總計兩百五十六 TB 的地址範圍成做會當使用的虛擬位址空間。

這種「古怪」的規則為日後擴展到真正的六十四位元尋址保留了一个重要的特性:足濟的作業系統(包括但是無限於 Windows NT 系列)將所在的空間懸半部份(予人號做核心空間)留予家己,將低半部份(使用者空間)留予應用程式碼、使用者態棧、堆和其他的數據區。這種「傳統位址」的設計共每一个符合 AMD 六十四的實現攏有兩个記持體片段:低半段對零 ` 零開始,隨著閣較濟的虛擬地址位元變甲可用「向上生長」;懸半部份去予人「吊掛」佇咧位址空間的頂面而且「向下跤起來」。 仝款,共無予人使用的址位元內容固定落來防止被作業系統用作標誌位、特權級標號等其他的用途,是為著避免架構擴展到五十二 , 五十六 , 六十佮六十四位元的時陣出現問題。

六十四位想法(長模式), 是實體位址擴展(PAE)的超集;所以,記持體分頁大細會當是四 KB,二 MB,抑是講一 GB。猶毋過,佮系統佇咧 PAE 模式下使用的三級分頁表機制無仝,長模式下系統使用四級分頁的表示:PAE 的頁 kha-tá-lok-guh 指針表的表項對四个擴展到五百十二个,而且附加一个第四級頁面對映表(Page-Map Level 四 Table,PML 四 Table), 包含五百十二个採用四十八位元實現的表項。規个四十八个元位址空間的四 KB 頁面完整對影層級將會占據略加於五百十二 GB 的記持體(兩百五十六 TB 虛擬位址空間的百分之空吱一九六)。 佇提供閣較大虛擬位址的實現中,這个表予一个閣較懸的對映層級所對映,即第五級頁面對映表(PML 五), 會當提供五十二位實體的位址(四 PiB)佮五十七位虛擬位址(一百二十八 PiB)的實現。

執行模式

作業系統支援

以下作業系統攏支援長模式(long mode)的 x 八十六鼻六十四架構。

DOS

佇咧 DOS 環境下會當透過 DOS Extender(比如講 DOS 四 GW)來入去保護模式。

FreeBSD

FreeBSD 佇咧五鋪一正式版捌做 x 八十六陵六十四做試驗,到六鼻空正式版解決矣佇 x 八十六曲痀六十四執行三十二位元程式出現的一寡問題,閣有法度支援袂少驅動程式。

Linux

Linux 佇咧二鋪六版本的核心開始加入長模式,支援 x 八十六陵六十四,能相容三十二位元程式佮類比三十二位元系統,容許佇咧三十二位元的環境之下,共程式編譯做六十四个元版本。

macOS

Mac OS X 十曉六 _ Snow Leopard _ 開始提供六十四位元核心,並且會使佇部分處理器上拍開六十四位元核心。六十四位元核心只支援六十四位元的核心擴充,反之亦然;毋過對普通應用程式,無論三十二位元或者是六十四位元核心均會當支援兩種位闊的應用程式,但是三十二位元程式干焦會使用四 GB 的記憶體空間。

Mac OS X 十人五 _ Leopard _ 佇咧 Intel 佮 PowerPC 最提供對 Cocoa , Quartz , OpenGL 佮 X 十一的 GUI 程式的六十四位元支援,並支援全部的命令列庫佮程式。但是核心只有三十二位元版本。

Mac OS X 使用通用二進位檔案格式將三十二位元和六十四位元程式和庫代碼包裝佇仝一檔案中,載入的時陣自動選擇上合適的版本。佇咧 Mac OS X 十二分六中,核心佮核心擴充嘛使用通用二進位格式和現場支援兩種構架仔。

蘋果公司佇二空一八年四月起,佇咧 macOS High Sierra 作業系統內執行三十二位元應用程式,會提醒訊息。並已經佇二空一八年六月的 WWDC 上宣佈 macOS Mojave 將是最後一版支援三十二位元應用程式的 macOS。

MenuetOS

x 八十六曲痀六十四版本的 MenuetOS 系統佇二空空五年六月推出,雖然原本有的三十二位元版 Menuet 以 GPL 授權,猶毋過 x 八十六鋪六十四版本是維持專屬,並免費軟體的方式來發佈,猶閣有提供部份元件的原始碼。

NetBSD

x 八十六曲痀六十四版本的 NetBSD 上早佇二空空一年六月十九予人提出,至二空空四年十二月初九推出的 NetBSD 二鋪空已經會當完全支援 x 八十六陵六十四。

OpenBSD

OpenBSD 自二空空四年五月一日推出的三更五版起,已經支援 x 八十六陵六十四。

Solaris

昇陽的 Solaris 自版本十開始已經支援 x 八十六陵六十四。

Windows

供使用者捀使用的 Windows XP Professional x 六十四 Edition 以及供侍服器使用的 Windows Server 兩千空三 x 六十四 Edition 攏已經佇二空空五年三月推出。Windows Vista、Windows Server 兩千空八、Windows Server 二千空一十二、Windows Server 二千空一十二 R 二、Windows Server 二千空一十六、Windows Server 二千空一十九、Windows 七、Windows 八、Windows 八孵一佮 Windows 十均有對應的六十四位元版本。對 Windows Server 兩千空八 R 二開始的 Windows Server 作業系統干焦提供六十四位元版本,對 Windows 十一開始的面向消費者的 Windows 作業系統干焦提供六十四位元版本。

業界講慣例

因為 AMD 六十四佮 Intel 六十四基本上一致,足濟軟硬體產品攏使用一種不傾向任何一方的詞彙來表明𪜶對兩種架構的同時相容。出於這个目的,AMD 著這種 CPU 彼个架構的原始稱呼——「x 八十六陵六十四」予人不時咧用,猶閣變體「x 八十六 \ _ 六十四」。 其他公司若是微軟佮昇陽電腦咧行銷資料當中使用「x 六十四」做對「x 八十六陵六十四」的縮寫。

真濟作業系統佮產品,尤其遐的是佇咧 Intel 進入這塊市場進前就引入去「x 八十六陵六十四」支援的,使用「AMD 六十四」抑是「amd 六十四」同時指代 AMD 六十四佮 Intel 六十四。

  • BSD 系統(如 FreeBSD、NetBSD 和 OpenBSD)佮一寡 Linux 發行版(如 Debian、Ubuntu、和 Gentoo)將 AMD 六十四佮 Intel 六十四攏叫做「amd 六十四」。 Red Hat 的 RPM 將 x 八十六鋪六十四稱為 x 八十六 \ _ 六十四抑是 x 八十六陵六十四,將三十二位元的 IA 抹三十二稱做 i \ * 八十六(\ * 為數字三更六,比如講 i 三百八十六)。 Arch Linux 將 x 八十六鋪六十四稱為 x 八十六 \ _ 六十四。
  • Fedora PackageKit 講六十四个元架構為「x 八十六 \ _ 六十四」。
  • Java Development Kit(JDK): 包含 x 八十六曲痀六十四檔案的 kha-tá-lok-guh 號名號做「amd 六十四」。
  • Mac OS X:終端下的命令 arch 以及開發人員文件攏表明蘋果稱六十四位元架構為「x 八十六 \ _ 六十四」。
  • Microsoft Windows:這个稱在 IA 抹三十二處理器上使用六十四位元技術為「x 六十四」,但是一寡相關 kha-tá-lok-guh 使用 AMD 六十四來標明。比如講,Windows x 六十四版的安裝 CD 上的系統 kha-tá-lok-guh 號名號做「AMD 六十四」,三十二位元版本頂懸用「i 三百八十六」。
  • Solaris:作業系統的命令 isalist 將 AMD 六十四佮 Intel 六十四攏定義成「amd 六十四」。

應用產品

以下處理器產品使用矣 x 八十六鋪六十四技術,截至二空一八年九月,差不多等於市場上所有消費級產品攏使用 x 八十六鋪六十四技術。

  • AMD K 八 ( AMD 六十四 ) 微處理器架構
  • AMD Athlon 六十四
  • AMD Athlon 六十四 X 二
  • AMD Athlon 六十四 FX
  • AMD Opteron
  • AMD Turion 六十四
  • AMD Sempron(限使用 E 六步進了後的 Palermo、全數 Manila 型號佮全數 Sparta 型號)
  • AMD K 十微處理器架構
  • AMD Phenom
  • AMD Athlon
  • AMD Sempron
  • AMD 攄塗機微處理器架構
  • AMD FX-Series
  • AMD Fusion ( APU )
  • AMD Bobcat 微處理器架構的 CPU 核心
  • AMD Ontario
  • AMD Zacate
  • AMD K 十微處理器架構的 CPU 核心
  • AMD Llano
  • AMD Ryzen
  • Intel NetBurst ( Intel 六十四 )
  • Intel Xeon(自 " Nocona " 起的部份型號)
  • Celeron D(自 " Prescott " 起的部份型號)
  • Pentium 四(自 " Prescott " 起的部份型號)
  • Pentium D
  • Pentium Extreme Edition
  • Intel Core 微處理器架構
  • Intel Xeon ( " Woodcrest " )
  • Intel Core 二
  • Intel Pentium Dual-Core
  • Intel Celeron
  • Intel Nehalem 微處理器架構
  • Intel Xeon
  • Intel Core i 七
  • Intel Core i 五
  • Intel Core i 三
  • Intel Pentium
  • Intel Celeron
  • Intel Sandy Bridge 微處理器架構
  • Intel Xeon
  • Intel Core i 七
  • Intel Core i 五
  • Intel Core i 三
  • Intel Pentium
  • Intel Celeron
  • Intel Ivy Bridge 微處理器架構
  • Intel Xeon
  • Intel Core i 七
  • Intel Core i 五
  • Intel Core i 三
  • Intel Pentium
  • Intel Celeron
  • Intel Haswell 微處理器架構
  • Intel Xeon
  • Intel Core i 七
  • Intel Core i 五
  • Intel Core i 三
  • Intel Pentium
  • Intel Celeron
  • Intel Broadwell 微處理器架構
  • Intel Xeon
  • Intel Core i 七
  • Intel Core i 五
  • Intel Core i 三
  • Intel Skylake 微處理器架構
  • Intel Xeon
  • Intel Core i 九
  • Intel Core i 七
  • Intel Core i 五
  • Intel Core i 三
  • Intel Pentium
  • Intel Celeron
  • Intel Kaby Lake 微處理器架構
  • Intel Xeon
  • Intel Core i 九
  • Intel Core i 七
  • Intel Core i 五
  • Intel Core i 三
  • Intel Pentium
  • Intel Celeron
  • Intel Coffee Lake 微處理器架構
  • Intel Xeon
  • Intel Core i 九
  • Intel Core i 七
  • Intel Core i 五
  • Intel Core i 三
  • Intel Pentium
  • Intel Celeron
  • Intel Atom ( 部份 )
  • VIA / 兆芯
  • VIA Nano
  • ZX-C 系列
  • ZX-C + 系列
  • KX 抹五千系列
  • KX 被六千系列
  • KH 抹二鋪系列
  • KH 鋪三芳系列

參考文獻

參見

  • NX bit
  • AMD K 八
  • AMD K 十(因為 K 九咧英語發音上無好聽(Canine,狗類), 所以 AMD 佇咧 K 八代號後,直接使用 K 十為代號)
  • IA 被六十四
  • x 八十六

外部連結

  • AMD Developer Guides & Manuals
  • Intel 六十四 and IA 鋪三十二 Architectures Software Developer Manuals