x86是指intel的開發的一種32位指令集,從386開始時代開始的,一直沿用至今,是一種cisc指令集,所有intel早期的cpu,amd早期的cpu都支援這種指令集,ntel官方文件裡面稱為「ia-32」
x84_64是x86 cpu開始邁向64位的時候,有2選擇:1、向下相容x86。2、完全重新設計指令集,不相容x86。amd搶跑了,比intel率先製造出了商用的相容x86的cpu,amd稱之為amd64,搶了64位pc的第一桶金,得到了使用者的認同。而intel選擇了設計一種不相容x86的全新64為指令集,稱之為ia-64(這玩意似乎就是安騰),但是比amd晚了一步,而且ia-64也挺慘淡的,因為是全新設計的cpu,沒有編譯器,也不支援windows(微軟把intel給忽悠了,承諾了會出安騰版windows server版,但是遲遲拿不出東西)。。。後來不得不在時機落後的情況下也開始支援amd64的指令集,但是換了個名字,叫x86_64,表示是x86指令集的64擴充套件,大概是不願意承認這玩意是amd設計出來的。
也就是說實際上,x86_64,x64,amd64基本上是同乙個東西,我們現在用的intel/amd的桌面級cpu基本上都是x86_64,與之相對的arm,ppc等都不是x86_64。
x86、x86_64主要的區別就是32位和64位的問題,x86中只有8個32位通用暫存器,eax,ebx,ecx,edx, ebp, esp, esi, edi。x86_64把這8個通用暫存器擴充套件成了64位的,並且比x86增加了若干個暫存器(好像增加了8個,變成了總共16個通用暫存器)。同樣的mmx的暫存器的位數和數量也進行了擴充套件。此外cpu擴充套件到64位後也能支援更多的記憶體了,等等許多好處。
對於普通程式來說,cpu位數的擴充套件、暫存器數量的增加不會帶來明顯的效能提公升,比如ie瀏覽器、office辦公這類的軟體。特定的程式很能夠充分利用64位cpu、更多的暫存器帶來的優勢,比如mmx除了能提公升多**程式的效能,對矩陣、多項式、向量計算都能帶來提公升,更多的mmx暫存器、更大的暫存器字長都有利於simd指令的執行,能夠提公升cpu對資料的吞吐量(risc指令集的cpu動不動就有數百個暫存器,可以有效的快取中間計算結果,不需要把中間結果寫入記憶體,從而減少記憶體訪問次數,顯著提公升效能)
X86和X86 64和AMD64的由來
為什麼叫x86和x86 64和amd64 為什麼大家叫x86為32位系統呢 相信大家在大學裡面有很多人都玩過8086 微處理器 這是乙個可程式設計的系統,他是由intel開發的,英特爾出了劃時代的8086之後,後來使用該架構出了80286 80386等等,這一系列cpu就稱作x86,正式一點稱作ia...
linux版本資訊以及x86與x86 64的區別
一。檢視核心版本命令 1 root sor sys cat proc version linux version 2.6.18 238.el5 mockbuild x86 012.build.bos.redhat.com gcc version 4.1.2 20080704 red hat 4.1....
boost 分別編譯x86和x64的庫
2.vs2015開發人員命令提示中執行bootstrap.bat 3.x86安裝則輸入命令 b2.exe prefix d boost x86 build type complete build dir build tmp toolset msvc 14.0 address model 32 ins...