cpu指令由什么組成
中央處理器稱為CPU(Control Processing Unit),它主要由控制器和運算器組成,是計算機的核心部件。下面是學(xué)習(xí)啦小編給大家整理的一些有關(guān)cpu指令的組成,希望對大家有幫助!
cpu指令的組成簡單介紹
CPU指令集:MMX SSE SSE2 SSE3 3DNow! AMD64 EM64T
MMX:MMX(Multi Media eXtension 多媒體擴展指令)指令集是Intel公司在1996年為旗下的Pentium系列處理器所開發(fā)的一項多媒體指令增強技術(shù)。MMX指令集中包括了57條多媒體指令,通過這些指令可以一次性處理多個數(shù)據(jù),在處理結(jié)果超過實際處理能力的時候仍能夠進行正常處理,如果在軟件的配合下,可以得到更強的處理性能。
使用MMX指令集的好處就是當(dāng)時所使用的操作系統(tǒng)可以在不做任何改變的情況下執(zhí)行MMX指令。但是,MMX指令集的問題也是比較明顯的,MMX指令集不能與X86的浮點運算指令同時執(zhí)行,必須做密集式的交錯切換才可以正常執(zhí)行,但是這樣一來,就會造成整個系統(tǒng)運行速度的下降。
SSE:SSE是Streaming SIMD Extension(SIMD擴展指令集)的縮寫,而其中SIMD的為含意為Single Istruction Multiple Data(單指令多數(shù)據(jù)),所以SSE指令集也叫單指令多數(shù)據(jù)流擴展。該指令集最先運用于Intel的Pentium III系列處理器,其實在Pentium III推出之前,Intel方面就已經(jīng)泄漏過關(guān)于KNI(Katmai New Instruction)指令集的消息。這個KNI指令集也就是SSE指令集的前身,當(dāng)時也有不少的媒體將該指令集稱之為MMX2指令集,但是Intel方面卻從沒有發(fā)布有關(guān)MMX2指令集的消息。
最后在Intel推出Pentium III處理器的時候,SSE指令集也終于水落石出。SSE指令集是為提高處理器浮點性能而開發(fā)的擴展指令集,它共有70條指令,其中包含提高3D圖形運算效率的50條SIMD浮點運算指令、12條MMX 整數(shù)運算增強指令、8條優(yōu)化內(nèi)存中的連續(xù)數(shù)據(jù)塊傳輸指令。理論上這些指令對當(dāng)時流行的圖像處理、浮點運算、3D運算、多媒體處理等眾多多媒體的應(yīng)用能力起到全面提升的作用。
SSE指令與AMD公司的3DNow!指令彼此互不兼容,但SSE包含了3DNow!中的絕大部分功能,只是實現(xiàn)的方法不同而已。SSE也向下兼容MMX指令,它可以通過SIMD和單時鐘周期并行處理多個浮點數(shù)據(jù)來有效地提高浮點運算速度。
3DNow!:3DNow!指令集最由AMD公司所推出的,該指令集應(yīng)該是在SSE指令之前推出的,被廣泛運用于AMD的K6、K6-2和K7系列處理器上,擁有21條擴展指令集。在整體上3DNow!的SSE非常相相似,它們都擁有8個新的寄存器,但是3DNow!是64位的,而SSE是128位。所以3DNow!它只能存儲兩個浮點數(shù)據(jù),而不是四個。
但是它和SSE的側(cè)重點有所不同,3DNow!指令集主要針對三維建模、坐標(biāo)變換和效果渲染等3D數(shù)據(jù)的處理,在相應(yīng)的軟件配合下,可以大幅度提高處理器的3D處理性能。AMD公司后來又在Athlon系列處理器上開發(fā)了新的Enhanced 3DNow!指令集,新的增強指令數(shù)達(dá)了52個,以致目前最為流行的Athlon 64系列處理器還是支持3DNow!指令的。
SSE2:在PentiumIII發(fā)布的時候,SSE指令集就已經(jīng)集成在了處理器的內(nèi)部,但因為各種原因一直沒有得到充分的發(fā)展。直到Pentium 4發(fā)布之后,開發(fā)人員看到使用SSE指令之后,程序執(zhí)行性能將得到極大的提升,于是Intel又在SSE的基礎(chǔ)上推出了更先進的SSE2指令集。
SSE2包含了144條指令,由兩個部分組成:SSE部分和MMX部分。SSE部分主要負(fù)責(zé)處理浮點數(shù),而MMX部分則專門計算整數(shù)。SSE2的寄存器容量是MMX寄存器的兩倍,寄存器存儲數(shù)據(jù)也增加了兩倍。在指令處理速度保持不變的情況下,通過SSE2優(yōu)化后的程序和軟件運行速度也能夠提高兩倍。由于SSE2指令集與MMX指令集相兼容,因此被MMX優(yōu)化過的程序很容易被SSE2再進行更深層次的優(yōu)化,達(dá)到更好的運行效果。
SSE2對于處理器的性能的提升是十分明顯的,雖然在同頻率的情況下,Pentium 4和性能不如Athlon XP,但由于Athlon XP不支持SSE2,所以經(jīng)過SSE2優(yōu)化后的程序Pentium 4的運行速度要明顯高于Athlon XP。而AMD方面也注意到了這一情況,在隨后的K-8系列處理器中,都加入SSE2指令集。
SSE3:SSE3指令是目前規(guī)模最小的指令集,它只有13條指令。它共劃分為五個應(yīng)運層,分別為數(shù)據(jù)傳輸命令、數(shù)據(jù)處理命令、特殊處理命令、優(yōu)化命令、超線程性能增強五個部分,其中超線程性能增強是一種全新的指令集,它可以提升處理器的超線程的處理能力,大大簡化了超線程的數(shù)據(jù)處理過程,使處理器能夠更加快速的進行并行數(shù)據(jù)處理。 上面介紹的基本上就是Intel和AMD公司在X86架構(gòu)處理器上主要的擴展指令集,雖然它們對于處理器的性能提升有著一定程度的幫助,但是由于受到IA-32體系的限制,X86架構(gòu)基本上不會再有具有革命性意義的指令集出現(xiàn),而雙方都已經(jīng)把重心轉(zhuǎn)向了64位體系架構(gòu)的處理器指令集開發(fā)上。
AMD64:AMD的athlon 64系列處理器的64位技術(shù)是在X86指令集的基礎(chǔ)上加入了X86-64的64位擴展X86指令集,這就使得athlon 64系列處理器可兼容原來的32位的X86軟件,并同時支持X86-64的擴展64位計算,并且具有64位的尋址能力,使得它成為真正的64位X86構(gòu)架處理器。在采用X86-64架構(gòu)的Athlon 64處理器中,X86-64指令集中新增了幾組處理器寄存器,它能夠提供更加快速的執(zhí)行效率。
寄存器是處理器用來創(chuàng)建和儲存CPU運算結(jié)果和其他運算結(jié)果的地方,標(biāo)準(zhǔn)的X86構(gòu)架中包括8組通用寄存器,而在AMD的X86-64架構(gòu)中又增加了8組,將通過寄存器的數(shù)目提高到了16組。在這基礎(chǔ)之上,X86-64指令集還另外增加了8組128位的XMM寄存器,也叫做SSE寄存器。
它能夠給單指令多數(shù)據(jù)流技術(shù)(SIMD)運算提供更多的存儲空間,這些128位的寄存器能夠提供在矢量和標(biāo)量計算模式下進行128位雙精度處理,這也為3D數(shù)據(jù)處理、矢量分析和虛擬技術(shù)提供了良好的硬件基礎(chǔ)。由于提供了更多的寄存器,按照X86-64標(biāo)準(zhǔn)生產(chǎn)的處理器可以更有效率的處理數(shù)據(jù),在一個時鐘周期內(nèi)能夠傳輸更多的信息。
EM64T :EM64T(Extended Memory 64 Technology)也就是Intel公司開發(fā)的64位內(nèi)存擴展技術(shù)。它實際上就是Intel IA-32構(gòu)架體系的擴展,即IA-32E(Intel Architectur-32 Extension)。Intel的IA-32處理器通過加入EM64T技術(shù)便可在兼容IA-32軟件的情況下,允許軟件程序利用更多的內(nèi)存地址空間,并且允許程序進行32 位線性地址寫入。
看了“cpu指令由什么組成”的人還看了
8.路由器有什么組成
9.cpu指的是什么
10.cpu由什么和什么組成