TW591531B - Conditional execution control head in a VLIW processor - Google Patents
Conditional execution control head in a VLIW processor Download PDFInfo
- Publication number
- TW591531B TW591531B TW91122238A TW91122238A TW591531B TW 591531 B TW591531 B TW 591531B TW 91122238 A TW91122238 A TW 91122238A TW 91122238 A TW91122238 A TW 91122238A TW 591531 B TW591531 B TW 591531B
- Authority
- TW
- Taiwan
- Prior art keywords
- execution
- instruction
- condition
- action
- super
- Prior art date
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
591531591531
發明之領域 本發明係提供一種超長指今本分♦ ' ' = 令字元處理”之條件式執行標頭以 發明背景 越來越多的電腦運算需要使用到具有指令階段平行處 理(instruction level parallelism, ILp)能力之電腦处 也就是說,該電腦可同時執行複數個指令,而超長指令字 元(very long instruction word,VLIW)處理器就是一種 可處理這類超長指令字元之處理器。超長指令字元處理器 係用於超級電腦(super computer)、大型電腦 (mainframe)、或其它需要高速運算之電腦中。 每一超長指令字元中皆包含複數個欄位(f i e 1 d ),或 稱之為指令槽(s 1 ot),每一指令槽内係被設計成只能包含 單一指令,而該指令中包含一動作碼(opcode )及其它相關 的運算元(operand)。一般而言,該超長指令字元中的指 令槽之數量係與機器的架構及機器内例如像是算術及邏輯 單元(ALU)、浮點運算單元(floating point unit,FPU) 之類的功能單元之數量有關。每一指令槽皆對應於一特定 之算術及邏輯單元或一浮點運算單元,該算術及邏輯單元FIELD OF THE INVENTION The present invention provides a conditional execution header with a super long pointer. "'= = Character processing." BACKGROUND OF THE INVENTION More and more computer operations require instruction level parallel processing (instruction level). Parallelism (ILp) capable computer means that the computer can execute multiple instructions at the same time, and a very long instruction word (VLIW) processor is a type of processing that can handle such very long instruction characters Super long command character processor is used in super computer (main computer), mainframe (mainframe), or other computers that require high-speed computing. Each super long command character contains multiple fields (fie 1 d), or instruction slot (s 1 ot), each instruction slot is designed to contain only a single instruction, and the instruction contains an action code (opcode) and other related operands (operand ). In general, the number of instruction slots in the extra-long instruction character is related to the machine's architecture and inside the machine, such as arithmetic and logic units (ALU), floating-point arithmetic units (floati ng point unit (FPU) is related to the number of functional units. Each instruction slot corresponds to a specific arithmetic and logic unit or a floating-point arithmetic unit, the arithmetic and logic unit
第6頁 591531Page 6 591531
五、發明說明(2) 係用來執行整數的加、減、與乘等算術運管及布林 邏輯運算,而該浮點運算單元係^來執行浮點 運异。因為成本的考量,大多數的中央 只包含一 個洋點運算單元,當該超县# A. Μ1早 田Α尤長彳日7子兀被執行時,該洋點運 2早疋執行該相對應的措令槽内之動作碼所標明之執行動 作0 ' 習知 週期 令排 所皆 理一 該指 特定 值之 行的 指令 管。 行完 個機 機械 一指 是眾 於處 度。 關的 元的 被執 管的 令排 能執 於一 的超長指令字7L處理器中,超長指令字元係於一 ^machine cycle)的時間中從記憶體内被轉換成 官(instruction pipeline),指令排管的用處已 知,並且指令排管已經被證明可大幅提高處理器 内含一串列依序被執行的指令之程式碼的運作速 令排管中的每一階段皆執行一與該指令的執行有 功能步驟,例如像是攫取(fetch)記憶體内運瞀 類的執行動作。在依序執行的過程中,下一個#將 指令是已知的,並且可緊跟在剛被轉換成指令排 之後立刻就於下一機器週期的時間内被轉換 因此,雖然每一個指令都可能需要好幾個階段^ 畢,但是,該指令排管一旦被填滿,該指人 器週期的時間内執行完畢。 7 ’ 1 然而,大多數的程式碼中也包含例如像是”丨 ,件式指令(conditional instructi〇n),這類的杜、、的 々會一直等到完全執行完畢後才知道下一個將執行/的指曰入V. Description of the Invention (2) It is used to perform arithmetic operations such as addition, subtraction, and multiplication of integers and Bollinger logic operations, and the floating-point arithmetic unit is used to perform floating-point operations. Due to cost considerations, most of the centers only include a foreign point operation unit. When the Chaoxian # A. Μ1 Waseda A You Changyi 7th day is executed, the foreign point 2 early execution of the corresponding The execution action indicated by the action code in the action slot is 0. The learning cycle order places all the instruction tubes that should refer to a specific value. After finishing the machine, one finger is everywhere. Guan Yuan's managed command line can be executed in a super-long instruction word 7L processor. The super-long instruction character is converted from memory into an instruction pipeline in a ^ machine cycle time. ), The usefulness of the instruction pipeline is known, and the instruction pipeline has been shown to greatly improve the operation speed of the processor's code that contains a series of sequentially executed instructions. There are functional steps related to the execution of the instruction, such as fetching execution operations in a memory. During sequential execution, the next # will be known, and can be converted immediately in the next machine cycle immediately after being converted to the instruction bank. Therefore, although every instruction is possible It takes several stages ^, but once the instruction pipeline is filled, the execution of the finger cycle is completed. 7 '1 However, most of the code also contains, for example, "丨, conditional instructi0n". Such du, and 々 will wait until the execution is complete before they know that the next one will be executed. / Refers to
591531 五、發明說明(3) 是什麼。因為條件式指令不知道下一個將執行的指令是什 麼,所以幾乎不可能使該指令排管中滿載以串列式之方式 排列的指令,也因此條件式指令會降低處理器處理指令之 速度。 請參考圖一,圖一為一以C語言所窝戌之内含一條件 式指令n i f π (第1 2行)的程式,而圖二則顯示一習知編譯器 如何將圖一中之程式轉換成一組合語言碼,請注意,在第 3 6、44行之間的指令槽係以雙直線來代表指令槽之間的界 限。在圖二中,一直要到位於第32行的式子(CMPGT R0, 0 )被執行完畢後’才知道要依照32-〉34->36->38->40->48 的次序退是依照32-〉34 -〉42->44-〉46-48的次序處理。處 理器依據(CMPGT R0, 0)之邏輯真偽來決定將要處理的指 令。上述的這種不能確定之模糊情況係稱為分枝延遲 (branch delay),而這種延遲可能係導因於必需清空該通 道指令内之所有指令且於第1 2行的指令完全執行完畢後, 才能將下一個正確的指令轉換至該指令排管内,這種沒有 效率的動作是高速運作的處理器所不樂見的。 對於上述的分枝延遲問題已出現了許多種的解決方 式,其中之一就是依據一特定程式的執行紀錄來預測一條 件式指令之後最可能執行之指令。例如,如果圖二中的 n R 0 π在過往的執行紀錄中總是大於零,那麼當該程式執行 到第3 4行時,π R 0 π就被預期會大於零。基於這樣的預測,591531 V. What is (3)? Because a conditional instruction does not know what the next instruction is to be executed, it is almost impossible to fill the instruction pipeline with a series of instructions arranged in a serial manner. Therefore, a conditional instruction will reduce the processor's processing speed. Please refer to Fig. 1. Fig. 1 is a program containing a conditional instruction nif π (line 12) in C language. Fig. 2 shows how a compiler interprets the program in Fig. 1 Converted into a combined language code, please note that the instruction slots between lines 3, 6, and 44 use double straight lines to represent the boundaries between instruction slots. In Figure 2, it is not until the expression (CMPGT R0, 0) on line 32 has been executed that it is' not known to follow 32-> 34- &36; > 38- > 40- > 48 The order back is processed according to the order of 32-> 34-> 42-> 44-> 46-48. The processor determines the instructions to be processed based on the logic of (CMPGT R0, 0). The above-mentioned uncertain situation is called branch delay, and this delay may be caused by the need to clear all instructions in the channel instruction and after the execution of the instructions in line 12 In order to convert the next correct instruction into the instruction pipeline, such an inefficient action is unpleasant for a high-speed processor. There have been many solutions to the above-mentioned branch delay problem. One of them is to predict the most likely instruction to be executed after a one-component instruction according to the execution record of a specific program. For example, if n R 0 π in Figure 2 has always been greater than zero in the past execution records, then when the program reaches line 34, π R 0 π is expected to be greater than zero. Based on such predictions,
591531 五、發明說明(4) 在第3 4行的指令被執行的同時,第3 6、3 8、4 0、及4 8行的 指令就立刻被載入至該指令排管中。如果先前的預測i確 無誤,上述的分枝延遲的問題就可有效避免。然而,如果 先前的預測錯誤,那麼該指令排管内已存在的指令需被全 部清空以將第4 2 ' 4 4、4 6、及4 8行的正確指令轉換至該已 被清空的指令排管中,而時間就在這將正確指令轉換至該 已被清空的指令排管中的過程中浪費了。 而第二種解決分枝延遲問題的方法為將所有可能的指 令序列全數載入至該指令排管中,每一指令序列皆對應於 一種第3 4行所標明之條件式指令所可能產生的結果。至 此,第3 6 -48行中的所有指令皆被轉換至該指令排管中。 在該超長指令字元中的每一執行動作皆不僅只包含動作碼 及相關的運算元,每一執行動作尚包含内含單一位元或多 位元之旗標(f 1 ag ),用來標明該執行動作係屬於那一個特 定之程式分枝。請再參考圖二,在第3 6-4 0行中的每一指 令的旗標”值”皆被設定為” 1”,其係代表分枝’’ l’f,而第 42-46行中的每一指令的旗標”值π皆被設定為’’ 01’, 其係 代表分枝π 〇π。如果第32行中的條件式指令(CMPGT R0, 0) 為”真π,則只有那些包含旗標值為’’ 1π的指令槽内的指令 才會被執行,反之,如果第3 2行中的條件式指令(C Μ P G Τ R0, 0)為”偽’’,則只有那些包含旗標值為π 0’’的指令槽内 的指令才會被執行。雖然本方法能幫助該指令排管保持滿 載,然而本方法需要該超長指令字元中的每一指令槽皆空591531 V. Description of the invention (4) At the same time as the instructions in line 34 are executed, the instructions in lines 36, 38, 40, and 48 are immediately loaded into the instruction pipeline. If the previous prediction i is correct, the aforementioned branch delay problem can be effectively avoided. However, if the previous prediction is wrong, all existing instructions in the instruction pipeline need to be cleared in order to convert the correct instructions in lines 4 2 '4 4, 4, 6 and 48 to the cleared instruction pipeline. Time, and time is wasted in the process of transferring the correct instruction to the cleared instruction pipeline. The second method to solve the branch delay problem is to load all possible instruction sequences into the instruction pipeline. Each instruction sequence corresponds to a conditional instruction indicated by line 34. result. At this point, all instructions in lines 3 6-48 are converted to the instruction pipeline. Each execution action in the super-long instruction character not only contains an action code and related operands, but each execution action also contains a single-bit or multi-bit flag (f 1 ag). To indicate that the execution action belongs to a particular program branch. Please refer to FIG. 2 again. The flag “value” of each instruction in lines 36 to 40 is set to “1”, which represents the branch “l'f”, and lines 42-46 The flag "value π" of each instruction in the instruction is set to "01", which represents the branch π 〇π. If the conditional instruction (CMPGT R0, 0) in line 32 is "true π, then Only those instructions in the instruction slot containing the flag value `` 1π will be executed. Conversely, if the conditional instruction (CM PG Τ R0, 0) in line 32 is "false", then only Only those instructions in the instruction slot containing the flag value π 0 '' will be executed. Although this method can help the instruction pipeline to remain full, this method requires that each instruction slot in the super-long instruction character is air
591531 五 出 記 定 、發明說明(5) 預定空間之_、 憶體的大小端稍;^ U儲存廷些旗標,而該預定空間之 。 ^視4程式於執行時程式分枝的可能數量而 因此 種方法無法伴ί ί不足以解決上述的分枝延遲問題,第 執行結果,而篦:絲—次皆能正確地預測出條件式指令的 皆空出一預定需超長指令字元中每-指令槽 度。 、T堵存空間’如此將會增加程式的長 述 發明之目的及概 / · 本毛明之主要目的在於降低執行程式_的跳杆591531 Five-out record, description of the invention (5) _ of the predetermined space, the size of the memory is slightly smaller; ^ U stores some flags, and of the predetermined space. ^ Depending on the possible number of program branches during the execution of the 4 program, this method cannot be accompanied by ί. It is not enough to solve the branch delay problem described above. The first execution result, and 篦: silk-times can correctly predict conditional instructions. Each of them is vacated with a predetermined instruction length per-instruction slot. , T blocking space ’will increase the length of the program. The purpose and outline of the invention / · The main purpose of Ben Maoming is to reduce the jump bar
Qump)數,以降彻扣且八〜—石 w…征八時的跳仃 以降低超長指令字兀處理器中的分枝延遲。 本發明之第二目的在 中一批— ㈢的在於避免增加儲存該超長招人空- 行動作之旗標所需的額外記憶空間。 7 凡 ^發明之第三目的在於可使超長指令字元 侍以各別地被控制。 γ母—指令 ^ —本發明係揭露一用來執行一超長指令字元之 字兀處理器,其中該超長指令字元包含一條件式‘,指令 (conditional execution head,CEX)及複數個热/丁 標顯Qump) to reduce the number of jumps at eight o'clock-stone w ... at eight o'clock to reduce the branch delay in the ultra-long instruction word processor. The second object of the present invention is in the middle batch—the purpose is to avoid increasing the extra memory space required to store the flag of the ultra-long recruiting action. 7 The third purpose of the invention is to enable the super-long instruction characters to be individually controlled. γ mother-instruction ^ The present invention discloses a word processor for executing a very long instruction character, wherein the very long instruction character includes a conditional expression, a conditional execution head (CEX), and a plurality of instructions. Thermal / Ding display
五、發明說明(6) 時執行複數個執行動二理:=::二:功能單元,用來同 關,以及一控制電路 二二暫存态,複數個控制開 制開關,該控制電路可^ = ^暫存器及該複數個控 條件控制該複數個開 Z對應之條件指標所標明的 指令暫存器包含複數個用】 閉(close)。該 條件指標,每-條件指標Ϊ = ; =頭内包含複數個 制開關中的每-控制開關行。該複數個控 之功能單元會接收連於二=,啟狀態的控制開 令槽所傳來的執行動,=^於開啟狀態的控制開關之 開關之功能單元將不备收:=^ =處於關閉狀態的控制 所接收到之執行動作“時被執:執行動# ’且功能單元 發明之詳細說明 請參考圖—至圖三,圖一為以p五一 條件式指令n i f ”的栽+ 為j Ch吕所寫成之内含一 如何將圖一中之程式ς換,22 一超長指令字元編譯器 —超長指令字元編釋写, =:语言碼,而圖三則顯示 換成-組合語言^如何依據本發明將圖-中之程式轉 指 能單元。_L述之J理$ :疋:可從該指令槽被傳送至該功 關之功能單元會接收“二2,於處於開啟狀態的控制開V. Description of the invention (6) When executing multiple executions, the second principle is: = :: two: functional units, which are used for inter-off, and a control circuit, two or two temporary storage states, and a plurality of control opening switches. The control circuit can ^ = ^ The register and the plurality of control conditions control the instruction register indicated by the condition index corresponding to the plurality of open Zs. The register is closed. The condition indicator, each-condition indicator Ϊ =; = The header contains each-control switch line among a plurality of control switches. The plurality of controlled functional units will receive the execution action transmitted from the control opening slot of the control state in the ON state, and the functional unit of the switch of the control switch in the open state will not be ready to receive: = ^ = in The execution action received when the control in the closed state is "performed: execute action # 'and the detailed description of the functional unit invention please refer to Figure-to Figure 3, Figure 1 is a p51 conditional instruction nif" + The content written by j Ch Lu contains a description of how to replace the program in Figure 1, 22 a super-long instruction character compiler-super-long instruction characters. -Combined language ^ How to transfer the program in Figure- to the power unit according to the present invention. _L 列 的 J 理 $: 疋: The functional unit that can be transmitted from the instruction slot to the function will receive "two 2", which is opened when the control is in the open state.
第11頁Page 11
說明(7) 複數f1二中第6 2、6 4行分別對應於一超長指令字元人 直ί:欄位,或稱ί指令槽’在圖三中每-指令槽皆:: 動作:分隔開來,每一指令槽皆包含-執行動作、執ί _ ι含一動作碼及任何相關的運算元。請 ^執仃 :中第34、40行之跳行已不復出現於圖三中。於圖 行皆會造成分枝延遲,然而 】份 “碼内不會出現跳行,所以就能增加處理以 I條件i:: 口的:CEU.C』C』C”之 指令究係在那一種條下、f j2打之超長指令字元中的四個 丨I字元中包含四個指令,鈇^,行。雖然第62行之超長指人 的指令數量係通常遍二=一個超長指令字元中所能二 丨指令字元内之指令i量有闕,本發明並不受限於該超: 該CEX指令通常係 字Ϊ行動^作之後,如第60 較的結果係藉著 樣,當一比較執 。就像習知之超 ”1,,(真)或,,0”(鸟=標暫存器内之作被執行後,比 )的方式所標明。条件旗標設定成 第12頁 五、發明說明(8) 當第6 2行中之古、 時,每一例如像是,Γ· C”曰之7子兀,載入至一指令暫存器 旗標)皆會直接對應於一指令栌條^指標(也稱為位'元 件旗標係被設定成” i ”。 執此订動作若且唯若該條 該相對應之執行動作i 4一 /、指標π ·Nc”則意指執行 "ο”。因此,如果第條件旗標係被設定成 標係被設定成"丨=的=較結果為’,真’’且該條件旗 ^ Ϊ ΛνΓ/Λ^χ *c·c;NC·NC€ ^ ^ ^ 行,而該超長指令字元中 乃 及第一指令將被執 行。因此,利角本發明之侔:j f:指令將不會被執 行的次,並使該“ ^”執仃標μ降低程式中跳 發明之條件式執‘;:—士处於滿載的情況。此外,本 令的長度,因此ϋ 不會如先前技術般會增加每一指 也就不會佔用記憶體額外的空間。 基本:益四為本發明超長指令字元處理器73之 件式執行ΪΪ 8〇Ϊ Ϊ令字*,該超長指令字元包含-條 指令槽比複數個指令槽82、84、86、及88,每一 ^ 5 t含一可被同時執行之指令。超長指令字元處理 °85、87匕 3 複數個功能單元(functi〇nal units,FU)83、 r動作,及8 9用來執行該超長指令字元所指定之複數個執 P 2、^以及複數個控制開關92、94、96、及98。控制開 ^ 4、9 6、及9 8係分別設置於該超長指令字元中的指Note (7) Lines 6, 2, and 4 of the plural f1 correspond to a super-long instruction character, respectively: column, or "command slot". In Figure 3, each-command slot is :: Action: Separately, each instruction slot contains-execute an action, execute an action code and any related operands. Please ^ Execution: The jumps in lines 34 and 40 in Chinese are no longer shown in Figure 3. Branches will be delayed on the line, however, the "instructions will not skip lines, so I can increase the processing of I condition i :: 口 : CEU.C『 C 』C” The four 丨 I characters in the super long instruction characters f j2 under one bar include four instructions, 鈇 ^, line. Although the number of super long fingers in line 62 is usually two = one super long command character can be two. The amount of command i in the command character is different. The present invention is not limited to the super: The CEX instruction is usually after the action is performed, as the result of the 60th comparison is performed by comparison. Just like the conventional super "1 ,, (True) or ,, 0" (bird = after the work in the target register is executed, than). The condition flag is set to page 12. V. Description of the invention (8) When the ancients in line 6 and 2 are loaded, each such as, for example, Γ · C ”is loaded into an instruction register. Flags) will directly correspond to an instruction bar ^ indicator (also known as a bit 'component flag is set to "i". Perform this order if and only if the corresponding action is performed i 4 a /, Indicator π · Nc ”means to execute " ο”. Therefore, if the condition flag is set as the standard is set as " 丨 == the comparison result is ', true' and the condition flag ^ Λ ΛνΓ / Λ ^ χ * c · c; NC · NC € ^ ^ ^ line, and the first instruction in the extra-long instruction character will be executed. Therefore, the corner of the invention: jf: instruction Will not be executed twice, and make the "^" execution standard μ reduce the conditional execution of the invention in the program ;:-the case is full load. In addition, the length of this order, so ϋ will not be as The prior art generally increases each finger and does not take up extra space in the memory. Basic: Yisi is a piece of execution of the ultra-long instruction character processor 73 of the present invention. 8〇Ϊ Command word *, the extra-long instruction character contains-an instruction slot than a plurality of instruction slots 82, 84, 86, and 88, each ^ 5 t contains an instruction that can be executed simultaneously. Ultra-long instruction Character processing ° 85, 87 dagger 3, multiple functional units (functinal units, FU) 83, r action, and 8 9 are used to execute the multiple executions specified by the super long instruction character P 2, ^, and plural Control switches 92, 94, 96, and 98. The control switches 4, 9, 6, and 98 are respectively set in the super-long instruction characters.
第13頁 591531 五、發明說明(9) ' ~' -- 二$ 82、84、86、及88與相對應的功能單元以、85、、7、 之間,用來控制一執行動作是否得以從指令槽82、 ^86、及⑽專送至功能單元83、85、87、及89。超長指 處理為73另包含一控制電路75用來控制控制開關 旅濟*/、^6、及98的開啟或關閉,以及一旗標暫存器77, 旗“暫存器7 7包含一條件旗# γ β用來暫左 ,. 之比較結果。 平仵旗‘ 76用果暫存一比較執行動作 控制開關9 2、9 4、9 6、及9 8可為多工器 、λ晶體 '或其它設計用來以可控制的方 ΐίΐΐϊ—電子訊號通過的*置及所有屬於本發明岸 c裝:。此外,指令槽82、84、86、及88、以 =於示…,而是任二=可 |計…能…心5裝實際的電路設 I控制電i ^可令Λ元义載入。至指-令暫存器79中以備執行, 將暫存於旗標^工1、稷數個比較器或電晶體等) 丨8。内的條:7=的=件旗標76與條件式執行標頭 卜,= Ϊ超;指令字元的指令槽…84、86 於位於 |果條件旗標76與條件指標8〇a、8〇b、8〇c、及仃☆中 第14頁 591531 五、發明說明(ίο) 的 個或一個以上的條件指標相同,那麼只要是Α :=:行,,、及8_條件旗標76相同^^ 請同時參考圖三中第62行之c超指^老 之條件指標為”.c.(· Nc. NC",盆可長/y子,,此處 τ。雷二丁動作已經將條件旗標設定為 --^ ,,、你寺於 1 )相比。因為條件旌庐7fi、士 汉疋之值與條件指標8〇a之值相, 二::旗軚76被 開啟(open)對應之控制開關92以使工_、路75就會 指令槽82傳送至功能單元83以備 ==動作得以從 75將條件旗標76與其餘之條相^地,控制電路 比’且依據相比的結果來控;=、8〇。、,80d相 98之開啟或關閉。因此,在這個;96、及 大於零,那麼指令槽82、844? 千f 如果第60行中R〇 指令槽86、88中的動二2 =執行動作將會被執行,而 之另一第二CEX超長指^^將其不會被執行:而第64行中 ".C. NC",因j:匕,在第64行中,⑮人才曰=為 會被執行’而指令槽84内之指令則、曰會^内執T。行動作將 作4;:之】;Π:”作程序與上述的實施例的運 ,、及輪: = · 千旗払76以標明一特定之執行 591531 五、發明說明(11) |動作是否會被執行,取而代之的是利用另一不同於條 標76之旗標、暫存器、或數值、甚或是三種的組合等來J 條件指標80a、8〇b、80 c'及80d相比。上述的這種藉〔高 度地調整該特定之旗標、暫存器、或值的系:可:以 取一將被執行之程式碼中的特定部份、用來除錯、用= 許一單一程式卻可在不同的情況下以不同的模式執行、= 其它任何目的。很顯然地,本實施例中的控制電路係 該旗標、該暫存器、及該值的輸入值來與條件指標8〇a、要 I 8 0 b、8 0 c、及 8 0 d相比。 . 相較於習知之技術,本發明可減少程式執行時跳行的 f生次數以進而減少超長指令字元處理器中的分枝延遲。 本,明在減少分枝延遲的同時並不需佔用超長指令字元 行動作額外的位元空間,如此就能避免增加種式 別& i 。t,、本發明另可對每一執行動作的執行作各 J S二户二ί程ί執ί!時因跳行所引起的分枝延遲常是影 2二二=兀处理裔執行速度的重要因素,而本發明確 實已提供有效的改善方法。 丨例如ΐ i:: i斤運ϊ i f件旗標僅是眾多指標中的一種, 標之中所引用的暫存器等也可作為指 | 、項特徵也^知技術所欠缺的。 以上所述僅為本發明之較佳實施例,凡依本發明申請 酬 第16頁 591531Page 13 591531 V. Description of the invention (9) '~'-$ 82, 84, 86, and 88 and corresponding functional units between, 85, 7, and 7 are used to control whether an execution action can be performed From the instruction slots 82, ^ 86, and ⑽ to the function units 83, 85, 87, and 89. The super long finger is processed as 73. It also includes a control circuit 75 for controlling the opening / closing of the switch * /, ^ 6, and 98, and a flag register 77, and the flag "register 7 7 contains a The condition flag # γ β is used to temporarily compare the results of the left and right. The flat flag '76 temporarily stores a comparison and performs an action control switch 9 2, 9 4, 9 6, and 9 8 can be a multiplexer and a lambda crystal. 'Or other devices designed to control in a controlled way—the electronic signal passed through and all belonging to the present invention: In addition, the instruction slots 82, 84, 86, and 88 are shown in ..., but Any two = may | can ... can ... install the actual circuit settings I control the electric power i ^ can load Λyuanyi. To the instruction-order register 79 for execution, it will be temporarily stored in the flag ^ work 1. 稷 several comparators or transistors, etc.) 丨 8. Inner bar: 7 == piece flag 76 and conditional execution header BU, = Ϊ super; instruction slot of instruction characters ... 84, 86 in The condition flag 76 located in the | fruit condition flag is the same as the condition index 80a, 80b, 80c, and 仃 on page 14 of 591531. V. The invention description (ίο) has one or more condition indicators, so as long as it is : =: OK,, and 8_ condition flag 76 is the same ^^ Please also refer to the super index of c in line 62 in Figure 3 ^ The condition indicator for old is ".c. (· Nc. NC " / y sub, here τ. Lei Erding action has set the condition flag to-^, compared to your temple. Because the values of the condition 7fi and the shihanji are the same as the value of the condition indicator 80a, 2: The flag 76 is turned on, and the corresponding control switch 92 is opened, so that the operation channel 75 will instruct the slot 82 to transmit. To the functional unit 83 in preparation for == action, the condition flag 76 can be compared with the rest from 75, and the control circuit is controlled based on the comparison result; =, 80. , 80d Phase 98 on or off. Therefore, at this; 96, and greater than zero, then the instruction slots 82, 844? F If the 60th line of the R0 instruction slot 86, 88 moves 2 = the execution action will be executed, and the other Two CEX long fingers ^^ will not be executed: and ".C. NC" in line 64, because j: dagger, in line 64, the person said: = will be executed, and the instruction slot The order within 84 is said to hold T inside. Actions will be made 4 ;: 之]; Π: "The operation procedure and operation of the above-mentioned embodiment, and round: = · Thousands of flags 76 to indicate a specific execution 591531 V. Description of the invention (11) | Whether the action It will be executed instead, using another flag, register, or value, or even a combination of the three, which is different from the bar 76 to compare the condition indicators 80a, 80b, 80c ', and 80d. The above-mentioned borrowing [adjusts the specific flag, register, or value highly: can: take a specific part of the code to be executed, use for debugging, use = xuyi A single program can be executed in different modes in different situations, = any other purpose. Obviously, the control circuit in this embodiment is the flag, the register, and the input value of the value and conditions Compared with the indicator 80a, I 8 0 b, 80 c, and 8 0 d. Compared with the conventional technology, the present invention can reduce the number of times of f-line skipping during program execution, thereby reducing ultra-long instruction words. Branching delay in the meta processor. In this paper, it is not necessary to occupy very long instruction word lines while reducing the branching delay. The extra bit space of the action can avoid increasing the type & i.t. The present invention can also perform the execution of each execution action. The branch delay caused is often an important factor in the execution speed of the processing processor, and the present invention does provide an effective improvement method. 丨 For example, ΐ i :: i: 运 斤 if flags are just a number of indicators One of them, the register, etc. cited in the subject can also be used as a reference, and the features are also lacking in the known technology. The above is only a preferred embodiment of the present invention. 16 pages 591531
第17頁 591531 圖式簡單說明 圖示簡單說明 圖一顯示以C語言所寫成""之内含一條件式指令n i f π的 程式。 圖二顯示習知編譯器將圖一中之程式轉換成一組合語 言碼。 圖三顯示本發明超長指令字元編譯器將圖一中之程式 轉換成一組合語言碼。 圖四為本發明超長指令字元處理器之硬體架構圖。 圖式之符號說明 73 超 長 指 令 字 元 處理器 75 控 制 電 路 76 條 件 旗 標 77 旗 標 暫 存 器 79 指 令 暫 存 器 82^ 8[ 86 ^ 88 指 令 槽 80 條 件 式 執 行 標 頭 83> 85〜 87^ 89 功 能 單 元 92^ 94^ 96> 98 控 制 開 關Page 17 591531 Brief description of the diagrams Brief description of the diagrams Figure 1 shows a program written in the C language with a conditional instruction n i f π. Figure 2 shows that the conventional compiler converts the program in Figure 1 into a combined language code. Fig. 3 shows that the ultra-long instruction character compiler of the present invention converts the program in Fig. 1 into a combined language code. FIG. 4 is a hardware architecture diagram of an ultra-long instruction character processor according to the present invention. Explanation of Symbols for Drawings 73 Very Long Instruction Word Processor 75 Control Circuit 76 Condition Flag 77 Flag Register 79 Instruction Register 82 ^ 8 [86 ^ 88 Instruction Slot 80 Conditional Execution Header 83> 85 ~ 87 ^ 89 function unit 92 ^ 94 ^ 96 > 98 control switch
第18頁Page 18
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW91122238A TW591531B (en) | 2002-09-26 | 2002-09-26 | Conditional execution control head in a VLIW processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW91122238A TW591531B (en) | 2002-09-26 | 2002-09-26 | Conditional execution control head in a VLIW processor |
Publications (1)
Publication Number | Publication Date |
---|---|
TW591531B true TW591531B (en) | 2004-06-11 |
Family
ID=34057873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW91122238A TW591531B (en) | 2002-09-26 | 2002-09-26 | Conditional execution control head in a VLIW processor |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW591531B (en) |
-
2002
- 2002-09-26 TW TW91122238A patent/TW591531B/en not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0399760B1 (en) | Paired instruction processor branch recovery mechanism | |
US6266765B1 (en) | Computer architecture capable of execution of general purpose multiple instructions | |
US6122656A (en) | Processor configured to map logical register numbers to physical register numbers using virtual register numbers | |
EP0399757B1 (en) | Paired instruction processor precise exception handling mechanism | |
JP5853303B2 (en) | Optimization of register initialization operation | |
US5758112A (en) | Pipeline processor with enhanced method and apparatus for restoring register-renaming information in the event of a branch misprediction | |
TWI263938B (en) | Method, processor and data processing system for pre-loading a hard architected state of a next process from a pool of idle processes awaiting execution | |
KR100571322B1 (en) | Exception handling methods, devices, and systems in pipelined processors | |
US6119223A (en) | Map unit having rapid misprediction recovery | |
JPH05250159A (en) | Device and method for solving dependence among plural instructions in storage device | |
US20120144160A1 (en) | Multiple-cycle programmable processor | |
JPH0334024A (en) | Method of branch prediction and instrument for the same | |
JP2003523573A (en) | System and method for reducing write traffic in a processor | |
JPH04260950A (en) | Cache memory device | |
TWI613590B (en) | Flexible instruction execution in a processor pipeline | |
US6266763B1 (en) | Physical rename register for efficiently storing floating point, integer, condition code, and multimedia values | |
EP1122639A2 (en) | Mechanism for load block on store address generation and universal dependency vector/queue entry | |
KR20060029614A (en) | Method and data processor with reduced stalling due to operand dependencies | |
US6230262B1 (en) | Processor configured to selectively free physical registers upon retirement of instructions | |
JP3736866B2 (en) | Micro control unit for super pipeline superscalar microprocessor | |
TWI613589B (en) | Flexible instruction execution in a processor pipeline | |
US6092184A (en) | Parallel processing of pipelined instructions having register dependencies | |
TW591531B (en) | Conditional execution control head in a VLIW processor | |
US5850563A (en) | Processor and method for out-of-order completion of floating-point operations during load/store multiple operations | |
US7472264B2 (en) | Predicting a jump target based on a program counter and state information for a process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |