日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【整理】SIMD、MMX、SSE、AVX、3D Now!、neon——指令集大全

發(fā)布時(shí)間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【整理】SIMD、MMX、SSE、AVX、3D Now!、neon——指令集大全 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://blog.csdn.net/conowen/article/details/7255920


SIMD

SIMD單指令流多數(shù)據(jù)流(SingleInstruction Multiple Data,SIMD)是一種采用一個(gè)控制器來(lái)控制多個(gè)處理器,同時(shí)對(duì)一組數(shù)據(jù)(又稱“數(shù)據(jù)向量”)中的每一個(gè)分別執(zhí)行相同的操作從而實(shí)現(xiàn)空間上的并行性的技術(shù)。在微處理器中,單指令流多數(shù)據(jù)流技術(shù)則是一個(gè)控制器控制多個(gè)平行的處理微元,例如Intel的MMX或SSE以及AMD的3D Now!技術(shù)。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

MMX是由英特爾開(kāi)發(fā)的一種SIMD多媒體指令集,共有57條指令。它于1996年集成在英特爾奔騰 (Pentium) MMX處理器上,以提高其多媒體數(shù)據(jù)的處理能力。

其優(yōu)點(diǎn)是增加了處理器關(guān)于多媒體方面的處理能力,缺點(diǎn)是占用浮點(diǎn)數(shù)寄存器進(jìn)行運(yùn)算(64位MMX寄存器實(shí)際上就是浮點(diǎn)數(shù)寄存器的別名)以至于MMX指令和浮點(diǎn)數(shù)操作不能同時(shí)工作。為了減少在MMX和浮點(diǎn)數(shù)模式切換之間所消耗的時(shí)間,程序員們盡可能減少模式切換的次數(shù),也就是說(shuō),這兩種操作在應(yīng)用上是互斥的。后來(lái)英特爾在此基礎(chǔ)上發(fā)展出SSE指令集;AMD在此基礎(chǔ)上發(fā)展出3DNow!指令集。現(xiàn)在新開(kāi)發(fā)的程序不再僅使用MMX來(lái)優(yōu)化軟件執(zhí)行效能,而是改使用如SSE、3DNOW!等更容易優(yōu)化效能的新一代多媒體指令集,不過(guò)目前的處理器仍可以執(zhí)行針對(duì)MMX優(yōu)化的較早期軟件。

技術(shù)細(xì)節(jié)

MMX 寄存器,稱作MM0到MM7,實(shí)際上就是處理器內(nèi)部80比特字長(zhǎng)的浮點(diǎn)寄存器棧st(0)到st(7)的尾數(shù)部分(64比特長(zhǎng))的復(fù)用。由于 浮點(diǎn)棧寄存器的高16位未被MMX技術(shù)使用,因此這16位都置為1,因此從棧寄存器的角度看,其浮點(diǎn)值為NaN或Infinities,這可用于區(qū)分寄存 器是處于浮點(diǎn)棧狀態(tài)還是MMX狀態(tài). 作為MMX寄存器都是直接訪問(wèn)。利用了裝配數(shù)據(jù)類型(packed data type)的概念,每個(gè)MMX寄存器的64比特字長(zhǎng)可以看作是2個(gè)32位整數(shù)、或者4個(gè)16位整數(shù)、或者8個(gè)8位整數(shù),從而可以執(zhí)行整數(shù)SIMD運(yùn)算。這 對(duì)于1990年代中期的2D、3D計(jì)算的加速還是很有意義的,因?yàn)楫?dāng)時(shí)的計(jì)算機(jī)的圖形處理器(GPU)還很不發(fā)達(dá)。但現(xiàn)在MMX整數(shù)SIMD運(yùn)算對(duì)于圖形運(yùn)算來(lái)說(shuō)是多余的技術(shù)了。不過(guò)MMX的飽和算術(shù)運(yùn)算(saturationarithmeticoperations)對(duì)于一些數(shù)字信號(hào)處理應(yīng)用還是有用的。

SIMD技術(shù)的發(fā)展

繼 MMX技術(shù)之后,Intel又于1999年在Pentium-III處理器上推出SSE技術(shù),引入了新的128比特寬的寄存器集 (register file),稱作XMM0到XMM7。這些XMM寄存器用于4個(gè)單精度浮點(diǎn)數(shù)運(yùn)算的SIMD執(zhí)行,并可以與MMX整數(shù)運(yùn)算或x87浮點(diǎn)運(yùn)算混合執(zhí)行。 2001年在Pentium 4上引入了SSE2技術(shù),進(jìn)一步擴(kuò)展了指令集,使得XMM寄存器上可以執(zhí)行8/16/32位寬的整數(shù)SIMD運(yùn)算或雙精度浮點(diǎn)數(shù)的SIMD運(yùn)算。這使得 SIMD技術(shù)基本完善。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

SSE

SSE(Streaming SIMD Extensions)是英特爾在AMD的3DNow!發(fā)布一年之后,在其計(jì)算機(jī)芯片Pentium III中引入的指令集,是繼MMX的擴(kuò)充指令集。SSE 指令集提供了 70 條新指令。AMD后來(lái)在Athlon XP中加入了對(duì)這個(gè)新指令集的支持。

目錄

?[隱藏]?

  • 1 SSE 的緩存器
  • 2 SSE 指令表
    • 2.1 浮點(diǎn)指令
    • 2.2 整數(shù)指令
    • 2.3 其他指令
  • 3 后續(xù)版本
    • 3.1 SSE2
    • 3.2 SSE3
    • 3.3 SSSE3
    • 3.4 SSE4
    • 3.5 SSE5
    • 3.6 AVX
    • 3.7 FMA
  • 4 參見(jiàn)

SSE的緩存器

SSE 加入新的 8 個(gè) 128 位緩存器(XMM0~XMM7)。而 AMD 發(fā)表的x86-64延伸架構(gòu)《又稱 AMD64》再加入額外 8 個(gè)緩存器。除此之外還有一個(gè)新的 32 位的控制/狀態(tài)緩存器(MXCSR)。不過(guò)只能在 64 位的模式下才能使用額外 8 個(gè)緩存器。

每 個(gè)緩存器可以容納 4 個(gè) 32 位單精度浮點(diǎn)數(shù),或是2 個(gè) 64 位雙精度浮點(diǎn)數(shù),或是 4 個(gè) 32 位整數(shù),或是 8 個(gè) 16 位短整數(shù),或是 16 個(gè)字符。整數(shù)運(yùn)算能夠使用正負(fù)號(hào)運(yùn)算。而整數(shù) SIMD 運(yùn)算可能仍然要與 8 個(gè) 64 位 MMX 緩存器一起執(zhí)行。

因?yàn)椴僮飨到y(tǒng)必須要在進(jìn)程切換的時(shí)候保護(hù)這些 128 位的緩存器狀態(tài),除非操作系統(tǒng)去啟動(dòng)這些緩存器,否則默認(rèn)值是不會(huì)去啟用的。這表示操作系統(tǒng)必須要知道如何使用 FXSAVE 與 FXRSTOR 指令才能儲(chǔ)存 x87 與 SSE 緩存器的狀態(tài)。而在當(dāng)時(shí) IA-32 的主流操作系統(tǒng)很快的都加入了此功能。

由于 SSE 加入了浮點(diǎn)支持,SSE 就比MMX 更加常用。而 SSE2 加入了整數(shù)運(yùn)算支持之后讓SSE 更加的有彈性,當(dāng) MMX 變成是多余的指令集,SSE 指令集甚至可以與 MMX 并行運(yùn)作,在某些時(shí)候可以提供額外的性能增進(jìn)。

第一個(gè)支持 SSE 的 CPU 是 Pentium III,在FPU 與SSE 之間共享執(zhí)行支持。當(dāng)編譯出來(lái)的軟件能夠交叉的同時(shí)以 FPU 與 SSE 運(yùn)作,Pentium III 并無(wú)法在同一個(gè)周期中同時(shí)執(zhí)行 FPU 與 SSE。這個(gè)限制降低了指令管線的有效性,不過(guò) XMM 緩存器能夠讓 SIMD 與純量浮點(diǎn)運(yùn)算混合執(zhí)行,而不會(huì)因?yàn)榍袚Q MMX/浮點(diǎn)模式而產(chǎn)生性能的折損。

SSE指令表

SSE 提供純量與包裹式(packed)浮點(diǎn)指令。

浮點(diǎn)指令

  • 內(nèi)存到緩存器/緩存器到內(nèi)存/緩存器之間的數(shù)據(jù)搬移
    • 純量 – MOVSS
    • 包裹式 – MOVAPS, MOVUPS, MOVLPS, MOVHPS, MOVLHPS, MOVHLPS
  • 數(shù)學(xué)運(yùn)算
    • 純量 – ADDSS, SUBSS, MULSS, DIVSS, RCPSS, SQRTSS, MAXSS, MINSS, RSQRTSS
    • 包裹式 – ADDPS, SUBPS, MULPS, DIVPS, RCPPS, SQRTPS, MAXPS, MINPS, RSQRTPS
  • 比較
    • 純量 – CMPSS, COMISS, UCOMISS
    • 包裹式 – CMPPS
  • 資料拆包(unpack)與隨機(jī)搬移(shuffle)
    • 包裹式 – SHUFPS, UNPCKHPS, UNPCKLPS
  • 數(shù)據(jù)型態(tài)轉(zhuǎn)換
    • 純量 – CVTSI2SS, CVTSS2SI, CVTTSS2SI
    • 包裹式 – CVTPI2PS, CVTPS2PI, CVTTPS2PI
  • 逐位邏輯運(yùn)算
    • 包裹式 – ANDPS, ORPS, XORPS, ANDNPS

整數(shù)指令

  • 數(shù)學(xué)運(yùn)算
    • PMULHUW, PSADBW, PAVGB, PAVGW, PMAXUB, PMINUB, PMAXSW, PMINSW
  • 數(shù)據(jù)搬移
    • PEXTRW, PINSRW
  • 其他
    • PMOVMSKB, PSHUFW

其他指令

  • MXCSR 管理
    • LDMXCSR, STMXCSR
  • 快取與內(nèi)存管理
    • MOVNTQ, MOVNTPS, MASKMOVQ, PREFETCH0, PREFETCH1, PREFETCH2, PREFETCHNTA, SFENCE

后續(xù)版本

SSE2

SSE2是 Intel在Pentium 4處理器的最初版本中引入的,但是AMD后來(lái)在Opteron 和Athlon64處理器中也加入了SSE2的支持。SSE2指令集添加了對(duì)64位雙精度浮點(diǎn)數(shù)的支持,以及對(duì)整型數(shù)據(jù)的支持,也就是說(shuō)這個(gè)指令集中所有的MMX指令都是多余的了,同時(shí)也避免了占用浮點(diǎn)數(shù)寄存器。這個(gè)指令集還增加了對(duì)CPU快取的控制指令。AMD對(duì)它的擴(kuò)展增加了8個(gè)XMM寄存器,但是需要切換到64位 模式(x86-64/AMD64)才可以使用這些寄存器。Intel后來(lái)在其Intel 64架構(gòu)中也增加了對(duì)x86-64的支持。

SSE3

SSE3是 Intel在Pentium 4處理器的 Prescott 核心中引入的第三代SIMD指令集,AMD在Athlon64的第五個(gè)版本,Venice核心中也加入了SSE3的支持。這個(gè)指令集擴(kuò)展的指令包含寄存器的局部位之間的運(yùn)算,例如高位和低位之間的加減運(yùn)算;浮點(diǎn)數(shù)到整數(shù)的轉(zhuǎn)換,以及對(duì)超線程技術(shù)的支持。

SSSE3

SSSE3是Intel針對(duì)SSE3指令集的一次額外擴(kuò)充,最早內(nèi)建于Core2 Duo處理器中。

SSE4

SSE4是Intel在Penryn核心的Core 2 Duo與Core2 Solo處理器時(shí),新增的47條新多媒體指令集,并且現(xiàn)在更新至SSE4.2。AMD也開(kāi)發(fā)了屬于自己的SSE4a多媒體指令集,并內(nèi)建在Phenom與Opteron等K10架構(gòu)處理器中,不過(guò)無(wú)法與Intel的SSE4系列指令集兼容。

SSE5

SSE5是AMD為了打破Intel壟斷在處理器指令集的獨(dú)霸地位所提出的,SSE5初期規(guī)劃將加入超過(guò)100條新指令,其中最引人注目的就是三操作數(shù)指令(3-OperandInstructions)及熔合乘法累積(Fused Multiply Accumulate)。其中,三操作數(shù)指令讓處理器可將一個(gè)數(shù)學(xué)或邏輯函式庫(kù),套用到操作數(shù)或輸入數(shù)據(jù)。藉由增加操作數(shù)的數(shù)量,一個(gè) x86 指令能處理二至三筆數(shù)據(jù), SSE5 允許將多個(gè)簡(jiǎn)單指令匯整成一個(gè)指令,達(dá)到更有效率的指令處理模式。提升為三運(yùn)算指令的運(yùn)算能力,是少數(shù)RISC架構(gòu) 的水平。熔合乘法累積讓允許建立新的指令,有效率地執(zhí)行各種復(fù)雜的運(yùn)算。熔合乘法累積可結(jié)合乘法與加法運(yùn)算,透過(guò)單一指令執(zhí)行多筆重復(fù)計(jì)算。透過(guò)簡(jiǎn)化程序碼,讓系統(tǒng)能迅速執(zhí)行繪圖著色、快速相片著色、音場(chǎng)音效,以及復(fù)雜向量演算等效能密集的應(yīng)用作業(yè)。目前AMD已放棄下一代Bulldozer核心內(nèi)建SSE5指令集,改內(nèi)建Intel授權(quán)SSE4系列指令集。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

AVX

  是Sandy Bridge和Larrabee架構(gòu)新指令集  Intel的微架構(gòu)也進(jìn)入了全速發(fā)展的時(shí)期,在2010年4月結(jié)束的IDF峰會(huì)上Intel公司就發(fā)布了2010年的RoadMap。2011年1月Intel發(fā)布全新的處理器微架構(gòu)Sandy Bridge,其中全新增加的指令集也將帶來(lái)CPU性能的提升。

??????? AVX(Advanced Vector Extensions) 是Intel的SSE延伸架構(gòu),如IA16至IA32般的把緩存器XMM 128bit提升至YMM 256bit,以增加一倍的運(yùn)算效率。此架構(gòu)支持了三運(yùn)算指令(3-Operand Instructions),減少在編碼上需要先復(fù)制才能運(yùn)算的動(dòng)作。在微碼部分使用了LES LDS這兩少用的指令作為延伸指令Prefix。

FMA

  • FMA是Intel的AVX擴(kuò)充指令集,如名稱上熔合乘法累積(Fused Multiply Accumulate)的意思一樣。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

3DNow!

3DNow!(據(jù)稱是“3D No Waiting!”的縮寫)是由AMD開(kāi)發(fā)的一套SIMD多媒體指令集,支持單精度浮點(diǎn)數(shù)的矢量運(yùn)算,用于增強(qiáng)x86架構(gòu)的計(jì)算機(jī)在三維圖像處理上的性能。

目錄

?[隱藏]?

  • 1 歷史
  • 2 支持檢測(cè)
  • 3 執(zhí)行環(huán)境
  • 4 3DNow!指令集
    • 4.1 單精度浮點(diǎn)運(yùn)算指令
    • 4.2 增強(qiáng)的MMX指令
    • 4.3 數(shù)據(jù)類型轉(zhuǎn)換指令
    • 4.4 數(shù)據(jù)預(yù)取指令
    • 4.5 快速退出MMX狀態(tài)指令
  • 5 外部鏈接

歷史

1996年Intel首先推出了支持MMX的Pentium處理器,極大地提高了CPU處理多媒體數(shù)據(jù)的能力,被廣泛地應(yīng)用于語(yǔ)音合成、語(yǔ)音識(shí)別、音頻視頻編解碼、圖像處理和串流媒體等領(lǐng)域。但是MMX只支持整數(shù)運(yùn)算,浮點(diǎn)數(shù)運(yùn)算仍然要使用傳統(tǒng)的x87協(xié)處理器指令。由于MMX與x87的寄存器相互重疊,在MMX代碼中插入x87指令時(shí)必須先執(zhí)行EMMS指令清除MMX狀態(tài),頻繁地切換狀態(tài)將嚴(yán)重影響性能。這限制了MMX指令在需要大量浮點(diǎn)運(yùn)算的程序,如三維幾何變換、裁剪和投影中的應(yīng)用。

另一方面,由于x87古怪的堆棧式緩存器結(jié)構(gòu),使得硬件上將其流水線化和軟件上合理調(diào)度指令都很困難,這成為提高x86架構(gòu)浮點(diǎn)性能的一個(gè)瓶頸。

為了解決以上這兩個(gè)問(wèn)題,AMD公司于1998年推出了包含21條指令的3DNow!指令集,并在其K6-2處理器中實(shí)現(xiàn)。K6-2是 第一個(gè)能執(zhí)行浮點(diǎn)SIMD指令的x86處理器,也是第一個(gè)支持水平浮點(diǎn)寄存器模型的x86處理器。借助3DNow!,K6-2實(shí)現(xiàn)了x86處理器上最快的浮點(diǎn)單元,在每個(gè)時(shí)鐘周期內(nèi)最多可得到4個(gè)單精度浮點(diǎn)數(shù)結(jié)果,是傳統(tǒng)x87協(xié)處理器的4倍。許多游戲廠商為3DNow!優(yōu)化了程序,微軟的DirectX 7也為3DNow!做了優(yōu)化,AMD處理器的游戲性能第一次超過(guò)Intel,這大大提升了AMD在消費(fèi)者心目中的地位。K6-2和隨后的K6-III成為市場(chǎng)上的熱門貨。

1999年,隨著Athlon處理器的推出,AMD為3DNow!增加了5條新的指令,用于增強(qiáng)其在DSP方面的性能,它們被稱為“擴(kuò)展3DNow!”(Extended 3DNow!)。

為了對(duì)抗3DNow!,Intel公司于1999年推出了SSE指令集。SSE幾乎能提供3DNow!的所有功能,而且能在一條指令中處理兩倍多的單精度浮點(diǎn)數(shù);同時(shí),SSE完全支持IEEE 754,在處理單精度浮點(diǎn)數(shù)時(shí)可以完全代替x87。這迅速瓦解了3DNow!的優(yōu)勢(shì)。

1999年后,隨著主流操作系統(tǒng)和軟件都開(kāi)始支持SSE并為SSE優(yōu)化,AMD在其2000年發(fā)布的代號(hào)為“Thunderbird”的Athlon處理器中添加了對(duì)SSE的完全支持(“經(jīng)典”的Athlon或K7只支持SSE中與MMX有關(guān)的部分,AMD稱之為“擴(kuò)展MMX”即Extended MMX)。隨后,AMD致力于AMD64架構(gòu)的開(kāi)發(fā);在SIMD指令集方面,AMD跟隨Intel,為自己的處理器添加SSE2和SSE3支持,而不再改進(jìn)3DNow!。

2010年八月,AMD宣布將在新一代處理器中取消除了兩條數(shù)據(jù)預(yù)取指令之外3DNow!指令的支持,并鼓勵(lì)開(kāi)發(fā)者將3DNow!代碼重新用SSE實(shí)現(xiàn)。

支持檢測(cè)

支持3DNow!的CPU的CPUID擴(kuò)展功能字(EAX=80000001h時(shí)執(zhí)行CPUID指令得到的EDX的內(nèi)容)的(從低位到高位)第31位為1。支持?jǐn)U展3DNow!的CPU的CPUID擴(kuò)展功能字的(從低位到高位)第30位為1。

K6-2以后AMD所有的x86處理器都支持3DNow!,包括最新的Athlon 64、Opteron和Sempron處理器;Cyrix等一些其他廠家生產(chǎn)的某些處理器也支持3DNow!;但I(xiàn)ntel生產(chǎn)的所有處理器都不支持3DNow!。

執(zhí)行環(huán)境

3DNow!指令的執(zhí)行環(huán)境與MMX一樣,都是將8個(gè)x87寄存器ST0~ST7的低64位重命名為MMX寄存器MM0~MM7,并依平坦模式進(jìn)行操作(即指令可以任意訪問(wèn)這8個(gè)寄存器中的任何一個(gè)而不必使用堆棧)。

由于3DNow!使用的寄存器與x87寄存器重疊,任務(wù)切換時(shí),保存x87寄存器狀態(tài)的同時(shí)也保存了3DNow!的狀態(tài),所以3DNow!不需要操作系統(tǒng)的額外支持。只要CPU支持3DNow!,含有3DNow!代碼的程序可以在只考慮到x87狀態(tài)的原有的操作系統(tǒng)上不加修改地運(yùn)行。

由于3DNow!依平坦模式訪問(wèn)寄存器,對(duì)3DNow!浮點(diǎn)單元的管線化變得容易,這也利于編譯器生成高效的浮點(diǎn)代碼。

3DNow!指令集

3DNow!和擴(kuò)展3DNow!的26條指令從功能上可以分為以下五類。

單精度浮點(diǎn)運(yùn)算指令

此類指令的操作數(shù)均為64位,其高32位和低32位分別是IEEE754格式的單精度浮點(diǎn)數(shù)。大部分指令一次可接受兩個(gè)這樣的操作數(shù),并得到兩個(gè)單精度浮點(diǎn)數(shù)的結(jié)果。它們的匯編語(yǔ)言助記符都以PF開(kāi)頭。

3DNow!還包含有計(jì)算單精度倒數(shù)和開(kāi)方倒數(shù)的指令,并可以依程序需要,得到12位精度和24位精度的結(jié)果。這些指令一次只能處理一個(gè)單精度浮點(diǎn)數(shù)。

3DNow!的一個(gè)特色是可以將同一寄存器內(nèi)的64位操作數(shù)中的兩個(gè)單精度浮點(diǎn)數(shù)相加或相乘,這在復(fù)數(shù)運(yùn)算和內(nèi)積運(yùn)算中非常有用。Intel直到最近才在SSE3指令集中增加了這項(xiàng)功能,稱之為“水平操作”。

為了保證與舊有操作系統(tǒng)的兼容性,與MMX指令一樣,3DNow!指令不引發(fā)任何算術(shù)異常。3DNow!指令不會(huì)生成也不能正確處理NaN和非規(guī)格化數(shù),也不支持指定舍入模式。因此3DNow!并不是IEEE 754的一個(gè)完整實(shí)現(xiàn),即使是只涉及單精度浮點(diǎn)數(shù)時(shí)也不能完全代替x87。

增強(qiáng)的MMX指令

PAVGUSB用于求64位緊縮字節(jié)(8×8位字節(jié))的平均值,可用于視頻編碼中的像素平均和圖像縮放等。可能是意識(shí)到這個(gè)功能的重要性,Intel在SSE中添加了功能完全相同的PAVGB指令。

PMULHRW則用來(lái)補(bǔ)充MMX指令PMULHW的不足,在緊縮字(4×16位字)相乘時(shí)可以得到比后者更準(zhǔn)確的結(jié)果。Intel直到最近才在SSSE3中增加了功能相似的指令PMULHRSW。

PSWAPD指令用于交換緊縮雙字(2×32位字)中兩個(gè)雙字?jǐn)?shù)據(jù)的位置。

數(shù)據(jù)類型轉(zhuǎn)換指令

PF2ID、PI2FD等4條指令用于完成整數(shù)和單精度浮點(diǎn)數(shù)之間的相互轉(zhuǎn)換。

數(shù)據(jù)預(yù)取指令

PREFETCH/PREFETCHW指令用于把將要使用到的數(shù)據(jù)從主存儲(chǔ)器提前加載快取中,以減少訪問(wèn)主存儲(chǔ)器的指令執(zhí)行時(shí)的延遲。Intel在SSE中添加了類似的PREFETCHTx指令

快速退出MMX狀態(tài)指令

FEMMS指令與MMX中的EMMS功能相同,用于退出MMX狀態(tài)。在K6-2和K6-III處理器中,FEMMS比EMMS更快;在Athlon及更新的處理器中,FEMMS等同于EMMS。

?

?--------------------------------------------------------------------------------------------------------------------------------------------------------------------

?

Neon



ARM??NEON??通用?SIMD?引擎可有效處理當(dāng)前和將來(lái)的多媒體格式,從而改善用戶體驗(yàn)。

NEON 技術(shù)可加速多媒體和信號(hào)處理算法(如視頻編碼/解碼、2D/3D 圖形、游戲、音頻和語(yǔ)音處理、圖像處理技術(shù)、電話和聲音合成),其性能至少為 ARMv5 性能的 3 倍,為?ARMv6?SIMD 性能的 2 倍。

NEON 技術(shù)是通過(guò)干凈方式構(gòu)建的,并可無(wú)縫用于其本身的獨(dú)立管道和寄存器文件。

NEON?技術(shù)是 ARM?Cortex?-A 系列處理器的 128 位 SIMD(單指令多數(shù)據(jù))體系結(jié)構(gòu)擴(kuò)展,旨在為消費(fèi)性多媒體應(yīng)用提供靈活強(qiáng)大的加速功能,從而明顯改善用戶體驗(yàn)。?它具有 32 個(gè)寄存器,64 位寬(是 16 個(gè)寄存器,128 位寬的雙倍視圖。)

NEON 指令可執(zhí)行“打包的 SIMD”處理:

  • 寄存器被視為同一數(shù)據(jù)類型元素矢量
  • 數(shù)據(jù)類型可為:簽名/未簽名的 8 位、16 位、32 位、64 位單精度浮點(diǎn)
  • 指令在所有通道中執(zhí)行同一操作

使用 NEON 技術(shù)的?ARM?Cortex?-A 系列處理器,以及 ARM 的?Mali 多媒體硬件解決方案可用于多媒體應(yīng)用,范圍從智能手機(jī)和移動(dòng)計(jì)算設(shè)備到HDTV。


注:Nvidia Tegra2處理器閹割了Neon協(xié)處理器,視頻能力很雞肋


總結(jié)

以上是生活随笔為你收集整理的【整理】SIMD、MMX、SSE、AVX、3D Now!、neon——指令集大全的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩激情视频一区二区 | 成人精品一区二区三区在线 | 野花视频在线免费观看 | 成熟女人毛片www免费版在线 | 日本中文在线观看 | 三年大全国语中文版免费播放 | 三级第一页 | 国产日产精品一区二区三区 | 有码一区 | 九一av | 六月激情婷婷 | 精品人妻一区二区三区换脸明星 | 91精品毛片| 国产麻豆91视频 | 超碰在线播放97 | 丁香六月欧美 | 蜜桃成熟时李丽珍在线观看 | 国产综合内射日韩久 | 黄大片18满岁 | 可以免费看的毛片 | 亚洲精品久久久久久久久久久 | 亚洲人 女学生 打屁股 得到 | 手机看片日韩 | 91人人澡人人爽人人精品 | 国产精品成人电影在线观看 | 精品国产AV色欲天媒传媒 | 男女调教视频 | 中文字幕一区二区三区免费看 | 神马久久网站 | 久久免费看少妇 | 久久精品区 | 午夜精品久久久久久久91蜜桃 | 手机在线中文字幕 | 丁香六月综合激情 | 国产午夜一区 | 欧美三级午夜理伦三级 | 久久久久久蜜桃一区二区 | 国产一区二区久久 | 性欧美在线视频 | 亚洲激情六月 | 精品久久久久久亚洲精品 | 奇米91| 亚洲精品久久久久久宅男 | 国产精品久久久久久久久久久不卡 | 美女黄色一级 | 在线观看黄色免费网站 | 午夜在线国产 | 国产精品高潮AV无码 | 奴色虐av一区二区三区 | 国产区一区二区三 | 成人午夜免费观看 | 午夜剧场福利社 | 久久久久久av无码免费网站下载 | 久久福利视频导航 | 欧美一区二区在线视频 | 欧美日韩激情在线一区二区三区 | 国产精品不卡一区 | 男女网站视频 | 91中文字幕在线视频 | 国产91精选 | 96精品视频在线观看 | 亚洲欧美激情另类 | 成人高清视频免费观看 | 超碰在线亚洲 | 91成人免费在线视频 | 中文字幕精品一二三四五六七八 | av大片在线| 中文字幕在线视频一区二区 | 欧美 亚洲 视频 | 日韩区一区二 | 成年人午夜免费视频 | 91精品久久久久久粉嫩 | 免费国产a级片 | 精品久久久久久久久久久久久久 | 日本特级毛片 | 日韩经典一区二区 | 亚洲国产欧美在线 | 韩国欧美三级 | 黄色av片三级三级三级免费看 | 日本一区二区在线播放 | 丰满人妻一区二区 | 夜夜爽天天爽 | 国产色吧 | 深夜成人福利视频 | 6996电视影片免费看 | 日本在线一级片 | 日韩欧美一区在线观看 | 亚洲视频在线一区二区 | 欧美透逼视频 | 操操操插插插 | 亚洲人免费视频 | 日韩在线观看中文字幕 | 日韩在线影院 | 久久岛国 | 天天看片天天射 | 日韩一级免费片 | 国产又爽又黄又嫩又猛又粗 | 97久久综合 | 日本极品喷水 |