CS93691A2

Method of instruction sequence processing and device for this method realization

Abstract

Described is a scalable compound instruction set machine and method which provides for processing a set of instructions or program to be executed by a computer to determine statically which instructions may be combined into compound instructions which are executed in parallel by a scalar machine. Such processing looks for classes of instructions that can be executed in parallel without data-dependent or hardware-dependent interlocks. Without regard to their original sequence the individual instructions are combined with one or more other individual instructions to form a compound instruction which eliminates interlocks. Control information is appended to identify information relevant to the execution of the compound instructions. The result is a stream of scalar instructions compounded or grouped together before instruction decode time so that they are already flagged and identified for selective simultaneous parallel execution by execution units. The compounding does not change the object code results and existing programs realize performance improvements while maintaining compatibility with previously implemented systems for which the original set of instructions was provided.

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

5 claims: 5 independent, 0 dependent

  1. 1
    ♦ «XMí-Ví ... - 39 - PATENTOVÉ ZFŘV-xCce.n / cíeA« 1. | TeTeá ?????????????????????????????????????????????????????????????? ♦«XMí-Ví... - 39 - PATENTOVÉ zfřv-xCce.n/ cíeA« 1 . |TeTeá?\^k~·"deci lení—ρ-a-ro l o ln para letního—provedeni N Á R 0 of-the-system-instruction-system-configuration-and-dot-indicating instruction, by including the assignment of existing instructions to multiple categories, comparing the adjacent existing instruction instruction instruction to the adjacent existing instruction capable of parallel execution in a special configuration of the system for processing the data and identifying by using a composition indicator of those neighboring existing in-structures which are recognized by means of comparative steps to be capable of parallel execution. 4-ene-2,3-dione according to claim 1, the separation and comparative steps of the present invention are developed, characterized in that they are carried out earlier than performed. 3. A compound according to claim 1 or 2, wherein the assignment step comprises assigning certain instructions to at least one category such that said comparison step causes an identification step to identify at least two adjacent existing instructions using a layout indicator for at least one category for parallel execution. Wherein said assignment step comprises assigning certain instructions to at least two different non-overlapping categories such that said comparison step causes the identification step to identify the slope indicator of at least two adjacent existing instructions from the two categories, to each other for parallel execution. 5. The furnace according to claim 1, characterized in that the identification step comprises a deletion from the target code of the existing instruction in its original shape for each embodiment or for parallel execution with another instruction. 40. A method according to any one of claims 1 to 5, wherein the assignment step takes into account the interlocking of dependent data between the instructions as well as the relative blocking of the associated function units in a special configuration of the data processing system. A method according to any one of claims 1 to 6, characterized in that the assignment step takes into account the interlocking between the instructions depending on the technical means of the message as well as the relative blocking of the associated function units in a special configuration of the data processing system. ~ 2. 8. The process according to any one of claims 1 to 7, wherein the comparison step comprises comparing the first instruction with the second adjacent following instructions for the possible composition with each other, and then comparing a second instruction with the third adjacent following assignee's instruction with each other to identify the multiple compound instructions identified by the respective multiple-indicating indices. The M-etode of claim 8, comprising an additional step for determining the optimal sequence of multiple instruction folders for a given portion of the instruction flow. The device according to any one of claims 1 to 9, characterized in that the comparison step for determining whether the adjacent standing instructions are suitable for parallel execution is based on the use of technical means rather than the description of the operating code. ~ LvH i 1. said composition means having access to a set of rules for identifying adjacent devices capable of parallel execution in a specific configuration of the computer and for creating a composite sequence of devices having a control array for identifying adjacent parallel instructions capable of parallel execution and which together constitute a composite instruction. 12. A method according to claim 11, characterized in that the pre-processing program is a means of composing by means of program tools used as part of a compiler or a subsequent compiler. 13. according to claim 11 or 12, characterized in that the composition means is a pre-normal processing unit by means of a technique that processes the device before it is invoked from the cache. ien / characterized in that the pre-processing program is a means of composing using the program means used as part of a compiler or a subsequent compiler. 13. according to claim 11 or 12, characterized in that the composition means is a pre-normal processing unit by means of a technique that processes the device before it is invoked from the cache. ien / characterized in that the pre-processing program is a means of composing using the program means used as part of a compiler or a subsequent compiler. 13. according to claim 11 or 12, characterized in that the composition means is a pre-normal processing unit by means of a technique that processes the device before it is invoked from the cache. ien / vyznačuj lei se tím, že obsahuje přidělovániurčitých stávajících instrukci do vícenásobných katego-riíz porovnání kategorii sousedních stávajících instrukciv instrukčním toku k rozhodnutí zda jsou sousední stávají-cí instrukce způsobilé paralelního provedení ve speciál-ní konfiguraci systému ke zpracováni dat a identifikovánípomocí ukazatele složení těch sousedních stávajících in-strukcí, které jsou pomocí porovnávacích kroků uznány zazpůsobilé paralelního provedení. ~í- U , 2. í'4-e4-e-d-ei p o d l e nároku 1dělovací a porovnávací krokystávající instrukce vyvolány , vyznačující se tímz žejsou vykonány dříve, nežk proveden í. př i -jsou 3. fAe-t-oete/pod l e nároku í nebo 2, vyznačující se tím,že přidělovací krok obsahuje přidělení určitých instrukcído nejméně jedné kategorie tak, že zmíněný porovnávacíkrok přiměje identifikační krok k identifikaci nejménědvou sousedních stávajících instrukcí pomocí indikátorusložení u nejméně jedné kategorie pro paralelní provedení. V> / 4. ťat o-ďaí podle nároku 1 až 3, vyznačující se tím,že přidělovací krok obsahuje přidělení určitých instrukcído nejméně dvou různých nepřesahujících kategorií tak,že zmíněný porovnávací krok přiměje identifikační krokk identifikaci indikátorem sloeení nejméně dvou soused-ních stávajících instrukci ze zmíněných dvou kategorií,navzájem pro paralelní provedení. 5. f+et-o-d-a^pod l e nároků 1 až k, vyznačující se tím, že identifikační krok obsahuje upuštění od cílového kódu stávajících instrukci v jeho původním tvaru pro jednotli- vé provedení nebo pro paralelní provedeni s jinou instrukcí. 40 6. r^e-t-ocka podle nároku 1 až 5, vyznačující se tím, že přidělovací krok bere v úvahu vzájemné blokování závis-lých dat mezi instrukcemi právě tak jako existenci relativ-ního blokováni sdružených funkčních jednotek ve speciálníkonfiguraci systému zpracovávajícího data. 7. K-e-tod-a podle jednoho z nároku 1 až 6, vyznačujícíse tím, že přidělovací krok bere v úvahu vzájemné bloková-ní mezi instrukcemi závislé na technických prostředcíchprávě tak jako existenci relativního blokováni sdruženýchfunkčních jednotek ve speciální konfiguraci systému prozpracování dat. ~2. t 8. ?še+o-d-a podle jednoho z nároku 1 až 7, vyznačujícíse tím, že porovnávací krok obsahuje porovnávání prvnístávající instrukce s druhou sousední následující instruk-cí pro možné složeni s každou další, a potom porovnávánídruhé instrukce s třetí sousední následující instrukcí promožné složeni s každou další, k identifikováni vícenásob-ných složených instrukcí identifikovaných příslušnýmiindikátory pro vícenásobné složení. 9. M-etoda podle nároku 8, vyznačující se tím, žeobsahuje dodatečný krok pro určeni optimální posloupnostivícenásobných složených instrukcí pro danou část instrukč-ního toku. 10. H-e-tod-e podle jednoho z nároků 1 až 9, vyznačují-cí se tím, že porovnávací krok k určení zda sousední stá-vající instrukce jsou způsobilé paralelního provedeni jezaložen na použití technických prostředků spíše než popi-su operačního kódu. ~L zvH i 1 . *ys~té-m pro zpracování posloupnosti instrukcí ode- braných ze stávajícího sledu strojových instrukci za úče- lem přípravy postoupnosti pro paralelní provedení speciál- 41 ní konfigurací počítače, vyznačující se tím, že obsahujesoubor pravidel spočívající na speciální konfiguraci po-čítače indikující určité strojové instrukce, které jsouzpůsobilé k paralelnímu provedení s jinými strojovýmiinstrukcemi a prostředky složení pro předběžné zpracovánípřed vyvoláním binárního instrukčního toku s obsahem stá-vajících instrukcí, přičemž zmíněné prostředky složeni ma-jí přístup k souboru pravidel pro identifikaci sousedníchinstrukci způsobilých paralelního provedeni ve speciálníkonfiguraci počítače a pro vytvořeni složené posloupnostiinstrukcí mající řídicí pole k identifikování jednotli-vých sousedních instrukcí způsobilých pro paralelní prove-dení a které dohromady tvoři složenou instrukci. 12. 3ysléur podle nároku 11, vyznačující se tím, žeprostředkem ke složeni je program předběžného zpracováníprogramovými prostředky použitými jako část kompilátorunebo následného kompilátoru. 13. p o d l e nároku 11 nebo 12, vyznačující setím, že prostředek složení představuje jednotka pro před-běžné zpracování technickými prostředky, která zpracováváinstrukce před jejich vyvoláním z rychlé vyrovnávací pamě-ti. ien/
  2. 2
    14. Sy-s-t-éflt' podle jednoho z nároků 11 až 13, vyznaču-jící se tím, že prostředek složení je způsobilý vytvářetsložené posloupnosti instrukci s řídicím polem k identi-fikování párů sousedních instrukcí způsobilých pro para-lelní provedení. Synthesizer according to one of Claims 11 to 13, characterized in that the composition means is capable of generating a sequential sequence of instructions with a control field to identify pairs of adjacent instructions capable of paralleling.
  3. 3
    15. A system according to claim 14, wherein the assembly means is capable of forming compound sequences in a control array structure for identifying groups of three or more adjacent instructions capable of parallel execution. - 42 - 2 μM;c i io. A system according to one of Claims 11 to 15, characterized in that the control field contains at least one identification bit associated with each compound instruction. Z-Arl line 17 according to claim 16, characterized in that the irradiated control array comprises a bit identifying part and a bit control portion different from said identification part. 18. According to one of the claims 11 to 17, characterized in that said control field comprises at least one identification bit associated with each individual instruction forming a composite instruction. A 8-y system according to claim 18, the control field contains at least one identification bit assigned to each individual instruction not forming a compound instruction. The S-jr-ts of one of claims 11 to 19, characterized in that said set of rules is based on the use of technical means rather than the description of the operating code. ? ar'ize / li ' 15. Sy-s-bé-m podle bodu 14, vyznačující se tím, že pro-středek složeni je způsobilý tvořit složené posloupnostiinstrukci s řídicím polem pro identifikování skupin třínebo více sousedních instrukcí způsobilých paralelníhoprovedení . - 42 - 2 λΜ ? c ίΆι Ίό. Sy s-t é-m podle jednoho z nároků 11 až 15, vyznaču-jící se tím, že řečene řídicí pole obsahuje nejméně jedenidentifikační bit sdružený s každou složenou instrukci. Z-Arl řňi 17. podle nároku 16, vyznačující se tím, žeřečené řídicí pole obsahuje identifikační část bitu a ří-dicí část bitu odlišnou od řečené identifikační částibitu. 18. podle jednoho z nároků 11 až 17, vyznačují-cí se tím, že řečené řídicí pole obsahuje nejméně jedenidentifikační bit přidružený ke každé jednotlivé instruk-ci tvořící složenou instrukci. Λ '* 19. 8-ystém podle nároku 18, vyznačující se tím, žeřídicí pole obsahuje nejméně jeden identifikační bit při-družený ke každé jednotlivé instrukci netvořící složenouinstrukci. 20. S-jrs-t-ém podle jednoho z nároků 11 až 19, vyznaču-jící se tím, že zmíněný soubor pravidel je založen napoužití technických prostředků spíše než na popisu operač-ního kódu. ?ar'ize/li’
  4. 4
    21. Systém pro generování instrukčního toku pro para-lelní provedení ve speciální konfiguraci počítače, vyzna-čující se tím, že obsahuje seznam stávajících skalárníchinstrukci seskupených do vícenásobných kategorií založenýna způsobilosti stejných nebo různých kategorií instrukcí k paralelnímu provedení ve speciální konfiguraci počítače,prostředky pro předběžné zpracování k přijmu na vstupuskalárních instrukcí jako části binárního slabikového to-ku a pro rozhodnutí podle zmíněného seznamu, které soused-ní skalární instrukce jsou kandidáty pro paralelní prove-dení ve speciální konfiguraci počítače, a prostředky kesložení pro tvorbu označeni přidružených určitým skalárním 43 instrukcím v instrukčním toku indikujícím, které sousednískalární instrukce jsou částí složené instrukce způsobilépro paralelní provedeni, a které skalární instrukce vinstrukčním toku nejsou způsobilé pro paralelní provedeníve speciální konfiguraci počítače. 7(/ιι and which scalar instructions are not suitable for paralleling the specific configuration of the computer. 7 (s
  5. 5
    22. Sy sH:ém podle nároku 21, vyznačující se tim, žeobsahuje dále řídicí prostředky pro kontrolování instrukčniho toku a pro vydáni vícenásobných složených instrukcipro paralelní provedení s každou jinou. Synthesizer according to claim 21, characterized in that it further comprises control means for controlling the instruction flow and for issuing multiple folded instructions in parallel with each other.