TWI515651B - 用以增加指令集密度的編碼技術 - Google Patents
用以增加指令集密度的編碼技術 Download PDFInfo
- Publication number
- TWI515651B TWI515651B TW101150586A TW101150586A TWI515651B TW I515651 B TWI515651 B TW I515651B TW 101150586 A TW101150586 A TW 101150586A TW 101150586 A TW101150586 A TW 101150586A TW I515651 B TWI515651 B TW I515651B
- Authority
- TW
- Taiwan
- Prior art keywords
- instructions
- instruction
- compression
- user input
- information
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30156—Special purpose encoding of instructions, e.g. Gray coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
本發明大體而言係關於電腦處理且尤其係關於指令集架構。
指令集係處理器識別及執行的一組機器指令。存在多種已知的指令集架構,包含由Intel Corporation開發之x86指令集架構。指令集包含處理器支援的指令之集合,該等指令包含:算術、布耳、移位、比較、記憶體、控制流、周邊存取、轉化及系統操作。指令集架構包含指令集、暫存器檔案、記憶體及操作模式。暫存器檔案包含程式員可存取的儲存器。記憶體係記憶體之邏輯組織。操作模式包含指令之子集,該指令子集基於處於特定模式而取得特權。
x86一詞指原8086處理器之後發佈的Intel®處理器。此等處理器包含286、386、486及Pentium處理器。若電腦之技術規範指定該電腦係基於x86架構,則意味該電腦使用Intel處理器。因為Intel之x86處理器係向後相容的,所以較新的x86處理器可運行較老處理器可運行的所有程式。然而,較老處理器可能無法運行已針對較新x86處理器
優化之軟體。
編譯器係在執行程式之前將以進階語言編寫的程式之原始碼翻譯成目標碼之程式。因此編譯器接受原始碼程式及使用指令集架構將該程式翻譯成一系列指令。處理器接著解碼此等指令及執行解碼的指令。
依據本發明之一實施例,係特地提出一種方法,該方法包括:壓縮一處理器的一指令集。
12‧‧‧編譯器
14‧‧‧再編碼器
16‧‧‧暫存器傳送邏輯
18‧‧‧軟體碼
20~30‧‧‧方塊
32‧‧‧處理器管線
34‧‧‧指令擷取及預解碼級
36‧‧‧指令佇列
38‧‧‧指令解碼級
40‧‧‧重命名/分配級
42‧‧‧引退單元
44‧‧‧排程器
46‧‧‧負載
48‧‧‧儲存
50‧‧‧1級(L1)快取記憶體50
52‧‧‧共享2級(L2)快取記憶體
54‧‧‧微碼唯讀記憶體(ROM)
根據以下圖式描述某些實施例:圖1係對本發明的一個實施例之概述;圖2係根據本發明的一個實施例的再編碼的流程圖;以及圖3係對根據一個實施例的處理器管線之描述。
習知指令集架構,諸如x86指令集架構,可經再編碼來減少指令使用的記憶體的量。此可尤其用於記憶體大小受限制之應用程式中,如微控制器之狀況。具有更密集的再編碼指令集,則可實行更多功能或可使用更小的記憶體大小。經編碼的指令接著在運行時在核心管線之預解碼器及解碼器中自然解碼。
根據一些實施例,指令之大小減少,接著核心在運行時讀取指令。核心將指令在級間移動,在管線中展開
指令(不使用任何外部記憶體)。最終核心識別及處理指令。
在一些實施例中,亦可使用精簡指令集架構。在精簡指令集架構(該架構不同於更密集的指令集架構)中,通常不使用之指令及僅對於向後相容性所需要之指令可簡單移除。此精簡指令集精簡指令種類而非指令密度。
對於再編碼以形成更密集的指令集而言,想法不是移除指令而是藉由使用試探法控制壓縮量來壓縮指令。
從而,參看圖1,編譯器12編譯輸入碼及產生至再編碼器14的經編譯的代碼及資料。資料可包含關於經編譯的代碼之資訊,諸如用於來源之符號名,及描述一個編譯的函式如何引用另一編譯的函式之資訊。
再編碼器亦可接收使用者輸入,該等使用者輸入指定針對特定狀況可允許的新指令之編號。使用者亦可指定二進位大小目標。例如,使用者可能具有在給定產品中的一定量的記憶體,且使用者可能想要限制指令集之二進位大小以裝入可利用的記憶體中。此外,使用者可指示最大精簡百分比或壓縮百分比。
指定此等輸入的一原因係:指令壓縮得愈厲害,則愈難解碼該等指令,且更集中的指令可用於一個特定用途,而在其他應用程式中,該特定用途使密集指令較少有用。因此,再編碼器接收來自編譯器的關於編譯過程及使用者輸入之資料,且使用該資訊來使用Huffman編碼再編碼指令集。Huffman編碼的量可由使用者輸入控制。
根據輸入二進位文檔及使用者輸入,再編碼器亦
可確定新指令。此等新指令可藉由比x86指令對計算元更有效率之編碼來減少二進位大小。此等更有效率編碼相對於x86編碼而言可包含但不限於:減少大小的編碼、隱含的計算元值、計算元與隱含的比例因數相乘、計算元與隱含的計算元偏移值相加、計算元無符號擴展或有符號擴展至更大的有效寬度以及其他。
如所熟知的,一組符號之Huffman編碼係至少部分地基於源符號之出現概率而產生。通常稱為「Huffman樹」的排序樹經產生來提取二進位碼及碼長度。例如,參見D.A.Huffmann的「一種用於構造最小冗餘碼的方法」,proceedings of IRE,1952年第40卷第9號,第1098至1101頁。D.A.Huffman在前述論文中以此方式描述該過程:列舉清單所有可能的符號及其機率;查找具有最小機率之兩個符號;由含有該等兩個符號之單一集合取代此等符號,其中該集合之機率係個別機率之和;以及重複直至清單僅含有一個成員。
此過程遞迴地產生結構化的集合之集合,該集合中每一者含有正好兩個成員。該集合因此可表示為二元樹(「Huffman樹」),其中符號表示為「葉子」。接著針對任何特定符號形成碼(「Huffman碼」):自根至該符號遍歷二元樹,對於左分支記錄「0」及對於右分支記錄「1」。
再編碼器可修改Huffman編碼過程來允許位元組編碼而非二進位編碼。位元組Huffman編碼導致編碼的值的
長度總為8個位元之倍數。位元組編碼藉由使用N元樹而非二元樹來修改Huffman編碼過程,其中『N』係256,從而樹中的每一結點可具有0-255個子結點。
再編碼器可進一步修改產生的Huffman編碼值來提供對硬體邏輯或軟體演算法之更有效率的表示。此等修改可包含將具有相似性質之指令分組來使用數字上相似的編碼的值。此等修改可能或可能未改變原huffman編碼之長度。
再編碼器可針對特殊狀況使用或用於指令集的以後擴展而保留一系列編碼的值。再編碼器可針對一或多個特定指令而應用新的更緊湊的操作碼,而不使用Huffman編碼。
接著,在一些實施例中,如方塊16所指示,必要時,再編碼器14輸出暫存器傳送邏輯(RTL)16以讓重新設計的預解碼器及解碼器執行更密集的指令。在一些實施例中,如18所指示,編碼器亦可提供用於編譯器及反組合器之新的軟體碼。
再編碼器之操作以圖2中展示之順序示出。順序可在軟體、韌體及/或硬體中實行。在軟體及韌體實施例中,順序可由儲存於非暫時性電腦可讀媒體,諸如光儲存器、磁儲存器或半導體儲存器中之處理器執行的指令實行。
如方塊20所指示,順序由獲取指令中每一者用於編譯器12之次數開始。此資訊可由再編碼器14自編譯器12中獲取或由再編碼器藉由檢查來自編譯器12之輸出而計
算。如方塊22所指示,再編碼器14亦可確定多少記憶體用於每一指令。此資訊用於確定理想的再編碼的量。使用很多之指令或使用許多記憶體之指令係最需要編碼的指令。因為該等指令使用較頻繁,所以該等指令對於需要的記憶體大小具有較大的影響。因此,與使用較不頻繁之指令相比,此等頻繁使用之指令可經更緊湊再編碼。
接下來,如方塊24所指示,流程獲取來自使用者的許多新指令限制。使用者可指定允許的新指令數。新指令可提供來取代架構指令之習知指令集。此等新指令可具有其他影響,包含以便較不合乎架構的經編碼的指令適用於其他用途。
如方塊26所指示,再編碼器亦獲取使用者之二進位大小目標。二進位大小指定設計針對指令儲存區已分配之記憶體的量。
再編碼器亦自使用者輸入獲取待分配之許多保留指令槽。此等保留槽可由使用者使用來用於指令集的未來擴展。
最後,如方塊28所指示,順序獲取精簡百分比目標。在一定精簡百分比之後,回報趨向減少,因此使用者可指定代碼多少精簡係理想的。
接著,在一些實施例中,使用此資訊之所有,來控制方塊30中的Huffman再編碼。使用較頻繁之該等指令編碼更多,而使用較不頻繁之指令編碼較少。可允許的新指令數限制可進行之再編碼的量。二進位大小設定再編碼之
停止點。在二進位大小目標達到之前,Huffman再編碼必須繼續再編碼指令。最後,一旦達到二進位大小,則Huffman再編碼繼續,直至達到設定之精簡百分比限制。
接著,在一些實施例中,Huffman再編碼級30可輸出暫存器傳送邏輯16來實行經編碼的指令。通常,此意味代碼提供用於預解碼器及解碼器單元及核心管線。Huffman再編碼級30亦可輸出軟體代碼18來讓編譯器及反組合器實行經再編碼指令集。
接著,使用者在新設計的核心上測試及部署新的經再編碼二進位。新代碼開發使用經再編碼指令集架構來繼續。
參看圖3,在一個實施例中,處理器管線32包含指令擷取及預解碼級34,該指令擷取及預解碼級耦接至指令佇列36,該指令佇列接著耦接至解碼級38。重命名/分配級40連接至指令解碼級38。引退單元42耦接至排程器44。排程器饋送負載46及儲存48.1級(L1)快取記憶體50耦接至共享的2級(L2)快取記憶體52。微碼唯讀記憶體(ROM)54耦接至解碼級。
擷取/預解碼級34自L2指令快取記憶體讀取指令串流。該等指令可解碼成一系列微操作。微操作係由處理器並行執行單元執行之原始指令。仍按原指令流排序的微操作之串流接著被發送至指令池。
指令擷取在每一時鐘週期自指令快取記憶體擷取一個快取記憶體線路。指令擷取單元基於來自分支目標
緩衝器之輸入、來自整數執行單元之異常/中斷狀態及分支預測指示來計算指令指標。
指令解碼器含有三個並行指令解碼器。每一解碼器將指令轉化成一或多個三個一組的微操作,該三個一組的微操作具有兩個邏輯源及一個邏輯目的。指令解碼器亦處理指令字首及循環操作之解碼。
指令解碼級38、指令擷取34及執行級皆負責解析分支及修復分支。使用立即數計算元之無條件分支在指令解碼單元中解析及/或固定。使用立即數計算元之條件分支在運算元擷取單元中解析或固定,且分支之其餘部分在執行級處理。
在一些實施例中,解碼器可大於由具有較低密度指令集架構之處理器使用的解碼器。如以上描述,解碼器已特定地重新設計來容納經壓縮的指令集架構。此意味解碼器本身及預解碼器兩者可經重新設計來使用佔據處理器本身之外的記憶體區域的指令集架構。解碼器亦可具有經定製來處理不同指令集架構之不同軟體。
在一些實施例中,最佳密集的新指令集架構編碼可於使用者指導限制之內達成。使用者可選擇更激進的Huffman再編碼以得到最大密度、使用固定數量的新指令編碼來再編碼、藉由假定小實體位址空間來再編碼或此等再編碼之任何組合。
使用者可選擇不使用Huffman編碼及僅將新指令用於由再編碼器識別的更有效率的計算元處理。
在一些實施例中,現有指令集架構中的問題點可藉由允許用於向指令集架構子集添加新的、大小優化的指令之選項的平滑連續統一體而得到解決。此等新指令在提供更簡潔的二進位表示之同時可保存已建立的處理器集架構之概略。
工作負載優化的編碼允許更多指令裝入相同量之快取記憶體中,從而增加系統效能及減小功率消耗,在一些實施例中,具有改良的快取記憶體命中率。
減少二進位大小可提供改良的功率消耗及改良特定應用程式中的效能。
貫穿本說明書始終的對「一個實施例」或「實施例」之引用意味:聯繫實施例描述之特定特徵、結構或特性包含於本發明內包含的至少一個實行方案中。因此,片語「一個實施例」或「在實施例中」之出現不一定指同一實施例。此外,特定特徵、結構或特性可以除所示之特定實施例之外的其他適合形式建立,且所有此等形式可包含於本申請案之申請專利範圍內。
雖然已根據有限數量之實施例描述了本發明,但熟習此項技術者將從中瞭解眾多修改及變體。意欲附加的申請專利範圍在落入本發明之真實的精神及範疇內的同時涵蓋所有此等修改及變體。
14‧‧‧再編碼器
16‧‧‧暫存器傳送邏輯
18‧‧‧軟體碼
20~30‧‧‧方塊
Claims (27)
- 一種方法,其包含:壓縮用於一處理器的一指令集;以及基於一使用者輸入來控制壓縮。
- 如申請專利範圍第1項之方法,其包括使用霍夫曼編碼(Huffman coding)來壓縮指令。
- 如申請專利範圍第1項之方法,其包括基於關於新指令的數量的一使用者輸入來控制壓縮。
- 如申請專利範圍第1項之方法,其包括基於關於最大壓縮的一使用者輸入來控制壓縮。
- 如申請專利範圍第1項之方法,其包括基於關於一二進位大小目標的一使用者輸入來控制壓縮。
- 如申請專利範圍第1項之方法,其包括基於使用者輸入來允許一指定長度的一些保留指令。
- 如申請專利範圍第1項之方法,其包括收集來自一編譯器之資訊以及使用該資訊來控制壓縮。
- 如申請專利範圍第7項之方法,其包括計算來自該編譯器之關於一指令被使用多少次的資訊來控制壓縮。
- 如申請專利範圍第7項之方法,其包括計算來自電腦之關於由一指令所使用的記憶體的量之資訊。
- 如申請專利範圍第1項之方法,其包括壓縮較頻繁使用的指令多於較不頻繁使用的指令。
- 如申請專利範圍第1項之方法,其包括識別具有更有效 率的運算元編碼之新指令。
- 如申請專利範圍第1項之方法,其包括在不使用霍夫曼編碼的狀況下識別用於指令的新簡潔操作碼。
- 一種非暫時性電腦可讀媒體,該媒體儲存指令以使得一處理器能夠實行一種方法,該方法包含:壓縮一指令集;以及基於一使用者輸入來控制壓縮。
- 如申請專利範圍第13項之媒體,其包括使用霍夫曼編碼來壓縮指令。
- 如申請專利範圍第13項之媒體,其包括基於關於新指令的數量的一使用者輸入來控制壓縮。
- 如申請專利範圍第13項之媒體,其包括基於關於最大壓縮的一使用者輸入來控制壓縮。
- 如申請專利範圍第15項之媒體,其包括使用來自該編譯器之關於一指令被使用多少次來控制壓縮之資訊。
- 如申請專利範圍第15項之媒體,其包括使用來自電腦之關於由一指令所使用的記憶體的量之資訊。
- 一種裝置,其包含:一處理器;以及一編碼器,其用以壓縮用於該處理器的一指令集,以及用以基於一使用者輸入來控制壓縮。
- 如申請專利範圍第19項之裝置,該編碼器使用霍夫曼編碼來壓縮指令。
- 如申請專利範圍第219項之裝置,該編碼器基於關於新 指令數量的一使用者輸入來控制壓縮。
- 如申請專利範圍第19項之裝置,該編碼器基於關於最大壓縮的一使用者輸入來控制壓縮。
- 如申請專利範圍第19項之裝置,該編碼器基於關於二進位大小目標的一使用者輸入來控制壓縮。
- 如申請專利範圍第19項之裝置,該編碼器收集來自一編譯器的資訊並且使用該資訊來控制壓縮。
- 如申請專利範圍第24項之裝置,該編碼器使用來自該編譯器之關於一指令被使用多少次之資訊來控制壓縮。
- 如申請專利範圍第24項之裝置,該編碼器使用來自電腦之關於由一指令所使用的記憶體的量之資訊。
- 如申請專利範圍第19項之裝置,該編碼器壓縮較頻繁使用的指令多於較不頻繁使用的指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/068020 WO2013101149A1 (en) | 2011-12-30 | 2011-12-30 | Encoding to increase instruction set density |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201342227A TW201342227A (zh) | 2013-10-16 |
TWI515651B true TWI515651B (zh) | 2016-01-01 |
Family
ID=48698383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101150586A TWI515651B (zh) | 2011-12-30 | 2012-12-27 | 用以增加指令集密度的編碼技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20140082334A1 (zh) |
EP (1) | EP2798479A4 (zh) |
CN (1) | CN104025042B (zh) |
TW (1) | TWI515651B (zh) |
WO (1) | WO2013101149A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811335B1 (en) * | 2013-10-14 | 2017-11-07 | Quicklogic Corporation | Assigning operational codes to lists of values of control signals selected from a processor design based on end-user software |
US20180095760A1 (en) * | 2016-09-30 | 2018-04-05 | James D. Guilford | Instruction set for variable length integer coding |
CN108121565B (zh) * | 2016-11-28 | 2022-02-18 | 阿里巴巴集团控股有限公司 | 生成指令集编码的方法、装置和系统 |
CN110045960B (zh) * | 2018-01-16 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 基于芯片的指令集处理方法、装置及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2308470B (en) * | 1995-12-22 | 2000-02-16 | Nokia Mobile Phones Ltd | Program memory scheme for processors |
US6502185B1 (en) * | 2000-01-03 | 2002-12-31 | Advanced Micro Devices, Inc. | Pipeline elements which verify predecode information |
US7051189B2 (en) * | 2000-03-15 | 2006-05-23 | Arc International | Method and apparatus for processor code optimization using code compression |
EP1470476A4 (en) * | 2002-01-31 | 2007-05-30 | Arc Int | CONFIGURABLE DATA PROCESSOR WITH MULTI-LENGTH INSTRUCTION KIT ARCHITECTURE |
US7665078B2 (en) * | 2003-08-21 | 2010-02-16 | Gateway, Inc. | Huffman-L compiler optimized for cell-based computers or other computers having reconfigurable instruction sets |
US7552316B2 (en) * | 2004-07-26 | 2009-06-23 | Via Technologies, Inc. | Method and apparatus for compressing instructions to have consecutively addressed operands and for corresponding decompression in a computer system |
US7864840B2 (en) * | 2005-04-15 | 2011-01-04 | Inlet Technologies, Inc. | Scene-by-scene digital video processing |
CN100538820C (zh) * | 2005-07-06 | 2009-09-09 | 凌阳科技股份有限公司 | 一种对音频数据进行处理的方法及装置 |
US20080059776A1 (en) * | 2006-09-06 | 2008-03-06 | Chih-Ta Star Sung | Compression method for instruction sets |
CN101344840B (zh) * | 2007-07-10 | 2011-08-31 | 苏州简约纳电子有限公司 | 一种微处理器及在微处理器中执行指令的方法 |
CN101382884B (zh) * | 2007-09-07 | 2010-05-19 | 上海奇码数字信息有限公司 | 指令编码方法、指令编码系统及数字信号处理器 |
US20100312991A1 (en) * | 2008-05-08 | 2010-12-09 | Mips Technologies, Inc. | Microprocessor with Compact Instruction Set Architecture |
-
2011
- 2011-12-30 US US13/992,722 patent/US20140082334A1/en not_active Abandoned
- 2011-12-30 CN CN201180076180.6A patent/CN104025042B/zh active Active
- 2011-12-30 EP EP11878973.4A patent/EP2798479A4/en not_active Withdrawn
- 2011-12-30 WO PCT/US2011/068020 patent/WO2013101149A1/en active Application Filing
-
2012
- 2012-12-27 TW TW101150586A patent/TWI515651B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2013101149A1 (en) | 2013-07-04 |
EP2798479A1 (en) | 2014-11-05 |
CN104025042B (zh) | 2016-09-07 |
TW201342227A (zh) | 2013-10-16 |
US20140082334A1 (en) | 2014-03-20 |
CN104025042A (zh) | 2014-09-03 |
EP2798479A4 (en) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102311619B1 (ko) | 파이프라인 제어 신호들을 발생시키도록 프로세서를 인에이블링하기 위한 방법 및 장치 | |
US20070038984A1 (en) | Methods for generating code for an architecture encoding an extended register specification | |
TWI515651B (zh) | 用以增加指令集密度的編碼技術 | |
US7313671B2 (en) | Processing apparatus, processing method and compiler | |
EP2473918B1 (en) | Method for generating a set of instruction compaction schemes, method for compacting a program according to the generated set, and programmable processor capable of executing a program thus compacted | |
US20020083302A1 (en) | Hardware instruction translation within a processor pipeline | |
US7574583B2 (en) | Processing apparatus including dedicated issue slot for loading immediate value, and processing method therefor | |
US20100205405A1 (en) | Static branch prediction method and code execution method for pipeline processor, and code compiling method for static branch prediction | |
JPH10105402A (ja) | パイプライン方式のプロセッサ | |
US9342480B2 (en) | Apparatus and method for generating VLIW, and processor and method for processing VLIW | |
EP3295299A1 (en) | Decoding information about a group of instructions including a size of the group of instructions | |
US10241794B2 (en) | Apparatus and methods to support counted loop exits in a multi-strand loop processor | |
US7356673B2 (en) | System and method including distributed instruction buffers for storing frequently executed instructions in predecoded form | |
JP2004062220A (ja) | 情報処理装置、情報処理方法、およびプログラム変換装置 | |
Weaver et al. | Code density concerns for new architectures | |
JP5122277B2 (ja) | データ処理方法、処理装置、多重命令ワードセット生成方法、コンパイラプログラム | |
So et al. | Procedure cloning and integration for converting parallelism from coarse to fine grain | |
US9513920B2 (en) | Computer processor employing split-stream encoding | |
JP3541356B2 (ja) | 階層型命令を実行する計算機 | |
Hoshino et al. | Advanced Optimization and Design Issues of a 32-bit Embedded Processor Based on Produced Order Queue Computation Model | |
Hines et al. | Adapting compilation techniques to enhance the packing of instructions into registers | |
So | Software thread integration for converting TLP to ILP on VLIW/EPIC architectures | |
Datapath | VLIW/EPIC | |
Soydan | VLIW/EPIC | |
Govindarajalu et al. | Code Size Reduction in Embedded Systems with Redesigned ISA for RISC Processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |