自從蘋果在iPhone 5s上使用了64位的A7處理器后,手機(jī)處理器的位數(shù)也就自然而然的成為了人們關(guān)注的焦點(diǎn),那到底64位處理器和32位處理器有什么區(qū)別呢?本文將重點(diǎn)介紹一番。
CPU的位是指一次性可處理的數(shù)據(jù)量是多少,1字節(jié)=8位,32位處理器可以一次性處理4個(gè)字節(jié)的數(shù)據(jù)量。依次類推,64位處理器可以一次性處理8個(gè)字節(jié)的數(shù)據(jù)量,比32位處理器的處理速率加快一倍。
為什么64位會(huì)比32位的快,那是因?yàn)槿绻粋€(gè)機(jī)器指令是32位的,那么寄存器是64位就可以一次取兩個(gè)指令,也就相當(dāng)于一個(gè)小孩和一個(gè)大人搶東西吃,小孩一次只能拿四個(gè),而大人則可以拿8個(gè)。
換一種說法,32位跟64位就好比四車道和八車道的區(qū)別,只有你堵成晚高峰的北京才能感受得到。你要是四車道都沒開滿,上了八車道也感覺不到區(qū)別。一般來說跑計(jì)算密集型并且為64位優(yōu)化過的程序才能感受到區(qū)別。
如果說頻率的提升是把一條4車道高速公路的時(shí)速限制從120公里提升到了360公里的話,那么從32位到64位的提升就是將這條提升了3倍時(shí)速限制的高速公路從4車道拓寬到了8車道,也就是說,這條公路的運(yùn)力提升了一倍,這可是質(zhì)的飛躍。
不過計(jì)算機(jī)內(nèi)部表示的數(shù)值是有范圍的,決定性因素在于CPU的寄存器。它是計(jì)算機(jī)處理數(shù)值的最小單元,如果寄存器是32位的,那么他所能表示的數(shù)的范圍最大是2的32次方,即表示的范圍是32個(gè)0到32個(gè)1,(這里不計(jì)較原碼還是補(bǔ)碼或是移碼),如果寄存器是64位的話,顯而易見,表示的范圍是64個(gè)0到64個(gè)。
數(shù)的表示范圍大了,那么其計(jì)算的精確度就提高了。當(dāng)然這要操作系統(tǒng)的支持才行,就像有輛跑車能跑300公里每小時(shí),但是駕駛員只會(huì)開低檔,好的資源被浪費(fèi)了。
另外,相信大家都知道32位系統(tǒng)只能識(shí)別4g內(nèi)存而64位系統(tǒng)可以識(shí)別4g以上內(nèi)存。那是因?yàn)閮?nèi)存是由很多小的單元組成,為了能取得內(nèi)存里面的數(shù)據(jù),需要給把每個(gè)單元編號(hào),就像家庭住址一樣。而作為內(nèi)存的單元編號(hào)是有專門的寄存器存儲(chǔ)(專業(yè)名詞是mar)的,32位系統(tǒng)可以表示的最大地址是2的32次方,一般來說一個(gè)單元是8位的,也就是一個(gè)字節(jié)。合起來就是4g的存儲(chǔ)空間,同樣的64位系統(tǒng)可以表示的單元地址的總數(shù)是2的64方。
64位操作系統(tǒng)跟32位操作系統(tǒng)又有什么區(qū)別?
操作系統(tǒng)其實(shí)也是程序,64位的操作系統(tǒng)使用的是64位的指令,不能安裝在32位機(jī)器上。兩者最大的區(qū)別在于:
1、設(shè)計(jì)初衷不同
64位操作系統(tǒng)的設(shè)計(jì)初衷是為了滿足需要大量內(nèi)存和復(fù)雜浮點(diǎn)數(shù)運(yùn)算的需求,一般用在科學(xué)計(jì)算、人工智能、平面設(shè)計(jì)、視頻處理、3D動(dòng)畫和游戲數(shù)據(jù)庫以及各種網(wǎng)絡(luò)服務(wù)器等領(lǐng)域中。
2、安裝環(huán)境不同
64位操作系統(tǒng)只能安裝在64位CPU的機(jī)器上,同時(shí)需要配合64位的程序才能發(fā)揮最佳性能,32位操作系統(tǒng)既可以安裝在32位CPU的機(jī)器上,也可以安裝在64位CPU的機(jī)器上,但沒啥意義,64位的性能會(huì)被大打折扣。
3、尋址能力不同
32位操作系統(tǒng)最多可以尋址2的32次方即4,294,967,296字節(jié),約4GB內(nèi)存,4GB的內(nèi)存就現(xiàn)在而言在很多服務(wù)端程序上都是不夠用的,而64位操作系統(tǒng)理論上可以尋址2的64次方即18,446,744,073,709,551,616字節(jié)超過1億GB內(nèi)存,但這只是理論上,由于不同架構(gòu)的CPU設(shè)計(jì)不同,所以尋址能力也有錯(cuò)差別。
32位操作系統(tǒng)和64位操作系統(tǒng)下數(shù)據(jù)類型對應(yīng)的字節(jié)大小也是不同的,正常數(shù)據(jù)類型對應(yīng)的字節(jié)數(shù)應(yīng)該是CPU位數(shù)決定的,但實(shí)際上貌似是由編譯器決定的,看下表:

小結(jié)
32位處理器的優(yōu)點(diǎn)唯一值得一提就是它可以與20世紀(jì)末和21世紀(jì)初開發(fā)的所有舊程序兼容。64位處理器可以提升程序的性能,更好的利用64位操作系統(tǒng)的特性。64位的處理器有256TB的虛擬內(nèi)存,其中128TB分配給了用戶空間,另外128TB分配給了內(nèi)核空間(不同架構(gòu)的CPU虛擬內(nèi)存的設(shè)計(jì)大小不同,AMD的x86-64架構(gòu)的CPU只有最低48位才會(huì)在地址轉(zhuǎn)換時(shí)被使用,所以總的虛擬地址空間為2的48次方即256TB,這里涉及到多級(jí)頁表中的四級(jí)頁表,后續(xù)程序喵會(huì)介紹)。
要實(shí)現(xiàn)真正意義上的64位計(jì)算,光有64位的處理器是不行的,還必須得有64位的操作系統(tǒng)以及64位的應(yīng)用軟件才行,三者缺一不可,缺少其中任何一種要素都是無法實(shí)現(xiàn)64位計(jì)算的。在64位處理器方面,Intel和AMD兩大處理器廠商都發(fā)布了多個(gè)系列多種規(guī)格的64位處理器。
-
芯片
+關(guān)注
關(guān)注
459文章
51893瀏覽量
433303 -
寄存器
+關(guān)注
關(guān)注
31文章
5397瀏覽量
122679 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7019瀏覽量
124668
發(fā)布評論請先 登錄
相關(guān)推薦

有沒有64位的CyUSBSerial.dll和CyUSBSerial.lib,官方demo中都是32位的庫,無法在64位程序中運(yùn)行?
DLP2010無法在64位程序中運(yùn)行怎么處理?
液位變送器與液位傳感器的區(qū)別
采集4個(gè)通道,ADS131E08能不能達(dá)到24位64KSPS?
TMS320C645x DSP 64位定時(shí)器用戶指南

gd32vf103 timer內(nèi)部計(jì)數(shù)器是自增的,位寬64位,溢出后是從0開始嗎?
gd32vf103 timer內(nèi)部計(jì)數(shù)器是自增的,位寬64位,溢出后是從0開始嗎?
RV64之64位地址指令
JK觸發(fā)器的置位和復(fù)位有什么區(qū)別
MPU進(jìn)入64位時(shí)代,Microchip推出PIC64系列產(chǎn)品

評論