電子發(fā)燒友網(wǎng)12月“處理器與DSP特刊”火熱下載中,缺你怎可!
2013年9月,蘋果公司遵照以往發(fā)布產(chǎn)品的規(guī)律,推出了最新一代的手機(jī)iPhone 5S,除了帶來(lái)了指紋識(shí)別和協(xié)同處理器M7等創(chuàng)新技術(shù)和應(yīng)用外,最大的亮點(diǎn)來(lái)自于其最新的A7處理器,作為首顆應(yīng)用在智能手機(jī)上的64位處理器,蘋果再一次引領(lǐng)了潮流。新產(chǎn)品公布以后,業(yè)內(nèi)處理器巨頭高通的前任CMO Anand Chandrasekher曾表示“A7處理器只是蘋果營(yíng)造的一個(gè)市場(chǎng)宣傳噱頭,對(duì)用戶來(lái)說(shuō)并沒(méi)有實(shí)際意義”。事實(shí)是否真如他所言?
但隨后高通公司對(duì)這番言論的澄清和同時(shí)段三星將推出64位處理器的傳聞,使我們相信移動(dòng)處理器將進(jìn)入64位的時(shí)代,而日前高通推出旗下的首款64位處理器驍龍410更加堅(jiān)定了我們的觀點(diǎn),那么,我們?yōu)槭裁葱枰?4位處理器呢?
為什么要推64位處理器?
在開(kāi)頭,我們可以用一個(gè)簡(jiǎn)單的例子來(lái)闡述64位處理器帶來(lái)的好處:
“有一個(gè)巨大的圖書館,里面有許多藏書,還有一個(gè)管理員幫你找書。管理員有32個(gè)助理,他們騎著自行車前去取書,然后交給管理員。某天來(lái)了一個(gè)借書的人,他想要關(guān)于恐龍的所有圖書,圖書館有65本相關(guān)的書籍,那么助理們要跑三趟。第一趟取來(lái)32本,第二趟也是32本,最后一本還要一個(gè)助理跑一趟。如果圖書館有64位助理,就只需要跑兩趟。假如圖書館有256本相關(guān)的圖書,32位助理要跑8趟,64位就只跑4趟。”
怎樣,如此一個(gè)簡(jiǎn)單的譬喻是不讓大家對(duì)整個(gè)概念有了一個(gè)初步的了解?
而iPhone的運(yùn)行與此相似,它從內(nèi)存獲得數(shù)據(jù),一個(gè)時(shí)鐘周期內(nèi)32位只能處理32位的數(shù)據(jù),64位就可以取得64位的數(shù)據(jù),如此一來(lái)速度、性能、效率就提高了。
具體到技術(shù)而言又是如何體現(xiàn)的呢?
通常ARM是32位的,即32bit,也就是說(shuō),在CPU執(zhí)行命令的過(guò)程中,每條指令以32個(gè)比特位來(lái)表示,而通常CPU一個(gè)時(shí)鐘周期(就是1/頻率)只執(zhí)行一條指令。而現(xiàn)在呢,每條指令是64位的,也就是說(shuō),CPU每一個(gè)周期執(zhí)行的內(nèi)容比以往多了一倍。
下面我們舉例說(shuō)明:
指令 add A, B
前8位是指令代碼,CPU識(shí)別為執(zhí)行加法,后面A和B最多只有32-8=24位,也即是說(shuō),后面兩個(gè)加數(shù)分別為12位,表示為十進(jìn)制最大為4095
而現(xiàn)在,總長(zhǎng)度為64位,那么A和B加起來(lái)為64-8=56位,即A和B分別為28位,表示為10進(jìn)制最大為268435455。
也就是說(shuō),原本32bit一條指令最多能計(jì)算4095+4095,現(xiàn)在能夠計(jì)算268435455+268435455,而32位指令要計(jì)算這個(gè)數(shù)據(jù)需要加計(jì)算6萬(wàn)5千多次,即需花費(fèi)65000多倍的時(shí)間來(lái)進(jìn)行計(jì)算。
這里只是以加法舉例,實(shí)際情況十分復(fù)雜,但總體上,64bit處理器能夠在相同的時(shí)間內(nèi)比32bit處理器做更多更多的事情。 比如眾黑關(guān)注的內(nèi)存4G的問(wèn)題:
原本32bit最大表示4294967296=4G,所以跳轉(zhuǎn)范圍最大支持4G,無(wú)法利用更多的內(nèi)存。
現(xiàn)在64bit最大表示18446744073709551616=18446744073G,所以幾乎不存在上限。
但是!!內(nèi)存大小只是其中的一個(gè)應(yīng)用而已,64bit相對(duì)32bit優(yōu)勢(shì)是很多的!
雖然A7能夠使處理器脫離4GB的限制,同時(shí)還有能力調(diào)用更多的內(nèi)存。但是 iPhone 近期不太可能內(nèi)置那么大的 RAM,也肯定不會(huì)達(dá)到 A7 最大可尋址的 256TB 物理內(nèi)存:
既然這樣,蘋果又何必那么麻煩嵌入64位處理器呢?我們已經(jīng)在文章開(kāi)頭否定了所謂噱頭的觀點(diǎn),我們來(lái)進(jìn)一步探究。
就表象來(lái)看,64位的A7處理器的性能相較于32位的A6提升一倍,其包含的整數(shù)和浮點(diǎn)寄存器也是A6的兩倍。為了能讓芯片一次載入更多的數(shù)據(jù),就意味著必須減少連續(xù)的緩存或內(nèi)存訪問(wèn),這樣的話就會(huì)造成核心的計(jì)算單元減少保持閑置等待數(shù)字處理的時(shí)間。
為了有效的利用的新芯片的優(yōu)勢(shì),iOS的應(yīng)用開(kāi)發(fā)者必須利用64位整數(shù)計(jì)算。同時(shí)更能利用ARM的NEON結(jié)構(gòu)。
上面闡述的優(yōu)勢(shì)對(duì)于64位的軟件來(lái)說(shuō)是非常好的。但對(duì)32位代碼而言,蘋果也承認(rèn),其在A7上的表現(xiàn)不如64位版本的軟件那么迅速。這就說(shuō)明執(zhí)行64位代碼有個(gè)缺點(diǎn):當(dāng)你的數(shù)據(jù)單元有兩倍那么大時(shí),舉個(gè)例子,一個(gè)長(zhǎng)的整數(shù)在 A6 芯片的 iPhone 占 4 字節(jié),但在 A7 芯片的 iPhone 就要占到 8 字節(jié)。你需要兩倍的內(nèi)存來(lái)存儲(chǔ)相同大小的信息。
因此對(duì)于整個(gè)生態(tài)鏈而言,只有更多64位的應(yīng)用才能體現(xiàn)其A7處理器的優(yōu)勢(shì)。通過(guò)這種硬件革新推動(dòng)軟件進(jìn)步的觀點(diǎn),是蘋果一直以來(lái)的經(jīng)營(yíng)方式。
同時(shí)這項(xiàng)巨大的技術(shù)進(jìn)步能為游戲行業(yè)帶來(lái)翻天覆地的變化。最起碼,這能帶來(lái)更豐富的OpenGL ES 3.0圖形加速接口和更強(qiáng)悍的圖形處理芯片。
評(píng)論