自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

arm vs AArch64 vs amd64 vs x86_64 vs x86:有什么區(qū)別?

系統(tǒng)
當涉及到 CPU 的時候,有許多術語:AArch64、x86_64、amd64、arm 等等。了解它們是什么以及它們之間的區(qū)別。

當你查看數(shù)據(jù)表或軟件下載頁面時是否被 ARM、AArch64、x86_64、i386 等術語混淆?這些被稱為 CPU 架構,我會幫你深入了解這個計算話題。

以下的表將為你總結每個字符串所代表的意義:

CPU 架構

描述

x86_64 /x86/amd64

64 位 AMD/英特爾 CPU 的別稱

AArch64 /arm64/ARMv8/ARMv9

64 位 ARM CPU 的別稱

i386

32 位 AMD/英特爾 CPU

AArch32 /arm/ARMv1 到 ARMv7

32 位 ARM CPU 的別稱

rv64gc /rv64g

64 位 RISC-V CPU 的別稱

ppc64le

64 位 PowerPC CPU,小端字節(jié)序存儲

從左到右是使用該術語來描述 CPU 架構超過其右側其他可選用術語的偏好。

從左到右是使用該術語描述 CPU 架構的優(yōu)先級,使用左側的而不是其右側的其他可供選擇的術語。

如果你像我一樣是個極客,并想要更深入地解釋,請繼續(xù)閱讀!

概述:CPU 架構

通常來說,我之前列出的術語是描述 CPU 架構的。但嚴格講,它們被計算機工程師視為 CPU 的 指令集架構Instruction Set Architecture(ISA)。

CPU 的指令集架構定義了 CPU 如何解析二進制代碼中的 1 和 0。

這些 CPU 的 ISA 有幾個主要的類別:

  • x86(AMD/英特爾)
  • ARM
  • RISC-V
  • PowerPC(IBM 仍在使用)

當然,還有更多種類的 CPU ISA,比如 MIPS、SPARC、DEC Alpha 等等。但我列出的這些至今仍然被廣泛使用(以某種形式)。

上述列出的 ISA 主要根據(jù) 內(nèi)存總線的寬度

?? 32 位的 CPU ISA 要么是已經(jīng)過時的歷史產(chǎn)物,被留下來要么只是為了支持舊的系統(tǒng),要么只運用在微控制器中??梢哉f,所有新的硬件都已經(jīng)是 64 位的了,特別是那些面向消費者的硬件。

x86(AMD/英特爾)

x86 CPU 的指令集架構主要源于英特爾,因為英特爾是最初搭配 8085 微處理器創(chuàng)建了它。8085 微處理器的內(nèi)存總線寬度為 16 位。而后來,AMD 加入了這個領域,并且一直緊隨英特爾的步伐,直到 AMD 創(chuàng)建出了自己的超集 64 位架構,超過了英特爾。

x86 架構的子集如下:

  • i386:如果你擁有的是 2007 年之前的 CPU,那么這可能就是你的 CPU 架構。它是現(xiàn)在使用的 AMD/英特爾的 x86 架構的 32 位“版本”。
  • x86_64/x86/amd64:這三個術語在不同的項目中可能會被交替使用。 但它們都是指 x86 AMD/英特爾架構的 64 位“版本”。無論如何,x86_64 這個字符串比 x86 和 amd64 使用得更廣泛(也更受歡迎)。例如,F(xiàn)reeBSD 項目稱 64 位的 x86 架構為 amd64,而 Linux 和 macOS 則稱之為 x86_64

?? 由于 AMD 在創(chuàng)造 64 位 ISA 上超越了英特爾,所以一些項目(比如 FreeBSD)把 x86 的 64 位版本稱為 amd64。但更被廣泛接受的術語還是 x86_64。

對于 CPU ISA,“x86” 這個字符串是一種特殊的情況。你要知道,在從 32 位的 x86(i386)到 64 位的 x86(x86_64)的過渡過程中,CPU 制造商確保了 CPU 能夠運行 32 位 和 64 位指令。所以,有時你可能會看到 x86 也被用來意指“這款產(chǎn)品只能運行在 64 位的計算機上,但如果該計算機能運行 32 位指令,那么你也可以在它上面運行 32 位的用戶軟件”。

這種 x86 的模糊性——也就是諸如能同時運行 32 位代碼的 64 位處理器——其主要用于和存在于運行在 64 位處理器上的,但是允許用戶運行 32 位軟件的操作系統(tǒng),Windows 就通過這種被稱作“兼容模式”的特性運用了這種方式。

匯總一下,由 AMD 和 英特爾 設計的 CPU 有兩種架構:32 位的(i386)和 64 位的(x86_84)。

其它的英特爾

x86_64 ISA 實際上有幾個子集。這些子集都是 64 位,但它們新添加了諸如 SIMD(單指令多數(shù)據(jù)Single Instruction Multiple Data)指令等功能。

  • x86_64-v1:這是大多數(shù)人都熟知的基礎 x86_64 ISA。當人們談論 x86_64 時,他們通常指的就是 x86_64-v1 ISA。
  • x86_64-v2:此版本新增了更多如 SSE3(流式 SIMD 擴展版本 3Streaming SIMD Extensions 3)之類的指令擴展。
  • x86_64-v3:除了基礎指令外,還新增了像 AVX(高級矢量擴展Advance Vector eXtensions)和 AVX2 等指令。這些指令可以使用高達 256 位寬的 CPU 寄存器!如果你能夠有效利用它們,就能大規(guī)模并行處理計算任務。
  • x86_64-v4:這個版本在 x86_64-v3 ISA 的基礎上,迭代了更多的 SIMD 指令擴展,比如 AVX256 和 AVX512。其中,AVX512 可以使用高達 512 位寬的 CPU 寄存器!

ARM

ARM 不僅是一家為 CPU ISA 制定規(guī)范的公司,它也設計并授權給其他廠商使用其 CPU 內(nèi)核,甚至允許其他公司使用 ARM CPU ISA 設計自己的 CPU 內(nèi)核。(最后那句話聽起來就像是個 SQL 查詢似的!)

你可能因為如樹莓派這類的 單板計算機Single Board Computer)(SBC)聽說過 ARM。但其實 ARM 的 CPU 還廣泛應用于手機中。最近,蘋果從使用 x86_64 處理器轉向了在其筆記本和臺式機產(chǎn)品中使用自家設計的 ARM 處理器。

就像任一種 CPU 架構一樣,ARM 基于內(nèi)存總線寬度也有兩個子集。

官方認定的 32 位和 64 位 ARM 架構的名稱分別是 AArch32 和 AArch64。這里的 AArch 字符串代表 “Arm 架構Arm Architecture”。這些是 CPU 執(zhí)行指令時可切換的模式。

實際符合 ARM 的 CPU ISA 的指令規(guī)范被命名為 ARMvX,其中 X 是規(guī)范版本的代表數(shù)字。目前為止,已經(jīng)有九個主要的規(guī)范版本。規(guī)范 ARMv1 到 ARMv7 定義了適用于 32 位 CPU 的架構,而 ARMv8 和 ARMv9 是適用于 64 位 ARM CPU 的規(guī)范。(更多信息在此

?? 每個 ARM CPU 規(guī)范又有進一步的子規(guī)范。例如 ARMv8,我們有 ARMv8-R、ARMv8-A、ARMv8.1-A、ARMv8.2-A、ARMv8.3-A、ARMv8.4-A、ARMv8.5-A、ARMv8.6-A、ARMv8.7-A、ARMv8.8-A 和 ARMv8.9-A。 其中 -A 表示“應用核心”,-R 表示“實時核心”。

你可能會覺得困惑,為什么在 AArch64 正式被 ARM 認定為 64 位 ARM 架構后,有些人仍然稱其為 arm64。原因主要有兩點:

  1. arm64 這個名稱在 ARM 決定采用 AArch64 之前就已經(jīng)廣為人知了。(ARM 的一些官方文檔也將 64 位的 ARM 架構稱為 arm64…… ??)
  2. Linus Torvalds 對 AArch64 因此,Linux 的代碼庫主要將 AArch64 稱為 arm64。然而,當你在系統(tǒng)中運行 uname -m 時,輸出仍然是 aarch64

因此,對于 32 位 ARM CPU,你應該尋找 AArch32 這個字符串,但有時也可能是 arm 或 armv7。相似的,對于 64 位 ARM CPU,你應該找 AArch64 這個字符串,但有時也可能會是 arm64ARMv8 或 ARMv9。

RISC-V

RISC-V 是 CPU 指令集架構(ISA)的一個開源規(guī)范。**但這并不意味著 CPU 自身是開源的!**這有點像以太網(wǎng)的情況。以太網(wǎng)規(guī)范是開源的,但你需付費購買網(wǎng)線、路由器和交換器。同樣,RISC-V CPU 也要花錢購買。 ??

盡管如此,這并沒有阻止人們創(chuàng)建并在開源許可下提供免費獲?。?strong>設計上的獲取,并非物理核心/SoC)的 RISC-V 核心。這是其中的一項嘗試。

?? 總結一下:如果你在尋找運行于 RISC-V 消費級 CPU 上的軟件,你應該尋找 “rv64gc” 這一字符串。這是許多 Linux 發(fā)行版所公認的。

像所有 CPU 架構一樣,RISC-V 擁有 32 位和 64 位 CPU 架構。但由于 RISC-V 是非常新的描述 CPU ISA 的方式,大部分主流消費端或客戶端的 CPU 核心一般都是 64 位的。大部分 32 位的設計都是微控制器,用于非常具體的用例。

它們的區(qū)別在于 CPU 的擴展。被稱為 RISC-V CPU 的最低要求即實現(xiàn)“基本整數(shù)指令集Base Integer Instruction Set”(rv64i)。

下表列出了一些擴展及其描述:

擴展名稱

描述

rv64i

64 位基本整數(shù)指令集(必須的

m

乘法和除法指令

a

原子指令

f

單精度浮點指令

d

雙精度浮點指令

g

別名;一組運行通用操作系統(tǒng)所需的擴展集(包括 imafd

c

壓縮指令

在 rv64i 這一字符串中,rv 表示 RISC-V,64 指的是 64 位 CPU 架構,而 i 指的是強制性的基本整數(shù)指令集擴展。 rv64i 之所以是一體的,因為即使 i 被認為是一種“擴展”,但它是必須的。

約定俗成的,擴展名稱按上述特定順序排列。因此,rv64g 展開為 rv64imafd,而不是 rv64adfim。

?? 還有其他一些像 Zicsr 和 Zifencei 這樣的擴展,它們位于 d 和 g 擴展之間,但我故意不列出,以避免令你感到害怕。

因此,嚴格說來,(在寫這篇文章的時候)rv64g 實際上是 rv64imafdZicsrZifencei。惡魔般的笑聲

PowerPC

PowerPC 曾是蘋果、IBM 以及,摩托羅拉早期合作時代的一種流行 CPU 架構。在蘋果轉向英特爾的 x86 架構之前,它一直被應用于蘋果的全部消費品產(chǎn)品線。

最初,PowerPC 采取的是大端字節(jié)序的內(nèi)存排序。后來隨著 64 位架構的引入,增加了使用小端字節(jié)排序的選項。這么做的目的是為了與英特爾的內(nèi)存排序保持兼容(以防止軟件錯誤),因為英特爾自始至終都一直采用的是小端字節(jié)序。有關字節(jié)序的更多內(nèi)容,我可以嘮叨很久,不過你可以通過閱讀 這篇 Mozilla 的文檔 來了解更多。

由于字節(jié)序在此也起到了一定的作用,PowerPC 共有三種架構:

  • powerpc:表示 32 位的 PowerPC 架構。
  • ppc64:表示擁有大端字節(jié)序內(nèi)存排序的 64 位 PowerPC 架構。
  • ppc64le:表示擁有小端字節(jié)序內(nèi)存排序的 64 位 PowerPC 架構。

目前,ppc64le 是被廣泛使用的架構。

結論

市面上有各種各樣的 CPU 架構。對于每一種架構,都有 32 位和 64 位的子集。在現(xiàn)有的 CPU 中,我們可以找到 x86、ARM、RISC-V 和 PowerPC 等架構。

其中,x86 是最廣泛和易于獲取的 CPU 架構,因為英特爾和 AMD 都采取了這種架構。此外,ARM 提供的產(chǎn)品幾乎在手機和易于獲取的單板計算機中被獨占使用。

RISC-V 正在努力使硬件更廣泛地被使用。我就有一款帶有 RISC-V CPU 的單板計算機。 ??

而 PowerPC 主要用于服務器,至少當前如此。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2014-03-14 09:58:49

服務器ARMx86

2009-06-25 09:03:42

Linux

2021-06-07 15:20:22

Linux X861MB內(nèi)存BIOS

2011-08-15 14:13:05

x86小型機

2009-06-12 09:10:35

Windows 7微軟下載

2020-09-25 08:19:51

SecOps vs D

2011-12-01 11:09:48

AMDx86服務器英特爾

2014-10-10 14:18:58

2011-08-24 15:55:04

2017-07-31 08:20:03

AMD ThreadrIntelCore X

2022-06-09 12:45:42

WWDC蘋果MacOS 13

2011-08-16 11:28:43

x86小型機服務器

2023-02-22 09:53:55

架構芯片

2013-03-19 10:27:43

服務器選型x86小型機

2013-03-08 10:36:25

XEN虛擬機 CentOS 5.8

2019-08-27 11:18:37

云計算云存儲云備份

2020-03-03 14:10:08

云網(wǎng)絡云計算

2020-05-06 14:19:53

大數(shù)據(jù)數(shù)據(jù)科學機器學習

2012-10-30 13:43:52

AMDx86ARM架構

2011-08-19 09:06:17

Ubuntu 11.0Windows 7Mac OS X 10
點贊
收藏

51CTO技術棧公眾號