新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM體系結(jié)構(gòu)研究

ARM體系結(jié)構(gòu)研究

作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏

4)2010年5月——Intel發(fā)布了最新的Intel Atom Processors系列,開創(chuàng)性在維持現(xiàn)有系統(tǒng)的高性能的同時地降低了功耗,使得制造輕薄的手持設(shè)備、Tablet PC、智能手機(jī)等成為可能。

從Intel投入的精力和一些列的動作我們可以看出Intel向彌補(bǔ)自己在移動計算領(lǐng)域缺席的決心,但是從時間上來看,intel同ARM相比起步晚太多了,所以至今為止,除了上網(wǎng)本有采用Atom架構(gòu)的處理器外其它移動計算設(shè)備很少有采用Atom處理器的(Nokia的MeeGo平臺也許算是一個吧)。Intel的Atom在移動計算市場上的劣勢還不僅僅存在于起步太晚上。

自從Itanium的失敗后,Intel的后來的高層始終堅信著一點(diǎn)——要保持向前兼容才能獲得商業(yè)上的成功。于是Atom被無辜地套上了CISC的枷鎖,如前所述,ARM芯片采用的是經(jīng)過廣泛驗(yàn)證的RISC體系,這無論是在功耗還是在性能上都優(yōu)于RISC架構(gòu),但是Intel為了實(shí)現(xiàn)向前兼容的目標(biāo),并沒有直接在Atom上采用RISC指令集。大家也許還認(rèn)為先行的x86芯片還是CISC的架構(gòu),但其實(shí),x86只是披著一件CISC外衣的RISC架構(gòu)罷了,在Intel近期的CPU流水線中,使用的是一種叫做μops的指令集,從內(nèi)存中調(diào)入的RISC指令會經(jīng)過翻譯,變成一條或多條μops指令(也有可能多條指令變成一條μops指令),而且還有極少數(shù)指令,需要通過rom譯碼之后執(zhí)行,這些額外的操作無論是在功耗上還是在性能上無疑都是一個累贅。使用μops流水線無法越過Power的天塹,Intel工程師們剩下的只有CISC流水線了。無奈的設(shè)計人員第一個想到的是1989年發(fā)布的486處理器,這顆處理器使用了單發(fā)射(single-issue),順序執(zhí)行(in-order)的CISC流水線。即使是在那個時代,486也并不是一個頂級處理器,Atom處理器必須對此加以補(bǔ)充。多發(fā)射技術(shù)肯定是必須的,所以Atom處理器支持雙發(fā)射。而現(xiàn)代處理器常用的亂序執(zhí)行(Out-of-Order Execute)對于追求低功耗的Atom處理器是奢侈的,經(jīng)過簡單地評估,Intel設(shè)計人員暫時放棄了亂序執(zhí)行這個已經(jīng)被廣泛驗(yàn)證,可以顯著提高流水線執(zhí)行效率的功能。同時486處理器使用的5級流水線并不利于處理器主頻的提升,Atom處理器將其提高到16級,如圖2.7所示。


圖2.7Atom采用的16段流水線

這不是Atom處理器流水線的全部。Atom處理器還含有兩級預(yù)先譯碼部件(Predecoder)。因?yàn)閭鹘y(tǒng)的x86指令并不等長,而是16b~120b不等的,Predecoder部件的作用是劃分指令邊界,然后將其導(dǎo)入L1指令Cache。因此雖然Atom處理器L1指令Cache的大小為36KB,而實(shí)際可利用大小僅為32KB,剩余的4KB用來存放SOI(Start of Instruction),EOI(End of Instruction),等一些TAG信息。Atom處理器可以直接處理多數(shù)CISC指令,但是仍然有一些過于復(fù)雜的CISC指令被分解為若干個μops,再進(jìn)入指令流水線。但是Atom處理器的流水線并非沒有可取之處,這顆處理器可以直接執(zhí)行ALU/Memory指令。這類指令首先被分解為ALU和Memory兩個微操作,然后成對進(jìn)入流水線,雖然Memory操作仍不能先于ALU操作執(zhí)行完畢,也明顯提高了這類指令的執(zhí)行效率。為了彌補(bǔ)沒有使用亂序執(zhí)行的缺憾,Intel的設(shè)計人員采用了Intel一向很稱道的HT(Hyper-Threading)技術(shù),即超線程技術(shù),這種技術(shù)能夠顯著提升系統(tǒng)的響應(yīng)性。因?yàn)樗闹饕O(shè)計理念是,在一個物理CPU上實(shí)現(xiàn)了兩個邏輯的CPU,這兩個邏輯的CPU擁有自己獨(dú)立的寄存器組還擁有獨(dú)立的APIC(Advanced Programmable Interrupt Controller)等其它資源,但是它們共用一條流水線,在一條線程由于執(zhí)行某種耗時操作而掛起的時候,另一個線程的代碼可以使用這條流水線,同時它們可以同時跟蹤自己的中斷,而互不干擾。

Intel工程師們?yōu)榱藢?shí)現(xiàn)向前兼容,還不得不放棄很多最新的、優(yōu)秀的芯片設(shè)計方法。從而使得Atom處理器有一種背負(fù)歷史使命的厚重感,少了一些現(xiàn)代的輕盈與高效。但是我們也看到,Atom處理器最開始是跑上網(wǎng)本的,也正是由于其一直秉承的向前兼容理念使得上網(wǎng)本上可以安裝xp或者linux系統(tǒng),然而,在上網(wǎng)本上跑各種PC中的軟件卻讓人愈發(fā)感覺Atom處理速度的不足。Intel擁有著這個星球上最頂尖的芯片工程師,但是他們的才智卻被花在了解決x86那些乖張、荒謬的處理邏輯上。性能并不是Atom處理器的優(yōu)勢,并不出乎體系結(jié)構(gòu)專家的意外,在許多Benchmark程序下,Atom處理器落后于Cortex A9處理器,如圖2.8所示。而且Atom處理器的功耗與ARM處理器目前并沒有可比之處。

圖2.8 Atom與Cortex Benchmark性能測試對比

由于早些時候,Atom投入的是Netbook上網(wǎng)本市場,相對來說先前兼容所帶來的收益還是很有優(yōu)勢的,但自從喬布斯捧著一個iPad站在了PC大賣場的舞臺后,Netbook時代就此終結(jié)了。而這時候唱主角的,卻是ARM與蘋果。

注釋:

【1】System-on-Chip技術(shù)是一種高度集成化、固件化的系統(tǒng)集成技術(shù),其核心是要把整個應(yīng)用電子系統(tǒng)全部集成在一個芯片中,它通過在單一芯片中嵌入軟件,實(shí)現(xiàn)多功能和高性能,以及對多種協(xié)議、多種硬件和不同應(yīng)用的支持。

一、小結(jié)

二、參考文獻(xiàn)

1.http://www.hyqb.sh.cn/publish/portal2/tab270/info1268.htm提高嵌入式系統(tǒng)的Java應(yīng)用性能的技術(shù)——Jazelle DBX。

2.http://www.arm.com/products/processors/technologies/jazelle.php——ARM主頁。

3.ARM指令集詳解——來自WWW。

4.http://www.hudong.com/wiki/arm#5——互動百科。

5.http://www.cnblogs.com/leaven/archive/2010/10/28/1863744.htm l——Cortex系列ARM核心及體系結(jié)構(gòu)介紹

6.http://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29——維基百科。

7.NEON Support in the ARM - White Paper——Sep. 2008。

8.http://www.intel.com/technology/atom/——Intel Home Page


上一頁 1 2 下一頁

關(guān)鍵詞: ARM體系結(jié)

評論


技術(shù)專區(qū)

關(guān)閉