SK93491A3 - Digital computer system for elaborating of at lest two parallel instructions - Google Patents
Digital computer system for elaborating of at lest two parallel instructions Download PDFInfo
- Publication number
- SK93491A3 SK93491A3 SK934-91A SK93491A SK93491A3 SK 93491 A3 SK93491 A3 SK 93491A3 SK 93491 A SK93491 A SK 93491A SK 93491 A3 SK93491 A3 SK 93491A3
- Authority
- SK
- Slovakia
- Prior art keywords
- instruction
- instructions
- parallel
- memory
- flag
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
Oblast techniky
Vynález se týká číslicového počítačového systému pro zpracování nejméné dvou paralelních inštrukcie
Dosavädni stav techniky
Tradiční počítače,které prijmou sled instrukcí a zpracují jednu instrukci jsou známy.Instrukce provedené témito počítači pracují s jednoznačnými objekty nazývanými skaláry.
Operační rychlost tradičních skalárních počítaéú dosáhla svého vyvrcholení vlivem pokroku v technológii obvodú,v počítačových mechanisrnách a architektúre počítače», Nicméné,pro každou novou generaci príslušných strojú mu3Í být objeven pro tradiční skalární stroje nový akcelerační mechanismuso
Mechanismus pro zvýšení počítačové rýchlosti eekvenčních procesorú byl nedávno nalezen v redukované architektúre inštrukčních sad,která využívá omezenau sadu velmi jednoduchých inštrukcie Jiný urýchľovací mechanismus spočívá v architektúre komplexní inštrukční sady,která je založená na minimálním souboru instrukci s kompiexními vícenásobnými operandamio
Použití každého z uvedených pŕÍ3tupú pro skalární stávající počítač by vyžadovalo základní zménu inštrukční sady a architektúry stroje. Taková dalekosáhlá transformace je nákladnájzpúsobuje prostoje a počáteční snížení spolehlivosti a strojové dostupnosti.
Ve snaze použiť pro ekalární stroje nékteré z úspéchň dosažených redukcí inštrukční sady , byl uskutečnén vývoj tak zvaných 3uperskalárních počítačú. Tyto stroje jsou v podstaté 3kalámími stroji, jejichž výkonnosť je zvýšená jejich prizpúsobením k provedení více než jedné instrukce najednou z inatrukčního toku včetné posloupnosti jednotlivých skalárních inštrukcie Tyto stroje typicky rozhodují v dobé provádéní instrukce zda máji být zpracovány paralelné dvé nebo více instrukcí v posloupnosti skalárních inštrukcie Rozhodnutí je založeno na operačních kódech instrukcí a závi31ostech dat , které mohou mezi instrukcemi existovať. Operační kód označuje technické prostredky požadované pro jednu instrukci. Obvykle není možno součaené provádét dvé nebo více instrukci,které používají 3tejných technických prostŕedkň nebo 3tejných o per and <► Tyto závislosti na technickém vybavení počítače a datech zabranují paralelnímu zpracování nékterých instrukčních kombinací. V uvedených prípadech jsou tyto instrukce zpracovány sériové. Tím je ovšem snížena výkonnosť superekalárního stroje.
Superskalární počítače mají četné nevýhody, které je treba minimalizovať. Konkrétni Čáet doby pri zpracování je spotrebována k rozhodnutí, které instrukce lze provést paralelné. Tuto dobu nelze béžné zamaskovať prekrytím jinými strojovými operacemi.Uvedený nedostatek se stává ješté výraznéjší,je-li zvyšována 31ožito3t architektúry inštrukční 3ady. Rozhodnutí o paralelním ksB^usI^^edy opakovať pokaždé,když jsou provádény stejné instrukce.
- 3 Pri prodlužování užitečné doby životnosti stávajících skalárních počítačú je podstatný každý prostŕedek urychlující zpracování. Nicméné, urychlování pomoci architektúry redukované inštrukční 3ady nebo euperekalární techniky je potencionálné príliš nákladné či príliš nevýhodné než, aby bylo použito pro stávající skalární počítače. Itychlo3t zpracování takovým počítačem méla by se radéji zvyšovat paralelním nebo soubéžným zpracováním ve stávaj í cí inštrukční sad é aniž by by la požadována zména inštrukční 3ady,zména architektúry počítače nebo prodloužení doby potrebné k zpracování instrukce.
Shora uvedené nevýhody jsou odstranény číslicovým počítačovým systemem podie vynálezu.
Podstata vynálezu
Predmétem vynálezu je číslicový počítačový systém pro zpracování nejméné dvou paralelní ch instrukcí , vyznačující ee tím^ že výstup-vstup rozhraní je preš adaptér pŕipojen k instrukce 3kládacímu mechanismu , jehož výstup je spojen s textovou sbérnicí, žatím co jeho vstup-výstup je spojen s adresovou pŕikazovací sbérnicíj která je pripojená jednak na vstup-vý3tup adaptéru jednak k hlavní paméti, která je vstupem-výstupem spojená 3 textovou sbérnicí pripojenou vstupem-výstupem k rychlé vyrovnávací paméti pro 31ožené instrukce s výstupem pripojeným preš jednotku pro vyvolání a vydání instrukce k funkční sbérnicí, na kte— rou je pŕipojen vétší počet funkčních jednotek.
- 4 Ďalší podstatou je, že vstup-výstup hlavní paméti je 3pojen s adaptérem pŕes instrukce skládací mechániemue a dvé paralelní vyrovnávací paméti složených stránek, jejichž společný výstup je pripojen k hlavní paméti.
Jinou podetatou je, že inetrukce 3kládací mechanismus obsahuje instrukce 3kládací jednotku s vétším počtem inštrukční ch regi3trň, které j3ou 3pojeny 3 vétším počtem 3kládacích analyzátorú pripojených k príznakovému generátoru a príznakovému in3trukčnímu regi3tru.
Podstata je také v tom,že první skládací analyzátor obsahuje první inštrukční slučitelnou logiku pripojenou k prvnímu vetupu prvního součinového obvodu, jehož druhý vstup je pripojen k prvnímu registru závislé logiky, žatím co druhá inštrukční 31učitelná logika a druhý regietr závislé logiky j3ou pripojený k prvnímu a druhému V3tupu druhého součinového obvodu.
Ďalší podstatou je,že první slučitelná logika obsahuje první dekodér, jehož první výstup je spojen s prvním vstupem prvního součinového obvodu,jehož druhý vstup je pripojen k druhému dekodéru, žatím co druhý výstup prvního dekodéru je spojen s prvním vetupem druhého součinového obvodu, jehož druhý vstup je pripojen k druhému dekodéru, pŕičemž výstupy obou součinových obvodú jsou pripojený k obvodu logického součtu, jehož výstup je pripojen k obvodu inverto.ru v pŕíznakovém generátoru a současné k prvnímu vstupu prvního obvodu logického součtu, jehož druhý vstup je pŕe3 druhý obvod logického součtu pripojen k obvodu logického součtu v druhé inštrukční slučitelné logice, k
- 5 jehož prvnímu vstupu je pŕipojen výstup pätého eoučinového obvodu, jehož druhý vstup je pŕipojen k šestému součinovému obvodu, pŕičemž vstupy obou součinových obvodú jsou prípoje-’ ny k druhému dekodéru a tŕetímu dekodéru.
Podstatou posléze je, že instrukce skládací jednotka je pŕes hlavní pamét a rýchlou vyrovnávací pamét pripojená k ŕídící jednotce vyvolání-vydání, která je spojená s první funkční jednotkou, druhou funkční jednotkou, tretí funkční jednotkou a Čtvrtou funkční jednotkou,které jsou pripojený k univesálnímu registru a rychlé vyrovnávací paméti.
Za účelem lepšího porozumnéní číslicovému počítačovému systému podie vynálezu včetnč jeho výhod a charakteristík je v následujícím popise brán zŕetel k výkresúm jak následuje. Pŕehled obrázkú na výkresech
0brol charakteristické zapojení části číslicového počítačovésystemu podie vynálezu
Obr·2 2Α-2Ώ znázorňuj! alternatívni realizaci pro ukládání složené príznakové informace do hlavní paméti.
Obr.5 podrobnejší štruktúra toku dat mezi V3tupním a výstup— ním adaptérem a hlavní paméti počítačového systému.
Obr.4 časový diagram pro prevod instrukce do štruktúry toku dat.
Obr.5a znázorňuje délku instrukčního toku s príznaky složení nebo príznaková pole pridružená k instrukcím;
Obr.5b znázorňuje délku instrukčního toku 3 in3trukčníini
- 6 Obr.6 podrobné vnitŕní charakteristické zapojení části instrukce skládací jednotky ,k t érou lze použít v čísli— covém počítačovém systému podie vynálezu.
Obr.7 charakteristická vnitŕní konstrukce každého ze skládací ch analyzátorú.
0bro8 zapojení logických obvodú,které lze použít pro realizaci skládacího analyzátoru a části príznakového generátoru pro vytvorení složených pŕíznakň pro první tri instrukce instrukčního toku.
Obr.9 tabulka vysvétlující pracovní postup podie Obr.8
Obr.10 charakteristické zapojení části číslicového počítačového systému a jeho použití k vysvétlení jak lze složené instrukce paralelné zpracovat vícenásobnými funkčními instrukcemi ekládacích jednotek.
Obr.11 príklad specielní posloupnosti instrukcí,které lze zpracovat číslicovým počítačovým systemem podie Obr.10 Obr.12 tabulka pro vyevétlení postupu zpracování inštrukční posloupnosti v Obr.11 číslicovým počítačovým systemem podie vynálezu.
Príklad provedení vynálezu
Na obr.l je charakteristické zapojení čá3ti číslicového počítačového systému podie vynálezu 3 hierarchicky uspoŕádanou pamšlovou strukturou. Hlavní paméí 10,je pripojená k pamčíové sbčrnici 9 sestávající z adresové pŕikazovací sbérnice 9Q a z lexwvé 30érnice 5>bo Adaptér tí. je pixpojen prvním vstupem vý3tupem k rozhraní 7^ , žatím co druhý vstup-vyetup je 3pojen 3 adresovou pŕikazovací sbérnicí 9a. Výstup adaptéru 8 je preš instrukce ekládací mechaniemu3 11 3pojen 3 textovou 3bérnicí 9b pripojenou vetupem-výstupem k rychlé vyrovnávací paméti 112 pro eložení inetrukce,jejíž výstup je pŕee jednotku pro vyvolání a vydání instrukce 116 pŕipojen k funkční sbšmici 1J, Na funkční 3bémici je pŕipojen vétší počet funkčních jednotek 13,14,]£... ·
Hlavní 10 je vstupem-výstupem spojená s adaptérem 8 pŕee instrukce 3kládací mechani3mu.3 11 · Výstup tohoto mechanismu je pŕipojen ke dvéma paralelním vyrovnávacím pamétím 19a , 19b 31ožených stránek, které j3ou 3polečným vý3tupem spojený 3 hlavní paméti 10·
Instrukce ekládací mechanismua 11 obsahuje instrukce ekládací jednotku 20, Jejíž zapojení je v obr. 6. Tato jednotka je opatrene vétším počtem in3trukčních registrň 21, které jeou spojený 3 vétäím počtem ekládacích analyzátorú 22,22,21.... spojených 3 príznakovým generátorem 26 a príznakovým regi3trem 27.
Hlavní paméť 10 pŕevádí instrukce a data pomoci paméťové sbérnice 9 na druhý vetup-výstup adaptéru _8,který je apo j en svým prvním V3tupem-výstupem k rozhraní _7. S tímto rozhraním mčže být spojená jedna nebo více pomocných paméti,které nejsou vyobrazený. Adaptér 8 pŕevádí data pŕe3 rozhraní 7 podie ukládací paméťové informace a obdržené pamäťové informace z pomocných paméti a zpét. Adaptér .8 vyméňuje rovnéž programovaná data na pamäťové 3bérnici 9 s hlavní paméti 10 poskytováním in3trukcí a dat a pŕijímáním inatrukcí a dat z hlavní paméti 10
- 8 pŕes pamé?ovou sbérnici J® Adaptér 8 ukládá instrukce a data mezi rozhraní J7 a vyrovnávací parné? ..2. ,které mohou mít rúzné rýchlosti a formát. Adaptér 8 posléze provádí také testování a zjiš?ování chyb funkcí.
Hlavní parné? 10 3 pomérné velkou kapacitou má pamé?ový mechanismus se strední rýchlostí,který je pŕipojen pŕes pamétovou ebérnici 9, k nízkokapacitní rychlé vyrovnávací paméti.
Číslicový počítačový systém v obr.l obsahuje také instrukce ekládací mechanismus 11 pro príjem instrukcí z adaptéru 8 a pŕiŕazování témto instrukcím eloženou príznakovou informaci ve tvaru príznakových polí indikujících,která z téchto in3trukcí má být paralelné zpracována. Instrukce skládací mechanismus 11 analyzuje pŕicházející instrukce a určuje,která z nich má být paralelné zpracována© Kromé toho instrukce ekládací mechanismus 11 vytváŕí pro tyto analyzované instrukce složenou príznakovou informaci ve tvaru príznakových polí,která indikují které instrukce lze paralelné zpracovat jednu s druhou a které helze vzájemné paralelné zpracovat®
V obr®l jsou instrukce pŕedávány do počítačového 3y3temu z pomocných paméti pŕe3 adaptér 8_, instrukce 3kládací mechanismus 11 a hlavní parné? 10. Hlavní parné? 10 pŕijímá a ukládá analyzované instrukce a jejich pridružená príznaková pole. Potom postupuje tyto údaje do rychlé vyrovnávací paméti 12 složených instrukcí. Itychlá vyrovnávací parné? 12 má menší kapacitu a vyšší rychlost než hlavní parné? 10 a je to béžné používaný druh
- 9 pro zvýšení výkonnosti počítačového systému 3nížením Čeťnosti prístupu do hlavní paméti 10 ,
Číslicový počítačový 3ystem v obr.l obsahuje rovnéž pluralitu funkčních jednotek 13,14,15·*«» · Tyto jednotky pracují paralelné jedna 3 druhou 3oubéžným zpÚ30bem a každá sama o 3obé je zpúeobilá zpracovat jeden nebo více typú instrukcí strojové úrovné. Príklady funkčních jednotek,které lze použít obsahují univesální aritmetickou a logickou jednotku,typ této jednotky pro sdružená závislá data,základní jednotku pro vétvené instrukce,jednotku s posuvem dat,základní jednotku 3 pohyblivou čárkou atd. V daném prípadé takový počítačový systém múže obsahovať dva i více nékterých typň funkčních jednotek. Specielní konfigurace funkčních jednotek bude záviset zejména na eouatavé uvažovaného počítače.
Číslicový počítačový systém v obr.l obsahuje také jednotku 16 pro vyvolání a vy d árií inetrukce pripojenou k vyrovnávací rychlé paméti 12 pro pŕivádéní sousedních inetrukcí zde uložených k rúzným dalším funkčním jednotkám 13 - 15» jestliže inštrukční príznaková pole indikují,že je lze zpracovat paralelné. Jednotka 16 vyvolá instrukce z rychlé vyrovnávací paméti 12 pŕezkouší jejich príznaková pole a pole operačních kodú, a na základé téchto zkoušek vyšle instrukce k nékterým z príslušných funkčních jednotek 13 - 15 · Je-li žádaná instrukce re3identní v rychlé vyrovnávací paméti 12 , je do ní vyslána adresa,aby z ní vyvolala uvedenou instrukci. Jestliže žádaná instrukce není recidentní v paméti 12 , mueí být vyvolána z hlavní paméti 1G a privedená do rychlé vyrovnávací paméti 12 . Ná31edkem toho
ŕ. -!·»££ hlavní pernéI 10 začne prevádét nebo čÍ3t z ŕádky instrukci, která obsahuje žádanou instrukci,společné instrukci v čädce.
Výpadek vyrovnávací paméti hlavní pamäti na výpadek poukázáno,aby tylo príznakovými poli zpôsobí,že je do zjišténo zda je zadaná instrukce v pamäti 10 obsažena. Se zŕetelem na to Jsou instrukce uložený do hlavní paméti v blocích nazvaných stránky a zarízení ovládající pamäť počítačového systému je schopné rozhodnout podie žádané instrukce zda stránka,na které je obsažena, je v hlavní pamäti. Je-li stránka v hlavní pamäti, je radka obsahující instrukci prevedená nebo odečtena z hlavní pamäti 10 do vyrovnávací paméti 12. Jestliže stránka obsahující žádanou instrukci není v hlavní pamäti 10, dôjde k výpadku stránky a Je treba chybéjící stránku vyvolat z pomocné paméti a pŕeraístit ji do hlavní pamäti 10.
Když je stránka vy vo lá na je identifikace chybév.ící stránky vyslána do adaptéru 8,který ji vyhledá a potom postoupí pŕes pamäťovou 3bärnici 9 k uložení do hlavní pamäti 10. Podie vynálezu stránky vyvolané k uložení do hlavní pamäti 10 pŕesouvány na vstup instrukce skladací mechánismus11,kteŕý tyto pŕicházející instrukce postupné analyzuje a pro každou instrukci generuje orís’ušné príznakové pole. Príznaky a instrukce jsou potom pŕedány do hlavní pamäti 10 a v ní uložený pro pripacno u potrebu dodatečného premrštení do vyrovnávací paméti 12 pro slúžené instrukce.
Azkoliv instrukce skladací mechsnismusll Je zobrazen. v Obr.l jako šapojen mezi adaptér 8 a hlavní pamäť 10 je -považován za samostatný vývod ze s’oärnice 9 nebo pripojení
-U— na vstup hlavní pamäti 10,
Ukládání slože.ných instrukcí čo hlavní pamäti 10 môže být realizováno vetším počtem rest,z nichž nekteré j3ou zobrazený v 0or.2A - 20. Príklady v obr.2A-2L' pŕedpokládají 8 by tú širokou textovou sbérnici jjb plus extra f áčky pro príznakovou informaci, Všeobecné se pŕedpokládá,že základní pamétový presun mezi hlavní pamätí 10 a vyrovnávací pamätí 12 složených instrukcí obsahuje 64-bytové rédky vyrovnávací pamäti 3 jedním príznakovým bitem pro každé dva byty instrukčního textu. Jedna radka vyrovnávací pamäti Je znázornéna v každém z príkladú na 0br.2A-2D. Obecné počet príznakových bitú je určován maximálním počtem instrukcí ke složení a informací vhodnou pro instrukce skláôacího nechaní srnu 11 .
zeno na dve instrukce,pŕičemž je požadován nejméne
Jednobitový textu.
to Je každých ocm clabik príznakové
-z V námetovou teccnologii je zobrazen v Obr. 23· O’or.On j nuta k uložení instrukci a sdružené príznakové ini’ormace ke slo-12 — žení 3ani03tatná textová a príznaková parné?. V Obr.23 pŕíznako vá parné? pracuje paralelné 3 textovou pamétí. Z pamélové struk tury obr.23 vyplývá požadavek na zvláštni sadu príznakových rá dek tvorících príznakovou sbérnici v paméíové 3bšrnici 9 pro zajišténí paralelního zpracovní tex^-tových a príznakových pamétí systém zaprvé le 0br.2A. FrovnzníYpoužívá/úrčité časti parnéti Jen pro dátové stránky mís to instruiČních stránek ,pričemž pro tyto.části ne ní nutné zapotŕebí pŕíznakú. Odlíšení dátových od inštrukčních stránek môže být rozhodnuto technickým vybavením nebo proôramo vjm vybavením a implesentovanymi príkazy príznakové parnéti,kte indikuj í.
r^Vze určité stránky obsahuj! pouze data a proto nevyžauu.jí,ac parné?. Ize odstrániť ve snaze po sní žení nakladú systému. Tím se rozšíri možný rozsah výkonnosti soustavy počítač*. Jeli treba
Oe zfetelem na Gbr.2A-2J je treba konštatovať,£e jednou generované složené príznaky skládací jednotkou provázejí inštrukční tok v pamäti at vetkaním do toku,pridaním co jeho sekcí nebo paralelním udržením 3 ním.
pamäti obsahuje príznakové tabulky a druhá ukladaní inštrukčních textových 3tránek. V tomto príkladu je požadovane podpora pracovr.ího systemu,aby byla zachována príznaková tabulka části pamäti a párové pamäťové stránky s príznakovými stránkami. V Obr.22 jsou Čá3tl každé stránky reservovány pro príznaky.Vyžaduje to zplsobilost kompilátoru ke konštruovaní stránek. Napríklad pro ŕádky vyrovnávací pamäti o 64 slabikách by kompilátor použil 60 31abik pro instrukce a 4 31abiky pro príznaky.V Obr. 22 usou príznaky pŤidápy cez i inštrukční slabiky do inštrukční vyrovnávací pamäti, je-li to vyžádáno centrálni základní jednotkou.
implikaci počítačového systému na obr.l múze ir.3trukce skláda—^sí jednotka 11 tvoŕit čast sbérriico vého adaptéru 3.7 prípad ä,že je prevedená jakákoliv stránka jako zústatek ze vstupu-výstupu systému, je podrobená sklsdacímu procesu zahrnutém v jednotce 11 a pŕedána pamäťovou sbärnicí £ do hlavní pamäti 10. Odtud je stránková štruktúra provádäna podie Obr. 2Ä za predpokladu,že textová sbärnice Qb je 68 bitú široká a hlavní parné £ je usoorádána a rízena k ukládání stránec tak jak je znázornéno v 0br.2A. Vyrovnávací pamet 12 pro složení instrukce je samozrejmé uspoŕádána a ŕízena tak,aby prijímala ŕádky obsahující prodloužená slova jak znázornéno v 0br.2n.
Π -
- 14 Stránky zpracované skládací jednotkou 11 jsou podávaný do hlav ní pamäti 10 prea vyrovnávací pamäti 19a a 19¾ složených stránek.
Jak znázornéno v Obr.4 skládací jednotka pridá čao k časovému údaji potrebnému k vyvolání časového Ú3eku z pomocné pamäti a vsune jej do hlavní pamäti 10. Pridaný Ča3 je však relatívne malý proti celkovému požadovanému a je asynchrónni pro cetrální základní jednotku.
V Obr.4 je každý segment j^.pŕeveucn z pomocného ukládacího zaŕízení jako Je disková jednotka do jedné ze s tr ankových vyrovnávacích pamätí 18a nebo 13b . Ka.žcý z Časových seg mentú bj indikuje čas potrebný k prevodu textového segmentu i., ze stránkové vyrovnávací pamäti do hlavní pamäti 10. Textový segment í_ je tak pŕeveden v čase a^ do jedné .ze stránkových vyrovnávacích pamätí 18a nebo leb podie toho,který textový segment iní je pŕeveden do ostatních vyrovnávacích pamätí.Hez složení je textový segment _i pŕeveden v čase do stránkové béžné uložen do hlavní oaméti.
čas podstatné kratší než čas požadovaný k vyvolení stránky z Jedné z vyrovnávacích pamätí lc~a neho 18b. V praxi podie vynálezu Č93 potrebný k oreraei sxláua
Ί .U , aby vykonala text segmentu na Jedné stránce
- 15 superskalární počítač mu3Í v dobé vykonávání instrukce rozhodnout zda instrukce nohou být provedeny paralelné. Toto rozhodnutí je ae v podstaté diskretním krokem v provádéní instrukce tím,že pŕidává k prováaécí dobé v superskalárním počítači. Naproti tomUfjak patrno z Obr.4, ay3teinu na Obr.l neprodlužuje významné dobu žádanou k provedení operací počítače. Instrukce skláda^-.cí jednotka 11 tak pO3kytuje vétší výkonnosť než počítač umísténý v inštrukční provádécí jednotce.
Obr.3 a 4 zobrazuj! dvš zásadní výhody složení v hlavní pamäti. Zaprvé 31ožení môže být čá3tí asynchron ního procesu výpadku stránky bez prodloužení doby k úplnému d okončení procesu. Zadruhéz 31ožení velkých blokú instrukčního jako otránek, o významu složení ,které múze ovlivnit mnoheai více optimálni složení. Následkem toho instrukce,které byly složeny a oložení lze lépe optimalizovat než.když by se vykonalo synchronné v menším úseku instrukčního textu.
jednotky bude nyní ukazuje část toku v C br.1. Jak p a tr no ce,jako ty patrné z Obr,5a jsou uložený do hláv stránkovém bloku na stránku obsahující instrukce. Príznakové instrukce v hlavní pamčti 10 v pripadá potreby j3ou prevedený do vyrovnávací pamétl 12 ,když dôjde k výpadku . Príznakové ve vyrovnávací pamäti*12 in3trukceVjsou potom vyvolaný Instrukce vyvolávající a vydávající jednotkou 16. Jakmile jsou označené instrukce prijatý vyvolávači a vydáva c í jednotkou 15 , jsou jejich označená pole prezkoušena za účelem rozhodnutí zda raji být zpracovány paralelné a jejich pole operačního koču jsou prezkoušena s ohiedem na určení,které dosažitelné funkční Jednotky dsou nejvhuanejší k jejich zpracování. Jestliže príznaková pole indikují,že dvé nebo více instrukcí je vhodné paralelne jedno tkám vyslány k príslušným funkčním jejich operačné kódovaných polí, lakové zpracovat,potom Jsou
V SOUXÔCitl 3 XQC10’/οΠΣΐΏ instrukce jsou pak zpracovány soubéžné jedna 3 druhou jejich odpovídajícími funk čr.ím.i Jednotkami.
Když se vyskytne instrukce,že není vhodná k paralelnímu zpracování, potom je vyslár.a c’o príslušné funkční jednotky jak určí její operační kód a na to je zpracována sama o sob? vybranou funkční jednotkou.
c.í j s vždy paralelné skupinách,které Jsou spracovávaný paralelné · je sna mé referenční body pro irdí ír.aA c 17 refrenční bod poskytne presné označení kde jsou hranice instrukce. V mnohých počítačových systémech Jsou inštrukční meze výslovné znány jen pomoci kompilátoru v kompilační dobé a pouze pro3tŕednictvím centrálni základní jednotky, když jsou instrukce vyvolávány. Lezní referenční bod není znám mezi kompilační dobou a vyvolaním instrukce pokud není pňijato specielní mezní referenční schéma. Takové schéma Je zobrazeno v Obr.5b s ins tr'akční mi nie zn í mi bity B . Jak patrno z Obr. 5 b, a®zní bity nohou být umŕstény do instrukčního toku kompilátorem v dobé kompilace k poskytnutí reference zarovnání instrukce právš pred Jejím sloéením. Obecné patentové prihlášky s názvem pojednávaj í o složení textových tokš,ve kterých inštrukční meze jsou neurčité
Kde kde tok. obsahuje
Obr.ó znázorňuje mnoheci podrobnej! vnitrní konTato instrukce dací jednotka 20 Je vhodná k použití
3.<O mecnanismus 11 v Obr.l
Instrukce s ací kce nohou být ní vynálezu je instrukce
-18 /nula/ znamená, že instrukce Je druhou instrukci a múže být provedena paralelné 3 pŕedchozí první instrukci. Instrukce s hodnotou príznakového bitu 1 môže být provedena bu<5 sama nebo v témže čase a paralelné 3 další instrukci v závislosti na hodnotí príznakového bitu takové další instrukce
Každé párování instrukce pri znakového hodnotouYbitu jedna a následující in.3trukcí o hodnotí príznakového bitu nula tvoŕí složenou instrukci k paralelnímu provedení,to je, že instrukce v takovém páru mohou být jedna 3 druhou zpracovány paralelné.
bitú pro dvé po so bé násleau^ící nstrukce má hodnotu' jedna, váechny instrukce v posloupnosti by mohly mít hodnotu pŕízr.akoneohorším jedna. V takovéznVprípadé by všecnny vého bitu .r uk c e by ly' provedený
Na vstupu instrukce skládací jednotky 20 prijme i nstrukce zsrovnavající jednotka ze vstupu-výstupu adaptéru instrukční tok,kerý je n í šedé
Cs nebo pôlslov od -.e^hĺba b.tt.u. Zarovnaní instrukce ne n í ;nak í tifikovány jakoukoliv známou metodou včetnš použití mezních bitú.
Instrukce skláda—-cí jednotka 20 v Obr.6 obsahuje inštrukční regi3tr 21 s pluralitou instrukcí pro príjem plurality po sobí následujících instrukcí ze stránkových pamätí 13a a 13b adaptérú. Instrukce skláda-^cí Jednotka 20 také obsahuje pluralitu mechanismú k analyzovaní instrukcí podie pravídel,Každý takový instrukce analyzující mechanismu3 analyzuje rúzné páry sousedících instrukcí v instrukčním registru 21 a vy tvárí signál k možnému složení,ktery indikuje zda mohou být paralelné zpracovány dve instrukce toho páru nebo nemohou. V Obr.5 je zobrazená pluralita jednotek 22 - 25 analyzátoru slúžení. Každý z téchto skladacích analyzátormi 22—25 obsahuje dva inštrukční analyzačni mecnanisay, které /
produkuj* dva signály složitelnooti. Napríklad první složeninu ar.alyzující jednotka 22 produkuje první signál N01 možného složení,který indukuje zda instrukce 0 a 1 mají být paralelné zpracovány nebo ne. Složeninu analyzující jednotky 22 produkuj! také druhý signál Níl2 možného složení,který indikuje zda instrukce 1 a 2 mají být zpracovány paralelné nebo ne.
Podobným zpúso’cem druhá složeninu analyzuj ící jednotka 25 produkuje první signál fo23 možného složení,který indikuje zda instrukce 2 a 1 mají být paralelne zpracovány nebo ne mají, a druhý signál 1154 možného složení ,který indikuje zda instrukce 2 a 4. mohou být paralelne zpracovány. Iŕetí analyzátor složení produkuje první signál M45 složitelr.osti ,který indikuje zda instrukce 4_ a ý mohou nebo r.emohou být paralelrié zora20 covány a druhý 3Ígnál 31ožitelnosti V56 ,který indikuje zda mohou r.ebo nemohou být zpracovány paralelné instrukce 5. a 6 .
Čtvrtý analyzátor aložení 25 produkuje první signál složltelno3ti M67,který indikuje zda mohou být nebo nesohou paralelné zpracovány instrukce o a 7 a druhý signál složitelnosti L78 indikující zda mohou být paralelné' zpracovány instrukce X a 8 .
Instrukce skláda^ící jednotka 20 dále oboanuje secheniscus generovaní príznaku 26 odpovídající signálúm složitelnostijkteré se objeví na výstupech analyzačních jednotek 22-2> pro generovaní jednotlivých príznakových polí pro rúzné instrukce instrukčníno registru 21.
lato príznaková pole TO,T1,T2 atd.
joou zasílána do instrukce označujícího registru 27 pravé tak jako jsou zasílány vla3tní instrukce,které jsou získaný ze vstupu instrukčního registru 21 . ľímto zpúsobeci je v jednotce složer.í výstupního registru 27 k disposici príznakové pole TO pro inctrukci 0,príznakové pole TI pro ir.strukci 1_ atd.
V predloženém spojení v Jeden celck každé príznakové pole TO,T1,T2, atd. je obsaženo v jediaié.i༠binárním bitu, Hodnota príznakového bitu jedna indikuje,že okamžité násle dující instrukce,ke které je pripojen je první instruzcí.
Hodnota príznakového bitu nula indikuje,že ihned následující
instrukce je
klátiaci yp paralelné jedna s druhou, ce výstupního registru 27
Označené instrukce i so u ^postoupeny na výstup hlavní parnéti 10
| v Cbr.l pros jednu | nebo ostatní vyrovnávací camčti 1 ka nebo 19b |
| v Obr. 5. Olo ž en é ii | '.strukce Jsou uložený do hlavr.í per.éti 10 . |
- .21 VObr. 7 je zapojení prvního skládacího analyzátoru 22 , ve kterém první 31uČitelná logika 30 je spojená 3 prvním V3tupem prvního součinového obvodu 34 t jehož druhý V3tup je 3pojen s prvním regi3trem závislé logiky 32 . Druhá inštrukční 31učitelná logika 31 a druhý regi3tr závislé logiky 33 j3ou pripojený k prvnímu a druhému vstupu 3oučinovéha obvodu
První inštrukční slučitelná logika 30 v Obr. 8 obsahuje první dekodér 40 ,jehož první výstup A je spojen 3 px‘vním vstupem prvního součinového obvodu 42 , jehož druhý vstup je pripojen k druhému dekodéru 41 · Druhý vý3tup prvního dekodéru 40 je spojen 3 prvním vstupem druhého součinového obvodu 43 t jehož druhý vstup je pripojen k druhému dekodéru 41 o Výstupy obou součinových obvodú 42 ,43 jsou pripojený k obvodu logického 3oučtu 44 . Vý3t.up tohoto obvodu je pripojen k prvnímu invertoru 32 v pŕíznakovém generátoru 26 a 3oučasné k prvnímu vstupu prvního logického 3oučtu 54 · Jeho druhý vstup je pripojen pŕeo druhý invertor 53 k obvodu logického ooučtu 48 v druhé inštrukční olučitelné logice 31 » K prvnímu vstupu obvodu 48 logického součtu je pripojen výstup pätého coučinového obvodu 46 , jehož druhý vstup je pripojen k šestému ooučinovému obvodu 41 • První vstupy obou součinových o'ovodú 46 , 47 jsou pripojený k druhému dekodéru 41 a tretinu dekodéru 45 .
- 22 V Cbr.7 Je nyní podrobnej! znázornená vnitŕní konstrukce prvního skládacího analyzátoru 22 z Obr.6 . Ostatní čtyri skládací analyzátory 2J-22 Jsou podobné konstrukce. -Jak patrr.o z Cbr.7první skládací ana^/^obsahujc- první in^S^feelr.ou· giku 30 pre zkoušení operačního kódu instrukce nula a operačního kódu instrukce 1 a pro určení zda tyto dva kódy jsou slučitelPrvní inštrukční slučitelná né pro účely paralelního provádčniľÚLogika 3C Je navržena podie nredem stanovený c r. pravidel k vybírání páru operačních kódú,ktePrvní inštrukční slučitelná ré jsou slučitelné pro paralelní provácéní /Logika 3? zejmér.a obsahuje kromé toho logické obvody pro realizaci pravidelfkte prováašní ve epecielním uspoŕádání technických prostŕedkú počítačového systému. Jsou-li operační kódy pro instrukci ti a 1 sluprvní 31uČitelná >
čitelné,potomHľogíka 30 vytvorí na svém výstupu dvojkový signál první inštrukční slučitelná
Nejcou-li slučitelné'TTôgika 30 vytvorí na svém úrovné jedna výstupním radku dvojkovou hoc no tu nula.
První skládací inštrukční 31učitä.nou
Vánalyzátor 22 složení dále obsahuje druhou1'”logiku 31 slušitelnosti instrukcí pro prezkoušení operečních kódu instrukcí 1 a 2 a pro rozhodnutí zda jsou slučitelné cro paralelní proinstrukční slučitelná inštrukční slučitelnáj vádéní. DruháVTÔgika 31 je navržena stejným zp’soccm Jako první”'*' logika 3C podie téchže predem stanovených pravidel použitých pro < prvpí inštrukční slučitelnou rlog]ku~20i k'.výbfnání páru operačních kódú,které jsou slučitelné _ _ , , . y inštrukční 31učitelná pro paralelní provádeni v prípad é instrukci 1 e 2 . DruháVlogika
J1 tak obsahuje logické obvody k realizaci pravidel ,která de finují ; jak é ní jpňičemž typy instrukci Jsou slučitelné pro paralelní qrovádéinstrukční slučitelnou je použito stejných pravidel jako pro prvníHľogiku JO.
Jscu-li operační kódy pro instrukce 1 a 2 slučitelné inštrukční 31učitelná haCTogíka 21 vytvorí dvojkový výstup úrovne Jedna.
potom dru-21skládací
První z analyzátor ^2dále obsahuje první registr zá vislé logiky 22 pro detekci konfliktu pri použití univerzálnich dr '1
V tom prípade môže být druhá instrukce bud proved e na • dena paralelné s první instrukcí, nebo provedení druhé instrukce poznamenať,že technika obcházení nékterých dátových závislostí tohc typu buše probrána až dále.
Neexistují-1i registrové zavi ~° plwlMicTreg^^truU* P^rslelnímu provedení instrukcí 0 a l,pak výstupní ráde'-c^logiky 52 udává dvojkovou hodnotu jedna. Jestliže závislosť existuje,potom Je udána dvojková hodnota nula.
První skláda-cí ^analyzátor 22 složení dále obsahuje druhý registr závislé logiky 22 Pro detekci konfliktu pri použití univerzálních regisregistr závislé trú navŕšených pro pole R1 a R2 instrukcí 1 a 2 . Tato aruiiýHô^ první regi3tr_zévislé ď^y 22 Je stejné konstrukce jako pred tím popsarýi/lógiky 52 a tvorí výstup dvojkové úrovné jedna,neexistují-li žádné registrom dvojkové úrovné nula.
první inštrukční 31uČitelné
Výstupní ŕádkyfTôgiky 22 prvního registru závislé logiky prvního jsou pripojený na vstupyYsoučinového prvního obvodu J4 . Výstupní rádek'^oučinového obvodu 21 má dvojkovou
-24což znamená,že jsou zp’sobilé pro paralelní provedení. ’Áá-li prvního na druhé strané výstupní fádek^součinového obvodu 34 dvojkovou hodnotu nula,potom tyto dvé instrukce neJsou slozizelné m, ^prvního íl m Je vytvoren ve vystupníc rádkuVšoučinového obvccu Js prvm .0 maj dodáva η signál SúOl slozítelnosti,který indikuje zda instrukce C a nebo nemajú být paralelné zpracovány. Tento signál W1 jede príznakového generátoru 26 .
inštrukční 31učitelné
Výstupní sádky z druEéYTôgiky 31 a drali inštrukční slučitelné druhého héTTôgiky 33 . jsou pripojený ke dvéma výstupúmfšoučinoDruhý vého obvodu 33 .‘f oučinový obvod 33 vytvorí ve svém výstupním radku druhý signál Ml 2 slučitelnosti,který má dvojkovou hodnotu Jedna, Jestliže uvažované dva operační kódy operační kódy instrukci 1 a 2 jsou slučitelné a Jestliže neexistujú žádné registrové závislosti instrukci 1 a 2 nebo registrové závislosti,které lze provést technickými prostredky se sružencu závislostí dat. Výstupní druhého rádekVšoučinového obvodu má jinak dvojkovou hodnotu nula, druhého
Výstupní rádekXsoučir.ového obvodu 33 je veden ke druhému vstupu d?íznakového generátoru 26 « ctyri skláďSčí
OstatniTanalyzátory 23-23 znázornené v Obr.ó jsou téže vnitrní konstrukce jako v Obr.7 první analyzátor složení a príznaV Obr.8 je znázornén nyní príklad logických obvodô, prvníhoskl ád ac í ho které Ize použít k reálizaciYánalyzátoru 22 kového generátoru 26.kterým j3Óu generovány první tri označení prízrak O a príznak 1 a príznak 2. Napríklad v Obr.5 se predpokladá,že existujú dvé kategórie instrukci,které jsou označený jako kategórie _A a kategórie _B. Pravidla pro složení téchto kategorií instrukci Jsou pŕedpokládána jak nasleduje :
| /1/ | A | múze se vždy skladať s | Λ | |
| y n f i L./ | -- | r.emúže g e nikdy slcžit | O | B |
| /;/ | B | nemúže ge nikdy cložit | 3 | 0. |
| /1/ | múže 35 vždy složit 3 | H | ||
| /5/ | t—,_ t- | 'svidlo /4/ má pžednost p | p0X7 | pravídlem /1/ |
pohledu jsou taková,že neexi3tuv tu4-f *ádné problémy g registrovými slovy predpokladá,že re trova závislosť logiky 32 e 33 v první a druhý
X*!' “* ‘ *♦ C-Γ.
.;uucmcvý oov tupu/logiky 31 Je signál KL2 první inštrukční slučitelné 3isr-ál «si a “ vísZa téchto predpokladá jsou v Obr.8 znázornény vnitŕní logické obvody,jež lze ooužít proprvní inštrukční slučitelnou z . a v Obr.7 dfo logiku 31 první inštrukční slučiteluia — Obr .äVlogika 30 tretí a Čtvrtý .
Jtboučinové oovody 42 a 43 a složitelnosti instrukcí. P,odle oboaiK^rSeíÄ 40 a obvod logického součtu 44 .
Druhá inštrukční slučitelná logika 31 obsahuje dekodéry 41 a
45, součinové obvody 46 a 47 a obvod logického 3oučtu 48 . z inštrukční slučitelné
První dekoder 41 společne používaj! obéYlogiky 22 a 21· inetrukční slučitelná z
PrvníYlogika 30 zkouší operační kódy 0P0 a OPI pro instrukce 0 a 1 za účelem stenovení jejich slučitelnosti pro účely paralelního provedení.
-26 _
To je provádeno podie zhora stanovených pravidel (1)-/¾) .
První j dekoder 40 zjistí operační kod první instrukce a je-li to t
operační kod kategórie A je nastavene výstupní vedení _A deko* v derú 4C na úroveň jedna. Je-li operační kod kategórie B potom prvního je nastaveno výstupní vedení B irdekoderu 10 na úroveň jedna3 Jestliže operační kod nenáleží ani do kategórie_A ani do prvního kategórie _B, jsou oba výstupy’ťdekoderu 10 na úrovni binárni nuly. Druhý dekoder 11 provádí po* y
dobný zpusob dekódovaní pro druhý operační kod OPI.
Tretí součinový obvod 42 realisuje phora uvedené pravid® i i / r i . - , ' \ . <a oneracri kódy--.
lo 1/. Je-li operační Kod'kategórie A 1----- OPI je tretí také kategórie _A, potomfsoučinový obvod 42 vytvorí výstup tretího jedna. Jingk je výstup Ysoučinového obvodu -12 na úrovni bi = Ctvrtý nární nu lv <> ránuČinový obvod 43 realisuje zhora uvedené pravidlo 4/. Je-li první operační kod kategórie B a druhv
Štvrtý operační kod kategórie A , potomť^oučinový obvod 43 vytvorí * ·> * * na výstupu úroveň Jedna . Jinak vvtvoŕí na vvstupu úroveň tretí ' čtvrtý nula. Jestliže buďfšoučinový obvod 42 neboú>oučinový obvod vytvorí na výstupu úroveň Jedna, vybudí s;e na výstupu
Z v obvodu 0K 44 úroveň jedna, v kterémž to prípade složite Inostní signál MO 1 má hodnotu jedna. Tato hodnota jedna indikuje, že první a druhá instrukce - 0 a 1- jsou slučitelné pro paralelní provádéní.
prvním a druhým
Je-liY'dekodérgn40 a 41 detekována jakákoliv jiná tretího a čtvrtáho kombinace kategórií oparačníc|j kódu, potom výstupyYšoučinových obvodu 42 a 43 zástávají na úrovni nula a složitelnostní signál MO 1 má hodnotu nula indikující nes lozíte 1nost.
nasledek, ze hodnota signálu sloziteInosti MO 1
Druhá inštrukční slučitelná logika 21 podouný typ analysy operačníiio kódu pro Irím rukci - instrukci 1 a 2 - . Je-li druhý operační kategórie A a tretí operační kod 0P2 je kategor podie pravidla (1) součinový obvod 46 vytváŕí n
- 27 .shora uvedených .
Výskvt kombinací uvedených vlpŕavidlech (2) a (3) e nesnltŕétí a ctvrty nujíVsoučinov^ obvod 12 a 43 a signál MOl zostává na úrovni nula. Nejsou-li další kategórie operačnicii kódu, kromé kategórie Λ a B, jejich výskyt v inštrukční in toku neprvního a tretího aktivisuje výstupyYdekodéru 40 a 42. Tedy obdobné to má za je nula.
provádí a tretí instkod fP L je-Li ie A, potom a výstupu úroveň jedna a druhý složitelnostní signál M1.2 je vybuzen na úroveň binárni jednotky indikující složitelnost. Jestliže na druhé strane OPI je kategórie B a 0P2 je kategórie A.t potom š e stý podie pravidla (4)Vsoučinový obvod 47 je aktivován pro vytvorení úrovne binárni jednotky pro druhý složitslnostní signál M12. Pro jakoukoliv jinou kombinaci operačníbh kodú než je stanoveno v pravidlech (1) a (4) , má signál M12 hodnotu nula.
Složitelnostní signály M01 a M12 jsou vedený do príznakového generátoru 26. V obr. 8 jsou znázornený logické obvody, které lze použít v príznakovém generátoru 26 aby reagoval na složitelnostní signály JáOl a M12 tak aby byly vytvorený žádané označené bitové hodnpty pro príznaky 0,1 a 2. Označená bitová hodnota jedna indikuje, že stužená instrukce je právni instrukce pro paralelní provádéní. Označená bitová hodnota nula indikuje, že sdružená instrukce je druhá” instrukce pro paralelní provádení. Jediná instrukce v páru má označení bitové hodnoty nula.Každá instrukce s označením bitové hodnoty jedna, která je následována jinou instrukcí s označením bitové hodnotv jedna je provedena sama o sobé jednotlivé a ne paralelné s následující inštrukcie
V prípade prvního ŕádku na ©br. 9 všechny tri príz- nakové bitv mají hodnotu jedna. To znamená, že každá z insteukcí o a 1 bude provedena jednotlivé nd naralelním zpúsobem. Pro prípad druhého radku na Obr. 2 instrukce ô a l budou provedeny paralelné ponévadž príznak O má požadovanou hodnotu jedna a príznak 1 má požadovanou hodnotu nula. Pro prípad tŕetího ŕádku na Obr» 9 instrukce 0 bude provedena jednotlivé, žatím co instrukce 1 a 2 budou provedeny jedna s druhou paralelné. Pro čtvrtou ŕádku budou instrukce Gal provedeny paralelné jedna s druhou.
V téch pŕípadech, kde príznak 2 má binárni hodnotu 1 stav jeho sdružené instrukce 2 je závislý na binárni hodnote príznaku 3. Má-li príznak 3 binárni hodnotu nula, potom instrukce 2 a 3 mohou být provedeny para le Iné.Jest líže na druhé strane príznak 3 má binárni hodnotu jedna, potom instrukce 2 bude provedena jednôt livé,neparalením zpusobem. Je treba poznamenal, že logika realisovaná pro príznakový generátor 26 nedovoľuje výskyt dvou následných príznakových bitu o binárních hodnotách nula.
Z Obr. 9 vyplývá potŕeb“ ná logika k realisaci části príznakového generátoru 26 na Obr.S.
Jak ukázáno v Obr. 9, príznak 0 bude mít vždy binárni hodnotu jedna.To je splnéno vytvorením konštantní binárni hodnoty jedna na výstupním vedení 50 príznakového generátoru, která obsahuje príznak 0 výstupního vedení. Z obrázku 9 dále vyplývá, že bitová hodnota príznaku 1 je vždy opačná bitová hodnota složi» telnostního signálu .VI010 Tento výsledek je dosažen pripojením
na jehož vstup je pŕipojeno signálni vedení MO 1,
je určená 3<obvodem 54Ya invertorem 55 . Jeden vstup Y”- Tiblogického součtu vodu 54^3e pčipojen k signálnímu vedení MO 1. Jestliže MO 1 má hodnotu jedna, potom príznak 2 má hodnotu jedna. To se týká hodnot príznaku 2 ve druhém a čtvrtém ŕádku na Obr.9.Ďalší vstup nrvního obvodu logického součtu idruhý invertor»
3θ pŕipo jen p ŕ e s Ψ 55 k signálnímu ve d e n í M 12 . Jestliže M12 má binárni hodnotu nula,je tato hodnota invertována druhým invrtorem 55 na binárni hodnotu jedna pro druhý vstup prvního logickéhosoučtu obvodu 54^3*ýstupní vedení 53 príznaku 2 následkem toho má binárni hodnotu jedna. To se týká hodnoty príznaku 2 v ŕádce jedna na Obr. 9. Je treba poznamenať, že v pripadá ŕádku 3 príznak 2 musí mít hodnotu nula.Je tomu tak proto, že M01 bude mít hodnotu nula a M12 bude mít hodnotu jedna, která je inver·
drphým továnaTinvertorem 55 , aby vytvorila nuLu na druhém vstupu pirvní^obvodu 54.
Z logiky na Obr.9 vyplývá pravidlo prednostní priority pro ŕádek čtyŕi v prípade, že každé vedení M01 a M12 má binárni hodnotu jedna. Tento prípad čtvrtého ŕádku maže být vytvoŕen inštrukční kategórií posloupností B, A, A. To múže být realisováno príznakovou posloupností 1, 0, 1. na Obr. 9, nebo alternativné príznakovou posloupností 1,1,0. V tomto seskupení platí pravidlo 5) a posloupnost 1,0,1 v Gbr.9 je vybrána. Jinými slovy párování B,A_ je dávána prednosť pred párováním A,A_.
Tvar/pro MO 1 M12 môže být také vytvoŕen sledem z
oporačních kodú A,A,A. V tomto pripadá sled pŕíznakú 1,0,1
Tľb'joL“···je znovu vybrán podie Obr. % To je lepší,prot.ože je k diapooici hodnota jedna pro príznak 2tčímž je potenciálni umožnéno’ 3I0žit in3trukci 2 3 instrukcí 3,je-li in3trukce 2 slučitelná 3 in3trukcí 3.
Na Obr.10 je príklad možné kon3trukce počítače 3 použitím príznaku ke složení podie vynálezu,aby bylo docíleno paralelního zpracování instrukcí ve strojovém jazyku počítače . Instrukce 3kládací Jednotka 20 je pre3 hlavní paméť 10 a rýchlou vyrovnávací paméť 12 pripojená k rídící Jednotce 60 vyvolánívydání . Tato jednotka 60 je spojená s první funkční jednotkou 61. druhou funkční jednotkou 62 p tretí funkční jednotkou 65 a čtvrtou funkční jednotkou 64. Všechny funkční jednotky 61 až 64 j30u pripojený k universálnímu registru 65 a k rychlé vyrovnávací paméti 66.
In3trukce skládací jednotka 20 je použitá za predpokladu, že je typem pop3aným v Obr. 6 a jako taková pripojuje k e každé in3trukci pole jednobitového priznaku.Tato príznaková pole j3ou použitá k identifikaci párú inotrukcí, které mají být paralelné zpracovány. Stránky ob3ahující takto označené :Ln3trukce j3ou postoupeny a uložený v hlavní paméti 10 · Je-li takto označených instrukcí treba,jsou čteny nebo prenesený do rychlé vyrovnávací paméti 12 .
Ŕídící jednotka 60 vyvolání-vydání postoupi označené instrukce z rychlé vyrovnávací paméti 12,je-li toho treba, a U3poŕádá je pro zpracování jednou nebo více pluráli, tními funkčními jednotkami 61 až 64. Jednotka 60 zkoumá príznaková pole a pole operačních kódú privedených instrukcí.Indikují-1i príznaková pole,že dvé následné in3trukce mají být zpracovány paralelné,jednotka 60 vyvolání-vydání je priradí tém funkčním jednotkám 61-64 jak určeno jejich operačními kódy a tyto jednotky je zpracují paralelné. Indikují-li príznaková pole,že specielní instrukci je treba zpracovat 3amo3tatné neparalelním zpúsobem,potom ji jednotka 60 vyvolání-vydání priradí specielní funkční jednotce jak určeno jejím operačním kódem a je zpracována nebo provedená samostatné.
- 31 První funkční jednotka 61 je určená k zpracování vétvených instrukcí. Druhá funkční jednotka 62 je aritmetickou a logickou jednotkou pro generování adres ae tŕemi vstupy,která je určená k výpočtu paméíových adre3 instrukcí,které pŕesouvají operandy do nebo ,z<pôméti . Tretí funkční jednotka 63 je univeraální aritmetická a logická jednotka určená pro matematické a logické operace. Čtvrtá funkční jednotka 64 je jednotkou se adruženou závislostí dat ee tŕemi V3tupy zpúsobilá k provedení člvou aritmeticko-logických operací v jedniném 3trojovém cyklu.
Počítačový systém v Obr.10 obsahuje také aadu univeraálních registrú 65 pro zpracování nékolika instrukcí ve strojovém jazyku.Tyto univeraální regi3try jsou použitý k typicky dočasnému uložení dátových a adresových operand nebo jsou použitý jako čítače nebo ke zpracování 03tatních dat. Typický systém Je opatŕen šestnácti univereálními regiatry. Pŕedpokládá ae, že regietry jsou jedním z vícekanálových typú.pŕičemž lze dosáhnout eoučaané dva nebo více registrú.
Počítačový 3ystem v Obr.10 obsahuje dále rýchlou vyrovnávací pamät 66 pro ukládání dátových operand získaných z hlavní-paméti 10 vyšší úrovné · Data lze také pŕeaouvat zpät z rychlé vyrovnávací pamäti 66 do hlavní parnéti 10 · Rychlá vyrovnávací parné? 66 múže být známého typu a její pracovní režim relativné pŕizpúsoben hlavní paméti 10 ŕešen známým zpúsobem.
-22 Na Obr. 11 je znázornén príklad složené nebo označené inštrukční posloupnosti, která múze být zpracována počítačovým systémem na Obr. 10. Príklad na Obr. 11 je složen z následujících instrukci následovné: plnení .pripojení , srovnání , vetvení podmínéné a ukládání . Tyto instrukce jsou identifikovány jako instrukce JL1-I5. Príznakové bity pro tyto instrukce «
jsou prirazený následovné. 1,1,0,1, a 0p Vzhledem k organi• s-aci stroje znázornené na Obr, 10 instrukce plnení je spracována jednotlivým zpúsobem samostatné. Instrukce pripojení a s srovnání jsou považovaný za složené instrukce a jsou zpracovány paralelné jedna s druhou. Instrukce vétvení a ukládání jsou považovány také za složené instrukce a jsou rovnéž zpracovány paralelné jedna s druhou.
Tabulka v Obr.12 udává další informace o každé z instrukci ni0br.il, SloupdcR/M v Obr.12 indikuje obsah první> ho pole každé instrukce, která je typicky použitá k identifikaci jednoho zvláštního z universálních registrú 65, který í
obsahuje první operandu. Jako výjimka je prípad instrukce podmínéného vétvení, v némž pole R/M obsahuje masku podmínéného kódu. Sloupec R/X v Obr.12 indikuje obsah druhého pole v každé instrukci, kteréžto póle je typicky použito pro identifikaci druhého jednoho z universálních registrú 6J5. Takový registr múže obsahovat druhou operandu nebo múže obsahovat hodnotu adresního indexu X . Sloupec B v Obr.12 indikuje obsah tretího možného pole v každé instrukci, kteréžto pole múže identifikovat jeden zvláštni registr z universálních registrú 65, který obsahuje základní adresovou hodnotu. 0 v sloupci B indikuje nepritomnost v poli B nebo nepŕítomnost
- 55 odpovídající adresové slóžky v poli J}. PoleJĎ v Obr,12 indikuje obsah dalšího pole v každé instrukci, která je-li použitá ke generování adres obsahuje hodnotu posuvu adresy. Nula ve sloupci D muže indikovať také nepŕítomnost odpovídajícílio pole v_e zvláštni instrukci práve uvažované nebo, alter natívne, hodnotu 0 pro posuv adresy.
Nyní bude sledováno zpracování instrukci
Obr.11, ŕídící jednotkou 60 vývolání—vydaní určené plnení v
Dri znako — vými bity instrukce plnení a áásledující instrukce pripojení, že instrukci plnení
K provedení funkce je treba zpracovag jednotlivé \tŕeba instrukce plnení jervyvolání operandu z vyrovnávací samostatné paméti, v tomto prípade rýchleYpaméti 66 a umístnéní této operandy do R2 universálního registru. Pamétová adresa, podie které je operand vyvolán je určená pŕidáním indexové hodnoty v registru_X, základní hodnoty v registru B a hodnoty D posuvu. Aídící jednotka 60 vyvolání—vydání priradí tuto adresu druhé funkční operaci generováníYjednotce 62 generovaní adres. V -tromto dr^há funkční prípade '/'jednotka 62 pripojí hodnotu adresového indexu v registru X “hodnota nula v tomto príkladu- a, hodnotu zákLadní adresy obsaženou v universálním registru R7 a hodnotu posuvu adresy-hodnota nula v danném príklade - obsaženou v samotné instrukci. Výsledná vypočítaná pamétová adresa objevudruhé funkční jící se na výstupu '/^jednotky 62 je pŕedána na adresový vyrovnávací vstup ýychléYpaméti 66 pro pŕástup k žádanému operandu.
Dosažený operand je postoupen do universálního registru R2 v sade registru 65 .
- 34 Sledujeme-li nýní zpracování instrukci pripojení a srovnání jsou tyto instrukce vyvolány ŕíďící jednotkou 60 vyvolání-vydání. 5ídící jednotka 60 pŕezkouší príznaky ke složení téchto instrukcí a zaznamená, že mohou být paralelné provedeny. Jak patrno z Obr.12 instrukce srovnání má zrejmou závislost dat na instrukci pripojení, jelikož pripojení musí být dokončeno pred H3 dŕíve než jjh muže být provedeno srovčtvrtá funkční nání. Tuto závislpst muže však zpracoväTYfédnotka 64 se sdruženými závislými daty. Následkem toho tyto dve instrukce lze zpracovat paralelné podie konfigurace z ôbr. 10. Rídící jednotka 60 zejména priradí zpracování instrukce tretí funkční čtvrté funkční/ jednotce 63 a priradí zpracování instrukce srovnánímYjednotce 64 se sdruženou závislostí.
Tretí funkční jednotksP3 pripojí obsahy R2 universálního registru k obsahu R3 universálního registru a umístní výsle dek pripojení zpét do R3 funkční /jednotka 53 se sdruženou universálního registru. Současné tretí závislostí provede následující ma tematickou operaci: K3 + R2 - R4 Podminovací kod pro výsr * ledek této operace je zaslán do registru podminovacího kódu první funkční umístnéného do vetven^Vjédnotky 61 . Dátová závislosť je zdručtvrtá funkční žená, protože~Vjednotka 64 vypočítá totiž součet R3 + K2 a ten pak porovná s R4 pro určení podminovacího kódu. Následčtvrtá funkční jednotka tretí funkční jednotky kem toho nemusí V 64 čekat na výsledky ž V 63 ^která provádí instrukci pripojení. V tomto zvláštním pňípjrdé číselné čtvrtou funkční výsledky vypočtenéVjadnotkou 64 se objeví na jejím výstupu a nemusí se predávať zpét do universálních registru 65 . , ,. - · . čtvrtá funkční Jednotka - V tomto prípade stanoví o4 toliko podminovací kod.
- 35 Sledujeme-li nyní zpracování instrukce vetvení a instrukce ukládání znázornené na Obr.11, jsou tyto instrukee vyvolány z rýchle vyrovnávací paméti 12 pro složení instrukce ŕídící jednotkou 60 vyvoLání-vydání. áídící jednotka 60 rozhodne podie príznakových bitú techto instrukcí, že múze být jedna s druhou zpracována oddelené. Dále múze rozhodnout poda le operační kodú téchto dvou instrukcí, že vetvená instrukce funkční má být zpracována první Ύ jednotkou 61 a ukláduná instrukce druhou funkční má být zpracovánaYjednotkou 62 pro generovaní adres» V souladu s timto rozhodnutím je pŕedáno maskovací pole Jd a první funk ční posuvné pole D vetvené instrukce do vétveneVjednotky 61 . Podobné hodnota indexu adresy v registru X a hodnota základní adresy v registru B pro vétvenou instrukci se získají první funkční z universálních registru 65 a jsou zaslány do vétveneYjednotky 61. V danném príklade hodnota X je nula a základní hodnota je získána z universálního registru. Posuvná hodnota dvacet
D má hexadecimální hodnotu Y~t žatím co maskovnací pole M má hodnotu polohy masky oam »
Vétvená jednotka 61 začne vypočítávat potenciálni vétvenou adresu (0 + R7 + 20 .) a současné porovnává podmino* vací kod získaný z pŕedchozí srovnávací instrukce s maskou M podminovaciho kódu. Je-li hodnota podminpvacího k-^-odu stejná jako hodnota kódu masky, je dána podmínka potrebného vetvení první funkční a vypočtená adresa vétveVjednotkou 61 vétvení je na to zaslána do počítače instrukci v ŕídící jednotce 60. Počítač instrukcí zkontroluje vyvolání instrukci z rychlé vyiovnávací paméti 12 slúžených instrukci. Na druhé strané není-li podmínka udána - to je v pŕípadé, že podminovací kod stanovený pŕedchozí instrukci nemá hodnotu - ,potom nenastane žádné vétvení a ne- 36 ní žádná vetvená adresa zaslána do ŕídící jednotky 60_ počítaprvní. funkční že vétvenáTjednotka 61 je v činosti druhá funkční akce pro instrukci vetvení, aYjednotadresy je v Činnosti, pŕičemž prováče instrukci.
Současné tím, provádí se její procesní ka 62 pro generování dí výpočet adresy (β + Ή7 + 0) pro instrukci paméti. Adresa druhou funkční vypočženáVjednotkou 62 je zaslána do dátové rýchle vyrov návací paméti 66 . Není-li vétvenou jednotkou prov^deno žádné vetvení, potom pamčtová instrukce zpracuje operand K3 univesálního registru pro uložená do dátové rýchle vyrovnávací paméti druhou funkční na adresu vypočtenouVjednotkou 62. Na druhé strané jeli podmínka vetvení udána a vetvení je provedeno, potom obsahy íl3 universá Iní ho registru nejsou uložený do dátové rychlé vyrovnávací paméti 66.
V pŕedchozím Obr. ll posloupnost instrukci je uvádéna jen jako príklad. Celkové zapojení počítačového systému v Obr.10 je rovnéž zpusobilé k zpracování ruzných a všelikých jiných sledu.Príklad na Obr.11 však jasné ukazuje
Ύ” uzitečnost složených instrukci pri určování, které páry instruk cí mají být paralelné zpracovány s jinými.
Každé párování instrukce mající hodnotu príznakového bitu jedna s následující instrukci mající hodnotu príznakového bitu nula vytváŕí slúženou instrukci pro účely paralelního zpracování, což znamená, že instrukce mohou být zpracovány jednti s drahou. Kkyž príznakové bity u každé z následujících dvou instrukci máji hodnotu jedna, první z téchto instrukci jé provedena samostatné neparalelním zpúsobem.V najhorším možném prípade všechny instrukce v posloupnosti by raoh ly mi t hodnotu príznakového bitu jedna. V nejhorším možném pŕípadš všechny instrukce posloupno3ti by móhly být.zpracovány najednou nepáralelním zpÔ3obem.
Shora uvedený príklad technických proetŕedkú je uvádén jen pro malou obla3t. S ohledem na to je každý pár soused ní instrukce analysován,aby 3e zji3tilo zda je možno zpracovat ho paralelné. Paméíové skládání nabízí totiž zkouáení více než dvou instrukci a vybráni nejlepšího existujícího 3eskúpení.
Technika složení uvádéná v pŕíkladech pŕed.pokládá, že je známo kde je začátek instrukce. Obecné lze inštrukční meze identifikovať kompilátorem jak již zmĺnéno nebo dekodováním instrukce pred zpracováním.
V závéru je treba se zmínit,že instrukce 3kládací jednotka byla znázornéna specielné v poloze mezi vstupem-výstupem adaptéru a pamäťovou ebérnicí. Tímto príkladem není vyloučeno jakékoliv jiné umíeténí v paméti , kde instrukce skládací jednotka môže pracovať. Môže být obsažena ve vstupu-vý3tupu adaptéru, môže pracovať jako samostatná jednotka do paméšové ebérnice % nebo môže obsahovať jednotku pripojenou pouze k hlavní paméti privátním paméíovým kanálem neprístupným pŕes pamétovou 3bérnici % , Číslicový počítačový eystem podie vynálezu je možno 3peciali3ty v oboru pŕizpÚ3obit a adaptovať podie potreby. Proto je požadována ochrana predloženého vynálezu Jen v omezení a souladu 3 patentovými nároky.
Claims (17)
- PATENTOVÉ NÁROKY1. Číslicový počítačový systém obsahující prostŕedky k r» provedení vétšího počtu instrukcí paralelné a kombinaci vyznečující se tím,že obsahuje vstupní/výstupní propojovací mezičlánek k vytvorení skupiny instrukcí, které mají být zpracovány; mechanišmus ke složení instrukcí pro vytvorení príznakové informace ke složení v závislosti na skupiné instrukcí,pŕičemž príznaková' informace ke šložení indikuje instrukce ze skupiny instrukcí,které mají být provedeny paralelné; ô hlavní paméí pripojenou na vstupní/ výstupní propojovací mezičlánek e k mechsnismu složení instrukcí pro uložení skupiny instrukcí s príznakovou informací ke složení.
- 2. Kombinace podie nároku 1 vyznačující se tím,že pŕíznaKo-'.· vá informace ke složení je obsažena ve vétším počtu označených polí,pŕičemž každé označené pole je pŕiŕazeno príslušné instrukci analyzované mechanismem složení instrukcí.
- 3. Kombinace podie nároku 1 nebo 2 vyznačující se tím,že počítačový systém obsahuje vetší počet funkčních instrukčních základních jednotek,které vzájemné spolupracuj! paralelne,pričemž príznaková informace je použitá k vytí ání dvou nebo více instrukcí pro rúzné druhy funkčních' jednotek.Kombinace podie jednoho z nárokú lež J vyznačující se tím,že mechanismus složení instrukcí obsahuje plurálnéinstrukční registr instrukcí pro príjem množství postupných instrukcí ; analyzačni mechanismus instrukcí založe5.5.ný na pluralitním pravidlu,pŕičemž každý snalyzaČní mechanismus podie predpisu analyzuje zejména pár sousedících instrukcí v instrukčním registru a vytvárí signál ke složení, k terý indikuje zda dve instrukce zmĺnéného páru mají nebo nemejí být zpracovány paralelné; a mechanismus generující označení podie signálú ke složení pro vytváŕení jednotlivých označených polí pro rúzné instrukce v instrukčním registru.Kombinace podie nároku 4 vyznečující se tím,že počítačový systém je specielní konfigurací k zpracování instrukcí,pŕičemž každý mechanismus k analyzování instrukce obsahuje logické obvody pro realizování pravidel,která definují, které typy instrukcí jsou zpôsobilé pro paralelní provedení ve specielní konfigurací k zpracování instrukcí použité v počítačovém systému,logických obvodech vy tváre jících slučitelný signál pro analyzační mechanismus.Číslicový počítačový systém zpusobilý k parelelnímu zpracování dvou nebo více instrukcí a kombinace vyznačující se tím,že obsahuje prostŕedky pro príjem skupiny instrukcí v posloupnosti ins.trukcí,které mají být zpracovány; mechanismus složení instrukcí pripojený· k tém ta prostredia uiia$éní cofoa—eti kum,mechanismus složení instrukcí pro pŕíjemYskúp i rýins-_ , xpolí/.0 značený ch ke / trukcí a pŕiŕa-hL'
- 7. Kombinace podie nároku 6 vyznačující se tím,^e obsahuje pluralitu funkčních instrukčních základních jednotek, které pracujú paralelné jedna s druhou; a mechanisEius vydání instrukcí pripojený k mechanisniu >* ukládání do paméti pro dodáyání v ní.uložených instrukcí do rúzných jiných funkčních instrukčních základních jednotek ,když jejich označená pole indikují,že mají být paralelné zpracovány.
- 8. Kombinace podie nároku 6 nebo 7 vyznačujúci se tím,že mechanismus pamatování obsahuje hlavní pamét pro ukladaní bloku informace vcetné zmĺnéných instrukcí a ciechanismus rych<lé vyrovnávací paméti pripojené k hlavní parné ti a k mechanismu vydání instrukcí.
- 9. Kombinace podie jednoho z nárokú 6 až ô ,vyznačujíci se tím,že mechanismus pamatování obsahuje hlavní pamét majúci velikost slova dostatečnou k pŕidání polí označených ke složení instrukcí ze zmĺnéné skupiny instrukcí.
- 10. Kombinace podie jednoho z nároku 6 až 9, vyznačujúci se tí,že mechanismus pamatováníObsahuje hlavní panel pro ukládání skupiny instrukcí a príznakovou pamét pro ukládání složených príznak*:.
- 11. Kombinace podie jednoho z nárokú 6 až 10, vjznačující se tím,že mechanismus pamatování obsahuje hlavní pamét, pričemž hlavníi pamél obsahuje príznakovou tabulou pro príznaková pole ce složení a samostatnou sekci pro uxládání plurálitnich skupín instrukcí.
- 12. Kombinace podie jednoho z nárokú 6 až 11,vyznečující se tím,že mechanismus pamatování obsahuje hlavní pamäť .pŕičemž hlavní pamäť obsahuje stránkovou sekci mající pr vní sekci pro ukládóní skupiny instrukcí e druhou r* sekci pro ukládání príznakových polí kc složení,
- 13. Kombinace podie jednoho z nárokú 6 bž 12, vyznačující se tím,že skupina inctrukcí je stránkou instrukcí.
- 14. Kombinace podie jednoho z nérokú 6 až 13, vyznačující se tím,že obsahuje prostŕedky k provedení instrukcí pripojené k pamäťovému mechanismu ‘.pro vyvolání plurality instrukcíja v odpovédi na príznakovú pole ke složení paralelní provedení pluralitních instrukcí.
- 15. Kombinace podie nároku 14,vyznačující se tím,že prostŕedky k provedení instrukcí pracují asynchronné 3 me- chanismem pro složení instrukcí.
- 16. Číslicový nočítacov.v systém zpôsobilý k soucasnému provedení pluralitních instrukcí e kombinace , vyznsčující se tím,že obsahuje pamäťový mechanismus pro ukladaní pŕe- stanovených dem skupín instrukcí určených k provedení;jednotku pro složení instrukcí pripojenou k pamäťovému mechanismu pro generovaní cložené príznakové informace, které identifikuje instrukce v pred hl určené skupine instrukcí,které mají být soucasné proveseny; prostŕedky k uložení složené príznakové informace do pamäťového mechanismu a pripojeného k jednotce složení instrukce pro uložení složené nŕíznakové informace.
- 17. Kombinace podie nároku 16,vyznačující se tím,že jednotka ke složení instrukcí je asynchrónni s prntŕedky k provedení instrukce.
- 18.18.
- 19.19.
- 20.20.-wKombinace podie nároku 16 nebo 17 , vyznačujte! se tím, že prostŕedkeni k ukládání složené príznakové informace je príznaková pamét.Kombinace podie jednoho z nárokú'16 až 18,vyznačující se tím,že prostredkem k ukládání složené príznakové informace je príznaková tabulka.Kombinace Dodle jednoho z nároku 16 až 19,vyznačující se tím,že prostŕedek k ukládání složené príznakové informace obsahuje znak mezery pameíového mechanismu pripojený k predem určené skupine instrukci.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US54346490A | 1990-06-26 | 1990-06-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| SK93491A3 true SK93491A3 (en) | 1995-09-13 |
Family
ID=24168174
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| SK934-91A SK93491A3 (en) | 1990-06-26 | 1991-04-04 | Digital computer system for elaborating of at lest two parallel instructions |
Country Status (10)
| Country | Link |
|---|---|
| US (2) | US5355460A (sk) |
| EP (1) | EP0463296A2 (sk) |
| JP (1) | JPH0778738B2 (sk) |
| BR (1) | BR9102128A (sk) |
| CA (1) | CA2038264C (sk) |
| CZ (1) | CZ280269B6 (sk) |
| HU (1) | HUT57920A (sk) |
| PL (1) | PL165585B1 (sk) |
| RU (1) | RU2109333C1 (sk) |
| SK (1) | SK93491A3 (sk) |
Families Citing this family (89)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0474297B1 (en) * | 1990-09-05 | 1998-06-10 | Koninklijke Philips Electronics N.V. | Very long instruction word machine for efficient execution of programs with conditional branches |
| JP2642529B2 (ja) * | 1991-04-30 | 1997-08-20 | 株式会社東芝 | 並列プロセッサーの命令分配処理装置 |
| US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
| US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
| US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
| GB2263565B (en) * | 1992-01-23 | 1995-08-30 | Intel Corp | Microprocessor with apparatus for parallel execution of instructions |
| DE69326066T2 (de) * | 1992-03-25 | 2000-03-30 | Zilog, Inc. | Schnelle befehlsdekodierung in einem pipeline-prozessor |
| US5438668A (en) * | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
| WO1993020505A2 (en) | 1992-03-31 | 1993-10-14 | Seiko Epson Corporation | Superscalar risc instruction scheduling |
| JP3637920B2 (ja) | 1992-05-01 | 2005-04-13 | セイコーエプソン株式会社 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
| US5416913A (en) * | 1992-07-27 | 1995-05-16 | Intel Corporation | Method and apparatus for dependency checking in a multi-pipelined microprocessor |
| US5590348A (en) * | 1992-07-28 | 1996-12-31 | International Business Machines Corporation | Status predictor for combined shifter-rotate/merge unit |
| EP0662226B1 (de) * | 1992-09-22 | 1996-02-07 | Siemens Aktiengesellschaft | Verfahren zur bearbeitung eines anwenderprogramms auf einem parallelrechnersystem |
| KR100248903B1 (ko) | 1992-09-29 | 2000-03-15 | 야스카와 히데아키 | 수퍼스칼라마이크로프로세서에서의 적재 및 저장연산처리방법 및 시스템 |
| US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
| EP1107111A3 (en) | 1992-12-31 | 2002-02-06 | Seiko Epson Corporation | System and method for register renaming |
| US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
| JP3182591B2 (ja) * | 1993-01-20 | 2001-07-03 | 株式会社日立製作所 | マイクロプロセッサ |
| US6154828A (en) * | 1993-06-03 | 2000-11-28 | Compaq Computer Corporation | Method and apparatus for employing a cycle bit parallel executing instructions |
| US5504914A (en) * | 1993-06-23 | 1996-04-02 | National Science Council | Multi-level instruction boosting method using plurality of ordinary registers forming plurality of conjugate register pairs that are shadow registers to each other with different only in MSB |
| US6360313B1 (en) | 1993-11-05 | 2002-03-19 | Intergraph Corporation | Instruction cache associative crossbar switch |
| EP0974894B1 (en) | 1993-11-05 | 2002-02-27 | Intergraph Corporation | Instruction cache associative cross-bar switch |
| US5509129A (en) * | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
| US5598546A (en) * | 1994-08-31 | 1997-01-28 | Exponential Technology, Inc. | Dual-architecture super-scalar pipeline |
| US5819059A (en) * | 1995-04-12 | 1998-10-06 | Advanced Micro Devices, Inc. | Predecode unit adapted for variable byte-length instruction set processors and method of operating the same |
| US5991869A (en) * | 1995-04-12 | 1999-11-23 | Advanced Micro Devices, Inc. | Superscalar microprocessor including a high speed instruction alignment unit |
| US5931941A (en) * | 1995-04-28 | 1999-08-03 | Lsi Logic Corporation | Interface for a modularized computational unit to a CPU |
| US5848288A (en) * | 1995-09-20 | 1998-12-08 | Intel Corporation | Method and apparatus for accommodating different issue width implementations of VLIW architectures |
| US5872947A (en) * | 1995-10-24 | 1999-02-16 | Advanced Micro Devices, Inc. | Instruction classification circuit configured to classify instructions into a plurality of instruction types prior to decoding said instructions |
| US5826089A (en) * | 1996-01-04 | 1998-10-20 | Advanced Micro Devices, Inc. | Instruction translation unit configured to translate from a first instruction set to a second instruction set |
| US5958042A (en) | 1996-06-11 | 1999-09-28 | Sun Microsystems, Inc. | Grouping logic circuit in a pipelined superscalar processor |
| US5924128A (en) * | 1996-06-20 | 1999-07-13 | International Business Machines Corporation | Pseudo zero cycle address generator and fast memory access |
| US5845099A (en) * | 1996-06-28 | 1998-12-01 | Intel Corporation | Length detecting unit for parallel processing of variable sequential instructions |
| US5867680A (en) * | 1996-07-24 | 1999-02-02 | Advanced Micro Devices, Inc. | Microprocessor configured to simultaneously dispatch microcode and directly-decoded instructions |
| US6049863A (en) * | 1996-07-24 | 2000-04-11 | Advanced Micro Devices, Inc. | Predecoding technique for indicating locations of opcode bytes in variable byte-length instructions within a superscalar microprocessor |
| US5724422A (en) * | 1996-08-05 | 1998-03-03 | Industrial Technology Research Institute | Encrypting and decrypting instruction boundaries of instructions in a superscalar data processing system |
| US5941980A (en) * | 1996-08-05 | 1999-08-24 | Industrial Technology Research Institute | Apparatus and method for parallel decoding of variable-length instructions in a superscalar pipelined data processing system |
| US5852727A (en) * | 1997-03-10 | 1998-12-22 | Advanced Micro Devices, Inc. | Instruction scanning unit for locating instructions via parallel scanning of start and end byte information |
| US5870582A (en) * | 1997-03-31 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched |
| US6098167A (en) * | 1997-03-31 | 2000-08-01 | International Business Machines Corporation | Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution |
| US5805849A (en) * | 1997-03-31 | 1998-09-08 | International Business Machines Corporation | Data processing system and method for using an unique identifier to maintain an age relationship between executing instructions |
| US5898885A (en) * | 1997-03-31 | 1999-04-27 | International Business Machines Corporation | Method and system for executing a non-native stack-based instruction within a computer system |
| US5898850A (en) * | 1997-03-31 | 1999-04-27 | International Business Machines Corporation | Method and system for executing a non-native mode-sensitive instruction within a computer system |
| US5875336A (en) * | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
| US5887161A (en) * | 1997-03-31 | 1999-03-23 | International Business Machines Corporation | Issuing instructions in a processor supporting out-of-order execution |
| US5913048A (en) * | 1997-03-31 | 1999-06-15 | International Business Machines Corporation | Dispatching instructions in a processor supporting out-of-order execution |
| US5940602A (en) * | 1997-06-11 | 1999-08-17 | Advanced Micro Devices, Inc. | Method and apparatus for predecoding variable byte length instructions for scanning of a number of RISC operations |
| US5922065A (en) * | 1997-10-13 | 1999-07-13 | Institute For The Development Of Emerging Architectures, L.L.C. | Processor utilizing a template field for encoding instruction sequences in a wide-word format |
| US6167506A (en) * | 1997-11-17 | 2000-12-26 | Advanced Micro Devices, Inc. | Replacing displacement in control transfer instruction with encoding indicative of target address, including offset and target cache line location |
| US6134649A (en) * | 1997-11-17 | 2000-10-17 | Advanced Micro Devices, Inc. | Control transfer indication in predecode which identifies control transfer instruction and an alternate feature of an instruction |
| US6118940A (en) * | 1997-11-25 | 2000-09-12 | International Business Machines Corp. | Method and apparatus for benchmarking byte code sequences |
| US6314493B1 (en) | 1998-02-03 | 2001-11-06 | International Business Machines Corporation | Branch history cache |
| US6061786A (en) * | 1998-04-23 | 2000-05-09 | Advanced Micro Devices, Inc. | Processor configured to select a next fetch address by partially decoding a byte of a control transfer instruction |
| US6141745A (en) * | 1998-04-30 | 2000-10-31 | Advanced Micro Devices, Inc. | Functional bit identifying a prefix byte via a particular state regardless of type of instruction |
| US6175908B1 (en) | 1998-04-30 | 2001-01-16 | Advanced Micro Devices, Inc. | Variable byte-length instructions using state of function bit of second byte of plurality of instructions bytes as indicative of whether first byte is a prefix byte |
| RU2146389C1 (ru) * | 1998-07-07 | 2000-03-10 | Научно-исследовательский институт системных исследований РАН | Перепрограммируемый вычислитель для систем обработки информации |
| US6230260B1 (en) | 1998-09-01 | 2001-05-08 | International Business Machines Corporation | Circuit arrangement and method of speculative instruction execution utilizing instruction history caching |
| US6658552B1 (en) * | 1998-10-23 | 2003-12-02 | Micron Technology, Inc. | Processing system with separate general purpose execution unit and data string manipulation unit |
| US6332215B1 (en) | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
| US7225436B1 (en) | 1998-12-08 | 2007-05-29 | Nazomi Communications Inc. | Java hardware accelerator using microcode engine |
| US6826749B2 (en) | 1998-12-08 | 2004-11-30 | Nazomi Communications, Inc. | Java hardware accelerator using thread manager |
| JP2000284970A (ja) * | 1999-03-29 | 2000-10-13 | Matsushita Electric Ind Co Ltd | プログラム変換装置及びプロセッサ |
| GB2352066B (en) * | 1999-07-14 | 2003-11-05 | Element 14 Ltd | An instruction set for a computer |
| US6711670B1 (en) * | 1999-10-14 | 2004-03-23 | Hewlett-Packard Development Company, L.P. | System and method for detecting data hazards within an instruction group of a compiled computer program |
| US6438664B1 (en) | 1999-10-27 | 2002-08-20 | Advanced Micro Devices, Inc. | Microcode patch device and method for patching microcode using match registers and patch routines |
| EP1102165A1 (en) * | 1999-11-15 | 2001-05-23 | Texas Instruments Incorporated | Microprocessor with execution packet spanning two or more fetch packets |
| US7039790B1 (en) | 1999-11-15 | 2006-05-02 | Texas Instruments Incorporated | Very long instruction word microprocessor with execution packet spanning two or more fetch packets with pre-dispatch instruction selection from two latches according to instruction bit |
| US6618801B1 (en) * | 2000-02-02 | 2003-09-09 | Hewlett-Packard Development Company, L.P. | Method and apparatus for implementing two architectures in a chip using bundles that contain microinstructions and template information |
| DE10043003A1 (de) * | 2000-09-01 | 2002-03-14 | Infineon Technologies Ag | Programmgesteuerte Einheit |
| KR20020028814A (ko) | 2000-10-10 | 2002-04-17 | 나조미 커뮤니케이션즈, 인코포레이티드 | 마이크로코드 엔진을 이용한 자바 하드웨어 가속기 |
| US7149878B1 (en) | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
| US7711926B2 (en) * | 2001-04-18 | 2010-05-04 | Mips Technologies, Inc. | Mapping system and method for instruction set processing |
| US6826681B2 (en) * | 2001-06-18 | 2004-11-30 | Mips Technologies, Inc. | Instruction specified register value saving in allocated caller stack or not yet allocated callee stack |
| US7107439B2 (en) * | 2001-08-10 | 2006-09-12 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
| US8769508B2 (en) | 2001-08-24 | 2014-07-01 | Nazomi Communications Inc. | Virtual machine hardware for RISC and CISC processors |
| JP3564445B2 (ja) * | 2001-09-20 | 2004-09-08 | 松下電器産業株式会社 | プロセッサ、コンパイル装置及びコンパイル方法 |
| US7395408B2 (en) * | 2002-10-16 | 2008-07-01 | Matsushita Electric Industrial Co., Ltd. | Parallel execution processor and instruction assigning making use of group number in processing elements |
| US7917734B2 (en) | 2003-06-30 | 2011-03-29 | Intel Corporation | Determining length of instruction with multiple byte escape code based on information from other than opcode byte |
| US7269715B2 (en) * | 2005-02-03 | 2007-09-11 | International Business Machines Corporation | Instruction grouping history on fetch-side dispatch group formation |
| US7475223B2 (en) * | 2005-02-03 | 2009-01-06 | International Business Machines Corporation | Fetch-side instruction dispatch group formation |
| US7376815B2 (en) * | 2005-02-25 | 2008-05-20 | Qualcomm Incorporated | Methods and apparatus to insure correct predecode |
| US7664765B2 (en) * | 2005-07-12 | 2010-02-16 | Cipherflux, Llc | Method for accelerating the computational speed of a computer algorithm |
| US7562206B2 (en) * | 2005-12-30 | 2009-07-14 | Intel Corporation | Multilevel scheme for dynamically and statically predicting instruction resource utilization to generate execution cluster partitions |
| JP2007272353A (ja) * | 2006-03-30 | 2007-10-18 | Nec Electronics Corp | プロセッサ装置及び複合条件処理方法 |
| GR1006531B (el) | 2008-08-04 | 2009-09-10 | Διαμορφωση εντυπου πολλαπλων επιλογων αναγνωσιμου με ηλεκτρονικο μεσο και συστημα και μεθοδος για την ερμηνεια κατ' ελαχιστον μιας επιλογης του χρηστη | |
| US9354888B2 (en) * | 2012-03-28 | 2016-05-31 | International Business Machines Corporation | Performing predecode-time optimized instructions in conjunction with predecode time optimized instruction sequence caching |
| US9348596B2 (en) * | 2013-06-28 | 2016-05-24 | International Business Machines Corporation | Forming instruction groups based on decode time instruction optimization |
| RU2620731C1 (ru) * | 2016-07-20 | 2017-05-29 | федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" | Способ совместного арифметического и помехоустойчивого кодирования и декодирования |
| CN115757476A (zh) * | 2021-09-06 | 2023-03-07 | 财付通支付科技有限公司 | 一种数据处理方法、智能合约处理方法及相关设备 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3401376A (en) * | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
| US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
| JPS53108254A (en) * | 1977-03-02 | 1978-09-20 | Nec Corp | Information processor |
| US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
| US4295193A (en) * | 1979-06-29 | 1981-10-13 | International Business Machines Corporation | Machine for multiple instruction execution |
| US4439828A (en) * | 1981-07-27 | 1984-03-27 | International Business Machines Corp. | Instruction substitution mechanism in an instruction handling unit of a data processing system |
| US4591972A (en) * | 1982-11-15 | 1986-05-27 | Data General Corp. | Data processing system with unique microcode control |
| US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
| US4873629A (en) * | 1984-06-20 | 1989-10-10 | Convex Computer Corporation | Instruction processing unit for computer |
| SU1295410A1 (ru) * | 1985-07-08 | 1987-03-07 | Институт кибернетики им.В.М.Глушкова | Процессор дл мультипроцессорной системы |
| US4847755A (en) * | 1985-10-31 | 1989-07-11 | Mcc Development, Ltd. | Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies |
| US5021945A (en) * | 1985-10-31 | 1991-06-04 | Mcc Development, Ltd. | Parallel processor system for processing natural concurrencies and method therefor |
| SU1517035A1 (ru) * | 1987-10-30 | 1989-10-23 | Институт кибернетики им.В.М.Глушкова | Процессор дл мультипроцессорной системы |
| JPH0769824B2 (ja) * | 1988-11-11 | 1995-07-31 | 株式会社日立製作所 | 複数命令同時処理方式 |
-
1991
- 1991-03-14 CA CA002038264A patent/CA2038264C/en not_active Expired - Fee Related
- 1991-03-20 EP EP91104324A patent/EP0463296A2/en not_active Withdrawn
- 1991-04-03 PL PL91289724A patent/PL165585B1/pl unknown
- 1991-04-03 RU SU4894971A patent/RU2109333C1/ru active
- 1991-04-03 JP JP3096093A patent/JPH0778738B2/ja not_active Expired - Fee Related
- 1991-04-04 SK SK934-91A patent/SK93491A3/sk unknown
- 1991-04-04 CZ CS91934A patent/CZ280269B6/cs not_active IP Right Cessation
- 1991-04-04 HU HU911101A patent/HUT57920A/hu unknown
- 1991-05-24 BR BR919102128A patent/BR9102128A/pt unknown
-
1993
- 1993-07-29 US US08/098,240 patent/US5355460A/en not_active Expired - Lifetime
-
1994
- 1994-08-08 US US08/287,435 patent/US5459844A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| PL165585B1 (pl) | 1995-01-31 |
| HUT57920A (en) | 1991-12-30 |
| BR9102128A (pt) | 1991-12-24 |
| CA2038264C (en) | 1995-06-27 |
| US5459844A (en) | 1995-10-17 |
| CZ280269B6 (cs) | 1995-12-13 |
| EP0463296A2 (en) | 1992-01-02 |
| US5355460A (en) | 1994-10-11 |
| JPH0778738B2 (ja) | 1995-08-23 |
| PL289724A1 (en) | 1992-04-21 |
| RU2109333C1 (ru) | 1998-04-20 |
| JPH04232532A (ja) | 1992-08-20 |
| CZ93491A3 (en) | 1995-07-12 |
| EP0463296A3 (sk) | 1994-03-23 |
| HU911101D0 (en) | 1991-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| SK93491A3 (en) | Digital computer system for elaborating of at lest two parallel instructions | |
| EP0341897B1 (en) | Content addressable memory array architecture | |
| EP1280056B1 (en) | Generation of debugging information | |
| KR100638703B1 (ko) | 데이터 프로세싱 시스템용 셀룰러 엔진 | |
| US4587632A (en) | Lookahead stack oriented computer | |
| DE69736105T2 (de) | Hierarchische durchsuchlogik für ungeordnete lade/speicherausführungssteuerung | |
| EP0341899B1 (en) | Content addressable memory array | |
| Bala et al. | Efficient instruction scheduling using finite state automata | |
| CS93691A2 (en) | Method of instruction sequence processing and device for this method realization | |
| IL99056A (en) | Reduction processor with active associative storage | |
| EP0341896B1 (en) | Content addressable memory array | |
| CS93591A2 (en) | Method of instruction sequence identification in byte flow and at least two instructions flagging for parallel execution | |
| US20020170041A1 (en) | Retrieval of symbol attributes | |
| AU642927B2 (en) | Minimizing hardware pipeline breaks using software scheduling techniques during compilation | |
| EP1085412A2 (en) | A relocation format for linking | |
| US6859932B1 (en) | Relocation format for linking | |
| EP0982655A2 (en) | Data processing unit and method for executing instructions of variable lengths | |
| US5673425A (en) | System for automatic generating instruction string to verify pipeline operations of a processor by inputting specification information having time for the processor to access hardware resources | |
| US6925635B2 (en) | Embedded pre-processor with dynamic macro forms | |
| JPS6118044A (ja) | プログラムスキヤナ | |
| Pearse et al. | Experiences developing and maintaining software in a multi-platform environment | |
| GB2363479A (en) | A linker using relocation sequences | |
| EP0552895B1 (en) | Method for improving performance in an automated test system | |
| Naur | The design of the GIER ALGOL compiler | |
| Wolz | Design of a Compiler for lazy pattern driven narrowing |