欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
ARM體系結構研究(一)
一、 引 言

  隨著(zhù)近兩年各種智能手機、平板電腦、車(chē)載電子等各種消 費品的蓬勃發(fā)展,ARM體系結構的處理器,作為這些消費品的處理核心,也得到了長(cháng)足的進(jìn)步,甚至擊敗了Intel,在移動(dòng)嵌入式領(lǐng)域獨占鰲頭。本文將首先介紹ARM體系結構的發(fā)展歷程,然后將著(zhù)重梳理其最先進(jìn)的Cortex系列處理器的體系結構,以及這些結構對于各種軟件平臺如JAVA、.NET的支持等。

  二、 ARM體系結構的歷史即其新進(jìn)展

   2.1 ARM體系結構市場(chǎng)前景

  來(lái)自英國的ARM(Acorn RISC Machine)公司雖然以ARM處理器著(zhù)稱(chēng),但是它獨特的商業(yè)模式卻決定了ARM公司本身并不生產(chǎn)處理器,這點(diǎn)與從研發(fā)到生產(chǎn)到出貨垂直整合的Intel公司有很大不同,ARM公司采取的是授權與提成的商業(yè)模式(Intellectual Property Core 簡(jiǎn)寫(xiě)IP-Core):公司自己研發(fā)處理器體系架構,然后將這套架構的知識產(chǎn)權有償授權給處理器制造廠(chǎng)商如高通、三星等半導體廠(chǎng)商,這些廠(chǎng)商造出的每一塊使用ARM體系結構的芯片只需向ARM公司交付低廉的提成即可。由于這種創(chuàng )新的商業(yè)模式和低廉的成本,加上ARM體系的低功耗特點(diǎn),讓ARM體系在對價(jià)格敏感和續航能力敏感的32位嵌入式電子消費品市場(chǎng)如虎添翼,基本占據了32位嵌入式消費平100%的市場(chǎng)份額。發(fā)展到如今,ARM芯片甚至在對運算速度要求更高的的上網(wǎng)本、平板電腦也大有跟Intel的ATOM處理器一較高低的實(shí)力。近來(lái)紅得發(fā)紫的蘋(píng)果iPad就是采用的ARM深度定制的一款處理器架構,其它還有很多運行著(zhù)Android系統的平板產(chǎn)品、智能手機產(chǎn)品等也都采用ARM體系結構的處理核心。由此可見(jiàn)ARM體系結構在移動(dòng)電子消費品市場(chǎng)無(wú)與倫比的優(yōu)勢。

  2.2 ARM體系發(fā)展歷史

  1985——誕生了第一顆ARM芯片,ARM1 Sample版。

  1986——ARM2,具有32位數據總線(xiàn),26位地址總線(xiàn),16個(gè)32位寄存器的處理器實(shí)現產(chǎn)能量產(chǎn)。

  20世紀80年代晚期——蘋(píng)果電腦開(kāi)始與Acorn合作開(kāi)發(fā)新版的ARM核心。

  1991——與蘋(píng)果的合作造就了ARM6,并進(jìn)入了蘋(píng)果的Apple Newton PDA和Acorn Risc-PC成為了它們的處理器。在該年正式成立了ARM公司,作為Acorn的一家子公司。

  1991——至今ARM的產(chǎn)品已經(jīng)橫貫應用程序處理器,嵌入式處理器,專(zhuān)家系統等各種計算領(lǐng)域,成為了移動(dòng)電子消費品市場(chǎng)、復雜工業(yè)控制應用的首選處理器體系架構。

  2.3 ARM產(chǎn)品系列簡(jiǎn)介

  2.3.1 經(jīng)典ARM 處理器

  這一系列包括的處理器架構有:

  l ARM11 系列 —— 基于A(yíng)RMv6 體系結構的高性能處理器

  l ARM9 系列 —— 基于A(yíng)RMv5 體系結構的常用處理器

  l ARM7 系列 —— 面向普通應用的經(jīng)典處理器

  該系列適用于那些希望在新應用中追求穩定的產(chǎn)品。這些處理器提供了許多的特性、卓越的功效和范圍廣泛的操作能力,適用于成本敏感型解決方案。這些處理器每年都有數十億的發(fā)貨量,因此可確保設計者獲得最廣泛的體系和資源,從而最大限度地減少集成過(guò)程中出現的問(wèn)題并縮短上市時(shí)間。

  2.3.2 ARM Cortex 嵌入式處理器

  這一系列的處理器架構有:

  l Cortex-R 系列 —— 面向實(shí)時(shí)應用的卓越性能

  l Cortex-M 系列 —— 面向具有確定性的微控制器應用的成本敏感型解決方案

  Cortex-M 系列處理器主要是針對微控制器領(lǐng)域開(kāi)發(fā)的,在該領(lǐng)域中,既需進(jìn)行快速且具有高確定性的中斷管理,又需將門(mén)數和可能功耗控制在最低;而Cortex-R 系列處理器的開(kāi)發(fā)則面向深層嵌入式實(shí)時(shí)應用,對低功耗、良好的中斷行為、卓越性能以及與現有平臺的高兼容性這些需求進(jìn)行了平衡考慮。

  2.3.3 ARM Cortex 應用程序處理器

  這一系列包括的處理器架構只有

  l Cortex-A 系列- 開(kāi)放式操作系統的高性能處理器

  Cortex-A在高級工藝節點(diǎn)中可實(shí)現高達2GHZ+的主頻,也正是由于如此卓越的性能,該處理器架構可用于下一代Internet設備,而且該系列提供單核和多核多種種類(lèi),并且提供NEON多媒體處理模塊的四種選擇和高級浮點(diǎn)執行單元和處理單元。

  2.3.4 ARM 專(zhuān)家處理器

  這一系列包括的處理器架構只有

  l SecurCore - 面向高安全性應用的處理器

  l FPGA 內核- 面向FPGA 的處理器

  該系列的處理器主要是為了滿(mǎn)足一些特定市場(chǎng)的苛刻需求。SecurCore可以用于手機SIM卡和其他識別應用,集成了多種既可以為用戶(hù)提供卓越性能,又可以檢測和避免安全攻擊的技術(shù)。

  2.4 ARM指令

  談到ARM的指令系統,必須先明確一點(diǎn)的就是,ARM體系結構不同于x86,它是RISC(Reduced Instruction Set Computer)體系結構。所以,在A(yíng)RM指令體系中,各指令相對來(lái)說(shuō)更加規整、對稱(chēng)、簡(jiǎn)單。而且指令小于100條,基本尋址方式只有2~3中,而且指令字長(cháng)都比較一直,并都在單個(gè)時(shí)鐘周期內完成,以便于流水操作。在A(yíng)RM7中采用的是3級流水線(xiàn):取值、譯碼、執行。而ARM9和ARM10則是五級流水線(xiàn)和六級流水線(xiàn)。ARM的訪(fǎng)存采用的都是LOAD-STORE結構,這樣可以把每條指令的執行時(shí)間都平均化,有助于高效的流水線(xiàn)的實(shí)現,采用這種結構也就同時(shí)意味著(zhù)指令都要在寄存器間進(jìn)行操作,所以ARM體系中有大量的寄存器(不少于32個(gè))。

  2.4.1 ARM指令與Thumb指令

  ARM指令集可以是32位長(cháng)的ARM指令,也可以是16位長(cháng)的Thumb指令,這主要是為了兼容數據總線(xiàn)為16位的應用系統。所有的Thumb指令都有對應的ARM指令,Thumb只是ARM的一個(gè)真子集,而且Thumb指令舍棄了ARM指令集的一些特性,如大多數Thumb指令都是無(wú)條件執行的,而幾乎所有的ARM指令都是有條件執行的,又如大多數的Thumb指令由于長(cháng)度有限,目的寄存器是源寄存器中的一個(gè),這跟x86的匯編指令集相似。

  Thumb指令的優(yōu)點(diǎn)在于它可以在保留32位代碼優(yōu)勢的同時(shí),大大節省系統的存儲空間,因為在Thumb指令集中的操作數仍然是32位的,指令地址也是32位的,只是指令編碼變成了16位,而ARM指令則為32位,所以,相比之下,實(shí)現同樣的功能,Thumb指令的條數要比ARM略多。圖2.1是“Add Rd,#Constant”在Thumb狀態(tài)和ARM狀態(tài)下的指 令比較:

  

  圖2.1 Thumb指令和ARM指令的比較

  由上圖我們可以清楚地看到Thumb指令的精簡(jiǎn)之處,所以Thumb的存儲空間僅僅是ARM存儲空間的60%~70%,但是Thumb的指令條數比ARM指令條數多30%~50%,如果使用32位的存儲器,由于指令條數較少等原因,ARM指令會(huì )比Thumb指令快40%左右,而使用16位存儲器時(shí),Thumb指令則會(huì )快40%~50%。同時(shí)與ARM比較Thumb指令的功耗會(huì )降低約30%。但是Thumb指令也有其局限性。第一、偏移范圍,在Thumb指令中條件轉移偏移只有8位,也就是說(shuō)只能在256Byte的范圍內有條件地轉移,在無(wú)條件轉移中可以有16位的偏移,而這些在A(yíng)RM指令中都是32位,大大提高了靈活性。同時(shí),在Thumb指令中不支持乘法和累加,沒(méi)有協(xié)處理器指令沒(méi)有信號量指令也沒(méi)有CPSR指令。

  在面臨二者的取舍的時(shí)候,同其它無(wú)數的案例一樣,發(fā)揮各自的長(cháng)處是最完美的解法。如果系統對性能要求較高,應采用32位的存儲器和ARM指令集,而對功耗和成本要求較高,則應使用Thumb指令集。但是如果兩者結合使用,讓它們充分發(fā)揮各自的優(yōu)點(diǎn),則會(huì )取得更好的效果。

  ARM指令的基本格式如下:

  <opcode> {<cond>} {S} <Rd> ,<Rn>{,<operand2>}

  
其中<>號內的項是必須的,{}號內的項是可選的,opcode指令助記符;cond是該動(dòng)作的執行條件;S表示影響CPSR寄存器(程序狀態(tài)寄存器)的值,如果不加則表示不影響 CPSR的值;Rd表示運算結果的目標寄存器;Rn表示第1個(gè)操作數的寄存器;operand2表示第2個(gè)操作數,可選。

  同時(shí),ARM芯片還支持協(xié)處理器,在A(yíng)RM指令集中有對協(xié)處理器的數據操作、數據讀取、數據寫(xiě)入和CPU與協(xié)處理器的寄存器傳送的相應指令。

  ARM指令集詳細介紹見(jiàn)附錄A。

  2.5 ARM體系結構對運行平臺的支持 ——Jazelle技術(shù)

  運行Java虛擬機(JVM)解釋Java字節碼這種方式對大多數嵌入式應用來(lái)說(shuō)占用空間過(guò)多,運行速度過(guò)慢。而系統發(fā)展的趨勢及市場(chǎng)的需求決定了Java應用需要有更強的圖形處理能力以及一個(gè)強大的Java虛擬機。于是催生出了Jazelle技術(shù),從硬件上對Java虛擬機提供支持。 Jazelle DBX(Direct Bytecode eXecution)是一種硬件架構擴展技術(shù),為ARM處理器引入了第三套指令集—Java字節碼。新指令集建立了一種新的狀態(tài),處理器在此狀態(tài)下處理Java字節碼取指令、譯碼和維護Java操作數棧等任務(wù)。允許它們在某些架構的硬件上加速執行Java字節碼,就如其他執行模式般,它能在現存的ARM與Thumb模式之間互相切換。為了降低芯片尺寸并提高性能,Jazelle DBX沒(méi)有設計成傳統形式的微引擎,而是融入流水線(xiàn)中的一個(gè)有限狀態(tài)機。如圖2.2所示

  

  圖2.2 加入了Java硬件加速的ARM流水線(xiàn)示意圖

  Jazelle DBX技術(shù)增加了一條新的“Branch-to-Java”指令來(lái)進(jìn)入Java狀態(tài)。此指令支持條件執行,先檢查條件標志,如果條件滿(mǎn)足,處理器進(jìn)入Java狀態(tài),跳轉到指定目標地址,開(kāi)始執行Java字節碼。在Java狀態(tài)下,PC寄存器仍是32位尋址Java字節代碼。字節碼的取指、譯碼分別在兩個(gè)流水段完成(對應ARM/Thumb狀態(tài)下為一個(gè)譯碼流水級)。32位的取指令操作一次性可以取4個(gè)Java字節碼,性能優(yōu)勢十分明顯,對于一個(gè)高度優(yōu)化的商業(yè)Java虛擬機,運行評測程序或復雜的MIDP2.0應用,Jazelle DBX技術(shù)通??蓭?lái)約2~4倍的性能提升。Jazelle DBX技術(shù)允許所有的Java指令是“可重新開(kāi)始”的。這樣在執行Java指令過(guò)程中,即刻響應中斷,從而減少中斷延遲,確保實(shí)時(shí)性能。

  在A(yíng)RM處理器的Java狀態(tài)下,有若干個(gè)ARM寄存器可以功能復用(包括棧指針、棧頂四項(top4 elements of stack)、局部變量0等)。正是這些硬件復用設計,才使得只用了很少的額外邏輯(約一萬(wàn)兩千門(mén))就實(shí)現了一個(gè)Java機。把所有Jazelle DBX擴展所需的狀態(tài)用ARM寄存器保存,也保證了和現有操作系統、中斷處理程序和異常處理代碼的兼容性。把棧頂四項保存在A(yíng)RM寄存器中也能提高Java性能。大量的程序分析顯示,大多數程序的棧深度是很小的,所以這項策略可以盡量減少內存訪(fǎng)問(wèn),硬件也可自動(dòng)處理棧溢出或下溢。

  和Java協(xié)處理器或其它專(zhuān)用Java處理器設計不同的是,Jazelle DBX和主處理器共用緩存,這一方面能夠降低功耗,而且還可以提高性能。另一個(gè)重要的設計考慮是確保Jazelle DBX技術(shù)不會(huì )影響實(shí)時(shí)中斷性能,仍保持與操作系統中已有ARM異常處理代碼的兼容。圖2.3是在加入了Jazelle的ARM處理器中運行Java應用的垂直架構架圖。

  

  圖2.3加入了Jazelle的ARM處理器上的Java應用垂直架構圖

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
實(shí)用干貨:關(guān)于處理器ARM知識匯總
ARM架構big.LITTLE、Thumb、Jazelle、TrustZone、VFP、SIMD、NOEN等常用術(shù)語(yǔ)解析
ARM架構和Cortex 三大系列關(guān)系小結
ARM架構
2- 玩轉STM32之ARM Cortex-M體系結構
ARM 指令集版本和ARM 版本
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久