[實(shí)用新型]用于提高Java處理器取指令帶寬的字節(jié)碼緩沖裝置無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 200920232365.1 | 申請(qǐng)日: | 2009-09-30 |
| 公開(kāi)(公告)號(hào): | CN201548950U | 公開(kāi)(公告)日: | 2010-08-11 |
| 發(fā)明(設(shè)計(jì))人: | 柴志雷;張平;梁久禎;任小龍 | 申請(qǐng)(專(zhuān)利權(quán))人: | 江南大學(xué) |
| 主分類(lèi)號(hào): | G06F9/30 | 分類(lèi)號(hào): | G06F9/30 |
| 代理公司: | 無(wú)錫盛陽(yáng)專(zhuān)利商標(biāo)事務(wù)所(普通合伙) 32227 | 代理人: | 顧吉云 |
| 地址: | 214122 江蘇*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 提高 java 處理器 指令 帶寬 字節(jié) 緩沖 裝置 | ||
(一)技術(shù)領(lǐng)域
本實(shí)用新型涉及Java處理器,具體為一種用于提高Java處理器取指令帶寬的字節(jié)碼緩沖裝置。
(二)背景技術(shù)
計(jì)算機(jī)的指令集一般分為兩類(lèi):一類(lèi)是固定長(zhǎng)度的指令集,即不論指令類(lèi)型如何,都保持相同的長(zhǎng)度,它的優(yōu)點(diǎn)是在取指令的同時(shí)就可以判斷并取到一條完整的指令,便于指令的流水執(zhí)行,其不足之處是指令都占據(jù)相同的長(zhǎng)度,不利于節(jié)省指令存儲(chǔ)空間,固定長(zhǎng)度的指令集多用于簡(jiǎn)單指令集計(jì)算機(jī)(RISC)系統(tǒng)中;另一類(lèi)是變長(zhǎng)指令集,即不同的指令具有不同的長(zhǎng)度,它的優(yōu)點(diǎn)是可以盡量縮減指令長(zhǎng)度,有利于節(jié)省指令存儲(chǔ)空間,其不足之處是無(wú)法在取指令的同時(shí)確定該條指令的完整長(zhǎng)度,只能在對(duì)操作碼部分譯碼之后才能確定并讀取后續(xù)部分,不利于指令的流水執(zhí)行,所以多用于復(fù)雜指令集計(jì)算機(jī)(CISC)系統(tǒng)中。
Java處理器是指能以硬件直接執(zhí)行Java虛擬機(jī)指令集的處理器。Java虛擬機(jī)的指令集(即字節(jié)碼)屬于長(zhǎng)度不固定的指令集,其指令除了極個(gè)別之外,絕大多數(shù)不超過(guò)4個(gè)字節(jié)。Java處理器通常的做法,就是和指令存儲(chǔ)器以1個(gè)字節(jié)寬度的接口進(jìn)行字節(jié)碼讀取,在取指令階段只讀取第一個(gè)字節(jié)(操作碼所在的字節(jié)),而在譯碼段獲取到整個(gè)字節(jié)碼長(zhǎng)度后再進(jìn)行后續(xù)字節(jié)的讀取。由于要多次以1個(gè)字節(jié)的寬度訪(fǎng)問(wèn)指令存儲(chǔ)器,影響到了處理器性能的提高。
目前也有通過(guò)指令緩存來(lái)提高取指令帶寬的方法,它是將字節(jié)碼從指令存儲(chǔ)器讀出并以4字節(jié)為單位寫(xiě)入一個(gè)由多個(gè)寄存器組成的緩沖,然后根據(jù)指令實(shí)際長(zhǎng)度從寄存器緩沖的輸出多路開(kāi)關(guān)中讀取正確的字節(jié)碼;如果讀出的指令超過(guò)一個(gè)字,則將寄存器緩沖中的數(shù)據(jù)向前移動(dòng)一次。這種方法的特點(diǎn)是寄存器組較大時(shí)可以提供較好的指令預(yù)取性能,但是指令轉(zhuǎn)移等會(huì)導(dǎo)致其利用率下降,所以需要確定合適的寄存器組大小,這樣既能較好地滿(mǎn)足譯碼部件的取指需求,又能減少硬件的設(shè)備量。
(三)發(fā)明內(nèi)容
針對(duì)上述問(wèn)題,本實(shí)用新型提供一種用于提高Java處理器取指令帶寬的字節(jié)碼緩沖裝置,使用該裝置可以提高處理器的性能。
本實(shí)用新型裝置的技術(shù)方案是這樣的:
其包括字節(jié)碼寄存器、多路選擇模塊、字節(jié)碼緩沖以及控制模塊,所述字節(jié)碼寄存器、多路選擇模塊及字節(jié)碼緩沖順序相連;所述字節(jié)碼寄存器的輸入端與所述指令存儲(chǔ)器相連,所述字節(jié)碼緩沖的輸出端與Java處理器的譯碼段相連;所述控制模塊的輸入端與Java處理器的譯碼段相連,所述控制模塊的輸出端分別與所述字節(jié)碼寄存器、多路選擇模塊及字節(jié)碼緩沖相連,對(duì)其進(jìn)行邏輯控制;所述字節(jié)碼寄存器是32位的,用來(lái)存儲(chǔ)從指令存儲(chǔ)器讀出的以32位為單位的字節(jié)碼;所述字節(jié)碼緩沖是64位的,其高4個(gè)字節(jié)與Java處理器的譯碼段相連,為其提供一個(gè)完整的字節(jié)碼。
其進(jìn)一步的技術(shù)方案為:
所述多路選擇模塊包括第一級(jí)多路選擇器及第二級(jí)多路選擇器,第一級(jí)多路選擇器負(fù)責(zé)將字節(jié)碼寄存器的有效字節(jié)按照字節(jié)順序選擇到8個(gè)字節(jié)序列中的正確位置,第二級(jí)多路選擇器負(fù)責(zé)將第一級(jí)多路選擇器輸出的字節(jié)以及原字節(jié)碼緩沖中的剩余字節(jié)統(tǒng)一排序并送到字節(jié)碼緩沖的正確位置;
所述字節(jié)碼緩沖采用具有預(yù)取功能的cache。
本實(shí)用新型所提出的字節(jié)碼緩沖長(zhǎng)度固定在64位,其輸出固定在最高的4個(gè)字節(jié),避免了輸出時(shí)對(duì)多路選擇器的需要。其主要目的就是“整存零取”,以和處理器相同的工作頻率把32位為單位的字節(jié)碼送入字節(jié)碼緩沖,以不同長(zhǎng)度讀出并將后續(xù)字節(jié)碼往前推,使可用的字節(jié)碼總保持在固定的位置。
本實(shí)用新型在字節(jié)碼緩沖的可用空間不小于4個(gè)字節(jié)時(shí),就從寄存器讀取4個(gè)字節(jié),并通過(guò)多路選擇模塊將其送到緩沖的正確位置,使待執(zhí)行字節(jié)碼總完整存在于高字節(jié)中,因?yàn)榇龍?zhí)行字節(jié)碼總能在一個(gè)周期內(nèi)取完整,減少了訪(fǎng)存次數(shù),提高了取指令帶寬。
本實(shí)用新型從兩方面提供處理器性能,一是在取指令同時(shí)將可能的操作數(shù)同時(shí)取出,避免了多次訪(fǎng)問(wèn)存儲(chǔ)器;二是利用取指令每次4字節(jié),而多數(shù)字節(jié)碼不足4字節(jié),產(chǎn)生一定時(shí)間可用于將指令預(yù)取到字節(jié)碼緩沖,從而隱藏了訪(fǎng)存時(shí)間。
(四)附圖說(shuō)明
圖1為本實(shí)用新型裝置的結(jié)構(gòu)示意及方框圖;
圖2為本實(shí)用新型中的多路選擇模塊的數(shù)據(jù)通路示意及方框圖;
圖3為本實(shí)用新型中的控制模塊的示意及方框圖;
圖4為本實(shí)用新型中的字節(jié)碼緩沖的輸出接口示意及方框圖。
(五)具體實(shí)施方式
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于江南大學(xué),未經(jīng)江南大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/200920232365.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 基于支持類(lèi)的標(biāo)識(shí)來(lái)下載Java應(yīng)用的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品
- 啟動(dòng)JAVA應(yīng)用的方法及裝置
- Java虛擬機(jī)的管理方法、監(jiān)控系統(tǒng)和監(jiān)控代理模塊
- 一種運(yùn)行Java程序的方法和裝置
- 一種保護(hù)java程序的方法
- Java卡的Java代碼補(bǔ)丁方法
- 一種基于中間件架構(gòu)下java棧的多線(xiàn)程實(shí)現(xiàn)方法
- 一種支持JAVA卡補(bǔ)丁函數(shù)的智能卡
- 一種改進(jìn)的Java卡初始化方法和Java卡
- JavaEE平臺(tái)構(gòu)建方法、JavaEE平臺(tái)及云端系統(tǒng)





