TW519599B - Component-activity data flow equation on compiler for low power instruction sets - Google Patents

Component-activity data flow equation on compiler for low power instruction sets Download PDF

Info

Publication number
TW519599B
TW519599B TW90115630A TW90115630A TW519599B TW 519599 B TW519599 B TW 519599B TW 90115630 A TW90115630 A TW 90115630A TW 90115630 A TW90115630 A TW 90115630A TW 519599 B TW519599 B TW 519599B
Authority
TW
Taiwan
Prior art keywords
component
block
instruction
patent application
comp
Prior art date
Application number
TW90115630A
Other languages
Chinese (zh)
Inventor
Jeng-Kuen Lee
Yi-Ping Yu
Ching-Ren Lee
Original Assignee
Ind Tech Res Inst
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW90115630A priority Critical patent/TW519599B/en
Application granted granted Critical
Publication of TW519599B publication Critical patent/TW519599B/en

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

The invention relates to a component-activity data flow equation on compiler for low power instruction sets and the system primarily comprises three subsystems of the construct control flow graph, the equation analysis for primary data as component and the instruction codes optimization. Locate the block of certain component in source codes without activity for long while during the activity state of each component when processor is executing, and using the data compiler inserts sleep function of component before the block to speed up the sleep state of component, achieving power saving effect. The invention can be both applied to component environment of hardware; if a hardware component is idle for a while, it will automatically shut off power. Targeting at different instruction arrangement of compiling, the invention collects power on and off states of component during execution and assesses different command arrangement so as to ascertain which can save more power in terms of component activity. The invention can be applied to portable electronic appliance, chip of portable communication equipment and embedded system.

Description

519599 五、發明說明(1) 發明領域 本發明係關於元件為主資料流方程式分析 (component based data f 1 ⑽ eqUati〇n ana 1 ysis )。特 別是’關於一種結合彳氏紅此八隹〆, 口吸乾此指令集(1 〇 w ρ 〇 w e r instruction set)在編譯器(c〇mpi ler)的元件為主資料流 方程式分析方法。 發明背景 普式改重篇 益帶的演多 日攜上扮有 的決體上, 統解硬題理 系 了了問處 式為除耗的 入。,消化 嵌要題源佳 和重問能最 品常耗在做。 產非消也中文 子得源否程論 電變能與過表 式題的壞生發 帶問統好產和 攜的系的在獻 為耗式寫體文 因消入撰軟利 ,源嵌體對專 來能和軟針國 年得品,。美 近使產外色的 ,子之角Ea阳 及電良要相 如美國專利號5,7 9 0,8 7 4,在於分析程式指令間的相 依丨生(dependence),並調整指令順序(instruction sequence ) ’以節省指令匯流排(bus )所消耗的電源。 應用頂域為h a m m i n g距離的縮小化(m i n i m i z i n g h a m in i n g distance) 〇 美國專利號5,8 8 Ο,9 8 1的文獻裡,揭露了一種在可程519599 V. Description of the invention (1) Field of the invention The present invention relates to a component-based data flow equation analysis (component based data f 1 ⑽ eqUati ana 1 ysis). In particular, it is about a method that analyzes the components of the compiler (commpiler) as the main data stream equation analysis method by combining the Baishi's red and eighth, sucking the instruction set (100w ρ 〇 er instruction set) in the compiler. Background of the Invention The general-style re-enactment of the benefit band took many days to bring on the disguise of the disguise, and to solve the hard themes of the problem is to solve the problem of consumption. The best source of digestive questions and re-questioning can often be spent doing. The production of non-consumption is also related to the problem of electrical transformation and the problem of over-problem questions. Questions about the integration of good production and the system are devoted to consumption. The writing is due to the softness of consumption, and the source inlay. For the special year and the soft needle national year ,. For the United States, which has a beautiful appearance, Ea Yang and Dianliang are similar to U.S. Patent Nos. 5,79,8,7 4 in that they analyze the dependencies between program instructions and adjust the order of instructions ( instruction sequence) 'to save power consumed by the instruction bus. The application of the top domain is the reduction of the distance of h a m m i n g (m i n i m i z i n g h a m in i n g distance) 〇 US Patent No. 5,8 8 〇, 9 811 document, discloses a kind of

519599519599

五、發明說明(2) 能Ϊ的方法。其中j吏 e r )次數的技術達到 用 低 式化的數位訊號處理器裡降低耗損 降低傳送資料到乘法器(mu 1 t 1 p U 耗能的效果。 美國專利说5,9 2 0,7 1 6的文獻裡,揭露了一種編譯p 段使用資料流分析方法分析程式中的述詞碼(predicate = code),並且掌握區域性(i〇cai)述詞與全域性(gl〇bai) 述祠間關係的育訊。另一篇與述詞碼分析相關的美國專利 號5, 9 2 0, 7 1 6的文獻裡,使用資料流分析的方法分析程式 中的整個程序(procedure ),並且針對流程圖中每一區 塊(block)的述詞碼產生一組基礎集合(basis set),然 後再針對基礎集合中的每一個述詞產生一組活集合 (1 i v e s e t) ’此糸統&供了配置暫存器(a 1 1〇c a t e register )時,暫存器之間的資訊。V. Description of the invention (2) Competent method. Among them, the technology of the number of times can achieve the effect of reducing power consumption and transmitting data to the multiplier (mu 1 t 1 p U) in a low-level digital signal processor. The US patent says 5,9 2 0,7 1 The literature of 6 discloses a method for compiling the p segment using a data flow analysis method to analyze the predicate code in the program (predicate = code), and grasp the regional (i0cai) predicate and global (gl〇bai) preacher. Education of the relationship. In another US patent No. 5, 9 2 0, 7 1 6 related to predicate code analysis, the data flow analysis method is used to analyze the entire procedure in the program. The predicate code of each block in the flowchart generates a set of basic sets, and then generates a set of live sets (1 iveset) for each predicate in the basic set. 'This system & Provides information between the registers when a register (a 1 10 cate register) is configured.

另外’在已發表之論文裡’較為相關的為D a v i d I. August # A ^"Proceedings of the 30th International Symposium on Microarchitecture, December 1997, pages · 92-103 n 中提出之 nA Framework for Balancing Control Flow and Predication",此文獻提出一個軟體架構(framework), 利用此架構有效地收集資料流和控制流(c ο n t r ο 1 f 1 o w ) 的資料,並利用這些資訊協助編譯器對軟體進行最佳化動 作。另一篇由Erik Ruf 在Micros oft Research,MarchIn addition, 'Related Papers' is more relevant to D avid I. August # A ^ " Proceedings of the 30th International Symposium on Microarchitecture, December 1997, pages · 92-103 n, nA Framework for Balancing Control Flow and Predication ", this document proposes a software framework (framework), using this framework to effectively collect data flow and control flow (c ο ntr ο 1 f 1 ow), and use this information to assist the compiler to optimize the software化 动。 The action. Another article by Erik Ruf in Micros oft Research, March

第5頁 519599 五、發明說明(3) 出之,,〇PtimiZlng SpaI*Se Representatlons matrix)的八= = J此文獻^十對稀疏矩陣(sparse 式對於此絲、不/ 仃九,透過貢料流方程式來收集程 、此稀疏I料的使用 示HI51接士 、 用方法,亚利用這些資訊來重新表 少的轉換^料’使之Μ取此稀疏資料時’可以達到最 針對軟體在產生過程中 繹過程中改進原有的程式碼 間’促使軟體可以利用較少 做最佳化的處理,可在程式編 ’減少處理器中元件的活動期 的能源達到應有的表現。Page 5 519599 V. Explanation of the invention (3), 〇 PtimiZlng SpaI * Se Representatlons matrix) == J This document ^ Ten pairs of sparse matrices (sparse formula for this silk, not / 仃 nine, through the material The flow equation is used to collect the process, and the use of this sparse I material is shown in HI51. Using this method, Asia uses this information to re-express less conversions. ^ When the sparse data is taken, it can achieve the most targeted software generation process Improving the original code space in the process of inversion makes the software use less optimization processing, which can reduce the active energy of the components in the processor to achieve the desired performance during programming.

" 般而言’電子系統的處理器中每-元件在每一個執" Generally speaking, every element in the processor of an electronic system

二週』(executlon cycle)中都有兩種狀態:一為活動狀 悲 UctlVe State),另-為休眠狀態(resting state 在活動狀悲日守,兀件為充電狀態,隨時可以因應指令 品求,以執行所給予的任務,或正忙碌於執行指令。在休 眠狀態時’元件完全不做動作’係處於閒置(idU)狀態, 正寺待執行指令,不消耗任何電源或消耗微量電源。然 而,從休眠狀態返回活動狀態需要一額外電源,稱之為尖 峰電壓(peak voltage)。通常,在執行某一軟體前,元件 大多處於休眠狀態,一旦元件因執行需求進入活動狀態 後,則會一直處於該狀態,直到元件經過一段長時間沒有 動作後,才會被迫進入休眠狀態,此種情形稱之為時間耗 盡(timeout)。不同的元件時間耗盡期間的長度則不同。There are two states in the "executlon cycle": one is the active state UctlVe State, and the other is the resting state (the rest state is active during the sad day, the components are in the charging state), which can be requested at any time according to the instructions In order to perform the given task, or are busy executing instructions. In the dormant state, the 'elements do nothing at all' is in an idle (idU) state. Zheng Temple is waiting to execute the instructions without consuming any power or consuming a small amount of power. However To return from the hibernation state to the active state requires an additional power supply, called peak voltage. Generally, the components are in the hibernation state before executing certain software. Once the components enter the active state due to execution requirements, In this state, the device will not be forced to enter the sleep state after a period of inactivity, which is called timeout. The length of the time-out period is different for different components.

519599 五、發明說明(4) 然而,以低功率的角度來看,在時間耗盡的這段期間便浪 費了許多不必要能源,因為元件消耗電源使其處於活動狀 態,但事實上並沒有任何動作發生。 為解決上述處理器中元件能源浪費的問題,本發明提 出一個有效的解決方法,利用元件為主資料流方程式分析 程式,在程式編繹過程中改進原有的程式碼,減少處理器 中元件的活動期間,降低電源的消耗量。 發明概要 本發明之元件流程分析系統的主要運作原理係利用 元件為主貧料流方程式分析程式’結合低耗能指令集在編 譯器,將來在處理器執行時的各個元件的活動狀態時,找 出程式碼中某元件長時間沒有動作的區段,以及利用此資 訊,編譯器可在此區段前插入元件休眠功能,促使元件提 早進入休眠狀態,以解決能源浪費的問題。 其主要目的之一是,提供一種結合低耗能指令集在編 譯器之元件流程分析系統。此元件流程分析系統主要包含 三個子系統,亦即,建構控制流程圖(c〇n s t r u c t f 1〇w g r a p h)、元件為主資料流方程式分析,以及指令碼 (instruction code)最佳 4匕。 519599 五、發明說明(5) 日月 <另一目的是,提供設計此元件流程分析系統 的方法。 ^ ^ 〇 x ^ ? 建構控制流程圖」模組將原始的指令 馬依二*秋顺序將分支(branch)、迴圈(1 oop)等控制流程 用圖升y α %地表現出來,並將程式指令切割成數個基本區 塊=不同基本區塊間的流程順序以箭頭表示。其輸入為 原也私式碼’而輪出為該原始程式碼的控制流程圖。 元件為主資料流方程式分析」模組更包含兩個子模 組。一子模組用以計算元件產生集合(c〇mp〇nent gen set),另一子模組用以計算元件進入集合(c〇mp〇nent ιη set)、元件消滅集合(C〇mponent km set)和元件離開集 ^(component out set)。 八广1令碼最佳:匕;帛組則從「元件為主資料流方程式 刀析」模組所得到母個元件的活動灿、u α , 幾個指令週期下,狀態都為休眠:’…件在連續 省電的條件下,在此指令區間=令區’並且在滿足519599 V. Description of the invention (4) However, from a low power perspective, during the period of time exhaustion, a lot of unnecessary energy is wasted because the components consume power to make them active, but in fact there is no Action occurs. In order to solve the problem of energy waste of the components in the processor, the present invention proposes an effective solution. The component-based data flow equation analysis program is used to improve the original code in the process of programming and reduce the components in the processor. Reduce power consumption during events. SUMMARY OF THE INVENTION The main operating principle of the component flow analysis system of the present invention is to use components as the main stream equation analysis program 'combined with a low-energy instruction set in the compiler to find the active status of each component when the processor is executed in the future. The section where a component in the code has not been operated for a long time, and using this information, the compiler can insert the component sleep function before this section, and promote the component to enter the sleep state early to solve the problem of energy waste. One of its main purposes is to provide a component flow analysis system that integrates a low-energy instruction set in the compiler. This component flow analysis system mainly includes three subsystems, that is, the construction control flow chart (conn s t r u c t f 10w g r a p h), the component-based data flow equation analysis, and the optimal instruction code. 519599 V. Description of the invention (5) Sun and Moon < Another purpose is to provide a method for designing the component flow analysis system. ^ ^ 〇x ^? Construct control flow chart "module will use the original instruction Ma Yi 2 * autumn sequence to branch (loop), loop (1 oop) and other control flow in the graph to increase y α% to show The program instructions are cut into several basic blocks = the sequence of processes between different basic blocks is indicated by arrows. Its input is the original private code 'and the control flowchart is rotated out as the original code. The Component-Based Data Flow Equation Analysis module also includes two sub-modules. One sub-module is used to calculate the component generation set (common set), and the other sub-module is used to calculate the component entry set (common set), and the component extinction set (common set km) ) And component out set. The Baguang 1 command code is the best: dagger; the 则 group obtains the activity of the parent component from the "component-based data flow equation analysis" module, and can be dormant for several instruction cycles: ' … Under the condition of continuous power saving, in this instruction interval = order area 'and satisfying

讓該元件休眠以節省能源。故其料個兀件休眠功能, 立控制流程圖」所輸出的原始程^為由上述子糸統「建 述模紐「計算元件進入集合、元件二制流程圖、以及由上 合」的元件離開集合,而輪出為改^滅集合與兀件離開集 螞。 良過後最佳化的裎式Put the component to sleep to save energy. Therefore, the original process outputted by the component sleep function and the control flow chart is the components of the above-mentioned subsystem "building model", "computing component entry set, component two-system flow chart, and shanghe". Leaving the set, and turning out to change the set and the pieces left the set. Post-optimization style

519599 五、發明說明(6) 依此’本發明同時可適於硬體的元件環境,如果一硬 體元件一陣子不使用,則自動會關閉電源的情況,針對不 同的編6睪的不同指令安排(instruction scheduling)方 式’本發明可蒐集元件的電源開啟及關閉在程式中執行的 狀況’而評斷不同的指令安排方式,何者在元件活動方面 較為省電。 兹配合下列圖式、實施例之詳細說明及專利申請範 圍’將上述及本發明之其他目的與優點詳述於后。 發明之洋細說明 圖1為本發明之元件流程分析架構的方塊示意圖。如 圖1所示’此元件流程分析架構分成「建構控制流程圖」 模組1 0 1、 「元件為主資料流方程式分析」模組丨〇 2,以及 「指令碼最佳化模組」1 〇 3。 「建構控制流程圖」模組1 〇 1建構了一個有向圖( directed graph),此有向圖將控制流程資訊(n ow — 〇ίο 〇 n t r 〇 1 i n f〇r m a t i〇η )力口人原女台指令石馬白勺區塊白勺集合裡〇 「元件為主資料流方程式分析」模組1 〇 2包含兩個子模組 1 0 2 a和1 0 2 b。子模組1 0 2 a用以計算在控制流程圖裡每一個 區塊的元件產生集合,子模組1 0 2 b用以計算在控制流程圖519599 V. Description of the invention (6) According to this, the present invention can be adapted to the environment of hardware components at the same time. If a hardware component is not used for a while, it will automatically turn off the power. Instruction scheduling method 'The present invention can collect the status of power on and off of components in the program execution status' to judge different instruction scheduling methods, which is more power-saving in terms of component activities. The above and other objects and advantages of the present invention are described in detail below in conjunction with the following drawings, detailed description of the embodiments, and the scope of patent applications. Detailed description of the invention FIG. 1 is a block diagram of a component flow analysis framework of the present invention. As shown in Figure 1, 'The component flow analysis framework is divided into a "construction control flow chart" module 101, a "component-based data flow equation analysis" module 丨 02, and a "script optimization module" 1 〇3. The "Construction Control Flowchart" module 1 〇1 constructs a directed graph. This directed graph will control the process information (n ow — 〇ίο 〇ntr 〇1 inf〇rmati〇η). The women's platform instructs Shima to collect the block. The "component-based data flow equation analysis" module 10 includes two submodules 102a and 102b. Submodule 1 0 2a is used to calculate the component generation set of each block in the control flowchart, and submodule 1 0 2b is used to calculate the control flowchart

liillis 111liillis 111

第9頁 ---- 、發明說明(7) 元件消滅集合和元件離開 個區塊的元件進 集合。 市口 根據本發明,「备 將原始的指八码^六” ^構控制流程圖」模組建構的有向圖 訊用圖报、、主1 ’、、、心、流程順序將分支、迴圈等控制流程資 區塊:二t表現出*,並將程式指令切割成數個基本 l0 ^ _ 土本區塊間的流程順序以建立鏈結(1 i n k ), 如以河頭表示’來表示流程。 而 「元俾炎+ — 指令使用處王里哭'/貧2流方程式分析」模組102分析每個 式,準確地算::::的狀態,#用反覆的資料流分析方 元件。 :個日寸序(clock cycle)中狀態為活動的 程式二 ^^^^2^;;s:;;c^;+〇^ ^^^ > a ^ ^ < ^-^vinstruction cvni^\ ,, ^ 為休眠的指令區卩彳# )下,狀悲都 區間前加入-個:眠在:…電的條件下,在此指令 休眠功此,讓該元件休眠以節省能源。 、下羊、、、田。兒明各模組的細部流程。 圖2 a說明本 之 建構控制流程圖」 程圖」模組1 0 1的輪 部流程。「建構: /;IL 模組1 0 1的細 八為原始程式Page 9 ---- 、 Explanation of invention (7) The component destroys the collection and the component leaves the collection. According to the present invention, according to the present invention, the "direct control of the original eight-digit code ^ six" ^ structure control flowchart "module constructs the directed graphic newsletter with the graphic report,, main 1 ', ,, and heart. Circles and other control process data blocks: Two t show *, and cut the program instructions into several basic l0 ^ _ native process sequence to establish a link (1 ink), as represented by the river head ' Process. And "Yuan Zheyan +-Instruction Use Wang Li Cry '/ Poor 2 Stream Equation Analysis" module 102 analyzes each equation and accurately calculates ::::' s state, #analyzes components with repeated data streams. : Program 2 whose status is active in the clock cycle of the day ^^^^ 2 ^ ;; s: ;; c ^; + 〇 ^ ^^^ > a ^ ^ < ^-^ vinstruction cvni ^ \ ,, ^ is the instruction area for sleep 卩 彳 #), add one before the interval of state of sadness: sleep under the condition of: electricity, this instruction sleeps the function, let the component sleep to save energy. , Xiayang, ,, Tian. Er Ming detailed process of each module. Figure 2a illustrates the flow of the construction control flow chart of the "process chart" module 101. "Construction: /; IL module 1 0 1 is the original program

五、發明說明(8) 碼,而輸出為該原始程 馬的控制流程圖。 參考圖2a,控制流裎 步驟2 0卜2 0 4 : <建構流程依序分成下列四個 步驟201 :決定原始程式碼 本區塊(basic h 二敘述(statement )為基 l〇ck)的首引(ieader)。 步驟2 0 2 ·對每—個首弓丨, 引為基本區塊的自組成一個基本區塊,以首 但不包含下—:頌’包含所有以下的敘述, *首弓1之後的敘述。 步驟2 0 3 :依照原始程式, 來表示流程。 立鍵結以連接不同基本區塊 步驟2 0 4 :將基本區塊中的$ 即每個區塊中只=個敘述晝分為一個區塊, 、匕含~個敘述。 根據本發明,步驟2 〇]之 ^V. Invention description (8) code, and the output is the control flowchart of the original process. Referring to FIG. 2a, the control flow is step 2 0 2 2 4: < The construction process is sequentially divided into the following four steps 201: determining the original codebook block (basic h 2 statement) as the base 10ck Title (ieader). Step 2 0 · For each bow, the basic block is self-assembled into a basic block, with the first but not including the following :: chanting 'includes all the following descriptions, * The description after the first bow 1. Step 203: According to the original program, indicate the flow. Establish a bond to connect different basic blocks. Step 204: Divide the $ in the basic block, that is, only one narrative in each block is divided into one block, and one is included. According to the present invention, ^ of step 2 〇]

一個敘述即為一首引,(b ) ’、疋的法則為:(a )程式的第 (conditional goto)或無條二==條件跳躍 a ^ kk ^ ^ p\ (unconditional goto) 目標的敘述即為一 i引,(c )钰 g〇1:0; 跳躍(conditional goto)後的敘述卽氧 ☆土’、件 i延即為一百引。而步驟 20 3中建立鏈結的方式可以箭頭來表示流程。A narrative is a quotation. The rules of (b) 'and 疋 are: (a) the (conditional goto) or non-parallel second of the program == conditional jump a ^ kk ^ ^ p \ (unconditional goto) That is an i-quote, (c) yu g〇1: 0; the narrative after the conditional goto 卽 oxygen ☆ soil ', i-extends one hundred quotes. The way to establish a link in step 20 3 can be an arrow to indicate the process.

$ 11頁 519599 五、發明說明(9) 圖2b為一個aAlpha機器碼(machine c〇d 古 的原始程式碼’作為「建立控制流程圖」模組“= 押岳丨!2c為圖2b原始程式碼經圖2a之流程步驟後,產生的 B制&5圖。圖2c中,根據步驟2〇1之決定的法則,區塊 步㈣2 BBH6和严塊&内所含的敛述為首引。根據 SB X L 基本區塊,分別含區塊&至區塊Β ]〇 。鬼11至&塊^、區塊B16至區塊I、和區塊3 B3。。根據步驟20 3,整個圖2c即為控制流程圖。: ▲ 驟m ’四個基本區塊共分為 Ύ广 個區塊中只包含一個敘述。 叫至£ _3Q,且母 、b2 假設原始程式可分為μ固區塊,分別為]$ 11 pages 519599 5. Description of the invention (9) Figure 2b is an aAlpha machine code (the original source code of machine cod 'is used as the "establishment control flow chart" module "= 保 岳 丨! 2c is the original program of Figure 2b After the code passes through the process steps of Fig. 2a, the resulting B & 5 diagram is generated. In Fig. 2c, according to the decision rule of step 201, the block step 2 BBH6 and the strict block & According to the SB XL basic block, it contains blocks & to block B] 〇. Ghost 11 to & block ^, block B16 to block I, and block 3 B3. According to step 20 3, the entire Figure 2c is the control flow chart: ▲ Step m 'The four basic blocks are divided into two broad blocks and only one narrative is included. Call it £ _3Q, and the mother and b2 assume that the original program can be divided into μ solid regions. Blocks, respectively]

Bk,欲分析的元件有η個’分別為Cl、c 、c 、. c . 據本發明,則計算元件逄4 2 3 、cn。根 程式碼、沪八1 & 生木3的模組1 02a的輸入為原始 Ϊ匕二 的對照表、…「建立控制流 的元件產生集合以及每—區 輛出為所有&塊 數。圖3a說明模組102“"土:】:::件所須要的時序 考圖3a,此細部流程依生集合的細部流程。參 外刀成下列三個步驟3〇1〜3 0 3 : 步驟301 :對每一個區塊針對欲分析的每-元件,新增一Bk, there are n elements to be analyzed, which are Cl, c, c,. C. According to the present invention, the element 逄 4 2 3, cn is calculated. The root code, Hu Ba 1 & Raw 2's module 1 02a's input is the comparison table of the original dagger two, ... "The set of components that create the control flow and the number of all & blocks per zone. Fig. 3a illustrates the necessary sequence of the module 102 "" soil:] :::, as shown in Fig. 3a. Refer to the following three steps: 301 ~ 303: Step 301: For each block, add one for each element to be analyzed.

第12頁 519599Page 12 519599

五、發明說明(10) 個二維陣列的參數 C y c 1 e C 〇 u n t,ϋ且將 CycleCount所有的元素的初始值皆設為0,亦即 CycleCount[Bi][Cj] = 0,其中 1 — i ^ k、 j ^ n。CycleCount[Bi][Cj]用來表示區 塊B使用元件C所須要的時序數。 步驟302:在每一區塊中,建構屬於該區塊的元件產生集 合comp_gen set。並且將此集合的初始值設為 空集合。 步驟3 0 3 :依指令的執行順序,對每一區塊b i中的指令做 下列動作: 從指令與元件使用的對照表中查得該指令與元 件使用的關係,假設該指令使用C元件& j固時 序、C武件CC 2個時序.....c死件cc ^固時1序 則將時序數不為〇的元件加入該區塊的產生隹 中,並且將CycleCounttBiHC!^值加上cc市、合V. Description of the invention (10) Two-dimensional array parameters C yc 1 e C 〇unt, and the initial values of all elements of CycleCount are set to 0, that is, CycleCount [Bi] [Cj] = 0, where 1 — I ^ k, j ^ n. CycleCount [Bi] [Cj] is used to indicate the number of sequences required by block B to use component C. Step 302: In each block, construct a component comp_gen set that belongs to the block. And set the initial value of this set to an empty set. Step 303: According to the execution order of the instructions, do the following actions on the instructions in each block bi: Look up the relationship between the instruction and the component use from the comparison table between the instruction and the component use, assuming that the instruction uses the C component & j fixed time sequence, C weapon CC 2 time sequence .... c dead piece cc ^ solid time 1 sequence adds components with time sequence number other than 0 to the block's generation 隹, and the CycleCounttBiHC! ^ value Plus cc city, co

CycleCount [Bi] [(:2]的值加上 CC2、···、 Γ CycleCountCBJCCJ的值加上 CCn。 現舉例說明如下:假設一原始程式碼,在十個The value of CycleCount [Bi] [(: 2] plus CC2, ... ,, Γ The value of CycleCountCBJCCJ plus CCn. Now an example is as follows: Suppose a source code, in ten

至B 1Q中含六種指令I至I ^如圖3b所示。在~系統中品^鬼乂B 析的有四種元件CrCr分別為算術邏輯單位(ALU)奴^ 法器(multi pi ier)、除法器(divider),知次士丨三乘 ^貝料匯流There are six instructions I to I ^ in B to 1Q, as shown in Fig. 3b. In the ~ system, there are four types of elements CrCr analyzed by Cr. The CrCr is an arithmetic logic unit (ALU) slave ^ multi-pier, divider, Zhiji 丨 triplex ^ shell material confluence

第13頁 519599Page 13 519599

五、發明說明(π) 排(data bus)。圖3c表示圖3b中指令與元件使用的對昭 表。例如由圖3 Μ寻知,區塊B執行指令I 1,且由圖3 '得… 知,指令I用到元件C算術邏輯單位,且執行指令!須f c 個時序。因此,Cy c 1 e Coun t [ B 2] [ C !]的值加3且區塊b μ產^ 生集合包含元件C!。經此元件產生集合之計算步驟3〇 3處 理後,得到每一區塊的元件產生集合以及母一區塊B使用 元件C所須要的時序數CycleCount[Bi][Ci],如圖示 接下來,圖4a説明模組1 0 2b計算元件進入集合、元件 消滅集合與元件離開集合的細部流程。模組1 0 2b的輪入為 由上述「建立控制流释圖」模組1 0 1所輸出的原始程式控 制流程圖、「計算元件產生集合」模組1 〇 2a所輪出的每個 區塊的元件產生集合,以及每一區塊使用每一元件所須要 的時序數,而輸出為所有區塊之元件的進入集合、消滅集 合及離開集合。 假設原始程式使用k個區塊’且使用姻元件’而輸入 為每一區塊Bi的元件產生集合comp-gen[Bi]以及每一區塊 B使用元件C所須要的時序數Cyc 1 eCount [ B i] [ C ]·],输出為 每1一區塊B的元件進入集合comp-i n [ B」、元件消滅集合 comp一ki 1 1 [BJ與元件離開集合comP-〇ut ,其中K匕 k且 1$ η。5. Description of the invention (π) row (data bus). Fig. 3c shows a list of instructions and components used in Fig. 3b. For example, it is known from FIG. 3M that the block B executes the instruction I 1, and from FIG. 3 ′, it is known that the instruction I uses the arithmetic logic unit of the component C and executes the instruction! F c timings are required. Therefore, the value of Cy c 1 e Coun t [B 2] [C!] Is increased by 3 and the block b μ produces a set containing element C !. After processing the calculation step 3 of this component generation set, the component generation set of each block and the sequence number CycleCount [Bi] [Ci] required by the component C to use the component C are obtained, as shown in the figure next. Figure 4a illustrates the detailed flow of module 10 2b calculating the components entering the collection, the components destroying the collection, and the components leaving the collection. The rotation of module 10 2b is the original program control flowchart output by the above-mentioned "establishing control flow chart" module 101, and each area rotated by "calculation element generation set" module 1 02a. The elements of a block generate a set, and each block uses the timing number required by each element, and the output is the entering set, eliminating set, and leaving set of the elements of all blocks. Assume that the original program uses k blocks 'and uses marriage components' to input a set comp-gen [Bi] for the components of each block Bi and each block B uses the timing number Cyc 1 eCount [ B i] [C] ·], the output is that every element of block B enters the set comp-i n [B ”, the element destroys the set comp ki 1 1 [BJ and the element leave the set comP-〇ut, where K Dk and 1 $ η.

第14頁 519599 五、發明說明(12) 參考圖4 a,此細部流程依序分成下列三個步驟 401〜403 : 步驟4 0 1 ·在母一區塊I中,建構屬於該區塊h的元件進 入集合comp — intBi]、元件〉肖滅集合 comp —ki 1 1 [^ ]及元件離開集合comp —out [B,]; 元件進入集合comp+infBi]與元件消滅集合 c〇mp —ki 1 1 [ Bi ]的初始值設為空集合,元件離開 集合comp__ou t [ Bi ]的初始值設為該區塊的元件 產生集合comp —gen [ Bj ]。 步驟4 0 2 ··對每一區塊&做下列動作: 4 0 2 a :對每一個欲分析元件Cj,比較匕的所有前 區塊(predecessor)的 CycleCountfBjfQ] 值,取其最大值,假設此最大值為CCmax ,若CCmax不為〇,則將CCmax的值減1, 若減1後的值為0,則將元件Cj加入該 區塊的元件消滅集合comp_ki 1 1 α ]中。 若(CCmax-1)的值大於 的值,則將C y c丨e C 〇 u n t [ Bi ] [ Cj ]的值設為 (CCmax-1) 〇 4 0 2 b ··將該區塊的元件進入集合c 0 m p _ i n [ Bi ]設 為該區塊所有前區塊的元件離開集合 comp — outiBd 的聯集(union),亦即Page 14 519599 V. Description of the invention (12) Referring to Figure 4a, this detailed flow is divided into the following three steps 401 ~ 403 in order: Step 4 0 1 · In the parent-block I, construct the block belonging to the block h. The element enters the set comp — intBi], the element> Xiao Xiao set comp — ki 1 1 [^], and the element leaves the set comp — out [B,]; the element enters the set comp + infBi] and the element eliminates the set c0mp —ki 1 The initial value of 1 [Bi] is set to the empty set, and the initial value of components leaving the set comp__ou t [Bi] is set to the components of the block to generate the set comp —gen [Bj]. Step 4 0 2 · Do the following for each block & 4 0 2 a: For each element Cj to be analyzed, compare the CycleCountfBjfQ] value of all predecessors, and take the maximum value. Assume that the maximum value is CCmax. If CCmax is not 0, the value of CCmax is decreased by 1. If the value after the decrease is 0, component Cj is added to the component elimination set comp_ki 1 1 α] of the block. If the value of (CCmax-1) is greater than the value, then set the value of C yc 丨 e C 〇unt [Bi] [Cj] to (CCmax-1) 〇 4 0 2 b ·· Enter the components of this block The set c 0 mp _ in [Bi] is set as all elements of the previous block of the block leave the union of the set comp — outiBd, that is,

第15頁 519599 五、發明說明(13) comp—intBi]: Ucomp一〇ut[P],其中P 為1 的前區塊。 4 0 2 c ··將言玄區塊的元件离隹開集合c〇m p —〇u t [ B】]言史 為該區塊元件進入集合comp_in[Bi]與元 件消滅集合comp_k i 1 1 [ Bi ]的差集 (difference)後,再與元件產生集合 comp —gen [BJ作聯集,亦即 comp —outA ]=comp —gentB! ] U (comp_i n [ B1 ] - comp_k i 1 1 [ B}])。 步驟40 3 :重複步驟40 2,直到所有區塊的元件離開集合不 再產生變化。 用上述圖3C 至Bi4中含六 元件心~(:4, 料匯流排。 立控制流程 為「計算元 產生集合。 合、元件消 位元(blt ) 合不包含此Page 15 519599 V. Description of the invention (13) comp-intBi]: Ucomp_ut [P], where P is the previous block of 1. 4 0 2 c ·· Separate the elements of the Yanxuan block from the set c0mp —〇ut [B]] The history of the block is that the element enters the set comp_in [Bi] and the element destroys the set comp_k i 1 1 [Bi ] After the difference (difference), and then compose the set comp —gen [BJ as a joint set, that is, comp —outA] = comp —gentB!] U (comp_i n [B1]-comp_k i 1 1 [B} ]). Step 40 3: Repeat step 40 2 until the elements of all blocks leave the set and no longer change. Using the above-mentioned Figures 3C to Bi4 contains six element cores ~ (: 4, material bus. The control flow is set to "calculate elements to generate a set. Combination, component elimination (blt) combination does not include this

說明如下:圖4 b例示一輸入的原始程式碼。使 所示之指令與元件使用對照表。在丨4個區塊b 種指令L至Ιβ,且在一系統中欲分析的有四種 分別為异術邏輯單位、乘法器、除法器,和次 圖4c所不為圖4b之原始程式碼經過子系統「建 圖」1 〇 1所輪出的原始程式控制流程圖。圖& d 件產生集合」模組丨〇 2 a輸出的每個區塊的元件 圖4e為由步驟40 1所得到的初始元件進入集 滅集合及元件離開集合,其中每一集合由^ 一分別代表C]、(:2、Q、Q四個元件,〇表示此集 元件,1表示此集合包含此元件。例如 木The description is as follows: Figure 4b illustrates an input source code. Use the instruction and component comparison table shown. There are four types of instructions L to Iβ in 4 blocks, and there are four kinds of logic logic units, multipliers, dividers, and the original code of Figure 4b. The original program control flow chart rotated by the subsystem "Building Map" 101. Figure & d pieces generation set "module 丨 〇 2a components of each block output Figure 4e is the initial component entry set and component departure set obtained in step 401, where each set consists of ^ a Represents the four elements of C], (: 2, Q, Q, 0 means this set of elements, 1 means this set contains this element. For example, wood

第16頁 519599 、發明說明(14) " ---— c omp—out[B2]:l〇0〇 表示comp 一〇u t [ B2 ]這j固隹 元件離開集合」模組1 0 2b的輸出元件進入7^隹件^消滅集合 [Bi ]、元件消滅集合c〇mp —k i 1 1 [ β·]與 木 0 c〇mP_ i n comp —out [Bi ]示於圖4f中。 離開集合 元件且不包含元件C2、元件C3、和元件c 。,合包含這個 ί 0 2的運算之後,「計算元件進入集合4、元、、二過2次步驟 .102b的輸出元件淮 肖减集合與 *丁遣入集人一 如 休眠兩 以因應 指令; 狀態, 。然而 常,在 件因執 到元件 態。判 value) 元件在每一個執 ’元件 予的任 完全不 耗任何 狀態需 大多處 ,貝1J會 作後, 狀態的 行週期 為充電 務’或 做動作 電源或 要一額 於休眠 一直處 才會被 b界值 前所述,每 種狀態。在 指令需求, 而在休眠狀 正專待執行 ’從休眠狀 執行某一軟 行需求進入 經過一段長 定是否將元 記為L_st。 活動狀態時 以執行所給 態時,元件 指令,不消 態返回活動 體前,元件 活動狀態後 時間沒有動 件轉為休眠 中有活動或 狀態,隨時 正忙碌於執 係處於閒 ’肖耗微量電 外電源。通 狀態,一旦 於該狀態, 迫進入休眠 (critical 休眠=明針對不同的元件硬體設計’提供下列相對應的 )右1元件提供開/關(〇n/〇 f f)硬體設計,即此元件可 才曰々或‘令集的下達,切斷其電源之提供,使該元 519599 五、發明說明(15) 件從耗電狀態轉為不耗電狀態。在此情況之下, Lc〇nst值可依下列的成本模式(c 〇 s ^ ^ 〇d e 1 )決定Page 16 519599, Description of the invention (14) " ----- comp-out [B2]: l00〇 means comp-0ut [B2] This j solid component leaves the set "module 1 0 2b The output element enters the 7 ^^^^ elimination set [Bi], the element elimination set c0mp — ki 1 1 [β ·], and 0 c0mP — in comp — out [Bi] are shown in FIG. 4f. Leaving the set of components does not include component C2, component C3, and component c. After combining the operations of ί 0 2, "the computing element enters the set of 4, yuan, and 2 steps. The output element of 102b and the set of Huai Xiao minus and * Ding sent the set as dormant to respond to instructions; The state, but often, the status of the component due to the implementation of the component. Judgment value) The component does not consume any status at all in each component implementation. It takes a lot of places. After the 1J will do it, the status of the line cycle is charging. Either as an action power source or as a threshold for the b-threshold value, it must be in the hibernation state, as described before, in each state. In the command demand, while in the hibernation state is waiting to be executed. For a long period of time, determine whether the yuan is recorded as L_st. When the active state is executed, the component instruction is executed without returning to the active body. After the component is in the active state, there is no moving part for a period of time. The executive system is in idle state. It consumes a small amount of external power. Once in this state, it is forced to enter sleep (critical hibernate = clear for different component hardware designs). Corresponding to the column) the right 1 element provides on / off (〇n / 〇ff) hardware design, that is, this element can only be issued or the order set, cut off its power supply, so that the yuan 519599 Description of the invention (15) The item changes from a power-consuming state to a non-power-consuming state. In this case, the value of Lc〇nst can be determined according to the following cost model (c 〇s ^ ^ 〇de 1)

* ACT(v); P(V) + SLEEP(v) 一又據此λ式。十异Lc〇nst的最小值,其中,p (v )為該 件的大峰包I,SLEEP( v)為使該元件進入休眠狀態 的電壓,ACT(V)為使該元件維持在活動狀態的電壓。 (b)若該元件僅提供低耗電硬 或指令集的下達,降低其 電狀態轉為低耗電狀態. 下列的成本模式決定: 體設計,即此元件可依指令 黾源之提供,使該元件從耗 在此情況之下,Le〇nst值可依* ACT (v); P (V) + SLEEP (v) according to this λ formula. The minimum value of ten different Lc0nst, where p (v) is the large peak package I of the piece, SLEEP (v) is the voltage that puts the element into sleep state, and ACT (V) is the value that keeps the element in the active state Voltage. (b) If the component only provides low power consumption or instruction set, reduce its electrical status to low power consumption status. The following cost model determines: The physical design, that is, this component can be provided according to the instruction source. The component is consumed under this condition, and the Leonst value can be determined by

P(v) + SLEEP(v) const 木 [ACT(v) -LPOff(v) 執:⑽⑺為該元件維持在低耗 執仃週期(execution cycle)么 σσ a ^ ^ 休眠狀態的時間大於L元件連續肩 入休眠功㊣ -值,則在此連續時區之前' 接下來 圖5 a說明本發明之 m的細部流程。「指令碼最佳、佳化」模組 丹k利机%圖」杈組丨〇 i所輸出 门 J原I桎式控制流程圖P (v) + SLEEP (v) const [ACT (v)-LPOff (v) Execution: Is the element maintained in a low-consumption execution cycle? Σσ a ^ ^ Sleep time is longer than the L element Continuously enter the sleep function value before this continuous time zone. 'Next, Fig. 5a illustrates the detailed flow of m of the present invention. "Instruction code optimization, optimization" module Dan kli machine% map "output group i gate I original I control flow chart

第18頁Page 18

519599 五、發明說明(16) 和模組「計算元件進入集合、元件消滅集合與元件離開集 合」1 0 2 b所輸出的元件離開集合,而「指令碼最佳化」模 組1 0 3的輸出為改良過後的最佳化程式碼。 假設欲分析的元件有η個,分別為C!、C2、C3、…、 C n,並且全集合(a 1 1 s e t)包含所有的元件。假設程式 可分為k個區塊B i,每一區塊的元件離開集合為 comp—out[BJ,其中 1 $ i ^ k。 參考圖5 a,此細部流程依序分成下列四個步驟5 0 1〜 5 0 4 : 步驟5 0 1 :在每一區塊B !中,建構屬於該區塊B妁活動集 合與休眠集合,活動集合指該區塊中活動元件 的集合,休眠集合則指該區塊中休眠元件的集 合,因此活動集合即為該區塊的離開集合,休 眠集合為全集合與活動集合做差集的結果。可 以陣列方式表示為 action[Bi]與 rest[Bi], 其中 1 $ i ^ k。 步驟5 0 2 :對每一個基本區塊,將其中所有區塊的休眠集 合依序兩兩交集’並將結果存放於另一陣列 中,再對此陣列中的集合依序兩兩交集,再存 放至另一陣列中,重覆此動作直到陣列中所有519599 V. Description of the invention (16) and the module "Calculate component entry collection, component elimination collection, and component departure collection" 1 0 2 b The component departure collection output, and "instruction code optimization" module 1 0 3 The output is improved optimized code. Suppose there are n elements to be analyzed, which are C !, C2, C3, ..., C n, and the full set (a 1 1 s e t) contains all the elements. Suppose the program can be divided into k blocks B i, and the component departure set of each block is comp_out [BJ, where 1 $ i ^ k. Referring to FIG. 5a, this detailed flow is sequentially divided into the following four steps 50 1 to 5 0 4: Step 5 0 1: In each block B !, construct an active set and a dormant set belonging to the block B 妁, The active set refers to the set of active elements in the block, and the dormant set refers to the set of dormant elements in the block. Therefore, the active set is the leaving set of the block, and the dormant set is the result of the difference between the full set and the active set. . It can be expressed in an array as action [Bi] and rest [Bi], where 1 $ i ^ k. Step 502: For each basic block, the dormant sets of all the blocks are intersected one by one, and the result is stored in another array. The sets in the array are intersected one by one, and then Store in another array, repeat this action until all in the array

第19頁 519599 五、發明說明(17)Page 19 519599 V. Description of the invention (17)

集合皆為空集合為止。第一次兩兩交集的結果 存放於R2,第二次兩兩交集的結果存放於 以此類推。假設一共做了 1次交集,即R1 + 1 有的集合皆為空集合。 步驟5 0 3 :針對&中所有不為空集合的集合,假設該集合 為& 中第j個集合,對該集合中的所有元件 做下列動作:若1 大於該元件的Lec)nst,則記 錄此元件可在第j個區塊前插入休眠功能的資 訊’並連同區間(j, j + i ) 的資訊也記錄 下來,做為往後檢視用。其中在記錄資訊前先 檢視該元件與該區間是否包含於已記錄區間, 若上述情形成立,則跳過記錄的動作。 步驟_5 0 4 :依據記錄,在程式碼中插入該元件的休眠功能 指令。 舉例說明如下·假設圖5b表不元件的Lec)nst值’經由 模組「計算元件進入集合、元件消滅集合與元件離開集 合」1 0 2 b,欲分析的元件在每一個指令的狀態,如圖5 c所^ 示。經過「指令碼最佳化」模組1 0 3處理後,得到每一個 區塊的心值,如圖5 d所示。由圖5 d得知元件(算術邏 輯單位)在B5之後的連續5個執行週期都處於休眠狀態,並 且這段時間大於算術邏輯單位的LeQnst (二4 ),根據本發 ‘The collections are all empty collections. The result of the first pairwise intersection is stored in R2, the result of the second pairwise intersection is stored in and so on. Assume that a total of 1 intersections have been done, that is, all the sets of R1 + 1 are empty sets. Step 503: For all the sets in & that are not empty sets, assuming that the set is the jth set in &, perform the following actions on all elements in the set: if 1 is greater than the Lec) nst of the element, Then it records the information that the component can insert the hibernation function before the jth block, and also records the information of the interval (j, j + i) for future viewing. Before recording the information, check whether the component and the interval are included in the recorded interval. If the above situation is true, skip the recording action. Step 504: According to the record, insert the sleep function instruction of the component in the code. An example is as follows: Suppose that the component Lec) nst value in Figure 5b represents the component “computing component entering collection, component destroying collection and component leaving collection” 1 0 2 b. The status of the component to be analyzed at each instruction, such as This is shown in Figure 5c. After processing by the "command code optimization" module 103, the heart value of each block is obtained, as shown in Figure 5d. It is learned from Figure 5d that the element (arithmetic logic unit) is dormant for 5 consecutive execution cycles after B5, and this time is greater than the LeQnst of the arithmetic logic unit (2: 4).

第20頁 519599 五、發明說明(18) 明,可以在&之前插入一個讓算術邏輯單位進入休眠 的休眠功能’如SLEEP指令。同王里,也可以在前可以心 插入一個讓C3 (除法器)進入休眠狀態的休眠功能’如 SLEEP指令,在及心之前可以插入一個讓Q (乘法 入休眠狀態的休眠功能,如SLEEp指令。 叩J退 綜 式,結 系統與 態時, 此資訊 件提早 及的可 理、筆 明可延 本發明 子不使 令安排 中執行 活動方 上所述 合低耗 方法。 找出程 ,編譯 進入休 攜式電 記型電 長電池 同時可 用,則 方式, 的狀況 面較為 ,本發明 能指令集 此系統在 式碼中某 器可在此 眠狀態, 子產品、 腦、或是 的使用時 適於硬體 自動會關 本發明可 ,而評斷 省電。 利用元件 在編譯器 處理器執 元件長時 區段前插 達到節省 嵌入式系 可攜式通 間,並且 的元件環 閉電源, 蒐集元件 不同的指 為主貢 ’提供 行時的 間沒有 入元件 能源的 統等, 不會影 境’如 針對不 的電源 令安排 料流方 一種元 各個元 動作的 休眠功 效果D 不 u命在 晶片中 響其執 果一硬 同的蝙 開啟及 方式, 程式分析程 件流程分析 件的活動狀 區段,利用 能,促使元 對於現今普 個人數位助 使用本發 仃的效能。 體元件一陣 譯的不同指 關閉在程式 何者在元件 唯,以上所述者,僅為本發明之較每A 不能以此限定本發明實施之範圍。即大二^例而已,| 利範圍所作之均等變化與修飾,皆V :本發明申請肩 發明專利涵1Page 20 519599 V. Description of the invention (18) It is stated that a sleep function for putting an arithmetic logic unit into sleep can be inserted before & such as the SLEEP instruction. In the same king, you can also insert a sleep function that allows C3 (divider) to enter the sleep state, such as the SLEEP instruction, and you can insert a sleep function that lets Q (multiply into the sleep state, such as the SLEEp instruction) before the mind.叩 J When withdrawing from the comprehensive system, when the system and state are settled, this information piece can be reasonably made and written in a timely manner. The present invention does not enable the execution of the activities described in the order arrangement to combine low-cost methods. Find the process, compile The battery can be used at the same time when it is in the portable electronic memory battery. However, the present invention can instruct the system to set a certain device in the code to be in this sleep state, sub product, brain, or when in use. It is suitable for hardware to automatically turn off the invention, and judge power saving. Use the component to insert the long-term section of the compiler processor to save the embedded system's portable communication system, and the component is closed to the power supply to collect the component Different refers to the tribute 'providing no integration of component energy during the trip, will not affect the situation', such as the arrangement of the logistics side for different power orders The effect of the dormant work D is not the same as in the chip. It is the same as the opening and the way, the program analysis process flow analysis of the active section of the piece, the use of energy, to promote the use of modern digital personal assistance. The performance of the present invention. The difference in the translation of the body components means that the program is closed in the program or in the component. The above description is only for comparison of the present invention. This cannot be used to limit the scope of the present invention. , | Equal changes and modifications made within the scope of benefits, all V: The present invention applies to the invention patent 1

第21頁 519599 五、發明說明(19) 之範圍内。 ❿P.21 519599 V. The scope of invention description (19). ❿

第22頁 519599 圖式簡單說明 圖1為本發明之元件流程分析架構的方塊示意圖。 圖2 a說明本發明之「控制流程圖」模組的細部流程。 圖2b為一個以A 1 pha機器碼語言撰寫的原始程式碼,作為 「建立控制流程圖」模組1 0 1的輸入。 圖2c為圖2b之原始程式碼經圖2a之流程步驟後,產生的控 制流程圖。 ❶ 圖3 a說明模組1 0 2 a計算元件產生集合的細部流程。 圖3b例示一原始程式碼,作為本發明之「計算元件產生集 合」的模組1 0 2 a的輸入。 圖3c表示圖3b中指令與元件使用的對照表,作為本發明之 「計算元件產生集合」的模組102a的輸入。 圖3 d為圖3 b與圖3 c經圖3 a之流程步驟後,產生的元件產生 集合。 ❿ 圖4a說明模組10 2b計算元件進入集合、消滅集合與離開集 合的細部流程。Page 22 519599 Brief Description of Drawings Figure 1 is a block diagram of the component flow analysis framework of the present invention. Figure 2a illustrates the detailed flow of the "control flow chart" module of the present invention. Figure 2b is an original code written in the A 1 pha machine code language, which is used as the input to the "Building Control Flowchart" module 101. Fig. 2c is a control flowchart generated by the original code of Fig. 2b after the process steps of Fig. 2a. ❶ Figure 3a illustrates the detailed process of generating a set of computing elements for module 102a. Fig. 3b illustrates an original code as an input to the module 102a of the "computing element generating set" of the present invention. Fig. 3c shows a comparison table of instructions and components used in Fig. 3b as an input to the module 102a of "computing component generation set" of the present invention. Fig. 3d shows the assembly of components generated after the steps of Fig. 3b and Fig. 3c after the steps of Fig. 3a. ❿ Figure 4a illustrates the detailed flow of module 10 2b computing elements entering the collection, destroying the collection, and leaving the collection.

第23頁 519599 圖式簡單說明 圖4 b例示一原始程式碼’作為本發明之計异元件進入集 合、消滅集合與離開集合的模組1 0 2b的輸入。 圖4c為圖4b之原始程式碼經過「建立控制流程圖」模組所 輸出的原始程式控制流程圖。 圖4 d為圖4b經模組1 0 2 a計算元件產生集合所輸出的每個區 塊的元件產生集合。 圖4e為由模組102b計算元件進入集合、元件消滅集合與元 4 件離開集合」之步驟4 01所得到的初始元件進入集合、元 件消滅集合及元件離開集合。 圖4ί為經過2次本發明之模組102b計算元件進入集合、元 件消滅集合與元件離開集合之步驟4 0 2後,所得到的元件 進入集合、元件消滅集合與元件離開集合。 圖5 a說明本發明之「指令碼最佳化」模組的細部流程。 圖5b例示一元件的L⑽st值,作為本發明之「指令碼最佳 @ 化」模組的輸入。 圖5 c為圖4 b之原始程式碼經過本發明之模組「計算元件進 入集合、元件消滅集合與元件離開集合」1 0 2b所輸出的每Page 23 519599 Brief description of the diagrams Figure 4b illustrates an original code ′ as the input of the different elements of the present invention into the assembly, the destruction of the assembly, and the departure of the module 10 2b of the assembly. Fig. 4c is an original program control flowchart outputted by the original program code of Fig. 4b through the "establishment control flowchart" module. Figure 4d is the component generating set of each block output by the module 1 0 2a computing component generating set of Figure 4b. Figure 4e shows the initial component entry set, component elimination set, and component departure set obtained by step 102 of the calculation of the component entry set, the component elimination set, and the element leaving set by the module 102b. FIG. 4 is the component entry collection, component elimination collection, and component departure collection obtained after the module 102b of the present invention calculates component entry collection, component elimination collection, and component departure collection 402. Figure 5a illustrates the detailed flow of the "instruction code optimization" module of the present invention. FIG. 5b illustrates the L⑽st value of a component as the input of the “instruction code optimization @ 化” module of the present invention. Fig. 5c is the output of the original code of Fig. 4b through the module "computing component entering set, component destroying set and component leaving set" 1 0 2b of the present invention.

第24頁 519599 圖式簡單說明 一個元件在每一個指令的狀態。 圖5 d為由本發明之「指令碼最佳化」模組所得到的的輸 出。 圖號說明 1 0 1 建構控制流程圖模組 1 0 2 元件為主資料流方程式分析模組 10 2a計算元件產生集合的模組 1 0 2b計算元件進入集合、消滅集合與離開集合的模組 10 3指令碼最佳化模組 2 0 1〜2 0 4 本發明之控制流程圖之建構流程步驟 3 0 1〜3 0 3 本發明之計算元件產生集合模組之流程步驟 4 0 1〜4 0 3 本發明之計算元件進入集合、消滅集合與離開集 合模組之流程步驟 5 0 1〜5 0 4 本發明之最佳化程式碼之流程步驟Page 24 519599 The diagram briefly illustrates the state of a component at each instruction. Figure 5d is the output obtained by the "instruction code optimization" module of the present invention. Description of drawing number 1 0 1 Construction control flowchart module 1 0 2 Element-based data flow equation analysis module 10 2a Module for generating sets from calculation elements 1 0 2b Module 10 for entering into sets, destroying sets and leaving sets 3 Instruction code optimization module 2 0 1 ~ 2 0 4 Steps of constructing the control flowchart of the present invention 3 0 1 ~ 3 0 3 Steps of the calculation module generating assembly module of the present invention by step 4 0 1 ~ 4 0 3 Flow steps of the computing element entering the collection, destroying the collection and leaving the collection module of the present invention 5 0 1 ~ 5 0 4 Flow steps of the optimization code of the present invention

111 «11 第25頁111 «11 Page 25

Claims (1)

519599 六、申請專利範圍 1. 一種結合低耗能指令集在編譯器之元件流程分析結構, : 包含有: 一建構控制流程圖模組,建構一個有向圖,該有向圖將 輸入的原始指令碼切割成複數個基本區塊,並依照流程 順序將控制流程資訊加入該輸入之原始指令碼的區塊的 集合裡,而不同基本區塊間的流程順序係以建立鏈結來 表示流程; 一元件為主貧料流方程式分析板組’根據該有向圖來分 析每個指令使用處理器中元件的狀態,並利用一資料流 分析方式,算出每個時序中狀態為活動的元件;以及 一指令碼最佳化模組,從該元件為主資料流方程式分析 模組得到每個元件的活動狀況,找出元件在連續幾個指 令週期下,狀態都為休眠的指令區間,在該指令區間前 加入一個休眠功能,讓該元件休眠以節省能源。 2. 如申請專利範圍第1項所述之元件流程分析結構,其中 該元件為主資料流方程式分析模組更包含下列子模組: 一第一模組,用以計算在該有向圖裡每一個區塊的元件 產生集合,和每一區塊使用元件所須要的時序數; 以及 瞻 一第二模組,用以計算在該有向圖裡每一個區塊的元件 進入集合、元件消滅集合和元件離開集合。 3. 如申請專利範圍第1項所述之元件流程分析結構,其中519599 6. Scope of patent application 1. A component flow analysis structure in a compiler that combines a low-energy instruction set: Contains: A control flowchart module is constructed, and a directed graph is constructed. The instruction code is cut into a plurality of basic blocks, and the control flow information is added to the set of blocks of the input original instruction code according to the flow order, and the flow order between different basic blocks is represented by the establishment of a chain; A component-based lean flow equation analysis board group 'analyzes the state of the component in each instruction using the processor according to the directed graph, and uses a data flow analysis method to calculate the component whose status is active in each time sequence; and An instruction code optimization module obtains the activity status of each component from the component's main data flow equation analysis module, and finds out the instruction interval where the component is in a dormant state under several consecutive instruction cycles. A sleep function is added before the interval to let the component sleep to save energy. 2. The component flow analysis structure described in item 1 of the scope of patent application, wherein the component is the main data flow equation analysis module and further includes the following submodules: a first module for calculating in the directed graph The components of each block generate a set, and the number of timings required for each block to use the components; and a second module, which is used to calculate the components of each block in the directed graph into the set, and the components are eliminated Collections and symbols leave collections. 3. The component flow analysis structure described in item 1 of the scope of patent application, where 第26頁 519599 六、申請專利範圍 對不同的元件硬體設計,提供相對應的休眠功能。 4.如申請專利範圍第3項所述之元件流程分析結構,其中 若該元件提供開/關硬體設計,則該元件依指令或指令 集的下達5切斷其電源之提供,使該元件從耗電狀悲轉 為不耗電狀態。 5.如申請專利範圍第3項所述之元件流程分析結構,其中 若該元件僅提供低耗電硬體設計’則該元件依指令或指 令集的下達,降低其電源之提供,使該元件從耗電狀態 丨_ 轉為低耗電狀態。 6. —種結合低耗能指令集在編譯器之元件流程分析方法, 包含下列步驟: (a) 建構一控制流程圖,該控制流程圖將輸入的原始指 令碼切割成複數個基本區塊,並依照流程順序將控 制流程資訊加入該輸入之原始指令碼的區塊的集合 裡,且在不同基本區塊間以建立鏈結來表示流程順 序; (b) 根據該控制流程圖來分析每個指令使用處理器中元 件的狀態,並利用一資料流分析方式,算出每個時 序中狀態為活動的元件;以及 (c) 從該元件為主資料流方程式分析模組得到每個元件 的活動狀況,找出元件在連續幾個指令週期下,狀Page 26 519599 6. Scope of patent application Provide different sleep function for different component hardware design. 4. The component flow analysis structure described in item 3 of the scope of patent application, wherein if the component provides an on / off hardware design, the component cuts off the power supply of the component according to the instruction or instruction set 5 to make the component The tragic transition from power consumption to non-power consumption. 5. The component flow analysis structure described in item 3 of the scope of patent application, wherein if the component only provides a low power consumption hardware design, then the component is issued in accordance with the instruction or instruction set, reducing the supply of power to the component From power consumption state 丨 _ to low power consumption state. 6. —A method for analyzing the component flow of the compiler in combination with a low-energy-consumption instruction set, including the following steps: (a) constructing a control flowchart which cuts the input original instruction code into a plurality of basic blocks, According to the flow order, the control flow information is added to the set of blocks of the input original instruction code, and the flow order is established by establishing links between different basic blocks; (b) Analyze each according to the control flow chart The instruction uses the state of the component in the processor and uses a data flow analysis method to calculate the active component in each time sequence; and (c) obtains the active status of each component from the component's main data flow equation analysis module. , Find out the component under several consecutive instruction cycles, the state 第27頁 519599 六、申請專利範圍 態都為休眠的指令區間,並將該原始指令碼最佳 ’ 化,以使該元件休眠而節省能源。 7. 如申請專利範圍第6項所述之元件流程分析方法,其中 該步驟(a )之控制流程圖之建構依序更包含下列四個步 驟: (a 1 )決定原始程式碼中那些敘述為基本區塊的首引; (a2)對每一個首引,組成一個基本區塊,以首引為基本 區塊的開頭,包含所有以下的敘述,但不包含下一 個首引之後的敘述; (a 3)依照該原始程式,建立鏈結以連接不同基本區塊來 表示流程;以及 (a 4)將該基本區塊中的每一個欽述晝分為一個區塊。 8. 如申請專利範圍第6項所述之元件流程分析方法,其中 該步驟(b )依序更包含下列兩個步驟: (b 1 )計算在該控制流程圖裡每一個區塊的元件產生集 合,和每一區塊使用元件所須要的時序數;以及 (b 2)計算在該控制流程圖裡每一個區塊的元件進入集 合、元件消滅集合和元件離開集合。 ® 9.如申請專利範圍第6項所述之元件流程分析方法,其中 該步驟(c)之控制流程圖之建構依序更包含下列四個步 驟:Page 27 519599 VI. Scope of patent application The instructions are all dormant instruction intervals, and the original instruction code is optimized to make the component sleep and save energy. 7. The component flow analysis method described in item 6 of the scope of the patent application, wherein the construction of the control flow chart of step (a) further includes the following four steps in order: (a 1) determine those statements in the original code as The headings of the basic block; (a2) For each heading, a basic block is formed, with the heading as the beginning of the basic block, including all the following descriptions, but not including the description after the next heading; a 3) According to the original program, a link is established to connect different basic blocks to represent the process; and (a 4) each of the basic blocks in the basic block is divided into one block. 8. The component flow analysis method described in item 6 of the scope of patent application, wherein step (b) further includes the following two steps in order: (b 1) Calculate the component generation of each block in the control flowchart Set, and the number of timings required for each block to use the component; and (b 2) Calculate the component entry collection, component elimination collection, and component departure collection for each block in the control flowchart. ® 9. The component flow analysis method described in item 6 of the scope of patent application, wherein the construction of the control flow chart of step (c) includes the following four steps in order: 第28頁 519599 六、申請專利範圍 (cl )在每一區塊&中,建構屬於該區塊B,的活動集合 與休眠集合,活動集合指該區塊中活動元件的集 合,休眠集合則指該區塊中休眠元件的集合,活動 集合即為該區塊的離開集合,休眠集合為全集合與 活動集合做差集的結果;Page 28 519599 VI. Patent Application Scope (cl) In each block & construct the active set and dormant set belonging to the block B, the active set refers to the set of active elements in the block, and the dormant set is Refers to the set of dormant elements in the block, the active set is the leaving set of the block, and the dormant set is the result of the difference between the full set and the active set; (c 2)對每一個基本區塊,將其中所有區塊的休眠集合依 序兩兩交集,並將結果存放於另一陣列中,再對此 陣列中的集合依序兩兩交集,再存放至另一陣列 中,重覆此動作直到陣列中所有集合皆為空集合為 止。第一次兩兩交集的結果存放於R2,第二次兩兩 交集的結果存放於R3,以此類推,假設一共做了 1 次交集,即RH1内所有的集合皆為空集合; (c 3 )針對&中所有不為空集合的集合,假設該集合為 R,中第j個集合,對該集合中的所有元件做下 列動作:若1 大於該元件的L_st,則記錄此 元件可在第j 個區塊前插入休眠功能的資訊,並 連同區間(j, j + 1 ) 的資訊也記錄下來,做為(c 2) For each basic block, sequentially intersect the dormant sets of all the blocks, and store the results in another array, and then intersect the sets in the array in order. To another array, repeat this action until all sets in the array are empty sets. The result of the first pairwise intersection is stored in R2, the result of the second pairwise intersection is stored in R3, and so on. Assume that a total of 1 intersection has been made, that is, all sets in RH1 are empty sets; (c 3 ) For all the sets in & that are not empty sets, assuming that the set is the jth set in R, do the following actions for all elements in the set: If 1 is greater than the L_st of the element, record that this element can be used in The information of the sleep function is inserted before the jth block, and the information of the interval (j, j + 1) is also recorded as 往後檢視用。其中在記錄資訊前先檢視該元件與 該區間是否包含於已記錄區間,若上述情形成立, 則跳過記錄的動作;以及 (c4)依據該記錄,在該程式碼中插入該元件的休眠功能 指令。 1 0.如專利申請範圍第第6項所述之元件流程分析方法,其Use for back view. Before recording the information, check whether the component and the interval are included in the recorded interval. If the above situation is true, skip the recording action; and (c4) insert the sleep function of the component in the code according to the record. instruction. 10. The component flow analysis method described in item 6 of the scope of patent application, which 第29頁 519599 六、申請專利範圍 中該步驟(b 1 )依序更包含下列三個步驟: (b 1 1 )對每一個區塊針對欲分析的每一元件,新增一 個二維陣列的參數C y c 1 e C 〇 u n t,並且將 C y c 1 e C o u n t所有的元素的初始值皆設為Ο,亦即 CycleCountfBinCj] = 0 ,其中1 S i $ k,1 S j S n,CycleC〇unt[Bi][Cj]用來表示區塊 B,使用元件q所須要的時序數; (b 1 2 )在每一區塊中,建構屬於該區塊的元件產生集 合Comp_gen set,並且將此集合的初始值設為 空集合;以及 (b 1 3 )依指令的執行順序,對每一區塊&中的指令做下 列動作: 從指令與元件使用的對照表中查得該使令與元 件使用的關係,假設該指令使用q元件cq個時 序、C2元件CC2個時序、…、Cn元件CCn個時序, 則將時序數不為0的元件加入該區塊的產生集合 中,並且將Cy c 1 eCoun t [ Bi ] [ C!]的值加上CC!、 C y c 1 e C o u n t [ Bi ] [ C2 ]白勺值力u 上 C C2 、…、 C y c 1 e C 〇 u n t [ ] [ Cn ]白勺值力口上 C Cn o Π .如專利申請範圍第第6項所述之元件流程分析方法,其 中該步驟(b 2 )依序更包含下列三個步驟: (b 2 1 )在每一區塊中,建構屬於該區塊的元件進入 集合comp—infB」、元件消滅集合comp — kill[Bj]Page 519599 6. This step (b 1) in the scope of patent application includes the following three steps in sequence: (b 1 1) For each block for each element to be analyzed, add a two-dimensional array The parameter C yc 1 e C ount, and the initial values of all elements of Cyc 1 e C ount are set to 0, that is, CycleCountfBinCj] = 0, where 1 S i $ k, 1 S j S n, CycleC〇 unt [Bi] [Cj] is used to represent block B, using the sequence number required by component q; (b 1 2) In each block, construct the component Comp_gen set that belongs to the block, and set this The initial value of the set is set to the empty set; and (b 1 3) According to the execution order of the instructions, do the following actions for the instructions in each block &: Look up the order and The relationship between the components. Assuming that this instruction uses q components, cq timings, C2 components, CC2 timings, ..., Cn components, CCn timings, then the components with timing numbers other than 0 are added to the block's generation set, and Cy c 1 eCoun t [Bi] [C!] plus CC !, C yc 1 e C ount [Bi] [C2] white C C2, ..., C yc 1 e C Ount [] [Cn] C Cn o Π. The component flow analysis method described in item 6 of the patent application scope, wherein Step (b 2) includes the following three steps in sequence: (b 2 1) In each block, construct the component that belongs to the block into the set comp_infB ", and the component destroys the set comp — kill [Bj] 第30頁 519599 六、申請專利範圍 及元件離開集合comp一out [ B!],元件進入集合 comp—]與元件消滅集合comp — ki Π [Bi ]的 初始值設為空集合’元件離開集合c 0 m p __ 0 u t [ b j 的初始值设為該區塊的兀件產生集合 comp^gen [ ]; (b22)對每一區塊&做下列動作: (b2 2a)對每一個欲分析元件q,比較&的所有前 區塊(predecessor)白勺 CycleCountanCj]值,取其最大值,假 設此最大值為CCmax,若cCmax不為0,則 將CCmax的值減1,若減1後的值為〇,則將 元件C加入該區塊的元件消滅集合 comp —killfB!]中’若(CCmax-1)的值大於 C y c 1 e C 〇 u η ΐ [ ] [ C」·]的值,則將 CycleCountl^nCj]的值設為(CCmax~~l), (b22b)將該區塊的元件進入集合c〇mp—in[Bi ]設 為該區塊所有前區塊的元件離開集合 c〇m p — 〇 u t [ Bi ]的聯集,亦即 comp—i η [ ]二 u comp_〇ut [ P ],其中 P 為 B1的前區塊, (b2 2c)將該區塊的元件離開集合c〇mp_〇ut [I ]設 為该區塊元件進入集與元 件消滅集合c〇mp_kl u [h ]的差集後,再 與元件產生集合c 〇 m p — g e η [ ]作聯集,亦Page 30 519599 VI. Scope of patent application and components leave the set comp-out [B!], The components enter the set comp—] and the component destroys the set comp — ki Π [Bi] The initial value is set to the empty set 'the component leaves the set c 0 mp __ 0 ut [The initial value of bj is set to the component generation set comp ^ gen [] of the block; (b22) Do the following for each block & (b2 2a) For each element to be analyzed q, compare the CycleCountanCj] values of all predecessors of & and take the maximum value, assuming this maximum value is CCmax, if cCmax is not 0, then decrease the value of CCmax by 1, If the value is 0, component C is added to the component elimination set comp —killfB!] In the block. 'If (CCmax-1) is greater than C yc 1 e C 〇u η η [] [C ”·] , Then set the value of CycleCountl ^ nCj] to (CCmax ~~ l), (b22b) Set the components of the block into the set c0mp_in [Bi] Set the components of the previous block of the block to leave the set c〇mp — 〇ut [Bi] Union, that is, comp-i η [] two u comp_〇ut [P], where P is the previous block of B1, (b2 2c) will The component of the block leaves the set c0mp_〇ut [I] is set as the difference between the block component entering set and the component elimination set c〇mp_kl u [h], and then the set c 〇mp — ge η is generated with the component. [] As a joint collection, also — 第31頁 519599 六、申請專利範圍 即comp —〇ut[Bi ]=comp一gen[Bi ] U (comp—infBi] - comp —killfBi]);以及 (b2 3 )重複步驟(b2 2 ),直到所有區塊的元件離開集合 不再產生變化。 ^ 12·如申請專利範圍第7項所述之元件流程分析方法,其中 或步驟(a 1)之首引決定的法則有三: (a 11 )程式的第一個敘述即為一首引; U12)任何為條件跳躍(conditional g〇t〇)或無條件跳 躍(unconditional goto)目標的敘述即為一首 引;以及 ” (al3)任何跟在跳躍(goto)或條件跳躍(c〇ndi ti⑽al goto)後的敘述即為一首引。 1 3 ·如申请專利範圍第1項所述之元件流程分析方法,其中 對不同的元件硬體設計,提供相對應的休眠功能,並以 一臨界值LCQnst來判定是否將元件轉為休眠狀態。 1 4 ·如申請專利範圍第1 3項所述之元件流程分析方法,其 中若該元件提供開/關硬體設計,則該元件依指令或指 令集的下達,切斷其電源之提供,使該元件從耗電狀態 轉為不耗電狀態,且該L⑶nst值依下列的成本模式決定: P(v) + SLEEP(v) ^ Lconst * ACT(v);— Page 31 519599 6. The scope of patent application is comp —〇ut [Bi] = comp—gen [Bi] U (comp—infBi]-comp —killfBi]); and (b2 3) repeat step (b2 2), No changes are made until the elements of all blocks leave the collection. ^ 12: According to the component flow analysis method described in item 7 of the scope of patent application, there are three rules for determining the heading of step (a 1): (a 11) The first description of the program is a heading; U12 ) Any narrative that is a goal of conditional got or unconditional goto is a quotation; and "(al3) any goto or conditional goto The following description is a quote. 1 3 · The component flow analysis method described in item 1 of the scope of patent application, which provides corresponding sleep functions for different component hardware designs, and uses a threshold LCQnst to Determine whether to turn the component into a dormant state. 1 4 · The component flow analysis method described in item 13 of the scope of patent application, wherein if the component provides an on / off hardware design, the component is issued according to an instruction or instruction set , Cut off the supply of its power, so that the component changes from a power-consuming state to a non-power-consuming state, and the value of LCDnst is determined according to the following cost model: P (v) + SLEEP (v) ^ Lconst * ACT (v);
TW90115630A 2001-06-27 2001-06-27 Component-activity data flow equation on compiler for low power instruction sets TW519599B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW90115630A TW519599B (en) 2001-06-27 2001-06-27 Component-activity data flow equation on compiler for low power instruction sets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW90115630A TW519599B (en) 2001-06-27 2001-06-27 Component-activity data flow equation on compiler for low power instruction sets

Publications (1)

Publication Number Publication Date
TW519599B true TW519599B (en) 2003-02-01

Family

ID=27801458

Family Applications (1)

Application Number Title Priority Date Filing Date
TW90115630A TW519599B (en) 2001-06-27 2001-06-27 Component-activity data flow equation on compiler for low power instruction sets

Country Status (1)

Country Link
TW (1) TW519599B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539884B2 (en) 2005-12-29 2009-05-26 Industrial Technology Research Institute Power-gating instruction scheduling for power leakage reduction
US7904736B2 (en) 2007-04-13 2011-03-08 Industrial Technology Research Institute Multi-thread power-gating control design

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539884B2 (en) 2005-12-29 2009-05-26 Industrial Technology Research Institute Power-gating instruction scheduling for power leakage reduction
US7904736B2 (en) 2007-04-13 2011-03-08 Industrial Technology Research Institute Multi-thread power-gating control design

Similar Documents

Publication Publication Date Title
Jouppi et al. Motivation for and evaluation of the first tensor processing unit
Su et al. Saving power in the control path of embedded processors
WO2022170997A1 (en) Data processing method and system based on risc-v instruction set, and device and medium
Gibson et al. Forwardflow: A scalable core for power-constrained CMPs
Voitsechov et al. Inter-thread communication in multithreaded, reconfigurable coarse-grain arrays
Sharifian et al. Chainsaw: Von-neumann accelerators to leverage fused instruction chains
Jeong et al. Rasa: Efficient register-aware systolic array matrix engine for cpu
Yazdani et al. LSTM-sharp: An adaptable, energy-efficient hardware accelerator for long short-term memory
Bhosle et al. FPGA Implementation of low power pipelined 32-bit RISC Processor
TW519599B (en) Component-activity data flow equation on compiler for low power instruction sets
Costero et al. Energy efficiency optimization of task-parallel codes on asymmetric architectures
Gupta et al. Accelerating CNN inference on long vector architectures via co-design
Uvieghara et al. An experimental single-chip data flow CPU
Robatmili et al. Exploiting criticality to reduce bottlenecks in distributed uniprocessors
CN100583042C (en) Compiling method, apparatus for loop in program
Murthy et al. FPGA based Implementation of Power Optimization of 32 Bit RISC Core using DLX Architecture
Raghavan et al. Distributed loop controller for multithreading in unithreaded ILP architectures
Yazdanpanah et al. EREER: Energy-aware register file and execution unit using exploiting redundancy in GPGPUs
Yang et al. Exploiting schedule slacks for rate-optimal power-minimum software pipelining
Ou et al. A case for MVPs: mixed-precision vector processors
de Dinechin et al. DSP-MCU processor optimization for portable applications
Robatmili Efficient execution of sequential applications on multicore systems
US20140156685A1 (en) Loopback structure and data loopback processing method of processor
Wang et al. A flexible chip multiprocessor simulator dedicated for thread level speculation
Yue-Li et al. Design of a high performance microcontroller

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees