[發明專利]字節碼分支處理器及方法在審
| 申請號: | 201110220091.6 | 申請日: | 2011-07-28 |
| 公開(公告)號: | CN102566977A | 公開(公告)日: | 2012-07-11 |
| 發明(設計)人: | 辛圭桓;曹承模 | 申請(專利權)人: | 三星電子株式會社 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京銘碩知識產權代理有限公司 11286 | 代理人: | 韓明星;王艷嬌 |
| 地址: | 韓國京畿*** | 國省代碼: | 韓國;KR |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 字節 分支 處理器 方法 | ||
本申請要求于2010年12月9日提交到韓國知識產權局的第10-2010-0125688號韓國專利申請的權益,該申請的全部公開通過引用包含于此,以用于各種目的。
技術領域
以下描述涉及一種計算系統中的字節碼解釋器(interpreter),更具體地講,涉及一種用于通過有效地去除在驅動虛擬機的字節碼解釋器中可能發生的分支誤預測或流水線阻塞(stall)懲罰,來提高字節碼解釋器的性能的分支處理器和方法。
背景技術
已經進行了大量的研究來提高虛擬機的性能,以處理Java字節碼。尤其是通過即時編譯(JITC,Just-in-time?compilation)顯著地增強了虛擬機的性能。
然而,因為資源限制以及對用戶敏感的延遲(latency),嵌入式系統難以有效地引入JITC,因此嵌入式系統以有限的方式利用JITC。此外,由于應用程序的所有代碼不按JITC格式被編譯,因此解釋器的性能仍舊至關重要。
直接線程(direct-thread)方法是用于改善解釋器的性能的普遍方法之一。在該方法中,在字節碼處理機(bytecode?handler)的末尾提取下一虛擬指令并直接進行分支。該方法最近已被用于Android?Dalvik虛擬機。作為另一方法,ARM?Jazelle?DBX(直接字節碼執行)在硬件中對字節碼進行完全地處理。
直接線程方法具有以下缺點:作為間接分支指令的分支指令使得實際的處理器(例如,x86或ARM)的分支預測器迷惑,導致大量的分支誤預測以及性能方面的惡化。
也就是說,在具有普通流水線結構的處理器中,如果發生分支誤預測,則已被預測性地(speculatively)執行的所有指令被丟棄,并且處理器需要返回到分支開始的狀態。
具體地講,隨著高端超標量處理器(例如,ARM?cortex?A9)被引進到嵌入式裝置中,由于分支誤預測引起的性能惡化會被加劇。
即使在相同的程序計數器(PC)中,在直接線程方法中使用的間接分支指令根據下一虛擬指令也跳轉到不同的處理機的地址,因此基于PC的一般分支預測器可能不會正確地工作。為了解決這樣的缺點,包括選擇性的內聯和關聯線程技術(context?threading)的各種方法被引進,但是引起了代碼量增加以及發生調用/返回的開銷的缺點。
此外,諸如Jazelle?DBX的硬件實施方案(一些較不頻繁使用的指令被實現為軟件處理機)具有高性能,但是需要大量的硬件資源,并且不能處理新型的字節碼(例如,Dalvik)。
發明內容
在一總體方面,提供了一種計算系統中的字節碼分支處理器,包括:解釋器,配置為在虛擬機中以字節碼格式運行程序;分支信息產生器,配置為從分支的預測路徑提前獲得分支信息,其中,所述分支存在于在由解釋器當前處理的字節碼之前的字節碼中;分支目標緩沖器(BTB)更新器,配置為基于獲得的分支信息更新計算系統中的分支目標緩沖器(BTB)。
所述解釋器還可配置為以具有可變長度的字節碼的格式運行程序。
所述解釋器還可配置為使用具有用于運行程序的可調用的操作碼的處理機來處理字節碼。
所述處理機還可配置為包括用于跳轉到根據字節碼處理的順序處理字節碼的操作碼的代碼信息。
分支信息產生器還可配置為包括映射操作碼、字節碼的長度以及具有操作碼的處理機中的分支代碼的地址的表。
分支信息產生器還可配置為通過將分支地址和目標地址進行映射來從所述表中產生分支信息,其中,所述分支地址與在由解釋器當前處理的字節碼之前的字節碼的地址對應,所述目標地址與具有處理所述之前的字節碼的操作碼的處理機中的分支代碼的地址對應。
分支信息產生器還可配置為通過將從所述表獲得的所述之前的字節碼的長度與由解釋器當前處理的字節碼相加來產生分支地址,并基于具有處理所述之前的字節碼的操作碼的處理機中的分支代碼來產生目標地址,其中,從所述表中獲得所述分支代碼。
BTB和BTB更新器可配置為在不同的核上運行,并且存儲在BTB中的分支信息通過BTB更新器是可更新的。
字節碼分支處理器還可包括:分支預測器,配置為預測字節碼中存在的條件分支的路徑。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于三星電子株式會社,未經三星電子株式會社許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110220091.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于管理過程數據的方法和裝置
- 下一篇:立體成像設備





