久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇ARM專區(qū)ARM技術(shù)討論專區(qū) → arm硬件支持java技術(shù)Jazelle DBX


  共有8392人關(guān)注過本帖樹形打印

主題:arm硬件支持java技術(shù)Jazelle DBX

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
arm硬件支持java技術(shù)Jazelle DBX  發(fā)帖心情 Post By:2010-11-18 8:52:56

Java已 經(jīng)在各個領(lǐng)域得到了廣泛的應(yīng)用,尤其是無線移動領(lǐng)域,全球超過100個移動運營商已經(jīng)推出了Java下載服務(wù)。Java也正成為其它嵌入式設(shè)備的支持標(biāo) 準(zhǔn),如機頂盒。Java應(yīng)用的快速增長源于以下幾點:盡管Java的可移植性一直有爭論,但無庸置疑的是其快速上市的優(yōu)勢,開發(fā)和發(fā)布Java應(yīng)用都很便 捷;Java有著廣泛的支持網(wǎng)絡(luò),眾多的第三方在開發(fā)各色各樣的Java應(yīng)用;Java平臺固有的安全性適合網(wǎng)絡(luò)下載。

可以說,現(xiàn)在Java游戲已經(jīng)發(fā)展成一項產(chǎn)業(yè),三維圖像、多人連線等更高級的支持也不鮮見。網(wǎng)絡(luò)運營商和手機制造商希望出現(xiàn)更具可玩性的游戲,甚至跳出游戲應(yīng)用發(fā)展諸如商務(wù)、定位、視頻等各種各樣的增值服務(wù),以帶來更多的收入。

為支持這些新的服務(wù),J2ME平臺必須快速發(fā)展,集成新的API(如移動3D),融入新的特性,比如能夠運行多個MIDlet。移動設(shè)備上運行Java需要處理好這兩個問題:Java分化和在資源有限的設(shè)備上如何保證Java的性能。

運營商和手機制造商為標(biāo)準(zhǔn)Java API加入了許多擴展,造成了一定程度上的“Java分化”,影響到了Java的進(jìn)一步應(yīng)用,產(chǎn)業(yè)鏈上各個環(huán)節(jié)的廠家不得不做額外投入以支持各種擴展。于 是Sun公司建立了JCP(Java Community Process)試圖減少這種分化,同時努力能夠跟上嵌入式設(shè)備上Java應(yīng)用和變化的步伐。現(xiàn)在很多JSR擴展規(guī)范都是通過JCP提出的,證明JCP起 著正面的促進(jìn)作用,能根本上解決分化問題。

嵌入式Java虛擬機的設(shè)計限制

目前市場上已經(jīng)有大量宣稱支持Java的手機,從技術(shù)上來看,許多中低端手機基本上是在30~50MHz ARM7TDMI處理器上運行一個小型的軟件字節(jié)碼(bytecode)解釋器,相對較慢。這對許多的Java小游戲是夠用了,因為其性能是由系統(tǒng)的圖形 處理能力決定的,對Java的要求不是特別高。但是市場發(fā)展變化很快,越來越多的Java應(yīng)用需要更強的圖形處理能力,以及一個強大的Java虛擬機。

圖片點擊可在新窗口打開查看

圖1:指令流水線示意圖。

幾種加快Java執(zhí)行速度的傳統(tǒng)方法包括幾種軟件方案,如字節(jié)碼解釋器優(yōu)化、即時(JIT, just-in-time)編譯器、預(yù)先(AOT, ahead-of-time)編譯器等;硬件方案有專用Java處理器和Java協(xié)處理器。這些方法在提高性能的同時,通常也會增加對功耗、內(nèi)存的需求, 影響到了系統(tǒng)平臺的成本,尤其是硬件方案。

JIT或AOT編譯器是把字節(jié)碼動態(tài)地編譯成目標(biāo)平臺的本地碼,然后直接執(zhí)行。顧名思義,AOT編譯方案就是在應(yīng)用下載完后編譯所有代碼,而實際上 某些代碼很有可能根本就執(zhí)行不到。JIT編譯方案則是運行到某段代碼之前,只對這一段作即時的編譯。這種即時處理策略會讓用戶在選擇啟動應(yīng)用程序后,不得 不等待很長的一段時間程序才真正運行起來。另外,研究顯示動態(tài)編譯會導(dǎo)致代碼膨脹4~6倍。因此,除了減慢應(yīng)用程序啟動速度,無論JIT還是 AOT方案,都需要很大的額外內(nèi)存來保存編譯生成的本地碼。

動態(tài)編譯技術(shù)

有一種彌補JIT編譯器缺點的方法就是采用通常被稱為動態(tài)自適應(yīng)編譯(DAC)的混合軟件方案,它可以看成是JIT編譯器和字節(jié)碼解釋器的組合。在 開始階段,程序解釋執(zhí)行,同時軟件對代碼作分析并決定哪些關(guān)鍵代碼需要被編譯,這些關(guān)鍵代碼被鑒別出來后,即被編譯成本地碼運行。

采用了DAC方案,JIT編譯的一些負(fù)面影響可能會減少,但是JIT畢竟無法提供最好的速度性能,啟動時間和代碼膨脹的問題仍會比較突出。

在完成關(guān)鍵代碼分析前,程序得運行于慢速的解釋器模式,然后暫停再進(jìn)行編譯。應(yīng)用程序啟動時,許多函數(shù)方法僅運行一次,理想情況下不應(yīng)該編譯這些代碼。從用戶體驗角度來看,影響是很明顯的,尤其是程序啟動階段會感覺到較長時間內(nèi)程序沒有任何用戶響應(yīng)。

因為純軟件的解釋器很慢,大多數(shù)DAC方案實際上很少做代碼分析,而編譯幾乎所有的函數(shù)方法,就像賭博一樣,賭這個函數(shù)方法接下去會執(zhí)行很多次。如果賭錯,將會付出更多的代價—不但花費了更多的編譯時間,而且編譯產(chǎn)生的那些不再運行的代碼耗費了寶貴的內(nèi)存資源。

編譯的代碼會占用內(nèi)存資源,DAC必須從內(nèi)存中刪掉以前編譯好的代碼,為新的編譯讓出空間,接下去如果運行到剛被刪掉的代碼,又得重新編譯。這樣產(chǎn) 生了性能平滑度問題,因為在編譯新代碼或重編譯過程中,程序得暫停執(zhí)行。比如在切換游戲場景時,玩家會感覺到難以忍受的等待。

盡管動態(tài)編譯存在一些缺點,可現(xiàn)在嵌入式設(shè)備的硬件配置也越來越高,尤其是RAM或ROM,因此諸如DAC甚至一些AOT方案變得很有吸引力。然 而,我們也看到一個系統(tǒng)平臺中許多的組件是用Java開發(fā)的,越來越多的可下載應(yīng)用是用Java寫,多個Java程序并行執(zhí)行的需求也開始產(chǎn)生。這些發(fā)展 趨勢意味著Java對內(nèi)存的需求是無止境的。

硬件加速

硬件Java加速方案通常需要增加額外的芯片以及更多的功耗。專用Java處理器支持直接執(zhí)行Java字節(jié)碼,這雖然看起來性能不錯,但是系統(tǒng)集成和開發(fā)的復(fù)雜度卻大幅上升。Java處理器不會支持已有的很多操作系統(tǒng)和應(yīng)用程序,它需要和其他的嵌入式處理器配合使用。

圖片點擊可在新窗口打開查看

圖2:采用ARM處理器的Java應(yīng)用嵌入式系統(tǒng)架構(gòu)。

Java協(xié)處理器是把Java字節(jié)碼翻譯成主處理器的指令。這當(dāng)然需要許多軟硬件集成工作,要在操作系統(tǒng)加入對協(xié)處理器的支持尤其困難。同樣協(xié)處理 器需要額外的板上空間和額外的功耗,而且本身也很貴。另外,協(xié)處理器和主內(nèi)核之間的松耦合連接方式?jīng)Q定了其運行速度相對較慢。

硬件架構(gòu)擴展和Jazelle DBX技術(shù)

在已有處理器架構(gòu)上加硬件擴展可以同樣支持直接運行Java字節(jié)碼,而且保持了操作系統(tǒng)和應(yīng)用程序的兼容性。架構(gòu)擴展方案相當(dāng)于為處理器附加了一套 指令集,重用已有的處理器資源不會增加額外的硬件成本和功耗。帶擴展的內(nèi)核能夠同時執(zhí)行Java字節(jié)碼及本地碼,開發(fā)者可以充分利用已有的操作系統(tǒng)、應(yīng)用 程序開發(fā)技術(shù),在Java程序可移植性和性能之間取得很好的平衡。

傳統(tǒng)的ARM處理器都支持兩套指令集:32位ARM指令集和16位Thumb指令集。通常使用Thumb指令集的代碼大小約為ARM代碼的 35~40%,但會輕微降低程序性能。指令集支持在ARM和Thumb代碼之間互相作函數(shù)調(diào)用,程序員可以在編譯時分別從性能和代碼密度的角度考慮,以決 定不同部分的代碼編譯成ARM或是Thumb(圖1)。

Jazelle DBX是一種硬件架構(gòu)擴展技術(shù),為ARM處理器引入了第三套指令集—Java字節(jié)碼。新指令集建立了一種新的狀態(tài),處理器在此狀態(tài)下處理Java字節(jié)碼取指、譯碼和維護(hù)Java操作數(shù)棧。

為了降低芯片尺寸并提高性能,Jazelle DBX沒有設(shè)計成傳統(tǒng)形式的微引擎,而是融入流水線中的一個有限狀態(tài)機。和協(xié)處理器或?qū)S锰幚砥髟O(shè)計不同的是,Jazelle DBX和主處理器共用緩存,這都會對功耗和性能帶來益處。另一個重要的設(shè)計考慮是確保Jazelle DBX技術(shù)不會影響實時中斷性能,仍保持與操作系統(tǒng)中已有ARM異常處理代碼的兼容。

Jazelle DBX技術(shù)增加了一條新的“Branch-to-Java”指令來進(jìn)入Java狀態(tài)。此指令支持條件執(zhí)行,先檢查條件標(biāo)志,如果條件滿足,處理器進(jìn)入Java狀態(tài),跳轉(zhuǎn)到指定目標(biāo)地址,開始執(zhí)行Java字節(jié)碼。

在Java狀態(tài)下,PC寄存器仍是32位尋址Java字節(jié)代碼。字節(jié)碼取指、譯碼分別在兩個流水級完成(對應(yīng)ARM/Thumb狀態(tài)下為一個譯碼流水級)。32位取指操作一次性可以取4個Java字節(jié)碼,性能優(yōu)勢明顯。

當(dāng)前處理器狀態(tài)寄存器(CPSR)新定義了一個位,用來記錄處理器的狀態(tài)。這很重要,因為在處理中斷或其它異常時,CPSR會自動保存或恢復(fù)程序運行狀態(tài)。

Jazelle DBX技術(shù)允許所有的Java指令是“可重新開始”的。這樣在執(zhí)行Java指令過程中,即刻響應(yīng)中斷,從而減少中斷延遲,確保實時性能。

在Java狀態(tài)下,有若干個ARM寄存器可以功能復(fù)用(包括棧指針、棧頂四項(top4 elements of stack)、局部變量0等)。正是這些硬件復(fù)用設(shè)計,才使得只用了很少的額外邏輯(約一萬兩千門)就實現(xiàn)了一個Java機。把所有Jazelle DBX擴展所需的狀態(tài)用ARM寄存器保存,也保證了和現(xiàn)有操作系統(tǒng)、中斷處理程序和異常處理代碼的兼容性。

把棧頂四項保存在ARM寄存器中也能提高Java性能。大量的程序分析顯示,大多數(shù)程序的棧深度是很小的,所以這項策略可以盡量減少內(nèi)存訪問,硬件也可自動處理棧溢出或下溢。

Jazelle DBX技術(shù)的性能

對于一個高度優(yōu)化的商業(yè)Java虛擬機,運行評測程序或復(fù)雜的MIDP2.0應(yīng)用,Jazelle DBX技術(shù)通常可帶來約2~4倍的性能提升,而且對實時性不會產(chǎn)生任何影響。

對于嵌入式設(shè)備來說,運行速度還不是唯一的考慮因素,功耗、存儲器占用、集成的難度、系統(tǒng)成本和用戶體驗等都很重要,需要很好的平衡。

Jazelle DBX技術(shù)把Java字節(jié)碼分為3類:直接執(zhí)行、模擬執(zhí)行(emulated)和未定義。大多數(shù)Java字節(jié)碼(ARM926EJ-S支持134個)可由 硬件直接執(zhí)行,余下的由一些簡短的高度優(yōu)化的ARM指令序列模擬執(zhí)行。把原先虛擬機中的解釋器去掉,替換以ARM專有的代碼(稱為VMZ,這些代碼甚至比 替掉的代碼更小)。

統(tǒng)計分析表明,在一段典型的程序代碼中,需要模擬執(zhí)行的字節(jié)碼不會超過5%。這就是為什么ARM決定Jazelle DBX硬件擴展只支持直接執(zhí)行部分的字節(jié)碼,而非全部。Jazelle DBX硬件擴展的實現(xiàn)約為一萬兩千門的規(guī)模,而大多數(shù)的專用Java處理器或協(xié)處理器通常有6萬到10萬門的規(guī)模。這樣的設(shè)計策略把硬件邏輯的復(fù)雜度減到 最小、功耗低、系統(tǒng)集成難度低,卻仍能表現(xiàn)出很高的整體Java性能。

未定義的字節(jié)碼與模擬執(zhí)行的字節(jié)碼截然不同。一旦執(zhí)行到未定義的字節(jié)碼,處理器退出Java狀態(tài),進(jìn)入ARM狀態(tài)執(zhí)行異常處理。有了這樣的機制,就可以以軟件補丁的方式實現(xiàn)對未來可能會擴展的Java字節(jié)碼支持。

為幫助用戶使用Jazelle DBX,ARM公司提供了JTEK件包,其中包含了VMZ源代碼,為一個現(xiàn)有的Java虛擬機和操作系統(tǒng)集成JTEK通常只需幾天時間。ARM也和主流的 Java平臺供應(yīng)商合作,如Aplix/iasolution和Sun等,在他們的軟件產(chǎn)品中加入了Jazelle DBX支持。另外,ARM和眾多操作系統(tǒng)廠商合作,主流的如WindowsCE、SymbianOS、PalmOS、Linux,以及許多實時專有的操作 系統(tǒng)都支持Jazelle DBX。

本文小結(jié)

移動Java游戲促進(jìn)了Java在無線設(shè)備上的應(yīng)用,Java固有的端對端的安全性和Java應(yīng)用開發(fā)的快捷性使Java成為新的收入增長點。在資 源有限的嵌入式設(shè)備上也需要高性能的Java平臺,Jazelle DBX這樣的加速技術(shù)正是應(yīng)對了這樣的需求,其他一些硬件或純軟件加速方案將受益于Jazelle DBX,并避免原有的各種缺點。

通過融合各種新特性的加入,ARM將在未來架構(gòu)發(fā)展中繼續(xù)支持Jazelle DBX以及后續(xù)的新技術(shù)。Jazlle技術(shù)和相應(yīng)的JTEK軟件包將更廣泛的促進(jìn)Java在嵌入式設(shè)備上的應(yīng)用,更多更新的移動Java應(yīng)用將隨之涌現(xiàn)。


支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

arm硬件支持java技術(shù)Jazelle DBX








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
欧美日韩一区二区视频在线 | 国产精品传媒视频| 久久精品欧美日韩精品| 国产精品美女一区二区| 18欧美乱大交hd1984| 亚洲欧美欧美一区二区三区| 亚洲高清三级视频| 美女尤物国产一区| 成人av在线资源网| 国产欧美精品一区二区三区| 日本亚洲导航| 欧美日韩一区久久| 久久精品亚洲国产奇米99| 亚洲同性同志一二三专区| 亚洲妇女屁股眼交7| 韩国女主播一区二区三区| eeuss鲁片一区二区三区在线看| av观看久久| 中文字幕一区综合| 欧美一卡在线观看| 亚洲欧洲成人自拍| 精品一区二区三区的国产在线播放| 国产suv一区二区三区88区| 99精品欧美一区二区蜜桃免费| 九九九九精品| 欧美电影影音先锋| 亚洲精品国产成人久久av盗摄| 免费观看在线综合| 成人在线观看av| 在线免费观看成人| 国产三级精品视频| 老司机精品视频导航| 不卡视频在线看| 久久精品第九区免费观看| 欧美日韩一级视频| 国产精品视频一区二区三区不卡| 日日摸夜夜添夜夜添精品视频| 国产v综合v亚洲欧| 涩涩涩999| 久久免费的精品国产v∧| 亚洲一区二区三区不卡国产欧美 | 欧美一区二区啪啪| 亚洲欧美另类小说| 成人h精品动漫一区二区三区| 久久综合九色综合网站| 欧美一级欧美一级在线播放| 亚洲国产欧美在线人成| 91蜜桃网站免费观看| 在线免费观看成人短视频| 中文字幕一区二区在线播放| 黄网站免费久久| 日本一区不卡| 欧美国产97人人爽人人喊| 久久精品99久久久| 日本午夜精品一区二区| 久久久久国产精品麻豆ai换脸| 日韩高清中文字幕一区| 国产亚洲精品自在久久| 日韩手机在线导航| 久久精品国产亚洲高清剧情介绍 | 国产91丝袜在线播放| 一区二区三区四区五区视频| 久久久久久麻豆| 国产精品一线二线三线精华| 一区二区在线观| 亚洲欧美日韩国产中文在线| heyzo一本久久综合| 欧美高清一级片在线| 天堂va蜜桃一区二区三区漫画版| 国内精品视频在线播放| 精品三级在线观看| 国产精品888| 欧美日韩卡一卡二| 久久精品99国产精品日本| 一级做a爰片久久| 亚洲国产一区视频| 视频一区二区精品| 樱桃视频在线观看一区| 国产视频一区二区不卡| 亚洲国产精华液网站w | 91国偷自产一区二区三区观看| 亚洲精品福利视频网站| 精品在线不卡| 国产精品国产三级国产aⅴ中文| 91一区二区三区在线观看| 欧美大胆人体bbbb| 不卡av电影在线播放| 欧美成va人片在线观看| 99久久伊人久久99| 久久久噜噜噜久久中文字幕色伊伊| 成人av在线电影| 2021中文字幕一区亚洲| k8久久久一区二区三区| 久久久久久久综合狠狠综合| 91麻豆国产在线观看| 国产欧美日韩在线观看| 国产精品 日韩| 亚洲四区在线观看| 日韩影视精品| 三级在线观看一区二区| 日本韩国精品在线| 久久97超碰色| 91精品国产一区二区三区香蕉| 国产成人综合在线| 久久只精品国产| 国产区欧美区日韩区| 亚洲免费在线观看视频| 亚洲春色综合另类校园电影| 人人超碰91尤物精品国产| 欧美日韩中文字幕精品| 国产精品一级二级三级| www精品美女久久久tv| 国产日韩亚洲精品| 亚洲国产成人av| 欧美日韩久久一区| 91免费在线播放| 亚洲精品日韩综合观看成人91| 亚洲午夜精品一区二区三区| 免费在线观看成人| 日韩免费福利电影在线观看| 99久久久久国产精品免费| 亚洲男人的天堂在线aⅴ视频| 伊人色综合影院| 成人av资源在线| 亚洲三级视频在线观看| 亚洲免费久久| 国产999精品久久| 国产精品二区一区二区aⅴ污介绍| 日本免费高清一区| 精品一区二区免费视频| 久久久久99精品国产片| 茄子视频成人在线观看| 蜜臀av性久久久久蜜臀aⅴ| 日韩美女在线视频| 免费精品视频一区二区三区| 蜜桃在线一区二区三区| 日韩欧美国产成人一区二区| 精品国产免费一区二区三区 | 色婷婷久久综合| 懂色av一区二区夜夜嗨| 亚洲女同ⅹxx女同tv| 欧美精品在线一区二区三区| www.成人三级视频| 免费的成人av| 中文字幕精品一区二区精品绿巨人 | 精品国产一区久久| 欧美少妇一区| 成人丝袜高跟foot| 亚洲动漫第一页| 久久久不卡影院| 欧美性极品少妇| 精品国产一区二区三| 国产在线精品一区二区| 亚洲精品一二三四区| 欧美成人一区二区三区片免费| 视频一区视频二区视频三区视频四区国产| 国产精品一品二品| 午夜免费久久看| 国产精品国产三级国产a| 91精品福利在线一区二区三区 | 色综合久久综合网| caoporen国产精品| 国产精品一品视频| 午夜精品福利在线| 国产精品乱人伦| 精品久久人人做人人爱| 一本在线高清不卡dvd| 精品亚洲欧美日韩| 91网站最新网址| 国产一区二区三区在线看麻豆| 亚洲激情校园春色| 国产精品久久久久久久久搜平片| 91精品综合久久久久久| 一区二区三区四区不卡| 狠狠色噜噜狠狠狠狠色吗综合| eeuss鲁片一区二区三区在线看| 日韩电影免费一区| 亚洲综合在线电影| 国产精品欧美精品| 亚洲精品一区二区精华| 欧美老肥妇做.爰bbww| 色婷婷国产精品久久包臀| 日韩精品av一区二区三区| 国产精华一区| 97久久精品午夜一区二区| 国产精品一区二区在线播放 | 日本高清久久一区二区三区| 不卡一区二区三区视频| 国产69精品久久久久毛片| 寂寞少妇一区二区三区| 日本系列欧美系列| 五月天欧美精品| 五月婷婷另类国产| 午夜免费欧美电影| 亚洲不卡av一区二区三区| 亚洲成人激情自拍| 亚洲国产欧美另类丝袜| 亚洲成av人综合在线观看| 亚洲一二三四在线观看| 亚洲国产精品一区二区www在线|