計算機中文文獻翻譯英文翻譯_第1頁
計算機中文文獻翻譯英文翻譯_第2頁
計算機中文文獻翻譯英文翻譯_第3頁
計算機中文文獻翻譯英文翻譯_第4頁
計算機中文文獻翻譯英文翻譯_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

文獻翻譯中文翻稿Java處理器的評估引言在本文中,我們將提出Java處理器關(guān)于尺寸和性能的評價結(jié)果。此處理器被稱為JOP-主張優(yōu)化的Java處理器-,基于這樣的假設(shè),一個全面的本地執(zhí)行所有Java虛擬機(JVM節(jié)碼指令不是一個有用的辦法。是Java處理器的嵌入式實時系統(tǒng),特別是一個小的處理器資源受限設(shè)備的時間可預(yù)測的執(zhí)行程序。

表1出了相關(guān)的可用處理器Sun公司于1997年推出第一個版本。在研究性論文中,Sun公司的picoJava是經(jīng)常提到的Java處理器。它是用作新Java處理器的參考,并且作為提Java處理器各方面研究的基礎(chǔ)。具有諷刺意義的是,該處理器從未被為產(chǎn)品釋放過。年被重新設(shè)計,被稱為-是目前免費提供了一套豐富的文件。的結(jié)構(gòu)是一種基于堆棧的處理器,可執(zhí)行種不同的指令,是最復(fù)雜的處理器,該處理器可以執(zhí)行在約440K蓋茨。AJile的JEMCore是一種直接執(zhí)Java處理器,可作為一個IP核心和獨立的處理器。它是基于32位JEM2Java芯片開發(fā)的羅克韋爾-科林斯。該處理器包含零等待狀態(tài)RAM外圍元件。16KB內(nèi)存用于存儲寫入控制。其余的用于存儲處理器堆棧。月亮火神處理器是JVM運行在一個芯片的一個執(zhí)行。執(zhí)行模型是常用的各種直接,微碼和被困執(zhí)行。一個簡單的堆棧折疊的實施,以減少記憶體周期5至三年的指令序列像按壓式添加。該處理器可作為一個加密的高密度脂蛋白來源為Altera的VHDL或Verilog源代碼。該32位核心是一種基于哈佛結(jié)構(gòu)的混合式位處理器。程序存儲器是8位寬,數(shù)據(jù)存儲器是32位寬核心包含一個3級流水線的整數(shù)運算單元一個桶式移位器和一個位乘法單元。根據(jù)DCT變換,在同一時鐘速度下,該性能通常是RISC運行速度的倍??颇嗍且粋€擁有四階段的多線程Java處理器目的是以此為基礎(chǔ)研究實時調(diào)度的多線程微控制器。特色科莫多是教學(xué)單位,取4獨立的程序計數(shù)器和狀態(tài)標(biāo)識,為4線程。一個優(yōu)先經(jīng)理負責(zé)硬件實時調(diào)度和可以選擇一個新線程在每一字節(jié)碼指令。FemtoJava是一個研究項目,以建立一個特定的應(yīng)Java處理器。使用的字節(jié)碼的嵌入式應(yīng)用進行了分析和自定義版本的FemtoJava產(chǎn)生,從而最大限度地減少資源的使用。飛秒是不包括在第四節(jié),由于處理器不能運行即使最簡單的基準。除了真正的處理器少數(shù)第四芯片()的銷售如處理器。Java的協(xié)處理器(JSTAR)提供的行速度的通用處理器。

從表一我們可以看到,在芯片上是硬件JVM的最小實現(xiàn),也具有最高的時鐘頻率。下面一節(jié)中,將給JOP結(jié)構(gòu)的述,隨后將更詳細的介紹微碼。第三節(jié)比較OP其他軟核處理器的資源利用。第四節(jié)中,在字節(jié)碼級和應(yīng)用水平上,將比較嵌入式ava的一些不同解決方案。JOPJOP是擁有自己指令集的堆棧電腦,本文中稱為微碼。Java字節(jié)碼被翻譯成微碼指令或微碼序列。JVM和JOP之間的區(qū)別描述如下:JVM是CISC的堆棧結(jié)構(gòu),而是的堆棧結(jié)構(gòu)。圖1示的主要功能單元。典型的配置包含一個處理器核,一個內(nèi)存接口和一些輸入輸出設(shè)備。處理器核心包含三個階段微碼通道如微碼取解碼和執(zhí)行和額外的轉(zhuǎn)換階段取字節(jié)碼。這個模塊叫做擴展提供了在處理器核心。這個港口到另一個模塊的地址和數(shù)據(jù)總線的字節(jié)碼指示,支頂級元素的堆棧(A組和B組)、輸入數(shù)據(jù)和大量的控制信號。沒有直接連接處理器核心和外部世界。內(nèi)存接口為主存和處理器核之間提供聯(lián)系。它還包含了一個字節(jié)碼高速緩存器。這個擴展模塊控制數(shù)據(jù)的讀和寫。繁忙的信號用于指導(dǎo)等同步如微碼存儲器處理。核心讀字節(jié)碼指示在專用巴士(公元前地址和公元前數(shù)據(jù))從內(nèi)存子系統(tǒng)。該擴展模塊執(zhí)行三項職能含硬件加速如倍增單位在這個例子中)()控制的內(nèi)存和模塊)復(fù)用器的讀取數(shù)據(jù)這是加載到最先進的堆棧注冊。寫入數(shù)據(jù)

從頂級棧(A直接連接到所有模塊。處理器通道JOP一個完全流水線架構(gòu)碼指令執(zhí)行時間是單周期種新的方法來繪制字節(jié)碼到這些指令中去。圖2顯示的數(shù)據(jù)路徑。段組成JOP通道的三個核心階執(zhí)行微碼指令。另外一個階段的正面核心通道獲取的Java字節(jié)碼-的指示的-這些字節(jié)碼,然后轉(zhuǎn)換成地址的微碼。字節(jié)碼分行還解碼和執(zhí)行的這個階段。第二階段通道獲指示從內(nèi)部微存儲器和微執(zhí)行分支機構(gòu)。除了通常的解碼功能第三個通道階段也會產(chǎn)生地址棧內(nèi)存正如每一個堆棧機器指令或者推動的特點,有可能產(chǎn)生或泄漏地址填寫下列指示在這個階段。過去通道階段執(zhí)行運算單元操作,裝載,存儲和堆棧溢出或填寫。在執(zhí)行階段,行動都以最高的兩個要素的堆棧。堆棧機器有兩個明確的選民登記冊這兩個最上層堆棧內(nèi)容和自動填寫/泄漏既不需要額外寫回階段也沒有任何數(shù)據(jù)轉(zhuǎn)發(fā)。細節(jié)兩個級別堆疊架構(gòu)中所描述。短期通道結(jié)果短枝延誤因此很難分析對最壞情況執(zhí)行時(WCET預(yù)測的邏輯是可以避免的。B.中斷邏輯中斷被認為是難以處理的流水線處理器,這意味著執(zhí)行情況往往是復(fù)雜的(并因此消耗資源中,巧妙地使用字節(jié)碼微核的翻譯,以避免中斷處理中的核心項目。中斷執(zhí)行,特別字節(jié)碼。這些字節(jié)碼插入的硬件Java指令流。當(dāng)一個中斷,并正在等待下一個牽強字節(jié)的字節(jié)碼緩存的指示,聯(lián)系特別字節(jié)碼是用來代替指令從字節(jié)碼緩存。其結(jié)果是中斷均接受字節(jié)碼界限。在最壞的情況是先發(fā)制人拖延執(zhí)行時間的最慢的字節(jié)碼是實施微。字節(jié)碼的執(zhí)行在Java(見第二節(jié))可以被打斷。執(zhí)行中斷的字節(jié)碼,微碼映射階段保持中斷透明核心通道,避免復(fù)雜的邏輯。中斷處

理程序可以以相同的方式來執(zhí)行,當(dāng)標(biāo)準字節(jié)碼被執(zhí)行在微或。這一個特殊代碼可能會導(dǎo)致出現(xiàn)一個電話的內(nèi)部法的背景下中斷線程。這一機制含蓄的商店幾乎完整的背景下,當(dāng)前的積極線程的堆棧。C.緩存流水線處理器架構(gòu)要求更高的內(nèi)存帶寬。標(biāo)準的技術(shù),避免在處理過程中的瓶頸,由于更高的內(nèi)存帶寬是緩存。但是,緩存組織標(biāo)準提高平均執(zhí)行時間,但很難預(yù)測WCET分析。JOP可預(yù)見的緩存提議:堆棧緩存作為替代的數(shù)據(jù)高速緩存,高速緩存緩存方法的指示。由于堆棧是一個沉重存取記憶體區(qū)域,堆-部分放置在片上存儲器。這部分的堆棧被稱為堆棧緩存。填補和泄漏的堆棧緩存受到微控制,因此,時間可預(yù)測性。給出了一種新的方式組織一個指令高速緩存,高速緩存的方法。緩存商店完成方法,以及高速緩存失誤只出現(xiàn)在方法調(diào)用和返回緩存塊替換取決于呼吁樹不是指令地址。這種方法很容易緩存分析方面的最壞情況的行為,仍然提供了大量的性能比較,對解決沒有指令緩存。D.微碼下面的討論關(guān)注兩個不同的指令集:字節(jié)碼和微。字節(jié)碼的指示,使一個編譯Java程序。這些指示是由虛擬機。將JVM不承擔(dān)任何特定的實現(xiàn)技術(shù)。微碼是原生指令集的JOP。字節(jié)碼的翻譯,在其執(zhí)行,OP微。這兩個指令集是專為一extended2堆疊機。.翻譯字節(jié)碼,微碼:迄今為止,沒有任何硬體執(zhí)行的JVM存在,在硬件上能夠執(zhí)行所有字節(jié)碼這是由于以下方面一些字節(jié)碼如新而創(chuàng)建并初始化一個新的對象,是過于復(fù)雜,實施中的硬件??梢杂密浖抡孢@些字節(jié)碼。為了建立一個獨立的沒有底層操作系統(tǒng)直接訪問內(nèi)存和I/O設(shè)備是必要的沒有字節(jié)碼定義為低級別的訪問。這些低層次的服務(wù)通常是在本地執(zhí)行的職能,這意味著另一種語言(c)是本地的處理器。然而,對于一個處理器,字節(jié)碼是母語。其中一個方法來解決這個問題是執(zhí)行簡單的字節(jié)碼在硬件和仿效更加復(fù)雜和本地的軟件功能,以不同的指令集(有時也稱為微碼而,一個處理器有兩個不同的指令集,結(jié)果在一個復(fù)雜的設(shè)計。另一種較常見的解決方案,用于的,是執(zhí)行的一個子集的字節(jié)碼本地和使用軟件陷阱執(zhí)行剩余。該解決方案包含了開銷(至少個周期)的軟件陷阱。在JOP這個問題得到解決,在一個更簡單的方式。JOP一個單一的原生指令集,

即所謂的微碼。在執(zhí)行過程中,每一個翻譯J字節(jié)碼的任何一個,或一個序列的微操作這僅僅是增加了一個翻譯通道階段的核心處理器和結(jié)果沒有執(zhí)行費用這一解決方案,我們可以自由地確定JOP指令集,以圖順利堆棧結(jié)構(gòu)的,并找到一個指令編碼,可實現(xiàn)最低限度的硬件。圖3出了一個例子個數(shù)據(jù)流從序計數(shù)器JOP微節(jié)碼的牽強充當(dāng)指數(shù)為跳轉(zhuǎn)表。跳表所包含的開始地址將執(zhí)行微。此地址加載到JOP程序計數(shù)器每個字節(jié)碼執(zhí)行。在微碼中每個字節(jié)碼被轉(zhuǎn)換成一個地址如JVM已實現(xiàn)。如果存在著相當(dāng)于微指令的字節(jié)碼,這是執(zhí)行在一個周期的下一個字節(jié)碼和翻譯。對于更復(fù)雜的代碼,只是繼續(xù)執(zhí)行微在隨后的周期。本月底是編碼序列的微碼指令(視位).微:對虛擬機執(zhí)行效率,已經(jīng)到了微適合Java字節(jié)碼。由于虛擬機是一個堆疊機。但是,虛擬機是不是一個單純的堆棧機器。方法的參數(shù)和局部變量的定義是當(dāng)?shù)厝恕_@些居民可以住在堆棧幀的方法,并訪問抵消相對當(dāng)?shù)厝碎_始這一領(lǐng)域。這些變數(shù)擔(dān)任從零開始變量,如選民登記冊在常規(guī)的CPU。然而,算術(shù)和邏輯運算都是在棧中。一些字節(jié)碼,如運算單元操作和短期的形式進入當(dāng)?shù)厝?,直接實施相?dāng)于微指令(使用不同的編碼)。附加說明,可訪問內(nèi)部寄存器,主內(nèi)存和I備。相對條件分支(零/非零的服務(wù)條款)進行控制流決定在微水平。最佳利用現(xiàn)有的存儲資源,所有的指示,8位長。沒有可變長度指令,每個指令,除了等待,執(zhí)行,在一個周期。為了讓指令集,這個密集,兩個概念是適用于:兩種類型的運算,直接價值和分支的距離,一般部隊的指令集將超過8位。指令集是要么擴大到16位,在典型的處理器,或允許在可變長度的字節(jié)邊界。第一個實施的JVM的位指令集表明,只有少數(shù)幾個不同的常量是必要立即價值觀和相對處的距離。

在當(dāng)前實現(xiàn)即價值觀的不同而收集的微正在組裝并投入初始化文件為本地內(nèi)存。這些間接訪問的常數(shù)相同的方式為局部變量。它們是類似的初始化變量,除了一個事實,即沒有任何行動,以改變它們的值在運行時,將沒有任何意義,將浪費指令代碼。類似的解決辦法是用于處的距離。匯編器生成的VHDL文件與表找到的所有分支常數(shù)。此表的索引使用指示位在運行時。在運行時能夠保持一個位指令集,并提供種不同的直接價值和種不同科常數(shù)。對于一般用途的指令集,將對太多的限制。隨著微只實現(xiàn)了虛擬機,這解決方案是一個可行的選擇。為了簡化邏輯指令解碼編碼的指示是精心挑選的舉例來說有一點是明確的指示,指示將遞增或遞減的堆棧指針。抵銷訪問當(dāng)?shù)厝酥苯泳幋a的指示。情況并非如此的原始編碼相當(dāng)于字節(jié)碼(例如0x1a和1.靈活執(zhí)行的字節(jié)碼:如上所述,一些Java的字節(jié)碼是非常復(fù)雜的。解決方案已經(jīng)說明是效仿他們通過一系列的微操作。但是,一些比較復(fù)雜的字節(jié)碼是很少使用。為了進一步減少資源的影響JOP,在這種情況下,本地存儲器,字節(jié)碼,甚至可以執(zhí)行字節(jié)碼。在大會期間的虛擬機,所有的標(biāo)簽,代表了一個切入點的字節(jié)碼執(zhí)行用于生成轉(zhuǎn)換表。所有字節(jié)碼,這些地區(qū)沒有發(fā)現(xiàn)這種標(biāo)簽,即沒有實施微。該指令序列此地址從系統(tǒng)級調(diào)用一個靜態(tài)方法,這個類包含靜態(tài)方法,為每個可能的字節(jié)碼,命令的字節(jié)碼值。該字節(jié)碼作為該指數(shù)的方法表這一系統(tǒng)級。此功能也可輕松地配置資源使用與績效。資源成本與能量消耗是嵌入式系統(tǒng)的一個重要問題。芯片的成本直接關(guān)系到模具的尺寸(模具的成本大與每平方裸片面積成正比。用較少的門的芯片消耗更少的能量。嵌入式系統(tǒng)的處理器可以通過減小芯片尺寸優(yōu)化。發(fā)展JOP個主要的設(shè)計目標(biāo)是建立一個小系統(tǒng),可以實施低成本的。表二顯示了使用JOP不同資源配置和不同的軟核處理器,執(zhí)行EP1C6的FPGA實現(xiàn)。估計相當(dāng)于門計數(shù)的設(shè)計在一個芯片上是有問題的。因此,更好地進行比較的兩個基本結(jié)構(gòu),邏輯單元(立法會)和嵌入式存儲器塊。

所有配置的JOP包含一個內(nèi)存接口,32位的靜態(tài)RAM和一個位閃存程序和配置數(shù)據(jù)。最低配置實現(xiàn)乘法和行動的轉(zhuǎn)變微。在基本配置,這些行動正在實施,作為連續(xù)展位乘數(shù)和桶式移位器。典型的配置還包含了一些有益的設(shè)備,如UART和定時器中斷邏輯的多線程。典型的配置JOP需求約%的信用證在氣旋EP1C6,從而留下足夠的資源免費提供給特定應(yīng)用邏輯。尼奧斯作為參考Altera的熱門軟核心也是列入名單尼奧斯有16指令集,一個5流水線并且可以配置16位或位數(shù)據(jù)通路版本A是低配置的Nios版本B加了一個外部存儲器接口,支持和乘法計時器。版本A可比的最小配置的JOP,和版本B典型配置。(可擴展處理器的嵌入式應(yīng)用在實時環(huán)境)是一個位處理器,具有決定性的執(zhí)行時間。SPEAR包含前提指示支持單路節(jié)目。SPEAR是列入清單的,因為它也是一個處理器設(shè)計的實時系統(tǒng)。為了證明JOPVHDL代碼是盡可能的便攜式JOP在XilinxSpartan-3FPGA上實現(xiàn)了。只有實例化和初始化代碼,芯片上的存儲器是特定于供應(yīng)商的,而其余的V代碼可以被不同目標(biāo)所共享。在設(shè)備上消耗相同的計數(shù),但有一個較低的時鐘頻率(83MHz從這個對比我們可以看到,我們已達到我們的目標(biāo)是設(shè)計一個小的處理器。商業(yè)Java處理器娜萊是JOP基本配置2.3倍2.5倍較慢個典型的位處理器消耗約1.61.8倍的資源。然而處理器可以跑出%的速度比在相同的技術(shù)。尺寸上類似的唯一的處理器是。然而,盡管SPEAR是位處理器,包含一個32數(shù)據(jù)通路。表三為,,aJile處理器提供了門數(shù)估計,英特爾奔騰MMX處理器,用于在基準下一節(jié)效門數(shù)為LC5間和7.4我們選擇的一個因素6蓋茨每和1.5蓋茨每個存儲位的估計門數(shù)為JOP在表格中中所列典型的配置,消1831用證。

奔騰MMX包含4.5米晶體管這相當(dāng)于1125K茨。我們可以從表上看到芯片上的內(nèi)存主宰了整個門數(shù)的并在更大程度上對處理器。aJile處理器的12倍左右大于JOP。性能運行基準是有問題的雙方尤其是在案件的嵌入式系統(tǒng)最好的指標(biāo)將是應(yīng)用程序,是為了在系統(tǒng)上運行測試。要比較的結(jié)果規(guī)格為基準的各種制度。然而,一個用于,通常是過大的嵌入式系統(tǒng)。由于沒有一個標(biāo)準的準的嵌入式系統(tǒng)一個小基準訴訟應(yīng)運行即使是最小的設(shè)備是這里提供。它包含一些微型基準評價若干時鐘周期為單字節(jié)碼或短序列的字節(jié)碼,和兩個應(yīng)用的基準。為了提供一個切合實際的工作量,嵌入式系統(tǒng),實時應(yīng)用是適應(yīng)建立第一個應(yīng)用程序基準測試(韓國自由聯(lián)盟。中的應(yīng)用是從其中一個節(jié)點的分布式電控制系統(tǒng)。模擬的環(huán)境(傳感器和執(zhí)行者)和通信系統(tǒng)(來自主站的命令)的組成部分的基準,以模擬真實世界的工作量。第二個應(yīng)用程序基準測試是嵌入式的小型TCP/IP堆棧的一個適應(yīng)。這指標(biāo)包含兩個服務(wù)器/戶端,通過回環(huán)設(shè)備交換信息。正如我們將看到在不同的嵌入式系統(tǒng)處理能力有很大的變化為了應(yīng)付這種變化,所有基準的自我調(diào)整。每個基準包括基準循環(huán)這一方面。循環(huán)計數(shù)以適應(yīng)自己,直到基準運行超過一秒鐘。然后計算每秒迭代的數(shù)量,這意味著更高的價值顯示更好的效果。所有的基準衡量往往是一個職能是執(zhí)行每秒。在韓國自由聯(lián)盟基準,此功能包含了主回路的應(yīng)用程序在執(zhí)行定期周期在原來的應(yīng)用程序?;鶞实牡却乱黄诘倪z漏,使測量的時間僅代表執(zhí)行時間。數(shù)據(jù)基準含代要求,轉(zhuǎn)遞通過的UDP/IP議棧,產(chǎn)生的答案和轉(zhuǎn)遞回作為基準功能循環(huán)計數(shù)適應(yīng)本身的運行直到基準超過一秒鐘迭代的數(shù)量,然后每秒計算,這意味著更高的價值顯示更好的效果。下面的列表簡要介紹了系統(tǒng):JOP實施氣旋的行在100MHz要的記憶是一個位的(15ns)

的存取時間為2時鐘周期。該基準配置JOP包含快4KB法組織的16區(qū)塊。的典范低端嵌入式設(shè)備我們使用RCX機器人控制器的MINDSTORMS從樂高系列。它包含一個位日立H8300微控制器,運行速度為16MHz。是一種微小的解釋的JVM的TINI的是增強型8051克隆軟件運行的JVM。結(jié)果表明,從一個自定義的局與晶體,以及芯片的PLL率設(shè)置為一個因素。KVM是司的,認為是有限連接設(shè)備配置(CLDC)以NiosII處理器的微作系統(tǒng)。尼奧斯是實施氣旋與FPGA頻率。除了不同的時鐘頻率,這是一個很好的解釋比較的JVM中運行相同的作為JOP?;鶞实慕Y(jié)果,得到了科莫多馬蒂亞斯佩弗關(guān)于周期精確的仿真科莫多。

AJile的JEMCore是一種直接執(zhí)行的處理器,它有兩個不同版本:在和AJ100。開發(fā)系統(tǒng)包含與一個8位內(nèi)存鐘頻率為74MHz該SaJe局從Systronix包含aJ100這是主頻103MHz并包含與10ns的SRAM。該(嵌入式Java制器)平臺就是一個典型的例子的生產(chǎn)系統(tǒng)的處理器。該系統(tǒng)是基于位ARM720T處理器,運行在。它最多可包含的SDRAM和高達16MB的NOR閃存。Gcj是的GNU編譯器。此配置代表了一批編譯器解決方案,運行在266MHz奔騰。MB是實現(xiàn)Java時RISC處理器的一個FPGAJava是匯編到的Java譯器的實時系統(tǒng)和C編譯程序的標(biāo)工具鏈。圖4,幾何平均數(shù)的兩個應(yīng)用基準證明。該單位使用的結(jié)果是反復(fù)每秒。請注意,縱軸是個對數(shù),以獲取有用的數(shù)字顯示的巨大變化的表現(xiàn)。頂端圖顯示絕對業(yè)績,而底部圖顯示相同的結(jié)果推廣到1MHz時鐘頻率。結(jié)果應(yīng)用基準和幾何平均值列于表四。應(yīng)當(dāng)指出的是,擴展到一個單一的時鐘頻率能夠證明問題。處理器的時鐘頻率和內(nèi)存存取時間不一定能保持下去一個例子果我們要增加結(jié)果的100MHzJOP到1GHz,這也將涉及減少內(nèi)存訪問時間從到處理器1GHz的時鐘頻率已經(jīng)面市但最快的異步迄今訪問時間。A討論在比較JOPAJile理器對,TINI和KVM,我們可以看到,一個處理器是高達500倍的速度進行了解釋的JVM標(biāo)準處理器的嵌入式系統(tǒng)。平均性能JOP至

不如的JIT編譯器解決方案,嵌入式系統(tǒng),所代表的系統(tǒng)。即使規(guī)模相同的時鐘頻率,匯編在PC機上的(Gcj)的是速度遠遠超過何嵌入式解決方案。然而,內(nèi)核的應(yīng)用小于4KB。因此,它適合在一級緩存的MMX(16KB+16KB于一個比較奔騰級處理器,我們需要一個更大的應(yīng)用。JOP7AJ80Java處理器的流行JStamp局。然而aJ80處理器僅包含一個8位內(nèi)存接口,并患有這一瓶頸。該系包含aJ100位,的靜態(tài)存儲器,是10左右,低于JOP15nsSRAM內(nèi)存。MicroBlaze系統(tǒng)是一個代表性的JavaRISC處理器。MicroBlaze配置相同cache6作為JOP頻率相同的頻率。約快4倍,過這一解決方案,從而顯示,本地執(zhí)Java字節(jié)碼的速度超過批次編譯Java建立類似的系統(tǒng)。但是,結(jié)果MicroBlaze解決正處在一個初步stage7,因為Java2C譯目前仍在發(fā)展。微觀基準的目的是深入了解執(zhí)行的在表五我們可以看到的執(zhí)行時間在時鐘周期的各個字節(jié)碼。因為幾乎所有字節(jié)碼操作棧,它是不可能的措施的執(zhí)行時間為一個單一的字節(jié)碼為一項起碼要求二個指令是必要的扭轉(zhuǎn)堆棧操作編版本的,這些微型基準不產(chǎn)生有益的結(jié)果。編譯器進行優(yōu)化,使之無法衡量的執(zhí)行時間在這個罰款1度。我們可以推斷該WCET簡單的字節(jié)碼也是平均執(zhí)行時間我們可以看到結(jié)合iload和執(zhí)行在兩個周期這意味著這兩個行動的執(zhí)行在一個周期字節(jié)碼的iinc是少數(shù)指示不操縱棧和可以衡量的為不是硬件實施們已經(jīng)總共有11個周期微執(zhí)行。它是公平的,這包括承擔(dān)太大的開銷的指示,發(fā)現(xiàn)在每一個迭代循環(huán),一個整數(shù)索引。然而,決定執(zhí)行這一指示在微源于觀察的動態(tài)指令計數(shù)只有2%。序列的分支基準(如icmplt)載有兩個負載指示,推動論點到堆棧。然后消費的分支指令。這一基準驗證分行需要不斷四個周期JOP,無論采取與否。在評價aJile系統(tǒng)的行為進行了觀察的JStamp局工作頻率為7.3728MHz和內(nèi)部頻率可以設(shè)置一個鎖相環(huán)定80MHz和最高頻率的因素于因此。運行基準不同的PLL設(shè)置了一些奇怪的結(jié)果例如如果設(shè)置的乘法器該aJ80約為12.8倍更快!其他的PLL因素也導(dǎo)致了大于線性加速。唯一的解釋是,我們能找到的內(nèi)部時間,用于基準取決于鎖相環(huán)設(shè)置。以比較的掛鐘時間表明,內(nèi)部時間

aJ80是23%,以更快的因子1和2.4%的速度的因素-屬性,我們不會期望在處理器市場上的實時時間系統(tǒng)。該委員會還可以遭受所描述的問題。B.執(zhí)行時間抖動

實時系統(tǒng),最壞情況下的執(zhí)行時間是相當(dāng)重要的。我們測量了執(zhí)行時間的幾個反復(fù)的主要職能從韓國自由聯(lián)盟基準。圖顯示的測量,規(guī)模的最低執(zhí)行時間。從一個四周期的迭代過程中可以看出。這一時期從模擬結(jié)果從基站命令執(zhí)行每隔4迭代。在迭代10中,一個命令,啟動馬達發(fā)出。我們認為,由此而造成的執(zhí)行時間,迭代12理此命令。在迭代中,仿真觸發(fā)傳感器和電機最后停止。不同應(yīng)用模式的不同的執(zhí)行時間在仿真設(shè)計中是固有的然而在JStamp中時間最長和最短期限之間的比例為五,在Gcj統(tǒng)中為四,在JOP統(tǒng)中只有三。因此,一個帶有AJile處理器系統(tǒng)需要系統(tǒng)快倍以提供相同的WCET量在迭代中我們可以看到JStamp系統(tǒng)更高的執(zhí)行時間,在JOP中沒有看到。在迭代33這種變化不是由基準造成的。Linux系統(tǒng)下Gci的執(zhí)行時間表明一些高峰(最低倍數(shù)字中沒有顯示)。這個觀察是預(yù)料之中的事,因為Gcj/Linux系統(tǒng)不是一個實時的解決方案。JITsolution進行測量,但沒有數(shù)字。在仿真的某些時候,由于編譯器的調(diào)用,最大的和最小的運行時間之間的最差比例是1313,說明JITcompiler在實時應(yīng)用中是不實際的。應(yīng)當(dāng)指出的是,執(zhí)行時間測量并不是一種獲WCET計的安全方法。然而在沒有析工具情況下是可行的,它可以提供不同系統(tǒng)的WCET行為的一些洞察。

外文文資EvaluationofaJavaProcessor1.Inthispaper,wewillpresentevaluationfora,withsizeThisiscalled–whichstandsforProcessor–,basedontheassumptionafullimplementationofallVirtualMachineinstructionsnotapproach.JOPisaJavaforembeddedreal-timeinafordevicesexecutionofJavaprograms.IroducedtheofpicoJavain1997.Sun’spicoJavaistheJavaprocessormostinpapers.ItusedfornewtheforresearchintoimprovingofIronically,thiswasaproductbyAfollowedthatnowwithaofTheofpicoJavaisastack-basedCISC341differentinstructionsisthemostcomplexThecaninabout440KAJileJEMCoreisadirectJavaprocessorbothanIPastand.Itbasedon32-bitJEM2Rockwell-Collins.Theprocessor48KBzeroRAMofRAMusedThe32KBisusedstorageof

VulcanASIC’sMoonprocessoranimplementationofJVMinanTheexecutiontheoften-usedmixofdirect,microcodeAsimpleimplementedinorderreducefivecyclesforlikeTheMoon2isansourceforAlteraorasVHDLorsourcecode.TheLightfootisahybrid8/32-bitprocessorHarvardis8widedata32wide.containspipelinewithintegerALU,barrelshifterandamultiplystepunit.toDCT,theistypically8timesthanRISCclockspeed.KomodoamultithreadedJavawithafour-stageItisforreal-timeschedulingTheuniqueofKomodoistheinstructionfetchunitwithfourprogramforfourthreads.Aprioritymanagerforreal-timeschedulingcanaafterbytecodeinstruction.FemtoJavaaanapplicationspecificJavaTheusageofembeddedapplicationiscustomizedofFemtoJavageneratedinordertominimizetheFemto-JavanotinIVascouldnotruneventhesimplestbenchmark.BesidestherealJavaafewFORTH(CjiparemarketedJavacoprocessors(JazelleJavaexecutionforgeneral-purposeFromTableIcanseethatJOPisthesmallestofahardwareJVMinalsohashighestfrequency.Infollowingsection,aoverviewofofisbyadescriptionofthemicrocode.SectionIIIcomparesJOP’susagewithprocessors.InSectionIV,anumberofforJavaatlevelandat.ArchitectureJOPacomputerwithitsownset,calledmicrocodeinpaper.bytecodesaremicrocodeinstructionsbetweentheJVMandJOPisthefollowing:TheJVMisaCISCstackaFigure1showsJOP’smajorfunctionunits.AtypicalconfigurationofcontainsaIO

Theprocessorcontainsmicrocodepipelinestagesmicrocodefetch,executeanadditionaltranslationbytecodefetch.Thecalledthelinkbetweencore,thememoryandIOportstomodulesforinstructions,twotopofthestack(AandB),toaofsignals.ThereisdirectbetweentheprocessorTheinterfaceprovidesconnectionbetweenthemainmemorytheItalsothecache.extensionreadandwrite.signalisbythemicrocodewaitsynchronizecorewithThebytecodeinstructionsthrough(BCdata)frommemorysubsystemTheit(suchasmultiplierunitincontrolmemoryandI/Otheforreadthatisfromthetop-of-stackisconnecteddirectlytoPipelineJOPafullywithsingleofinstructionsnovelapproachtotoinstructions.forJOP.

stagesformtheJOPcoreexecutingmicrocodeAninofthepipelinefetchesJava–instructionsofJVM–translatestheseintoaddressesBytecodebranchesalsodecodedexecutedinthisstage.Thesecondfetchesinstructionsfrominternalmicrocodemicrocodebranches.BesidesthirdpipelinestagealsoaddressesforthestackAseverymachineeitherpoppushcharacteristics,itisgeneratefillorspilladdressesforfollowingthisThepipelineperformsALUload,storestackspillfill.Atexecutionstage,withtwooftheAstackmachinewithtwoexplicitforelementsautomaticfill/spillneitherextraanyof.TheshortresultsinshortbranchTherefore,toanalyze,withrespectWorstbranchpredictioncanB.InterruptLogicconsideredhardtoinbeInJOP,bytecodemicrocodetranslationusedcleverlytohavingtohandleincoreareimplementedbytecodes.TheseareinsertedthehardwaretheJavastream.Whenaninterruptpendingthefetchedfromisaninstruction,associatedspecialisinsteadoffromTheisthatinterruptsareatbytecodeboundaries.worst-casedelayexecutiontimeofslowestthat

implementedinmicrocode.BytecodesareinSectionII-D)canbeTheimplementationofinterruptsatinterruptstransparentthelogic.InterrupthandlersbeimplementedinthesamestandardbytecodesareinmicrocodeJava.specialcanresultinofaJVMmethodintheofinterruptedthread.implicitlyalmostcompletecontextthecurrentthreadonC.CacheAforbandwidth.Atoavoidprocessingbottleneckshigherisstandardorganizationstheexecutionbutaredifficultpredictforanalysis.TwocachesproposedforJOP:acachesubstitutionforcacheandmethodtoinstructions.thestackisaheavilyaccessedregion,

–orpartofit–isplacedinon-chipmemory.Thisofisasthestackcache.Fillandspillofcacheistothereforetime-predictable.anovelwaytoaninstructioncache,asmethodcachemethods,missesoccuronmethodinvocationandreturn.blockontree,ofThismethodiseasytowithrespectworst-casestillsubstantialagainstwithoutD.MicrocodeThefollowingtwodifferentinstructionsets:bytecodemicrocode.BytecodesareinstructionsthatupaJavaTheseinstructionsexecutedbyavirtualJVMdoesnotanytechnology.Microcodeisthenativeinstructionforaretranslated,duringtheirintomicrocode.Botharedesignedforextendedmachine.(1).TranslationofBytecodesTodate,noimplementationofJVMthatisofallbytecodesinalone.Thisistothefollowing:somebytecodes,new,whichanewaretoocomplextoimplementhardware.havetobebysoftware.aself-containedJVMwithoutoperatingsystem,accesstoI/Onecessary.Therenobytecodesforlow-level

Theselow-levelservicesusuallyimplementednativewhichthatanother(C)isnativetoforbytecodeisproblemtoimplementsimplebytecodesintoemulatecomplexnativefunctionsinwithadifferentawithtwodifferentsetsresultsacommonsolution,usedinSun’spicoJava,aofnativeuseatraptotheThisentailsanminimumofcyclesinforthesoftwaretrap.Inthisissolvedinway.JOPhasasingleinstructiontheso-calledmicrocode.Duringexecution,Javaistranslatedtoeitherasequencemicrocodeinstructions.ThistranslationmerelyaddspipelinestagetocoreinnoexecutionWithwefreetodefinetheJOPtomaptoofJVM,andfindaninstructioncodingcanbeimplementedwithminimalhardware.3anexampleofflowfromprogramJOPThefetchedbytecodeactsasfortablecontainsthestartforJVMimplementationinaddressprogramforeveryexecuted.EveryistoaninmicrocodethatJVM.Ifthereexistsanequivalentmicroinstructionforbytecode,itisincycleandnextbytecodeistranslated.Forcomplexbytecode,JOPjustcontinuestoexecutemicrocodeinsubsequentofsequencecodedinthemicrocode(asnxtbit).FortheJVMtobeimplementedefficiently,thehastofittobytecode.theJVMamicrocodeisalso

theJVMispuremachine.MethodparametersvariablesThesecanresideinastackframeofmethodandwithanoffsettheoflocalsarea.Additionalareavailableatthemicrocodelevel.ThesescratchlikeinaconventionalCPU.areonSomebytecodes,suchasALUoperationstheshortformaccesstolocals,directlyimplementedbyanequivalentmicrocode(withdifferentencoding).Additionalinstructionsareaccessinternalregisters,mainI/OArelativeofperformsflowdecisionsthemicrocodeForoptimumoftheavailableallinstructionsare8long.Therenoinstructionseveryinstruction,exceptionof,executedinasinglecycle.keepthesetthisdense,twoareapplied:Twotypesofdistances,normallyantolonger8bits.Thesetis1632intypicalorbeofvariablelengthatboundaries.AfirstimplementationofJVMwitha16-bitthatonlyasmallofdifferentarenecessaryforimmediaterelativedistances.InthecurrentoftheimmediatecollectedwhilemicrocodeisbeingassembledputintotheinitializationfileforthelocalRAM.accessedindirectlyintheasvariables.Theyaresimilartofromfactthataretotheirvalueduringruntime,whichwouldservepurposewouldAsimilarsolutionisfordistances.assemblerVHDLwithforallfoundbranchindexedbitsduringruntime.Theseindirectionsduringmakeittoset,andprovide16differentimmediatebranchForpurposeset,thesewouldimposemanyrestrictions.AsmicrocodeonlytheJVM,thissolutionisasimplifyfordecoding,thecodingcarefullychosen.ForbitinthewhetherwillincrementdecrementTheoffsettothelocalsisdirectlyencodedintheinstruction.notcasefortheoriginalofbytecodes00x1aand1is(3)FlexibleofBytecodes:above,Javabytecodesarecomplex.alreadyistoemulatethemthroughsequenceof

microcodeinstructions.However,ofcomplexbytecodesseldomused.TofurtherreduceresourceimplicationsforJOP,incaselocalmemory,canevenbebyJavaassemblyoftheJVM,alllabelsrepresentanentryforbytecodeimplementationareusedtogeneratetranslationtable.Forallbytecodesforwhichnoisfound,i.e.isnoimplementationinisThesequencethisinvokesmethodclass.methods,oneeachbytecode,bythebytecodevalue.Theusedasinthemethodofsystemclass.Thisfeaturealsoallowsfortheofusageperformance.ResourceUsageenergyconsumption,isanforembeddedsystems.costofisrelatedtosizecostperisroughlytoofwithfewerconsumeProcessorsforsystemsoptimizedforminimumchipsize.objectiveinoftosmallthatcouldbeinlowcostFPGA.TableIItheusageforofJOPanddifferentinanAlteraEP1C6FPGA.equivalentfordesignsinanisItistothestructures,LogicCells(LC)andmemoryAllofJOPcontainato32-bitRAMand8-bitforJavaprogramtheFPGAminimummultiplicationandtheshiftinInconfiguration,theseimplementedasaBoothmultiplierandbarrelshifter.typicalconfigurationusefulI/OdevicessuchanUARTawithformulti-threading.typicalofneeds30%the

inathusleavingresourcesforAsareference,,Altera’spopularsoftalsointhehasaa5-stagecanbeconfiguredwithaorAistheminimumofVersionBaddsanexternalinterface,multiplicationtimer.AwiththeminimalconfigurationofandVersionBwithtypicalconfiguration.forEmbeddedApplicationsinReal-timeisa16-bitwithdeterministicexecutioninstructionstosingle-pathisinthelistitisalsoforreal-timethatVHDLcodeforJOPisaswasalsoinaXilinxFPGA[26].OnlyinstantiationinitializationforwhilsttheofVHDLcodebeforJOPabouttheLCLCs)inthehasaclock(83MHz).FromcomparisonweseethatweobjectiveofdesigningasmallThecommercialJava2.3times2.5slower)intheconfiguration.Atypicalabout1.8timesofHowever,canclockedthanJOPthesameTheonlyprocessorthatsimilarinsizeisisaJOPadataIIIprovidesfortheaJileprocessor,theIntelPentiumMMXprocessorthatusedinbenchmarksinEquivalentcountforanLCbetween5.57.4–aofperLCand1.5gatesmemorybitforthegatecountforinJOPintypicalthatconsumesLCs.PentiumMMXtransistors[27]thattogates.Weseefromthaton-chipmemorydominatesthegatecountofJOP,

angreaterofaJileprocessor.Theprocessor12largerJOP.4.PerformanceRunningbenchmarksisproblematic,generallyandespeciallyintheofThebestwouldbeapplicationthatisintendedtorunonthesystembeingtested.getcomparableresultsbenchmarksfortheforthe[28],usuallyforembeddedsystems.absenceofJavaforsystems,asmallsuitthatruneventhesmallestisprovidedItmicro-benchmarksfortheofcyclesforsinglebytecodesofbytecodes,twoapplicationToproviderealisticworkloadforembeddedsystems,aapplicationwasadaptedcreatethe(Kfl).Theapplicationistakenfromoneofnodesofmotorcontrolsystem.Aoftheenvironmentcommunicationsystemfromstation)formsofthebenchmark,tothereal-worldTheanadaptationofatinyTCP/IPforThisbenchmarkcontainstwoexchangingmessagesviaawewillsee,isainprocessingpowerembeddedToforthisvariation,allbenchmarksare‘selfadjusting’.Eachbenchmarkconofanaspectthatisbenchmarkedinacountadaptsitselfuntiltherunsforasecond.iterationspersecondiswhichthathigherindicatebetterperformance.AllbenchmarkshowaexecutedInKflbenchmark,loopofthethatexecutedinaperiodiccycleintheoriginalapplication.Inthewaitperiodisomitted,sothatthesolelytime.TheUDPcontainstheofitthroughtheUDP/IPtheanditbackasafunction.TheiterationcountistheanswersperThefollowinglistaofthesystemsthatJOPimplementedinCycloneFPGA,runningThemainisa(15ns)withanaccessofclockconfigurationof4KBmethod[in16blocks.AsexamplefordeviceuseRCXrobotfromtheLEGOIta16-bitHitachiH8300microcontroller[30],

16MHz.atinyinterpretingJVMfortheRCX.TINIisancloneasoftwareJVM.werefromcustomboardwith20MHzcrystal,andthechip’sPLLissettoafactorof2.KVMisaportoftheSun’sKVMthatispartoftheConnectedLimited(CLDC)IIprocessorMicroCLinux.isonCycloneFPGAwith50MHz.BesidesthedifferentclockthisgoodcomparisonofinterpretingJVMintheTheresultsofKomodowerebyMatthiasPfefferonofaJile’sJEMCoreisdirectthatindifferentversions:aJ80theaJ100.AtheJStamp,containsaJ80an8-bit74MHz.TheSaJefromaJ100thatclockedwith103MHzcontainsSRAM.TheController)platformatypicalexampleofsystemRISCThesystemisbasedARM720Tat74MHz.It64MBSDRAMupto16offlash.istheforJava.Thisrepresentsa266MHzLinux.MBofonforanFPGA(XilinxMicroBlazeCaJavafortheCprogramiswiththeGNUtoolchain.InFigurethegeometricoftwoapplicationbenchmarksisshown.Theunitforiterationssecond.Notethattheverticalaxisisintoobtainusefulfigurestointopdiagramwhilethebottomdiagramto1MHzclockfrequency.resultsofbenchmarksandgeometricinItshouldbenotedthattosingleclockfrequencycouldproveTherelationbetweenclockbegiveanifweweretoincreaseof100MHzJOPto1GHz,wouldmemorytimefrom15nstoProcessorswith1GHzarebutanaccesstimeof10ns.WhencomparingJOPtheaJileagainstTINI,andKVM,weseethatup500thananinterpretingJVMstandard

67foransystem.averageofevensolutiononansystem,thesystem.67scaledtosamefrequency,thecompilingJVMonaPCmuchthaneitherembeddedsolution.However,theofthe4KBItfitsintheonecacheofPentiumMMX(16KB+16KB).withaPentiumclasswewouldaJOPaboutthanaJ80JavaonJStampboard.theaJ80processorcontainsan8-bitinterface,fromthisbottleneck.SaJecontainstheaJ10032-bit,10nsSRAMsisaaboutthanwith15nsTheMicroBlazeaofbatchcompilationsystemforRISCMicroBlazeconfiguredwithsameJOPclockedatfrequency.thanthissolution,thusthatnativeexecutionofJavathanbatch-compiledJavaHowever,resultsoftheMicroBlazeareapreliminarystage,theJ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論