Movatterモバイル変換


[0]ホーム

URL:


HUT63505A - Reducing processor - Google Patents

Reducing processor
Download PDF

Info

Publication number
HUT63505A
HUT63505AHU93175AHU17593AHUT63505AHU T63505 AHUT63505 AHU T63505AHU 93175 AHU93175 AHU 93175AHU 17593 AHU17593 AHU 17593AHU T63505 AHUT63505 AHU T63505A
Authority
HU
Hungary
Prior art keywords
reduction
reduction processor
list
registers
register
Prior art date
Application number
HU93175A
Other languages
English (en)
Other versions
HU9300175D0 (en
Inventor
Lars Gunnar Carlstedt
Original Assignee
Carlstedt Elekrtonik Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Carlstedt Elekrtonik AbfiledCriticalCarlstedt Elekrtonik Ab
Publication of HU9300175D0publicationCriticalpatent/HU9300175D0/hu
Publication of HUT63505ApublicationCriticalpatent/HUT63505A/hu

Links

Classifications

Landscapes

Description

A találmány tárgya redukáló (nem Neumann-i architektúrájú) processzor.
A számítógépet az 190-es években találták fel. Azóta forradalmi sebességgel fejlődött. Ennek ellenére a napjainkban használatos számítógépek felépítése szinte teljesen megegyezik az első gépekével.
A legtöbb fejlesztést a hardware-ben hozták létre. A nagyon nagy fokú integrálás bevezetése és a litográfiában bekövetkezett fejlődés lehetővé tette olyan egy chipből álló számítógépek megépítését, melyeket még öt éve is szuper számítógépeknek neveztek. A méretek exponenciálisan zsugorodtak és a vonalszélesség most kisebb, mint 1 mikrométer. Az óraütem valamint az aktív tranzisztorok száma több nagyságrenddel megnőtt. A fizikai korlátok a vonal szélességet valószínűleg 0,2 mikrométerre fogják korlátozni.
Ugyanezen idő alatt a számítógép építők nem javították a szilícium kihasználását. Épp ellenkezőleg, a legtöbb számítógép az optimálisnál nagyobb mennyiségben használ szilíciumot azért, hogy gyorsabb legyen.
Mindkét tény meg fogja állítani az elkövetkező öt évben az egy processzoros számítógépek fejlődési sebességét. Párhuzamos processzorokat vezettek be, melynek eredményeképp, az egyre emelkedő bonyolultság miatt egyrészt megnövekedtek a hardware költségek, másrészt a legtöbb programtípus esetében a programozási költségek is túlzott mértékben növekedtek.
Ha a kettőt egymással összevetjük, láthatjuk, hogy a hardware költségek lecsökkentek, de az új rendszerek
- 3 programozásának költségei jelentős mértékben megnőttek, és azok hamarosan el fognak érni egy olyan szintet, ami már akadályozó tényezőt jelent.
Egy számítógép különböző a software és a hardware egységek bonyolult együttese. A különböző paradigmák (ragozási minták) és az eltérő fejlettségű fokozatok különböző - ad hoc és megállapított - szabványokat hoztak létre, amelyek kiterjednek a rendszer egészére. Az egységeség ezen hiánya miatt nagy számú interface (csatlakozási felület) van .
Mindezek az interface-ek és különböző minőségű paradigmák és stílusok nehézzé tették a felhasználó vagy programozó számára a gép használatát - nagyon sok tudásra van szükség hozzá -, és a bonyolultság miatt a programozó rejtett hibákat vihet be a rendszerbe.
Manapság azonban az úgynevezett redukáló processzorok vannak kifejlődőben. Egy redukáló processzor olyan programot hajt végre, melynek meghatározott struktúrája van, beleértve aritmetikai kifejezéseket, és ezt a struktúrát egy sor redukciós lépésben egyszreűsíti. Tehát a programot nem egy adott sorrendben hajtja végre, mint a más típusú számítógépekben.
Nehézségek léptek fel a redukciós processzorok fejlesztésében egy korlátozott méret felett.
Az első elektronikus számítógép kifejlődése indította el több programozási nyelv fejlődését, melyek az ilyen típusú számítógéphez alkalmasak, ilyen például a FORTRAN, COBOL, ALGOL, BASIC, PASCAL. Ezeket a nyelveket magas szintű nyelveknek (parancs nyelveknek) vagy procedurális nyelveknek nevezték, melyeket a továbbiakban hagyományos nyelveknek is neveztek, főként amiatt a tény miatt, hogy ezek rendes körülmények között olyan programokat adnak, melyek egy hagyományos számítógép által, azaz a Neumann János által kifejlesztett elveknek megfelelően tervezett számítógép által egymást követő sorrendben végrehajtandó parancsok vagy utasítások sorozatából állnak. Az ezekkel a nyelvekkel kapcsolatos egyre növekvő kényelmetlenségek vezettek egy más nyelvsorozat kidolgozásához: LISP, ISWIM, Séma, (a LISP egyik dialektusa) , ML, Hope, SASL, stb. Az ezen nyelvek kifejlődése mögött rejlő hajtóerő a fogalmi egyszerűség volt; a tervezést nem befolyásolta egyik speciális gép sem. Biozonyos időt vett igénybe, míg a funkcionális vagy applikatív nyelvekre elkezdtek felfigyelni - ennek egyik oka az volt, hogy a funkcionális programokat lassan lehetett végrehajtani. A későbbi fejlődések azt mutatták, hogy a végrehajtási sebesség, bizonyos esetekben, közel lehet, vagy meg is egyezhet a hagyományos számítógépek által végrehajtott hagyományos (imperatív) nyelven írott programokéval, annak ellenére, hogy ezeket a funkcionális programokat nem azzal a szándékkal írták, hogy ilyen típusú számítógépekkel hajtsák végre azokat.
Ami a funkcionális nyelvek kifejlesztésére irányuló nagy mértékű erőfeszítéseket elindította, az az volt, hogy az imperatív típusú nyelvekkel kapcsolatban egyre több probléma jelentkezett. Az 1970-es évek körül a software válságáról beszéltek. A programok egyre bonyolultabbá váltak, és gyakran nagy számú hibát tartalmaztak, nehéz volt azokat elolvasni, nehéz volt megérteni, és különösen nehéz munka volt azokat módosítani. Az egyik ok az, hogy azok az elvárások, hogy a magas szintű imperatív nyelvek egyszerűsítenék a programozást, nagyon nagyok voltak - ezek a nyelvek nem voltak olyan magas szintűek, vagy absztrakciós (elvonatkoztatási) szintűek, mint ahogy azt esetleg gondolták. Az imperatív nyelvek még mindig a korai számítógépes elvekhez vannak igazítva, a Neumann típusú számítógépekhez, és a programozás szintje még mindig nagyon közel van a gépi szinthez. A funkcionális programozási nyelveknek számos olyan tulajdonsága van, ami a hagyományosabb programozási nyelvek hátrányai közül néhányan enyhít.
További felvilágosításért és a jobb megértésért a Functional Programming Using Standard ML,( Ake Wikström, Prentice Hall 1987.) könyvére hivatkozunk.
Annak érdekében, hogy teljesen megértsük a találmány célkitűzését és előnyeit, alapvető megérteni, hogy a számítástechnikában mit tartalmaz a funkcionális megközelítés. Speciálisan a történelmileg jobban elterjedt imperatív megközelítéssel összehasonlítva.
Az funkcionális megközelítés kifejezés azt jelenti, hogy a programokat funkcionális nyelven írják és tárolják és hajtják végre egy olyan számítógépen, mely speciálisan ezen nyelveken írott programok végrehajtására alkalmas hardware-t tartalmaz. Ezzel megegyező módon az imperatív megközelítés azt jelenti, hogy a programok imperatív nyelven vannak megírva és tárolva és egy az imperatív nyelvek végrehajtására alkalmas hardware-t tartalmazó számítógépen végrehajtva.
Lehetséges azonban funkcionális nyelven írt programokat hagyományos számítógépen is tárolni és végrehajtani. Az ellenkezője is lehetséges - imperatív nyelven írt programokat is végre lehet hajtani egy funkcionális nyelveken írt programok végrehajtására alkalmas számítógépen.
Egy funkcionális nyelven írt programot úgy lehet tekinteni, hogy az tárgyak tulajdonságainak definícióit és számítási szabályokat tartalmaz. A definíciók alkotják a deklaratív részt és a számítási szabályok, vagy redukciós vagy újraírási szabályok a műveleti részt, melyet a számítógép a végrehajtás során használ. A funkcionális nyelvek egy magasabb szintű interface-t vagy csatlakozó felületet biztosítanak a számítógép számára, mely lehetővé teszi a programozó számára, hogy elvonatkoztasson a számítógép hardware-rel kapcsolatos részleteitől. A funkcionális programok pozitív mellékhatása, hogy azok gyakran rövidebbek, és könnyebben megérthetőek, mint a hagyományos imperatív programok. A funkcionális nyelvekkel kapcsolatos fő hátrányok egyike az, hogy a funkcionális programokat hagyományos nyelvre le kell fordítani ahhoz, hogy egy hagyományos számítógépen lehessen végrehajtani. Ezt fordítóprogramokkal (compilerekkel) vagy értelmező (interpreter) programokkal végezték. Világos, hogy a funkcionális megközelítés előnyeinek némelyike eddig nem volt kihasználható annak a ténynek a következtében, hogy nem létezett olyan hardware, mely teljes mértékben hozzá lett volna rendelve a ·» *« ♦ ••4 « · • « «
funkcionális programok tárolásának és végrehajtásának a feladatához megfelelően hatékony módszerrel.
A találmány fő célkitűzése egy olyan processzor létrehozása, amelyben a hardware-rel kapcsolatos legtöbb korlátozást kiküszöböljük.
További célja a találmánynak egy olyan nagyon nagy sebességű processzor kialakítása, mely alkalmas valós idejű végrehajtásokra.
A találmány további célja egy olyan processzor kialakítása, amelyben a programozás a lehető legegyszerűbb és a programozás bonyolultságát egységes és egyszerű módon lehet biztosítani.
A találmány további célja egy olyan processzor kialakítása, mely alkalmas olyan nyelven írt programok végrehajtására, melyet egyidejűleg használunk gépi nyelvként, operációs rendszerként, kommunikációs protokollként és programozási nyelvként, azaz egy olyan nyelvként, mely egyszerű és amelyben a software-szintek száma a lehető legkevesebbre van csökkentve.
A találmány további célja egy olyan processzor kialakítása, mely nagyon egyszerű és rugalmasan használható a programozók, a rendszer adminisztrátorok, hardware tervezők és alkatrész gyártók számára egyaránt.
A találmány további célja egy olyan processzor kialakítása, mely alkalmas deklaratív programozási nyelvekkel való működésre, mely nyelv viselkedése szemantikai objektumok-ként írható le, így le tudnak írni valós-idejű idejű és rendszertulajdonságokat is.
A találmány további célja egy olyan processzor kialakítása, melynek struktúrális aritmetikai egysége el van választva és együtt működik egy numerikus aritmetikai egységgel .
A kitűzött cél elérése érdekében a találmány szerint egy olyan redukciós processzort hoztunk létre, amely úgy van kialakítva, hogy az említett struktúrát különböző típusú egyszerűsítéseket (redukciókat) magában foglaló több egyszerűsítési (redukciós) lépésben egyszerűsítse, ahol egy ilyen típusú elsőfokú precesszor magában foglal egy asszociatív aktív tárat, amely viszont magában foglalja
a) aktív tároló rekeszek sokaságát, amelyek mindegyike képes egy egyszerűsítési (redukciós) művelet végrehajtására, és
b) egy kommunikációs hálózatot, amely az említett tárrekeszekhez van kapcsolva, és úgy van kialakítva, hogy azt követően, hogy az egyes egyszer3sítések eredménye az egyszerűsítési műveletek végrehajtásának eredményeként rendelkezésre áll, egy asszociatív keresést hajtson végre az említett tárrekeszek közötti azon tényleges tárrekeszek megtalálása céljából, amelyek az említett egyszerűsítésre hivatkoztak, és az említett egyszerűsítés eredményét asszociatív módon továbbítsa az említett tény leges tárrekeszekhez .
Előnyös, ha az említett kommunikációs hálózat magában foglal egy busz elrendezést, amelynek vezérlő vonalai (6-hoz vezető és attól jövő vonalak) valamint adatvonalati vannak, amely vonalak mindegyike össze van kötve az említett
rekeszekkel, valamint rendelkezik egy vezérlő szerkezettel az összes említett tárrekeszre vonatkozóan.
Előnyös továbbá, ha az említett tárrekeszek közül legalább egy, amelyet központi tárrekesznek nevezünk, képes valamennyi típusú redukció végrehajtására, és az említett többi tárrekesz, amelyeket objektum tárrekesznek nevezünk, úgy vannak kialakítva, hogy az összes lehetséges egyszerűsítések némelyikének csak egy korlátozott részét képesek végrehajtani.
Előnyös, ha az említett objektum tárrekeszek asszociatív memóriában vannak belefoglalva, amelynek van egy első busz elrendezése a külső vezérlés céljára (bármely típus, Vr, cpb, set.s, match, r/w.s, r/w.b, r/w.r, Wand.a, Wand.b, Wor, s.a, rését.b, mode.a, mode.a*, prech, ba, mode.b, grand.b, prio, stb), és egy második busz elrendezése az adatok részére, mely magában foglal:
- néhány említett tárrekeszt egy összetett információ tárolása céljából,
- az említett objektum tárrekeszek mindegyikében eszköz (öke)t legalább egy jelző tárolására, ahol az említett jelzők legalább a kiválasztott állapotot (állapotokat) vagy a nem kiválasztott állapotot (állapotokat) jelzik az említett tárrekeszre vonatkozóan,
- eszközt az említett objektum tárrekeszekben végzendő keresési művelet végrehajtásához az említett jelzők beállítása céljából, és egy prioritás dekódolót, amelyhez valamennyi említett objektum tárrekesz hozzá van kapcsolva, és amelyik az emlí10
tett objektum tárrekeszek közül egyet kiválaszt.
Előnyös továbbá, ha
- legalább egy globális busz biztosítva van az említett tárrekeszek közötti ÉS és VAGY típusú műveletek végrehajtása céljából, valamint minden egyes tárrekeszben egy eszköz am említett buszokkal történő kommunikáció céljára és az említett tárrekesz vezérlése céljára, hogy az részt vegyen egy tényleges logikai műveletben.
- több elsőfokú processzor (az FOPi,i-től FOPM,M-ig) egyesítve vannak egy négyzetes mezőben, amely egy másodfokú processzort képvisel; és az említett négyzetes mezőben lévő mindegyik elsőfokú processzor magában foglal egy csatornát (CAN), amely az említett négyzetes mezőben lévő többi szomszédos elsőfokú processzorhoz vezet;
az említett másodfokú redukciós processzor viszont fel van osztva logikai régiókra, amelyek mindegyike egy 2n x 2n számú elsőfokú processzort tartalmaz, az említett logikai régiók egymás oldalai mellett állnak rendelkezésre egy szabályos minta szerint úgy, hogy lefedjék az említett másodfokú redukciós processzorok említett négyzetes mezejét;
az említett másodfokú redukciós processzorban lévő említett elsőfokú redukciós processzorok egymással össze vannak kapcsolva úgy, hogy az említett másodfokú processzoron belüli egyes említett régiók egy fél régió mérettel minden irányban eltolhatok az említett régiók elhelyezkedésének belső újradefiniálása révén;
minden egyes régióban legalább egy, címmel ellá11
tott, hivatkozható közvetett elem van tárolva, az említett elem csak azon tárrekeszékből hivatkozható, amelyek abban a régióban helyezkednek el, amelyhez maga az elem is tartozik.
- az említett elsőfokú processzorok közül több össze van kapcsolva hálózatok egy hierarchiájába, legalább két különböző típusú hálózat van biztosítva, az első típusú hálózat egy busz, a második típusú hálózat egy gyűrű, a harmadik típusú hálózat pedig egy négyzetes mező;
- magában foglal legalább egy kapu eszközt (portot) , amely az említett aktív tároló eszközhöz van kötve, és legalább egy környezeti eszközt, amely az említett legalább egy kapu eszközhöz van kötve;
- tartalmaz egy eszközt egy jelsorozat összehasonlítása céljára, amely egy kapu eszközön van biztosítva egy sorozattal, amely legalább egy tárrekeszben tárolva van, az említett tárolt sorozat rendelkezik egy esetleg definiálatlan sorozat elemmel az említett aktív tároló eszközben; és tartalmaz egy eszközt az említett tárolt sorozat semmi-re, azaz ellentmondásokat ábrázoló valamivé történő átírása céljából, amennyiben az összehasonlítás egy tiszta eltérést ad; vagy pedig ellenkező esetben az említett tárolt sorozatnak egy meghatározott sorozattá történő átírása céljából, amely a jelsorozat és a tárolt sorozat egyesítése;
- egymáshoz kapcsolt, földrajzilag elválasztott másodfokú redukciós processzorok (GSOP-k) egy harmadfokú redukciós processzort alkotnak;
a másodfokú redukciós processzorok (SOP-k) vonatkozásában egy régiók révén korlátozott mértékű asszociatív . · ·· ♦· * · · · · j ··· ··» »· .·.·_· · · · » címzés van alkalmazva, a harmadfokú processzorok esetében pedig fizikai címzés vah alkalmazva.
Egy végrehajtandó programot egy zárások irányított gráfjával lehet szemléltetni, ahol egy program minden egyes része egy zárással van jelölve. A végrehajtás során a zárások ezen irányított gráfját fokozatosan redukáljuk a használt nyelv redukálás! szabályainak megfelelően. Ha nem marad már több végrehajtható zárás, a program végrehajtása befejeződött. A zárások irányított gráfját úgy lehet tekinteni, mint egy fa struktúrát, ahol a fában lévő egyes csomópont csúcsok a zárások, és ahol a legfelső csomópont csúcsot gyökérnek hívjuk. A redukálással történő végrehajtást rendes körülmények között ekkor a fejre állított fa struktúra redukálásával hajtjuk végre, a fának a gyökértől legtávolabb eső részeinek a redukálásával kezdve, miközben a gyökér felé haladunk felfelé. Ezt a végrehajtási módot rendszerint igény által vezérelt végrehajtásnak nevezik, azaz egy program részeinek a végrehajtását a többi rész végrehajtásának eredményétől függően felfüggesztjük addig, míg az eredmény elérhető nem lesz.
Az alábbiakban megadunk egy listát a jelen leírásban használt kifejezésekre azok jelentésével együtt:
Elem
Egy adatstruktúrában valami nagyobbnak a része.
Lista
Elemek rendezett sorozata, minden elem maga is lehet • · azonban egy lista.
Beszúrt lista
Egy lista egy része, mely elegendően kicsiny ahhoz, hogy teljes egészében lehessen egyetlen tárrekesz zárásban tárolni. Lehetővé teszi tetszőleges hosszúságú listák szemléltetését.
Zárás
Egy olyan hierarchikusan struktúráit egység entitás, mely egy eljárást definiál. Minden zárásnak van egy gyökere, mely egyedülállóan definiálja a zárást. Egy redukciós gépben a redukálás! munkát zárásokon végezzük. A gép teljes állapotát a redukálásokkal transzformáljuk.
Objektum tár
Egy olyan tároló, mely objektumokat tároló cellákból áll.
Tároló tárrekesz
Egy tárrekesz egy objektum tárban. Ez egy olyan tárrekesz zárást tárol, mely egy másik tárrekeszben tárolt zárásra hivatkozhat.
Tárrekesz zárás
Egy tárrekeszben lévő tartalom.
Tárrekesz mező
Egy tárrekeszben lévő mező.
Zárás elem
Egy tárrekesz mezőben tárolt adatelem.
Zárás azonosító
Egy zárást egyedülállóan kijelölő zárás tárrekesz elem.
Kanonikus sárás
Egy olyan zárás, melyet nem lehet tovább redukálni, azaz egy olyan tárrekesz zárás, mely nem tartalmaz egyetlen zárás azonosítót sem, mely valamely más tárrekesz zárást jelölne ki, amelyet redukálni lehetne olyan módon, hogy ezt a tárrekesz zárást tovább kellene redukálni.
Cél
Egy végrehajtandó, azaz redukálandó zárás.
Apa
Egy olyan zárás, amely egy érték/azonosító mezőjében legalább egy zárás azonosítót tartalmaz.
Fiú
Egy - a fiút kijelölő - zárás azonosítón keresztül egy másik záráshoz kapcsolt zárás.
Egy fiú lehet apa is. Egy apa szintén lehet fiú is. Egy fiúnak egynél több apja is lehet. Egy apának egynél több fia is lehet.
Zárás háló
Egy zárás és annak összes apja.
Zárás helyzet
Meghatározza, hogy a zárás egy gyökér vagy pedig egy csomópont.
Gyökér
A legmagasabb zárás egy zárás fában.
Csomópont
Egy olyan zárás egy zárás fában, mely nem gyökér.
Hol
Egy zárás helyzetet tartalmazó tároló tárrekesz
- 15 mező.
Típus
Egy tárrekesz zárásban lévő típus kód, azaz egy bitminta, mely egy objektumnak, például egy utasításkódnak a tulajdonságát ábrázolja.
Lusta
Egy tárrekesz zárásban lévő elem, mely azt jelzi, vajon az végrehajtható-e, vagy egy elhalasztott kiértékelés vagy pedig nem aktív.
Azonosító
Egy speciális fajtájú zárás elem, melyet egy tárrekeszben tárolt objektum kijelölésére használunk.
Környezet
Az objektumokat csoportosítani lehet azzal, hogy azoknak ugyanazt a környezetet adjuk.
Érték/kijelölés
Egy olyan zárás elem, mely vagy egy egyszerű értéket, például egy közvetlen ábrázolást, vagy semmit sem tárol, vagy pedig egy másik zárás kijelölését, például egy közvetett ábrázolást tárol.
Központi tárrekesz
Struktúra aritmetikai egység. A központi tárrekesz képes struktúra aritmetika végrehajtására, beleértve zárások redukálását.
Numerikus aritmetikai logikai egység
Olyan numerikus aritmetikai egység, mely alapnumerikus és logikai műveletek végrehajtására képes. A központi tárrekesz a numerikus aritmetikai logikai egységet ·· *
• · <
·<·
numerikus műveletekre használja.
Teljes regiszter
Olyan regiszter, mely egy központi tárrekeszben az összes síkon keresztülnyúlik.
Központi szó
Egy központi tárrekeszben lévő teljes regiszter tartalma.
Korlátozott regiszter
Egy korlátozott számú síkon keresztülnyúló központi tárrekeszben lévő regiszter, melynek méretei úgy vannak meghatározva, hogy egy érték/azonosító típusú zárás tárrekesz elemet foglaljon magába.
Elemi szó
Egy korlátozott regiszter tartalma vagy egy teljes regiszter egy része, melynek ugyanakkora a kiterjedése, mint a korlátozott regiszteré.
Numerikus szó
Egy elemi szónak a része, mely egy értéket vagy egy kijelölést ábrázol.
Jelzőszó
Egy elemi szónak a része, melynek egy olyan jelzőt tartalmaz, mely a numerikus szóban lévő ábrázolás jellegét jelöli.
Redukció
Egy zárásnak az újraírása/újrastruktúrálása a használt speciális programozási nyelv szabályai szerint.
Az asszociatív objektum tár • ·
- 17 Amikor a találmány szerinti első fokú processzort fejlesztettük ki, az volt a stratégiánk, hogy egy olyan objektum tároló eszközt építsünk fel, mely több tárrekeszből áll. Minden egyes ilyen tárrekesznek egy tárekesz zárást kell tartalmaznia vagy pedig szabad, nem használt tárrekesznek kell lennie. A tárrekeszeket nem kell semmilyen speciális sorrendben allokálni, hanem a hozzáférhető erőforrások egy állományaként kell őket felfogni.
Nagyon fontosnak tartottuk, hogy ne legyen fizikai címük, vagy ne függjenek a fizikai elhelyezkedésüktől. Az ilyen függőségek előbb-utóbb problémákat okoznak minden hagyományos RAM típusú eszközben.
Az objektum tárban az összes tárrekesz egy memória-busz elrendezésen keresztül kommunikál. Ez azért fontos, hogy csökkentsük a költségeket. Más elrendezések, például több be-/kimeneti kapu használata, stb. növelni fogja az objektum tár területét. A memória-busz elrendezés azonban egy memória-ciklusban csak egyetlen műveletet tud végrehajtani.
A redukálási mechanizmus egy olyan állapottal fog rendelkezni, mely tárrekesz zárásokból áll, melyek mindegyikének van egy azonosítója, és ahol a tárrekesz zárások, melyek azonosítókkal vannak egymással összekapcsolva, egy gráfot képeznek. A gráfot a tárrekesz zárások azonosítóival történő címzéséval lehet követni. Tehát a memória-buszt egy osztott nyomvonalként fogjuk használni a gráf összes csúcsához.
Minden egyes tárrekesz zárásnak van egy környezete, • ···
- 18 mely magában foglalhat gyökér zárást kijelölő azonosítót a zárás fában, amely fa képezi a zárás környezetét. Ilyen módon a teljes struktúra hozzáférhető a fában lévő bármelyik zárásból, a gyökéren keresztül, mindössze egyetlen műveletben. A zárásokat csoportosítani lehet egymással, ha azok ugyanazon környezettel rendelkeznek.
Az összes címzést’’ a tartalom információnak megfelelően kell végezni, mivel nincsenek fizikai függőségek, azaz a tároló asszociatív (hozzárendeléses). Egy tárrekesz zárás, azaz egy tároló tárrekeszben lévő tartalom több zárás elemet foglal magában, melyek a tárrekeszben lévő tároló mezőkön tárolhatók. Minden egyes tároló elem tartalmazhat egy azonosítót valamilyen cimke információval vagy egy érték ábrázolásával együtt, vagy pedig annak jelzését, hogy a tárrekesz nem használt. Egy hozzárendeléses vagy asszociatív keresésben lehetséges bármilyen zárás elemnek vagy zárás elemek kombinációjának keresési kulcsként történő felhasználására, ahol a keresési kulcs jelenti például a tárrekesz azonosítót, a tárrekesz környezetét, a tárrekesz típusát, a tároló tárrekesz mezőkbe beírt értékeket vagy azok kombinációit.
A zárás elemek magukba foglalhatnak egy plusz kiválasztási bitet, mely azt jelzi, hogy a zárás elemet kiválasztottuk a hozzáférési mechanizmus számára mint célt. Bizonyos keresési műveletek ezeket a tárrekesz mezőkben lévő kiválasztási biteket beállítják.
Az ilyen típusú hozzáférés egy vagy több tárrekeszt foglalhat magába. Egy többszörös tárrekesz művelet abból ·· · ’ ’*·, .··. ···· ....... ..· ..· “18a ” állhat, hogy egy azonosítót különböző tárrekeszekhez tartozó kiválasztott tároló mezőkben tárolunk el.
A központi vezérlő egység
Az alap redukciós szabályok olyan sokan vannak, hogy azokat nem tudja minden egyes tárrekesz magába fogadni. Emiatt a redukciós mechanizmust az összes tárrekesz zárás között megosztjuk. Meghajtó és érzékelő erősítőket használunk az összes olyan objektum tároló rekesz készítéséhez, mely alkalmas hosszú memória-busz huzalok meghajtására. A központi vezérlő egység a buszjeleknek az idejét is és a szintjeit is be tudja állítani. Ennélfogva az összes kommunikációt a memória-busz elrendezésen keresztül szervezzük meg, amelynek vezérlését a központi vezérlő egység végzi. A központi vezérlő egység, mely előnyösen egy Boole-kapus elrendezés, külső huzalokon lévő értékek egy nagyon egyszerű dekódolását végzi és a legtöbb vezérlő jelet az objektum tárban lévő összes tárrekesz felé egy vezérlő busz elrendezésen keresztül továbbítja. Itt hivatkozunk az Introduction to VLSI Systems (Bevezetés a VLSI rendszerekbe) című kézikönyvre, melynek szerzői Carver Mead és Lynn Conway, Addison Wesley Publishing Company, 1980, melyben további információk találhatók a vezérlő egységek tervezésével kapcsolatban.
Annak érdekében, hogy összetett hozzáférési minták végrehajtására képesek legyünk, Boole-kifejezéseket oldunk meg minden egyes tároló tárrekeszben. Ezt a kifejezést egy a központi vezérlő egységből kiküldött, vezérlő szóval vezé·· ·« « * ··· ·· • · ·· központi
reljük. A vezérlő szót rendes körülmények között vezérlő egység a tárrekeszben lévő információ érzékelésével állítja elő. A találmány szerinti redukciós processzor legtöbb alkalmazásával kapcsolatban fontos, hogy a Boole-kifejezéseket a tárrekeszekben oldjuk meg, mivel ez hatékonyabb lesz, mint hogy információt olvassunk ki a tárolóból a szokásos módon, és azt feldolgozzuk.
A Boole-kifejezéseket a lehető legkisebbre választjuk meg azért, hogy az általuk okozott helyfoglalás a lehető legkisebb legyen. Következésképpen a hozzáférési függvényeket nagy gondossággal választjuk meg.
Tehát a központi vezérlőegység vezérli az objektum tároló funkcióját. A memőra-busz elrendezés kommunikál az összes tárrekesszel. Egyes esetekben emiatt több tárrekeszt kell kiolvasni. Ahhoz, hogy így tegyünk, egy mechanizmus áll rendelkezésre, mellyel a több rendelkezésre álló jelölt közül egyidejűleg csak egyet választunk ki. A kiválasztást egy, az összes tárrekesszel összekötött, prioritás dekóderrel végezzük.
A központi tárrekesz
Előnyösen egy speciális aktív tárrekeszt, az alábbiakban központi tárrekesznek nevezett elemet lehet használni, mely együttműködik az objektum tárolóval, amely viszont aktív tárolónak tekinthető. A központi tárrekesz képes mindenfajta redukció végrehajtására, míg az asszociatív objektum tároló olyan tárrekeszeket tartalmaz, melyek redukciók bizonyos típusainak csak egy korlátozott részének a végre-
-18c hajtására képesek.
A központi tárrekesz elrendezést szimulálni lehetne az objektum tár egy részében is - azonban az kevésbe lenne hatékony.
A központi tárrekesz egy kifejezés több szintjének tárolására képes. A központi tárrekeszben tárolt kifejezésben lévő alaputasításokat a központi tárrekeszben kell végrehajtani. A központi tárrekesz úgy van kialakítva, hogy struktúra aritmetikára alkalmas, azaz egy számítógépes programmal megadott struktúrának az átírására szolgáló aritmetikára. Az egységben egy tárrekesznek a kifejezése olyan méretű, ami megfelel annak az ábrázoló gráf egy ágának, mely a felülírási műveletben benne foglaltatik.
Numerikus/struktúra aritmetikai egységek
Meg kell jegyeznünk, hogy a központi tárrekesz egy olyan eszköz, mely csak struktúra aritmetikát végez, azaz a redukciók többségét, és az egy numerikus aritmetikai egységet használ a numerikus műveletek végrehajtásához. Rendes körülmények között egy processzor el van látva egy olyan aritmetikai logikai egységgel, mely egyaránt végrehajt numerikus és részben struktúra műveleteket is, és ez az aritmetikai logikai egység nincsen felosztva különböző funkcionális részekre a struktúra és numerikus műveletekhez semmiféle módon. Ha egy hagyományos aritmetikai logikai egységet használunk, egy kis programra van szükség annak érdekében, hogy a központi tárrekeszben végrehajtott struktúra művele tekkel ekvivalens műveleteket hajtsunk végre.
; }··, ’··· *··* .
.ί. ·..· ..·
A jelen találmány valamint további objektumok és az azokból fakadó előnyük teljesebb megértése céljából az alábbiakban leírjuk a találmányhoz mellékelt ábrákat, ahol az
1 . ábraa találmány szerinti elsőfokú redukciós processzor vázlatos szerkezetét mutatja; a
2. ábraaz 1. ábrán látható elsőfokú redukciós proceszszorban lévő tároló egy megvalósításának tervét mutatja; a
3. ábraa 2. ábrán látható tárban lévő egy tárrekesz megvalósítását mutatja vázlatosan; a
4A. ábraEgy tárrekesz zárás tárolására alkalmas tárrekeszben lévő különböző mezők használatát mutatja; a
4B-4D ábrákközponti regisztereket mutatnak, amelyeket egy központi tárrekesz megvalósításánál használhatunk; a
4E. ábraa központi regiszterek egy lehetséges elrendezését mutatja egy központi tárrekesz egy lehetséges megvalósításánál; az
5A-5F. ábrákkülönböző adatábrázolási módokat mutatnak egy központi tárrekeszben; a
6-8. ábrákegy központi tárrekesz működésére mutatnak példákat.
9. ábraAz 1. ábrán látható elsőfokú redukciós proceszszor egy központi tárrekeszében lévő működési sík egy megvalósításának blokkdiagramját mutatja;
10. ábraa központi tárrekeszben lévő általános re-
11-12.ábrák
13-19.ábrák
20. ábra
21A ábra
21B ábra
22. ábra
23. ábra
24A. ábra
25. ábra
26A. ábra giszter felépítésének egy megvalósítását mutatja vázlatosan, amely a 9. ábrán látható működési síkhoz valamennyi lehetséges kapcsolattal rendelkezik; a a központi tárrekeszben lévő regiszter rekeszek közötti átvitelre mutatnak két példát; a a központi regiszteren belüli adat átvitelre mutatnak be különböző példákat; a (a 3. ábrán látható) egy tárrekeszben lévő bitrekesz áramköri ábráját valamint a hozzá kapcsolt meghajtó és érzékelő áramkörök ábráját mutatja; a a tárolóban lévő prioritás dekódoló által tartalmazott egy blokk áramköri ábráját mutatja; a a 21A ábrán látható blokkok közötti kapcsolatot mutatja; a a tárolóban lévő egy elem-fej megvalósításának áramköri ábráját mutatja; a a tárolóban lévő egy zárás-fej egy megvalósításának áramköri ábráját mutatja; a az 1. ábrán látható elsőfokú processzorban lévő numerikus aritmetikai logikai egység vázlatos rajzát mutatja; a egy aritmetikai ábrázolásban lévő bit-mező partíció vázlatos képét mutatja; a egy egészek ábrázolására szolgáló kód grafikus ábrázolását mutatja; a
26Β. ábraegy lebegőponts számok ábrázolására szolgáló kód grafikus ábrázolását mutatja; a
26C. ábraegy 7 bites busznál alkalmazott aritmetikai ábrázolás magyarázatául szolgáló vázlatos rajzot tartalmazza; a
27A-27D. ábráka 26. ábra szerinti adat-listát mutat; a
28. ábraa találmány szerinti elsőfokú pprocesszorban lévő numerikus aritmetikai logikai egység egy megvalósításának áramköri rajzát mutatja; a
29A-29C. ábráka numerikus aritmetikai logikai egység bevitel i /ki vi tel i (input/output) pufferének egy megvalósítását mutatják, különböző kapcsolási szekvenciáknál; a
30. ábraa 28. ábrán látható áramkörben használt ábrázolási pontosság-dekóder egy megvalósításának áramköri rajzát mutatja; a
31A. ábraa 28. ábrán látható áramkörben használt egész szavas összeadó egy megvalósításának áramköri rajzát mutatja; a
31B. ábraa 31A. ábrán látható összeadó egy helyértékszeletének blokk-diagramját mutatja; a
31C. ábraa 31A. ábrán látható összeadó egy helyértékszeletében lévő bit-szelet blokk-diagramját mutatja; a
32. ábraa 28. ábrán látható áramkörben lévő egy inkrementáló egy helyérték-szeletének egy megvalósítását mutatja; a
a 28. ábrán látható áramkörben lévő operánál tál tartalmazott kiválasztókkiválasztó bit-szelet egy megáramköri rajzát mutatja; a
33.
ábra due áramkörök bán lévő alap valósításának
34.
ábra a találmány tálmázott kapu ábráját mutatja; a szerinti processzor által tar(port) jel-szekvenciájának
35.
ábra a találmány szerinti processzorba történő bevitel és/vagy a processzorból történő kivitel céljára szolgáló kapu (port) egy megvalósítását mutatja; a
36.
ábra a találmány szerinti, nagyon általános másodfokú redukciós processzort (SOP = Second Order Processor) mutat; a
37A.
ábra egy másodfokú redukciós processzor (SOP) egy olyan megvalósítását mutatja, ahol az elsőfokú redukciós processzorok Processor) el rendezve;
J (FOP = Fi rst Order egy négyzet alakú mezőben vannak ábra a központi mutat, amely alakú mezőben tárrekeszben lévő operatív síkot a 37A ábra szerinti elrendezett elsőfokú négyszög redukciós ábra processzorban adat átviteli különböző felhasználható négy lehetőséggel van ellátva; a el rendezésű egy négyzetes processzort mutat, amely tományokban elrendezett redukciós processzort foglal magában; a másodfokú redukciós négyszög alakú tar256 darab elsőfokú
37D-37E ábrák egy négyzetes elrendezésű másodfokú redukciós processzor különböző software gyűrűit mutatják; a ··· • · ·
38. ábraegy másodfokú redukciós processzor egy második elrendezését mutatja, amelynél az elsőfokú redukciós processzorok hierarchikus hálózatokban vannak elrendezve, ahol is mindegyik hálózat egy busz; a
39. ábraegy másodfokú redukciós processzor egy második elrendezését mutatja, amelynél az elsőfokú redukciós processzorok hierarchikus hálózatokban vannak elrendezve, ahol is mindegyik hálózat egy hardware gyűrű; a
40. ábraegy kombinációs másodfokú redukciós proceszszor megvalósítását mutatja, amely a 37A, 38 és 39 ábrákon látható elsőfokú redukciós processzorokat foglalja magában; a
41. ábraegy harmadfokú redukciós processzort mutat, amely több másodfokú redukciós processzort tartalmaz; a
42A-42C.ábrák egy harmadfokú redukciós processzor különböző részeit mutatják, és bemutatják a globális címzés kezelésének egy lehetséges módját.
Egy elsőfokú redukciós processzor
Az 1. ábrán egy elsőfokú redukciós processzor, vagyis egy egyszerű redukciós processzor megvalósítása látható a találmány szerint. Az elsőfokú redukciós processzor egy olyan redukciós processzor, amelyet egy összetettebb redukciós processzor alkatrészeként használhatunk fel, az alábbiakban leírt módon. Ennek az elsőfokú redukciós processzornak a vázlatos szerkezete az 1. ábrából nyilvánvaló. Meg kell azonban jegyeznünk, hogy a felépítése ettől nagyon eltérő is lehet, például a központi tárrekesz különböző síkjait elrendezhetjük egy chipen egymás mellett, vagy pedig párhuzamos rétegekben, úgy, hogy azok nem pontosan a sematikusan bemutatott felépítésűek legyenek.
Az 1. ábrán látható elsőfokú redukciós processzor magában foglal egy aktív asszociatív memóriát, amelyet a továbbiakban 1 objektum tárnak nevezünk, amely viszont memória rekeszeket foglal magában, amelyeket a továbbiakban tárrekeszeknek nevezünk, amelyek mindegyike alkalmas egy adatobjektum tárolására, ahol az adat-objektum magában foglalhat végrehajtható részeket, és előnyösen alkalmas korlátozott méretű redukciós aritmetikai halmazok magában foglalására; továbbá magában foglal egy struktúra aritmetikai egységet, amelyet a továbbiakban 2 központi tárrekesznek nevezünk, amely több 3 központi regisztert tartalmaz a struktúra aritmetikai műveletek, azaz a struktúra módosító redukciók, végrehajtására; és - amennyiben az 1. ábrán az elsőfokú reduk ciós processzor része egy két vagy több fokozatú redukciós processzornak, amely több elsőfokú redukciós proceszszort foglal magában - tartalmaz egy processzor hálózati 4 adatátviteli eszközt, amely a processzorok közötti kommunikációt biztosítja. A 4 adatátviteli eszköz magában foglal több regisztert, amelyek úgy vannak kialakítva, hogy ideiglenesen tárolni tudják egy tárrekesz struktúráját, abból a célból, hogy ezt a struktúrát átvigyék egy másik elsőfokú redukciós processzorhoz.
Lehetőség van arra, hogy az 1 objektum tárban lefoglaljunk egy mezőt azon műveletek számára, amelyeket a 2 központi tárrekeszben végzünk, azaz a 2 központi tárrekeszt szimulálni lehet az 1 objektum tár egy részében. A 2 központi tárrekesz különböző lehetőségekkel rendelkezik a saját regiszterei közötti egyetlen művelettel történő adatcsere és átvitel részére. Amennyiben a 2 központi tárrekeszt egy 1 objektum tár 2 központi tárrekeszbeli mezőben szimulálunk, akkor az ilyen műveletek több műveleti ciklust igényelnek.
A 2 központi tárrekeszhez egy 5 numerikus aritmetikai logikai egység van hozzákapcsolva, és a 2 központi tárrekeszből az adatok az 5 numerikus aritmetikai logikai egységhez lesznek átvíve, amikor numerikus műveleteket kell végrehajtani. Ilymódon a struktúra aritmetikai és a numerikus aritmetikai végrehajtása különálló, különböző egységekben történik.
A processzor ezen kívül magában foglal még egy 6 központi vezérlő egységet is, az 1 objektum tárban, a 2 központi tárrekeszben és az 5 numerikus aritmetikai logikai egységben lévő elemek vezérlése céljából. Ezen túlmenően, a
processzor ellátható még egy vagy több kapuval a külvilággal végzendő kommunikáció céljából.
A 6 központi vezérlő egység
A 6 központi vezérlő egység előnyösen egy meglehetősen bonyolult elrendezésű logikai kapu mátrix. Ennek megvalósítása nem mutatható be, mivel az elrendezését egy számítógépben számíthatjuk ki, amely számítógépet elláttuk a vezérlő jeleknek az informatív jelekhez viszonyított elrendezésére vonatkozó összes algoritmussal. A logikai kapu mátrixot közvetlenül chip-maszk mintákként kapjuk meg a számítógéptől, amelyet a chip-maszk minták elrendezéséhez adaptáltunk, a találmány szerinti teljes processzorra vonatkozóan. Emiatt ezt az áramkört lehetetlen részleteiben szemléltetni. Az alábbiakban leírt megvalósításokkal kapcsolatban csak a bemenő· és a belőle kijövő jeleket fogjuk leírni.
Az 1 objektum tár
Az 1 objektum tár lényegesen nagyobb intelligenciával rendelkezik, mint egy közönséges RAM típusú tár. Az 1 objektum tár asszociatív, amely több szolgáltatást tesz lehetővé, mint az olvasás és írás, amint az egy közönséges RAM típusú tárnál biztosítva van, és ezt a következőkben még részletesebben is kifejtjük. Az 1 objektum tár számára különösen alkalmassá tett bit-rekesz struktúrát a 20. ábrán láthatunk .
A memória bit-rekesz számos funkció végrehajtására képes, még akkor is, ha mindössze négy csatlakozóval rendelkezik, amelyek közül három vezérelhető. Igen kevés alkatrészt tartalmaz. Ez biztosítja annak lehetőségét, hogy egy kis méretű tároló eszközt alakítsunk ki, amely igen nagy számú memória bit-rekeszt foglal magában. Az 1 objektum tár tároló rekeszekre van felosztva, amelyek mindegyike több zárási elemet tartalmaz. Az általa nyújtott szolgáltatások igen magas szintűek. Például, meg tudjuk találni egy kiragadott adatelem összes el,fordulását, függetlenül azok helyétől az egyes tároló rekeszeken belül, és az így megtalált partikuláris adat elem globálisan átírható, azaz a teljes 1 objektum táron belüli összes előfordulásnak új érték aható egyetlen memória-utasítás segítségével. Miután az 1 objektum tár asszociatív, ezt az átírási műveletet két fizikai memória-ciklussal végrehajthatjuk, függetlenül az érintett memória-rekeszek számától.
A 2. ábrán az asszociatív 1 objektum tár egy 10 tál— rekeszek sorából álló tár-síkból áll. így a 10 tárrekeszek egy veremben elrendezett sorokként állnak rendelkezésre.
Valamennyien össze vannak kötve a t1, t2, id, env, vO, v1, v2, v3 vertikális memória-busszal, amelyet egy 7 transzformáló interfészben található meghajtó és érzékelő erősítők hajtanak meg, amint ezt a 20. ábrával kapcsolatban bővebben ki fogunk fejteni. Valamennyi 10 tárrekesz össze van még kötve egy 11 prioritás dekóderrel is, amely egy időben egy tárrekeszt választ ki a működtetendő több 10 tár-rekesz közül. Az 1 objektum tárat asszociatv hozzáféréssel vezéreljük, amelyet egy néhány ciklusból álló működtetési fázis alatt fejtünk ki. Egy teljes 1 objektum tár hozzáférés egy ilyen fázis során történik meg.
A kapu
A külső világgal történő kommunikáció céljából a • ·· • · · redukciós processzort el lehet látni egy vagy több kapuval az adatok kivitele/bevitele céljából. A kaput az 1 objektum tár kiterjesztésének tekinthetjük, hiszen ez is hasonló funkciójú és az objektum tárrekeszekkel kompatibilis tárrekeszeket tartalmaz. A kapu a ki viteli/beviteli input/output műveleteket egyesítés révén hajtja végre.
Az 1 objektum tár 10 tárrekesze
Az 1 objektum tárban lévő 10 tárrekeszt egyrészt egy digitális tartalom tárolására, másrészt a tényleges számításokban való aktív részvételre használjuk fel. Minden egyes 10 tárrekeszben egy összetett digitális információt és legalább egy jelzőt tárolunk. A jelzők értéke vagy KIVÁLASZTOTT vagy NEM KIVÁLASZTOTT lehet. A 10 tárrekeszben vagy annak egy részében tárolt összetett digitális információt, amelyet zárás elemnek nevezünk, olvasni vagy írni lehet a KIVÁLASZTOTT-nak jelölt információ olvasása vagy írása révén. A hozzáférést a jelző bit igénybevétele nélkül is biztosíthatjuk. Az elérést ekkor az elemekhez kapcsolt a és b egy bites buszokon megjelenő logikai függvény eredménye vezérli, ahogyan ez a 3. ábrán látható, amely egy 10 tárrekesz felépítését mutatja.
Két globális egy-bites 12, 13 busz van biztosítva, a (MÓD) és a (TÖBB), az 1 objektum tár 10 tárrekeszei közötti logikai műveletek végrehajtása céljából. E műveletek az ÉS és a VAGY logikai műveletek lehetnek. Gondoskodhatunk egy harmadik (BÁRMELY) 14 buszról is, amelyet a 11 prioritás dekódolóhoz kapcsolunk. A 12, 13, 14 buszok száma azonban nincs háromra korlátozva: lehet egy is, de lehet több is. A
különböző 10 tárrekeszek olvashatnak a 12, 13 és 14 buszokról, és részt vehetnek a logikai műveletekben is. A 12 busz (MÓD) jele igaz lesz akkor, ha az a vagy £ buszokon egy vizsgálatot fogunk végrehajtani. A 12 buszt (MÓD) az összes tárrekesz olvashatja vagy írhatja. A 13 busz (TÖBB) értéke akkor lesz igaz, ha egynél több 10 tárrekesz lett kiválasztva. A 14 busz (BÁRMELY) értéke akkor igaz azaz 1 értékű, ha a 10 tárrekeszek valamelyike (bármelyike) kommunikációt kér.
A 3. ábrán látható 10 tárrekesz több 151 tárrekesz mezőre van osztva. Mindegyik 151 tárrekesz mező magában foglal több 15 bit-rekeszt és egy 166 elem-fejet. A 15 bit-rekeszekben egy zárás elem van tárolva, egy jelzővel együtt, amely a KIVÁLASZTOTT vagy NEM KIVÁLASZTOTT állapotot jelzi, és amely a 16 elem-fejben van tárolva. A zárás elemeket kölcsönösen eltérő feladatokhoz rendelhetjük hozzá. Például, az egyes zárás elemekben tárolandó szóhosszúság lehet 38 bites. A 16 elem-fejben lévő jelzőn túlmenően a 15 bit-rekeszekben lévő bitek némelyikét is fel lehet használni a 16 elem-fejben tárolt további információ fel használására utaló információ céljára. Ilymódon úgy nevezett jelző szavakat helyezhetünk el ezeken a biteken. A 15 bit-rekeszekben 6 bitet használhatunk fel jelző szóként, és 32 bitet normálig, tárolt információ céljára.
Amint az a 3. ábrából nyilvánvaló, nem szükséges, hogy az összes zárás elem ugyanolyan méretű legyen. Ilymódon a t1 és t2, azaz TÍPUS busz-részekre kapcsolt zárás elemek rövidebbek, mint a busz-részek további részére kapcsolt zárás elemek. A 151 tárrekesz mezők 16 elem-fejei a 10 tárre kész helyi lokális a és £ egy-bites buszaihoz vannak kapcsolva. Ezen buszok számát más módon is megválaszthatjuk. Alapvető azonban, hogy legalább egy busz legyen. A KIVÁLASZTOTT zárás elemek közötti HUZALOZOTT ÉS és HUZALOZOTT VAGY műveleteket ezen buszok segítségével végezzük.
Minden egyes 10 tárrekesznek van egy 17 zárás feje, amelyhez az a és b buszok hozzá vannak kötve. A 17 zárás fej ezenkívül hozzá van kapcsolva a 11 prioritás dekódolóhoz is, egy legkevesebb egy darab egy bit szélességű busz révén, amely a látható megvalósításban a 18 és 19 buszokból áll, és hozzá van még kapcsolva a globális 12 és 13 buszokhoz is. A 17 zárás-fej pufferként funkcionál. A 10 rekeszek ezen 12, 13, 18, 19 buszokon olvashatják le az eredményt, vagy pedig részt vesznek a logikai műveletekben.
Az 1 objektum tár 10 tárrekeszeinek használata
Egy 10 tárrekesz egy megvalósítása látható részletesen a 4A ábrán, amelyet a 10 tárrekeszben lévő különböző 151 tárrekesz mezők funkcióinak magyarázatánnál fel fogunk használni, ahogyan ezek a találmány szerinti processzorban fel vannak használva, A 4A ábrán látható 10 tárrekeszben lévő 151 tárrekesz mezők elrendezése nem ugyanaz, mint a 3. ábrán látható 151 tárrekesz mezőké, mivel a 3. ábra a hardware, míg a 4A ábra a 10 tárrekesz fel használását mutatja. Amint azt a 4A ábrán mutatjuk, a 10 tárrekesz két különböző fajta zárás elemet tárolhat, és olyan tároló mezőket foglal magában, amelyek kimondottan a tárolandó elemekhez lettek kialakítva. A 4A ábrán ezen mezőknek ugyanazokat a neveket adtuk, mint a bennük tárolandó zárás elemeknek.
• · · ·· ···· » ♦ « · * ··· ··4 ·· · • · · · · ·
Az első típusú zárás elemek
Az első típusú zárás elemek a 10 tárrekesz különböző állapotait írhatják le. Az egyik ilyen típusú elem a LUSTA, amely azt jelzi, hogy a 10 tárrekesz vagy nem működő állapotú, amely esetben a 10 tárrekesz tartalmának további részét passzív információnak tekintjük; vagy végrehajtás állapotú, vagyis amely egy végrehajtási állapotban van; vagy pedig várakozási állapotú, amikor is a 10 tárrekesz tartalmának kiértékelése el lett halasztva, és az valamely eredményre vár, mielőtt a ki értékelésre sor kerülhet. A LUSTA mező két bitből áll. Egy további első títpusú elem a HOL, amely azt jelzi, hogy a zárás egy fa gyökere vagy pedig egy csomópontja. Ez egy bitből áll. Egy további első típusú elem a TÍPUS, amely egy típus kódot tartalmaz párhuzamos. sorozat, alkalmazandó, 1 ista, egyesítés, stb. A jelzett megvalósításban ez az elem három bites. Ezeket az első típusú elemeket úgy alakítottuk ki, hogy a 3 központi regisztereknek az 1. ábrán látható LUSTA, HOL és TÍPUS síkokban elrendezett részeiben tároljuk, amikor egy 10 tárrekesz zárást egy redukció céljából átviszünk a 2 központi tárrekeszbe. Emiatt ezeket ugyanazokkal a jelölésekkel láttuk el. Ugyanakkor azonban a 2 központi tárrekesz el van látva egy további síkkal is, amelyet ZÁRÁS/EGYSZERÜ-nek nevezünk, jelezvén, hogy a 3 központi regiszterekben lévő információ egy zárás vagy pedig egy egyszrü érték. A ZÁRÁS/ EGYSZERŰ, LUSTA, HOL és TÍPUS síkokat a továbbiakban attribútum síkoknak nevezzük. Az alkalmazástól függően további tárrekesz mezőket és központi tárrekesz síkokat vezethetünk be.
• · • · · · · •♦· ·«· ·· · • · · · «
A második típusú zárás elemek
A második típusú elemek azonoítót, környezetet vagy értéket írnak le. Ezek az AZONOSÍTÓ, a KÖRNYEZET és az ERTÉK/LEIRÓ. Ezeket a második típusú elemeket úgy alakítottuk ki, hogy az 1. ábrán látható FEJ és NUMERIKUS síkokban elhelyezkedő 3 központi regiszterek részeiben tároljuk őket.
A vázolt megvalósításnál ezen elemek mindegyike tartalmaz egy 38 bit hosszúságú elemi szót. Az elemi szó maga egy numerikus szóra és egy jelző szóra van felosztva. A numerikus szó előnyösen 32 bit hosszúságú, és a 2 központi tárrekesz NUMERIKUS síkjában van tárolva, míg a jelző szó 6 bit hoszszúságú és a 2 központi tárrekeszbe történő átvitel után a FEJ síkban van tárolva.
A jelző szó
Az összes második típusú zárás elem rendelkezik egy jelző szóval, amely a numreikus szó tulajdonságait jelzi. A jelzők kétfélék, közvetett indirekt jelzők, vagyis az azonosítókhoz és a környezethez használt jelzők, valamint közvetlen jelzők, azaz az egyszerű értékekhez és hasonló objektumokhoz használt jelzők. A közvetett jelzőkre példák a cls, canon és open. Ha a jelző szó cls, akkor az arra utal, hogy a numerikus szó egy zárást képvisel, amely még redukálható lehet. Ha a jelző szó canon, akkor ez azt jelenti, hogy a numerikus szó egy tovább már nem redukálható zárást képvisel. Amennyiben a jelző open, akkor ez azt jelzi, hogy az azonosító mező egy zárást képvisel, amely egy beszúrt lista. A közvetlen jelzőre példák a diser. cont, unused és nothing. Ha a jelző szó diser, akkor az azt jelenti, hogy a numerikus • 9 9 9 9 ··· 999 99 9
9 9 9 9 9 szó egész számot tartalmaz. Ha a jelző szó cont. akkor az azt jelenti, hogy a numerikus szó lebegő pontos számot tartalmaz. Ha a jelző szó unused. akkor az azt jelenti, hogy a mezőben lévő nnumerikus szónak nincs jelentése. Ha a jelző sző nothing. akkor az azt jelenti, hogy a mezőben lévő nnumerikus szónak nem képvisel semmit, ez egy ellentmondás, például egy olyan zárás egyesítése, amely egy nothing-ként megjelölt mezőt foglal magában, mindig nothing-et ad eredményül. Az alkalmazástól függően további közvetlen vagy közvetett jelző szókat használhatunk.
Azonosítók
Amennyiben egy 10 tárrekeszben egy azonosító mező egy azonosító elemet foglal magában, akkor az abban a 10 tárrekeszben lévő rekesz-zárást át lehet vinni a 2 központi tárrekeszbe. Az éRTéK/CéL tárrekesz mezők mindegyike tartalmazhat egy másik rekesz-zárást kijelölő azonosítót, ilymódon teremtve kapcsolatot ehhez a másik rekesz záráshoz. A tárolt zárások összegét egy olyan irányított gráfnak vagy rekesz zárásnak tekinthetjük, amelyeket azonosítót tartanak össze.
A környezet
A környezet mezők tartalmazhatnak egy azonosítót, amely egy zárásokból álló fában kijelölik a gyökér zárást, amely fa megadja a zárás környezetét. Ezen a módon a teljes struktúra elérhető a fa egyetlen zárásából, a gyökéren keresztül, mindössze egyetlen művelettel. Ugyanakkor a környezet mezőnek egyéb fel használása is lehetséges. A környezet felhasználható a struktúra létrehozójának nyomonkövetésére, azáltal, hogy a létrehozó azonosítóját letároljuk az összes
létrehozott tárrekesz zárás környezet mezőjében. Egy másik példa az, amikor egy al-fában lévő összes olyan tárrekesz zárás esetében, amelyeknél az ugyanazon névvel rendelkező szimbólumok ugyanazt a dolgot jelentik, a zárás rekordokat össze lehet fogni egy csoportba azáltal, hogy ugyanazt a környezetet adjuk nekik.
így, ha egy zárás környezete adott, akkor a gyökér zárás ezen környezeten belül megtalálható. Egy környezet gyökér zárását elláthatjuk egy adott jellel például 1el, a 10 tárrekeszében lévő HOL mezőben. Ugyanakkor a környezet egy csomóponti zárását egy másik jellel például “0val láthatjuk el a HOL mezőben.
A típus
A 10 tárrekesz TÍPUS mezőjének tartalma a tárrekesz zárás típusát adja meg. Ez a TÍPUS komponens például a következő értékekkel rendelkezhet: pár azaz párhuzamos értékekek és/vagy azonosítók; 1ist azaz értékek és/vagy azonosítók sorozata; uni f y azaz értékeknek és/vagy azonosítóknak a tartalma, amelyeket meg kell vizsgálni, hogy ugyanazt az értéket képviselik-e vagy sem, stb.
A 2 központi tárrekesz
A 2 központi tárrekesz egészében véve egy, a struktúra aritmetika céljára szolgáló aritmetikai eszköz, amely több 3 központi regisztert tartalmaz (lásd az 1. ábrát). A 3 központi regiszterek egy listákból álló fát tárolnak. Minden lista szavakból áll.
A 3 központi regiszterek az 1 objektum tárból származtatott definíciót tartalmaznak. A 3 központi regiszterek
*·· össze vannak kapcsolva az 1 objektum tárral a 8 buszon keresztül > amely magában foglalja a típus, környezet, azonsító, vO, v1, v2, v3 buszokat, és amely elegendően széles ahhoz, hogy átvigye egy 1 objektum tár tartalmát. Ugyanakkor azonban a 2 központi tárrekesz tartalmazhat és magában foglalhat egy maximum három szintig terjedő objektum struktúrát. Négy eset van: 0, 1, 2 vagy 3 szintű objektum struktúrát lehet tárolni a 2 központi tárrekeszben.
Regiszterek a 2 központi tárrekeszben
A regiszterek, amelyek a 2 központi tárrekesz egy megvalósításánál használhatók, a 4B-4D ábrákon láthatók, míg azon regiszterek amelyek a 2 központi tárrekesz egy megvalósításánál használhatók, a 4E ábrán láthatók.
A 4B ábra az akarja mutatni, hogy egy 3 központi regiszter rekeszekből épül fel, ahol minden rekesz egy bitnyi információt tud tárolni. A mód, ahogyan a 3 központi regiszter fel van rajzolva, azt szeretné jelezni, hogy egy 3 központi regiszter kiterjed a 2 központi tárrekeszben lévő különböző síkokra, ahol is a 3 központi regiszter minden egyes rekesze egy adott síkban helyezkedik el.
A 4C ábra egy 3 központi regisztert mutat, amely a 2 központi tárrekesz valamennyi síkjára, vagyis a teljes 3 központi regiszterre, kiterjed. Egy ilyen regiszter egy azonosítót vagy egy értéket FEJ síkokban elhelyezkedő rekeszekben, egy, a fentiekben leírt állapotot is a LUSTA és ZÁRÁS/EGYSZERÜ síkokban el helyezkedő rekeszekben.
vagyis típusú 3 tárolhat
Emel 1ett központi a NUM és tárol hat
BOOL, TÍPUS, HOL,
A 4D ábra egy olyan 3 központi regisztert mutat, amely a 2 központi tárrekesznek csak a NUM és FEJ síkjaira terjed ki, azaz ez egy korlátozott regiszter.
A 4E ábra a 3 központi regiszterek egy lehetséges elrendezését mutatja a központi rekeszben. A 2 központi tárrekesz bázis regiszterekkel rendelkezik, amelyek előnyösen négyzet alakban vannak mátrixnak nevezzük. A mentén van egy fősoruk, elrendezve, és ezt bázis regiszter bázis regisztereknek egyik oldaluk ezeket fő regisztereknek nevezzük. A bázis regiszterek oszlopait, amelyek mindegyike egy főregisztert tartalmaz az alapjánál, mellék regisztereknek ne vezzük. A 2 központi tárrekeszt el lehet még látni egy azo nosító regiszterrel és egy környezet regiszterrel is. A mellék regiszterek sorát a bázis regiszter mátrix oldalánál helyeztük el.
A 2 központi tárrekesz egy megvalósításánál az öszszes bázis regiszter, kivéve a főregisztereket, a 4D ábrán látható típusú - azaz korlátozott - regiszter lehet, a 4E ábrán látható többi regiszterek pedig a 4C ábra szerintiek azaz teljes regiszterek lehetnek.
A központi rekesz hardware struktúrájának részletesebb leírása előtt az 5A-5F ábrákra történő hivatkozás mellett egy rövid áttekintést adunk az adatok külső tárolási formáiról, majd a 6A-6H, 7A-7G és 8A-8G ábrákra történő hivatkozás mellett néhány példát mutatunk be a működésre vonatkozóan .
Egyszerű érték
Amint ez az 5A ábrán látható, a fő regiszterek egyik regiszterében a 25 egyszerű érték - mint egy redukció ered36 ménye - található.
Egyszintű struktúra
A cél az, ami a 2 központi tárrekeszbe be van töltve egyszerűsítés (redukció) céljából. Amint ez az 5B ábrában látható, egy mindössze egy szintet magában foglaló cél, amely tipikusan egy további tárrekesz zárásokra már nem bontható zárás, van tárolva a fő regiszterekben. A példa egy egyszerű numerikus művelet, konkrétan az 1, 2 és 3 értékek öszszeadását mutatja. A numerikus műveletet + az első főregiszterben, míg a feldolgozandó elemeket a további főregiszterekben tároljuk.
Kétszintű struktúra
Amint az az 5C ábrán látható, egy kétszintű struktúrát magában foglaló fa gyöklistája, amely egy apa, tárolható vízszintesen a főregiszterekben, míg a listák, amelyek fiúk, függőlegesen a főregiszterekben. Ebben a példában a lista ábrázolású struktúra ((1 2) (3 4)) a bázis regiszter mátrixban van tárolva. A gyöklista, azaz az 1 és 3, az al-1isták első elemei, a főregiszterekben vannak tárolva, míg a fiú listák azaz (1 2) és (3 4) a kiegészítő regiszterekben vannak tárolva függőlegesen. A továbbiakban, a 6. ábrával kapcsolatban további ilyen jellegű példákat is be fogunk mutatni .
Háromszintű struktúra
Az 5E ábrán egy háromszintű struktúrát magában foglaló cél-fa gyöke az egyik kiegészítő regiszterben, míg egyetlen fiú ága a fő regiszterekben van tárolva. Az 5D ábrán a cél-fa gyöke, amely a Transzpozíció (Tr) utasítás, a ki • · · · · * · * ··· ··· · · · egészítő regiszterek egyikében van tárolva, míg a fiú, amely az (azonosítói, azonosító2, azonosító?) lista, a főregiszterekben van tárolva. Ebben a listában minden egyes elem maga egy azonosító, amely egy fiút jelöl ki. Az 5E ábrában ezek a fiúk függőlegesen vannak betöltve a bázis regiszterekbe, ahol is az azonosítói az általa kijelölt listával, azaz (1 2 3)-mal, az azonosít62 az általa kijelölt listával, azaz (11 12 13)-mal és ahol azonosító? az általa kijelölt listával, azaz (21 22 23)-mal van behelyettesítve.
Csővezeték módszer
Az 5F ábrán egy csővezeték módon tárolt fa van betöltve úgy, hogy a cél-lista a fő regiszterekben, a cél apja pedig a kiegészítő regiszterekben helyezkedik el, és rendelkezik utasításokkal és feldolgozandó elemekkel, amelyek mindkét típusú regiszterekben vannak tárolva. A numerikus műveletek egyszerűsítése során előnyösen a csővezeték módú működést használjuk. Ennek egyik előnye az, hogy a közbenső eredményeket ideiglenesen a 2 központi tárrekeszben tárolhatjuk, az 1 objektum tár helyett.
1. PÉLDA
A 6A-6H ábrában látható első példa párhuzamos értékek egyesítését mutatja, amely az alábbi egyszerűsíthető zárásként van megadva:
egyesítés (par(1 par(1) 3) par(1 par(1) 2))
Ezt az egyszerűsíthető zárást egyesítések párhuzamos struktúrájaként kell átírni.
A 6A ábra az eredeti egyszerűsíthető zárást mutatja.
A 6B ábra azt mutatja, hogy ez az egyszerűsíthető zárás mi9 ként van tárolva az 1 objektum tárban. Azok a 2 központi tárrekeszek, amelyekben az egyszerűsíthető zárás külső részei tárolva vannak, a 6A ábrán ki vannak jelölve. Az elemi zárások és a tárrekesz zárások közötti kapcsolók a 6B ábrán vannak megjelölve. Az azonosítói id1 azonosítóval rendelkező zárás jelzője cls. típus kódja pedig a típus mezőben egyesítés (unify). A tárrekesz zárások azonosítói id2, id3 és id4, típus kódjuk pedig a típus mezőikben párhuzamos (pari. Az id1 azonosítóval rendelkező tárrekesz zárás, mint első két érték/azonositó zárás, magában foglalja az id2 és id4 azonosítókat, amelyek kijelölik a tárrekesz zárásokat. Ezek a tárrekesz zárások canon (tovább nem egyszerűsíthető)ként vannak megjelölve. Az id2 azonosítóval rendelkező tárrekesz zárás első és harmadik érték/azonositó zárás elemei diszkrét értékekkel vannak ellátva, ezek jelzője diszkrét (discr): második érték/azonositó zárás elem pedig az id3 azonosítójú tárrekesz zárást jelöli ki, és ennek következtében canon (tovább nem egyszerüsíthető)-ként van megjelölve.
Az id3 azonosítóval rendelkező tárrekesz zárás első érték/ azonosító zárás eleme egy egész értékkel rendelkezik, és így jelzője discr diszkrét érték. Az id4 azonosítójú tárrekesz zárás első és harmadik érték/azonositó zárás elemei diszkrét értékekkel vannak ellátva, ezek jelzője discr diszkrét érték, második érték/azonositó zárás eleme pedig az id3 azonosítójú tárrekesz zárást jelöli ki, így ennek jelzője canon (tovább nem egyszerűsíthető).
A 6C ábrából látható módon az id1 azonosítójú tárrekesz zárással rendelkező 10 tárrekesz tartalmát először a 2 • · központi tárrekeszbe töltjük, amikor is azonosítóját iáiként az azonosító regiszterbe helyezzük, ebbe belefoglaljuk a zárás egyesítés (unify) típus kódját is, míg az érték/azonositó elemeket mint a célt, a fő regiszterekbe helyezzük az első műveleti lépésben. Hogy ez miként zajlik le ténylegesen, azt a 13. ábra mutatja, és a továbbiakban részletesen leírjuk.
Amint a 6D ábrán látható, az id2 és id4 azonosítóval rendelkező fiúkat a bázis regiszterekbe töltjük be függőlegesen úgy, hogy az első érték/azonosító elemük tartalmát az azonosítójával megjelölt fő regiszterbe helyezzük, míg a további érték/azonosító elemének tartalmát az említett bázis regiszter feletti függőleges oszlopban tároljuk. Ezen fiúk párhuzamos (pár) típus kódját ugyancsak a fő regiszterbe töltjük be. A típus kódokat a TÍPUS síkban elhelyezkedő regiszter rekeszekbe töltjük be.
Amint ez a 6E ábrán látható, a bázis regiszterek tartalmát 9 fokkal transzponáljuk úgy, hogy a bázis regiszterek első függőleges oszlopában lévő tartalmat a főregiszterekbe helyezzük, és a második függőleges oszlopban lévő tartalmat egy, a bázis regiszterekben lévő, és a főregiszterekkel párhuzamos sorba helyezzük át. Egy transzponálási művelet a 18. ábrán látható, és a továbbiakban részletesen leírjuk.
Ahogyan a 6D ábrán látható, az id2 és id4 azonosítókkal rendelkező fiúk a bázis regiszterekben függőlegesen vannak betöltve úgy, hogy az első érték/azonosító elemük tartalma az azonosítójával megjelölt fő regiszterben van el • · · • · helyezve, és az érték/azonosító elemeik további része a bázis regiszter feletti függőleges oszlopban van elhelyezve. Ezen fiúk mindegyikének párhuzamos (pár) típus kódja szintén be van töltve a fő regiszterbe. A típus kódok a TÍPUS síkban elhelyezkedő regiszter rekeszekben vannak betöltve.
Amint a 6E ábrán látható, a bázis regiszterek tartalma 90 fokkal transzponálva van úgy, hogy a bázis regiszterek első függőleges oszlopában lévő tartalom a fő regiszterekbe van elhelyezve, és a második függőleges oszlop tartalma egy sorba lett áthelyezve a bázis regiszterekben, párhuzamosan a fő regiszterekkel. A 18. ábrán látható egy transzponálási művelet, amelyet a továbbiakban még részletesebben is leírunk. Az azonosító regiszterben és a főregiszterekben lévő párhuzamos (pár) és egyesítés (unify) típus kódok ki lesznek cserélve, amit a 6 központi vezérlő egység automatikusan hajt végre. Most a bázis regiszterek egy apát tartalmaznak, amelynek három fia van az oszlopokban elhelyezve. Az egyes fiúk most vissza lesznek töltve az 1 objektum tárba, a kész í tés (make) utasítás fel használásával. Válaszként az 1 objektum tárból megkapjuk a tárolt fiúk azonosítóit, és a fő regiszterekben tároljuk őket. Figyeljük meg, hogy a 6 központi vezérlő egység érzékeli a tartalmukat különösen a ZÁRÁS/EGYSZERü-tő1 a TIPUS-ig terjedő síkokban lévő regiszterekben, és biztosítja a megfelelő utasításokat, azaz vezérli a kapcsolókat és a kapukat, az ott talált információnak megfelelően. A fiúk az id1 utáni sorrendben kerültek elnevezésre, és a már használt nevek nem kerülnek újra fel használásra. A nevek sorrendjének azonban nincs je41 • · lentősége, és így tetszés szerinti lehet.
Amint a 6F ábrán látható, az első fiú az id2 nevet kapja, a második fiú, amely az id3 nevet lefoglaló elemi zárást tartalmazza, az id4 nevet kapja, a harmadik fiú pedig az id5 nevet kapja. Az elemi zárásokat tartalmazó apa, amely az id2, id4, id5 azonosítókkal rendelkező tárrekesz zárásokhoz van kapcsolva, megtartotta idl azonosítóját, és ezt követően az 1 objektum tárban kerül tárolásra.
A 6G ábra a par(unify(1 1) unify(par(1) par(1)) unify(2 3)) redukálható zárást tároló tárrekeszeket mutatja. Maga a redukálható zárás a 6H ábrán látható. A 6G és 6H ábrák ugyanolyan módon vannak ábrázolva, mint a 6A és 6B ábrák, ezért maguktól értetődőek.
A 6G ábrán az is látható, hogy a unify (egyesités) típus kóddal rendelkező tárrekesz zárások az exec (végrehajtás ) jelölést kapták a LUSTA mezőben, és az id1 azonosítóval rendelkező tárrekesz zárás a wait (várakozás) jelölést kapta, ami azt jelenti, hogy az egyszerüsíthetőec (végrehajt ás) -sál jelölt tárrekesz zárásokat az id1-el jelölt tárrekesz zárás előtt kell végrehajtani, hogy azok tartalmát értékké redukáljuk. A 6H ábrán látható zárás egy későbbi időpontban visszatölthető a 2 központi tárrekeszbe, további feldolgozás céljából. Az id2 azonosítójú tárrekesz zárás például az 1 értéket veszi fel, mivel az 1 érték és az érték/ azonosító elemeiben található 1 értékek ugyanazok, míg az id5 azonosítójú tárrekesz zárás eredménye nothi ng (semmi) lesz, mivel a 2 érték és az érték/azonosító elemeiben lévő 3 érték nem ugyanaz. Minden egyes egyesítés az 5 numerikus • · ·
99 · • · · · aritmetikai logikai egységben kerül végrehajtásra, amely komparátorokban összehasonlítja az értékeket, és a hasonlítás eredményét visszaadja a 6 központi vezérlő egységhez. A 6 központi vezérlő egység ezután logikai kapu mátrixának fel használásával előállítja a megfelelő eredményt a 2 központi tárrekesz első fő regiszterében. Amikor egy redukció egy kanonikus azonosítást vagy egy egyszerű értéket vagy semmit eredményezett, akkor az globálisan tovább lesz adva az 1 objektum tár minden 151 tárrekesz mezőjéhez úgy, hogy a redukált zárás összes közvetett azonosítója helyettesítve lesz a redukció eredményével. Ezt egy unify-id (azonosító egyesítés) művelet hajtja végre, amelyet a továbbiakban - a 16 ábrával kapcsolatban - részletesebben is ismertetünk.
2. PÉLDA
Ez a példa egy hardware utasítás, a üst expansion (lista kifejtés), amely azt jelenti, hogy a tárrekesz zárás egy beszúrt listát tartalmaz. Az ilyen típusú utasítás egy kiegészítő lépés más redukcióknál. A lista kifejtési hardware utasítás a 19. ábrán látható, és a 19. ábrával kapcsolatban részletesebben is kifejtjük.
A gép egy példa utasítást hajt végre, amelynek neve ex.type (példa típus), és amely bármely olyan utasítás lehet, amely értékeket és listákat foglal magában, és az alábbi alakú ex.type(1 1ist(2 3 list(4 5 6))7)
A formátum a 7A ábrán látható, tárrekesz zárásai pedig a 7B ábrán. A 7A és 7B ábrák ugyanolyan módon vannak jelölve, mint a 6A és 6B ábrák, ezért maguktól értetődnek.
Amint a 7C ábrán látható, az id1 azonosítóval rendelkező tárrekesz zárás a 2 központi rekesz fő regisztereibe lesz betöltve, azonosítója és típus kódja pedig az azonosító regiszterbe kerül. Miután a második fő regiszterben lévő tartalom egy open (nyitás) közvetett elemmel van megjelölve, ezért az a tárrekesz zárás, amelyhez hozzá van kapcsolva, fiúként lesz betöltve függőlegesen a bázis regiszterekbe, amint ez a 7D ábrából nyilvánvaló.
A 19. ábrán további részletekkel bemutatott 1ista kifejtés (1ist-expand) hardware utasítás ezután a harmadik fő regiszterben lévő 7 értéket bemozgatja az id4 melletti pozícióba a harmadik bázis oszlopban és a lista második fő regiszter feletti második oszlopban lévő részét átmozgatja a harmadik oszlopba úgy, hogy a legalacsonyabb rendű elemét a 3 értéket a harmadik főregiszterben helyezi el, és a 1ista típus kódot adja neki. Mivel a második fő regiszterben lévő tartalom· egy diszkrét érték, ezért ennek jelzője diser lesz.
Ezután egy új lista kifejtés kerül végrehajtásra, ami a főregiszter feletti harmadik oszlop tartalmát elhelyezi harmadik a negyedik oszlopba, és főregiszter tartalma, lévén érték, diser jelzővel lesz kiderül.
1ista-ként jelöli hogy mint ez el látva,
Ezután a negyedik (készítés) utasítás felhasználásával,
Az id2 azonosítóval kijelölt letárolva, mivel inaktívvá lesz letárolva.
rekeszben lesz az azt meg. A egy diszkrét a 7F ábrából oszlopban évő az 1
1i sta, objektum tárban 2 központi tárvált, ugyanakkor a make • ·
az id2 azonosító sgy másolatát visszaküldi a 2 központi rekeszbe, hogy ott a negyedik fő regiszterben legyen tárolva, amint ez a 7G ábrából kiolvasható.
Ezt követően az ex.type záráson néhány egyéb típusú redukció is végre lesz hajtva, mielőtt az 1 objektum tárba vissza lenne töltve.
3. PÉLDA
Egy numerikus utasítást kell végrehajtani. Egy numerikus utasítás lehet +, -, *, /, mód, stb. Az utasítás után az agumentumok következnek. A jelen példában egy listában szereplő számok közötti összeadást fogunk végrehajtani. A gép egy apply alkalmazás redukciót hajt végre, amelynek a funkciója a következő:
apply(+ list(1 2))
Az alkalmazás a 8A ábrán látható, az id1 azonosítóval rendelkező rekesz zárás a 2 központi tárrekesz fő regisztereibe lesz betöltve, azonosítója és típus kódja pedig az azonosító regiszterbe kerül. A numerikus utasítás (+) utasításként van jelölve. Miután a második fő regiszterben lévő tartalom közvetett elem nyitás-ként (open-ként) van megjelölve, az rekesz zárás, amelyhez hozzá van kapcsolva, a bázis regiszterekbe lesz függőlegesen betöltve, mint fiú, amint ez a 8D ábrából nyilvánvaló.
Ezt követően egy lista kifejtésre kerül sor, amely a második fő regiszterben lévő diszkrét értéket di ser-ként jelöli meg, a típus kód mezőben pedig 1ista-ként jelöli meg a lista kifejtett 2 értékét. Ez azért lesz így végrehajtva, mert a gép ugyanazt a műveletet hajtja végre, amennyiben az id2-vel azonosított lista akár két, három vagy négy elemmel rendelkezik. Miután az új listában csak egy elem van, ezért a gép a 1 ista jelzőt egy olyan jelzéssel helyettesíti, amely szerint a főregiszter egy discr értéket tartalmaz, amint ez a 8F ábrából nyilvánvaló.
Ezután a főregiszter egy műveleti jelet (+) és két diszkrét értéket tartalmaz, aminek eredményeként a vezérlő egység közvetlenül, vagy pedig például az 1 objektum tár egy nem írható - utasításokat tároló - részében tárolt utasításra vonatkozó információn keresztül, úgy vezérli az 5 numerikus aritmetikai logikai egységet, hogy az végrehajtsa az utasítást (jelen esetben összeadást), és hogy a numerikus művelet eredményét, mint egy kanonikus értéket, átvigye az első fő regiszterbe, amint ez a 8G ábrán látható. Meg kell jegyezni, hogy az alkai mazás (appl y) jelölés a típus kód mezőben annak jelzése, hogy egy funkció alkalmazást kell végrehajtani. Az eredmény értéket, jelen esetben a 3 egyszerű értéket, ezután a gép globálisan letárolja, hogy az id1
m.inden előfordulását kicserélje ezzel az értékkel.
Amint az előzőekben láttuk, egy regiszter veremben lévő rögzített számú regiszter egy listát tárol. A nem használt regiszterek nem használt-ként lesznek jelölve. A listákból álló fát egy számítás vezérlésére és végrehajtására használjuk, és ez a 6 központi vezérlő egység irányítása alatt történik, és amennyiben egy numerikus műveletet kell végrehajtani, akkor az 5 numerikus aritmetikai logikai egységgel együttműködve történik. Egy számítás végrehajtása úgy történik, hogy a listából álló fában lévő tartalmat átírjuk.
Egy 2 központi tárrekesz zárásban maximum négy elemből álló listát lehet tárolni. Noha tetszőlegesen hosszú listák is kezelhetők, de az ilyen listákat fel kell bontani több olyan listára, amelyek hossza megegyezik vagy rövidebb az egy 2 központi tárrekeszben kezelhető maximális hosszúsággal. A 2 központi tárrekesz egy időben csak egy meghatározott mélységű fát tud kezelni. Ennél nagyobb mélységű fák is kezelhetők, de egy időben csak egy korlátozott mélységű fa tárolható a 2 központi tárrekeszben, vagyis a fának egy időben csak egy része kezelhető.
Csatoló felület: 1 objektum tár <—> 2 központi tárrekesz
Az 1 objektum tár és a 2 központi tárrekesz egy 7 transzformáló interfészen keresztül össze vannak kötve, amely létrehoz egy jel-adaptációt és egy zárás-szélességű 8 buszból áll, vagyis egy olyan busz elrendezésből, amely egy tárrekesz zárás teljes tartalmát át tudja vinni a 2 központi tárrekesz és az 1 objektum tár között. A 8 busz magában foglal egy OBJv részleges busz elrendezést, amely viszont tartalmazza a 8 busz azonosítóját (id), környezetét (env), a vO, v1, v2, v3 vonalakat, amelyek a 3 központi regiszter NUM regiszter síkjához vannak kötve; a JELZŐ (TAG) részleges busz elrendezésből, amely a 3 központi regiszterekben lévő FEJ (HEAD) regiszter síkokhoz vannak kapcsolva, és az ATTRIBÚTUM busz elrendezésből, amely magában foglalja a LUSTA, HOL és TÍPUS síkoktól a 2 központi tárrekeszekben lévő megfelelő zárás mezőkhöz vezető buszokat. A 7 transzforrnáló interfész felerősíti és átalakítja a 3 központi regiszterekből jövő jeleket a tárrekesz zárás szélességű 8 buszon keresztül olyan jelekké, amelyek megfelelőek az 1 objektum tárban lévő memória bit-rekeszek számá47
ra. Emellett felerősíti és átalakítja az 1 objektum tárból származó jeleket amikor a műveleteket kiolvassa, hogy azokat a 2 központi tárrekeszekhez adaptálja. Noha a 7 transzformáló interfész az 1 objektum tárban lévőnek van mutatva, az elhelyezhető ehelyett a 2 központi rekeszben is. A 20. ábrán látható egy bitrekeszhez tartozó csatoló felület, amelynek működését az alábbiakban írjuk le.
A 10 TÁRREKESZ MŰKÖDÉSE
Visszatérve a 3. ábrához, a 10 tárrekeszeket a 6 központi vezérlő egységtől származó összetett digitális információ vezérli, amely egy a 2 központi tárrekeszhez kapcsolt (az ábrán nem látható) vezérlő busz elrendezésen keresztül az összes 10 tárrekeszhez eljut. Az egyes zárás elemekben lévő 15 bit-rekeszek a 16 elem-fejükből vezérelhetők, olyan módon, hogy a 15 bit-rekeszek az alábbi műveletek valamelyikét tudják egy időben végrehajtani:
nyugvás (rest) - amelyben minden egyes 15 bit-rekesz megtartja a benne tárolt bit értékeket, olvasás (read) - amelyben a 15 bit-rekeszben tárolt bit értékeket kiolvassa, írás (write) - amelyben bit értékek kerülnek beírásra a 15 bit rekeszekbe, összehasonlítás (compare) - amelyben a 15 bit-rekeszekben tárolt bit értékekbből álló adat szó összehasonlításra kerül egy másik adatszóval.
A műveletek eredményeként egy jel állítható be azon
logikai állapotoktól függően, amelyek az a és b második buszokon lévő adatok, a korábbi jel-érték, összehasonlítási művelet esetén a hasonlítás eredménye és a 6 központi vezérlő egységtől a memóriához vezető jel függvényei.
Mivel asszociatív címzést használunk, azaz az adatokat a tárolt tartalom alapján érjük el és nem egy cím alapján, ezért semmiféle fizikai függés nincs. A memória asszociatív. Keresési kulcsként használhatjuk a tárrekesz azonosítót, a környezetet, a típust, az információ értéket vagy az előbbiek egy kombinációját.
Egy 10 tárrekesz elemeiben lévő jelző bit vagy bitek KIVÁLASZTOTT értéke(i) azt jelzik, hogy az adott elem ki lett választva célként az elérési mechanizmus részére. Bizonyos keresési műveletek, amelyeket az alábbiakban kifejtünk, beállítják a jelzőket.
Ez a típusú elérés egy vagy több 10 tárrekeszt foglalhat magában. Amint az előbbiekben említettük, ezen több rekeszes műveletek egyike egy fajta tárolási művelet, amely egy azonosítót tárolhat le számos kiválasztott elemben.
A 16 elem-fejhez csatlakozó acc huzal összekapcsolja az összes 15 bit-rekeszt egy elemen belül. Valamennyi 15 bit-rekesz az acc huzalon keresztüli jelekkel van vezérelve. A 15 bit-rekeszekhez kötött további, d és d* huzalok hozzá vannak kapcsolva az 1 objektum tárban lévő 10 további tárrekeszekben lévő megfelelő bit rekeszekhez, amint ezt az alábbiakban bővebben kifejtjük.
A 11 prioritás dekódoló
A 11 prioritás dekódoló minden egyes 10 tárrekeszre vonatkozóan magában foglal egy szekciót, ahol is minden egyes szekciónak van egy első kapcsolata a KÉRÉS-hez, amelynél az igaz bit érték az IGÉNYELT-et jelenti, a hamis bit érték pedig a NEM IGÉNYELT-et jelzi; egy második kapcsolata az igény MEGADÁS-ára vonatkozóan, ahol is az “igaz bit érték a KIVÁLASZTOTT, a hamis bit érték pedig a NEM KIVÁLASZTOTT jelzését szolgálja.
A 11 prioritás dekódoló maximálisan egy MEGADÁS-t állít be KIVÁLASZTOTT-ra. Ez oly módon választható meg, hogy a struktúrában megvizsgált első olyan szekció, amely IGÉNYELT értékű KÉRÉS-sel rendelkezik, KIVÁLASZTOTT lesz. A 11 prioritás dekódoló egy megvalósítását az alábbiakban a 21. ábrával kapcsolatban írjuk le.
Számos esetben a memória buszon megjelenő protokoll az öszszes 10 tárrekesszel kommunikál. Egyes esetekben azonban több 10 tárrekeszt vagy a 10 tárrekeszben lévő több zárás elemet kell igényelni és kiolvasni. Ezt a 11 prioritás dekódoló végzi. Minden egyes rekeszből érkezik egy IGÉNY jel, és a 11 prioritás dekódoló visszaad egy MEGADÁS jelet.
A memóriát olvasási, írási és keresési műveletekkel is kombinálhatjuk. Bizonyos aritmetika végezhető az a és b belső buszok többikén és a globális buszokon.
Egy keresés összehasonlítás útján történik, amelynek eredménye EGYEZŐ vagy KÜLÖNBÖZŐ lehet. A keresés az alábbi módok valamelyike szerint hajtható végre:
(1) A keresés egyenként történik mindegyik zárás elemre
vonatkozóan, és ez független a többi zárás elemekben lévő összetett információtól.
(2) A keresés végrehajtató egy 10 tárrekeszben lévő összes zárás elemre kiterjedő összehasonlítása révén. Az eredménynek az összes elemnél EGYEZő-nek kell lennie.
(3) A keresés végrehajtató egy 10 tárrekeszben lévő összes zárás elemre kiterjedő összehasonlítása révén. Az eredménynek legalább a zárás elemnél EGYEZő-nek kell lennie.
Egy összehasonlítást az alábbi módok egyike szerint lehet végrehajtani:
(1) Két bit mintát hasonlítunk össze.
Egy összehasonlítás eredménye csak akkor lesz EGYEZŐ, ha az összes egymásnak megfelelő bit értéke azonos.
(2)
A két összehasonlítandó bit-minta, vagy csak az egyikük úgy van kódolva, hogy a bitek egyike azt mondja, hogy a bit-minta információ megegyezik egy vagy TETSZŐLEGES vagy SPECIFIKUS információ értékkel. Amennyiben azután egy összehasonlítás során az információ értékek egyike megegyezik a TETSZŐLEGES-sel, akkor az eredmény EGYEZŐ lesz. Ellenkező esetben az eredmény csak akkor lesz EGYEZŐ, ha a két specifikus vagy információ érték azoA busz funkció hajtja végre az 1 objektum tár szó olvasását vagy írását. A busz-t egy el érési funkció vezérli. Az elérési funkció a jelzőtől és/vagy az a és b második buszok értékétől függ.
Az a bit-busznál biztosított HUZALOZOTT VAGY funkció • 4 ©gy logikai (bool) értékekből álló listával rendelkezik. A funkció egy logikai VAGY műveletet hajt végre egy 10 tárrekeszben lévő összes zárás elem között. Fizikailag egy olyan huzalnak felel meg, amelyet egy a 16 elem-fejekben lévő, tranzisztor-él rendezés állít be.
A b bit-busznál biztosított HUZALOZOTT ÉS funkció egy logikai (bool) értékekből álló listával rendelkezik. A funkció egy logikai VAGY műveletet hajt végre egy 10 tárrekeszben lévő összes zárás elem között. Fizikailag egy olyan huzalnak felel meg, amelyet egy a 16 elem-fejekben lévő, tranzisztor-elrendezés állít be.
A 11 prioritás dekódoló prioritási funkciójának van egy logikai változókból álló listája, amely az argumentumot képviseli, és egy ezzel megegyező méretű, logikai elemekből álló listája, amely az eredményt tartalmazza. Az argumentumnak van egy első eleme, amelynek a prioritása a legmagasabb. Ezt követik alacsonyabb prioritású bitek. Az argumentum első igaz bitje egy vele megegyező pozíciójú igaz bitet eredményez az eredményben. Az összes többi bit hamis.
A 10 tárrekeszekben lévő elemeket általában először meghatározott értékekre való keresésre használjuk az elemekben, majd a megtalált elemeken végrehajtott olyan műveletekre, mint az olvasás és írás.
A 2 KÖZPONTI TÁRREKESZ HARDWARE STRUKTÚRÁJA
A NUMERIKUS és FEJ síkoknak megvannak a saját központi regiszter rekeszeik, amelyek hozzá vannak kötve az OBJv busz, az azonosító busz és a környezet busz huzaljaihoz, a 2 központi tárrekesz síkok és a 7 transzformáló in52 ·· ···· terfész között. Az OBJv busz magában foglalja a VO, V1 , V2 és V3 busz-részeket.
Ily módon a 2 központi tárrekeszek halmaza fel van szeletelve a kerülete mentén a síkokba menő regiszterekre és az ugyanazon NUM vagy FEJ síkokhoz tartozó regiszter rekeszekre, de különböző 3 központi regiszterekre, amelyek egymással a 9. ábrán látható módon vannak összekapcsolva.
A 9. ábrán látható szerkezetben, legalább a NUM és FEJ síkokban egy regiszter rekeszekből álló négyzet van elhelyezve egy NxN regiszterből - az SO,0-tól az SN-1,N-1-ig terjedő bázis regiszterekből - álló mátrixba.
A bázis regisztereket a legtöbb alkalmazásnál zárás elemek ideiglenes tárolására használjuk. A regiszterek elnevezését szigorúan felosztottuk olyan értelemben, hogy egy fajta elnevezést, mint bázis, fő és segéd regiszterek, használunk akkor, ha a leírás a regiszter tényleges pozíciójára irányul, és egy másik fajta elnevezést, mint fiú, cél és apa regiszter, használunk akkor, ha a leírás a regiszter funkciójára i rányul.
A látható megvalósításnál N=4, és ezt tekintjük előnyös megvalósításnak, de más mátrix méreteket is lehet választani (ezeket itt nem szemléltettük). A bázis regiszter rekeszek legalsó sora, S0,0, S1,0, S2,0 és S3,0, amint ezt a 9. ábrán láthatjuk, rá vannak kötve a hO busz vonalra, és ezek képezik a fő regiszter rekeszeket. Az SO,0, S1,0, S2.0 és S3,0 fő regiszter rekeszeket a leggyakrabban mint cél gyökér regisztereket használjuk, és ezek az 5 numerikus aritmetikai logikai egységhez vannak kötve az NU buszon ke53
resztül, amely az NUOtól NU3-ig terjedő vezetőket foglalja magában.
Az id (azonosító) vonalhoz egy azonosító regiszter rekesz, a környezet (env) vonalhoz pedig egy ENV (környezet) regiszter rekesz van hozzákapcsolva.
A hi busz vonal az SWvi kapcsolón keresztül összekapcsolható a vi buszvonallal, ahol i egy 0 és 3 közötti szám lehet. A busz magában foglalja a hO, h1, h2, h3 busz vonalakat, és OBJh-nak, vagyis vízszintes óbb busznak nevezzük. Az OBJh-t, egyéb dolgok mellett, az adatok függőleges betöltésére, vagyis regiszterek egy oszlopába történő betöltésére, használjuk a 2 központi tárrekeszben, amelynél az adatokat az 1 objektum tárból kapjuk az OBJv buszon keresztül . Ezt részletesebben a 15. ábrával kapcsolatban írjuk le.
Az id, env, vO, v1,
SWe n v , h 0 , SWv 0 , SWv 1 , h 0 , segítségével rákapcsol hatók v2, v3 busz vonalak az SWid.ho, SWv2,ho és SWv3,ho kapcsolók a hO busz vonalra. A rés busz, amely a cid, cf, eh és cv busz vonalakból áll, a 6 központi vezérlő egységhez van kötve, és arra használhatjuk fel, hogy a regisztertert egy konstanssal, például zéróval töltsük fel. A cid busz vonal az azonosító regiszter rekeszhez van kötve, a cf busz vonal az FO, F1, F2 és F3 regiszter rekeszekhez van kötve, és a eh busz vonal az SWch.ho kapcsoló révén hozzáköthető a hO busz vonalhoz, a cv busz vonal pedig az SWvi.cv kapcsoló segítségével hozzáköthető a vi busz vonalhoz, ahol i egy 0 és 3 közé eső szám. A rés busz, a hozzá tartozó kapcsolókkal együtt bizonyos alkalmazásoknál elhagyható (az ábbrán nem látható).
···
• ·
Kiegészítő regiszterek
Az adat fának van egy legfelső szintje, amit apának nevezünk. Az apát néha az FO, F1, F2, F3 kiegészítő regiszter rekeszekben tároljuk, amelyek a 9. ábra baloldalán helyezkednek el. Az ábrán látható megvalósításnál minden kiegészítő regiszter egy központi szót tud tárolni. Mindegyik kiegészítő regiszter rekesz hozzá van kötve az id busz vonalhoz, és a hO, h1, h2, h3 vonalak valamelyikéhez. A kiegészítő regiszter rekeszeket a 2 központi tárrekesz által biztosított műveletek kisebb részénél használjuk. Az is lehetséges, hogy egy 2 központi tárrekesz egynél több kiegészítő regiszter oszloppal rendelkezzen (a rajzon nem látható).
Amint ez a fentiekből nyilvánvaló, minden egyes regiszter el van látva regiszter rekeszekkel több 2 központi tárrekesz síkban, amely pozíciója a síkokban azonos. Emiatt a teljes regisztereket a 9. ábrán használt hivatkozásokkal nevezzük el, annak ellenére, hogy a 9. ábrán csak egy rekesz látható, azaz az egyes regiszterekből egy bit. Amint ez a 9. ábrából látszik, a regiszterek sorokba és oszlopokba vannak elrendezve. Az FO, F1, F2, F3 kiegészítő regiszter terület egy oszlop, és az N darab S0,0-S0,3, S1,O-S1,3, S2,0-S2,3-ig és S3,O-tól S3,3-ig terjedő bázis regiszter területek mindegyike egy oszlop és mindegyik egy fiú tárolására alkalmas.
Kapcsolatok a regiszter rekeszek között
Minden egyes síkban kapcsolat van biztosítva a szomszédos bázis regiszter rekeszek között, úgy vízszintesen mint függőlegesen. Az 1 objektum tár felé fordított vz sorban lévő legkülső bázis regiszter rekeszek mindegyikéhez egy fixen programozott értékkel rendelkező csatlakozás van biz tosítva, amely a rajzon látható megvalósítás esetében a hamis” érték. Ez a regiszter rekesz N (North=Északi) csatlakozójához van kapcsolva (lásd a 10. ábrát), és akkor használjuk, amikor Észak-Déli irányban léptetési műveletet (shiftelést) hajtunk végre. A bázis regiszter rekeszek között az átló irányú kapcsolat beállítható úgy, hogy a transzponálható pozíciók összekapcsolhatók. Ez azt jelenti, hogy az Si,j rekesz, ahol ± nem egyenlő j.-vel , összekapcsolható az Sj, i rekesszel. Minden egyes bázis regiszter rekesz hozzá van kötve a hozzá legközelebbi, alatta fekvő jobb oldali bázis regiszter rekeszhez, ha egy ilyen pozícióban van bázis regiszter rekesz. Minden egyes kiegészítő, azonosító, környezeti és bázis regiszter rekesz össze van kötve a BOOL (logikai) síkokkal, az ACCfx, ACCí <1 , ACC*nv és ACCsx.y kimenetek révén, ahol x és y a 0 és 3 közötti számokat jelentik.
Az alábbiakban egy általános (generikus) regiszter rekesz leírása található (10. ábra). Az általános regiszter rekeszből vannak leszármaztatva a specifikus regiszterek, azaz a bázis, a kiegészítő, az azonosító és a környezeti regiszter rekeszek megvalósításai (ezek az ábrán nem láthatók). A különböző regiszter rekeszek specifikus szerkezetének további részleteit lásd a függőben lévő .............. US sz. szabadalmi bejelentésünkben.
Az általános (generikus) regiszterek
A 10. ábrára hivatkozva, egy regiszter rekesz előnyös megvalósítás magában foglalja az aR és bR két belső buszt és egy központi belső rR regisztert. Az aR és bR buszok a regiszter rekeszen kívül össze vannak kötve több • ·4 csatlakozással. A 10. ábrán látható megvalósítás egy olyan általános regiszter rekeszt mutat, amely minden lehetséges kapcsolattal rendelkezik a külvilág felé. Egy specifikus regiszter rekesz tipikusan nincs ellátva valamennyi, a 10. ábrán látható csatlakozással; a regiszter rekesz elhelyezésétől függően egy vagy több csatlakozás hiányzik. A 9. ábrából az összekapcsolt csatlakozók közötti összes huzal nyilvánvaló. A 9. ábrából az is nyilvánvaló, hogy nem minden regiszter rekesz rendelkezik a 10. ábrán látható összes külső csatlakozással. Emiatt az összes regiszter rekesz és azok kapcsolatainak részletes leírását mellőztük.
Az aR busz
Az aR busz a függőleges vx busz vonalra van kötve az SWvi kapcsolón és egy V csatlakozó kivezetésen keresztül, ahol x egy 0 és 3 közötti szám. Ezen túlmenően, hozzá van kötve a hy vz busz vonalhoz is az SWhi kapcsolón és egy H csatlakozó kivezetésen keresztül, ahol y egy 0 és 3 közötti szám; a baloldali rekeszhez egy W (West=Nyugati) kapcsoló kivezetésen keresztül, amely a szomszédos regiszter rekeszben lévő SWE (East=Keléti) kapcsolóhoz van kötve, és amenynyiben a regiszter rekesz egy fő regiszter rekesz, akkor közvetlenül az lp numerikus aritmetikai egységhez is, az Nu csatlakozó kivezetésen keresztül. Az aR busz ugyancsak össze van kötve az alatta fekvő jobboldali regiszter rekesszel egy Da csatlakozón keresztül az SWob kapcsolóhoz, amely a nevezett regiszter rekeszben van, és ezenkívül az alatta fekvő regiszter rekesszel is egy S (South-Dél) kapcsoló kivezetésen keresztül, amely az említett regiszter rekeszben lévő SWn (North-Északi) kapcsolóhoz csatlatozik. A regiszter
rekesz a C csatlakozón és az SWC kapcsolón keresztül állítható be vagy vissza, ahol az SWc kapcsoló az aR buszhoz van kötve. Az aR busz ezen kívül, az SW>1 kapcsolón keresztül, össze van még kötve az rR központi belső regiszter egyik bemenetével, és az SW*o kapcsolón keresztül ugyanazon regiszter egyik kimenetével.
A bR busz
A bR busz az SWe kapcsolón keresztül és egy E csatlakozó kivezetésen keresztül össze van kötve a jobboldalon lévő regiszter rekesszel, valamint az SWDb kapcsolón és a Db csatlakozó kivezetésen keresztül a regiszter rekeszek egyik átlójához, ezen kívül össze van kapcsolva a felette lévő regiszter rekesszel is, az SWn kapcsolón és az N csatlakozó kivezetésen keresztül. A bR busz ugyancsak össze van kötve az rR központi belső regiszter egyik bemenetével, az SWbi kapcsolón keresztül, valamint az SWbo kapcsolón keresztül ugyanazon regiszter egyik kimenetével is.
A központi belső regiszter
Az rR központi belső regiszter magában foglal két Q1 és Q2 invertert, amelyek előnyösen MOS inverterek, és közöttük egy vezérelhető SWa kapcsolót. Egy teljes regiszter rekesz ezenkívül magában foglalja az aR és bR buszokat és az SWa1 , SWao, SWb 1 , SWbo kapcsolókat, valamint a rekeszt a külvilággal összekötő kapcsolókat is. Az rR központi belső regiszter kimenete rákapcsolható a függőleges és vízszintes buszokra, az SWho kapcsolón keresztül, és a H csatlakozó kivezetésre, valamint az SWvo kapcsolóra és a V csatlakozó kivezetésre is. Az rR központi belső regiszter egy dinamikus
állapotot tárol (kifejtését lásd alább).
Kapcsolási művelet
A 2 központi tárrekeszben lévő összes regiszter rekeszben előforduló valamennyi vezérelhető kapcsolóját a 6 központi egységhez kapcsolt huzalokon keresztül vezéreljük, amely vezérlő egység magában foglal egy kapu mátrixot, például egy PAL-t (PAL=Programozható Mátrix Logika). A kapu mátrix a 2 központi tárrekeszben tárolt információt használja fel annak meghatározására, hogy melyik kapcsolót kell nyitnia és melyiket zárnia legközelebb. A kapu mátrix működését egy óra szinkronizálja. A kapcsolók kétirányúak, noha egyeseket csak az egyik irányban használjuk, például az SWhí és SWho bemeneti és kimeneti kapcsolókat.
A COMP összehasonlító eszköz
Egy COMP összehasonlító (komparátor) eszköz magában foglal egy első G1 NEMÉS-kaput. Egy bemenet a Q1 inverter nem invertált bementéhez van kötve, a másik pedig a Q2 inverter bemenetére. A COMP összehasonlító eszköz ezen kívül magában foglal egy második G2 NEMÉS-kaput is. Egy bemenet a Q1 inverter kimenetére van kapcsolva, a másik pedig a Q2 inverter kimenetére. A G1 és G2 NEMÉS-kapuk kimenetei az ACC egy-huzalos buszára vannak kötve, amelyek az egyik BOOL síkhoz vezetnek. Mindkét NEMÉS-kapu előállítható soros kapcsolású MOS-FET tranzisztorokból, amelyek soros kapcsolású forrás/nyelő elektródái a föld és egy feszültség forrás közé vannak kapcsolva, kapui elektródáik szolgálnak a G1, G2 NEMÉS kapu bemenetelként, és a legfelső MOS-FET tranzisztor nyelő elektródája a kimenet (az ábrán nem látható). Ezt az
összehasonlító COMP eszközt használjuk egy asszociatív keresés során, vagyis akkor, amikor a központi rekeszben lévő valamely elemet össze kell hasonlítani egy elemmel az 1 objektum tárban vagy a 2 központi tárrekesz valamely más részében. Ezután az összehasonlítandó elemet ráadjuk azoknak a regiszter rekeszeknek a bemenetelre, amelyek azt az elemet tartalmazzák, amelyhez a hasonlítást végezni kell, amelyet az alábbiakban részletesebben leírunk.
Inverterek és kapcsolók
A Q1 és Q2 invertereket akár két darab MOS-FET növekményes típusú, vagy pedig egy növekményes és egy kiürítéses típusú MOS-FET tranzisztor, vagy pedig két komplemens MOS-FET tranzisztor (ez az ábrán nem látható) biztosíthatja. A regiszter rekeszben lévő vezérelhető kapcsolót akár egy MOS-FET tranzisztor akár két (nem látható) komplemens MOSFET tranzisztor biztosíthatja. A 6 központi vezérlő egység vezérli a kapcsolókat egy vezérlő jel segítségével. A gyorsabb állapot váltás érdekében a kapcsolót a vezérlő jellel és annak komplemens jelével is vezérelhetjük.
Asszocitív keresés és BOOL sík(ok)
Egy asszociatív keresés során az összehasonlítás a BOOL sík(ok)hoz vezető huzalozott-ÉS buszon történik. A G1 és G2 ÉS-kapuk hasonlítják össze a kulcs értéket, vagyis azt az értéket, amelyhez a tárolt értéket hasonlítani kell, a Q1 bemenetén és a tárolt értéket a Q2 bementén. Ezen összehasonlítás során a kulcs értéket az aR vagy bR belső buszon « « keresztül átvisszük a Q1-hez. Az SWq kapcsolónak ekkor kikapcsolt állapotban vagyis nyitva kell lennie. Amennyiben a betáplált érték, vagyis a kulcs érték nem egyezik meg a tárolt értékkel, akkor a feltöltött BOOL sík a G1 és G2 NEMÉS kapukon keresztül kisül. Amennyiben egyezés állt fenn, akkor a BOOL sík fel töltött állapotú marad.
Egy regiszterben lévő vmennyi ACC busz vonal, és regiszter rekeszenként egy ACC busz vonal párhuzamos kapcsolású lehet, és a BOOL síkban ugyanahogyoz a busz vonalhoz kapcsolható. Alternatívaként a NUM és FEJ síkokban biztosított összes regiszter rekesz ACC busz vonalai hozzákapcsolhatók egy busz vonalhoz egy ezen síkok céljaira szolgáló BOOL síkban, és az ATTRIBÚTUM síkokban biztosított valamenynyi regiszter rekesz egy másik busz vonalhoz kapcsolható, akár ugyanabban a BOOL síkban, akár egy - az ATTRIBÚTUM síkokhoz rendelkezésre álló - második BOOL síkban. Az, hogy egy vagy két BOOL síkot építünk be és hogy egy vagy két busz vonal áll rendelkezésre, szabad választás kérdése, és a 6 központi vezérlő egységben tárolt vezérlő utaítások típusától függ. A találmány oltalmi körébe tartozik az az eset is, amikor kettőnél több BOOL síkkal rendelkezünk. A rendelkezésre álló BOOL síkok száma meghatározza az asszociatív keresés finomságát, vagyis a végrehajtható különböző asszociatív keresések számát, valamint azt, hogy a keresések milyen mértékig lesznek végrehajtva, azaz mely regiszter részek vesznek részt a keresésben. Ilymódon az összehasonlítás egyidejűleg lesz végrehajtva azon regiszter részekre vonatkozóan, amelyek a BOOL síkban ugyanahhoz a busz vonalhoz vannak
kapcsolva. Amennyiben a G1 és G2 NEMÉS-kapuk ugyanazzal a kimenettel rendelkeznek, akkor az összehasonlítás eredménye egyező, ellenkező esetben nem egyező lesz, ahol is azonosító egyező azt jelenti, hogy az információ mindkét része azonos. A BOOL síkok ezek szerint a busz vonalak céljára szolgáló síkok, és virtuális vagy gondolati síkoknak tekinthetők, azaz a busz vonalak nem szükségszerűen egy síkban állnak rendelkezésre, hanem közvetlenül is össze lehet őket kötni a 6 központi vezérlő egységgel.
Az ATTRIBÚTUM síkok elrendezése
Az ATTRIBÚTUM síkok elrendezése eltérő lehet a NUM és a FEJ síkok elrendezésétől, elláthatók például mindössze egyetlen sor bázis regiszterrel, a bázis regiszterek mátrixa helyett (ez nem látható). Ezen túlmenően, az ATTRIBÚTUM síkok rendelkezhetnek egy extra busz vonallal, amelyek egy, a 6 központi vezérlő egységhez vezető síkon belül összekapcsolhatók az összes vagy néhány regiszter rekeszszel, amelynek révén a 6 központi vezérlő egység az ezen buszon lévő információ alapján eldöntheti, hogy milyen típusú redukciót kell végrehajtani. Továbbá, az ATTRIBÚTUM síkokat nem kell ellátni a környezet regiszter rekeszekkel. A vO, v1, v2, v3 busz vonalak a 7 transzforrnáló interfész más bemenetelhez is vezethetők, nem csak azon busz vonalakhoz, amelyek a NUM és FEJ síkokban ugyanazokkal az elnevezésekkel vannak megnevezve, és ilymódon az 1 objektum tár egyéb részeihez is kapcsolhatók, előnyösen a LUSTA, HOL és TÍPUS részekhez (lásd az 1. ábrát). Más megoldásban a vO, v1, v2 és v3 busz vonalakat nem szükséges az 1 objektum tárhoz kapcsolni.
Ehelyett az ATTRIBÚTUM síkokban lévő id busz vonal felhasználható az állapot információ átvitelére (lásd az 1. ábrát) az 1 objektum tárból, azaz az 1 objektum tárban a LUSTA, HOL és TÍPUS a 2 központi tárrekssz megfelelő síkjában lévő id busz vonalhoz kapcsolhatók.
A készenléti tárolási mód
A készenléti tárolási mód hurkot a regiszter rekeszben rendelkezésre álló egyik vagy mindkét hurok alkotja. Az egyik hurkot az SWt>o kapcsoló, a bR busz, az SWb 1 kapcsoló, a Q1 inverter, az SWq kapcsoló és a Q2 inverter alkotják. Egy másik hurkot alkot az az SWao kapcsoló, az aR busz, az az SWai kapcsoló, a Q1 inverter, az az SWq kapcsoló és a Q2 inverter. Amikor az egyik vagy mindkét hurokban a kapcsolók zárnak, akkor a jel át tud haladni a Q1 és Q2 invertereken, és a jel szint stabillá válik a Q1 inverter bementén valamint a Q2 inverter kimenetén - és ez az a mód, ahogyan az adatok a regiszter rekeszben tárolódnak. A rekesz egy dinamikus állapotot tárol.
A kimeneti (output) mód
Amikor kimeneti módban van, akkor a Q2 kimenetét át lehet vinni az aR vagy bR buszok vmelyikére, és onnan megfelelő kapcsolókat lehet vezérelni ahhoz, hogy a kimenetet a kimeneti kapcsok (N, S, E, W - Észak, Dél, Kelet, Nyugat stb) egyikére vagy másikára átvigyük. A bR vagy aR buszok másikát tetszőleges módon használhatjuk fel. Ha az SWq kapcsoló kikapcsolt állapotú, azaz nyitott, akkor a Q2 inverter kimenete stabil, azaz nem lehet megváltoztatni mmindaddíg, amig az SWq kapcsolót be nem kapcsoljuk. Az inverter
kimenetét az SWt>o kapcsolón keresztül, annak zárt állapota esetében, át lehet vinni a bR buszhoz. Az aR és bR buszokon lévő információt továbbítani lehet minden olyan külső buszhoz, amelyhez a regiszter rekesz hozzá van kapcsolva, azáltal, hogy a regiszter rekesz és a szóban forgó külső busz közé kötött kapcsolót vezéreljük, amint ezt a továbbiakban egy példán keresztül be fogjuk mutatni.
A bemeneti (input) mód
Egy bementi mód során az SWa1 vagy SWbi kapcsolók egyike bekapcsolt, azaz zárt állapotú. Ily módon valamelyik kapocs (N, S, E, W, stb) állapotát átvisszük az aR vagy bR lokális buszra, majd onnan az rR központi belső regiszterhez .
Átvitelek
Lehetséges adatokat átvinni a 3 központi regiszter bármelyik regiszter rekeszéből egy másik regiszter rekeszbe egy kétfázisú ciklus során, egy kapocs-csatlakozáson keresztül. Egy háromfázisú ciklussal lehetséges két bázis regiszter rekesz tartalmának megcserélése a függőleges, vízszintes vagy átlós irányokban.
Az SWq kapcsolót és egyidejűleg a regiszterekben lévő összes rekeszt is közvetlenül egy fő óra szinkronizálja úgy, hogy a Q1 és Q2 inverterek közötti átvitelek egyidejűleg játszódnak le a teljes 3 központi regiszterben. A további kapcsolókat a fő órától származó, de az előzőektől eltérő, a fő óra periódusban biztosított megfelelő jelek vezérlik. A 3 központi regiszteren belüli összes művelet számára a fő órát használjuk fel referencia jelként.
Az óra ciklus fel van bontva a fi, a és/vagy ii óra fázisokra. A fi fázis az első megnyújtható fázis, vagyis amikor az rR központi belső regiszter a készenléti állapotában van - amikor az adatok stabil állapotúak. Az a fázist az aR buszról való átvitel során használjuk, a b fázist pedig a bR buszról való átvitel során.
Egy egyirányú átvitel, vagyis amikor csak egy regiszter rekesztől vagy egy regiszter rekeszhez történi átvitel, két óraciklus alatt játszódik le. Az első 0 fázis stabil. Egy kétfázisú óraciklusban az a vagy a b fázis van felhasználva az átvitelre.
rekesz közötti céljából, három bi1. Az a és a történnek.
Egy kétirányú átvitel, átvitelről van óraciklus alatt b fázisok alatt amikor két regiszter tartalmuk kicserélése
A 0 fázis stavagyis szó, megy végbe.
különböző irányú átvitelek
Meg kell jegyezni, hogy a találmány kiterjed a háromnál több fázisú óraciklusokra, például két b fázissal felépített óraciklusokra is.
Az SWa 1 és SWb 1 kapcsolók normálisan zártak. Ekkor mindkét lokális busz, az aR és a bR tartják a regiszter rekesz tárolt állapotát. Amikor egy aR vagy bR belső buszt fel kell használni a bevitel céljára egy új érték tárolása érdekében, akkor a megfelelő SWai vagy SWb 1 kapcsolót úgy kell vezérelni, hogy nyissanak. Ekkor egy, a külső buszok egyikéhez, amilyen például a függőleges vagy vízszintes busz, vezető kapcsolót zárni kell egy rövid időre, amely azonban elegendően hosszú ahhoz, hogy az adott buszon lévő informá65 • ·· ció átvitele a belső buszra végbemenjen.
A regiszter rekeszben lévő tartalom átvitelére fel lehet használni az eltoló (shiftelő) hálózatot is, azaz a különböző regiszter rekeszek közötti hálózatot, beleértve az N (északi) vagy S (déli) vagy W (nyugati) vagy E (keleti) kivezető kapcsokhoz kötött kapcsolókat is.
Példa egyirányú adatátviteli műveletre
A 11A ábra két egymás melletti bázis regisztert mutat, amelyek között adatot kell átvinni a baloldali, átadó, regiszterből a jobboldali, fogadó, regiszterbe. A kapcsolókat a 6 központi vezérlő egységtől származó vezérlő jelek vezérlik. A 11B ábra az átvitel által érintett összes kapcsoló állapotát mutatja a különböző fázisok során; az alsó érték egy nyitott kapcsolót képvisel, a magasabb érték pedig egy zárt kapcsolót képvisel. A tényleges átvitel a b fázis alatt játszódik le. Az átvitel a következő módon megy végbe (az alábbiakban a különböző lépéseket ugyanazokkal a számokkal jeleztük a 11A és 11B ábrákon):
0. Az áramkör stabil, az SWq, SWao , SWa 1 , SWb o , SWb 1 SWK kapcsolók zárnak, az átadó és a fogadó rekeszekben lévő összes többi kapcsolók nyitottak (a 11A ábrán ez a lépés nincs jelezve, mivel ez valamennyi kapcsolóra vonatkozik). Ez a stabil mód a 0 fázisnak felel meg a 11B ábrán.
1. Az óra intervallum egy első fázisa (például a b fázis) alatt, amikor az SWq kapcsoló úgy az átadóban mint a fogadóban nyitva van,
2. az SWao kapcsoló nyitva van, és az SWbo kapcsoló zárva, úgy az átadóban mint a fogadóban, • « • ··
3. a átadó és a fogadó közötti SWe kapcsoló zárva van,
4. az SWb 1 kapcsoló úgy az átadóban mint a fogadóban zárva van, és
5. az átadóban lévő SWai kapcsoló nyitva van, a fogadóban lévő SWa 1 kapcsoló pedig zárva. Ez lehetővé teszi, hogy az adatok az átadó belső regiszterből áthaladjanak a fogadó belső regiszterbe.
6. Az óra intervallum egy második fázisában (a 0 fázisban), amikor az SWq kapcsoló úgy az átadóban mint a fogadóban zárva van,
7. a fogadó és átadó közötti SWe kapcsoló nyitva van,
8. ezután először az SWto és SWao kapcsolókat nyitjuk, és azt követően az SWb 1 és SWa 1 kapcsolókat úgy az átadóban, mint a fogadóban. Ez visszahoz bennünket a fentiekben a 0. lépésnél leírt stabil módba, azaz a 0 fázisba.
Példa kétirányú adatátviteli műveletre
A 12A ábra két egymás melletti bázis regisztert mutat, és a két különböző bázis regiszter rekeszben lévő adat egy kétirányú művelet során ki lesz cserélve a két rekesz között. A kapcsolókat a 6 központi vezérlő egységtől származó vezérlő jelek vezérlik. A 12B ábra az átvitel által érintett összes kapcsoló állapotát mutatja a különböző fázisok során; az alsó érték egy nyitott kapcsolót képvisel, a magasabb érték pedig egy zárt kapcsolót. Mindkét regiszter rekesz átadóként és fogadóként is funkcionál; emiatt az alábbiakban 1-es rekesznek és 2-es rekesznek nevezzük őket. Az egyik átvitelre, a 2-es rekeszből az 1-es rekeszbe az a
fázis alatt kerül sor, míg a másik irányú átvitel, az 1-es rekeszből a 2-es rekeszbe a b fázis alatt játszódik le. Az alábbiakban a különböző lépéseket ugyanazokkal a számokkal jeleztük a 12A és 12B ábrákon. Az átvitel a következő módon megy végbe:
0. Az áramkör stabil, az SWq, SW*o , SWai , SWbo , SWt>i SWK kapcsolók zárva vannak, az átadó és a fogadó rekeszekben lévő összes többi kapcsoló nyitott (a 12A ábrán ez a lépés nincs jelezve, mivel ez valamennyi kapcsolóra vonatkozik). Ez a stabil mód a 0 fázisnak felel meg a 12B ábrán .
1. Az óra intervallum egy első fázisa (az a fázis) alatt, amikor az SWq kapcsoló az 1-es és 2-es rekeszekben nyitott,
2. az 1-es és 2-es rekeszekben lévő SWao kapcsoló zárt, ugyanakkor az 1-es és 2-es rekeszben lévő SWuo kapcsoló nyitott,
3. a rekeszek közötti SWe kapcsoló zárt,
4. az 1-es és 2-es rekeszekben lévő SWa 1 kapcsoló nyitott, és
5. az 1-es rekeszben lévő SWb 1 kapcsoló zárva van, a 2-es rekeszben lévő SWb1 kapcsoló pedig nyitva van. Ez lehetővé teszi, hogy az adatok a 2-es rekeszből az 1-es rekeszbe átmenjenek.
Az óra intervallum egy második fázisa (a b fázis) alatt, amikor az SWq kapcsoló még mindig nyitva van,
6. az 1-es és 2-es rekeszekben lévő SWao kapcsoló nyitva van, ugyanakkor az 1-es és 2-es rekeszben lévő SWbo kapcsoló zárva,
6S
7. az I-es és 2-θβ rekeszekben lévő SWbi kapcsoló nyitva van, és
8. az 1-es rekeszben lévő SW*i kapcsoló nyitva van, a 2-es rekeszben lévő SWai kapcsoló pedig zárva. Ez lehetővé teszi, hogy az adatok az 1-es rekeszből a 2-es rekeszbe átmenjenek.
9. Az óra intervallum egy harmadik fázisa (a O-ás fázis) során az SWq kapcsoló úgy az 1-es, mint a 2-es rekeszben zár,
10. az 1-es rekeszben lévő SWe kapcsoló nyitva van, és
11. ezután először az SWbo és SW»o kapcsolókat zárjuk, és azt követően az SWb i és SWai kapcsolókat mindkét rekeszben. Ez visszahoz bennünket a fentiekben a 0. lépésnél leírt stabil módba, azaz a 0 fázisba.
Az SWao és SWbo kapcsolók számára szolgáló vezérlő jelek
A 0-ás fázis alatt a jelek az alapértelmezés szerint bekapcsolt, azaz zárt, állapotúak. Ekkor valamennyi lokális busz tartja a tárolt állapotát. A bevitelre szolgáló busz vezérlése úgy történik, hogy az SWq és SWxo kapcsolókat vezérlő jelet kikapcsoljuk, azaz nyitjuk, ahol x vagy a vagy b. Egy beviteli művelet során több busz is rövidre lehet zárva valamelyik (E, V, D, H stb) kapocs révén, egy rövid időtartamra. Egy idő után a buszok felveszik a helyes értéket .
Az SWq kapcsolóhoz tartó vezérlő jel lefutó szakaszától az SWxo (x vagy a vagy b) kapcsolóhoz tartó vezérlő jel lefutó szakaszáig terjedően egy késleltetés lép fel. Amennyiben ez a késleltetés rövid, akkor semmi probléma
sincs. Ha azonban az idő a ms tartományig felmegy, akkor az xR (x vagy a vagy b) elveszítheti dinamikus állapotát.
Az SWxo kapcsolóhoz tartó vezérlő jel felfutó szakaszától az SWxi (x vagy a vagy b) kapcsolóhoz tartó vezérlő jel emelkedő szakaszáig terjedően fellép egy késleltetés. Amennyiben ez negatívvá válik, akkor egy hibás érték adódhat át az xR lokális busztól a Q2 inverterhez és a Q1 inverterhez. Ezért egy pozitív késleltetési időt használunk.
Az SWe, SWv, SWd, SWh kapcsolók számára szolgáló vezérlő jelek
Az SWe, SWv, SWd, SWh kapcsolók normális állapotban kikapcsolt állapotban vannak, azaz nyitottak. Ekkor minden lokális busz el van szigetelve. Egy bevitelre vagy kivételre használt busz vezérlése úgy történik, hogy a hozzá csatlakozó kapcsoló vezérlő jelét bekapcsolt állapotba állítjuk, azaz zárjuk a kapcsolót. Ezen művelet során több buszt rövidre zárhatnak egyes kapcsolók (SWe, SWv, SWd, SWh stb) egy rövid időtartamra. Egy idő után a buszok felveszik a megfelelő értéküket.
Az SWq kapcsolóhoz tartó vezérlő jel lefutó szakaszától az SWz kapcsolóhoz (ahol Z értéke H, D, N, V, E, stb, azaz az aR és bR buszhoz csatlakozó bármely kapocs lehet, amely el van látva egy kapcsolóval) tartó vezérlő jel felfutó szakaszáig terjedően egy késleltetés lép fel. Amenynyiben ez negatív, akkor az xR (x a vagy b lehet) lokális busz értéke megváltozhat. A regiszter értéke ilyenkor bekapcsolt állapotra változhat. Ezért ezen késleltetési időnek pozitívnak kell lennie. ,
Az SWz kapcsolóhoz (ahol Z értéke H, D, N, V, E, stb, azaz az aR és bR buszhoz csatlakozó bármely kapocs lehet, amely el van látva egy kapcsolóval) tartó vezérlő jel emelkedő szakaszától az SWxi kapcsolóhoz tartó vezérlő jel lefutó szakaszáig terjedően egy késleltetés lép fel. Amenynyiben ez negatív, akkor a jel nem tud továbbhaladni a bemenethez. Ezért pozitív késleltetési időt használunk.
Az SWx1 kapcsolóhoz tartó vezérlő jel felfutó szakaszától az SWz kapcsolóhoz tartó vezérlő jel lefutó szakaszáig terjedően fellép egy késleltetés. Amenynyiben ez negatívvá válik, akkor a lokális busz megváltozhat, és a regisztert egy hibás értékűre állíthatjuk be. Ezért egy pozitív késleltetési időt használunk.
Az SWa 1 és az SWb1 kapcsolók vezérlő jelei
A O-ás fázis alatt a jelek alapfeltételezés szerint be állapotban vannak. Kell azonban lennie egy rövid késleltetésnek az SWq kapcsolóhoz tartó vezérlő jel felfutó szakaszától az SWai és SWbi kapcsolókhoz tartó vezérlő jelek felfutó szakaszáig.
Amennyiben ez a késleltetés negatívvá válna, akkor a Q2 inverter bemeneti jele nem tudna továbbhaladni az xR buszhoz (x értéke a vagy b lehet). Emiatt pozitív késleltetést kell használnunk.
Központi rekesz számítások
A tipikus lista utasítások egy gépi ciklus alatt kerülnek végrehajtásra.
Amint fentebb már említettük, a központi tárrekesz struktúra aritmetikát hajt végre. Valamennyi lépést a köz ponti regiszterek hajtanak végre az általuk tartalmazott listákban szereplő utasítások felhasználásával. Az alábbiak néhány példát mutatnak ezen utasításokra:
hossza cél operandus hosszának kiszámítása,
leképezésegy funkciót hajt végre egy lista elemeire vonatkozóan. Amennyiben a lista beszúrt listákat tartalmaz, akkor az utasítást a beszúrt lista elemeire is végrehajtjuk. (Az utasítás leképezést az alábbiakban részletesebben kifejtjük.)
szűrésegy funkciót hajt végre és megszűri egy lista elemeit. A szűrést az esetlegesen előforduló beszúrt lista elemeire is alkalmazza.
kapcsol ásvalamennyi elemet átír beszúrt lista elemeivé. Az utasítást az esetlegesen előforduló beszúrt lista elemeire is alkalmazza.
transzponál ásegy kis mátrixot transzponál. Amennyiben lista elemeket tartalmaz, akkor azokat megcseréli. Beszúrt listákat is kezel. (Az utasítást az alábbiakban részletesebben kifejtjük.)
stb
Központi rekesz tár
A központi tárrekesz a következőket tárolja . a redukálandó célt, amelyet több regiszterben, előnyösen a bázis regiszterekben redukál, . egyes esetekben, például amikor egy három szintű struktu-
rát redukál,a cél gyökerét, előnyösen a kiegészítő re-
£L • · · *uep66oj- L9^1®L - ©adui 9pueqCeq©u69A © s? l pq9 t*qu l z s ejpq^njqs ej. e ‘u©qi.©jeq -zsl6©u zs©>|©uJ9q iquodzQ>| e BALOJ^q uba u©>í©Xl®H pzgquQLOM uösqXuql© eC^qsLL J9MQÁB eqsj.L-L9° ÁB© quLJ©zs χ©ζ3 •eALOJ?q uba ueqxLjq?ui j©qzsi.6©j SLZ?q e ©>|lXB© ^euL^qsLL PJ-J- nquizsq9>| e S£ ‘u©qj©qzst.6©u pqlzs96©l>| >(lX6© ze eqsLL J9>|QX6 ® u©q9q©s© ej nqut.zs uioj^m X63 u©p66nj L9qq®L®A-nw 9pueqCeq©jB9A e ‘q9>jLXB© >(9Ai.qeuj©q le uez© l>í eCqzseL?A 69SX6© pl-<9Z®a Lquodzo>| 9 e X6oq ‘ iuz©X6©r LL®M 6©w ' u©q
->j©J©qzs(.6©jpj e qpij. ><(.X6© ze S9 u©q>pu©qzsi.6©u pqi.zs96eL>j e 5jnCqeql°->?1 q©J©>)9X6 e qu9^eAj.qeuj©qlv *u©q>|©j©qzsl6©j slz -9q e u©s©6©lS>B60J· ‘Wi-J- M®ÁL9we ‘6i.ped qL^qsLL e ‘u©q>|©j©q -zsl6©J9J e >jnCqeqL0-1?^· u©se6©lí?66^J ‘ede X6© Xl©w© ‘q^qsLL □ 9>|qX6 e u©q9q©se ej 9LEl6oj ueq^Beuj qsquLzs q9>| X63 •^unLOj^q u©q>i©jeqzs l6©j pj e q?j nquLZs u©LT°X6® X63 •^unLOJ^q u©queqzsl6©jpj psl© ze (qoiunq^eCqo nq —ulzs 0) qe>|9qJ9 hjqzsXB© X6© zeze *q?J njszsX6© X63 •>jn(?LOJ?d· q.©quLzs sezsso ze u©qqess s?iu LXuueweLEA ‘ L°-i?T q?6? u©LT®XB® θ9 q?J©>|QÁ6 ><euue jo>|>je ‘^unLou?q qotunq><©rqo nquLzs tuoj^q X6e ueqLÁuueuJV ‘ q?J -nq>|njqs nquLzs £ X6©a s ‘l ‘0 ΧΒθ ^unqeqLOj^q zeze ‘ ueq^s -9ZO>|qeuoA S9LOJ?T s©u©LB!-©pi. pu9qjoq u©q>(ejeqzslj Lquodzo>| £ e uuej qeqLL? q©s© X69N 'qpjnq>|njqs nquLzs uioj^q wnwLxew X6s ^euqeqtoj^q uequoze >j©jsqzs l6©u Lquodzo>i £ e ‘ Luioj?q pnq qe>|9jnq>|njqs nquLzs X6s >jeso u?q ujnq>tsCqo ι zv •ueqxLjq^iu ueq -zst-Bej SLZ^q e 6i.psd q^zspu i.qq?Aoq ejnq^nuqs e ‘usqzss^
A cél-fa gyökere egy redukálható típusú zárás, amilyen például az egyesítés (unify1. Egy funkció alkalmazásánál (apply ...) az első elem egy utasítás vagy pedig egy azonosító, amely közvetve kijelöl egy utasítás definícióként használt zárás struktúrát, a fennmaradó elemek pedig az utasításhoz vagy funkció definícióhoz tartozó argumentumok.
A KÖZPONTI REKESZ TÁROLÁS VEZÉRLÉSE
A 3 központi regiszterekben tárolt információ az 1 objektum tárban tárolt információból van leszármaztatva. A 3 központi regiszterekben az információ a következő módon van tárolva:
A FEJ és NUM síkokban lévő 3 központi regiszterek rá vannak kötve az OBJ objektum tár buszra, az ACC elérési buszra, a rés buszra és a numerikus aritmetikai logikai egység NU buszára. A tárolt állapot a két egyszerű regiszter az ID és az ENV (azonosító és környezet) - az F0-F3 kiegészítő regiszterek és az So,o-S3,3 regiszterek tárolt állapotából áll. Az ATTRIBUTE (attribútum) síkban lévő központi regiszterek hasonló módon hozzá vannak kapcsolva az 1 objektum tárhoz, csak annak más részeihez, előnyösen a LUSTA, HOL és TÍPUS részeihez.
A 3 központi regiszterekhez tartozó vezérlő szó az SWVí , SWví , cv kapcsolók - ahol i egy 0 és 3 közé eső szám az SWi d ,h 0 , SWc h,h0 , SWe nv ,h0 , SWv1 ,h 0 , SWv 2 ,h 0 és az SWv3,ho, SWvi0,SWvi, SWv2 és SWv3 kapcsolók, az ID és ENV regiszterek (azonosító és környezet egyszerű regiszterek), az F0-F3 kiegészítő regiszterek és a bázis So,o-S3,3 regiszterek vezérlő szavaiból áll.
• · · · « «« ··· ·« ·
A vezérlő szavak a 6 központi vezérlő egységhez kapcsolt különböző vezérlő vezetékeken keresztül kerül továbbításra. A vezérlő vezetékek lehetnek kétfázisú vezérlő vezetékpárok (huzalpárok) vagy egyfázisú egyszerű vezetékek (huzalok), attól függően, hogy milyen kapcsolókat használunk.
Az egyes bázis regiszter rekeszekhez tartozó vezérlő szavak tartalmaznak egy közös részt, és egy egyedi olyan részt, mely az egyes bázis regiszterekre vonatkozik. A közös rész a központi tárrekesz SWao, SWto és SWq kapcsolóit vezérli (lásd a 10. ábrát). Ugyanakkor meg kell jegyezni, hogy az leírtak csak példaként szolgálnak, és további egyéb megvalósítások is lehetségesek.
PÉLDÁK A KÖZPONTI REKESZ MŰVELETEKRE
A 13-19. ábrák a 9. ábrából vannak származtatva. A
9. ábrán használt hivatkozások érvényesek a 13-19. ábrákra is. A legtöbb hivatkozást az ábrákból, az olvashatóság megőrzése érdekében, elhagytuk. Emellett a 13-19. ábrákon a regiszter rekeszek jelölései a központi rekeszben lévő síkokra kiterjedő teljes regiszterre vonatkoznak.
1. Az 1 objektum tár elérése
Az mpx_mv utasítás a következő:
Az mpx_mv objektum tár utasítás olvassa az 1 objektum tárat és beállít néhány 3 központi regisztert. Az elért objektum a vO, v1, v2, v3 buszokon keresztül lesz továbbítva a fő So,ο, Sí,ο, S2,ο , S3,o regiszterekhez, az id (azonosító) buszon keresztül az ID regiszterhez és az env (környezet) buszon keresztül az ENV regiszterhez, amint az a 13. ábrán láthatók a nyilakkal ellátott vastag vonalakkal, ahol a nyilak azt mutatják, hogy az átvitel mely regiszter rekeszekhez irányul. Ugyanakkor a fő regiszterekben lévő régi tartalom az 1 objektum tárban egy zárásként tárolva lesz. Ilymódon az mpx_mv utasítás a jelenlegi 2 központi tárrekesz zárást tárolja az 1 objektum tárban és betölti a következőnek végrehajtandó objektum tár zárást a 3 központi regiszterbe .
A kiolvasó (fetch) utasítás a következő:
A 14. és 15. ábrák azt a helyzetet mutatják, amikor az egyik fő regiszterben egy azonosító van tárolva, és ezt az azonosítót ki kell cserélni arra az információra, amelyet azonosít. Az azonosítót például az S2,0 regiszterben tároljuk (lásd a 14. ábrát) továbbítjuk az 1 objektum tárba, az 1 objektum tár megtalálja az azonosítót valamint az általa meghatározott tartalmat, amely tartalom a v0-v3 busz vonalakra kerül, és végezetül betöltésre kerül a bázis regiszterek egy függőleges oszlopába, például az S2,o-tól az S2,3-ig terjedő regiszterekbe (lásd a 15. ábrát).
Ez a művelet az S2,0 bázis regiszterben tárolt azonosító átvitelével kezdődik a függőleges id buszhoz, a hO buszon és az idid.ho kapcsolón keresztül (lásd a 14. ábrát). Egy tárolt érték hasonló módon átvihető a további regiszterek bármelyikéből.
A művelet azzal folytatódik, hogy az 1 objektum tár által a vO, v1 , v2, v3 busz vonalakra adott értékek be lesznek töltve a megfelelő regiszterekbe, amelyek lehetnek például az S2,0, S2, 1 , S2,2 , S2,3, regiszterek azáltal hogy az értékeket az SWvo, SWv 1 , SWV2, SWV 3 kapcsolókon és a hO, h1 ,
h2, h3 buszokon keresztül átvisszük.
Amikor a 3 központi regiszterbeli tartalmat le kell tárolni az 1 objektum tárban, akkor a make (készítés) és unify_id (azonosító_egyesítés) objektum tárbeli műveleteket lehet használni.
A make (készítés) utasítás:
A make művelet első lépésében a kérdéses regiszterek tartalma átvitelre kerül, mint a 15. ábrán, de az ellenkező irányban. A művelet ugyancsak átviszi a környezet regiszter tartalmát is. Az 1 objektum tárban egy asszociatív keresés kerül végrehajtásra, egy olyan objektum megtalálása céljából, amely ugyanazt az információt tárolja, mint a központi rekesz által tartalmazott információ. Ha találunk ilyen objektumot, akkor a művelet visszaadja az objektumot kijelölő azonosítót, ellenkező esetben, ha ilyen objektum nem található, akkor egy nem használt azonosító lesz visszaadva. Az azonosítót mindkét esetben átvisszük az 1 objektum tárból a 2 központi tárrekeszben lévő azonosító regiszterbe, az id (azonosító) busz vonalon keresztül. Alternatív megoldásként az azonosító átvihető az érintett regiszterek oszlopában lévő fő regiszterbe is. Ilymódon a központi tárrekesz és egy azonosító közötti asszociáció lett előállítva.
A unify_id (azonosító_egyesítés) művelet:
A unify_id műveletet a 16. ábra mutatja, és ez a művelet egy azonosítót ad át valamelyik regisztertő1, például az 52,0 regisztertől az összes függőleges buszra, azaz az id (azonosító), env (környezet), vO, v1, v2, v3 buszokra azáltal, hogy a kérdéses regiszter rekeszt ráköti a hO vz ·· · · ·«·*» *·* • · · 4 ·· · »· · buszra, és az összes függőleges buszt összekapcsolja a hO vz bUSSZal, az SWid.hO, SWenv.hO, SWvO.hO, SWv1,hO, stb kapcsolókon keresztül. Ez egy olyan művelet, amelyet akkor használhatunk, amikor egy asszociatív keresést és helyettesítést hajtunk végre, amely magában foglalhatja például egy azonosító összes előfordulásának keresését, és ezen azonosító megtalált előfordulásainak helyettesítését egy új, egyszerűsített egyszerű értékkel.
A unify_id (azonosító_egyesítés) művelethez hasonló művelet az első lépésében használhatná a make (készítés) műveletet, hogy előállítsa a központi tárrekesz tartalmához tartozó egyedi azonosítót, a második lépésében pedig kiteheti a központi tárrekesz tartalmát az 1 objektum tárral öszszekötött busz vonalakra, abból a célból, hogy az 1 objektum tár tárolja az azonosítót és az általa kijelölt tartalmat.
A unify (egyesítés) műveletre az 1. függelék tartalmaz egy példát, ahol is a központi tárrekesz tartalma látható, és ugyancsak láthatók a kapcsolók állapotai az a, b és O-ás fázisokra vonatkozóan.
2. Numerikus egyszerűsítés
Egy numerikus egyszerűsítés során az egyszerűsítendő objektum, azaz a cél, a főregiszterekbe lesz betöltve. Általánosságban szólva, az egyszerűsítésben a teljes cél objektum részt vesz. Az utasítás kódot tipikusan az So, o regiszter tárolja, amely a különböző utasítások esetében különböző bit-minta. A diadikus, vagyis a két operandussal rendelkező, műveletekhez az Sí , o és S2,0 regisztereket használjuk. Általánosságban szólva, a hátsó regisztereket egy lista for78 * · ·· ·« *· · • · * · · · · • ··♦ ··« ·« · májában használjuk, emiatt tartalmukat mindig balra léptetjük, egy egyszerűsítés után.
Az alapvető numerikus aritmetika kerül ezután végrehajtásra az Sí , o és S2,0 regiszterek és a cél között. Az 5 numerikus aritmetikai logikai egység egy fő-összeadója rá lesz kapcsolva erre a két regiszterre. A többi regisztert kiegészítő célokra lehet felhasználni az olyan utasításokban, mint például a szorzás, osztás és maradék képzés (modu1o).
A következő utasítás típusokat lehet használni:
monadikus utasítások az So,0 regiszter tartja az utasítás kódot, és az Sí ,0 regiszter tartja az operandust. Az S2,0 és S3,0 regisztereket nem használjuk. Az 5 numerikus aritmetikai logikai egység eredményét valamennyi fő regiszterhez visszaadjuk. A nem-csővezeték módban értékét az Sí,0 regiszterben mentjük. A csővezeték módban egy közbenső időre akár egy kiegészítő regiszterben akár egy bázis regiszterben menthetjük.
diadikus utasításk az utasítás kódot az So,0 regiszter, az operandusokat pedig az Sí,0 és S2,0 regiszterek tárolják. Az S3,0 regisztert nem használjuk. A numerikus aritmetikai logikai egység eredményét valamennyi főregiszterhez visszaadjuk. A nem-csővezeték módban értékét az Sí ,0 regiszterben mentjük. A csővezeték módban egy közbenső időre akár egy kiegészítő regiszterben akár egy bázis regiszterben menthetjük.
• · · ·· ·«·· • · · « · ·♦· ··· ·· · • · · · « · szorzási, osztási, maradék képzési (mód) utasítások az utasítás kódot az So,o regiszter, az operandusokat pedig az Sí , o és S2,0 regiszterek tárolják. A végső eredményt az Sí , 0 regiszterben mentjük.
egyszerűsítések egyesítése az egyszerűsítések egyesítése művelet az 5 numerikus aritmetikai logikai egység-t használja fel az So,0 regiszter tartalmának az Sí.0 regiszter tartalmával történő összehasonlítás céljára. Az egyesítés végrehajtása során a többi főregisztert is fel lehet használni. A regiszterek FEJ síkjában tárolt jelző szavakat az összehasonlítás eredményével együtt használjuk fel, a következő tevékenység kiértékelése céljából.
A szorzási, osztási és modulo utasítások belső ciklusaikat teljes egészében az 5 numerikus aritmetikai egységen belül hajtják végre. A kiszámolt közbenső eredményeket dinamikusan tárolhatjuk a numerikus aritmetikai egység és a központi rekeszben lévő fő regiszterek közötti vezetékeken, azaz az NU buszon.
3. Struktúra egyszerűsítés
A struktúra egyszerűsítés során az egyszerűsítendő objektumot, azaz a célt, a főregiszterekben helyezzük el. Általánosságban szólva, az egyszerűsítésben a fő regiszterek némelyike vagy az összes főregiszter részt vehet. Az utasítás kódot tipikusan az So,0 regiszter tárolja, amely a különböző utasítások esetében különböző bit-minta.
Egy leképezési utasításnak van egy f funkciója és • 4 4 4 4 *· 4 4 • 4 4 44 ··» 4*4444 • * 4*44 θ9Υ (ei, en) listája, mint argumentum, és a művelet a funkciót végrehajtja a lista valamennyi elemére. Az utasítás egy (fei, ..., Fen) eredmény-1istát ad vissza a funkció minden egyes végrehajtására vonatkozóan, ahol fei azt az eredményt képviseli, amely az f fügvény ei-en történt alkalmazásával áll elő.
leképezési utasítások
Formátumuk: (leképezés f lista)
A leképezés utasítást az FO kiegészítő regiszterbe töltjük be. A felhasználandó funkciót az F1 kiegészítő regiszterbe töltjük be. A listát az So,o-től az S3,o-ig terjedő fő regiszterekbe töltjük be. Amint az a 17a ábrán látható, a főregiszterekben tárolt elemeket két lépéssel feljebb visszük a bázis regiszter mátrixban, azaz az Sx,o regiszter tartalmát az Sx,2 regiszterbe visszük át, ahol az x egy 0 és 3 közé eső szám. Az átvitelt a v0-v3 függőleges busz vonalak fel használásával hajtjuk végre. Amint az a 17b ábrán látható, az FO és F1 kiegészítő regiszterben lévő tartalmat ezután vezetéken átadjuk a bázis regisztereknek, azaz az FO kiegészítő regiszter tartalmát átmásoljuk az So,o-tól az S3,o-ig terjedő regiszterekbe, az F1 tartalmát pedig átmásoljuk az So,i-től az S3,i-ig terjedő regiszterekbe. Amennyiben egy elem egy egyszerű érték (azaz nem egy lista), akkor annak a regiszternek a tartalmát, amelyben elhelyezkedik, például az Sí,2 regiszter, és az alatta lévő regiszter, például az Sí,2 regiszter
tartalmát egy lépéssel lefelé mozgatjuk. Az alkalmazandó funkció most egy főregiszterben helyezkedik el, például az Si.o-ban, és az az elem, amelyre a funkciót alkalmazni fogjuk, ezen főregiszter feletti regiszterben, például az Si,i-ben, helyezkedik el. Amennyiben egy elem egy lista, akkor abban a regiszter oszlopban nem kerül sor léptetésre. A 17c. ábrán feltételeztük, hogy az ei , e2 és e3 egyszerű értékeket ábrázolnak, és hogy az e< egy listát képvisel. A bázis regiszter mátrix minden oszlopát ekkor egy zárásként tároljuk az 1 objektum tárban. Ezt követően mindegyik ilyen tárolt zárást betöltjük a 3 központi regiszterbe, további feldolgozás céljából. Amennyiben a tárolt zárás egy egyszerű értéket tárolt, akkor a normális módon töltjük be a 3 központi regiszterbe, azaz az f-et az So,o-ban tároljuk, az ei-t pedig az Si,o-ban, amint ez a 17d. ábrán látható. Amennyiben ellenkezőleg, a tárolt zárás egy listát tartalmazott, akkor azt a fentiekben leírt módon töltjük be, amint ez a 17a. ábrán látható, de ekkor e1 az e4 által képviselt lista első eleme, e2 a második elem e4-ben, és így tovább. Ez lehetővé teszi, hogy a leképezési utasítás rekurzív módon működjön a beszúrt listákon.
így az a leképezési utasítás, amelynek két szintű struktúrája van:
(leképezés, f (e-ι , .... en )) a következőképp írható át:
• · · · · · * • ··· ·«· ·· · • · · · · · · ((f, ei ), ..., (f, en )), amely a végrehajtásnak egy szintű struktúrává történt átírása után az alábbi alakú lesz:
(fei , . . . , fen ), ahol fei azt az eredményt képviseli, amely az f-nek az ei-en történt alkalmazásával áll elő.
A három (vagy több) szintű leképezési utasítás (leképezés, f, pár(ei ,...,(ek ,..., e·» ),..., en )), ahol (ek.....en) egy beszúrt lista, közbenső lépésként az alábbiakká írható át:
par((f,ei ),...,(leképezés, f, (ek,...,em)),..., (f, en )), majd az alábbivá:
par((f,ei),...,((f,ek),...,(f,em)),...,(f,en)), amely végrehajtása után az alábbi kétszintű struktúrává írható át:
par(fei , ...,(fék,...,fem),... fen), ahol fei azt az eredményt képviseli, amely az f funkciónak az ei elemen történt alkalmazásával áll elő és ahol (fék,...fe™) egy beszúrt lista.
Ilymódon az f funkciót rekurzív módon alkalmazzuk az argumentum lista összes elemére.
Az alábbiakban leírunk egy illusztráló pél'dát arra vonatkozóan, hogy a 3 központi regiszter miként struktúrái át és hajt végre egy leképezési utasítást. A példa utasítás a következő:
S3
(leképezés f (-1 -2 (-7 -8))), ahol f-et a következőképpen definiáljuk: f(x)=abs(x)+1. A gépi reprezentáció, gépi azonosítókat használva, az alábbi lehet:
id1 : (leképezés f id2) id2 : (-1 -2 id3) id3 : (-7 -8) ahol az id1 azonosító a (leképezés f id2) struktúrát tartalmazó zárást azonosíja, stb.
Az alábbiakban i egy 0 és 3 közé eső szám. A következő lépések kerülnek végrehajtásra:
1. lépés: a leképezést az FO kiegészítő regiszterben, az f-et az F1 kiegészítő regiszterben és az id2 azonosítót az So,o regiszterben tároljuk.
2. lépés: az id2 azonosítót kifejtjük, azaz az So,o re- giszter tartalma -1, az Si,o regiszter tartalma -2 és az S2,o regiszter tartalma id3 lesz.
3. lépés: Az Sí , o regiszter tartalmát átvisszük az Sí ,2 regiszterbe. A nem használtként jelölt regiszterek tartalma változatlan.
4. lépés: a leképezés és az f függvény vízszintesen tovább lesz adva, azaz az Sí , 1 regiszter tartalmazza f -et és az Sí,0 regiszter tarytalmazza a leképezést. A nem említett (nem használtnak jelzett) regisztereket a művelet nem érinti.
5. lépés: Az Sí , 2 regiszterükben egyszerű értéket tartal- mazó oszlopokat egy lépéssel lefelé mozgatjuk, azaz az So,1 regiszter -1-et tartalmaz, az So,0 ·
···· regiszter f-et tartalmazza, az Sí , 1 regiszter
-2-őt és az Sí,o regiszter f-et tartalmaz, a harmadik oszlop érintetlen marad.
A bázisregiszter mátrixbanlévő összes oszlop
visszalesz tárolva a tárba,az alábbiak szerint:
i d1 :(i d6 i d7 i d8)
i d6 :(f -1)
i d7 :(f -2)
i d8 :(leképezés f id3)
7. lépés: Az id5-tal kijelölt zárást betöltjük a főregiszte- rekbe, f-et az So,o regiszterbe és -1-et az Sí,o regi szterbe.
8. lépés: A funkciót, azaz az f(x)=abs(x)+1 függvényt al- kalmazzuk (végrehajtjuk) az argumentumra, amely eredményül 2-őt ad, és ezt az So, o regiszter-be tároljuk.
9. lépés: egy asszociatív keresést hajtunk végre a tárban az id6 azonosítóra, és az id6 valamennyi előfordulását a 2-vel helyettesítjük:
id1 : (2 id7 id8) id7 : (f -2) id8 : (leképezés f id3)
10. lépés: a 7-9. lépéseket végrehajtjuk az id7 azonosítóra vonatkozóan is, amely eredményül 3-at ad. A tár képe az alábbi lesz:
id1 : (2 3 idS) id8 : (leképezés f id3)
11. lépés: az 1-6 lépéseket végrehajtjuk az id8 azonosítóra vonatkozóan, amelynek eredményeként a bázis regiszter mátrix oszlopai közül kettőt a tárban tárolunk:
• *> · * · « · · · ♦ •«· ·*· · »
12. lépés:
i d 1 :(2 3 id8)
id8 :(id9 id10)
i d9 :(f -7)
id10: (f -8)
a 7-9lépéseket végrehajtjuk azid9 és id10 azo
nosí tókra, amelyek eredményéül 8illetve 9 adó
dik. Atár képe:
i d 1 :(2 3 id8)
i d8:(8 9)
amit úgy olvashatunk, argumentum lista hogy valamennyi (8 9)) (2 elemére végrehajtottuk.
az f függvényt az jegyezni, egy eltérő végrehajthatja. A
Meg kell ponti regiszter i s tárban törénő tárolása tést/végrehaj tást végezni, amikor ez hogy a leírt lépéseket a 3 köz, az előbbinél hatékonyabb módon közbenső eredményeknek az 1 objektum helyett például a további egyszerüsíközponti regiszterben is el lehetne lehetséges.
az transzponál ás
Formátuma:
(transzponálás lista)
A transzponálás utasítást a kiegészítő regisztenek egyikébe, például az FO regiszterbe töltjük, a lista argumentumot, például egy listákból álló listát pedig a bázis regiszter mátrixba töltjük, lásd a 18. ábrát. A bázis regiszter mátrix tartalmát transzponáljuk. Ilymódon a transzponálás utasítás a követke86 • ♦ · · ·· ···· • · · · 9 9 · • ·♦· ·· « • · · · · · · ző három szintű struktúrával rendelkezik:
(transzponálás, ((ei , 1 , . . ., ei , ), ( en, 1 , . . . , θη , m ))) és úgy kerül végrehajtásra, hogy az eredményt az alábbi kétszintű struktúrába írjuk vissza:
( ( Θ1 , 1 , · · > , ®n , 1 ) , ( ei , n , . . . , en , m ) )
Egy illusztráló példa:
Az alábbi lista struktúrát ((1 2 3 4), (567 8), (9 10 11 12), (13 14 15 16)), ahol az első lista, azaz az (1234) a bázis regiszter első oszlopában, vagyis az So,o-től So,3-ig terjedő regiszterekben van tárolva, a második lista, azaz az (5 6 7 8) a bázis regiszterek második oszlopában, vagyis az Si,o-Si,3 regiszterekben van tárolva, transzponáljuk a következőképpen:
át
((15913),
(261014) ,
(371 115) ,
(481 216)),
ahol az első lista, azaz (1 59 13) a bázis regisz terek első oszlopában, vagyis az So,o-So,3 regiszte87 < ·♦ ·4 ···· • · · * · ··« ··· c* · • · · · · · zik:
(átlépés m ((ei.i,.. .), (e·-1,1 (e· , 1 (©+1,1,...) • · · (en.l , ...))) ahol a listákból álló listát, melynek ei , j elemei ahol i és j az elemnek a bázis regiszter mátrixban elfoglalt pozícióját kijelölő indexek, egy kétszintű struktúrába írjuk vissza:
((ei , (e· -1 (e· +1 ( ©η , 1 úgy,
,...)) hogy az (e· , i ,. . . ) listát töröljük.
4. Lista kivonás tartalmazó célt elhelyezünk a főregisztea lista olyan elemeket tartalmaz, melyek
Egy listát rekben. Amennyiben beszúrt listák, akkor ezeket a listákat a kiegészítő regiszterekben függőlegesen tároljuk.
Egy végre lehet el 1 éptetj ük 1 évő
1ista_kifejtési hajtani. A bázis lefelé jobbra tartalom kivételével, műveletet egyetlen ciklusban regiszterek tartalmát átlósan egy lépésben, a fő regiszterben amelyet kiviszünk a függőleges
buszra és annak az oszlopnak a legfelső regiszterébe illesztünk be (lásd a 19. ábrát). A főregiszterek adattal való kitöltése céljából egy ismételt 1ista_kifejtést hajthatunk végre.
A BIT REKESZ
A teljes memóriát, amely a találmány szerint része a redukciós processzornak, VLSI technikával (VLSI=Nagyon nagy fokú integrálás) szándékozzuk megvalósítani. Ilymódon minden egyes 15 bit-rekesznek olyan konstrukciója lesz, amelyet a VLSI technikával történő megvalósításhoz adaptálunk. A 15 bit-rekesz áramkör egy megvalósítása, a d, d* és acc bit rekesz huzalok meghajtóival együtt a 20. ábrán látható. A 15 bit-rekesz szaggatott vonnállal körülvéve láthatók.
Minden egyes 15 bit-rekesz két vezetékkel van a vezérlő egységhez kötve, mint amilyenek a 20. ábrán látható egy megvalósításnál a d és d* huzalok. Ilymódon az információ tárolása céljából egy elemhez vezető, 38 bit szélességű, információs busz minden része 76 huzalt tartalmaz. Minden ilyen buszrész hozzá van kapcsolva a 151 tároló rekesz mezőkhöz, amelyek a tároló rekesz területének egy oszlopában vannak elhelyezve.
Amint ez a 20. ábrán látható, a 15 bit-rekesz mindössze négy csatlakozással rendelkezik, azaz a vCc első csatlakozással, amely állandó jeleggel egy tápfeszültségre van kapcsolva, valamint egy második, harmadik és negyedik (acc, d, d*) csatlakozással, amelyek mindegyike legalább három különböző vezérlési szintre állítható be, amint ezt az alábbiakban részletesebben leírjuk.
·♦ 99 ···· • 4 · 9 9
Í99 ··· 99 9
9 9 9 9
A 20. ábrán látható 15 bit-rekesz egy négy tranzisztoros CMOS rekesz. Ez statikus és egy terheléssel rendelkezik. Az 11 és 12 terhelés MOS-FET forrás/föld kivezetései, amelyek ebben a megvalósításban invertált kapukkal rendelkeznek. Ehelyett az is lehetséges, hogy ellenállás terhelésük van (az ábrán nem látható).
A 15 bit-rekesz egy mindkét oldalról vezérelhető flip-flop. Az acc elérési vezeték és a Vcc tápvezeték között két soros csatlakozás van párhuzamosan bekötve, mindkettő magában foglalja egy MOS FET forrás/föld átmenetét és a T1 tranzisztort és 11 terhelést illetve a T2 tranzisztort és 12 terhelést. A T1 tranzisztor föld kivezetése rá van kötve a T2 tranzisztor kapu elektródájára, a T2 tranzisztor föld kivezetése pedig rá van kötve a T1 tranzisztor kapu elektródájára. A d vezeték és a T1 tranzisztor föld kivezetése, az 11 terhelés és a T2 tranzisztor kapu elektródájának n1 öszszekapcsolása közé egy D1 dióda van bekötve. A d* vezeték és a T2 tranzisztor földje, az 12 terhelés és a T1 tranzisztor kapu elektródájának n2 összekapcsolása közé egy D2 dióda van bekötve. A D1 és D2 diódák egy MOS FET-tel vannak ellátva, amelynél a föld kivezetés és a kapu elektróda össze van egymással kötve, valamint hozzá vannak kötve a d illetve a d* vezetékhez.
Az áramköri elemek alapvető tulajdonságai azok, hogy a D1 és D2 diódák olyan elemek, amelyek az áram haladását csak az egyik irányban engedik meg, a és d* vezetékekhez képest, és hogy a T1 és T2 tranzisztorok aktív elemek, amelyekben az áramot a kapuikon lévő feszültség változtatásával * »··· ·· · « · · · • *·· »ν· «· · • · · · · · · ·ΰ· ·4 4«. »· ·« lehet vezérelni. Az n1 és n2 összekapcsolások olyan csomópontok, amelyeken egy egy-bites információhoz rendelt potenciál tárolható. Az 11 és 12 terhelések olyan elemek, amelyek ellenállásként viselkednek.
A 20. ábrán a vcc feszültség pozitív feszültségként van feltüntetve. A D1 és D2 diódák ennek következtébe úgy vannak irányítva, hogy az áram a d vagy d* vezeték felől halad az n1 vagy n2 csomópontok felé. A T1 vagy T2 tranzisztorok (aktív elemek) ellenállását lecsökkentjük, amikor a kapu elektródákon lévő potenciál növekszik, és így a csomópontokon lévő potenciált csökkentjük. Megjegyzendő azonban, hogy más megvalósításoknál a potenciálok és az áramok úgy is megválaszthatók, hogy a 20. ábrán látható megvalósításhoz képes ellenkező irányokat kapunk.
A 15 bit-rekesz egy vtár értéket tud tárolni, ahol a képviselt érték vagy igaz vagy hamis. A 15 bit-rekesznek olyan szerkezete van, hogy az több különböző funkcionális állapotba állítható azáltal, hogy az acc, d és d* vezetékeken különböző potenciált állítunk be.
A vezérlő állapotok a felső szint, alsó szint, a rekeszbe befolyó áram valamennyi vezeték részére, valamint a rekeszből kifolyó áram az acc vezeték részére. Az acc vezeték egy elérési (hozzáférési) vezeték, amely a 16 elem fejtől indul és valamennyi 15 bit-rekeszhez hozzá van kötve egy 151 tárrekesz mezőben. Ad és d* harmadik és negyedik vezetékek egymáshoz képest invertált jelekkel rendelkeznek akkor, amikor a 15 bit-rekesz írása vagy olvasása folyamatban van, és az acc elérési vezeték ALACSONY logikai szintű érté92 • · · • · ken van.
A 16 elem-fejben lévő meghajtó és érzékelő erősítők
A 16 elem-fejben lévő meghajtó és érzékelő erősítőket a 20. ábrán mutatjuk be vázlatosan, egy szaggatott vonallal rajzolt négyzetben. Egy első T3 tranzisztor forrás elektródája Vr feszültségre, nyelő elektródája az acc elérési vezetékre van kötve egy 151 tárrekesz mező valamennyi 15 bit-rekeszénél, kapu elektródájára pedig a prech (előtöltő) órajelek vannak ráadva egy órajel generátortól (az ábrán nem látható). Egy második T4 tranzisztor forrás elektródája 0V feszültségre, nyelő elektródája az acc elérési vezetékre van kötve egy 151 tárrekesz mező valamennyi 15 bit-rekeszénél, kapu elektródájára pedig a V3 feszültség van ráadva, amely akkor veszi fel magasabb értékét, amikor az acc elérési vezetéken a 0V feszültség jelenik meg. Amint korábban említettük, az acc elérési vezeték egy zárás elemben valamennyi 15 bit-rekeszhez hozzá lesz kötve, így például 38 db 15 bit-rekeszhez. Ez a 16 elem-fejben van megoldva. Emiatt a 16 elemfejnek kicsinek kell lennie. Az acc vezetékben a feszültség szintjét egy AMP erősítő erősíti.
A 7 transzformáló interfészben lévő meghajtó és érzékelő áramkörök
A 7 transzformáló interfészben a d és d* bit-rekesz vezetékekhez tartozó meghajtó és érzékelő áramköröket a 20. ábra egy másik szaggatott vonallal jelzett négyzetében mutatjuk be vázlatosan. Meg kell azonban jegyezni, hogy az áramkörök csak egy lehetséges módját mutatja be a d és d* vezetékek meghajtására és érzékelésére. Az IN/OUT kimenet/ • · · bemenet a 2 központi tárrekeszhez van kapcsolva az 1. ábrán.
Ilymódon az áramkör egy a sok hasonló áramkör közül, amelyek a 7 transzformáló interfészben rendelkezésre állhatnak az 1 objektum tár és a 2 központi tárrekesz között.
A d vezetékhez tartozó író áramkör magában foglal egy első T5 és T6 tranzisztor-párt, amelyek közül az első n-típusú, a második pedig p-típusú a mutatott megvalósításnál, ezek nyelő elektródája a d vezetékre van kötve, és egy feszültség osztót képeznek. A T5 tranzisztor forrás elektródája Vr potenciálra van kötve, kapu elektródájára pedig a prech előfeszítő jel van ráadva. A másik T6 tranzisztor forrás elektródája a Vcc potenciálra van kapcsolva, kapu elektródájára pedig V4 vezérlő jel van ráadva, amely akkor veszi fel alsó értékét, amikor a Vcc potenciált ráadjuk a d vezetékre. A d vezetékhez tartozó író áramkör ugyancsak magában foglalja egy p-típusú T9 tranzisztor és egy n-típusú T10 tranzisztor sorosan kapcsolt forrás/nyelő elektródáit, amelyek a Vcc feszültség forrás és egy T11 n-típusú tranzisztor nyelő elektródája között helyezkednek el, ahol a T11 tranzisztor forrás elektródája a földre van kötve, kapu elektródája pedig a külső vezérléstől jövő bemeneti vezetékhez van kötve. A T9 és T10 tranzisztorok nyelő elektródái közötti csatlakozás a T6 tranzisztor kapu elektródájára van kötve, és a V4 feszültséggel rendelkezik. A T9 tranzisztor kapu elektródájára a prech* invertált előfeszítő feszültség van ráadva, amely a T6 tranzisztor kapu elektródáját az előfeszítési fázis alatt a vezető T9 tranzisztoron keresztül hozzákapcsolja a Vcc forrás feszültséghez.
• · ·
A d* vezetékhez tartozó író áramkör magában foglal egy második T7 és T8 tranzisztor-párt, amelyek közül az első n-típusú, a második pedig p-típusú a mutatott megvalósításnál, ezek nyelő elektródája a d* vezetékre van kötve, amelyek egyúttal egy feszültség osztót is képeznek. A T7 tranzisztor forrás elektródája Vr potenciálra van kötve, kapu elektródájára pedig a prech előfeszítő jel van ráadva. A másik T8 tranzisztor nyelő elektródája a Vcc potenciálra van kapcsolva, kapu elektródájára pedig a V5 vezérlő jel van ráadva, amely akkor veszi fel alsó értékét, amikor a Vcc potenciált ráadjuk a d* vezetékre.
A d* vezetékhez tartozó író áramkör ugyancsak magában foglalja egy p-típusú T12 tranzisztor és egy n-típusú T13 tranzisztor sorosan kapcsolt forrás/nyelő elektródáit, amelyek a Vcc feszültség forrás és egy n-típusú T11 tranzisztor nyelő elektródája között helyezkednek el. A T12 és T13 tranzisztorok nyelő elektródái közötti csatlakozás a T8 tranzisztor kapu elektródájára van kötve, és a V5 feszültséggel rendelkezik. A T12 tranzisztor kapu elektródájára a prech* invertált előfeszítő feszültség van ráadva, amely a T8 tranzisztor kapu elktródáját az előfeszítési fázis alatt a vezető T12 tranzisztoron keresztül hozzákapcsolja a Vcc forrás feszültséghez.
A kimenetre és bemenetre szolgáló külső IN/OUT vezeték két három-ál 1apotő inverterhez van kötve. A három-állapotú inverterek egyikének kimenete, amely az IN/OUT vezetékhez van kötve, magában foglalja a két n-típusú T14 és T15 tranzisztor és a két p-típusú T16 és T17 tranzisztor sorosan kapcsolt forrás/nyelő kimeneteit. A T16 tranzisztor kapuja egy vezérlő vezetékhez van kapcsolva, amely a bitin jelet biztosítja, a T15 tranzisztor kapujára pedig a bitin* invertált jel van ráadva. A második három-állapotú inverterpár kimenete, amely az IN/OUT vezetékhez van kötve, magában foglalja a két n-típusú T18 és T19 tranzisztor és a két p-típusú T20 és T21 tranzisztor sorosan kapcsolt forrás/nyelő kimeneteit. A T19 tranzisztor kapuja egy vezérlő vezetékhez van kapcsolva, amely a bitin jelet biztosítja, a T20 tranzisztor kapujára pedig a bitin* invertált jel van ráadva. A második inverter kimenete a T13 tranzisztor kapujára van kötve, valamint egy INV inverteren keresztül a T10 tranzisztor kapujára.
Egy olvasó erősítő magában foglal egy T22 tranzisztort, melynek forrása a földhöz, kapuja pedig egy állandó Vbias (előfeszítő) feszültséghez van kötve, amely a T22 tranzisztort állandóan vezető állapotban tartja és egy áram-generátorként funkcionál, és amelynek nyelője hozzá van kapcsolva a két n-típusú T23 és T24 tranzisztor sorosan kapcsolt forrás/nyelő elektródáihoz és az azokkal párhuzamosan kapcsolt két p-típusú T25 és T26 tranzisztor sorosan kapcsolt forrás/nyelő elektródáihoz, amelyek másik vége a Vcc forrás feszültséghez van kötve. A p-típusú T24 és T25 típusú tranzisztorok kapui össze vannak kötve és hozzá vannak kapcsolva a T23 és T24 tranzisztorok nyelő elektródáihoz. A t23 tranzisztor kapuja hozzá van kötve a d vezetékhez, a T25 tranzisztor kapuja pedig a d* vezetékhez.
Az összes óra periódus, a prech és prech* jelek fel • · · vannak osztva egy előtöltő fázisra, amelynek során a prech jel értéke magas; valamint egy végrehajtási fázisra, amelynek során a prech jel értéke alacsony logikai szintű és a további vezérlő jelek szabják meg végrehajtandó műveletet. Ily módon az előtöltő fázis alatt a d és d* és acc vezetékek a Vr feszültségre töltődnek fel, a T5, T7 és T3 tranzisztorokon keresztül.
A bitin és bitin* jelek vezérlik azt, hogy az adatok mikor lesznek a 15 bit-rekesz felé vagy attól elküldve. Amikor a bitin jel alacsony logikai szintű és a bitin* jel magas logikai szintű, akkor az első három-állapotú inverter az adatokat a 15 bit-rekesztől az IN/OUT vezeték felé küldi el. Amikor a bitin jel magas logikai szintű és a bitin* jel alacsony logikai szintű, akkor a második három-állapotú inverter az adatokat az IN/OUT vezetéktől a 15 bit rekesz felé küldi el.
Az olvasási művelet esetén a második fázis alatt, miután a d, d* és acc vezetékek fel lettek töltve a Vr feszültségre, a d és d* vezetékek lebegő állapotban maradnak, az acc vezeték pedig OV feszültségre lesz állítva a magas logikai szintű V3 feszültség révén, amely a T4 tranzisztort vezetővé teszi. Ez azt eredményezi, hogy a legalacsonyabb potenciállal rendelkező csomópont, mondjuk az n1 , lecsökken a Vr és OV feszültség közé. Emiatt a d vezetéktől az n1 csomóponthoz és az acc vezetékhez egy áram folyik. Ez az áram kisüti a d vezetéket, vagyis a d vezetékben csökken a feszültség. Ezt a feszültség csökkenést a T22-T26 tranzisztorokból álló olvasó erősítő méri. Ezen olvasás eredményét • · · ·♦· • · · ráadjuk a T25 és T26 tranzisztorok nyelő elektródái közötti csatlakozásra, és betápláljuk a T14-T17 tranzisztorokból álló első három-állapotú inverter bemenetére. Az alacsony logikai szintű bitin jel és a magas logikai szintű bitin* jel biztosítják a beolvasott és felerősített bit érték átvitelét az IN/OUT kimeneti/bemeneti vezetékhez. Fontos, hogy a második fázis során ad és d* vezetékeket ne hajtsuk meg aktív módon, mivel ekkor nem szabad feszültségcsökkenést kapnunk a vezetékek egyikén sem.
Ilymódon az olvasási művelethez úgy a d mint a d* vezetékek kezdetben a Vr feszültségen vannak, Úgy a d, mint a d* lényegében a Vr feszültségen lesznek tartva, de egyikük egy kissé csökenni fog a rekeszbe befelé irányuló áram miatt, amely a d, d* vezetékek egyikét kisüti. Miután a Vr feszültséget itt alacsony értékűnek definiáltuk, az alacsony logikai potenciál alacsonyabb lesz, mint az alacsony érték. A d és d* adják az olvasott értékeket. Ha d alacsonyabb a d*-nál, akkor az érték FALSE (HAMIS), ha a d magasabb a d*-nál, akkor az érték TRUE (IGAZ). A nem írás, a hamis írása”, az igaz írása és a nem hasonlítás műveletek esetében a d és d* vezetékeken lévő információ potenciál nem adnak semmi információt.
Az írási művelet esetén a második fázis alatt, miután a d, d* és acc vezetékek fel lettek töltve a Vr feszültségre, az acc vezeték OV feszültségre lesz állítva a magas logikai szintű V3 feszültség révén, amely a T4 tranzisztort vezetővé teszi. A tárolandó értéket a bementi/kimeneti IN/ OUT vezetéken biztosítjuk. A magas bitin és az alacsony bitin* logikai szintek aktiválják a T18-T21 tranzisztorokból ·«· ·· • · ···· álló második háromállapotú invertert, hogy átvigyék az IN/ OUT vezetéken lévő értéket a kimenetére. A magas értékű írás vezérlő jel a T11 tranzisztor kapu elektródáján összekapcsolja a T10 és T13 tranzisztorok forrás elektródáját a OV feszültséggel.
A T18-T21 tranzisztorokból álló második három-állapotú invertertől érkező magas logikai szintű, vagyis 0 vagy hamis-nak írandó jel a T13 tranzisztort vezető állapotba vazérli, a V5 feszültséget alacsony értékűre állítja, a ΤΘ tranzisztort vezető állapotba vezérli, és a d* vezetéket a Vcc feszültsségre, azaz magas logikai szintűre, állítja. A második három-állapotú invertertől jövő invertált jelet a T10 tranzisztor kapu elektródájára adjuk, amely alacsony logikai szintű értékű lévén, a T10 tranzisztort továbbra is nem-vezető állapotban tarja, a V4 feszültséget, amely a Vcc feszültség forrásra lett kötve az előtöltési fázis alatt, továbbra is ezen a feszültségen tartjuk. A T6 tranzisztor továbbra is nem-vezető állapotban lesz tartva, és a Vr feszültség, amely az előtöltési intervallum alatt a T5 tranzisztoron keresztül a d vezetékre van kapcsolva, továbbra is fenn lesz tartva.
A T18-T21 tranzisztorokból álló második három-állapotú invertertől jövő alacsony logikai szintű, vagyis 1 vagy igaz-ként írandó jel a d huzalhoz tartozó T5,T6, T9, T10 tranzisztorokból álló író áramkört úgy fogja vezérelni, hogy az a magas logikai szintű Vcc feszültségre álljon be az INV inverteren keresztül, miközben a T7, T8, T12, T13 tranzisztorokból álló író áramkör a d* vezetéket a Vr feszültsé99 • · • · « « · ··· ··· ·· · • · · · « ···· gén fogja tartani, amire az az előtöltési fázis alatt be volt állítva.
Amint ez a fenti példákból nyilvánvaló, az n1 és n2 csomópontok részei a 20. ábrán látható megvalósításnak, és a következő működési módon használjuk. A műveletet! ciklus második fázisa alatt az n1, n2 csomópontok egyikét vagy mindkettőjét feltöltjük vagy kisütjük, attól függően, hogy a V3, V4 és V5 vezérlő jelek melyikét használjuk, azaz hogy az acc vezetéket a 0V feszültségre állítjuk-e, vagy a d és d* vezetékek egyikét (vagy mendkettőjét) a Vcc feszültségre ál 1ítjuk.
Amint fentebb említettük, minden műveleti ciklus egy előtöltési periódusból és egy végrehajtási periódusból áll. Ilymódon, amikor az alábbiakban azt említjük, hogy az acc vezeték magas logikai szintre van állítva, azt jelenti, hogy a V3 jel nem vezérli a T4 tranzisztort, hogy az beállítsa a 0V feszültséget az acc vezetékre a végrehajtási periódus alatt. Hasonlóképpen, amikor az alábbiakban azt említjük, hogy a d vagy d* vezetéket alacsony logikai színre állítjuk, akkor ez alatt azt értjük, hogy a V4 vagy V5 vezérlő jel nem vezérli a T6 vagy T8 tranzisztort hogy azok kapcsolási állapotba kerüljenek a Vcc feszültségen keresztül a d vagy d* vezetékre a végrehajtási periódus alatt, mivel a Vcc feszültség magasabb értékű mint a Vr feszültség. Amikor azonban a d vagy d* vezetekeket magas logikai szintre állítjuk, akkor a T6 vagy T8 tranzisztorok úgy lesznek vezérelve, hogy azok a Vcc feszültségen keresztül rákapcsoljanak a vezetékre .
100 ···· • · ·· ·« • · · * · « • ··· ··· ·· • · · · ·
A tárrekesz terület meglehetősen nagy méretű lehet, például ha az 256 tárrekeszt tartalmaz, ami azt jelenti, hogy a T5, T6 valamint a T7, T8 tranzisztor-párok mindegyi-
két hozzákötjük egy céljaira szolgál azvezetékhez, amely az egy bites rekeszekösszes tárrekeszben, mint amilyen a 256
bites 10 tárrekeszis. Emiatt a tranzisztorok méreteit a
teljes busz kapacitásához és a kívánt sebességhez kell beál1ítan i.
A Vr feszültséget egy rövidebb inverterből is előállíthajuk, hogy a Vr és az érzékelő erősítő inverter között egy ismert relációt tartsunk fenn. A fejben lévő elérési áramkörök fogják vezérelni a bit rekeszeket és ki is olvassák az információt a 15 bit-rekeszekből.
A vezérlő állapotok a következő funkcionális állapotok állíthatók be:
nyugalom: a rekesz a vstore értéket tárolja
hamis olvasása: a vstore=hamis érték olvasható ki
igaz olvasása: a vstore=igaz érték olvasható ki
ne olvass: a rekesz a vstore értéket tárolja
hamis írása: a tárolt vstore értékét hamis”-ra állítja
igaz írása: a tárolt vstore értékét igaz-ra állítja
ne í rj: a rekesz a vstore értéket tárolja
hasonlítás hamissal: a tárolt vstore értéket összehason-
hasonlítás igazzallítja a hamis értékkel.: a tárolt vstore értéket összehason-lítja az igaz értékkel.
101 ne hasonlíts : a rekesz csak tárolja a vstore értéket.
Az alábbi táblázat egy 15 bit-rekesz különböző műveleti módjaihoz tartozó műveleti táblázat:
Műveleti módaccdd*
nyugalomalacsonyalacsonyalacsony
hamis olvasásaalacsonyáram bemagas
igaz olvasásaalacsonymagasáram be
ne olvassmagastetsző 1egestetsző 1eges
hamis írásaalacsonyalacsonymagas
igaz írásaalacsonymagasalacsony
ne í rjmagastetsző legestetsző 1eges
hasonlítás hamissaltetsző 1egesalacsonymagas
hasonlítás igazzaltetsző legesmagasalacsony
ne hasonlítstetsző 1egesalacsonyalacsony
A hasonlításhamissal ésa hasonlításigazzal müve-
letek esetében az acc vezetéknekáram ki állapotban kell
lennie, ha a hasonlítás eredményeKÜLÖNBÖZŐ.
A hasonlításhamissal ésa hasonlításigazzal müve-
letek esetében az acc(elérési)vezeték adjaaz összehason-
lítás eredményét. Azacc vezetékelő lesz töltve a Vr fe-
szültségre, a bemenő adatok a d vezetéken jelennek meg, inverzük pedig a d* vezetéken. Amennyiben a 15 bit-rekeszben tárolt érték különbözik a bemenő adattól, az acc vezeték töltése a D1 vagy D2 diódák egyikén valamint a hozzájuk tartozó n-típusú T1 vagy T2 tranzisztoron keresztül történik. Ezt az AMP erősítő érzékeli a 16 elem-fejben. Amikor egy EGYEZŐ öszszehasonlítási eredményt érzékel, akkor az acc vezeték a Vr feszültségen lesz tartva.
102 β «· ·· • · · · k ··· ··· ·· • · · · ·
Az áram be és áram ki kifejezések az fejezik ki, hogy egy töltés befelé illetve kifelé halad a kérdéses vezetékben egy meghatározott ideig. Ez általában azáltal történik, hogy a vezetéket a MAGAS vagy ALACSONY logikai szintre inicializáljuk a NYUGALOM műveleti módban, majd a tényleges módra változtatjuk. Ekkor a kérdéses vezetéket egy áram kisüti vagy feltölti. Amikor áram nincs, akkor érzékelhető töltés nem lesz szállítva. Emiatt az adott idő szekvencia alatt nem történik feszültség változás.
AZ OBJEKTUM TÁR VEZÉRLŐ ÁRAMKÖRÖK
A 11 prioritás dekóder (21A és B ábrák)
A 11 prioritás dekóder 21A és 21B ábrákon látható megvalósítása 4-blokkokra van osztva. Amint a 21A ábrán látható, mindegyik 4-blokknak van egy pár baloldali vezetéke, ezek a granta (megadás-a) és reqa (kérés-a), valamint négy pár jobboldali vezetéke, a reqO, grantO,...-tói a req3, grant3ig bezárólag.
Amint a 21B ábrán látható, egy első (520) 4-blokk négy pár jobboldali vezetéke rendre négy 4-blokk, ezek közül az külső 521 és 522 blokkok az ábrán láthatók, baloldali vezeték-párjaihoz van kötve. Az 520, 521 blokkok és az 520, 522 blokkok össze vannak kötve az invertáló 523 és 524 erősítők révén, az 523 erősítő információt ad át eggyel lejjebbi szintre a blokk-láncolatban, hogy egy prioritás kérésre van szükség a lánc eggyel feljebbi szintjén lévő blokkban; az 524 erősítő pedig a blokk-lánc eggyel magasabb szintjére ad olyan információt, hogy egy megadás (engedélyezés) meg lett adva. Ennek megfelelően a második 521 ... 522 4-blokk103 ··« • · • · · · · · ··* «« ·· ? · bán lévő blokkok száma négy.
A második oszlopban lévő minden egyes blokk hozzá van kötve négy 520 4-blokkhoz a blokkok harmadik oszlopában, ugyanolyan módon, mint ahogyan a második oszlopban lévő blokkok hozzá vannak kapcsolva az 520 4-blokkhoz. A harmadik oszlopban lévő 520 4-blokkok száma ennek következtében tizenhat lesz. Csak a legkülső, 525 és 526 blokkok láthatók.
Hasonló módon a harmadik oszlopban minden egyes blokk négy darab 520 4-blokkhoz van hozzákötve a negyedik oszlopban. A harmadik oszlopban kévő 520 4-blokkok száma emiatt hatvannégy. Csak a legkülső, 527 és 528 blokkok láthatók .
A negyedik oszlopban lévő 520 4-blokkok jobboldali vezetékei az 1 objektum tárhoz vannak kötve. Minden pár úgy van kialakítva, hogy egy 10 tárrekeszhez vezető 18 és 19 buszokként szolgáljanak, amint ez a 21B ábrából nyilvánvaló.
Nyolvanöt blokk van biztosítva ahhoz, hogy 256 zárást kiszolgáljanak. A legalsó 528 blokk szolgálja ki a legalsó 10 tárrekeszeket, le egészen a 0-ás számú 10 tárrekeszig; és a legfelső 527 blokk szolgálja ki a legfelső 10 tárrekeszeket, vagyis a 255-ig terjedő 10 tárrekeszeket.
A 21A és 21B ábrákon látható elrendezés dominó előtöltési logikát használ, ahol a teljes prioritás dekódoló kaszkád dominó fázisokat foglal magában, amely egy kérési jel továbbításának felel meg, például a reqO-ának a legalsó 528 blokkból az összes prioritás dekódoló blokkon keresztül és vissza, hogy egy hamis megadási jelet adjon az összes 10 tárrekesznek, kivéve a 0-ás számú tár rekesznek.
104
Amint az a 21A ábrán látható, mindegyik blokk magában foglal 5 sor MOS FET tranzisztort, mindegyik sor eggyel több MOS FET tranzisztor foglal magában, mint az alatta fekvő sor, kivéve az ötödik sort, amelyben ugyanannyi MOS FET
van, mint a negyedik sorban.
A négy legalsó sor jobbszélén lévő, Tro,o-tól Tr3,o-ig terjedő MOS FET tranzisztorok mindegyike p-típusúnak van ábrázolva, és kapujuk egy órajel forráshoz van kapcsolva, nyelőjük egy pozitív tápfeszültséghez, forrásuk pedig rendre a grantO, grantl, grant2 illetve grant3 megadó (engedélyező) vezetékhez van kötve. A legfelső sorban lévő Tr4,o MOS FET tranzisztor forrása, ahelyett hogy a granti vezetékhez lenne kötve, ahol i egy 0 és 3 közötti szám, a reqa vezetékhez van kötve, amely viszont a blokk-kaszkádban egyel alacsonyabban fekvő blokkhoz van kötve egy 523 inverteren keresztül.
A további vannak rajzolva, Τη , 1 és Τη , 2 harmadik sorban, sorban, Tr4,2 , forrás elektródái a amelyek n-típusúnak
Tro,1 az első sorban,
Tr2 , 1 , T Γ2 , 2 , ΤΓ2 , 3 a és Tr3,4, a negyedik
Tr4,3, Tr4,4 és Tr4,5 az ötödik sorban, ezek földhöz van kötve, nyelő elektródájuk
MOS FET tranzisztorok, és amelyek a második rendre a sorban, , ΤΓ3 , 3 ,
Tr4 ,5 pedig rendre a grantO, grantl, grant2 vagy grant3 engedélyező vezetékek egyikéhez, a négy alsó sor esetében, illetve a reqa vezetékhez az ötödik sor esetében.
A granta vezeték hozzá van kötve a TRo , 1 , TR1,1 ,
TR2,1, tr3,i MOS FET tranzisztorok mindegyikéhez. A reqO vezeték hozzá van kötve a TR1,2, TR2,2, TR3.2 és tr4,2 MOS
105 • ·
FET tranzisztorok minegyikének kapujához. A req1 vezeték hozzá van kötve a TR2,3, TR3,3 tr<,3 MOS FET tranzisztorok minegyikének kapujához. A req2 vezeték hozzá van kötve a TR3,4 és TR,4 MOS FET tranzisztorok minegyikének kapujához. A req3 vezeték hozzá van kötve a TR<, 5 MOS-FET tranzisztor kapu elektródájához.
A 11 prioritás dekóder két fázisban működik. Az első fázisban, amikor az órajel alacsony logikai szintű, akkor minden grantl elő lesz töltve a magas (igaz) logikai szintre. Ezután az összes req1 jel alacsony logikai szintű (nem szükséges) lesz. A második fázisban az előtöltés lezárul, azaz az órajel magas logikai szintű lesz. Ezután a req1 kimenetek némelyike vagy mindegyike magas logikai szintű lesz, amely vmennyi előbb említett granti-t alacsony logikai szintre (nem kiválasztott) állítja, és a reqa értékét alacsony logikai szintre állítja. Amennyiben egy reqa alacsony logikai szintűre változik, akkor egy, a 21. ábra baloldalán lévő, szomszédos 4-blokkban lévő reqi magas logikai szintre lesz állítva. Az 520 4-blokkban lévő reqa és granta jeleknek nincs jelentősége. Az 520 4-blokkban lévő granta azonban a földhöz van kötve. Az 520 4-blokkban lévő jel biztosítja a BÁRMELY (ANY) eredményt a 2. és 3. ábrákon lévő 14 buszon, mivel ennek alacsony logikai szintűre kell változnia, amikor bármelyik, a tárrekesz záráshoz kötött, reqi magas logikai szintűvé változik.
A 16 elem-fej (22. ábra)
A 16 elem-fej egy részletes megvalósítása látható a
22. ábrán.
A 16 elem-fej vezérli a 10 tárrekeszhez vezető
106
acc vezetéket. Érzékeli az acc elérési veztéket és a BÁRMELY 14 buszt, amelyet itt bármely_típusnak nevezünk, végrehajtja a huzalozott_és és huzalozott_nem-és műveleteket az a és b buszokon, és egyúttal olvassa is az a és b buszokat. Ezen túlmenően, magában foglal egy belső dinamikus memória bitet.
Egy nO n-csatornás MOS FET tranzisztor forás/nyelő elektródája a Vr feszültség, amely ugyanazon Vr feszültség, mint a 20. ábrán, és az acc alérési vezeték közé van bekötve. A cpq óra impulzust ráadjuk az nO MOS FET tranzisztor kapu elektódájára. Egy n-csatornás n1 MOS FET forrás/nyelő elektródája a föld és az acc elérési vezeték közé van iktatva.
A p-csatornás p2 és p3 MOS FET tranzisztorok párhuzamosan kapcsolt forrás/nyelő kivezetései, a p-csatornás p4 MOS FET tranzisztor forrás/nyelő elktródája és az n-csatornás n5 MOS FET tranzisztor nyelő/forrás kivezetése sorosan a Vcc feszültség forrás és a föld közé van kötve.
Egy bármely_típusu vezeték, amely a legközelebbi bit rekeszhez van kötve, közvetlenül a p2 MOS FET tranzisztor kapu elektródájához van kapcsolva. A központi vezérlő egységtől jövő match (egyezés) vezeték a p3 MOS FET tranzisztor kapu elektródájára van kötve. Az acc elérési vezeték keresztül hal ad az INV 1 inverteren, amely magában foglalja a p-csatornás p1 MOS FET tranzisztor és az n-csatornás n6 MOS FET tranzisztor sorosan kapcsolt forrás/neylő kivezetéseit, és amelyek kapu elektródái az acc elérési vezetékhez, ami
107
viszont a p4 MOS FET tranzisztor kapu elektródájához van kötve. Egy n-csatornás n7 MOS FET tranzisztor forrás/nyelő vezetéke az INV1 inverter és a föld közé van kötve. A központi vezérlő egységtől jövő eval (kiértékelés), azaz a kiválsztást kiértékelő, vezeték az n7 MOS FET tranzisztor kapu elektródájához van kötve. A központi vezérlő egységtől jövő set.s, azaz a kiválasztás beállítása nevű vezeték az n5 MOS FET tranzisztor kapu elektródájára van kötve.
A p4 és n5 MOS FET tranzisztorok nyelői között lévő i1 öszszekapcsolási pont, amelyet egyúttal kiválasztási csomópontnak is nevezünk, a p-csatornás p6 MOS FET tranzisztor nyelőjéhez van kötve, ahol a p6 tranzisztor forrása a p7 p-csatornás MOS FET tranzisztor forrás/nyelő kivezetésén keresztül a +Vcc feszültség forrásra van kötve. A központi vezérlő egységtől jövő rését.b (b-t visszaálító) vezeték a p6 MOS FET tranzisztor kapu elektródájához van kötve. Egy b vezeték, amely ugyanaz, mint a 3. ábrán lévő b vezeték, hozzá van kötve a p7 MOS FET tranzisztor kapu elektródájához.
Egy p-csatornás p8 MOS FET tranzisztor nyelő elektródája az a vezetékhez van kötve, amely ugyanaz, mint a 3. ábrán látható a vezeték, forrása pedig az i2 összekapcsolási ponthoz van kötve. Egy, a központi vezérlő egységtől jövő Wand.a (huzalozott és a) vezeték van a tranzisztor invertált kapu elektródájához kötve. Egy p-csatornás p9 MOS FET tranzisztor nyelője a b vezetékhez van kötve, forrása pedig az i2 összekapcsolási ponthoz. Egy, a központi vezérlő egységtől jövő Wand.b, azaz Huzalozott és b vezeték van a tranzisztor invertált kapu elektródájához kötve. Egy p-csa1 08
tornás p10 MOS FET tranzisztor nyelője az i2 összekapcsolási ponthoz van kötve, forrása pedig a +Vcc feszültség forráshoz. Az i1 összekapcsolási pont, egy INV2 inverteren keresztül, a p10 MOS FET tranzisztor invertált kapu elektródájához van kapcsolva. Az INV2 inverter magában foglalja egy p14 p-csatornás MOS FET tranzisztor és egy n8 n-cstornás MOS FET tranzisztor sorosan kapcsolt forrás/nyelő kivezetéseit, és a Vcc feszültség és a föld közé van bekötve, a trazok kapu elektródái pedig az i1 összekapcsolási ponthoz vannak kötve.
A p-csatornás p11 és p12 MOS FET tranzisztorok sorosan kapcsolt forrás/nyelő elektródái az a vezeték és a +Vcc feszültség forrás közé vannak bekötve. Egy, a központi vezérlő egységtől jövő Wor, azaz huzalozott vagy, vezeték a p12 MOS FET tranzisztor kapu elektródájára van kötve. Az i1 összekapcsolási pont a p11 MOS FET tranzisztor kapu elektródájához van kötve. Egy p-csatornás p13 MOS FET tranzisztor forrás/nyelő elektródája az a vezeték és az i1 összekapcsolási pont közé van bekötve. A központi vezérlő egységtől jövő s.a, azaz a-t kiválasztó” vezeték van a p13 MOS FET tranzisztor kapu elektródájára kötve.
Egy n-csatornás n2 MOS FET tranzisztor, egy p-csatornás p15 MOS FET tranzisztor, egy p-csatornás p16 MOS FET tranzisztor sorosan kapcsolt forrás/nyelő elektródái a föld és a +Vcc feszültség forrás közé vannak bekötve. Az n2 és p15 MOS FET tranzisztorok forrásai között lévő i3 összekapcsolási pont az n1 MOS FET tranzisztor kapu elektródájához van kötve. A sorosan kapcsolt két, p-csatornás p17 és p18 MOS FET tranzisztor az i3 összekapcsolási pont és a +Vcc
109 feszültség forrás közé van bekötve. Az i1 összekapcsolási pont a 18 MOS FET tranzisztor kapu elektródájához van kötve. A 6 központi vezérlő egységtől jövő r/w.b, azaz b olvasó/író vezeték a p15 MOS FET tranzisztor invertált kapu elektródájához van kötve. A 6 központi vezérlő egységtől jövő r/w.s, azaz kiválasztás olvasó/író vezeték a p17 MOS FET tranzisztor kapu elektródájára van kötve. A 6 központi vezérlő egységtől jövő r/w.r, azaz visszaállítás olvasó/író vezeték, amelyet az i3 csomópont visszaállítására hsználunk egy olvasó vagy író művelet után, van az n2 MOS FET tranzisztor kapu elektródájára kötve.
A 22. ábrán látható 16 elem-fej megvalósításában lévő logika funkciója a következő. Az nO MOS FET tranzisztor előtölti az acc elérési vezetéket minden negatív óra impulzus alatt, és az n1 MOS FET tranzisztor ezt alacsony logikai szintnek értékeli olvasáskor vagy íráskor. Az n2 MOS FET tranzisztor alacsony logikai szintre tölti elő az i3-at, hogy az n1 MOS FET tranzisztort kikapcsolt állapotban, vagyis nem-vezető állapotban tartsa, a készenléti állapot esetén .
A p17 és p18 MOS FET tranzisztorok írást/olvasást hajtanak végre a kiválasztási csomópont vezérlése alatt. Ezt például olyan utasításoknál használjuk, mint a hasonlítás! utasítás típus, amely törli egy zárás rekesz jelzőjét, vagy kiolvassa a zárás rekesz azonosítóját, illetve nem állít be egy jelzőt, ha különböző tevékenységek történnek, az a és b buszokon lévő információtól függően.
Egy hasonlítás! funkció összehasonlít egy értéket,
110
például egy úgy nevezett cél-értéket a 3 központi regiszterben és egy 2 központi tárrekeszben, és megvizsgálja ezt a két értéket, amelyek két halmazt definiálnak. A hasonlítás eredménye hamis, amennyiben a két halmaznak nincs közös része. Ugyanezt az esetet tételezzük fel akkor is, ha a zárás részei nem lesznek teljesen kiértékelve.
Az n5 MOS FET tranzisztor előtölti az i1 ki választási csomópontot, a p2-től p4-ig terjedő MOS FET tranzisztorok pedig, a 6 központi vezérlő egységtől jövő vezérlés alatt, kiértékelik azt az n7 MOS FET kapu elektródáján. A p8-p10 MOS FET tranzisztorok huzalozott-és-t hajtanak végre az a buszon és/vagy a b buszon, a 6 központi vezérlő egységtől érkező vezérlő jelektől függően. A p11 és p12 MOS FET tranzisztorok huzalozott vagy-ot hajtanak végre az a buszon a 6 központi vezérlő egységtől érkező vezérlő jel vezérlése alatt.
Az INV2 inverter invertálja a kiválasztó bitet a kiválasztási csomóponton. Ez szükséges, mert huzalozottvagy és huzalozott-és műveletet is végre kell hajtani. A p13 MOS FET tranzisztor átviszi az a buszon lévő értéket egy kiválasztási csomópontra. Csak magas logikai értéket kell átvinni, miután alacsony logikai szintre lett előtöltve. Végezetül, a p6 és p7 MOS FET tranzisztorok a magas logikai szint kiválasztását végzik, ha vezérlést kapnak. Erre olyan utasításnál van szükség, amely egy megjelölt 10 tárrekeszt olvas ki és kitörii annak a 10 tárrekesznek a jelzőjét, miután ezt követően a kiválasztási csomópontot vissza kell állítani ugyanazon idő alatt, amikor az olvasás végrehajtása
1
történik. Ezt a tulajdonságot más olyan utasításoknál is fel lehet használni, amelyeknél a 16 elem-fejben egy logikai ÉS műveletet kell végrehajtani.
A “bármely_típus jel közvetlenül össze van kötve a legközelebbi 15 bit-rekesszel. Ez a tárolt érték típusát tartalmazza. Egy hasonlítás során a p3 MOS FET tranzisztor kikapcsolt állapotba lesz vezérelve, és így a ”bármely_típus jelet hordozó vezetéken lévő magas logikai szintű érték egyező hasonlítást fog generálni. Hasonlóképpen, egy olyan vizsgálat esetén, amely arra irányul, hogy a tárrekesz foglalt-e, a bármely_típus jelet hordozó vezetéken lévő magas logikai szintű érték azt eredményezi, hogy a kiválasztási csomóponton lévő kiválasztó jel alacsony logikai szinten marad mindaddig, amíg a p3 MOS FET tranzisztor kikapcsolt állapotba van vezérelve. Egy azonosságot jelentő teszt során a p3 MOS FET tranzisztor bekapcsolt, azaz vezető állapotba lesz vezérelve.
A 17 zárás-fej (23. ábra)
A 23. ábrán bemutatott 17 zárás-fej megvalósítása alkalmas a prioritás és a MÓD művelet végrehajtására akár az a buszon, akár a b buszon. Mindkét műveletet egyidejűleg is végre lehet hajtani különböző buszokon. A MÓD művelet, azaz a 2. és 3. ábrákon látható áramkörben lévő MÓD (MODE) 12 busz művelete, az a busz esetében akár a magas akár az alacsony logikai szintű állapotra érzékeny, míg a b busz esetében csak az alacsony logikai szintre érzékeny. A 17 zárásfej ugyancsak vissza tudja állítani a TÖBB (MORE) 13 buszon lévő globális TÖBB (MORE) jelet (lásd a 2. ábrát), és vissza
1 2 »»<
tudja olvasni a régi busz adatokat az a és b buszokra.
Úgy a MÓD műveletet végrehajtó áramkör, mint a prioritás műveletet végrehajtó áramkör egy két-fokozatú dominó elv alapján lett megtervezve. Az első fázis meghatározza, hogy melyik busz legyen a bemenet, és ennek megfelelően megváltoztatja a polaritást, majd a második fázis hajtja végre a tényleges műveletet. Ilymódon a 17 zárás-fej működése két fázisban zajlik le, amelyek közül az első egy előtöltési fázis, a második pedig a műveleti fázis. Emiatt egy sor ncsatornás MOS FET tranzisztort - az n20, n21, n22 és n23 MOS FET tranzisztorokat - építettük be, amelyek kapu elektródáját egy, a 6 központi vezérlő egységről érkező, prech (előtöltés) órajel vezérli. Az n20 az a busz, az n21 a b busz, az n22 a 11 prioritás dekóderhez vezető reg (kérés) busz, az n23 pedig egy F1 csatlakozó hálózat előtöltését végzi az alacsony logikai szintre.
Egy F1 csatlakozó hálózat magában foglalja a p20, p21 p-csatornás MOS FET tranzisztorok sorosan kapcsolt forrás/nyelő elektródáit és az ezzel párhuzamosan kapcsolt másik tranzisztor-pár, a p-csatornás p22, p23 MOS FET tranzisztorok sorosan kapcsolt forrás/nyelő elektródáit. Az F1 csatlakozó hálózat egyrészt az n23 MOS FET tranzisztor forrás/nyelő kivezetésjén keresztül össze van kapcsolva a földdel, másrészt pedig s +Vcc feszültség forrással. Az a busz a p20 MOS FET tranzisztor kapu elektródájára van kötve, és egy INV20 inverteren keresztül a p23 MOS FET tranzisztor kapu elektródájával is, amely így az a* jellel van táplálva, és amely az a buszon lévő invertált jel. A központi vezérlő
1 3 • · egységtől egy mode.a jelet adunk a p21 MOS FET tranzisztor kapu elektródájára, ennek invertált mode.a* jelét pedig a központi vezérlő egységtől a p22 MOS FET tranzisztor kapu elektródájára adjuk. Az F1 csatlakozó hálózat az a*mode.a funkciót valósítja meg az a**mode.a* függvényében.
A két p-csatornás p24 és p25 MOS FET tranzisztor sorosan kapcsolt forrás/nyelő elektródája a +Vcc feszültség forrás és a b busz közé van bekötve. Az a busz a p24 MOS FET tranzisztor kapu elektródájára van kötve és a központi vezérlő egységtől jövő ba jel a p25 MOS FET tranzisztor kapu elektródájára van adva.
Az F1 csatlakozó hálózat és az n23 MOS FET tranzisztor nyelője közötti csomópont az n-csatornás n24 MOS FET tranzisztor kapu elektródájára van kötve, amelynek forrása a földhöz van kapcsolva, nyelője pedig a 2. és 3. ábrákon látható MÓD 12 buszhoz, így biztosítva a mód-jelet. A p-csatornás p26 és p27 MOS FET tranzisztorok sorosan kapcsolt forrás/nyelő kivezetései a +Vcc feszültség forrás és a b busz közé van bekötve. A MÓD 12 buszon lévő mód-jel, keresztül haladva a mód-jelet felerősítő két INV21 és INV22 inverteren is, hozzá van kötve a p27 MOS FET tranzisztor kapu elektródájához. A központi vezérlő egységtől jövő mode.b jel rá van kapcsolva a p26 MOS FET tranzisztor kapu elektródájára.
A mode.a jel végzi az a buszon a mód műveletet. A mode.a* jel ugyancsak a mód műveletet végzi az a buszon, de egy invertált a* értéket alakít ki a buszon. A ba jel a buszt magas logikai szintre állítja, ha az a busz alacsony logikai szintre van állítva. A mode.b jel a b buszt
114 “magas logikai szintre állítja, ha a busz módja “alacsony logikai szintű volt. Az a és b buszok alacsony logikai szintre történő beállítására a prech (élőtőltő) jelet használjuk.
Ilymódon annak eldöntését, hogy a MÓD műveletet az a jelen vagy az a* jelen hajtsuk végre, az F1 csatlakozó hálózat segítségével végezzük. A MÓD 12 busz ezek után a földhöz kapcsolható közvetlenül az 1 objektum tárban lévő Öszszes 17 zárás-fejen keresztül. A p26 MOS FET tranzisztor kapu elektródáján lévő mode.b vezérlő jel ekkor a b buszt magas logikai szintre fogja felhúzni. Ezen a módon lehetővé válik két különböző vizsgálat elvégzése, az a buszon és a b buszon is. Amennyiben az a buszon végrehajtott vizsgálat magas logikai szintet mutat, amelyre a busz a tényleges művelet során kerül kodícionálásra, akkor a b buszt is magas logikai szintre állíthatjuk. Például az a és b buszok egyikén HUZALOZOTT VAGY műveletet, a másik buszon pedig HUZALOZOTT ÉS műveletet végezhetünk, és egy logikai művelet végezhető, amelynél az az állapot fordulhat elő, hogy ha az a busz esetében az eredmény hamis volt, akkor a b busz szintén hamis-t mutathat. Eg másik állapot az lehet, hogy a b busz eredményétől függően egy másik műveletet végzünk.
A +Vcc feszültség forrás és a b busz közé a p-csatornás p28 és p29 MOS FET tranzisztorok sorosan kapcsolt forrás/nyelő elektródái vannak bekötve. A 11 prioritás dekódolótói jövő engedélyező jel, egy INV 23 iverteren keresztül egy NEMÉS1 kapu egyik NEMÉS bemenetére van kötve, a req (kérés) jel pedig a másik bemenetére. A NEMÉS kapu magában fog
1 5 lalja a két n-csatornás n25 és n26 MOS FET tranzisztorokat, amelyek forrás/nyelő elektródái sorosan vannak kapcsolva, valamint a két p-csatornás p32 és p34 MOS FET tranzisztort, amelyek forrás/nyelő elektródái párhuzamosan vannak kapcsolva, és az n26 MOS FET tranzisztor nyelő kimenete és a Vcc feszültség forrás közé van bekötve. Az n25 MOS FET tranzisztor forrása a földre van kötve. A grant* (engedélyezés*) jel az n26 és p34 MOS FET tranzisztorok kapu elektródájára van adva, és a req (kérés) jel az n25 és p32 MOS FET tranzisztorok kapu elektródájára. A NEMÉS kapu kimenete a p28 MOS FET tranzisztor kapu elektródájára van kötve és egy p-csatornás p33 MOS FET tranzisztor kapu elektródájára, amelynek forrás/nyelő elektródája a Vcc feszültség forrás és a TÖBB (MORE) 13 busz közé van bekötve. A 6 központi vezérlő egységtől jövő grant.b ( engedélyezés.b) jelet a p29 MOS FET tranzisztor kapu elektródájára adjuk.
A két p-csatornás p30 és p31 MOS FET tranzisztor sorosan kapcsolt forrás/nyelő elektródái a +Vcc feszültség forrás és a 11 prioritás dekódolóhoz vezető req busz közé vannak bekötve. A 6 központi vezérlő egységtől jövő prio (prioritás) jel rá van adva a p30 MOS FET tranzisztor kapu elektródájára, és ab busz a p31 MOS FET tranzisztor kapu elektródájára van kötve.
A 6 központi vezérlő egységtől jövő prio jelet a 11 prioritás dekódolóhoz küldendő kérés jel elküldésére használjuk fel, azaz arra, hogy egy magas logikai szintű req jelet állítunk elő, ha a b busz alacsony” logikai szinten van. A p32, p34, n25, n26 MOS FET-ekből álló NEMÉS-kapu ér1 1 6
zékeli, ha a req jel magas logikai szintű és a grant (engedélyezés) jel alacsony logikai szintű, azaz hogy egy prioritás iránti igény kérve lett, de nem lett kiválasztva. Ilyen esetben a NEMÉS-kapu alacsony logikai szintre változik, és a TÖBB (MORE) 13 buszt magas értékűre állítja, azaz jelzi, hogy prioritási igény lépett fel. A grant.b (engedélyezés.b) jelet abból a célból használjuk, hogy a b buszt magas logikai szintűre állítsuk, ha a req (kérés) jel magas logikai szintű és a grant (engedélyezés) jel alacsony értékű. Ezt követően először egy prio (prioritás) jelet biztosítunk a központi vezérlő egységtől, majd egy grant.b (engedélyezés.b) jel az (1) objektum tár legfeljebb egyetlen tárrekeszénél rendelkezni fog egy “alacsony logikai szintű b busszal.
AZ 5 NUMERIKUS ARITMETIKAI LOGIKAI EGYSÉG (ALU) ÉS AZ ÉRTÉK ÁBRÁZOLÁS
A találmányhoz tartozik az, hogy az első rendű processzorként egy hagyományos típusú numerikus aritmetikai logikai egységet (ALU-t) biztosítsunk, amelyet a 6 központi vezérlő egység vezérel és amely összekapcsolható a 3 központi regiszterrel. Ennek ellenére egy 5 numerikus aritmetikai logikai egység (ALU) megvalósítását, amely különösen alkalmas a találmány szerinti első rendű proceszszor céljaira, az alábbiakban leírjuk:
* alkalmas a numerikus kifejezések egyszerüsítésére, ideiglenes tár terület használata nélkül, * képes 1ebegő-pontos értékeket operandusként kezelni, amelyek felosztása mantisszára és exponensre változó lehet,
17 és amely felosztás egy kód mezőben van kódolva, * olyan aritmetikai utasításokat használ az operandusaihoz, amelyeket a buszokon egy változó hosszúságú kód mezőben adunk meg, * ko-variációval rendelkezik a lebegő-pontos és egész ábrázolás között, * sürített érték ábrázolással rendelkezik.
Az 5 numerikus aritmetikai logikai egység aritmetikai, logikai műveleteket és numerikus érték elemekkel kapcsolatos műveleteket tud végezni, a következő módon:
a) egy bemeneti (input) listát biztosítunk, amely magában foglalja a feldolgozandó numerikus érték elemeket és az utasítás információt,
b) a bemeneti listában szereplő numerikus érték elemekkel egy művelet kerül végrehajtásra, az utasítás információ fel használásával,
c) a számítások az elemeknek a bemeneti listában történő átírásával lesznek végrehajtva,
d) az eredmény egy kimeneti (outpuut) listában lesz előál1í tva.
A bemeneti és kimeneti listákban szereplő elemek maximális szárny előnyösen négy, amely megfelel a 2 központi
tárrekeszben lévőfő regiszterek számának, amelyen keresztül
a bemeneti 1i staérkezik és amely fogadja a kimenő listát.
Ezek alapján egylista elemet biztosíthatunk egy utasítás
szó ábrázolással,két lista elemet biztosíthatunk úgy, hogy
mindkettő egy-egynumerikus érték ábrázolást tartalmaz, és
az egyiket felhasználhatjuk egy számítás során egy számítási
1 8 *·· eredmény közbenső tárolására azáltal, hogy a bemenő értékek visszaírását több alkalommal is végrehajtjuk.
A lista előnyösen magában foglal egy funkció alkalmazást, amelyben az egyik elem egy utasítás kód, a többiek pedig az utasítás argumentumai. Az utasítás végrehajtása azáltal történik, hogy az utasítás kódot a kimenő eredmény listából átírjuk és visszatápláljuk a bemeneti listába mindaddig, amíg végül is egy eredményt kapunk. Minden egyes átírásnál a listát át lehet írni úgy, hogy magában foglaljon egy felújított utasítás kód szót, amely - ha az adott számításnál értelme van - az érték szavak követnek.
Célszerű a numerikus érték szavakat kódolt formában biztosítani a tényleges feldolgozás előtt. A numerikus érték szavakat képviselő szavak előnyösen olyan módon vannak biztosítva, amely a numerikus értékeket tömören tárolja, azaz egy érték minden kódolt ábrázolása csak egyetlen interpretált értéknek felel meg. Az egész értékeket képviselő bináris szavakhoz adhatunk egy első kódolást. Egy második kódolásról gondoskodhatunk a lebegő-pontos értéket ábrázoló bináris szavak esetében. A kódolások előnyösen olyanok, hogy a kódolás után a lebegő-pontos érték ábrázolásokat ugyanabban a sorrendben biztosítjuk, mint az egész érték ábrázolásokat. Ilyen módon az ábrázolások egyikének sem kell bináris számjegy formában lennie. Gondoskodhatunk egy olyan hardwarerő1, amely a transzforrnált bit-mintákon úgy végzi a számításokat, hogy implicit módon végrehajt bizonyos szabályokat, azaz anélkül, hogy ismerni kellene az értelmezés (interpretálás) részleteit.
1 9
A lebegő-pontos érték-ábrázolás elérésének egy könynyü módja az, hogy változó exponens hosszúsággal rendelkezünk, amely lehetővé teszi, hogy a binárisan kódolt lebegőpontos ábrázolás magában foglaljon egy kód mezőt, amely jelezni tudja az exponens mező és a mantissza mező közötti felosztás pozícióját úgy, hogy az exponens és a mantissza mezők változó hosszúságúak lehetnek. Alkalmazhatjuk a tömör ábrázolást is, amely magában foglal egy virtuális 1-es bitet, azaz a lebegő-pontos érték-ábrázolás mantissza részét tartalmazó szó mezőjének elején fizikailag nem ábrázoljuk az 1-et.
Az 5 numerikus aritmetikai logikai egység hardware felépítése
Az 5 numerikus aritmetikai logikai eység (ALU) vázlatosan a 24A ábrán látható, magában foglal egy 1a vezérlő meghajtó egységet és egy 2a aritmetikai egység mátrixot, amely aritmetikai műveleteket hajt végre bizonyos NUo, NUi, NUz és NUs ki/bemeneteken, amelyek mindegyike egy busz, mely többszörös (M számú) átviteli vonalakkal rendelkezik, egyszerre egy M bites értéket átvíve, ahol M például 32 lehet. Az 5 numerikus aritmetikai logikai egységet egy 6 központi vezérlő egység vezérli. Az 5 numerikus aritmetikai logikai egység a következő jelek segítségével kommunikál a 6 központi vezérlő egységgel: a Calu foglaltságot jelző kimenettel, egy Astate állapot kimenettel órajel bemenettel, egy Abusy egy Acmtl vezérlő bemenettel, és egy Aitis dekódolt utasítás kimenettel.
20
Kapcsolat (interfész) az 5 numerikus aritmetikai logikai egység és a 2 központi tárrekesz között ···
Az NUo, NUi , NUz és NU3 ki/bemeneti busz a 2 központi tárrekeszben lévő fő vagy cél regiszterekhez vannak kötve az 1. ábrán látható első rendű processzorban, amelyben a redukciós típusú utasítások fel lesznek dolgozva.
A 2 központi tárrekeszben lévő fő regiszterek, azaz az So, 0 , Si,o, S2,0 , S3 ,0 regiszterek a 9. ábrán, mindannyian rendelkeznek egy NU kivezetéssel (lásd a 10. ábrát), amely hozzá van kötve az NUo-től NU3-ig terjedő ki/bemeneti buszok egyikéhez. Ilymódon az Sx,0 főregiszterben lévő tartalom az NUx ki/bemeneti busz segítségével ahol x egy 0 és 3 közé eső szám - átvihető az 5 numerikus aritmetikai logikai egységhez, és ez a mód, ahogyan a bemeneti (input) listát az 5 numerikus aritmetikai logikai egység rendelkezésére bocsátjuk. Az NUo-tói NU3~ig terjedő ki/bemeneti buszok egy numerikus szavakból álló listát visznek át, amely egy numerikus érték vagy egy utasítás lehet. Az összes busz nem lehet állandóan használatban. Az NU0-NU3 buszok ki/bemenetén lévő bemenő lista magában foglal információt a végrehjatandó számítás típusára vonatkozóan, a vezérlő meghajtó egység pedig a listából kiveszi ezt az információt, miközben a 2a mátrixban lévő külön alkatrészeket vezérli. Egy számítás úgy megy végbe, hogy egy bemeneti listában bitenként vagy bit-csoportonként átírjuk a tartalmat, azaz bitenként külön-külön azokra a bitekre vonatkozóan, amelyek pozíciója egy szóban ugyanaz, vagy pedig a szeletenként rendelkezésre álló biteknél bitcsoportonként egy szóban, majd az eredményt egy kimeneti listában adjuk viszsza. Meg kell jegyezni, hogy a belső áramkörökben lehetőség
121 van az értékek többszöri visszaforgatására”, mielőtt a kimeneten egy végső kimenő listát állítanánk elő. A visszaforgatás során egy pillanatnyi kimenő listát állítunk elő a kimeneten, de csak azért, hogy azt, mint egy pillanatnyi bemenő listát beillesszük.
A lista magában foglalhatja egy funkció alkalmazását, az általa feldolgozandó értékekkel vagy egyéb típusú listákkal együtt, mint amilyen egy egyetlen egész vagy lebegő-pontos értéket tartalmazó lista. Amikor a lista magában foglal egy funkció alkalmazást, akkor az NUo-án biztosított első lista elem magában foglalja az utasítás kódot, azaz a végrehajtandó feldolgozás típusára vonatkozó információt, a lista további elemei pedig az utasításhoz tartozó argumentumok .
Egy utasítás végrehajtása azáltal történik, hogy egy vagy több lépésben átírjuk az utasítást abból a célból, hogy végül is megkapjuk az eredményt. Az 5 numerikus aritmetikai logikai egységen belül mikro utasításokat és állapot jeleket használunk. Ezeket az 5 numerikus aritmetikai logikai egységen belüli külön 1a vezérlő meghajtó egységek használják, a 2a mátrix vezérlése céljából. Amikor az eredményt közvetlenül előállító átírást használunk, akkor az értéket a kimenő listára helyezzük. Amikor egy lépésenkénti átírás történik, akkor a listát úgy írjuk át, hogy az megtartsa ugyanazt az utasítás kódot, vagy hogy egy új vagy kismértékben megváltoztatott utasítás kóddal rendelkezzen, és hogy az utasítás kódot a legtöbb esetben egy érték vagy értékek kövessék. Meg kell jegyeezni, hogy a több ciklusban végrehajtandó átírási
22 művelet végrehajtásának legjobb módja az, hogy az utasítás kódot a teljes művelet során érintetlenül tartsuk, mivel egy ilyen esetben a 6 központi vezérlő egység kevésbé lesz bonyolult .
Kapcsolat (interfész) az aritmetikai logikai egység és a 6 központi vezérlő egység között
Visszatérve a 24A ábrához, a Calu órajelet arra használjuk, hogy óra impulzusokat adjunk az 5 numerikus aritmetikai logikai egység részére, az 5 numerikus aritmetikai logikai egység pedig az Abusy kimeneten egy jel segítségével jelzi, hogy mikor áll készen óraimpulzusok fogadására .
A fő regiszterek részeinek tartalma a FEJ (HEAD) síkban helyezkedik el, vagyis a jelző szavakat betápláljuk a 6 központi vezérlő egységbe, amely viszont vezérli az 5 numerikus aritmetikai logikai egység 1a vezérlő meghajtó egységét .
Ugyanakkor a találmány oltalmi körébe tartozik az is, hogy a jelzőket belefoglaljuk a ki/bemeneten megjelenő információba olymódon, hogy a jelző információ közvetlenül beadható a vezérlő meghajtó egységbe, amelyet az alábbiakban numerikus aritmetikai logikai egység vezérlő áramkörnek is nevezünk.
Az Acntl vezérlő egységet az 5 numerikus aritmetikai logikai egység numerikus műveleteinek vezérlésére használjuk. A művelet több óraciklusnyi időt is igénybe vehet.
A 6 központi vezérlő egységhez minden egyes művelet után visszaadunk egy Astate kimenő jelet. Az Ains kimeneten
23 ♦ ··· lévő utasítás kód egy kivonata azon főregiszterbeli utasítás kódnak, amelyhez az NUo busz hozzá van kötve.
A 24B ábrára hivatkozva, a 6 központi vezérlő egység által a processzor számára biztosított alap órajel a Ci ο, amely például egy 10 ns-nyi periódussal rendelkezik. Egy 5 numerikus aritmetikai logikai egység művelet egy vagy több ilyen óraciklus alatt hajtódik végre. Az 5 numerikus aritmetikai logikai egységhez kapcsolt központi processzor vezérelhető egy olyan periódussal is, amely hosszabb - például kétszer olyan hoszszú - mint az 5 numerikus aritmetikai logikai egységhez tartozó periódus, azaz a C20 óra jel hossza 20 ns, ha a C10 órajel hossza 10 ns volt. Ugyanakkor az is lehetséges, hogy egy rövidebb órajellel vezéreljük. A rövidebb periódussal rendelkező eszközhöz (vagyis a látható megvalósításnál az 5 numerikus aritmetikai logikai egységhez, vagy másképpen a központi processzorhoz) tartozó Calu alap órajelet ezért egy utasítás végén megnyújtjuk, abból a célból, hogy összeszinkronizáljuk a hosszabb periódussal rendelkező C20 órajellel. Az 5 numerikus aritmetikai logikai egység egy magas logikai szintű Abusy jelet küld vissza mindaddig, amíg további C10 típusú órajelre van szüksége egy utasítás végrehajtása céljából. A megnyújtást azt követően biztosítjuk, miután az Abusy jel alacsony logikai szintű lett, amint ez a 24B. ábrából nyilvánvaló.
AZ ÉRTÉK ÁBRÁZOLÁSOK
Az 5 numerikus aritmetikai logikai egység változó felosztást tartalmaz az ezponens és a mantissza között lebegő-pontos számábrázolás esetében. Ekkor kis számok esetén
24 először is lehetőség van sok bitet használni a mantisszában, amelynek előnye a nagy pontosság. Másrészről pedig lehetőség van igen nagy számok kezelésére is.
Amint ez vázlatosan látható a 25. ábrán, egy numerikus értékkel rendelkező buszon minden bit-minta ezért előnyösen egy rövid bitmezővel van ellátva a bitlánc (bitsztring) legmagasabb helyiértékü bitkjeinél, amely rész egyrészt az érték előjelét foglalja magában, másrészt a kitevő (exponens) előjelét, és harmadrészt a numerikus érték e exponens és m mantissza részei közötti osztó pozíciójára (lásd a 25. ábra jobboldali nyilát) vonatkozó kódot. Meg kell jegyezni, hogy a bitmező kód részének hossza szintén változhat, és hogy a kódmező és az exponens mező közötti osztó pozíció helyét a kódmező határozza meg, ahogyan ezt a 25. ábrán látható baloldali nyíl illusztrálja.
Az 5 numerikus aritmetikai logikai egység a számok 1ebegő-pontos ábrázolását ugyanabban a sorrendben biztosítja, mint az ugyanazon szám egész típusú ábrázolása. Ilymódon egy adott bit-minta 1ebegő-pontos és egész típusú értéke teljesen különböznek egymástól.
Ezt a célt ugyanakkor úgy is el lehet érni, hogy van egy első értelmezési formulánk a bitlánchoz, amennyiben az ábrázolást 1ebegő-pontos módon kell értelmezni, és egy második értelmezési formulánk a bitlánchoz, amennyiben az ábrázolást egész számként kell értelmezni. Ilymódon egyik ábrázolásnak sem kell bináris digitális formában lennie, ehelyett legalább az egyik, előnyösen mindkettő, lehet kódolt formában is. A bit-minta átalakítás automatikusan történik,
25 * _ ·* ·· ·♦ ·♦ ·· · · « · » • ··· ··« ·β • · · · · ♦ és a gépben lévő hardware a transzformált bit-mintákon ugyancsak implicit módon végzi a számítást, megadott szabályokat követve, azaz anélkül, hogy tudná hogy az értelmezés miként lett végezve.
Erőfeszítések történtek arra nézve, hogy a lebegőpontos értékeknek egy zárt ábrázolását adjuk, azaz nem lehet két külön bit-minta, amelyet ugyanazon értékként lehetne értelmezni.
A grafikus egész ábrázolás
A 26A ábra egy, a találmány szerinti grafikus ábrázolást mutat be az egész értékekre, amelyet egész H értékeknek nevezünk. A bináris ábrázolás a vízszintes tengely mentén van megadva, a H értékek pedig a függőleges tengely mentén. A legmagasabb helyiértékü bit az érték előjelét ábrázolja, akár negatív akár pozitív értékről legyen szó. Amint az a 26A ábrából kiderül, a H érték akkor veszi fel legnagyobb negatív értékét, amikor a bináris ábrázolás csupa 0 bitből áll, a zérus érték a bináris ábrázolás közepén helyezkedik el, azaz amikor a legmagasabb helyiértékü bit 0-ról 1-re változik, és akkor veszi fel legnagyobb pozitív értékét, amikor a bináris ábrázolás csupa 1-es bitből áll, azaz a maxrep maximális bináris értékkel rendelkezik.
A grafikus 1ebegő-pontos ábrázolás
A 26B ábra egy, a találmány szerinti grafikus ábrázolást mutat be a 1ebegő-pontos értékekre, amelyet lebegőpontos H értékeknek nevezünk. A bináris ábrázolás a vízszintes tengely mentén van megadva, a H értékek pedig a függőleges tengely mentén, amely itt azon a ponton keresztül van
26
húzva, amelyben a lebegő-pontos értékek előjelet váltanak. Emellett ebben az ábrázolásban az A legmagasabb helyiértékü bit az érték előjelét ábrázolja. A lebegő-pontos érték ábrázolásnak ki kell elégítenie az általánosság követelményét. Egy adott pontosság esetében az érték nagyságrendjének tetszőlegesen változtathatónak kell lennie. Ilymódon különösen kicsiny és nagy értékeknek is ábrázol hatónak kell lenni. A lebegő-pontos H érték skálája logaritmikus. A logaritmikus H értéket egyszerűsíthetjük azáltal, hogy egy egyenes vonalú közelítést használunk a 2 egyes faktorai között. Az eredmény egy tipikus lebegő-pontos kód. Amint ez a 26B ábrából látható, a -1 és +1 közé eső H értékek ábrázolására használt bináris ábrázolás a bináris ábrázolású mező közepén foglal helyet és a mező felét foglalja magában.
Egy érték relatív pontossága állandó az értékek teljes tartományában. A logaritmikus értékek egy bizonyos pontossággal és tartománnyal rendelkeznek. Amennyiben a nagyságrendnek tetszőlegesen nagynak kell lennie, akkor a logaritmus tartományának állíthatónak kell lennie.
A logaritmikus értéket a logaritmus függvényre egyszer vagy többször is alkalmazhatjuk. így mód nyílik igen nagy értékek ábrázolására. Ugyanakkor azonban a pontosság a nagyon nagy nagyságrendeknél lecsökken, a kis nagyságrendeknél azonban a pontosság megtartható vagy kis mértékben még fokozható is.
Miután a két ábrázolási mód kétféle bit képe ugyanolyan módon jelenik meg, a lebegő-pontos érték ábrázolás esetében egy egész értékű méret komparátort használhatunk.
27 ···
Ez azt jelenti, hogy egy kiragadott lebegő-pontos érték komparátor használatát elkerülhetjük. Ez viszont azt jelenti, hogy az egész méretű komparátor, amely az összehasonlítási műveletet egyetlen ciklusban hajtja végre, használható a lebegő-pontos értékekre is, ami nagy előnyt jelent. A hagyományos típusú lebegő-pontos értékű komparátor sok ciklust igényel a működés során.
A hagyományos felépítésű aritmetikai logikai egységeknél különböző bit minták értelmezhetők úgy, hogy azok ugyanazt a számot jelentik, és egy normalizálást kell végrehajtani, hogy ezen bit minták közül valamelyiket kiválaszuk. A találmány szerint semmiféle normalizálást nem kell végrehajtani, legalább is nem a tényleges számítás alkalmával. A normalizálást a számítási művelet előtt és után lehet végrehajtani. Ha a lebegő-pontos értékeknek egy zárt ábrázolási hasonlósága van, akkor egy lebegő-pontos műveletet, mint egy összehasonlítást, egyetlen ciklusban tudunk végrehajtani. A zárt ábrázolás egyik előnye az is, hogy a maximális számú lebegő-pontos értéket tudjuk használni, azaz az értékek sorozatában nem fődül elő olyan, amelyet el kellene vetnünk, vagy nem tudnánk használni.
A hagyományos alkalmazásoknál annak oka, hogy több bit mintát is értelmezhetünk ugyanazon értékként az, hogy az érték kitevőjét (exponens részét) és mantisszáját össze kell szoroznunk ahhoz, hogy az értéket előállítsuk. Az 1.0 érték lehet például 21*1/2, azaz az exponens bit mintája 01, a mantissza bit mintája pedig 100; de az érték lehet 22*1/4 is, azaz a kitevő (exponens) bit mintája 10”, a mantisszáé
28
-···.*·. *··· :··. ··: .··. ·.
·· ·· ·β ·· pedig 010, és az exponens bit mintája és a mantissza bit mintája egymást követi az ábrázolásban.
A zárt ábrázolást úgy állítjuk elő, hogy egy implicit “1-es bitet használunk, azaz a 1“ ténylegesen nincs jelen a bit mintában, a mantissza bit mintája előtt a pozitív értékeknél, és hasonlóképpen egy 0 bitet használunk implicit módon a negatív értékek esetében (rejtett bites ábrázolás). A mantisszát klasszikusan úgy definiálják, hogy az egy -1 és +1 közé eső érték. A binárisan kódolt mantiszszát úgy definiáljuk, mint egy értéket az (1.0 2.0) tartományban vagy a (-2.0 -1) tartományban az előjeltől függően.
Az ábrázolás kódolása
Az egész minták egzaktul meg vannak határozva, a 1ebegő-pontos ábrázolásoknak pedig ugyanazzal az egymásutáni sorrenddel kell rendelkezniük, mint az egész értelmezésnek, ami egy igen szigorú megszorítás.
Ennek a problémának egy előnyös megoldása vázlatosan a 26C, 27A-27D ábrákon látható, amelyek egy szavakból álló adat listát mutatnak, a 26C ábrán látható elvek szerint állítottunk elő. A 26C ábra a lebegő-pontos kód egy vázlatos grafikus kifejtését mutatja, a bináris ábrázolást a függőleges osztó LIN vonal baloldalán mutatjuk, a lebegő-pontos H értékek pedig a LIN vonal jobboldalán szerepelnek. A _IN vonalat mint tengelyt mutatjuk, amely a nagyobb értékek felé mutat. Ez egyaránt a bináris ábrázolásra és a H érték ábrázolásra is igaz. Az ábrázolások és a H értékek úgy vannak raj zolva, hogy oldalt kifelé hal adjanak a LIN vonal mindkét oldalán. A 26B ábrán lévő diagramban a LIN vonalhoz legköze1 29
·· • · ··· 4«
Λ 9 ·· ·· lebb a tengelyek egy ábrázolását láthatjuk . A H érték tengely a jobboldalon, a bináris ábrázolás tengelye pedig baloldalon van. A tengely ábrázolásán kívül lévő első mező, sh a jobboldalon, s a baloldalon, ábrázolja a legmagasabb helyiértékü bitet. Negatív értékek esetében ez 0, a pozitívoknál pedig 1. A második mező, seh illetve se, ábrázolja a következő legmagasabb helyiértékü bitet. Ez a kitevő előjel bitje. A harmadik mező legalább egy bitet foglal magában, amelynek helyiértéke kisebb, mint a következő magasabb helyiértékü bit. Ez a mező egy bitből áll, ha a bináris mező rövid, mint ahogyan a szemléltetett esetben ez mindössze hét bites, és egynél több bitből áll, ha a bináris mező magas, amint ezt alább egy 32 bites esetre vonatkozóan kifejtjük.
A 26C, 27A-27D ábrákon bemutatott példában a hét bites szóra vonatkozó kódolás látható a 32 bites szavak helyett, amit a gyakorlatban valószínűleg sokkal gyakrabban fognak használni. A középső vonaltól közvetlenül balra álló bináris ábrázolást úgy kell értelmezni, hogy az a -1024-től 768-ig terjedő H értékeket ábrázolja. Meg kell jegyezni, hogy a -1 és +1 H értékek középen helyezkednek el a 0 és a -1024 illetve +768 maximális értékek között. Az első bináris bit, s illetve sh, az érték előjelét ábrázolja úgy a bináris ábrázolásra mint a H értékekre vonatkozóan, legyenek azok akár pozitív, akár negatív értékek.
A második bit a kitevő (exponens) előjele, függetleattól, hogy
és -1 kö-
H értékekre vonatkozó seh előjel bit így a -1024 zött pozitív, a -1 ás +1 között negatív, majd a +1 és +768
30 között pozitív. Amint az a 26C ábra baloldalából nyilvánvaló, az ábrázolás se kitevő előjel bitje ehelyett negatív a bináris szekvencia első negyedében, pozitív a másodikban, negatív a harmadikban és pozitív a negyedik negyedben. Az seh előjel bitet úgy írhatjuk le, hogy ha s=1, akkor seh=se, ellenkező esetben seh=1-se.
Ilymódon az ábrázolásban a legmagasabb helyiértékü bit, amely a karakter előjelét képviseli, rendelkezik a legkisebb variációval, a következő legmagasabb helyiértékü bit, amely a kitevő előjelét képviseli, rendelkezik a következő legkisebb variációval, azaz kétszer akkorával, mint a karakter előjele. A következő pozícióban lévő bit kétszer akkora variációjú, és ez a c kód bit. A 26C és 27A-27D ábrákon lévő példának megfelelően a kód csak egy bitet foglal magában. Más példákban a kód mező egynél több bitet tartalmaz. A kód vezérli a kitevő hosszát, és a megelőző előjel bitek fényében kell figyelembe venni.
A 1ebegő-pontos H-érték, amely a biztosítandó cél, vagyis a 1ebegő-pontos jelölés, a eh kód mezőről még speciálisabb módon gondoskodik. Amint az eh ábra-részből kitűnik, amely a kitevő H-értékeket közvetlenül adja, az eh érték egy nagy pozitív értékről lefelé megy O-ig, ahol is a H-érték -1, onnan egy nagy negatív érték felé haladd, ahol a H-értéke 0, onnan egy 0 értékig halad, a H-érték +1, majd onnan egy nagy pozitív érték felé, ahol a H-érték 768. Az ehabs ábra-rész mutatja az abszolút kitevő H-értékeket, ezt két görbe vonal ábrázolja, amely egymás mellett láthatók, mindkét végük egy nagy pozitív értéknél van, közép pontjuk ped i g
131 a O-nál van elhelyezve. A H-értékek kód mezőjét úgy képeztük, hogy azok tükrözzék az eh.be H-értékeket, és így láthatóan ugyanolyan alakúak (szaggatott vonallal jelezve), ha pedig a kód mezők csak egy bitet tartalmaznak, akkor a folytonos vonallal jelzett alakú lesz. így a kód ch=c, ha se=1; ellenkező esetben ch=1-c, amikor a eh kód csak egy bitet tartalmaz.
Könnyű követni a 27A-27D ábrákon bemutatott listák elhelyezkedését, mivel az s, sh, se,.
seh, c és eh bit mezők mindegyike csak egy bitet foglal magában, és ezért a 26. és
27A-27D ábrákon látható ábrázolások közötti összehasonlítás nyilvánvaló. A 27A-27D ábrákon az első oszlop a OOOOOOO-től 1111111-ig terjedő bináris értékek listája, decimális számrendszerbeli megfelelőik pedig a második oszlopban láthatók. A nyilat tartalmazó oszloptól jobbra az ábrázolás szerinti transzformált számok valamint a H-értékek láthatók. A listában egy folytonos vízszintes vonal jelzi azt a pontot, amikor az ábrázolás kódmezője megváltozik, ezzel könyebbé válik az összehasonlítás a 26C. ábra illusztrációjával.
A ch-tól jobbra álló oszlop az ábrázolás e kitevő mezőjének decimális ábrázolását, a következő oszlop pedig a
H-értékek eh kitevő értékének decimális ábrázolását tartalmazza.
A következő két oszlop az e és eh értékek bináris ábrázolását mutatja. Az ezt követő két oszlop az ábrázoláshoz tartozó m mantissza érték decimális és bináris ábrázolá sát mutatja. Ezt követően a H-értékek mh mantisszájának decimális ábrázolású értékei találhatók. Meg kell jegyezni, hogy a 27A és 27B ábrákon a mantissza -1 és -2 között válto
32 zik, ahol az sh érték 0; a 27C és 27D ábrákon pedig +1 és +2 között változik, ahol is az sh értéke 1. A jobbszélső oszlop a balszélső oszlopban álló bináris kombinációnak megfelelő decimális H-értékeket mutatja, transzformáció után.
A 27C ábra felső részéből nyilvánvaló, hogy az ábrázolásban az az érték, amelynél a legmagasabb helyiértékü bit 1, és az utána következő bit 0, a zérus lebegő-pontos szám.
lévő bináris bői a négy kitevő és a
Amint a 260 ábrán, a középvonaltól közvetlenül balra számok sorrendjéből kiderül, a hét bináris bitalsó (alacsonyabb mantissza közötti legmagasabb helyiértékü bit le és a kód bit részére. Az e és bit marad fenn miután a az előjel három bitek ny i 1 vánvaló, negatív, bői áll, első két helyiértékü) felosztásra, van foglalva m digitális oszlopokból ábra-részben, ahol az se kitevő érték ”1, az e érték három bitegy bitből áll (az oszlopban álló Ez a 260 ábrán van illusztrálva, lépésben van bemutatva ebben az hogy a legfelső azaz ”0, a c kód és így az m érték el hagyható).
ahol egy e-ábrázolás sok ábra-részben. A következő részben, ahol az kitevő előjel még mindig negatív, de a c kód érték ”0, az e érték nem foglal magában egy bitet sem (az oszlopban álló két első 0 elhagyható), a mantissza bit pedig három bitet foglalhat magában. Ezt a 26 ábrában illusztráltuk, ahol egy e-ábrázolás követhető végig néhány lépésben. A következő részben az e kitevő csak egy bitből áll, a mantissza pedig három bitből, stb.
Amint az ábrázolási részben látható, az e kitevő
33 • ·· ·· ···· • · * · · ··· ··· ·· · • · · · * » számos lépést tarai máz a c=0 és se=O értékekkel rendelkező ábra-részben, és néhány lépést a c=1 és se=1 értékekkel rendelkező ábra-részben. Az e+bias ábra-részben az e ábra-résztől balra folytonos vonallal az van ábrázolva, hogy az e kitevő milyen értékeket ad egymás után egy vonalban, a teljes metszet (függőleges ábra-rész) egyes negyedeiben; szaggatott vonallal pedig az, hogy az ehabs értékek miként vannak felépítve, az e+bias metszet minden második negyedének invertálásával. (Az eh az e értékét ábrázolja a kitevő előjelével).
Ilymódon a kód bit vagy bitek a megelőző kitevő előjel bitektől függenek, és ezért mondhatjuk, hogy a kód ténylegesen magában foglalja az előjel biteket, és emiatt igen rövid hosszal rendelkezhet, azaz rövidebb lehet, mintha a kitevő hossza csak a kód mezőben tartalmazott információtól függene.
A mantissza hossza a kitevő hosszától olyan módon függ, hogy amikor a kitevő hosszú, akkor a mantissza rövid, és megfordítva. Emiatt a 26. ábrán a mantissza nem látható, de a 27A-27D ábrák m,md oszlopában látható, ahol is az első m oszlop a mantissza decimális számrendszerbeli értékét, a második, ma oszlop pedig annak bináris megfelelőjét mutatja. Ha s=1, akkor mh=1.0+m, ellenkező esetben mh=-2+m, amint fentebb említettük.
A fenti példát egy hét bit hosszúságú szóra vonatkozóan írtuk le, az olvashatóság céljából. Mint említettük, a szóhosszúságot egészen nagyra is megválaszthatjuk, például 32 bitesre. Ekkor célszerű változó kódhosszúságot használni.
34 • » · · *« ···· • · · · « · * • ·♦· ·♦ · ·· · • · · · · · ·
Az áramkörök egyszerűbbé tétele céljából az is célszerű, hogy a kitevő és mantissza részek közötti osztáspontot néhány bites növekményekben változtassuk, például 4 bitenként. Ennek egyik előnye az, hogy nincs szükségünk annyi kódra, mint akkor, ha az osztás változtatást bitenként csináljuk. A következőkben egy ilyen pontosság dekódoló leírását fogjuk tárgyalni.
AZ 5 NUMERIKUS ARITMETIKAI LOGIKAI EGYSÉG EGY MEGVALÓSÍTÁSA
A 28. ábra az 5 numerikus aritmetikai logikai egység egy részletes megvalósítását mutatja be, amely része lehet a találmány szerinti elsőfokú processzornak. Az NUo-tól NU3-ig terjedő bemeneti/kimeneti buszok egy 20 bemeneti/kimeneti puffer hez vannak kötve, amely az információt a bemeneten a voi-V3i belső vezetékekhez továbbítja, a 20 bemeneti/kimeneti puffer óra vezérlő bementén biztosított külső CLOCK (ÓRA) jel minden egyes óra-interval1 urnára vonatkozóan; a kimenetet pedig a voout-V3out vezetékekről az NU0-NU3 ki meneti/bemeneti buszokhoz minden egyes óra-interval 1 um alkalmával.
A 20 bemeneti/kimeneti puffer egy megvalósítása és annak időzítése a 29A, 29B és 29C ábrákon látható. A 20 bemeneti/kimeneti puffer maga is tartalmaz bemeneti puffereket, az NU0-NU3 bemeneti/kimeneti buszok mindegyikéhez egyet, és ugyanannyi kimeneti puffért is. A versengési problémák elkerülése érdekében az órajeleknek nem szabad átfedniük egymást. Ezt úgy oldottuk meg, hogy a vezető éleiket kissé levágtuk.
A 29A ábrán látható CLOCK órajel első fázisa alatt, amely a 29A ábrán látható, és a baloldalon egy keretben az
35 • · *· ·· ···· * * · « · · · • ·♦♦ ··· · · · • · · · · · · inverze is látható, a 2 központi tárrekeszben lévő főregiszterektől jövő bemenő információt az 5 numerikus aritmetikailogikai egység belső adatpályájára adjuk a bementi puffereken keresztül, amelyeket egy átviteli állapotba vezérelünk. Az adatok az 5 numerikus aritmetikai logikai egységben lévő belső adatpályán végighaladnak, miközben átmennek a kimeneti buszokon biztosított következő állapotba. A kimeneti pufférek blokkoló állapotba lesznek vezérelve.
Amint az a 29B ábrán látható, a CLOCK órajel óraperiódusának első fázisa alatt, amely az ábra baloldalán egy kerettel van megjelölve, a 20 bemeneti/kimeneti pufferben lévő bemeneti puffereket blokkoló állapotba vezéreljük, az 5 numerikus aritmetikai logikai egységben lévő belső áramkörök pedig stabil multiplexerként működnek, amelyek vezérlése biztosítani fogja a jeleket az NUo-tól NUa-ig terjedő bemeneti/kimenti buszokon. A 20 bemeneti/kimeneti pufferben lévő kimeneti puffer átviteli állapotba lesz vezérelve.
A 29C ábrán látható egy több ciklusból álló utasítás állapota a 0-ás fázisban. Az NU0-NU3 kimeneti/bemeneti buszok tartalma, amely a megelőző 1-es fázis alatt lett rájuk táplálva az 5 numerikus aritmetikai logikai egységből, a kapacitancia hatások miatt fenn lesz tartva a 0-ás fázis alatt, és így lehetséges lesz azok átvitele a bementi puffereken keresztül, amelyek egy átviteli állapotba lesznek vezérelve, miközben a kimeneti puffereket blokkoló állapotba vezéreljük, a bemeneti vöt, vi,, V2,, V3i buszokra, majd onnan továbbhaladnak az 5 numerikus aritmetikai logikai egységen belüli belső adatpályán keresztül, miközben az átmegy
36 • · a következő állapotba. A bemeneti listát arra használjuk, hogy az vezérelje és végrehajtsa a számítást, amely a bemeneti lista tartalmának átírásával és az eredménynek a kimenetere történő átvitelével történik. A lista első eleme egy utasítás kód, a többi elem pedig az utasításhoz tartozó argumentumok, amely azt igényli, hogy a bemenő adatoktól függő funkcionális hardware álljon rendel kezére. Ugyanakkor avii, V2i , vaΐ buszokon jelen lévő információ típusára vonatkozó információt előnyösen a 6 központi vezérlő egységtől jövő EXT bemenetre adjuk rá.
A 6 központi vezérlő vezérlő egység előnyösen rendelkezik azzal az információval, hogy a bemeneti vo í , vi i , V2i , V3í buszokon lévő szavak utasításokat és/vagy számokat képviselnek-e, és hogy a számok lebegő pontosak vagy egészek-e, és ezt az információt átadja az 5 numerikus aritmetikai logikai egység 27 vezérlő áramkörének, az EXT buszon keresztül.
A 28. ábrán látható megvalósításban a következő feldolgozó egységek vannak biztosítva, a különböző utasítások végrehajtására:
A komparátorok
Egy első 21 komparátor össze van kötve a vo i és vi í buszokkal, összehasonlítván az azon buszokon lévő teljes információt, azaz hogy voí>vií vagy voí=vií, és az 5 numerikus aritmetikai logikai egység egy 27 vezérlő áramköréhez kötött cmpo1 kimenetén biztosítja az összehasonlítás eredményét, azaz egy két bites értéket. Egy második 22 komparátor össze van kötve avu és V2i buszokkal, összehason1 37
litván az azon buszokon lévő teljes információt, azaz hogy vi i >V21 vagy vn=V2i, és az 5 numerikus aritmetikai logikai egység egy 27 vezérlő áramköréhez kötött cmpi2 kimenetén biztosítja az összehasonlítás eredményét, azaz egy két bites értéket. Egy harmadik 221 komparátor össze van kötve a V2i és V3< buszokkal, összehasonlítván az azon buszokon lévő teljes információt, azaz hogy V2í>vsí vagy V2,=V3ι, és az 5 mumerikus aritmetikai-logikai egység 27 vezérlő áramköréhez kötött cmp23 kimenetén biztosítja az összehasonlítás eredményét. Egy negyedik 222 kitevő komparátor össze van kötve a vií és V2i buszokkal, amelyek mindegyike egy 32 bites busz, és összehasonlítja az azon a buszokon lévő szavak legmagasabb helyiértékü részeit, azaz az se, _c, e részeket, vagyis a buszokon lévő teljes információt, kivéve a mantisszát és az előjelet. A komparátor figyelembe veszi az előbbiekben leírt se, c és e részek kódolását. Emiatt a PD pontosság dekódolóból jövő Bisbi jel a 222 kitevő komparátor egy külön bementére lesz ráadva.
Egy ötödik 223 komparátor összehasonlítja az egyesítés előtti dekódolóktól jövő Bisbi és Bisb2 jeleket. Az eredményül létrejövő cmp_prec jel jelzi, hogy a Bisbi és Bisb2 jelek azonosak-e.
Az 5 mumerikus aritmetikai logikai 27 egység vezérlő áramköre az összehasonlítások eredményét a 21, 22 komparátoroktól a saját Astate kimenetére táplálja rá, amely a 6 központi vezérlő egységhez van kötve (lásd a 24Α ábrát). Az eredményt fel lehet használni az alábbiakban leírt némelyik egység vezérlésére is úgy, hogy előre kiválasztott szavakat
138 • · ad rá a viout, V2out és V3out kimenetekre, ha ez célszerű.
Érvénytelenség dekódolók
A vii vezetékhez egy 23 érvénytelenség dekódoló van kapcsolva, és ez azt vizsgálja, hhavn bitejei mind O‘‘-ák vagy ”1”-ek-e, amennyiben a vii buszon lévő szó egészet képvisel-e; és hogy ha a vi i buszon lévő szó egy lebegő pontos értéket ábrázol, akkor külön-külön megvizsgálja, hogy a kitevő rész és a mantissza rész mind “O vagy mind 1 ” bitet tartalmaznak-e. Egy Bisbi jel, amely a vii bemenet legalacsonyabb helyiértékü bitcsoportját jelzi, információt nyújt arra vonatkozóan, hogy a bemeneti vii buszon lévő szó egy egészet vagy egy lebegő pontos értéket ábrázol-e, és lebegő pontos érték esetében ugyancsak információt nyújt a mantiszsza és a kitevő közötti osztáspont pozíciójára vonatkozóan. Ezen vizsgálatok eredményét az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörének egy bementére kötött insigi kimenet tartalmazza. A V2i buszhoz egy 24 érvénytelenség dekódoló van kapcsolva, és ez azt vizsgálja, hogy a V2 i busz bitjei mind O,,-ák vagy 1-ek-e, amennyiben a V2i buszon lévő szó egészet képvisel-e; és hogy ha a V2i buszon lévő szó egy lebegő pontos értéket ábrázol, akkor külön-külön megvizsgálja, hogy a kitevő rész és a mantissza rész mind 0 vagy mind 1 bitet tartalmaznak-e. Egy Bisb2 jel, amely a V2i busz bemenetének legalacsonyabb helyiértékü bitcsoportját jelzi, és hasonló információt nyújt, mint a Bisbi. Ezen vizsgálatok eredményét az 5 mumerikus aritmetikai-logikai egység 27 vezérlő áramköre egy bementére kötött insig2 kimenet tartalmazza. A V3i buszhoz egy 25
39
érvénytelenség dekódoló van kapcsolva, és ez azt vizsgálja, hogy a vs 1 busz bitjei mind O“-ák vagy Γ'-ek-e, amennyiben a V3i buszon lévő szó egészet képvisel-e; és hogy ha a vai buszon lévő szó egy lebegő pontos-os értéket ábrázol, akkor külön-külön megvizsgálja, hogy a kitevő rész és a mantissza rész mind 0” vagy mind 1 bitet tartalmaznak-e. Az erre vonatkozó információ a Biebi jelből származik. Ezen vizsgálatok eredményét az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörének egy bementére kötött insig3 kimenet tartalmazza. Az egyes érvénytelenség dekódolókat egy c53 vezérlő jel is vezérli, amelyet az alábbiakban az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörével kapcsolatban írunk le részletesebben.
Az 23, 24 és 25 érvénytelenség dekódolók célja annak érzékelése, hogy a bemenetek egyikén lévő, és egy végrehajtandó számításban résztvevő információ értéktelen-e. Ez az információ rendelkezésre áll a 6 központi vezérlő vezérlő egységhez vezető Astate buszon is. Egy végső feltétel, amely abból áll, hogy legalább az egyik 23, 24 vagy 25 érvénytelenség dekódolóról származó bemenő jel csupa zérót jelez, felhasználható az 5 numerikus aritmetikai logikai egység 27 vezérlő áramkörének vezérlésére bizonyos műveletek esetében.
Utasítás dekódoló
A voi buszra egy 26 utasítás dekódoló van kötve. A voí busz hordozza az utasítást, amikor az 5 numerikus aritmetikai logikai egységnek egy aritmetikai műveletet kell végrehajtani. A voí busz dekódolásának eredménye átvitelre kerül az 5 mumerikus aritmetikai logikai egység 27 vezérlő
140 • · · áramköréhez az ins kimeneten keresztül, ha a voi busz hordozza az utasítást vagy az adat értéket. A 23-25 érvénytelenség dekódolókat és a 26 utasítás dekódoló egységet további Bi«b2 jelek, valamint a PD1 , PD2 és az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköre által generált os jel is vezérli, amelyet az alábbiakban részletesebben leírunk.
összeadók és ki vonók
A vii és V2i buszokhoz egy 28 első összeadó egység van kapcsolva, amely a vii+V2i buszok összeadását végzi, és az eredményt egy különálló ai kimenetre adja rá. Az eredmény egy lehetséges átviteli jele egy grai kimenetre van ráadva, amely az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköréhez van kötve. A vn és V2i buszokhoz egy 29 kivonó egység van kapcsolva, amely a vii-V2ϊ buszok kivonását végzi, és az eredményt egy különálló a2 kimenetre adja rá. Az eredmény egy lehetséges átviteli jele egy gra2 kimenetre van ráadva, amely az 5 numerikus aritmetikai logikai egység 27 vezérlő áramköréhez van kötve. A vi i és V2i buszokhoz egy második 30 összeadó egység van kapcsolva, amely a vi i+2*V2i összeadást végzi, és az eredményt egy különálló a3 kimenetre adja rá. Az eredmény egy lehetséges átviteli jele egy gra3 kimenetre van ráadva, amely az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköréhez van kötve. Az egyes 28, 30 összeadó egységeket még az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköréről érkező c5 vezérlő jel, valamint a Bisbi jel is vezérlik. Ez a jel hordozza az arra vonatkozó információt, hogy a bemeneti buszokon lévő szavak
141 egész értékeket vagy lebegő pontos értékeket tartalmaznak-e, és lebegő pontos értékek valamint a vn és V2< buszokon lévő illesztett (azonos alakra normálizált - a ford. megjegyzése) értékek esetében a kitevő és a mantissza közötti osztópont
4··· helyzetére vonatkozó információt is. Ezek az információk alapvetőek, mivel a diszkrét ki lesznek értékelve, míg a értékek esetében a mantissza külön-külön történik.
értékek, azaz egészek teljesen folytonos, azaz lebegő pontos és a kitevő részek kiértékelés
Előjel áramkörök
Egy első 35 előjel és kitevő áramkör szétválasztja a vii buszon lévő szó előjelét, kitevő előjelét, legmagasabb helyiértékü mantissza bitjét és két legalacsonyabb helyiértékü mantissza bitjét, és a sigm (előjeli) kimenő jelét az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörének egy bemenetére adja át. Egy második 36 előjel és kitevő előjel áramkör szétválasztja a V2i buszon lévő szó előjelét, kitevő előjelét, legmagasabb helyiértékü mantissza bitjét és két legalacsonyabb helyiértékü mantissza bitjét, és sign2 (előjel ) kimenő jelét az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörének egy bemenetére adja át. Ezen túlmenően, egy harmadik 37 előjel és kitevő előjel áramkört lehet rákötni a V3i buszra, és ez a sign3 (előjeL·) kimenő jelét az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörének egy bemenetére adhatja át. Meg kell jegyezni, hogy a 35 és 36 előjel és kitevő előjel áramkörök abszolút szükségesek olyan esetekben, amikor az előjel, a kitevő előjel és a mantissza bitek a vi i és V2i buszokon
142 · * .
lévő szó részeként állnak elő. Ezeket az 5 numerikus aritmetikai logikai egység 27 vezérlő áramköre használja a bemenő buszokon megjelenő lebegő pontos szavak esetében. A harmadik 37 előjel és kitevő előjel áramkört az 5 numerikus aritmetikai logikai egyes alkalmazásainál el lehet hagyni. Az 5 numerikus aritmetikai logikai egység egyes alkalmazásainál ezen kívül használhatunk még egy előjel és kitevő előjel áramkört (az ábrán nem látható) a voi busz részére.
Az 5 numerikus aritmetikai logikai egység 27 vezérlő áramköre
Az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköre biztosítja a digitális kimenő jeleket a c1, c2, c3, c4, c5 kimenő buszokon, a bemenő jeleinek feldolgozása révén. Az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköre előnyösen egy logikai kapu mátrix. A kimenő jelek által biztosított vezérlésre néhány példát a továbbiakban részletesen leírunk.
Az operandus egységek
Avii és V2í buszokon megjelenő operandusokhoz két, r1 és r2, operandus egység tartalmazza az egyes elemekre vonatkozóan egyedi aritmetikát. Mindegyik r1, r2 operandus egység több információ bemenettel rendelkezik. Ezek közül három a 28, 29 és 30 egységek különálló a1, a2 és a3 kimenetére van kötve, kettő a bemenő vi, és V2í buszokra, és három egy egyedi PD1 vagy PD2 pontosság dekódoló egyikének néhány kimenetére, amelyeket az alábbiakban bővebben leírunk. Elvileg mindegyik információs bemenet egy busz, amely ugyanannyi vezetéket tartalmaz, mint a bemeneti voí, vn, V21 , V31
143 buszok. Az r1 operandus egység kimenete a kimenő viout busz, az r2 operandus egység kimenete pedig a kimenő V2out busz.
Az 5 (numerikus aritmetikai logikai egység 27 vezérlő áramkörének egyik c1 kimenete egy összetett vezérlő jel, amely az r1 operandus egységben lévő belső elemek vezérlését végzi. Az r1 operandus egység számára szolgáló egyéb vezérlő jeleket a PD1 pontosság dekódoló biztosítja. Az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörének egy második c2 kimenete egy összetett vezérlő jel, amely az r2 operandus egységben lévő belső elemek vezérlését végzi. Az v2 operandus egység számára szolgáló egyéb vezérlő jeleket a PD2 pontosság dekódoló biztosítja. Az 5 mumerikus aritmetikai-logikai egység 27 vezérlő áramkörének egy harmadik c3 kimenete egy összetett vezérlő jel, amely az r3 harmadik operandus egységben lévő belső elemek vezérlését végzi, egy negyedik c4 kimenet biztosítja egy 31 polinóm előállító áramkör vezérlését, amelyet részletesebben a továbbiakban fogunk leírni, egy ötödik c5 kimenet biztosítja a PD1 és PD2 pontosság dekódolók valamint a 23-25 érvénytelenség dekódolók, a 28-30 összeadó egységek és a 29 kivonó egység és a 35-37 előjel és kitevő előjel áramkörök vezérlését.
Az r1 és r2 operandus egységek mindegyike alapvetően ugyanazon elrendezéssel rendelkezik, és emiatt részletesen csak az egyiket, az r2-t írjuk le a továbbiakban. Az r1 és r2 operandus egységben néhány elem ugyanazokkal a hivatkozási számokkal van ellátva. Az r1 illetve r2 operandus egység két csoportra van felosztva, az OP© kitevő részre és az OP™ mantissza részre. Az OPm mantissza résznek van egy n1 ki1 44 • · ·
menete, és a kitevő résznek van egy n2 kimenete. Az n1 és n2 kimenetek egy kimenő busz-szelektor bemenetelre vannak rákötve, amelyet bitcsoport egyedi M1 szelektornak is nevezünk. Egy 40 0/1 generátor, amely négy 0-ból vagy négy 1-ből álló pontosság csoportot biztosít kívánság szerint, és amelyet a generátorhoz kötött c2i 1 vezérlő jel vezérel, szintén rá van kötve az M1 szelektor egy másik bemenetére.
Az ΟΡβ kitevő rész bemenetként az r1 illetve r2 operandus egység bemenetel közül néggyel rendelkezik, azaz a V2 i-vel és a Bbi«s2, Bco_incr2, Be o_ d · c r 2 ~ Ve 1 a PD2 pontosság dekódolóból, és ugyancsak rendelkezik egy n8 bemenettel az OP· mantissza részből. A V2i bemenet egy INC inkrementáló bemenetére, a DEC dekrementáló bementére és egy M2 szókiválasztó (szelektor) öt bemenete közül egyre van kötve. Az INC és DEC komponensek n5 és n6 kimenetei az M2 szókiválasztó két bemenetére vannak kötve. A BCo_íncr2 és a Bco.decrí az M2 szókiválasztó másik két bemenetére vannak rákötve.
Az r2 operandus egységben lévő INC komponens ezen felül rendelkezik még a gri2 és Cei2 átvitel kimenetekkel is, míg a DEC komponensnek van egy grd2 és Cea2 átvitel kimenete, amelyek az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköréhez vannak kötve. Az r1 operandus egység rendelkezik még a gn1 és Ci1 inkrementáló (növelő) komponens átviteli kimenő jelekkel valamint a grai és Ced 1 dekrementáló (csökkentő) komponens átviteli kimenő jelekkel is, amelyek az 5 numerikus aritmetikai logikai egység 27 vezérlő áramköréhez vannak kötve. Az átviteli kimenetek az
145 óraciklus első felének elején állnak elő. Az Μ1 , M2 szókiválasztókat az óraciklus első felének késői szakaszában vezéreljük, majd ezt a szóki választó-vezérlést biztosítjuk, figyelembe véve azt a tényt, hogy az INC inkrementáló vagy a DEC dekrementáló közül valamelyiknél fellépett-e átvitel vagy sem.
A normális maximális jelhaladási késleltetés az első M1 szóki választóhoz több mint egy fél ciklus. Ilymódon ez az elrendezés nem okoz további extra késleltetést. Ugyanakkor azonban a tipikus jelhaladási késleltetés általában rövidebb egy fél ciklusnál. Az összes jel kiértékelése az utolsó félciklusba történő átmenet idején történik. Az Μ1, M2 szókiválasztókban semmiféle felesleges átmenet (átalakulás) nem lép fel.
Az r1, r2 operandus egységben lévő M2 szókiválasztó n4 kimenete közvetlenül a négy bemenettel rendelkező M3 szókiválasztó egy első bemenetére van kötve, valamint egy második bemenetére is egy INV inverteren keresztül. Az n2 kimenet az OP® kitevő komponens kimenete. A Bt>ías2 bemenet az M3 szókiválasztó egy harmadik bemenetére van kötve.
Az OPm mantissza résznek öt bemenete van, azaz a V2 í , vi i , ai , a2 és a3 . Valamennyi bemenet egy M4 szókiválasztó egyes bemenetelre van kapcsolva, amely öt bemenettel és egy n8 kimenettel rendelkezik. Az n8 kimenet az M3 szókiválasztó negyedik bemenetére van kötve az OPe kitevő részben. Az n8 kimenet ezen kívül még közvetlenül rá van kötve egy M5 szókiválasztó három bemenetének egyikére; egy SH1 negatív léptetőn keresztül az M5 szókiválasztó egy második
46 bemenetére , amely a bemenetén megjelenő bináris információt négy bittel az alacsonyabb helyiértékü irányban ellépteti, azaz a bináris információt elosztja 16-tal; valamint egy SH2 pozitív léptetőn keresztül hozzá van még kötve egy harmadik bemenethez is, amely a bemenetén megjelenő bináris információt négy bittel a magasabb helyiértékü irányban lépteti el, azaz a bináris információt megszorozza 16-tal.
Az M5 szókiválasztó n7 kimenete közvetlenül hozzá van kötve egy M6 szókiválasztó hat bemenetének egyikéhez; egy SH3 negatív léptetőn keresztül, amely a bemenetén megjelenő bináris információt egy bittel az alacsonyabb helyiértékü irányba lépteti, egy második bemenethez; egy második SH4 negatív léptetőn keresztül, amely a bemenetén megjelenő bináris információt egy lépéssel az alacsonyabb helyiértékü irányba lépteti, egy harmadik bemenethez; egy SH5 pozitív léptetőn keresztül, amely a bemenetén megjelenő bináris információt egy lépéssel a magasabb helyiértékü irányba lépteti, egy negyedik bemenethez; és egy második SH6 pozitív léptetőn keresztül, amely a bemenetén megjelenő bináris információt egy lépéssel a magasabb helyiértékü irányba lépteti, egy ötödik bemenethez is. Egy belső 41 konstans szógenerátor a c2io bemenetén megjelenő vezérlés hatására előállítja a Cword2 állandó szót, és kimenete az M6 szókiválasztó egy egyedi bemenetére van kötve. A 41 konstans szógenerátor nullák és egyesek egy előre meghatározott kombináció-csoportját tudja előállítani, például csupa O-ból vagy csupa 1-ből álló bitcsoportot, vagy egy megadott információt hordozó szót, a 41 konstans szógenerátorra adott c2io vezérlő jel
147
hatására. A 41 konstans szóenerátor csak egy korlátozott számú szókombinációt képes tárolni, amelyek közül a c2io vezérlő jel hatására választ ki egyet. Az M6 szókiválasztó kimenete az OP· mantissza rész n1 kimenete.
Az OP· mantissza rész a következő funkciót valósítja meg. Az n8-on megjelenő alap mantissza értéket az M4 szókiválasztó választja ki, eredményül a V2-t, Vi-et, ai-et, a2-t vagy a3-at adva. Ezt felhasználhatjuk ahogy van, vagy 1, 2, 3, 4, 5, 6 bittel el lehet léptetni balra (pozitív léptetés), vagy pedig 1, 2, 3, 4, 5, 6 bittel el lehet léptetni jobbra (negatív léptetés), vagy helyettesíteni lehet a 41 konstans szógenerátor által előállított cword2 szóval.
Az OP· kitevő rész a következő funkciót valósítja meg. Kimenete lehet akár az n8-on megjelenő nem léptetett mantissza, a V2+1, az invertált V2+1, a V2-1, az invertált V2 — 1 , a Be o - i ne r 2 , 3Z invertált Be o - i n c r 2 , a Be o-decr2 , 3Z invertált co-decr2, vagy a Bbias2.
Az r2 operandus egységben az M2-től M6-ig terjedő szókiválasztókat az 5 numerikus aritmetikai logikai egység 27 vezérlő áramkörének c2 kimenetére adott vezérlő szó egyedileg vezérli. így az M2 szókiválasztót a vezérlő szó c23 része, az M3 szókiválasztót a vezérlő szó c22 része, az M4 szókiválasztót a vezérlő szó ο2β része, az M5 szókiválasztót a vezérlő szó c2s része, és az M6 szókiválasztót a vezérlő szó c24 része vezérli. Ezen kívül, az M4 szókiválasztó n8 kimenetére kötött SH1 és SH2 léptetőket egy c2e rész-jel vezérli, az SH3-tól SH6-ig terjedő léptetőket egy ο2γ részjel, az INC inkrementálót és a DEC dekrementálót egy c29
148 rész-jel, a cWOrd2 kimenetet előállító 41 konstans szógenerátort egy c2io rész-jel, a 40 0/1 generátort pedig egy c2i1 rész-jel vezérli.
Az egyedi M1 bitcsoport kiválasztót egy kombinált több-bites jel vezérli, amely magában foglal egy c2i részvezérlő szót, egy Bcd.2 kimenő kód-jelet a PD2 pontosság dekódolóból, egy Bieb adj 2 legalacsonyabb helyiértékü bitjelet és egy Bexp adj2 kimeneti kitevő jelet. A két utoljára említett jelet a 42A és 42B jel fel dől gozó áramkörök állítják elő a Bisb2 és Bexpí kimenetekből, amelyek a PD2 pontosság dekódolóból jönnek. A jeleket a továbbiakban részletesebben leírjuk és bemutatjuk. A 42A és 42B jel feldől gozó áramköröket a c2s jel vezérli, amely az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörből érkező c2 kimenet egy része. A PD2 pontosság dekódoló az információ kitevő előjel és kód részét a V2 , buszon kapja, mint bemenetet az 5 mumerikus aritmetikai-logikai egység származó c53 bináris vezérlő jellel vezérlő áramköréből együtt, amely azt jelzi, hogy a V2i buszon lévő szó egy egészet vagy egy lebegő pontos értéket képvisel-e. A c53 vezérlő jel az 5 numerikus aritmetikai logikai egységet vezérlő 27 vezérlő áramkörétől jövő kimenő jel.
Ugyanez igaz az r1 pontosság dekódolóra is. A jövő B1 sb 1 , Be x p 1 jelek operandus egységhez tartozó PD1
PD1 egyedi pontosság dekódolóból feldolgozását a 43A és a 43B jel fel dől gozó áramkörök végzik, amelyek a Bisb adji és Bexp adji kimenő jeleket állítják elő. A 42A, 42B és a 43A, 43B jel fel dől gozó áramkörök többnyire ugyanazt a kimenetet ál
49 lítják elő, mint a dekódolótói, amelynek maguk is részük, jövő bemenő jelük. Néhány esetben azonban, amikor az INC inkrementálótól vagy a DEC dekrementálótól egy átvitel-jel érkezik, akkor a kimenő jeleket elléptetik, amint ezt később részletesebben leírjuk. A léptetőt az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörétől jövő c2 vagy c1 kimenő jelek részét képező c2s vagy c1s rész-jelek vezérlik.
A PD2 (vagy PD1) pontosság dekódoló olyan kimenő jeleket állt elő, amelyek mindegyike értékes, amelyet például az jelez, hogy a 42A, 42B vagy a 43A, 43B jel fel dől gozó áramkörökhöz menő kimenő jelek csupa nullát tartalmaznak, amennyiben a V2i szó egy egész számot tartalmaz, és rendelkezik az alábbiakban Bexp2-ként, Bisb2-ként és Bcd«2-ként (vagy Bexpi-ként, Bisbi-ként és Bedéi-ként) leírt kimenetekkel, amennyiben a V21 (vagy vi i ) egy lebegő pontos értéket ábrázol.
A PD1 pontosság dekódoló állítja elő a Bco-decri , Bco- i ncr 1 , Bb i a s 1 , Be x p 1 , Bl s b 1 , Bm s b 1 és Bedéi jeleket 3Z r1 operandus egység részére, valamint egy Bco maxi jelet, amely azt jelzi, hogy a kód egy maximális hosszúságú kitevőt képvisel, és egy Bco mini jelet, amely azt jelzi, hogy a kód egy minimális hosszúságú kitevőt képvisel az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköréhez. A PD2 pontosság dekódoló állítja elő a Bco-decr2, Bco-incr2, Bbias?, Bexp2, Bisb2, Bm s b 2 és Be d e 2 jeleket az r2 operandus egység részére, valamint egy Bco maxi jelet, amely azt jelzi, hogy a kód egy maximális hosszúságú kitevőt képvisel, és egy Bco mim jelet, amely azt jelzi, hogy a kód egy
50
• · * · minimális hosszúságú kitevőt képvisel az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköréhez. A PD1 vagy PD2 pontosság dekódolóból jövő Bi»b, B.xP kimenő jeleket ugyanolyan módon kel léptetni, mint ahogyan a mantissza lesz léptetve, abból a célból, hogy az új pontosságot a kimeneteken tükrözzük a nomális léptetések során, amelyet a 42A, 42B vagy a 43A, 43B jelfeldolgozó áramkörök vezérlése hajt végre, a c2e vagy C1s rész-jelek vezérlése alatt, amint ezt fentebb leírtuk.
Mindegyik PD1, PD2 pontosság dekódoló kap egy c53 jelet a bemenetén, jelezvén, hogy a bemeneti vii vagy V2i buszon lévő szó egy egész számot vagy egy lebegő pontos értéket ábrázol-e. A c53 jel az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörének c5 kimenetéről érkező jel része, amely a 23-25 érvénytelenség dekódolók, a 26 utasítás dekódoló, a 27 vezérlő áramkör, a 28 és 30 összeadó egység és a 29 kivonó egység vezérlését végzi.
A PD1, PD2 pontosság dekódolótői érkező kimenő jeleket az alábbiakban részletesebben ismertetni fogjuk.
Szorzás és osztás, az r3 operandus egység
A harmadik r3 operandus egység egy szorzandó/hányados egység, az r1 és r2 operandus egységektől eltérő típusú, és ezt az r3 operandus egységet elsősorban a szorzási és osztási műveletek végrehajtása céljából biztosítjuk. Az r3 operandus egység hajtja végre a szorzási és osztási műveletek során szükséges léptetéseket és beállításokat. Vezérlését az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörének c3 kimenetén biztosított vezérlő szó végzi.
151
Az r3 operandus egység több bemenettel rendelkezik, amelyek közül az elsőre a V2i buszon lévő információt adjuk, egy másodikra a va< buszon lévő információt, és egy harmadikra a 44 konstans szógenerátortól érkező kimennő jelet, amelyet az abban tárolt több bit-kombináció közül választunk ki az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramkörének c3 kimenetétől érkező c3< rész-jel vezérlése révén.
Az r3 operandus egységet egy argumentum kiértékelése céljára használjuk az összetett numerikus utasítások végrehajtása során. Kimenete a V3out buszra van kötve.
A V2ΐ bemenet az M11 szókiválasztó egy első bemenetére van kötve. A V3ί bemenet közvetlenül az M11 szókiválasztó egy második bemenetére van kötve, egy SH11 pozitív egy-bites léptetőn keresztül ugyanazon M11 szókiválasztó harmadik bemenetére, az SH12 első negatív egy-bites léptetőn keresztül egy negyedik bemenetre, és a második egy-bites SH13 negatív léptetőn keresztül egy ötödik bemenetre; ahol a két utoljára említett bit léptetőt a c33 , Bmsbi és Nist?i jelek vezérlik. A 44 konstans szógenerátor kimenete az M11 szókiválasztó hatodik bemenetére van kötve. Az M11 szókiválasztó kimenetét, amelyet egy második M12 szókiválasztó egyik bemenetére adjuk, az 5 mumerikus aritmetikai logikaegység 27 vezérlő áramkörének c3 kimenetétől érkező c3z rész-jel vazérlése révén választjuk ki.
Az M12 szókiválasztó egy busz-csatlakozás, amely az
M11 szókiválasztó kimenetét biztosítja a V3out kimeneti buszon, de amelyet egy kikapcsolt állapotba is vezérelhetünk
152 ·«« a c3i rész-jel segítségével.
Az 5 numerikus aritmetikai logikai működésének példáira vonatkozóan hivatkozunk a függőben lévő ........... sz. bejelentésünkre.
A pontosság dekódoló
Egy pontosság dekódoló elvi szerkezete a 30. ábrán látható. Meg kell jegyezni, hogy a látható szerkezeten módosítások hajthatók végre, például abból a célból, hogy a számítás ütemét felgyorsítsuk. Ezek csak konstrukciós tulajdonságok, és nyilvánvalóak egy a szakmában jártas személy számára, és emiatt itt nem írjuk le ezeket. Ez azt jelenti, hogy a tényleges áramkörök a 30. ábrán láthatótól teljesen eltérő elrendezéssel, de ugyanazzal az elvi funkcióval rendelkezhetnek .
A Vji bemenő jel, ahol j 1 vagy 2, kitevő előjele és kód része az 5 numerikus aritmetikai logikai egységre lesz ráadva, amely ebben a megvalósításában a kimenetén az előbbiekben látott táblázatban szereplő kódok egyik variánsát biztosítja, beleértve a kitevő előjelet is, például a táblázat baloldalán látható variánst, függetlenül attól, hogy a bemenetén melyik variáns lett beadva. Alternatívaként mindkét variánst előállíthatjuk egy 50 újrakódoló áramkör kimenetén, de mindig ugyanabban a sorrendben, például a fenti táblázat baloldalán látható variánst az erre a célra kijelölt vonalakon, és a jobboldalon látható variánst az erre a célra kijelölt vonalakon. A kimenő jelet egy 51 bit sorrend öszszehasonlító áramkörhöz adjuk, amely figyelemmel kíséri a bemenetén megjelenő bitkombinációt, és előállítja a Bnsb
53 • · · · * · · • ·♦· ··· ·· • ·· · digitális jelet, amely tartalmazza a kód bit-hosszúságát is.
Ugyancsak előállítja a Bed· jelet is.
Az 50 újrakódoló áramkör kimenetéhez hat 52-57 bit sorrend összehasonlító áramkör is hozzá van kötve, mindegyik úgy kialakítva, hogy a saját egyedi kódolására reagáljon a kimenetén előállított 1 bittel, amennyiben az 50 újrakódoló áramkörtől jövő kimenő vezetékeken megjelenő bitminta ugyanaz, mint amelyhez az adott áramkör adaptálva van, amikor is a kimenetén egy 1-et állít elő a normális 0 kimenet helyett. Egyidejűleg az 52-57 bit sorrend összehasonlító áramkörök közül csak egy állít elő egy ’T’-es bitet, azaz igaz jelet, a többiek 0 kimenő jelet, azaz hamis jelet állítanak elő. Emiatt az 58 és 59 vezetékek közvetlenül egy olyan vezetékhez vannak kötve, amelyen a 0-ás bit van.
Az 58 vezeték, az 52-57 bit sorrend összehasonlító áramköröktől jövő kimenetek és az 59 vezeték alkotják a Bisb buszt, amely pontosság csoportonként négy bittel rendelkezik. Mindegyik csoport három 0-ás bitet foglal magában és az adott csoportra vonatkozó Bisb jel bitjét. Ilymódon az egyes csoportok három vezetékét a 0-hoz kötjük, a negyediket pedig a Bisb kimenet megfelelő vezetékéhez. A Bco.main kimenet az 52 bit sorrend összehasonlító áramkör kimenetéhez, a Bco_max pedig az 57 bit sorrend összehasonlító áramkör kimenetéhez van kötve.
A Bexp kimenő jel bitmintája magában foglal 0-ákat a legalacsonyabb helyiértékü pozícióin, egészen addig a pozícióig bezárólag, ahol a Bisb egy 1-el rendelkezik, majd az utána következő bitek mind 1-esek. Emiatt egy 60 VAGY1 54
kapu egyik bemenet© az 57 áramkör kimenetéhez van kapcsolva, a többiek pedig az (56) áramkör kimenetéhez. Az 57 bit sorrend összehasonlító áramkör kimenete a Β·χρ jel következő alacsonyabb helyiértékü vezetékéhez van kötve. így, amennyiben az 57 bit sorrend összehasonlító áramkör kimenetén véletlenül egy 1 bit van, akkor ez a 60 VAGY kaputól ugyancsak egy 1 kimenő bitet állít elő. A 60 VAGY-kapu kimenete egy másik 60 VAGY-kapu első bemenetéhez van kötve, amelynek másik bemenete az 55 bit sorrend összehasonlító áramkör kimenetéhez van kötve. A 60 VAGY-kapu kimenete a Bexp kimenet harmadik legalacsonyabb helyiértékü vezetékéhez van kötve, valamint egy 60 VAGY-kapu első bemenetéhez, amelynek másik bemenete az 54 bit sorrend összehasonlító áramkör kimenetéhez van kapcsolva, stb. A VAGY-kapuknak ez a kaszkád-jel 1egü kapcsolása ”1-es biteket eredményez minden olyan pozícióban, amelynek helyiértéke azonos vagy magasabb annál, mint amely a Bisb kimeneten 1-et ad.
A Be o _ d e c r első vezetéke egy csolva; második vezetéke egy 161 hatodik vezetékéhez van
VAGY-kapuhoz, amelynek vezetékéhez van kötve; vétlenül a Bisb második szó előjel, kitevő előjel és kód részének 1-eseket biztosító egységhez van kapinverterhez, amely a Bisb harmadik vezetéke egy 162 a Bisb ötödik és hatodik és negyedik és ötödik vezetéke közés harmadik vezetékéhez van kötve. A kapcsolva; bemenetel
Bco.decr szó előjeléhez, kitevő előjeléhez és kód részéhez tartozó vezetékek egy 66 bit kiegészítő áramkör bemenetéhez van kötve, amely “0-kat ad a bejövő szóhoz, hogy egy 32 bites szót biztosítson a kimenetén.
55 . · • · · · · · · • ··· ··· • « · · · · • ·· *
A Bco.mcr szó előjel, kitevő előjel és kód részének elő és második vezetéke egy Γ’-eseket biztosító egységhez van kapcsolva; harmadik vezetéke egy (163 inverterhez, amely a Bisb hetedik vezetékéhez van kötve; negyedik veztéke egy 164 VAGY-kapuhoz van kötve, amelynek bemenetel a Bi.b hat— madik és negyedik vezetékéhez van kapcsolva; ötödik vezetéke pedig egy 164 VAGY-kapuhoz van kötve, amelynek bemenetel a Bisb harmadik és ötödik vezetékéhez van kapcsolva. A Bco.incr előjeléhez, kitevő előjeléhez és kód részéhez tartozó ezen vezetékek egy 67 bit kiegészítő áramkör bemenetéhez vannak kötve, amely ‘O-kat ad a bejövő szóhoz, hogy egy 32 bites szót biztosítson a kimenetén.
Az összeadó
Egy összeadó egy megvalósítása, amilyen például a 28. ábrán látható 28, 30 összeadó egységek és a 29 kivonó egység, a 31A-tól 31C-ig terjedő ábrákon látható. Az összeadónak két argumentuma van, a és b. Az a argumentum a v-ι , buszon áll rendelkezésre, a b argumentum pedig a V21 buszon. Ezek az argumentumok vagy egészként vagy pedig lebegő pontos értékként vannak kódolva. Ezt a tényt egyrészt a 28. ábrán látható 5 mumerikus aritmetikai-logikai egység 27 vezérlő áramkörétől jövő c5 kimenet c5i jele mutatja, amely 0 esetében egészet, 1 esetében lebegő pontos értéket jelez, másrészt pedig a Bisbi és Bisb2 buszok, amelyek egész esetében csupa 0-át, lebegő pontos érték esetében pedig csupa 1”-et tartalmaznak. Amint ez a 31A ábrán látható, a 28 összeadó egység egy bináris összeadó, amely 8 kaszkád kapcsolású szekcióból, a GO, G1, ... Gi, ... G7 szekciókból
56 épül fel, azaz minden egyes pontossági csoporthoz egy szekciót tartalmaz.
Amint az az előbbiekben egy összeadás! művelet leírásából nyilvánvaló, alapvető az, hogy az a és b argumentumokat illesszük (azonos alakúra norma!izáljuk), mielőtt összeadhatnánk őket, amennyiben az a és b lebegő pontos értékek. Ez azt jelenti, hogy a Biebi és a Bi#b2 egyenlők kell, hogy legyenek egymással. A Bisbi-et a Bisb jelként tápláljuk be, a 28 összeadó egység vezérlése céljából. A Bi sb jelet egy lépéssel a mantissza felé eltoljuk, amikor az összeadókra, inkrementerekre, dekrementerekre stb adjuk rá, mivel igy befolyásolni tudja az átvitel továbbhaladását (meg tudja azt gátolni) a legmagasabb helyiértékü mantissza csoportnál. Emiatt a Bisb jel legalacsonyabb helyiértékü bitjét ezekben az esetekben nem használjuk.
Az a és b argumentumok mindegyike 32 bitből áll, és fel vannak osztva 8, egyenként 4 bitet tartalmazó, csoportra. Az a és b , minden négy-bites csoportját különálló bemenetként tápláljuk be egy egyedi Gi szekcióba, ahol i egy 0 és 7 közé eső szám. A Bisb busz minden egyes vezetéke hozzá van kötve a Gi szekciók egyikéhez, kivéve a GO szekciót. A G7 szekcióhoz vezető egy Cin vezeték jelzi azt, hogy a 28 összeadó egységnek egy összeadást vagy egy kivonást kell végrehajtania. A Cin értéke 0 az összeadás és 1” a kivonás esetében. Mindegyik szekció előállít egy Cout í átviteli jelet, amelyet a következő szekcióba kell betáplálni, és az eggyel korábbi szekciótól jövő ciη i jellel együtt tápláljuk be, amint ezt az alábbiakban bővebben leírjuk.
57
Az a és b argumentumok összeadását a G0-G7 szekciók mindegyikében egyenként hajtjuk végre, előállítva a következő szekciókba betáplálandó átviteli jeleket a G7-től GO szekcióig haladó sorrendben, ha ez szükséges. A lebegő pontos értékekhez egy c« átviteli kimenő busz áll rendelkezésre, amelyhez egy mantissza átvitel jel lesz biztosítva, ha szükséges. Ez a busz, az előjel bitet hordozó c· előjel vezetékkel és a cíe kitevő előjel vezetékkel együtt alkotja a 28. ábrán látható 27 vezérlő áramkörhöz tartozó grai (vagy gra2 vagy gra3 ) bemenetet. A 27 vezérlő áramkör ezt az információt a 6 központi vezérlő egységhez adja át az
Astate buszon.
A c5i jel jelzi, hogy az a és b argumentumok egész vagy lebegő pontos értékek-e; a c52 jel jelzi, hogy az a argumentumhoz tartozó kód normál vagy változtatott kód; a c53 jel jelzi, hogy a b argumentumhoz tartozó kód normál vagy változtatott kód. Ezeket a jeleket a GO szekcióhoz adjuk be, amely a legmagasabb helyiértékü pontosság-csoportnak felel meg, beleértve a legmagasabb helyiértékü bit-szeletet (az előjel szeletet) is. Ez, egyebek mellett, az a és b operandusok formátumától függ (azaz, hogy mindkettő egész vagy lebegő pontos érték).
Egy 70 háromállapotú kapu áll rendelkezésre ahhoz, hogy a cm buszt egy meghatározott értékhez beállítsuk, például csupa 0-ra, amennyiben az operandusok egészek, mivel ekkor a buszon nincs mantissza-átvitel aktivizálva. A 70 háromállapotú kapu a c53 jel vezérli.
Egy G1 szekció elrendezésének megvalósítása a 31B
58 ·· ···· ábrán látható. Ez fel van szeletelve az AS1-től AS4-ig terjedő négy összeadó szeletre. Ugyancsak tartalmaz egy átviteli generátort az egyes szekciók számára, amelyek kiértékelik a következő szekcióhoz átviendő Cout i átvitelt. A szóbanforgó Gi szekció egyes a< és bi bit csoportjainak egyedi ai k és b<k bitjei hozzá vannak kötve az egyes ASk összeadó szelethez, ahol k egy 1 és 4 közé eső egész szám. Minden egyes AS1-AS4 összeadó szelet előállít egy suith k bit összeg ki menetet.
Amint ezt a továbbiakban a 31C ábra magyarázatával kapcsolatban részletesebben leírjuk, az átvitel generátorba beadunk egy Gén generált bitet, amely azt jelzi, hogy a szekcióban létrejött összeg nagyobb-e vagy egyenlő 16-tal; egy Pr jel továbbhal adási bitet, amely azt jelzi, hogy a szekcióban generált összeg nagyobb-e vagy egyenlő 15-tel; a megelőző szekcióból jövő cin.í átvitel bitet; egy Cin.n átviteli bitet az AS4 összeadó szeletből; valamint a Bisb_i+1 bitet. A Bisb_i+1 bitet egy 75 inverteren keresztül tápláljuk be egy 76 háromállapotú kapu invertált bemenetére, és közvetlenül a 76 háromállapotú kapu vezérlő bemenetére. A Cin_í4 bit hozzá van kapcsolva a 70 háromállapotú kapu egy második invertált kapujához is. így, amennyiben a a Bist>_i + i bit értéke 0, akkor a 70 háromállapotú kaput ez úgy vezérli, hogy átvigye a Bisb_i+1 bitet. Akkor azonban , amikor a Bisb_í + i bit értéke 1, akkor a 70 háromállapotú kaput ez úgy vezérli, hogy a Cin_i< bitet vigye át, jelezvén, hogy a mantisszának van egy átviteli értéke, amennyiben ez a bit 1 értékű.
59
Mantissza átviteli bitről elegendő csak az argumentum kitevő része utáni pontossági csoportnál gondoskodni, és csak ez a csoport rendelkezik az 1 értékű Βι·»_ι.ι bittel.
* ·* ·· ·«·· • · ·· V *···«· •· · ·
Az átvitel szekcióról szekcióra történő továbbhaladása a kitevő utáni pontossági csoportjánál le van blokkolva. így a Bisb_i + i bit hozzá van kötve egy 77 ÉS-kapu invertált bemenetéhez, amelynek másik invertált bemenetén a Gén invertált jel van, és így a Gén jelet csak akkor viszi át, amikor a Bisb_i+i bit éstéke 0. A Bieb_i+i bit ezenkívül hozzá van még kötve egy 78 ÉS-kapu invertált bemenetéhez is, amelynek második invertált bemenetén a Pr invertált jel van, harmadik invertált bemenetén pedig a Cin_i bit, és így a Pr jelet csak akkor viszi át, amikor a Bisb_í+i bit értéke 0 és a Cin_i értéke is 0. Egy 79 VAGY-kapu bemenetel össze vannak kötve a 77 és 78 ÉS-kapuk kimeneteivel, és ez egy 1-et biztosít a kimenetén akkor, amikor a 77 és 78 ÉS-kapuk egyikén egy 1 kimenet van.
Az egyes ASk összeadó szeletek egy megvalósítása a 31C ábrán látható. Az aiκ és bik bemeneteket ráadjuk egy 80 KIZÁRÓ VAGY-kapu egyes bemenetelre, amely 1-et állít elő akkor, amikor a bemenetek különböznek egymástól, ellenkező esetben egy 0“-át állít elő. A 80 KIZÁRÓ VAGY-kapu kimenete egy második 81 KIZÁRÓ VAGY-kapu első bemenetére van kapcsolva, második bemenetére pedig a Cin.ík bit van ráadva. A 81 KIZÁRÓ VAGY-kapu kímenete csak akkor lesz 1, amikor bemenetel különböző értékűek, és a 81 KIZÁRÓ VAGY-kapu előállítja a sum,k kimenetet, figyelembe véve a megelőző ASj összeadó szelettől jövő átviteli bitet, vagy amennyiben az
60
ASk összeadó szelet az első az adott szekcióban, akkor a megelőző szekciótól jövő átviteli bitet.
Az a<k és b<k biteket egy 82 VAGY-kapu bemenetelre adjuk, amelynek egy invertált kimenete van, amely viszont hozzá van kötve a három 83, 84 és 85 ÉS-kapu mindegyikének első invertált bemenetére. A cm.ik* invertált bit rá van kötve a 83 ÉS-kapu egy második, invertált bemenetére, amely akkor viszi át a cin_ik bitet, ha az ai k és bi k bitek bármelyike 1 értékű. A megelőző ASj összeadó szeletről jövő Pin_ík* invertált bit rá van kötve a 84 ÉS-kapu egy második, invertált bemenetére, biztosítván azt, hogy a Pout.ík bit egyenlő lesz a Pin_ik-val akkor, ha az ai k és bik bitek egyike 1 értékű. Az invertált Gin.ik* bit a 85 ÉS-kapu egy második, invertált bemenetére van kötve, amely akkor viszi át a Gin.ik bitet, amennyiben az aik és bi k bitek valamelyike 1 értékű. A Pin.ik és a Gin.ik bitek rendre 1 és 0 értékűek, minden egyes pontosság-szekcióban lévő első AS1 összeadó szeletnél, amint ez a 31B ábrából nyilvánvaló.
A Pr és Gén bitekre azért van szükség, hogy “hullám (rippling) átvitelt megvalósítva gyorsabb összeadót hozzunk létre. Azzal a ténnyel, hogy az átviteli lánc bemenetéin diszkrét értékek vannak, az összes pontossági csoportban párhuzamosan történik a számítás, azaz az összes pontossági csoportban egyidejűleg. Az összeadásból származó c3 utolsó átvitel mindössze 4+8 kapu-késleltetéssel fog rendelkezni, összehasonlítva a 32 kapu-késleltetéssel a hullám átvitel nélkül .
161 . · -·*, ζ·< *··· • ··· ··· ·· · • · · «· · , ♦·· ·« ·♦ 99 ··
Azai kés bi kbiteketrákötjükegy88 ÉS-kapu
bemenetelreis,amelynekinvertáltkimenetevan,amely vi-
szont hozzávankötve a86 és 87VAGY-kapukel sői nvertált
bemenetéhez. Α 83 ÉS-kapu kimenete hozzá van kapcsolva a 86 VAGY-kapu egy második bemenetéhez, biztosítván a Cout.tk kimenetet. A 85 ÉS-kapu kimenete hozzá van kötve a 87 VAGYkapu egy második bemenetéhez, biztosítván a Cout.ik kimenetet .
Abból a célból, hogy rendkívül gyors átviteli láncokat alakítsunk ki, lehetőség van arra, hogy csak egyetlen késleltetéssel rendelkezzünk bennük, amennyiben egy bit szelet megfordítja a hullám generálási és terjedési bitek polaritását. Ilymódon egy ilyen esetben minden második pontossági csoport szekcióban invertált bemenettel rendelkezünk (nem látható az ábrán).
Amint az a 31A ábra baloldali részén látható, a legmagasabb helyiértékü GO pontossági szekció egy kissé eltér a többi szekciótól. Ez nem használja a Bist>_o bemenő argumentumot. Feltételezzük, hogy ez a csoporton belül 0 értékű. Ehelyett egy Cin_m mantissza átvitel bemenettel rendelkezik. Ezt arra használjuk, hogy az előjel bit számára előállítsuk az átviteli bemenetet. A kimenet egy többlet bittel rendelkezik, jelezvén a kitevőből jövő átvitelt. A normális átviteli kimenetet ugyanúgy generáljuk, mint a női— mái csoportoknál, kivéve azt, hogy a Bisb_o értékét 0-nak, azaz hamis-nak tételezzük fel.
A c5i , c52 , c53, egy bites jelek a következő bitmintákat vehetik fel: (c5i ,c52,c53)-(hamis, hamis, hamis)
62 ami egész értéket jelent; (c5i,c5z,c53)=(hamis, hamis, igaz) ami azt jelenti, hogy úgy az a mint a b normális kódot tartalmaz; (c5i ,c52,c5a) = (igaz, hamis, hamis) ami azt jelenti, hogy az a meg lett változtatva, míg a b normál kódot tartalmaz; (c5i,c52,c53)=(igaz, igaz, igaz) ami azt jelenti, hogy az a normál kódot tartalmaz, míg a b meg lett változtatva.
Az inkrementáló
Az inkrementáló elrendezése nagyon hasonló az összeadó elrendezéséhez. A 32. ábra bemutatja egy inkrementáló egy pontossági szekcióját. Az inkrementálónak csak egy a’ bemenete van (az ábrán nem látható). Az AS1’-től AS4’-ig terjedő növekmény bit szeletek az AS1-AS4 összeadó szeletektől abban különböznak, hogy nem rendelkeznek a Gén generátor bittel, amelyet az egyik szelettől a másikhoz átvinnének. Az AS4’ növekmény bit szelettől érkező Pr invertált kimenet és a megelőző szekciótól jövő Cin* invertált átvitel rá lesznek adva a két invertált bemenettel rendelkező 90 ÉS-kapu egyegy invertált bemenetére. Amennyiben a sorban a G7 első szekcióhoz érkező Cin átviteli bemenet 1” értékű, akkor ez azt jelzi, hogy egy növelést (inkrementálást) kell végrehajtani. A 90 ÉS-kapu kimenete és a Bisb_i+i bit rá lesznek adva egy 92 VAGY-kapu egy-egy bemenetére, amely biztosítja a következő szekcióhoz menő Cout átvitel bitet. Az inkrementáló átvitel-kimenetét ugyanazon a módon biztosítjuk, mint az összeadó esetében. A Cin/cout hullám átvitel-lánc jelzi, hogy ha az eredmény nagyobb mint kettő vagy egyenlő kettővel. A Pe’ hullám átvitellánc jelzi, hogy ha az öszszeg nagyobb mint egy vagy egyenlő eggyel.
63
Amint az összeadó, úgy az inkrementáló is rendelkezik egy c· mantissza-átvitel kimeneti busszal, amelyet a jel vezérel. A c1g vagy c2g vezérlő bitek jelzik, hogy az ábrázolás egy egészt vagy egy lebegő pontos értéket tartalmaz. A dg és c2g vezérlő bitek egy három-állapotú kaput vezérelnek, amely a mantissza-átviteli-kimeneti buszt egy meghatározott értékűre állíta be, amennyiben nem használjuk (az ábrán ez nem látható).
Egy dekrementáló ugyanazzal az elrendezéssel rendelkezik, mint az inkrementáló, azzal a különbséggel, hogy a dekrementálónak egy invertált a’in* bemenete van a dekrementáló szeleteinél, amelyek az AS1’-AS4’ inkrementáló szeleteknek felelnek meg.
A kiválasztók
Az operandus egységben lévő kiválasztók általában egy átviteli-kapu sorként vannak megvalósítva. A kiválasztónak mindig egy meghatározott kimenete van. Ez egy vezérlő szavakból és bemenő értékekből, mint argumentumokból álló lista. Ezek mindegyike, egy kivételével, kikapcsolt értékű. Az egyes bemenetek vezérlése egy komplemens jel. A teljes kiválasztót ilyen elemek egy listájával vezéreljük. Vezérlésük a különböző állapotokban történik, hogy a bemenő értéket egy előírt kapuról vegyük. A 33. ábrán látható egy alap kiválasztó bit szelet egy megvalósítása. Az Sma, Sinb, Sinc és Sind, kiválasztók bemeneti kapujának egy-egy bitje rendre hozzá van kötve az Sa, Sb, Se és Sd vezérelhető kapcsoló bemenetéhez. Mindegyik Sa, Sb, Se és Sd vezérelhető kapcsolóhoz tartozik egy Sca, Seb, Sec és Séd vezérlő
64 vezeték-pár. Az Sca, Seb, Sec és Scd vezérlő-pár, amely biztosítja a bemenő jel átvitelét a hozzátartozó Sa , St> , Se és Sd vezérelhető kapcsolóhoz, 1,0 információt tartalmaz, míg a többieken lévő információ értéke 0,1.
Meg kell jegyezni, hogy az 5 numerikus aritmetikai logikai egységben lévő áramkörök többsége az összeadó vonatkozásában a fentiekben leírt elveknek megfelelően épül fel, és ezért feltételezzük, hogy a szakmában jártas személy könnyen elő tudja állítani a fennmaradó áramköröket, ezen elvek alkalmazásával. Emiatt nem tekintettük szükségesnek minden egyes áramkör részletes leírását.
A 5 NUMERIKUS ARITMETIKAI-LOGIKAI EGYSÉG 27 VEZÉRLŐ ÁRAMKÖRÉNEK LEÍRÁSA
Az 5 mumerikus aritmetikai logikai egység 27 vezérlő áramköre, amely a 28. ábrán látható, egy meglehetősen bonyolult konfigurációjú logikai kapu mátrix. Megvalósítását itt nem lehet bemutatni, mert ennek konfigurációját egy számítógéppel lehet kiszámítani, amelybe betápláljuk a vezérlő jelek és az informatív jelek közötti összefüggések konfigurációjára vonatkozó összes algoritmust. A logikai kapu mátrixot közvetlenül mint chip-maszk mintákat kapjuk meg a számítógéptől, amelyet a találmány szerinti teljes 5 numerikus aritmetikai logikai egységhez tartozó chip-maszk minták konfigurációjához adaptálunk. Emiatt ezt az áramkört részletesen bemutatni nem lehet. Az egész szorzási művelet esetére vonatkozóan a 27 vezérlő áramkör bemenetel és az általa előállított kimenetek közötti összefüggések egy listáját a 2. Függelékben találhatjuk meg.
65 • ·
A 2. Függelék a 27 vezérlő áramkör bemenetel és az általa előállított kimenetek közötti összefüggéseket az egészek szorzására vonatkozóan mutatja.
A Függelék különböző vezérlési esetekre van felosztva. Minden egyes vezérlési eset egy kimenetnek, azaz egy mikro utasításnak, felel meg.
A 27 vezérlő áramkör kimenetei, amelyeket a mikro utasítás vezetékek címszó alatt soroltunk fel, a C1-C5 buszokon lévő kimenő jel-szintek. A C1, C2 és C3buszok a C1i , CI2, CI3 stb kisebb buszokra vannak felbontva. Ennek megfelelően az 1. vezérlési állapot címszó alatt felsorolt bemenetek, mint az állapot, érzékelő vezetékek - 4. feltétel hozzák létre a mikro utasítás vezetékek címszó alatt felsorolt kimenő jeleket. A fentiekben 1., 2. és 3. feltételként felsorolt bemenetek ugyanazokat a kimeneteket okozzák, mint a 4. feltétel alatti kimenetek.
Minden egyes feltétel egy meghatározott jel-szint (0/1) kombinációként van definiálva bizonyos állapot vezetékeken, míg más állapot vezetékek defini álatlan értékekkel (x - nem számít) rendelkezhetnek.
A Függelékben felsorolt valamennyi bemeneti jel meg van jelölve a 28. ábrán is, kivéve a co_limit1 és co_limit2 jeleket.
A 28. ábrán a co_limit1 jel fel van bontva két öszszetev'jére, a Bco_maxi-re és a Bco.mim -re.
A com_limit2 jel ugyancsak fel van bontva két összetevőjére, a Bco_max2_re és a Bco.mi n2-re.
Az Astate kimenő jel egyszerűen egy másolata a 27
66
vezérlő áramkör összes bemenetének. Az Astate kimenő jel a 6 központi vezérlő egységhez van kapcsolva.
Az elsőfokú processzorban lévő központi rekesz főregiszterei vagy az 5 numerikus aritmetikai logikai némelyik belső egysége elő tud állítani egy értéket, mint utasítás, operandus/hányadost vagy polinómot. A buszon lévő bitlánc további részén lévő ábrázolás típusára vonatkozó információ biztosítható az utasítás buszon lévő információ által vagy pedig megadható a kódmezőben.
A KAPU
Egy redukciós processzor előállítható egy vagy több kapuval a processzorba belépő és a processzorból kilépő adatok számára. Minden egyes kapu egy olyan egység, amely biztosítja a processzor külső környezetével a kommunikációt. A kaput előnyösen a 7 transzforrnáló interfészhez kapcsoljuk az 1 objektum tárban (lásd az 1. ábrát). Csekély módosítással azonban ehelyett hozzá lehet kapcsolni a 4 adatátviteli eszközhöz. A kaput az 1 objektum tár kitérjesztésének lehet tekinteni, mivel előnyösen négy tárrekeszt, tartalmaz, amelyek funkcionálisan hasonlóak és kompatibilisek a 10 tárrekesszel (lásd a 2. ábrát). A kapu egyesítés révén hajtja végre a kviteli/bevite 1i műveleteket.
Belső viselkedés
Az 1 objektum tár a processzor egy meghatározott belső viselkedését biztosítja, minden egyes kapu esetében egy adott viselkedést. A viselkedés az idő-struktúra szemantikus jelentése, amelyet egy zárás struktúrával lehet ábrázolni. Az idő struktúrát egy folyamat állapotaként foghatjuk
67 fel, amelyet értékek végtelen idő-sorozata állít elő.
Külső viselkedés
A kapukhoz érkező bemenő jeleket érzékelőkkel vagy a processzoron kívüli, azaz a valós világbeli környezetben lévő, eszközökkel biztosíthatjuk. A kapu a bejövő jeleket az 1 objektum tárbeli formátumhoz kialakított digitális alakúvá, azaz egy zárás ábrázolássá, alakítja. Ez a zárás ábrázolás egy idő-struktúra, azaz egy viselkedés, amely összehasonlítható a processzor belső viselkedésével. Ilymódon a proceszszor nézőpontjából ez az idő-struktúra úgy tekinthető, mint egy külső viselkedés.
Egy kapun keresztüli bevitel és kivitel a kapu két oldalán biztosított eljárások - azaz a processzoron belüli belső viselkedések és a processzor környezetében lévő külső viselkedések - egyesítése révén történik, úgy a belső viselkedéseket, mint a külső viselkedéseket ugyanazon a módon modelezzük, ami a működés egy igen elegáns módját biztosítja, amely a processzort teljesen alkalmassá teszi a valósidejű műveletekre.
A külső viselkedésre, vagyis az idő szekvenciára, egy példa a 34. ábrán látható. A mintavételezett jelek sorozata időben változó lehet, azaz a mintavételezési periódusok eltérőek lehetnek, amint ez a 34. ábrából nyilvánvaló. Az ábrán látható jel-sorozatot elem-párok listájaként biztosítottuk. Minden egyes pár magában foglal egy időtartam értéket és az adott időtartam során fennálló je1-mennyiséget. A jel-mennyiségeket q,-vei jelöltük, az időtartamokat pedig t,-vei, ahol i egy 1 és 6 közé eső szám lehet.
68 • · ·· · · ··· • · · · » · • · ♦· ··« · · · • · · « · ·
A interfész
Egy előnyös interfész a következő tulajdonságokkal rendelkezik:
1· Egy jelet meghatározott időnként mérjük. A mért jelet a következő mérésig állandó értékűnek tekintjük.
2. Az időt akár a kapu által meghatározott rögzített ciklusként, akár a gépben lévő program által meghatározott rögzített ciklusként, akár pedig a program által vagy külső órajelek által meghatározott bizonyos intervallumokban megadott ciklusként megadhatjuk.
3. A mért jeleket a géphez digitális formában adjuk át.
4. A digitalizált jel vagy logikai érték, vagy pedig kódolható olyan formátumúvá, amely egész vagy lebegő pontos értéket ábrázol.
A találmány szerinti processzor nem illeszt be vagy ad ki értékeket egy hagyományos processzorhoz hasonlóan. A találmány szerinti processzorban a kaput úgy tekinthetjük, mint a processzorban futó program és a processzor környezete közötti interfészét. A programot az aktív 1 objektum tárban tároljuk, és az hozza létre a belső viselkedést.
A program végrehajtása azon alapszik, hogy úgy a processzorban lévő program, mint a környezet ugyanazt a valós idejű esemény-sorozatot látja a interfészben.
A processzorba vagy a processzorból történő adatbevitel vagy adatki vi tel egyesi tés útján történi k. Ez azt jelenti, hogy az egyes intervallumokban lévő időtartam és érték adatok a kapu mindkét oldalán azonos alakúra lesznek hozva.
69
A program ki tud jelölni egy specifikus időtartamot, vagy egy időtartamot figyelmen kívül hagyhat egy kiragadott szimbólum, például a $ jel, használatával, amely az összes lehetséges értéket képviseli.
A program ki tud jelölni egy specifikus jel mennyiséget, vagy egy jel mennyiséget figyelmen kívül hagyhat egy kiragadott szimbólum, például a $ jel, használatával, amely az összes lehetséges értéket képviseli.
Egy pontos program az egyesítési művelet után a lehetséges alternatív viselkedések közül meg, és ennek a viselkedésnek meg kapun lévő viselkedések csak egyet tarthat egyeznie a kérdéses az alternatív belső kel 1 viselkedéssel. Amennyiben egyike sem felelne meg a valós-világbeli körkérdéses kapunál, akkor az egyesítési művelet semmi-t hoz létre, amelyet programozási hibának mivel a semmi egy ellentmondást képvisel.
nyezetnek a eredményül 2. kell tekintenünk,
Amennyiben az egyesítési művelet után egynél több alternatív viselkedés is maradna, akkor ezt ugyancsak programozási hibának tekintjük.
Bevitel és kivitel
Egy programban az interval1umot az alábbi formában írunk le:
dur i nq tv (“t idő alatt v), ahol t az időtartam és v a jel mennyiség.
Amikor a belső viselkedés egy specifikus jel értéket ad meg, amelyet jel mennyiségnek is nevezünk, akkor ezt a specifikus jel értéket kivisszük a környezetbe. Amennyiben a belső viselkedés a jel értékét meghatározatlanul hagyja,
70 • · · • · · « · •·· ··· ·« · • · · · · « akkor egy specifikus jel értéket a környezetből beviszünk a gépbe.
Amikor a belső viselkedés egy meghatározott időtartamot ad meg egy intervallumban, akkor a környezet egy tetszőleges időtartam értéket vesz fel. Amennyiben a belső viselkedés meghatározatlanul hagyja az időtartamot, akkor a környezet határozza meg az időtartam értékét.
A kapu egy megvalósítása
A bevitelre és/vagy kivitelre szolgáló kapu egy megvalósítását a 35. ábra mutatja. A kapu a 7 transzformáló interfészhez van kötve a DU busz elrendezéssel. A kapu annak az elsőfokú processzornak a 6 központi vezérlő egységéhez van kötve, amely elsőfokú processzorhoz hozzá van kapcsolva, és amely a kaput vezérli. A kapu magában foglal egy Pid azonosító regisztert, amely a kaput azonosítja. A Pid azonosító regiszterben tárolt azonosítót azonosítóként lehet használni az 1 objektum tárban, azaz felhasználható arra, hogy hozzárendelje a kaput az 1 objektum tárban lévő rekesz zárásokhoz. Ezt az azonosítót csak a processzoron belül használjuk. A kapu emellett magában foglal még egy CEid azonosító regisztert, amelyet a Pid azonosító regiszterhez hasonló módon lehet felhasználni. A kapu magában foglalja még a CEou, CElast, CEhext tárrekeszeket, amelyek mindegyike úgy működik, mint az 1 objektum tárban lévő 10 tárrekeszek.
Mindegyik 10 tárrekesz tárolni tud egy zárást, amelynek legalább három tármezője van legalább három zárás elem tárolása céljából, mint amilyenek például a duri ng. az időtartam és a jel mennyiség.
171 ·♦ · • 4 ····
Legalább a két utoljára említett zárás elemet tárolni lehet érték/azonosító típusú tármezőkben. A duri ng kifejezést biztosíthatjuk egy TÍPUS mezőben is. Miután a kapu mindig egy during műveletet produkál, ezt a TÍPUS mezőt el is hagyhatjuk.
Ugyanakkor azonban a 35. ábrán látható megvalósításnál a during egy apply (alkamazás) típusú formában áll rendelkezésre, amelyet egy típus mezőben helyezünk el, egy előre meghatározott funkció névvel (az időtartam kóddal) együtt. A funkció nevét a kapu tárrekeszeinek első érték/azonosító mezőjében tároljuk, mint az apply típushoz tartozó összes funkció nevet (amilyenek például a +-*/). Az időtartam kód lehet egy azonosító is, amely egy funkció definíciót határoz meg, melyet az 1 objektum tárban tárolunk.
Egy érték/azonosító mezőben tárolhatunk egy id azonosítót is. Ez az azonosító rendeli hozzá a kapu struktúrát egy időtartam struktúrához az 1 objektum tárban.
Amennyiben az azonosítót magában foglaló mezőre nincs szükség, akkor ténylegesen csak az érték/azonosító mezőkre van szükség.
Ugyanakkor azonban biztosítható egy unused (nem használt) jelzéssel megjelölt negyedik érték/azonosító mező is, hogy a kapu regisztereit kompatibilissé tegyük a processzorban lévő egyéb 10 tárrekeszekkel. Az is lehetséges azonban, hogy a negyedik érték/azonosító regiszterhez egy külön eszközt kapcsoljunk a KI/BEMENŐ ÉRTÉK számára. Ez a kaput értékek egy csoportjához, azaz az időtartamhoz és két fajta jel mennyiséghez, alkalmas kapuvá módosítja.
172 • · • · · ·« · • 9
Ilyen módon a kapuban lévő minden egyes 10 tárrekesz rendelkezhet az attribútum mezővel is. A CEde , CElast, CEnext tárrekeszeket össze lehet kapcsolni a Wei , Wi 1 , Wt 1 , Wv 1, We1 , Wt2, Wv2, We2 buszokkal, amelyek mindegyike rendelkezik például 38 vezetékkel, és bitenként hozzá vannak kötve az egyes regiszterekben lévő bitrekeszekhez. Az I index egy olyan buszt jelöl ki, amely hozzáköthető a regiszterek during kódmezőihez; a T index egy olyan buszt jelent, amely a regiszterek időtartam érték/azonosító mezőihez kapcsolható; a V index egy olyan buszt jelent, amely a regiszterek jel mennyiség érték/azonosító mezőihez kapcsolható; az Ε index egy olyan buszt jelent, amely a regiszterek extra érték/azonosító mezőihez kapcsolható. A 2 index egy olyan buszt jelent, amely a környezet felé van kötve, az 1 index pedig egy olyan buszt jelent, amely a 7 transzformáló intet— fészhez van kötve.
A kapu bemutatott megvalósításában lévő 10 tárrekeszek a megelőző zárást, az aktuális zárást, a következő zárást, és egy, a jövőbeni zárásokhoz tartozó, azonosítót tárolják, A 10 tárrekeszek előírhattak volna helyeket, és ekkor a bennük lévő teljes tartalmat lehetne átvinni közöttük. A regiszterekben lévő egyes regiszter rekeszek egy alkalmas struktúrája ugyanazzal a struktúrával rendelkezhet, mint 2 központi tárrekeszben lévő 3 központi regiszter rekeszeik (1 ásd a 10. ábrát).
Ugyanakkor az is lehetséges, hogy az első három említett 10 tárrekeszt úgy rendezzük el, hogy egymással helyet tudjanak cserélni, a nevük megváltoztatása révén, amely a 6
173 • · központi vezérlő egységtől jövő vezérlés alatt történhet.
A 10 tárrekeszek közötti pontos huzalozást nem mutatjuk részletesen, mivel úgy gondoljuk, hogy a szakmában jártas személy ezt elő tudja állítani, felhasználva a 3 központi regiszter leírásával kapcsolatban említett alaelveket. A 6 központi vezérlő egységtől jövő vezérlés jobboldalt felül látható vázlatosan, a 10 tárrekesz közötti vázlatosan ábrázolt csatlakozás felé, de természetesen ugyanúgy oda vannak rajzolva a regiszter rekeszekben lévő egyes kapcsolókhoz, mint a központi rekesz regisztereinél is.
A kapu eltérő számú 10 tárrekeszszel is ellátható, például egy 10 tárrekeszszel.
Az idő számláló és az idő összehasonlító
A kapu magában foglal egy Tcount időszámlálót is. Vezérlése a 6 központi vezérlő egységtől jövő CLOCKp órajel segítségével történik, funkciója pedig az, hogy méri az időt. Visszaállítani vagy egy külső visszaállító jellel vagy pedig a 6 központi vezérlő egységtől jövő viszaállító jellel lehet. A Tcount időszámláló egy első SELi kiválasztóra van kötve, amelyet a 6 központi vezérlő egység vezérel úgy, hogy a Tcount id'számi ál óról jövő kimenetet közvetlenül a Wt2 buszra kapcsolja rá, amely hozzákapcsolható a 10 tárrekeszekben lévő idő tároló 151 tárrekesz mezőkhöz, vagy pedig egy Tcomp idő komparátor egy első bemenetére kapcsolja rá. A Tcomp idő komparátor második bemenete a Wt2 buszhoz van kapcsolva. A Tcomp idő komparátortól jövő kimenet egy külső idő kimenet. Az idő komparátor kimenete át van víve a 6 központi vezérlő egységhez is.
74
A kapu magában foglal egy külső érték bemenetet és egy ÉRTÉK BE/KI (VALUE IN/OUT) kimeneti kapu kivezetést is Ez egy CONVout átalakítóra van kötve a kimenő jel céljából, például egy digitális/analóg átalakítóra. Ezen kívül hozzá van kötve egy CONVin átalakítóhoz is a bejövő jel céljából, például egy analóg/digitális átalakítóhoz, amely a bejövő jel mintavételezését végzi. A mintavételezési időket a TPcomp idő komparátor kimenete segítségével, vagy pedig a Tcount időszámláló visszaállító jele segítségével lehet megadni. A CEdu, CElast, CEnext tárrekeszek jel mennyiség regisztereihez vezérelhetően hozzákapcsolható Wv2 buszra rákötött SEL2 kiválasztó választja ki azt, hogy egy jel mennyiséget ki kell-e küldeni a kapuról vagy be kell táplálni a kapura. A 6 központi vezérlő egység először leolvassa a 10 tárrekeszben lévő regiszterek tartalmát, beleértve azokat a regisztereket, amelyeket a külső környezethez kell kapcsolni, annak megvizsgálása céljából, hogy az tartalmazza-e a $ szimbólumot. Amennyiben tartalmazza, akkor a környezetből egy bevitelt kell végrehajtani. Amennyiben ehelyett egy specifikus értéket tartalmazott, akkor egy kiviteli műveletet kell végrehajtani a környezet felé. Ezután a 6 központi .ezérlő egység megfelelően vezérli a regiszterhez kapcsolt l- apu k i vál asztót.
Arra is lehetőség van, hogy egy bonyolultabb kaput építsünk fel. Például az ÉRTÉK BE/KI-hez tartozó jel mennyiségeket egy, az SEL2 kiválasztó és a W-2 busz közé kapcsolt, S0 je1átalak í tóban tárolt formula segítségével átalakíthatjuk. Az átalakító funkció lehet például egy sor integrálás,
75 minden integrálás egy másik jel mennyiség osztályhoz tartozó jel értékek számára.
Egy jel mennyiség kivitele
A kiviendő információt a CEdu tárrekeszben bocsájtjuk rendelkezésre. így a CEdu tárrekeszben a következő információ van: during t v, ahol t az időtartam értéke, v pedig a jel mennyiség. A jel mennyiség ebben a regiszterben ismert és azt ki kell vinni. A jel-mennyiséget a CEdu tárrekeszben lévő jel-mennyiség regiszterből olvassuk be, és a meghajtó egységként funkcionáló SEL2 kiválasztón és a CONVout átalakítón keresztül visszük ki.
Egy jel-mennyiség bevitele
A CEdu tárrekeszben lévő információ a következő: during t $.
ahol t az időtartam értéke, a $ pedig az összes lehetséges jel-mennyiségek valamelyikét képviseli, vagyis ez a kifejezés bármely beadott jel-mennyiségre egyesítést fog végrehajtani. A jel-mennyiség ebben a regiszterben ezek szerint nem ismert, és a regiszter elő lesz készítve egy jel-mennyiség fogadására. A jel-mennyiséget a kapu je1-mennyiség be/kimenetérő 1 olvassuk be, majd digitalizáljuk a CONVi ιι Α/Ό átalakítóban, és betápláljuk a CEdu tárrekesz jel-mennyiség reg i szterébe.
Az dőtartamot a processzor program állítja be
A CEdu tárrekeszben lévő információ a követkéz':
during t $, ahol t az időtartam értéke, v pedig a j el-menny i ség . Hymó1 76 · ···· dón az időtartam ismert. A Tcount időszámlálót a 6 központi vezérlő egység az időtartam kezdetekor visszaállítja. A Tcount számlálóban folyamatosan növelt időt a Tcomp idő komparátor összehasonlítja a CEdu tárrekeszben lévő időregiszter által tartalmazott idő értékével. Az időtartam akkor fejeződik be, amikor ezen idő értékek azonosak.
A CElast tárrekesz ki lesz ürítve és a CEnext tárrekesz fel lesz töltve ezen időtartam alatt. A következő periódusra való átmenet idején a CEdu tárrekeszben lévő tartalom át lesz mozgatva a CElast tárrekeszbe, a CEnext tárrekeszben lévő jel-mennyiség pedig át lesz mozgatva a CEdu tárrekeszbe.
Az időtartamot a környezet állítja be
A CEdu tárrekeszben lévő információ a következő: during $ v, ahol v a jelmennyiség értéke, a $ pedig az összes lehetséges időtartam értékek valamelyikét képviseli, vagyis ez a kifejezés bármely megadott időtartam értékre egyesítést fog végrehajtani. Ilymódon az időtartam értéke ismeretlen, és a környezet fogja meghatározni. A Tcount időszámlálót az külső vezérlés fogja az időtartam kezdetén visszaállítani. A Tcount számlálóban folyamatosan növelt idő be lesz táplálva a CEdu tárrekesz időregiszterébe. Az időtartamnak akkor van vége, amikor a környezet a legközelebbi alkalommal kiadja a külső visszaállítást. Ilymódon a külső visszaállító jel a SELi kiválasztót vezérli, hogy az szétkapcsolja az összeköttetést az időszámi ál óval, akár közvetlenül, akár az időszámlálótól érkező zéró jellel.
177 • · · ·«· ··· ·· « «
AZidőtartam alatt a CElast tárrekesz ki lett ürít-
ve, és aCEnext tárrekesz fel lett töltve. A következő
periódusratörténő áttéréskor a CEdu tárrekeszben lévő
tartalom át lesz mozgatva a CElast tárrekeszbe, a CEnext tárrekeszben lévő tartalom pedig át lesz mozgatva a CEdu tárrekeszbe.
Egy egyszerű példa
A kapu működésének bemutatása céljából az alábbiakban egy egyszerű példát mutatunk be. Mondjuk, hogy érzékelni akarjuk két különböző sorozat egyikét, ahol az első sorozatnál minden második jelmennyiség van meghatározva, például a 17 értékkel, és ugyanakkor mindegyik időtartam érték meg van határozva, ez mondjuk 1 másodperc; a második sorozatnál pedig az összes jelmennyiség meg van határozva, például 1, 2, 3, 4, stb, ugyanakkor azonban az időtartam értékek nincsenek meghatározva. A használni kívánt kapu a porti jelű kapu. A zárás ábrázolás a következő:
unifyfporti belső viselkedés), ahol a belső viselkedés egy alt (alternatíva) művelet, amely az összes alternatív sorozatot jelöli, vagyis a következő típusú nagyméretű adatszerkezet:
alt(seq(duri ng( 1 s 17)dur i ng(1s $)during(1s 17)...) seqí duri ng($ 1)dur i ng($ 2Iduringí$ 1 ). . . ))
Na már most, ha a bemenő jelsorozatot egyesíteni lehet a fenti struktúrával, akkor a bemenet el lesz fogadva, és a megfelelő tevékenységet végre lehet hajtani. Egy elfogadott sorozat lehet például a ((1s 17)(1s 0)(1s 17)(1s 99) (1s 17)), amely egy olyan sorozat, melyet a fentiekben adott
78
belső viselkedések első sorozatával egyesíteni lehet. Egy másik olyan sorozat, amelyet el lehet fogadni a ((2s 1)(4s 2)(1s 3)), amely a fenti második belső viselkedés sorozattal egyesíthető. Egy nem elfogadható sorozat az ((1s 2)...), mivel a jelmennyiség, vagyis 2, nem egyesíthető a belső viselkedés két sorozatában adott jelmennyiségekkel.
Kommunikáció a külső világgal
Egy olyan kapu létrehozásának egyedülállósága, amelynél az értékeket attól függően lehet a processzorhoz bevinni, vagy attól kivinni, hogy a jel definiált-e vagy sem, illetve hogy a belső érték meghatározott-e vagy sem (amikor is a $ értékkel rendelkezünk), az, hogy a processzor nincs korlátozva a fentiekben leírt egyszerű bemeneti és kimeneti kapu rendszerhez. Lehetséges ugyanis olyan programot írni, amelyben egy kaput felváltva beírunk vagy kiolvasunk a processzorból. Erre egy példa az alábbi program:
uni fy(port belső viselkedés)
amely a következőbelső viselkedéssel rendelkezik:
alt(seq(duri ng1 s1 ) (d u r i n g1 s1)(dur i ng1 s2)(during1 s4)
(seaí duri na1 s1 ) (dur i ng1 s1 ) (d u r i n g1 s3)í duri ng1 s9)
(seq(duri ng1 s2)(dur i ng1 s4)(duri ng1 s1)(duri ng1 s1 )
(seq(duri ng1 s3) (dur i ng1 S9)(dur i ng1 s2)(dur i ng1 s4)
stb, azaz (seg(duri ng i nput)(dur i ng output) (dur i ng i nput)(duri ng output)
Ebben a belső viselkedésben a környezet biztosít egy értéket, és a processzor válaszol rá azáltal, hogy a következő intervallum alatt kiadja az érték négyzetét. Ez a mód179
9·· ·· • * szer teljes mértékű vezérlést biztosít afelett, hogy az adatok miként áramoljanak egyszerű módon.
Amint egy bemenő adat nem egyesíthető, azaz nem tehető ugyanolyanná, mint a processzorban lévő megfelelő érték, akkor az eredmény semmi (nothing) lesz. Ez felfelé eljut egészen az alt műveletig, és a teljes ág törölve lesz az alt kifejezésből.
A fentiekben a belső viselkedés ábrázolása ugyanolyan hosszú volt, mint a bemenő sorozaté. Egy funkcionális nyelv erőteljes kifejezési lehetőségeit kihasználva, egy némileg rövidebb, kifejezőbb módja a belső viselkedés ábrázolásának az alábbi lehet:
(seo(duri ng( 1 s X) during( 1 s apply((1ambda (arg) (* arg arg)) X))), ahol during(1s X) kezeli egy X jelmennyiség bevitelét, és ahol a lambda kifejezést tartalmazó másik during-sorozat kezeli egy négyzetre emelt bemenő érték kivitelét. Ilymódon a fenti struktúra része lehet egy általánosabb struktúrának, amely rekurzió alkalmazásával képes egynél több bemenet/kimenet pár kezelésére. Itt a lambda kifejezést a négyzetre emelési funkció definiálására használtuk.
A H KAPU
A bemeneti/kimeneti kapu fentiekben adott leírását általánosíthatjuk úgy, hogy a during-struktúrák-on kívül más adat szerkezeteket is tudjon kezelni. Ebben az esetben, egy belső viselkedés és egy külső viselkedés egyesítése helyett, azáltal hogy időtartamukat és jel mennyiségeikét egyesítjük, bitminták egyesítése is végrehajtható. A bejövő jel
180 • w ··»»··· ·· « · 9 ** • ·»· 999 999 · · 9 9 9· digitális lehet. Ezen túlmenően, a bejövő jel képviselhet adat struktúrákat, vagy program struktúrákat, mint például magas szintű nyelvi programokat. Például, egy kapu által tartalmazott 10 tárrekeszben lévő tárrekesz mező egyesíthető a kapu bemenetén megjelenő bitmintákkal.
Egy példa: egy apply(X1 X2) belső struktúra egyesíthető a bemeneten megjelenő bitmintával úgy, hogy a végső belső struktúra a következőképpen alakul: apply(+ list(1 2)), amely a 9A és 8B ábrákon látható struktúra. Az X1-et a + müvéleti kódot képviselő bitmintával egyesítettük, az X2-t pedig a list(1 2) struktúrát képviselő bitmintával egyesítettük.
A H kapunk keresztül, amely el tud fogadni magas szintű nyelvű kódot, egy program is betölthető az 1 objektum tárba. A H kaput használni tudjuk processzorok között is, amelyek lehétővé tennék számára programok vagy adatok, vagy mindkettő átvitelét. Az átvitt program kódot először adatként jelölhetjük meg, hogy megakadályozzuk az azonnali végrehajtásukat .
AZ ELSŐFOKÚ REDUKCIÓS PROCESSZOR (FOP = First Order Processor)
Röviden felel evem' tve , a redukc i ós processzort egy adott, nem szekvenciális struktúrával rendelkező program vezérli, és a mondott struktúrát egy sor egyszerűsítő lépésen keresztül, beleértve fa-struktúrák egyszerűsítését is, egyszerűsíti (redukálja). Az elsőfokú processzorban lévő 1 objektum tár magában foglal számos 10 tárrekeszt, amelyek mindegyike alkalmas információ tárolására, amely lehetővé
181 ··· • ·· *« «· ···* • · 9 9
V*· ·· ·} • · · · ** ·· teszi az egyszerűsítést. Egy kommunikációs hálózat, a memória busz elrendezés a 6 központi vezérlő egység által vezérelt 17 zárás-fejjel együtt közli az egyes egyszerűsítések eredményét az összes 10 tárrekeszszel.
A kommunikációs hálózat egy busz elrendezés, amelynek vezérlő vonalai és adat vonalai vannak, és amelynek öszszes vonala a 10 tárrekeszekhez van kötve. A 6 központi vezérlő egység az összes 10 tárrekesz részére közös. A 10 tárrekeszben lévő információ az, ami a 6 központi vezérlő egységnek megmondja, hogy milyen egyszerűsítést kell végrehajtani, és hogy mely vezérlő szavakat kell ehhez kiadnia. Miután a 6 központi vezérlő egység előnyösen egy logikai kapu mátrix, a 10 tárrekeszekben lévő információ magas és alacsony logikai szintű feszültségként van jelen, amelyet egy komplex elrendezésű ÉS és VAGY kapukra ad rá, ezáltal biztosítva egy komplex kimenetet, amely magas és alacsony logikai szintű feszültségeket állít elő a 10 tárrekeszekben lévő vezérlő áramkörök számos vezérlő pontján.
Ilymódon az 1 objektum tárban minden egyes 10 tárrekesz és a 2 központi tárrekesz képesek egy redukáló (egyszerűsítő) művelet végrehajtásához szükséges összes információ tárolására. A redukáló információ magában foglalhat bizonyos más 10 tárrekeszekre vonatkozó hivatkozást is. Amikor a végrehajtás befejeződött, vagyis amikor a struktúra a lehető legegyszerűbb alakra lett hozva, az eredmény egy kanonikus kifejezés. Amennyiben egy kanonikus kifejezés nagyobb annál, mint amit egy 10 tár rekeszben tárolni lehet, akkor hivatkozások vannak más 10 tár rekeszekre, ahol a kifejezés további
82 része tárolva van. Egy példa a leírt megvalósításra egy öt elemmel rendelkező olyan lista, amelynek tárolásához az 1 objektum tárban két 10 tárrekeszre van szükség.
A 2 központi rekesz képes valamennyi egyszerűsítés végrehajtására. Meg kell jegyezni, hogy a 2 központi tárrekeszek száma nincs egyre korlátozva, és így több 2 központi tárrekeszről is gondoskodhatunk, még akkor is, ha ez nem látszik egy megvalósításban. Az 1 objektum tárban lévő 10 tárrekeszek a lehetséges összes egyszerűsítésnek csak bizonyos korlátozott részét képesek végrehajtani.
Több 10 tárrekeszről gondoskodhatunk, hogy azok párhuzamosan működjenek komplett struktúrákkal, komplett zárás fák vagy rész struktúrák formájában, amelyek zárás fák részeiként jelennek meg. Miután egy sor egyszerűsítés eredménye nem áll Összefüggésben az egyszerűsítés sorrendjével, megengedett különböző 2 központi tárrekeszek párhuzamos, egymással átlapolt, működése. Általában semmiféle külön intézkedésre nincs szükség az adat integritás biztosítására ezt automatikusan biztosítja az a mód, ahogyan a találmány szerinti redukciós processzor(ok) működnek. Amikor például két 2 központi tárrekesz két azonos zárás-fa részt egyszerűsít, az egyetlen következmény az lesz, hogy egy szükségtelen egyszerűsítésre került sor - az eredmény ugyanaz.
A kommunikációs hálózat úgy van kialakítva, hogy információt is átvigyen az 1 objektum tár 10 tárrekeszei közül a kommunikációs hálózat által kiválasztott objektum 10 tárrekeszből és a kiválasztott 2 központi tárrekeszből a kommunikációs hálózat által kiválasztott egy vagy több 1
183 objektum tár 10 tárrekeszébe.
A kommunikációs hálózat azáltal hajt végre egy átviteli műveletet a 2 központi tárrekesz és bármely 10 tárrekesz között, hogy a fogadó objektum tartalmát lecseréli a küldő objektum tartalmával. Kétirányú átvitel az érintett 10 tárrekeszek tartalmának megcserél ésével történik. Minden egyes rekesz zárás, amely egy 10 tárrekeszben van tárolva, magában foglalja a végrehajthatóság, a fastruktúrában elfoglalt pozíciójának, egy azonosítónak, egy környezetnek, és egy értékekből álló fa vagy más 10 tárrekeszekre történő hivatkozások jelölését.
Egy többszintű zárás által tartalmazott értékek fája tartalmaz levél elemeket, azaz vég-elemeket, valamint öszszetett elemeket, ahol is minden összetett elem magában foglal egy típust és értékek egy listáját. Egy zárás végrehajthatóságának jelölése legalább két állapotot tartalmaz, az első állapot a nyugvó állapot, a második pedig a végrehajtási állapot. Egy zárás pozíciójának jelölése legalább két állapotot tartalmaz, az első állapot a csomóponti pozíció, a második pedig a gyökér pozíció.
A zárás jelöléseknek legalább egy részét különböző állapotok formájában jelenítjük meg, ahol is az egyes állapotok több bitből állnak, amelyek egy bináris kódot képvisel nek.
A rekesz zárásban minden egyes érték/azonosító· elem egy jelző szóból és egy numerikus szóból áll, amely egy sorozat bitből álló bitminta, ahol az egyes bitek vagy igaz vagy hamis értékűek. A jelzők egy közvetett és egy közvetlen
184 • · · · · · · • · · · · ··· ··· ·· • · · · ♦ osztályba sorolhatók. A numerikus szó lehet például egy egész, vagy pedig egy lebegő pontos érték. Egy egész olyan, ábrázolásnak is nevezett, binárisan kódolt formátumban van tárolva az elemben, amely ábrázolni tudja az összes értéket a legkisebbtől a legnagyobb ábrázolható értékig terjedő számok sorozatában; mindegyik szám több bit értékből áll, és amely formánál a zérus a számok sorozatának közepén helyezkedik el; a binárisan számként ábrázolt formátum legmagasabb helyiértékü bitje igaz értékű, a további bitek értéke pedig hamis. Egy lebegő pontos szám az elemben olyan binárisan kódolt formában van tárolva, ezt ábrázolásnak is nevezzük, amely magában foglal egy előjelet, egy kitevő előjelet és kód mezőt, egy kitevő mezőt és egy mantissza mezőt; a mondott előjel, kitevő előjel és kód mezők magukban foglalják annak egyfajta jelölését, hogy a mantissza és a kitevő rész osztópontja hol helyezkedik el oly módon, hogy a kitevő és a mantissza mezők változó hosszúságúak.
Ilymódon a találmány szerinti processzor olyan kódolást használ, amely az említett numerikus értékeket tömör ábrázolásban rendezi el, azaz egy érték bármely kódolt ábrázolása csak egyetlen egyféleképpen értelmezhető. Az első ábrázolási módot az egészek ábrázolására használt bináris szavaknál használjuk. A lebegő pontos ábrázolásé számok céljára egy másik kódolási formát használunk. A kódolások olyanok, hogy a kódolás után a lebegő pontos ábrázolás ugyanolyan elrendezésben áll rendelkezésre, mint az egész ábrázolás. A tömör ábrázolást azáltal biztosítjuk, hogy abba beleértünk egy virtuális 1-es bitet, azaz a lebegő pontos szá185 • · ·· · · ···· • · · « · « · • ··· ··· · · · • · · · · · · mok esetében a szónak a lebegő pontos érték mantissza részét tartalmazó mezőjének elején álló 1-es bit fizikailag nem jelenik meg az ábrázolásban. A numerikus értékek ábrázolásait pontossági csoportoknak nevezett bitcsoportokra osztjuk fel, amelyek mindegyike egy előre meghatározott számú bitből áll, és amikor az ábrázolás egy lebegő pontos értéket képvisel, akkor a kitevő rész és a mantissza rész közötti határ két pontossági csoport között helyezkedik el.
A MÁSODFOKÚ REDUKCIÓS PROCESSZOR (SOP = Second order Processor)
Amint az a 36. ábrán látható, egy sor elsőfokú processzort, az FOP1-től FOPN-ig, összekapcsolható egy NET hálózattá, és az így összekapcsolt FOP1-FOPN elsőfokú processzorok egy másodfokú processzort alkotnak.
A NET hálózathoz történő csatlakozás megtehető egy adat átviteli eszköz segítségével, mint amilyen a 4 adat átviteli eszköz az 1. ábrán az egyes FOPi elsőfokú proceszszorokban, ahol i egy 1 és N közé eső egész számot jelent. Az 1. ábrán látható 4 adat átviteli eszköz magában foglalja az Rí d , Renv, Rvo, Rv 1 , Rv 2 , Rv 3 regiszterek egy sorát. Mindegyik hálózati Rí d , Renv, Rvo, Rv1, Rv2, Rv3 regiszter hozzá van kötve az indexével megjelölt számú függőleges bUSZVOnalhOZ. A hálózati Rí d , Renv, Rv 0 , Rv 1 , Rv 2 , Rv 3 regisztereket akkor használjuk, amikor több 1 objektum tárunk van, amelyek mindegyike tartalmaz a párhuzamos működés céljából egymással összekapcsolt 2 központi tárrekeszeket. Ezen 1 objektum tárakhoz illetve táraktól történő kommunikáció a hálózati Ríd, Renv, Rv0, Rv1 , Rv2 , Rv3 regisztereken
86 ·· ·· · · • · • · · • · · keresztül történik.
Elméletileg az össszes elsőfokú redukciós processzor közösen használja ugyanazt az M információt, amely a rendszer teljes egészének értelmezési tartománya. Szükséges, hogy az összes elsőfokú redukciós processzor egyesítése (úniója) kiadja a rendszer egészének M értelmezési tartományát. Ugyanakkor azonban mindegyik elsőfokú processzor azt az információt dolgozza fel, amely az ő saját 1 objektum tárában van tárolva. Ez azt jelenti, hogy egy adott zárás egynél több processzorban is előfordulhat. Mindegyik processzor képes annak nyomonkövetésére, hogy egy zárás melyik elsőfokú processzorban vagy processzorokban van tárolva. Amennyiben egy zárás több proceszszorban is előfordul, akkor azok azonosak - ezt a redukciós mechanizmus biztosítja.
Egy zárás-hálózat egy zárást és annak apáit tartalmazza, Lehetőség van a zárás hálózatok mozgatására a zárásoknak a processzorok közötti mozgatása révén. Ugyanakkor azonban a kommunikáció minimális értéken tartása érdekében kívánatos, hogy a szemantikailag összefüggő zárásokat egyetlen vagy egy kevés számú processzorban gyűjtsük össze. A kommunikációs protokol olyan lehet, hogy a zárások mozgatását olyan időpontban hajtsa végre, amikor a processzorok között más kommunikációra nincs szükség. A zárás fák egyszerűsítése a különböző processzorokban párhuzamosan történhet. Ezen műveletekhez nincs szükség szinkronizálásra. Ilymódon a zárás fák részeinek egyszerűsítését különböző időkben lehet végrehajtani. Hiba nem fog fellépni, mivel az egyszrüsítések eredménye ugyanaz lesz, függetlenül attól, hogy az egyszerü1 87 • · • · · · sítések mikor lettek végrehajtva.
Természetesen egy olyan zárás egyszerűsítése, amelynek más processzorokban azonos másolatai léteznek, a párhuzamos FOP1 - FOPN elsőfokú processzorok közül csak egyetlen FOPi (ahol i egy 1 és N közötti egész szám) elsőfokú processzorban történhet meg; és az egyszerűsítés eredménye, amint ez lehetséges, szét lesz osztva a NET hálózathoz kapcsolt összes további FOPi elsőfokú processzorhoz is, hogy ne pocsékoljuk a processzor-erőforrásokat. Ugyanakkor azonban általában előnyösebb és a feldolgozási idő szempontjából gazdaságosabb is az, ha a párhuzamos egyszerűsítéseket különböző FOPi elsőfokú processzorokban hajtjuk végre. A NET hálózat például ideiglenesen el lehet foglalva azzal, hogy a hozzá kapcsolt FOPi elsőfokú processzorok némelyikét szolgálja ki, és közben a párhuzamos egyszerűsítések történhetnek .
A biztosítandó NET hálózat tényleges típusát nem tekintjük a tényleges találmány részének, és emiatt részletesen nem fogjuk leírni. A különböző hálózatokra vonatkozóan azonban az alábbiakban néhány példát be fogunk mutatni. Számos különböző típusú kommunikációs hálózat létezik, amelyek különböző útvonal és kapcsolási stratégiával rendelkeznek, melyeket itt használhatunk. A NET hálózat lehet egy egyszeres vagy kétszeres kapcsolókkal összefűzött gyűrű-hálózat, egy csillag-hálózat, egy teljesen összekapcsolt hálózat vagy hasonló hálózat.
Az FOP1-FOPN elsőfokú processzorok közötti túlságosan terjedelmes huzalozás elkerülése érdekében a közöttük
188
történő adat átvitelt sorosan is lebonyolíthatjuk egy soros buszon keresztül. Az adatok átvitele előnyösen megosztott vezérlés alatt történik, és nem egy, az összes FOP1-FOPN elsőfokú processzort vezérlő, központi vezérlő szerkezet által. Az egyik FOP hozzáférést kér a NET hálózathoz egy adott DEM buszon keresztül, a többi FOPk pedig fogadó állapotba lesznek állítva. A hozzáférést kérő jel átvitele azonban másként is történhet, mint egy különböző buszon keresztül, például egy nyugalmi jel formájában, amelyet a ........ számú függőben lévő bejelentésünkben leírt busz-elrendezésen keresztül továbbítunk a rendszerben. Az FOP1-FOPN elsőfokú processzorok közötti adatokat aközben is átvihetjük és tárolhatjuk az FOP1-FOPN elsőfokú processzorban lévő adat átviteli eszköz regisztereiben, miközben az FOP1-FOPN elsőfokú processzorban egy egyszerűsítési művelet végrehajtása folyamatban van. Az adatok soros átvitele miatt az adatátviteli eszközben lévő regiszter rekeszeket az FOP1-FOPN elsőfokú processzor 6 központi vezérlő egysége szekvenciális módon (sorosan) vezérli.
Az FOP1-FOPN elsőfokú processzorok közötti szinkronizációt azáltal tesszük meg, hogy minden egyes FOP1-FOPN elsőfokú processzorban szinkronizáljuk az órajeleket a többihez képest. Az ilyen szinkronizáció a szakmában elterjedt, és ezért itt nem fejtjük ki részletesebben.
Alternatívaként azonban gondoskodhatunk egy másodfokú központi egységről is (az ábrán nem látható), hogy az vezérelje az FOP1-FOPN elsőfokú processzorok közötti kommunikációt. Ez a vezérlő egység lehet egy logikai kapukból
89 • · · álló mátrix, amely az összes F0P1-F0PN elsőfokú processzorban lévő 6 központi vezérlő egységgel kommunikál. Egy ilyen második 6 központi vezérlő egység alkalmazása azonban nem előnyös.
A 36. ábra egy, a találmány szerinti igen általános másodfokú redukciós processzort mutat, amelyben az elsőfokú processzorok közötti adat átvitel bármilyen típusú lehet.
• « » · • · · • « · · • ·
Egy másodfokú redukciós processzor (SOP) első megvalósítása
Egy másodfokú processzor egy adott megvalósítása szerint, lásd a 37A ábrát, amely különösen alkalmas az elsőfokú processzorok közötti előszőtt adat átvitel céljaira, több elsőfokú processzort - az FOP’i,i-től az FOP’M,M-ig összekapcsolhatunk egy négyzetes mezővé. A mondott négyzetes mezőben lévő minden egyes FOP1-FOPN elsőfokú processzor magában Foglalja a CAN adat átviteli csatornát, amely a négyzetben lévő összes további FOP’1 , 1-FOP’m,m elsőfokú processzorhoz hozzá van kapcsolva. Amint az a 37B ábrán látható. minden egyes CAN adat átviteli csatorna és egy FOP’ 1 ,1-FOP’m,m elsőfokú processzorhoz kapcsolt minden egyes kapu (port) esetében gondoskodhatunk egy különálló DTF1-DTF4 adat átviteli eszközről. Ez lehetővé teszi, hogy egy FOP’t,1 -FOP’μ,m elsőfokú processzortól több más FOP’1,1-FOP’m,m elsőfokú processzorhoz egyidejűleg vigyünk át adatokat.
A 37A ábrán látható típusú szerkezetnél mindegyik FOP’1,1-FOP’m,m elsőfokú processzor legfeljebb négy szomszédos POP’1,1-FOP’m,m elsőfokú processzorra! kommunikál, előnyösen mindegyikkel egy különböző csatornán keresztül. Az
90 • ·« » egyes, egymással kommunikációba állított, adat átviteli eszköz-párok között mindössze egy egyszerű vezérlési útra van szükség, amelyen egy jelzőt beállítunk amikor a kommunikáció lett igényelve. Ez a jel a másik FOP’i,1-FOP’m,m elsőfokú processzort olyan állapotba állítja be, hogy a saját DTFn adat átviteli eszközét az adatok fogadására előkészítse.
Zárás hálózatok és elsőfokú processzor régiók
A zárásokat különböző FOP’1,1-FOP’m, m elsőfokú processzorokhoz rendeljük hozzá. Amint az előzőekben lei ι— tűk, egy tárrekesz-zárást egy gépi azonosítóval, például #5-tel, jelölünk. Egy tárrekesz-zárás tartalmazhat közvetett elemeket, amelyek más tárrekesz-zárásokkal összekapcsolják. Az összes olyan tárrekesz-zárás, amelyek egy bizonyos zárásra hivatkoznak, valamint ezen hivatkozott zárás egy zárás hálózatot alkotnak, amely egy zárásból és annak apáiból áll. A zárás hálózatot az FOP’ 1 , 1 -FOP’μ,m elsőfokú processzorok egy meghatározott régiójában helyezzük el. Egy régió tipikusan FOP’ι,1-FOP’m,m elsőfokú processzorok egy négyzete, olyan, mint a 37A ábrán folytonos vonallal körű 1 határolt REG régió. Ez a REG régió így magában foglalja az öszszes olyan tárrekesz-zárást, amely az #5 azonosítóval rendelkezik. A #5 azonosítójú tárrekesz-zárás viszont, amelyhez a #5 azonosító elemmel rendelkező zárások hozzá vannak kapcsolva, tartalmazhat olyan azonosító elemeket, például #2 és #9, amelyek a #5 azonosítójú REG régión kívüli FOP’1,1-FOP’μ,h elsőfokú processzorokban állnak rendel kezére. A REG régiókkal kapcsolatban további magyarázatot a 37C ábrával kapcsolatban találhatunk a továbbiakban.
191
Az egyik ok, amiért régiókkal rendelkezünk az az, hogy az asszociatív keresést és helyettesítést korlátozhatjuk, olyan értelemben, hogy egy egyszerűsített zárás apáinak felújítása céljából az FOP’1,1-FOP’m,m elsőfokú processzorok összes 1 objektum tárai közül csak néhányat - azaz csak a REG régióhoz tartozó FOP’1,1-FOP’m,m elsőfokú processzorok 1 objektum tárait - kell végigkeresni.
Kommunikáció a külső világgal
A másodfokú processzorral végzendő adat bevitel/kivitel céljaira egy sor PORT kapuról gondoskodunk az P’1,1 -FOP’m,m e elsőfokú processzorok négyzetének előnyösen legalább az egyik éle mentén. Minden egyes PORT kapu egy egység, amely biztosítja a processzor külső környezetével történő kommunikációt. Az alkalmazott PORT kapu a fentiekben leírt típusú lehet, amely a beviteli/kiviteli műveleteket egyesítés révén hajtja végre.
Egy másik kapun, a H kapun keresztül, amely magas szintű nyelven megírt kódot tud fogadni, az P’i,1-FOP’m,m elsőfokú processzorok 1 objektum táraiba egy program tölthető be. A H kaput a processzorok között is tudjuk használni, ami lehetővé tenné a számukra adatok, programok vagy mindkettő átvitelét.
Még egy további típusú kapuról gondoskodhatunk az
ASCII-szövegek bevitelére, ami lehetővé tenné a találmány szerinti redukciós processzor zökkel kommunikáljon, amelyek sére és fogadására, amilyenek gépek. Egy ilyen típusú kapu számára azt, hogy olyan eszköképesek ASCII-szövegek küldépéldául a hagyományos számítónem része a tényleges talál1 92 mánynak, és emiatt a továbbiakban nem is tárgyaljuk ezt részletesebben.
Logikai (soft) és fizikai (hard) gyűrűk
Egy fizikai gyűrű egy fizikailag huzalozott kommunikációs útvonal (pálya), azaz egy hardware által biztosított útvonal. A logikai gyűrű egy “logikailag huzalozott kommunikációs útvonal, azaz egy absztrakt szinten létrehozott kommunikáció útvonal, amely ráadásul időben változhat. A logikai gyűrű természetesen a fizikai gyűrűt használja a tényleges kommunikációra. Azt az útvonalat, amely magában foglalja az összes olyan proceszszort, amely egy specifikus zárás hálózatot, például a #5 azonosítóval rendelkezőt, tartalmazza, logikai gyűrűnek nevezzük.
Egy zárás hálózathoz tartozó régió az összes processzor egy részhalmaza. A zárás hálózatnak, azaz a zárásnak és apáinak, a saját régióján belül kell lennie. A cél az, hogy az egyes zárás hálózatok régióit a lehető legkisebbé tegyük, hogy a processzorok közötti kommunikációt korlátozzuk .
Egzakt logikai gyűrűk
Amint a 37D ábrán láthatjuk, egy REG régiót több, a 37A ábrán látható P’ 1 , 1-FOP’m,m elsőfokú processzorból alakíthatunk, amelyek az 1 objektum táraik különböző helyén tárolt IDdef zárás azonosítóval rendelkeznek. Ezt a 37D ábrán egy rövid vízszintes vonnalal jelöltük. Amennyiben ezt a zárást helyettesíteni kell, akkor az összes olyan P’1,1 -FOP’m.m elsőfokú processzort fel kell újítanunk, amelyek ezzel az azonosítóval (az apákkal) rendelkeznek, egy olyan
93
wwwi logikai gyűrűn keresztül, amely magában foglalja az IDd.r azonosítóval rendelkező elsőfokú processzorokat. A wwwi logikai gyűrű mérete az implementációtól függ. A 37D ábrán látható megvalósításban a tényleges zárás hálózatot tartalmazó elsőfokú processzorokat összekötő logikai gyűrű kígyó alakú. Az egzakt logikai gyűrűk a különböző zárás hálózatokra különbözőek lesznek.
Régió logikai gyűrűk
A fentiekben leírt tényleges logikai gyűrűk - amelyeknél egy zárás hálózat és annak logikai gyűrűje ugyanazokat az FOPi,1-FOP’m,m elsőfokú processzorokat fedik le - egy alternatívája az olyan logikai gyűrű, amely olyan FOPi,1FOP’m.m elsőfokú processzorokat foglal magában, melyek nem feltétlenül felelnek pontosan meg az általuk tartalmazott zárás hálózatokkal. Ehelyett egy logikai gyűrű magában foglalhatja a REG régióban lévő összes FOPi,1-FOP’μ , m elsőfokú processzort. A 37E ábra egy REG régiót mutat, és azt szemlélteti, hogy a felújító üzenet az IDdef azonosító által kialakított zárás hálózat REG régiójának minden egyes FOPi,1-FOP’μ , m elsőfokú processzoréhoz el lesz küldve, azaz a www2 logikai gyűrű magában foglalja a REG régióban található összes FOPi ,1-FOP’m,m elsőfokú processzort. Előnyben részesítjük a REG régió logikai gyűrűket (wwwz), mivel az adminisztratív műveletek (overhead”) ezeknél kevesebb, mint az egzakt logikai gyűrűk (wwwi) alkalmazása esetén. Egy adott REG régió esetében a régió logikai gyűrű ugyanaz lesz a REG régión belüli bármely zárás hálózatra vonatkozóan.
A REG régió hálózatok alapvető formája a buszokból
94
álló gyűrűk. Egy gyűrű egy értéket egy körülfordulás alatt vihet át. Egy ilyen művelet során ugyanazt a szemantikát hajtja végre, mint egy busz egy busz ciklus során.
Egy gyűrűn egy zárás több egyszerűsítése is elküldhető ugyanazon idő alatt. Amikor az üzenet a gyűrűn egyszer körbejárt, akkor ki lehet ejteni.
Egy másodfokú redukciós processzor egy második megvalósítása
A 38. ábrán látható második megvalósítás szerint több elsőfokú processzor hálózatok hierarchiájába van összekapcsolva, ahol is mindegyik hálózat egy NETi-től NETN-ig terjedő busz. A 27A ábrán mutatott megvalósítással szembeni fő különbség az, hogy a 37A ábrán egy elsőfokú processzor egy adat átviteli csatornán keresztül legfeljebb négy másik elsőfokú processzorhoz van hozzákötve, szemben a 38. ábrán látható megvalósítással, ahol is több elsőfokú processzor kapcsolható össze egymással egy busz kommunikációs elrendezésen keresztül. Az elosztott vezérlést ugyanakkor az egyes buszokon elhelyezett egyszerű prioritás dekódoló (az ábrán nem látható) alkalmazásával érhetjük el, hogy az elsőfokú processzorok közötti prioritást beállítsuk abban az esetben, amikor egynél több elsőfokú processzor igényelt adat átvitelt egy vagy több további elsőfokú processzor felé. Ez a prioritás dekódoló gyakorlatilag ugyanazzal az konfigurációval rendelkezhet, mint amely a 21A és 21B ábrákon láthatók, amely nem más, mint a 2. és 3. ábrákon látható 11 prioritás dekóder.
Amikor az elsőfokú processzorok egyikén egy egyszerűsítés került végrehajtásra, akkor az egyszerűsített zárás
95 ·♦ apáit fel kell újítani. Az az elsőfokú processzor, amelyik az egyszerűsítést végrehajtotta, egy felújító üzenetet ad ki a buszokra, azaz a NETi-NETn buszok egy részhalmazára, amely a kérdéses zárás hálózat régiójához tartozik. Egy buszhoz ezen felújító üzenettel hozzákapcsolt valamennyi elsőfokú processzor ellenőrzi, hogy tartalmazza-e a zárás hálózatnak egy részét, amely esetben a kérdéses rész fel lesz újítva/felül lesz írva. Amikor a buszra egy egyszerűsítés lett kiadva, akkor ez a lokális elsőfokú processzorban egy egyesítésként egyúttal meg is lesz jegyezve. Miután több elsőfokú processzor egyidejűleg hajt végre egyszerűsítéseket, a felújító üzenetet egy kommunikációs protokoll szerint multiplexein! lehet. Miután az eredmény nem függ össze az egyszerűsítés sorrendjével, ezért nincs szükség egy busz kommunikációs sorrendre sem. A szakmában általánosan használt busz kommunikációs protokollok használhatók itt is, annak biztosítása céljából, hogy egy busz egyidőben csak egy olyan elsőfokú processzorral rendelkezzen, amely éppen átvitelt hajt végre.
A PORT2 , PORT31, PORT32 kapukat hozzáköthetjük a kiválasztott NET2 és NET3 buszok közül a megfelelőhöz. Amint látható, lehetőség van arra, hogy több PORT31, PORT32 kaput is hozzákössünk ugyanahhoz a buszhoz.
Egy másodfokú redukciós processzor harmadik megvalósítása
A 39. ábrán látható egy harmadik megvalósítás szerint több elsőfokú processzor (FOP”) van hozzákötve hálózatok egy hierarchiájához, ahol is mindegyik hálózat egy RINGi-től RING4-iy terjedő fizikai gyűrű, azaz egy olyan
96 • ·· gyűrű, amelyben a résztvevő elsőfokú processzorok fixen egymáshoz vannak kapcsolva. Egy régió egy vagy több gyűrűt fedhet le. A logikai gyűrűk előnyösen egybeesnek a fizikai gyűrűkkel .
Különböző típusú másodfokú processzorok kombinációja
Amint a 40. ábrán látható, az is lehetséges, hogy a 37A, 38 és 39. ábrákon bemutatott megvalósításokat kombináljuk, több másodfokú redukciós processzor összekapcsolása céljából hálózatok egy hierarhiájába, amely legalább kétféle hálózatból áll, az első típus egy BUSNET busz-hálózat, a második típus egy RINGNET gyűrű hálózat, a harmadik típus pedig egy SQUARENET négyzetes hálózat.
Ilymódon a találmány szerinti másodfokú gép rendelkezhet gyűrűkként és/vagy buszokként kialakított hálózatokkal. Amikor a gépben egy zárás részfa egyszerűsítésre került, akkor az egyszerűsített fiúkat informálni kell, hogy a fiú egyszerűsítve lett. Amennyiben ez történetesen olyan jól van elrendezve, hogy a fiú és annak apái elsőfokú processzorok egy gyűrűjében, vagy a buszhoz kapcsolt elsőfokú processzorokban vannak elhelyezve, akkor a fiú egyszerüsítésére vonatkozó információt csak azon a gyűrűn vagy buszon kell keresztül küldeni. A gép protokollja ezért előnyösen olyan, hogy az apákat képviselő zárásokat az elsőfokú processzorok között olyan módon mozgassuk, hogy azok a fiúból vagy fiúkból könnyen elérhetők legyenek, azaz egy zárás hálózat valamennyi részét előnyösen egy kicsiny régióban gyűjtsük össze.
Egy gép protokol1
Egy előnyös protokoll rendelkezik egy konfigurációs
97
résszel, amely létrehozza a kapuk (port-ok) listáját és azok kijelölt céljait. A találmány szerint egy processzorhoz akár elsőfokú processzorhoz, akár másodfokú processzorhoz, akár pedig egy magasabb fokú processzorhoz - tartozó kapukat a processzor alkalmazásának egy bizonyos részéhez kell hozzárendelni .
Egy előnyösnek tekintett protokoll magában foglal egy részt a kapuk konfigurálása céljából, egy részt az elsőfokú processzorok céljainak allokációja céljából, egy részt a redukciós aritmetika megvalósítására vonatkozóan, egy részt a tetszőlegesen hosszú listák megvalósítása céljára és egy részt a tetszőlegesen hosszú bitmezők megvalósítása céljából. A protokoll részeit hardware útján is meg lehet valósítani. A protokoll az, amely az elsőfokú processzorokban lévő órák szinkronizálását inicializálja. Ezt előnyösen bizonyos időinterval1umokban teszi, amely intervallumok elég rövidek az órák szinkronizálásához.
egy élj árást hozzárendelése
Egy viselkedést delési (allokációs) vezér 1i. Egy zárás gyakran lejátszódhat a többi ók között. Bármely elsőfokú vát egy zárás el mozgatására, az átviendő zárás tárolására.
zárással ábrázolunk. A hozzárenprotokol1 egy bizonyos része vagy újrahozzárendelése normális egyszerűsítési szekciprocesszor kiadhat egy direktíkérvén más elsőfokú processzort
Amikor egy zárást el kell mozgatni, vagyis amikor egy elsőfokú processzorban az 1 objektum tár tele van, akkor a zárást tartalmazó elsőfokú processzor a buszra vagy a gyűrűre kiad egy üzenetet, választ kérvén a buszhoz vagy a gyü1 98
rühöz kapcsolt egyéb elsőfokú processzoroktól arra vonatkozóan, hogy a zárást át lehet-e mozgatni ezen elsőfokú processzorok valamelyikéhez. Amennyiben ezen elsőfokú proceszszorok mindegyike negatív választ ad vissza, ami azt jelenti, hogy egyikük sem képes a zárás fogadására, akkor a zárást az eredeti elsőfokú processzorban tartjuk. Amennyiben a válaszoló elsőfokú processzorok egyike pozitív választ ad, akkor a zárás át lesz mozgatva ezen elsőfokú processzorhoz. Amennyiben a válaszoló elsőfokú processzorok közül több is pozitív választ ad, akkor egy prioritási sorrend fog egy adott elsőfokú processzort kiválasztani, amely az átviendő zárás fogadójaként fog szerepelni. A prioritási sorrend lehet például egy geometriai sorrend, például a legközelebbi szomszédos sorrend.
Régiók
A 37C ábra egy 256 elsőfokú processzort magában foglaló megnövelt méretű négyzetes elrendezésű másodfokú processzor egy megvalósítását mutatja. Az elsőfokú processzorok közötti csatornák és a mmásodfokú processzorhoz tartozó lehetséges kapuk nem láthatók az ábrán. Mindegyik elsőfokú processzor egy zérus méretű régiót képvisel. A 37C ábra szemlélteti, hogy a négyzetes elrendezésű másodfokú proceszszor logikailag (nem fizikailag) különböző méretű négyszögletes régiókra osztható fel, amelyek oldalukkal egymás mellé helyezve szabályos módon vannak elrendezve. Ilymódon mindegyik régió mérete 2n*2n elsőfokú processzor. A régiók diszjunkt módon, azaz egymást nem átfedve vannak elrendezve. A protokoll azonban olyan lehet, hogy egy régió definiálható
99 úgy is, hogy egy sorban vagy egy oszlopban vagy egy sorban
és egy oszlopban is a régió fele helyezkedik el.
A protokoll olyan, hogy az nyomon követi a régiókat, és azt az információt, hogy az apa vagy az apák mely régiókbán són
Ezt vannak elhelyezve, felhasználja az egyszerűsített zárávégrehajtott keresési vagy helyettesítési művelet során, azáltal teszi, hogy a közvetett elemekre vonatkozó bitmintákat, vagyis helyezi el, amely annak a régiónak olyan bitmintája, mozgatni valamely zó bitcsoport értékű, ha ha felfelé az azonosítókat érték/azonosító mezőkben magában foglal egy bitmintát, amely jelzi a méretét, amelyhez tartozik, és van egy amely azt jelzi, hogy a régiót el kell-e irányban. Az elmozdulási irányt meghatároközül az egyik 1 .. 1, akkor az éi mozgatás felfelé történik.
lehet két bitnyi, amelyek jobbra kell elmozdulni, a másik pedig akkor kell elmozdulni. Amikor mindkettő 1, lépéssel jobbfelé és egy fél egy fél
1épéssel
Amikor egy fiú egyszerűsítése történik, akkor az apák elhelyezkedésére vonatkozó információ keresztül lesz küldve annak régióján (vagy régióin) egy - a régióban lévő összes elsőfokú processzort magában foglaló - logikai gyűrűben. Ez azt jelenti, hogy ha a régió túl nagy, akkor a logikai gyűrű is nagy lesz, és az egyszerűsített fiúra vonatkozó információ szétküldése időt és gépi erő fórrásokat vesz igénybe. Emiatt a protokoll olyan, hogy a zárás hálózat régióját összehúzza, hogy az a lehető legkisebb méretű legyen. Emiatt ha egy fiú és apa közötti távolság nagy, akkor a gépi protokoll olyan, hogy az ilyen zárások mozgatásának priori200
tását teszi nagyobbá, és nem az olyan fiúk és apák mozgatásának prioritását, ahol a közöttük lévő távolság kicsi. Meg kell jegyezni, hogy egy régió összehúzásának műveletét nem hajthatjuk végre korlátozás nélkül. Egyes objektum tár rekeszek ugyanis például teljesen fel töl födhetnek adatokkal. Egyes apák rendelkezhetnek más fiúkkal is, távol attól a fiútól, amelyre vonatkozóan egy régió összehúzás! műveletet végre kell hajtani.
A négyzetes elrendezésű másodfokú processzor protokollja előnyösen olyan, hogy a szemantikusán összetartozó adatokat egy kis régióban koncentrálja. Ugyancsak kívánatos az, hogy az adatokat úgy mozgassuk, hogy bizonyos régiókat bizonyos típusú feldolgozási tevékenységekhez rendeljünk hozzá, és az ezen tevékenységekkel kapcsolatos adatokat a tevékenységekhez rendelt régiók felé mozgassuk. Egy tevékenységre példa lehet egy bizonyos típusú számítás. Egy tevékenységre vonatkozó további példák egy kapun keresztüli kivi tellel/bevitellel összefüggő tevékenységek, amely kapu belső viselkedései egy régión belül helyezkednek el.
A HARMADFOKÚ REDUKCIÓS PROCESSZOR
A zárásokat így körbemozgatjuk egy, a találmány szerinti másodfokú redukciós processzorban. Egy redukciós processzort azonban nem feltétlenül szükséges ugyanazon földrajzi helyen biztosítani. Ugyanazon processzor egyik része lehet például Svédországban, egy másik része pedig Ausztráliában. Emiatt a 41. ábrán látható harmadfokú redukciós processzort biztosíthatjuk, amely több másodfokú processzort foglal magában. A 41. ábrán három másodfokú processzor lát201
ható, az S0P1, S0P2 és S0P3. Az S0P1 másodfokú processzor úgy van ábrázolva, hogy egy négyzetes elrendezésű másodfokú processzort és egy busz-orientált másodfokú processzort foglal magában.
Az asszociatív címzés összehasonlítása a fizikai címzéssel
A különböző földrajzi helyek közötti kommunikáció mennyiségét kívánatos minimális szinten tartani, mivel az adat átvitel költségei és sebessége a helyszínek közötti távolság növekedésével növekednek. Egy asszociatív keresés túlságosan hosszú nagytávolságú kommunikációt igényelne, mivel a rendszerben lévő összes csomópontnak részt kell vennie a keresésben. Ebben az esetben célszerű fizikai címzést megvalósítani, hogy a nagytávolságú kommunikációt minimális szinten tartsuk. A fizikai címzés ebben az esetben azt jelenti, hogy a fizikai helyszínt címezzük, azaz a fogadó előzetesen ismert, összefoglalva, egy másodfokú processzoron belül, vagy egy földrajzi helyszínen csoportosított másodfokú processzorokon belül előnyös asszociatív címzést megvalósítani, az ilyen másodfokú processzorok, vagy másodfokú processzorok csoportjai között pedig célszerű fizikai címzést kialakítani. Jegyezzük meg, hogy egy másodfokú processzoron belül az asszociatív címzést a régiók használatával korlátozhatjuk .
Ezek után még mindig az a helyzet, hogy egy fiú egyszerűsítését összes apáihoz jelenteni kell. A másodfokú processzorban ezt a régiók használatával tesszük, ahol is mindegeik zárás hálózat a lehető legkisebb régión belül helyezkedik el. A harmadfokú processzorban egy további kritikus
202 szempontot kell figyelembe venni - a globális címzési szempontot.
Globális címzés
Az objektum tárbeli rekeszeket a tartalmuk révén címezzük és nem a fizikai címük segítségével, azaz asszociatív címzést használunk. Ezt a megközelítést a globális szinten nem célszerű követni, az általa igényelt nagytávolságú kommunikáció mennyisége miatt. Ilymódon a globális címzést sokkal hagyományosabb módon kezeljük. Ahelyett, hogy egy fiú egyszerűsítése során globális asszociatív keresést és helyettesítést hajtanánk végre, lokális - azaz a fiút tartalmazó másodfokú processzorra kiterjedő - asszociatív keresést és helyettesítést hajtunk végre. Ezen túlmenően egy globális címzést hajtunk végre, amikor ez szükséges, vagyis amikor egy egyszerüsített fiú apja egy másik másodfokú processzorban vagy pedig egy másik földrajzi helyszínen található. A globális keresés nem asszociatív, ehelyett fizikai fizikai címzést használunk. A fizikai cím egy másodfokú processzort azonosít, amely magában foglalhat egy sor további másodfokú processzort. Az átvitelre kerülő információ tartalmazza a fiú-zárás idg globális címét, azaz az idg azonosító a rendszerben található összes processzorra vonatkozóan egyedi. Az információ tartalmazza az egyszerűsített fiút is. Minden földrajzilag eltérő helyen lévő másodfokú processzorban van egy adatszerkezet, amely tartalmazza a másodfokú processzoron kívül fekvő apákkal rendelkező fiúkra vonatkozó információt; azaz minden fiú rendelkezik a nem-lokális apák listájával. A továbbiakban ezt az adatszerkezetet a Cg
203 •· ·« ···« • · · · ·♦· ·« · • · · · • · · « · · ·«» • · globális zárásnak fogjuk nevezni. A Cg globális zárás további információt is tartalmazhat.
A globális felújítás végrehajtására több módszer is lehetséges, ahol a globális felújítás azt jelenti, hogy legalább egy apa a fiútól eltérő másodfokú processzorban he1yezkedik el.
Globális felújítás cím-fordítás nélkül
Amikor egy zárást egyszerűsítünk, akkor egy keresést kell végrehajtani az egyszerűsített zárást kijelölő azonosító megtalálása céljából a Cg globális zárásban. Amennyiben az azonosítót ott megtaláljuk, akkor az egszerüsített zárás (a fiú) legalább egy olyan apával rendelkezik, amely a másodfokú processzoron kívül helyezkedik el - és így egy globális felújításra van szükség. Globális felújításra nincs szükség akkor, ha az azonosítót nem találjuk. A lokális másodfokú processzoron belül mindkét esetben egy asszociatív keresés és helyettesítés lesz végrehajtva. Amennyiben globális felújításra van szükség, akkor végighaladunk a Cg globális zárásban található nem-lokális apák listáján. A listában szereplő minden egyes apára vonatkozóan egy üzenet lesz kiküldve az apát tartalmazó másodfokú processzorhoz. Az üzenet tartalmazza az egyszerűsített zárás globális címét és magára az egyszerüsítésre vonatkozó információt. A fogadó másodfokú processzor egy asszociatív keresés/helyettesítést hajt végre, és a globális azonosító minden egyes előfordulását kicseréli az egyszerűsítés eredményével. Ez a protokoll megköveteli, hogy minden egyes azonosító egyedi legyen, azaz az azonosítóhoz tartozó bitminta a rendszerben lévő összes
204
processzorra vonatkozóan egyedi legyen.
Ezen protokoll egy megvalósításánál minden egyes másodfokú processzorhoz egy egyedi számot rendelünk hozzá, és minden egyes azonosító bitmintája magában foglalja a másodfokú processzor számát, ami azt jelenti, hogy egy másodfokú processzort azonosító fizikai cím implicit módon benne van az azonosító bitmintájában. Mindegyik másodfokú proceszszor birtokol egy azonosító tartományt, és amikor egy új másodfokú processzort beillesztünk a rendszerbe, akkor ahhoz egy új tartományt rendelünk hozzá, amelyen belül még nincs egyetlen azonosító sem.
Egy példa: az SOP1 másodfokú processzor a 100-199 tartománnyal rendelkezik, az SOP2 a 200-299 tartományt birtokolja, .... az SOP8 pedig a 800-899 tartományt. Egy új másodfokú processzort adunk a rendszerhez - ehhez hozzárendeljük a 9-es másodfokú processzor számot, és a 900-999 azonosító tartományt adjuk neki. A 42A ábrán egy példa struktúra részei láthatók. A 42B ábrán egy harmadfokú processzorrészei láthatók, az SOP1, SOP6 és SOP9 másodfokú processzorokkal . A 42C ábrán a Cg globális zárás látható. Egy fiút, amely a 623-as azonosítóval rendelkezik, kell egyszerűsíteni. Egy lokális asszociatív keresés/helyettesítést kell végrehajtani, amely a 623-as azonosítót lecseréli az általa kijelölt eredménnyel. A C3 globális zárás az SOP6 másodfokú processzorban található a fiú a 121—el és 999-el azonosított nem-lokális apákkal, mint lista elemekkel (lásd a 42C ábrát). Az SOP1 és SOP9 másodfokú processzorokhoz egy üzenet lesz kiküldve, az egyszerűsítésre vonatkozó információval,
265
azaz az egyszerűsített azonosítóval, az egyszerűsítés eredményével, stb. Az SOP1 és SOP9 másodfokú processzorok keresést és helyettesítést hajtanak végre, amelynek során a 623as azonosító az általa kijelölt eredménnyel lesz kicserélve. A Cg globális zárásban lévő adatszerkezetet most már módosítani lehet azáltal, hogy a kérdéses fiúra vonatkozó globális apák listáját töröljük.
A nem-lokális apák listájának tárolása helyett használhatjuk azon másodfokú processzorok számainak listáját is, amelyek tartalmaznak egy apát.
Globális felújítás cím fordítással
Ebben az esetben különbséget teszünk a globális és lokális címek között, egy lokális cím egyedi egy másodfokú processzoron belül, egy globális cím pedig a rendszerben lévő összes másodfokú processzor között egyedi. A legfontosabb különbség ezen megközelítés és a fentiekben leírt megközelítés között az, hogy ebben az esetben egy cím fordításra van szükség.
A cím fordítást a Cg globális zárás kezelheti. A Cg zárás tartalmazhatja az általa birtokolt másodfokú proceszszorok azonosítóinak tartományát. Ezt az információt azután fel tudja használni a globális címek lokális címekké történő 1efordítására. A harmadfokú processzorhoz tartozó tényleges adat átvitelt és a kommunikációs protokollt az adat kommunikáció területén már kialakított alapelvek figyelembevételével lehet megtervezni.
A fentieken túlmenően a hagyományos technológia segítségével természetesen kialakíthatunk további magasabb
206 szintű redukciós processzorokat, építő blokkokként felhasználva az elsőfokú, másodfokú és/vagy harmadfokú processzorokat .
Noha a találmányt meghatározott megvalósításokra történő hivatkozásokkal írtuk le, a szakmában jártas szakemberek számára nyilvánvaló, hogy különböző változtatásokat lehet végrehajtani, és bizonyos elemeket azonos funkciójú elemekkel ki lehet cserélni anélkül, hogy a találmány igazi szellemétől és oltalmi körétől eltérnénk. Ezen túlmenően, módosítások hajthatók végre anélkül, hogy a találmány alapvető újdonságaitól eltérnénk.
207 • *·· • · »«· ·»
I. FÜGGELÉK
PÉLDA A (6) KÖZPONTI VEZÉRLŐ EGYSÉG MŰKÖDÉSÉRE
1. táblázat
- Művelet: unify structure full (teljes struktúra e- gyesítés), 2 felhasznált fiú, mindkét fiúban 3 elem van
- H-kifejezés, ahol x=bármi, kivéve a nem használt
- A központi rekesz tartalma kulcsszavakkal kifejezve
- Pozíció
- Attribútum
- Fej
- Numerikus
- Azonosító: zárás végrehajtás csomópont érték egyesítés
- közvetett (indirekt) zárás
- környezet
- közvetett (indirekt)
- egyszerű nem használt
- nem használt
- zárás nyugvó csomópont érték párhuzamos
- A központi rekesz tartalma kódokkal kifejezve
2. táblázat
- Művelet: unify structure full (teljes struktúra e- gyesítés), 2 felhasznált fiú, mindkét fiúban 3 elem van
- Fázis: a
- Pozíció
- Sík
- ki(-kapcsolt állapotú)
208 • · · · · • · · · ·
- be(-kapcsoltállapotú)
táblázat
- Pozíció
- Sík
- ki(-kapcsolt- be(-kapcsoltállapotú) állapotú)
táblázat
- Pozíció
- Sík
- Állapot- ki(-kapcsoltállapotú)
táblázat
- Művelet: unify structure full (teljes struktúra e- gyesítés), 2 felhasznált fiú, mindkét fiúban 3 elem van
- Fázis: b
- Pozíció
- Sík
- Azonosító
- Környezet- be(-kapcsolt- ki(-kapcsoltállapotú) á11apotú)
táblázat
- Pozíció
- Sík
- ki(-kapcsoltál 1apotú)
- be(-kapcsoltál 1apotú)
táblázat
- Pozíció
209 • ·
- Sík
- Állapot
- be(-kapcsolt állapotú)
- ki(-kapcsolt állapotú)
8. táblázat
- Művelet: unify structure full (teljes gyesítés), 2 felhasznált fiú, 3 elem van
- Fázis: b
- Pozíció
- Sík
- Azonosító struktúra emindkét fiúban
- Környezet be(-kapcsolt ál 1apotú) ki(-kapcsolt ál 1apotú)
9. táblázat
- Pozíció
- Sík be(-kapcsolt ál 1apotú) k i(-kapcsolt ál 1apotú)
10. táblázat
- Pozíció
- Sík
- Áll apót k i(-kapcsolt állapotú)
11. táblázat
A síkok rövidítései
210
Rövidítés Név
Bitek száma
Tcszárás/egyszerű1
TI1 usta2
Twhol1
Tttípus (formátum+jelζδ)5
Ehfej6
Ennumerikus32
1
FÜGGELÉK
Táblázat
- egész szorzás
- 1. vezérlési eset
- állapot, érzékelő vezetékek - 1. állapot
- utasítás
- állapot, érzékelő vezetékek - 2. állapot
- utasítás
- mikro utasítás vezetékek táblázat
- 2. vezérlési eset
- állapot,érzékelővezetékek -1 .áll apót
- utasítás
- állapot,érzékelővezetékek -2 .ál 1 apót
- utasítás
- állapot,érzékelővezetékek -3.ál 1 apót
- utasítás
- áll apót,érzékelővezetékek -4.ál 1 apót
- utasítás
- mikro utasítás vezetékek táblázat
- 3. vezérlési eset
- állapot, érzékelő vezetékek - 1. állapot
- utasítás
- állapot, érzékelő vezetékek - 2. állapot
- utasítás
- mikro utasítás vezetékek táblázat
- 4. vezérlési eset
- állapot, érzékelő vezetékek - 1. állapot
- utasítás
- mikro utasítás vezetékek táblázat
- 5. vezérlési eset
- állapot,- utasításérzékelővezetékek -1 .ál 1 apót
- állapot,érzékelővezetékek -2 .ál 1 apót
- utasítás
- állapot,érzékelővezetékek -3.ál 1 apót
- utasítás
- állapot,érzékelővezetékek -4 .ál 1 apót
- utasítás
- állapot,érzékelővezetékek -5 .ál 1 apót
- utasítás
- mikro utasítás vezetékek táblázat
- 6 vezérlési eset
- állapot, érzékelő
- utasítás
- áll apót, érzékelő
- utasítás
- állapot, érzékelő
- utasítás
- állapot, érzékelő
- utasítás
vezetékek -1 .áll apót
vezetékek -2 ,ál 1 apót
vezetékek -3 .ál 1 apót
vezetékek -4 .ál 1 apót
- állapot, érzékelő vezetékek -
- utasítás
- mikro utasítás vezetékek
7. táblázat
- 7 vezérlési eset
- állapot, érzékelő vezetékek -
- utasítás
- állapot, érzékelő vezetékek -
- utasítás
- mikro utasítás vezetékek
8. táblázat
- 8 vezérlési eset
- állapot, érzékelő vezetékek -
- utasítás
- állapot, érzékelő vezetékek -
- utasítás
- mikro utasítás vezetékek
9. táblázat
- 9 vezérlési eset
- állapot, érzékelő vezetékek -
- utasítás
- mikro utasítás vezetékek
10. táblázat
- 10 vezérlési eset
- állapot, érzékelő vezetékek -
- utasítás
- állapot, érzékelő vezetékek -
- utasítás
- mikro utasítás vezetékek
5. állapot . áll apót
2. állapot
1. áll apót
2. áll apót
1. áll apót
1, állapot
2. áll apót
214

Claims (54)

1. Redukciós processzor, mely struktúrával rendelkező programvezérléssel van ellátva, amely úgy van kialakítva, hogy a struktúrát különböző típusú egyszerűsítéseket (redukciókat) magában foglaló több egyszerűsítési (redukciós) lépésben egyszerűsítse, azzal jellemezve, hogy egy ilyen típusú elsőfokú proceszszor (FOP) magában foglal egy aktív objektum tárat (1) és központi tárrekeszt (2), amely viszont magában foglalja
a. aktív tárrekeszek (10) és központi tárrekeszek (2) sokaságát, amelyek mindegyike rendelkezik azzal a lehetőséggel, hogy egy redukciós művelet végrehajtását lehetővé tegye, és
b. egy kommunikációs hálózatot, mely regiszterekbő1 (id, er>v), buszokból (vo , vi , V2 , V3 , 12, 13, 14), numerikus aritmetikai logikai egységből (5), prioritás dekódolóból (11), elem-fejből (16) és zárás-fejből (17) áll, amely minden egyes egyszerűsítési (redukciós) lépés eredményét továbbítja a tárrekeszek (10) között előforduló minden olyan rekeszhez, amelynek a eredménnyel kapcsolata van.
2. Az 1. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a kommunikációs hálózat magában foglal egy busz elrendezést, amelynek vezérlő vonalai (a 6-hoz vezető és attól jövő vonalak) valamint adatvonalai (ti , t.2 , id, env, vo , vi , V2 , V3 ) vannak, amely vonalak mindegyike össze van kötve a tárekeszekkel, és az összes tár rekeszhez (10) egy közös központi vezérlő egysége (6) van .
215 ··♦
3. Az 1. vagy 2. igénypont szerinti redukciós processzor, azzal j ellemezve, hogy minden egyes központi tárrekesz (2) és tárrekesz (10) képes magában foglalni az összes információt, amely egy redukciós (egyszerűsítési) müvvelet végrehajtásához szükséges.
4. A 3. igénypont szeinti redukciós processzor, azzal jel lemezve, hogy a redukciós információ magában foglal még egy hivatkozást is (érték/cél) a további tárrekeszek (10) közül legalább egyre úgy, hogy a tárrekeszek (10) tartalma a hivatkozással (hivatkozásokkal) egy fa-szerkezetben össze vannak kapcsolva.
5. Az 1-4 igénypontok bármelyike szerinti redukciós proceszszor, azzal jellemezve, hogy a tárrekeszek közül legalább egy, amelyet központi tárrekesznek (2) nevezünk, képes valamennyi típusú redukció végrehajtására, és a többi tárrekesz, amelyeket objektum tárrekesznek (10) nevezünk, az összes lehetséges egyszerűsítés némelyikének csak egy korlátozott részét képes végrehajtani.
6. A 6. igénypont szerinti redukciós processzor, azzal jellemezve, hogy az objektum tárrekeszek (10) eg> asszociatív memóriában vannak belefoglalva, amelynek van egy első busz elrendezése a külső vezérlés céljára (bármely típus, Vr, cpb, set.s, match, r/w.s, r/w.b, r/w.r, Wand.a, Wand.b, Wor, s.a, rését.b, mode.a, mode.a*, prech, ba, mode.b, grant.b, prio, stb), és egy második busz elrendezése (t1 , t-2, id, env, vO, v1 , v2. v3) az adatok részére, amely magában foglal:
néhány tárrekeszt (10) egy összetett információ tárolása
216 céljából , az objektum tárrekeszek (10) mindegyikében elem-fejeket (16) és zárás-fejeket (17) legalább egy jelző tárolására, ahol a jelzők legalább a kiválasztott állapotot (állapotokat) vagy a nem kiválasztott állapotot (állapotokat) jelzik a tárrekeszre (10) vonatkozóan, eszközt az objektum tárrekeszekben végzendő keresési művelet végrehajtásához a jelzők beállítása céljából, és egy prioritás dekódolót (11), amelyhez valamennyi objektum tárrekesz (10) hozzá van kapcsolva, és amelyik az objektum tárrekeszek (10) közül egyet kiválaszt.
7. A 6. igénypont szerinti redukciós processzor, azzal jellemezve, hogy legalább egy globális busz (12, 13, 14) biztosítva van a tárrekeszek (10) közötti ÉS és VAGY típusú műveletek végrehajtása céljából, valamint minden egyes tárrekeszben (10) egy zárás-fej a buszokkal (12, 13, 14) történő kommunikáció céljára és a tárrekesz (10) vezérlése céljára, hogy az részt vegyen egy tényleges logikai műveletben.
8. A 6. vagy 7. igénypont szerinti redukciós processzor, azzal jellemezve, hogy minden objektum tárrekesz (10) magában foglal egy sor adat objektum tároló mezőt (AZONOSÍTÓ, KÖRNYEZET, ÉRTÉK/CÉL.0, ÉRTÉK/CÉL.1, ÉRTÉK/CÉL.2, ÉRTÉK/CÉL . 3), melyek mindegyike képes tárolni egy adat szót, egy megnevezett numerikus szót és egy toldalékot, amely egy toldalék szó alakjában adott.
9. A 6-8 igénypontok bármelyike szerinti redukciós proceszszor, azzal jellemezve, hogy minden
217 tárrekesz (10) tartalmaz legalább egy attribútum tároló mezőt (LUSTA, HOL, TÍPUS), amely a tárrekesz (10) tartalmának állapotát vagy állapotait jelzi.
10. Az 5-9 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a tárrekesz (10) egy aritmetikai egység a struktúra aritmetika feldolgozására, magában foglalva:
a) legalább egy beviteli/kiviteli buszt (vO, v1, v2, v3, id, env) adat listáknak az objektum tárrekeszekbe (10) történő bevitele illetve az azokból történő kivitele céljára,
b) több regisztert (So,o~tól S3,3-ig, FO-tól F3-ig, ID, ENV), amelyek mindegyike úgy van kialakítva, hogy egy adat szót tároljanak, mindegyik adat szó rendelkezik egy toldalék résszel, (toldalék szóval) és egy információs résszel (numerikus szóval), ahol a toldalék rész magában foglal egy toldalékot annak jelzésére, hogy a szóban forgó regiszter (So,o-tól Ss,3-ig, FO-tól F3-ig, ID, ENV) használatban van-e vagy sem; a listák mindegyike tárolható egy előre meghatározott számú regiszterben (So,o-tól
S3,3~ig, FO-tól F3-ig, ID, ENV); az regiszterek (So,o-tól
83,3-ig, FO-tól F3-ig, ID, ENV) közül egyes regiszterek (So,o-tól S3,3-ig, FO-tól F3-ig,
ID, ENV) toldalék része használtként megjelölve azt jelzik, hogy a listák egyike legalább egy olyan résszel rendelkezik, amely a tényleges regiszterben (So,o-tól S3,3-ig, FO-tól F3-ig,
ID, ENV) van tárolva; és a lista rendelkezik egy, a tényleges regiszterben (So.o-tól S3,3-ig, FO-tól F3-ig, ID, ENV) tárolt dyan résszel, amely magában foglal egy lista uta218 sítást, hogy a lista milyen típusú és hogy a listák közötti reláció hol jelenik meg a regiszterben (So.o-tól
S3,3-ig, FO-tól F3-ig, ID, ENV) lévő listák elrendezésében ,
c) egy központi vezérlő egységet (6) a regiszterek (So.o-tól
S3,3-ig, FO-tól F3-ig, ID, ENV) vezérlése céljára és a regiszterekben (So,o-tól Ss.s-ig, FO-tól F3-ig, ID, ENV) tárolt listákhoz tartozó lista utasítások fel használására, hogy a listákat a regiszterekben (So.o-tól S3,3-ig, FO-tól F3-ig, ID, ENV) átrendezze, illetve a regiszterek (So.o-tól S3,3-ig, FO-tól F3-ig, ID, ENV) tartalmát a lista utasításokkal összhangban kivigye/bevigye.
11. A 10. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a regiszterekben (So,o-S3,3, F0-F3, ID, ENV) tárolt listák egy listákból álló fában vannak elrendezve, amely listák közül egy gyökér lista van.
12. A 10. vagy 11. igénypont szerinti redukciós processzor, azzal jellemezve, hogy rendelkezésre áll legalább egy extra regiszter (ID), amelyben a listák tárolt fájának azonosítója tárolható.
13. A 10-12 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy rendelkezésre áll legalább egy extra regiszter (ENV), amelyben a listák tárolt fájának környezete tárolható.
14. A 10-13 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy tartalmaz egy regiszter mátrixot (So,o-S3,3), amely rendelkezik egy, a kerületén elhelyezkedő és a fő regisztereket biztosító
2 1 9 regiszter sorral (So,o-Ss,o), a mátrix oszlopai pedig a bázis regisztereket tartalmazzák.
15. A 14 igénypont szerinti redukciós processzor, azzal jellemezve, hogy az magában foglal egy sor kiegészítő regisztert (F0-F3), amelyek a mátrixon kívül fekszenek .
16. A 10-15 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a tárolt listák fájának gyökér listája úgy van kialakítva, hogy az különböző regiszterekben lesz tárolva, a tárolandó tényleges fa szintjétől függően.
17. A 10-16 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a végrehajtandó egyszerűsítés (redukció) típusára vonatkozó információt a gyökér lista típusából lehet kinyerni, és ahol a típus - amennyiben az nem egy függvény alkalmazását jelenti - magában foglal egy utasítás kódot, amely a végrehajtandó utasítást képviseli; és amennyiben a típus egy függvény alkalmazását képviseli, akkor az gyökér lista első eleme magában foglal egy utasítás kódot, vagy pedig a listák egy fájának gyökere egy függvény definíciót tartalmaz, és a központi vezérlő egység (6) úgy van kialakítva, hogy az információt ki tudja venni az gyökér listából.
18. A 10-17 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a regiszterek logikailag szelet-szerüen vannak elrendezve a központi rekesz síkjaiban, ahol minden egyes sík legfeljebb egy regiszter rekeszt fog 1 a 1 magában az egyes regiszterek-
2 20 bői, ahol minden egyes regiszter rekesz egy bitnyi információ tárolására képes, és ahol az egy síkon belül fekvő regiszter rekeszek egymással összekapcsolhatók.
19. Az 5-18 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a kommunikációs hálózat úgy van kialakítva, hogy az ugyancsak átvigyen információt az objektum tárrekeszek (10) között vezérlő szerepet betöltő objektum tárrekeszből (10) a kommunikációs hálózatban lévő központi vezérlő egység (6) által kiválasztott központi tárrekeszben (2) lévő regiszterekhez (ID, ENV, So,o-tól S3,3-ig, F0-F3), és a regiszterekből (ID, ENV, So,o-tól S3,3-ig, F0-F3) a kommunikációs hálózat által kiválasztott objektum tárbeli (1) rekeszek közül egyhez vagy többhöz.
20. Az 5-19 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a központi vezérlő egység (6) úgy van kialakítva, hogy az végrehajtson egy átviteli műveletet a központi tár rekeszekben (2) lévő központi regiszterek (3) és az objektum tárbeli (1) tárrekeszek (10) közül kiválasztott egy tárrekesz (10) között, a központi regiszterek (3) és a kérdéses objektum tárrekesz (10) tartalmának megcserélése révén.
21. A 3-20 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a központi tárrekeszek (2) és tárrekeszek (10) közül egy vagy több úgy van kialakítva, hogy egy zárást tároljanak, amely rendelkezik a végrehajthatóság jelölésével, egy fastruktúrában elfoglalt pozíciójának meghatározásával, egy azonosító221 val, egy környezet meghatározással, és egy értékekből álló fa meghatározásával, ahol az azonosító, környezet és minden egyes egyedi érték az zárás elemei.
22. A 8-21 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárásban tartalmazott értékek fája magában foglal levél-elemeket azaz vég-elemeket is, valamint összetett elemeket, ahol az összetett elemek magukban foglalnak egy állapotot és egy értékekből álló listát.
23. A 8- 22 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárásban tartalmazott végrehajthatósági jelölés legalább két állapottal rendelkezik, amelyek közül az első állapot a nyugvó állapot a második állapot pedig a végrehajtási állapot .
24. A 8-23 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárásban tartalmazott pozíció jelölés legalább két állapottal rendelkezik, amelyek közül az első állapot a csomóponti pozíció, a második állapot pedig a gyökér pozíció.
25. A 8-24 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárásban lévő minden egyes elem egy toldalék szóból és egy numerikus szóból áll, ahol a numerikus szó több bitből áll, amelyek minegyike vagy igaz vagy hamis értékű.
26. A 12-25 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a toldalék szavak fel vannak osztva egy közvetlen osztályra és
222 egy közvetett osztályra.
27. A 8-26 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy úgy van kialakítva, hogy használjon egy első kódolást egy egész értéket képviselő bináris szón, és egy második kódolást egy lebegőpontos ábrázolást képviselő bináris szón, és a kódolá sok olyanok, hogy a lebegőpontos ábrázolás ugyanolyan sor rendű, mint az egész ábrázolás.
28. A 8-27 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy egy egész szám az elemben történő tárolás céljából binárisan kódolt formában úgy van kialakítva, hogy a legkisebbtől a legnagyobb ábrázolható értékig terjedő öszszes érték ábrázolható egy számsorozatban, amelyben a zérus érték a számsorozat közepén helyezkedik el egy olyan bináris számként, amelynek legmagasabb helyiértékü bitje igaz értékű, a többi bit pedig bináris hamis értékű.
29. A 8-23 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy egy binárisan kódolt lebegőpontos érték-ábrázolás magában foglal egy előjelet, egy kitevő előjel és kód mezőt, egy kitevő mezőt és egy mantissza mezőt; ahol a kitevő előjel és kód mező tartalmaz egy jelzést a kitevő mező és a mantissza mező közötti elválasztó pozícióra vonatkozóan, és ahol a kitevő és mantissza mezek változó hosszúságúak.
30. A 29. igénypont, szerinti redukciós processzor, azzal jellemezve, hogy a szavak, amelyek numerikus érték szavakat, ábrázolnak, olyan kódolással rendelkeznek,
223 ··· amely a numerikus értékek tömör ábrázolását biztosítják, azaz egy érték minden kódolt ábrázolása egyetlen értelmezett értéknek felel meg.
31. A 8-30 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárás jelöléseknek legalább egy része különböző állapotokban áll rendelkezésre, ahol is mindegyik állapot több bitből áll, amelyek egy bináris kódot képviselnek.
32. Az 1-31 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az magában foglal egy numerikus aritmetikai logikai egységet (5) az aritmetikai, logikai és ezekkel összefüggő utasítások végrehajtására numerikus értékű elemeken, magában foglalva az alábbiakat:
a) buszok egy halmazát magában foglaló beviteli eszközt, ahol minden egyes operatív buszt el kell látni egy listában lévő lista elemmel, a lista magában foglal a listában lévő szavakra vonatkozó utasítás információt,
b) feldolgozó eszközt, amelyhez a buszok halmaza hozzá van kapcsolva, és amely a listában lévő szavakon egy utasítást hajt végre, az utasítás információ fel használásával azáltal, hogy az szavakat az utasításnak megfelelően átírja, és
c) egy kiviteli eszközt, amely úgy van kialakítva, hogy az átírt eredményt meg tudja jeleníteni, buszok egy olyan halmazának a fel használásával, amely ugyanannyi számú és ugyanolyan elrendezésű buszokból áll, mint a beviteli célra szolgáló buszok halmaza.
224
33. A 32. igénypont szerinti redukciós processzor, azzal jel 1 emezve, hogy <
• · ·· ·· a listában legalább egy lista elem arra a célra van fenntartva, hogy az magában foglalja egy utasítás információ valamely ábrázolását, amely a buszok halmazának egyik elemén áll rendelkezésre; és a számítások céljára szolgáló numerikus érték ábrázolások úgy vannak kialakítva, hogy azok a buszok halmazának további elemein álljanak rendelkezésre; és a feldolgozó eszköz úgy van kialakítva, hogy egy számítás végrehajtását a bementi listában szereplő numerikus érték ábrázolások átírásával hajtja végre.
34. A 33.igénypont szerinti redukciós processzor, azzal jellemezve, hogy több áramkör áll rendelkezésre, amelyek mindegyike a bemeneti buszokon rendelkezésre álló numerikus értékeken történő egy bizonyos művelet végrehajtására vannak kialakítva oly módon, hogy a műveletek e'edményeit egymással párhuzamosan hozzák létre, és hogy az utasítás információval ellátott vezérlő meghajtó eszköz úgy • an kialakítva, hogy a feldolgozott eredmény(eke)t az összes olyan feldolgozott eredmények közül válassza ki, amelyek alkalmasak a tényleges utasítás végrehajtásához.
35. A 34. igénypont szerinti redukciós processzor, azzal Jellemezve, hogy abban az esetben, amikor a ista úgy van kialakítva, hegy az magában foglaljon egy függvény alkalmazást, ahol is az egyik elem egy utasítás kód, a többiek pedig a függvényhez tartozó argumentumok., akkor a feldolgozó eszköz egy utasítást hajt végre azáltal, hogy au utasítás kódot átírja és a kimenetről vísszatáp1 álja
225 a bemenetre mindaddig, amíg végül is egy végső eredményt kapunk; és az egyes átírásoknál az feldolgozó eszköz úgy van kialakítva, hogy a listát úgy írja át, hogy az magában foglaljon egy módosított utasítás kód szót, amennyiben ennek az adott számításnál értelme van, amelyet értelem szerint érték szavak követnek.
36. Az 1-35 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy elsőfokú redukciós processzorok (FOP) egy halmaza egymással egy hálózat (NET) segítségével össze van kötve, az elsőfokú redukciós processzorok (FOP) egy másodfokú redukciós proceszszort (SOP) képviselnek.
37. Az 1-36 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az egyes elsőfokú redukciós processzorokban (FOP) lévő tárrekeszek (10) közül egy vagy több egy zárás tárolására van kialakítva, amely a végrehajthatóság, egy fa struktúrán belüli pozíció, egy azonosító, egy környezet és értékek egy fájának a jelölése; ahol az azonosító, környezet és az egyes egyedi értékek mind részei a zárásnak; a zárásban szereplő minden elem egy toldalék szóból és egy numerikus szóból áll, a numerikus szó bitek halmazából áll, amelyek mindegyike vagy igaz vagy hamis értékű; a toldalék szavak pedig fel vannak osztva egy közvetlen és egy közvetett osztályra, a közvetett osztályú elem bitképe fel van osztva egy régió részre és egy cím részre.
33. A 37. igénypont szerinti redukciós processzor, azzal jellemezve, hogy több elsőfokú redukciós pro226 cesszor (FOPi, i -FOPm,m ) egyesítve vannak egy négyzetes mezőben, amely egy másodfokú redukciós processzort (SOP) képvisel; és a négyzetes mezőben lévő mindegyik elsőfokú redukciós processzor (FOP) magában foglal egy csatornát (CAN), amely a négyzetes mezőben lévő többi szomszédos elsőfokú redukciós processzorhoz (FOPi , 1 -FOPm,m) vezet.
39. A 38. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a másodfokú redukciós processzor (SOP) viszont fel van osztva logikai régiókra (REG), amelyek mindegyike egy 2n x 2n számú elsőfokú redukciós processzort (FOPi , 1 -FOPm,m) tartalmaz, a logikai régiók (REG) egymás oldalai mellett állnak rendelkezésre egy szabályos minta szerint úgy, hogy lefedjék a másodfokú redukciós processzorok (SOP) négyzetes mezejét.
40. A 39. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a másodfokú redukciós processzorban (SOP) lévő elsőfokú redukciós processzorok (FOP) egymással össze vannak kapcsolva úgy, hogy az másodfokú redukciós processzoron (SOP) belüli egyes régiók (REG) egy fél régió mérettel minden irányban eltolhatók a régiók (REG) elhelyezkedésének belső újradefiniálása révén.
41. A 39. -.'agy 40. igénypont szerinti redukciós processzor, azzal jellemezve, hogy minden egyes régióban (REG) legalább egy, címmel ellátott, hivatkozható közvetett elem van tárolva, az elem csak azon tár rekeszekbe 1 (10) hivatkozható, amelyek abban a régióban (REG) helyezkednek el, amelyhez maga az elem is tartozik.
42. A 37-41 igénypontok bármelyike szerinti redukciós pro227 • « cesszor, azzal jellemezve, hogy az elsőfokú redukciós processzorok (FOP) közül több össze van kapcsolva hálózatok (NET-i-NETn) egy hierarhiájába, ahol mindegyik hálózat (NETi-NETn) egy busz.
43. A 37-42 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az elsőfokú redukciós processzorok (FOP) közül több össze van kapcsolva hálózatok (NET) egy hierarhiájába, ahol mindegyik hálózat (NET) egy gyűrű.
44. A 37-43 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az elsőfokú redukciós processzorok (FOP) közül több össze van kapcsolva hálózatok (NET) egy hierarhiájába, legalább két különböző típusú hálózat (NET) van biztosítva, az első típusú hálózat (NET) egy busz, a második típusú hálózat (NET) egy gyűrű, a harmadik típusú hálózat (NET) pedig egy négyzetes mező.
45. Az 1-44 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy magában foglal legalább egy kaput (PORT), amely az aktív tároló eszközhöz van kötve, és legalább egy környezeti eszközt, amely legalább egy kapuhoz (PORT) van kötve.
46. A 45. igénypont szerinti redukciós processzor, azzal jellemezve, hogy tartalmaz egy komparátort (21) egy jelsorozat összehasonlítása céljára amely egy kapun (PORT) van biztosítva egy sorozattal, amely legalább egy tárrekeszben (10) tárolva van, a tárolt sorozat rendelkezik egy esetleg definiálat1an sorozat elemmel ($) az aktív táro228 ló eszközben; és tartalmaz egy eszközt (CU, 3) a tárolt sorozat semmi-re, azaz ellentmondásokat ábrázoló valamivé történő átírása céljából, amennyiben az összehasonlítás egy tiszta eltérést ad; vagy pedig ellenkező esetben a tárolt sorozatnak egy meghatározott sorozattá történő átírása céljából, amely a jelsorozat és a tárolt sorozat egyesítése.
47. A 46. igénypont szerinti redukciós processzor, azzal jellemezve, hogy az komparátor (21) összehasonlításokat végez egy meghatározott számú lista elemekből ál ló csoporton.
48. A 46. vagy 47. igénypont szerinti redukciós processzor, azzal jellemezve, hogy magában foglal egy eszközt (3, during; 7, 8, 9) a jelsorozatnak egy mintavételezett, időben változó és egyedi mintavételezési periódusokkal rendelkező jelként történő biztosítása céljából; a jelsorozat elemek csoportjainak listájából áll, ahol minden egyes csoport magában foglal egy időtartamot és legalább egy jel mennyiséget ezen időtartam alatt.
49. A 43. igénypont szerinti redukciós processzor, azzal jellemezve, hogy az egyes csoportokban a lista elemek meghatározott száma kettő, amelyek egy párként állnak rendelkezésre, ahol minden egyes pár magában foglalja az idő és jelmennyiség egy kombinációját.
50. A 45-49 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az objektum tárbeli (1) tárrekeszek (10) egy struktúrában állnak rendelkezére az aktív tárolóban úgy kialakítva, hogy egy explicit vagy implicit módon kódolt absztrakt szintakszis
229 formájában meghatározott számítógép programot tároljon, ahol a szintakszis - kifejezések segítségével - számos különböző absztrakt objektumot ír le; mindegyik objektum tárbeli (1) tárrekesz (10) képes az egyik szintaktikus kifejezés legalább egy részének a tárolására az időben, egy megfelelő adat és/vagy program struktúra formájában.
51. a 44. igénypont szerinti redukciós processzor, azzal jellemezve, hogy egymáshoz kapcsolt, földrajzilag elválasztott másodfokú redukciós processzorok (GSOP) egy harmadfokú redukciós processzort alkotnak.
52. Az 51. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a másodfokú redukciós processzorok (SOP) vonatkozásában egy régiók (REG) révén korlátozott mértékű asszociatív címzés van alkalmazva, a harmadfokú processzorok esetében pedig fizikai címzés van alkalmazva.
53. Az 52. igénypont szerinti redukciós processzor, azzal jellemezve, hogy egy harmadfokú redukciós processzorban lévő minden egyes földrajzilag elválasztott másodfokú redukciós processzor (GSOP) magában foglal egy eszközt a fiútól eltérő további másodfokú redukciós processzorokban (GSOP) tárolt apák nyomonkövetése céljára.
54. Az 53. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a nem-lokális apák nyomonkövetésére szolgáló eszköz magában foglal egy adat struktúrát a lokális objektum tárban(l); az adat struktúra magában foglal egy listát minden egyes olyan fiúra vonatkozóan, amely rendelkezik nem-lokális apákkal; a lista magában
230 foglalja a kérdéses fiúhoz tartozó nemlokális apák címeit; a cím magában foglal egy részt, amely azonosítja azt a másodfokú redukciós processzort (GSOP), amelyben a nem-lokális apa tárolva van.
231
MÓDOSÍTOTT igénypontok [A Nemzetközi Irodába érkezett 1991. december 23-án (23.12.91); az eredeti 1-es igénypont módosítva, a további igénypontok változatlanok (1 lap)]
1. Egy struktúrával rendelkező program által vezérelt redukciós processzor, amely úgy van kialakítva, hogy az struktúrát különböző típusú egyszerűsítéseket (redukciókat) magában foglaló több egyszerűsítési (redukciós) lépésben egyszerűsítse, azzal jellemezve, hogy egy ilyen típusú elsőfokú proceszszor magában foglal egy asszociatív aktív tárat (1, 2), amely viszont magában foglalja
a. aktív tároló rekeszek (10, 2) sokaságát, amelyek minde- gyike képes egy egyszerűsítési (redukciós) művelet végrehajtására, és
b. egy kommunikációs hálózatot (ti , t2, id, env, vo, vi , V2, V3, 12, 13, 14, 5, 11, 16, 17) amely minden egyes egyszerűsítési (redukciós) lépés eredményét asszociatív módon továbbítja a tároló rekeszek között előforduló minden olyan rekeszhez, amelynek az eredménnyel kapcsolata van.
232
A 19-ES CIKKELY ALATTI KIJELENTÉS
Az alábbiakban, hivatkozva a módosításokra vonatkozó levélre, a módosított 1. igénypontban elforduló egyes változtatások rövid magyarázatát adjuk.
Az (1)-es változtatás, azaz miszerint az aktív tár asszociatív, alátámasztása megtalálható a fenti bejelentés leírásában, annak 6. lapján a 23-26. sorokban (Az objektum tárrekeszek (10) egy asszociatív tárban vannak elhelyezve...) ahol is ki van jelentve, hogy a memória asszociatív. A változtatás alátámasztása megtalálható a 13. lapon is a 37. sorban, egészen a 14. lap 2. soráig ( ... azaz a memória asszoc i atív.).
A (2)—ik változtatás alátámasztása, azaz miszerint egy egyszerűsítés (redukció) eredménye asszociatív módon kerül továbbításra, megtalálható a fenti bejelentés leírásának 62. lapján, a 15-19. sorokban és a 16. ábrán (unify_id), ahol egy asszociatív keresés és helyettesítés leírása található.
A (3)-ik és (4)-ik változtatás, amely a rendelkezik azzal a lehetőséggel, hogy egy redukciós művelet végrehajtását lehetővé tegye kifejezést a képes egy egyszerűsítési (redukciós) művelet, végrehajfására kifejezésre cseréli a világosabb érthetőség kedvéért tettük.
233 helyettesítő lapok
4a helyettesítő lap
Az irodalomban az elmúlt években tárgyalták a gráf-redukciókat végző redukciós (egyszerűsítő) processzorokat, és egy adott megvalósítási technikát D.A. Turner Egy új megvalósítási technika az applikatív nyelvek számára , Software Gyakorlat és tapasztalat, 9. kötet, 31-49 oldal, 1979 (A
New Implementation Technique fór Applicative Languages, Software-Practice and Experience, Vol. 9. pp 31-49, 1979) című cikkében írt le. Az US 4.644.464 sz. szabadalom leírásban leírt gondolatok egy fejlődését képviseli, és így kapcsolatos egy olyan digitális processzorral, amely bináris irányított gráfok formájában megadott programok kiértékelésére van kialakítva az ekvivalens gráfok fokozatos helyettesítése révén. Létre kell hozni egy applikatív nyelv, például a LISP vagy a SASL egy használható megvalósítását. A program végrehajtásának meggyorsítása érdekében az US 4.644.464 sz. szabadalmi leírás leír egy ún. gráf-kezelőt, amely egyszerűsíteni tud egy változó-mentes applikatív nyelv-kódot ábrázoló kombinátor gráfot, amely egy magasszintű kód nagyszámú szimultán regiszter-átvite 1 által előállított transzformációja. A két-szintü csomópontokat egy csomópont-tipusú mező biztosítja. A gráfot egy függvény helyettesítés egyszerűsíti, amelyet függvény-helyettesítést nagyszámú, a gráfok kétrel·eszes csomópontjait tárolni képes regiszterek vezérlése és átrendezése biztosítja. Azokat a csomópontokat, amelyek az adat szekcióban lévő csomópontok szülői, beleértve a regiszterek számait is, egy verem-memóriában tárolják, amelyet egy útvonal-pufferként használnak.
A regisztereket egy ál 1 apót-tesztelő vezérli, amely a címedtől ásókat előállítja a mikroutasífásokhoz, amelyek biztosítják azokat a vezérlő jeleket, amelyek révén az átrendezések elvégezhetők.
Az US 4.734.848 sz. szabadalmi leírás leír egy egyszerűsítés-feldolgozási módszert és egy berendezést, amely ugyancsak a D.A. Turner által leírt adott megvalósítási technikán alapul. A egyszerűsítő (redukciós) processzor rendszer egy programot hajt végre, amely egy alkalmazható gráffá lett alakítva, amely többes-eket (tuple), függvényeket és változókat tartalmaz. Ezt követően egy ún. kombinátor gráffá történő átalakítás történik, a Turner rendszerrel összhangban, amelynél egy több argumentummal rendelkező függvényt átvisznek, és az egyik argumentum valamely magasabb rendű függvényévé alakítanak. Egy absztrakcióval kapott kombinátor-gráf redundánsá válik, emiatt a kiértékeléshez felhasznált egyszerűsítési lépések száma növekedni fog, ha a Turner által leírt módon járunk el. Emiatt az US 4.734.848 sz. szabadalmi leírás egy olyan rendszert ír le hatékony feldolgozási módszerként, amely alkalmas a normál sorrendben végrehajtott párhuzamos egyszerűsítési számítások megvalósítására, amelyet lusta kiértékelések kísérnek. A rendszer alapvető elve abban rejlik, hogy bármely több-argumentumú függvény, amely az argumentumok sokaságával rendelkezik, kezelhető úgy, mint egy egy-argumentumú függvény, amely az eredeti argumentumokat magában foglaló többes argumentumokra alkalmazható. Az előállított egy-argumentumú függvényt konver235 • · • · tálják. A normál sorrenben párhuzamos kiértékelések hajthatók végre a többeseken (tuple-okon) alapuló ún. V-kódú kifejezéseken. A kiértékelések különböző processzorokhoz lesznek hozzárendelve, majd ezután az egyszerűsítés az elemi processzorokban megy végbe, amelyek egymáshoz egy mátrix alakjában vannak összekapcsolva. Mindegyik, elemi processzor magában foglal egy négy áramkörből álló kombinációt, mint az aritmetikai-logikai egység, egy vezérlő regiszter, egy verem-terület és egy ROM (csak olvasható memória), amely az alapvető műveleti utasításokat tartalmazza. Ugyancsak le van írva egy berendezés, amelyet egy fő-processzor egységből (MPU-ból Main Processor Unit), egy fő memória eszközből, egy, az egyszerűsítésekhez szükséges vermek céljára szolgáló verem memóriából és egy pointer-cache1 ésre használt regiszter-mátrixból építettek össze. A működéshez mikroutasításokat használnak.
236
IGÉNYPONTOK
1. Egy struktúrával rendelkező program által vezérelt redukciós processzor, amely úgy van kialakítva, hogy az struktúrát különböző típusú egyszerűsítéseket (redukciókat) magában foglaló több egyszerűsítési (redukciós) lépésben egyszerűsítse, azzal jellemezve, hogy egy ilyen típusú elsőfokú proceszszor magában foglal egy asszociatív aktív tárat (1, 2), amely viszont magában foglalja
a. aktív tároló rekeszek (10, 2) sokaságát, amelyek minde- gyike képes egy egyszerűsítési (redukciós) művelet végrehajtására, és
b. egy kommunikációs hálózatot (ti, t2 , id, env, vo, vi , v2, V3, 12, 13, 14, 5, 11, 16, 17) amely a tárrekeszekhez (10) van kapcsolva, és úgy van kialakítva, hogy azt követően, hogy az egyes egyszerűsítések eredménye az egyszerűsítési műveletek végrehajtásának eredményeként rendelkezésre áll, egy asszociatív keresést hajtson végre a tárrekeszek (10) közötti azon tényleges tárrekeszek (10) megtalálása céljából, amelyek az egyszerűsítésre hivatkoztak, és az egyszerűsítés eredményét asszociatív módon továbbítsa a tényleges tárrekeszekhez (10).
2. Az 1 . igénypont szerinti redukciós processzor, azzal jellemezve, hogy a kommunikációs hálózat magában foglal egy busz elrendezést, amelynek vezérlő vonalai (a 6-hoz vezető és attól jövő vonalak) valamint adatvonalai (ti , t2 , id, env, vo , vi , v2 , V3 ) vannak, amely vonalak mindegyike össze van kötve a trekeszekkel, valamint rendelkezik egy vezérlő szerkezettel (6) az összes tárrekeszre
237 (10) vonatkozóan.
3. Az 1. és 2. igénypont szerinti redukciós processzor, azzal j ellemezve, hogy minden egyes tárrekesz (10) (2; 10; 4A ábra, 4B ábra) használat közben magában foglalja az összes olyan információt, amely egy redukciós (egyszerűsítési) müvvelet végrehajtásához szükséges.
4. A 3. igénypont szeinti redukciós processzor, azzal jellemezve, hogy a redukciós információ magában foglal még egy hivatkozást is (érték/cél) a további tárrekeszek (10) közül legalább egyre úgy, hogy a tárrekeszek (10) tartalma az hivatkozással (hivatkozásokkal) egy fa-szerkezetben össze vannak kapcsolva (6B, 6G, 7B, 8B ábrák; 5A-5F ábrák).
5. Az 1-4 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a tárrekeszek (10) közül legalább egy, amelyet központi tárrekesznek (2) nevezünk, képes valamennyi típusú redukció végrehajtására, és a többi tárrekesz (10), amelyeket objektum tárrekesznek (10) nevezünk (10; 4A ábra), úgy vannak kialakítva, hogy az összes lehetséges egyszerűsítések némelyikének csak egy korlátozott részét képesek végrehajtani.
6. A 6. igénypont szerinti redukciós processzor, azzal jellemezve, hogy az objektum tárrekeszek egy asszociatív memóriában vannak belefoglalva, amelynek van egy első busz elrendezése a külső vezérlés céljára (bármely típus, Vr, cpb, set.s, match, r/w.s, r/w.b, r/w.r, Wand.a, Wand.b, Wor, s.a, rését.b, mode.a, mode.a*, prech, ba, mode.b, grant.b, prio, stb), és egy második busz elrendezése
238 (t1, t2, id, env, vO, v1, v2 . v3) az adatok részére, amely magában foglal: néhány tárrekeszt (10) egy összetett információ tárolása céljából, az objektum tárrekeszek (10) mindegyikében eszköz(öke)t (16, 17) legalább egy jelző tárolására, ahol az jelzők legalább a kiválasztott állapotot (állapotokat) vagy a nem kiválasztott állapotot (állapotokat) jelzik a tárrekeszre (10) vonatkozóan , eszközt az objektum tárrekeszekben (10) végzendő keresési művelet végrehajtásához a jelzők beállítása céljából, és egy prioritás dekódolót (11), amelyhez valamennyi objektum tárrekesz (10) hozzá van kapcsolva, és amelyik az objektum tárrekeszek (10) közül egyet kiválaszt.
7. A 6. igénypont szerinti redukciós processzor, azzal jellemezve, hogy legalább egy globális busz (12, 13, 14) biztosítva van a tárrekesz (10)ek közötti ÉS és VAGY típusú műveletek végrehajtása céljából, valamint minden egyes tárrekeszben (10) egy eszköz a buszokkal történő kommunikáció céljára és a tárrekesz (10) vezérlése céljára, hogy a részt vegyen egy tényleges logikai műveletben.
8. A 6. vagy 7. igénypont szerinti redukciós processzor, azzal jellemezve, hogy minden objektum tárrekesz (10) magában foglal egy sor adat objektum tároló mezőt (AZONOSÍTÓ, KÖRNYEZET, ÉRTÉK/CÉL.O, ÉRTÉK/CÉL.1, ÉRTÉK/CÉL.2, ÉRTÉK/CÉL.3), mindegyik adat objektum tároló mező képes tárolni egy adat szót, egy megnevezett numerikus szót és egy toldalékot, amely egy toldalék szó alakjában
239 adott.
S. A 6-8 igénypontok bármelyike szerinti redukciós processszor, azzal jellemezve, hogy minden tárrekesz (10) tartalma legalább egy attribútum tároló mezőt (LUSTA, HOL, TÍPUS), amely a tárrekesz tartalmának állapotát vagy állapotait jelzi.
10. Az 5-9 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a tárrekesz (10) egy aritmetikai egység a struktúra aritmetika feldolgozására, magában foglalva:
a) legalább egy beviteli/kiviteli eszközt (vO, v1, v2, v3, id, env) adat listáknak az objektum tárrekeszekbe (10) történő bevitele illetve az azokból történő kivitele céljára,
b) több regisztert (So,o-tól S3,3-ig, FO-tól F3-ig, ID, ENV), amelyek mindegyike úgy van kialakítva, hogy egy adat szót tároljanak, mindegyik adat szó rendelkezik egy toldalék résszel, (toldalék szóval) és egy információs résszel (numerikus szóval), ahol a toldalék rész magában foglal egy toldalékot annak jelzésére, hogy a szóban forgó regiszter használatban van-e vagy sem; az listák mindegyike tárolható egy előre meghatározott számú regiszterben; a regiszterek közül egyes regiszterek toldalék része használtként megjelölve azt jelzik, hogy a listák egyike legalább egy olyan résszel rendelkezik, amely a tényleges regiszterben van tárolva; és a lista rendelkezik egy, a tényleges regiszterben tárolt olyan résszel, amely magában foglal egy lista utasítást, hogy a lista milyen típu
240 sú és hogy az listák közötti reláció hol jelenik meg a regiszterben lévő listák elrendezésében,
c) egy vezérlő eszközt (6) a regiszterek vezérlése céljára és a regiszterekben tárolt listákhoz tartozó lista utasítások felhasználására, hogy a listákat a regiszterekben átrendezze, illetve a regiszterek tartalmát a lista utas í fásokkal összhangban kivi gye/bevi gye.
11. A 10. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a regiszterekben tárolt listák egy listákból álló fában vannak elrendezve, amely listák közül egy gyökér lista van.
12. A 10. vagy 11. igénypont szerinti redukciós processzor, azzal jellemezve, hogy rendelkezésre áll legalább egy extra regiszter (ID), amelyben a listák tárolt fájának azonosítója tárolható.
13. A 10-12 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy rendelkezésre áll legalább egy extra regiszter (ENV), amelyben a listák tárolt fájának környezete tárolható.
14. A 10-13 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy tartalmaz egy regiszter mátrixot (So.o-Ss.s), amely rendelkezik egy, a kerületén elhelyezkedő és a fő regisztereket biztosító regiszter sorral (So,o-S3,o), a mátrix oszlopai pedig a bázis regisztereket tartalmazzák.
15. A 14 igénypont szerinti redukciós processzor, azzal jellemezve, hogy az magában foglal egy sor kiegészítő (segéd) regisztert (FO-tól F3-ig), amelyek az
241
- · mátrixon kívül fekszenek.
16. A 10-15 igénypontok bármelyike szerinti redukciós processzor , azzal jellemezve, hogy a tárolt listák fájának gyökér listája úgy van kialakítva, hogy a különböző regiszterekben lesz tárolva, a tárolandó tényleges fa szintjétől függően.
17. A 10-16 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a végrehajtandó egyszerűsítés (redukció) típusára vonatkozó információt a gyökér lista típusából lehet kinyerni, és ahol a típus - amennyiben az nem egy függvény alkalmazását jelenti - magában foglal egy utasítás kódot, amely a végrehajtandó utasítást képviseli; és amennyiben a típus egy függvény alkalmazását képviseli, akkor az gyökér lista első eleme magában foglal egy utasítás kódot, vagy pedig a listák egy fájának gyökere egy függvény definíciót tartalmaz, és az vezérlő eszköz (6) úgy van kialakítva, hogy az információt ki tudja venni az gyökér listából.
18. A 10-17 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a regiszterek logikailag szelet-szerüen vannak elrednezve a központi rekesz síkjaiban, ahol minden egyes sík legfeljebb egy regiszter rekeszt foglal magában az egyes regiszterekből, ahol minden egyes regiszter rekesz egy bitnyi információ tárolására képes, és ahol az egy síkon belül fekvő regiszter rekeszek egymással összekapcsolhatók.
19. Az 5-18 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a
242 kommunikációs hálózat úgy van kialakítva, hogy az ugyancsak átvigyen információt az objektum tárrekeszek (10) között vezérlő szerepet betöltő objektum tárrekeszből (10) a kommunikációs hálózat (6) által kiválasztott központi rekeszben (2) lévő regiszterekhez (ID, ENV , So,o-tól S3,3~ig, F0-F3), és a regiszterekbő1 a kommunikációs hálózat által kiválasztott objektum tárbeli rekeszek egyikéhez vagy többikéhez.
20. Az 5-19 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a kommunikációs hálózat (6) úgy van kialakítva, hogy az végrehajtson egy átviteli műveletet az központi rekeszekben lévő regiszterek és az objektum tárbeli rekeszek közül kiválasztott egy rekesz között, a regiszterek és a kérdéses objektum tárrekesz tartalmának megcserélése révén.
21. A 3-20 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a tárrekeszek (2, 10) közül egy vagy több úgy van kialakítva, hogy egy zárást tároljanak, amely rendelkezik a végrehajthatóság jelölésével, egy fastruktúrában elfoglalt pozíciójának meghatározásával, egy azonosítóval, egy környezet meghatározással, és egy értékekből álló fa meghatározásával, ahol az azonosító, környezet és minden egyes egyedi érték a zárás elemei.
22. A 8-21 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárásban tartalmazott értékek fája magában foglal levél-elemeket azaz vég-elemeket is, valamint összetett elemeket, ahol az összetett elemek magukban foglalnak egy állapotot és
243 egy értékekből álló listát.
23. A 8-22 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárásban tartalmazott végrehajthatóság! jelölés legalább két állapottal rendelkezik, amelyek közül az első állapot a nyugvó állapot a második állapot pedig a végrehajtási állapot .
24. A 8-23 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárásban tartalmazott pozíció jelölés legalább két állapottal rendelkezik, amelyek közül az első állapot a csomóponti pozíció, a második állapot pedig a gyökér pozíció.
25. A 8-24 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárásban lévő minden egyes elem egy toldalék szóból és egy numerikus szóból áll, ahol a numerikus szó több bitből áll, amelyek minegyike vagy igaz vagy hamis értékű.
26. A 12-25 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a toldalék szavak fel vannak osztva egy közvetlen osztályra és egy közvetett osztályra.
27. A 8-26 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy úgy van kialakítva, hogy használjon egy első kódolást egy egész értéket képviselő bináris szón, és egy második kódolást egy lebegőpontos ábrázolást képviselő bináris szón, és a kódolások olyanok, hogy a lebegőpontos ábrázolás ugyanolyan sói— rendű, mint az egész ábrázolás.
244
28. 8-27 igénypontok bármelyike szerinti redukciós proocesszor, azzal jellemezve, hogy egy egész szám az elemben történő tárolás céljából binárisan kódolt formában úgy van kialakítva, hogy a legkisebbtől a legnagyobb ábrázolható értékig terjedő öszszes érték ábrázolható egy számsorozatban, amelyben a zérus érték a számsorozat közepén helyezkedik el egy olyan bináris számként, amelynek legmagasabb helyiértékü bitje igaz értékű, a többi bit pedig bináris hamis értékű,
29. A 8-28 igénypontok bármelyike szerinti redukciós processzor , azzal jellemezve, hogy egy binárisan kódolt lebegőpontos érték-ábrázolás magában foglal egy előjelet, egy kitevő előjel és kód mezőt, egy kitevő mezőt és egy mantissza mezőt; ahol az kitevő előjel és kód mező tartalmaz egy jelzést az kitevő mező és mantissza mező közötti elválasztó pozícióra vonatkozóan, és ahol a kitevő és mantissza mezők változó hosszúságúak.
30. A 29. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a szavak, amelyek numerikus érték szavakat ábrázolnak, olyan kódolással rendelkeznek, amely a numerikus értékek tömör ábrázolását biztosítják, azaz egy érték minden kódolt ábrázolása egyetlen értelmezett értéknek felel meg.
31. A 8-30 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy a zárás jelöléseknek legalább egy része különböző állapotokban áll rendelkezésre, ahol is mindegyik állapot több bitből áll, amelyek egy bináris kódot képviselnek.
245
32. Az előző igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az magában foglal egy numerikus aritmetikai egységet az aritmetikai, logikai és ezekkel összefüggő utasítások végrehajtására numerikus értékű elemeken, magában foglalva az alábbiakat:
a) buszok egy halmazát magában foglaló beviteli eszközt, ahol minden egyes operatív buszt el kell látni egy listában lévő lista elemmel, a lista magában foglal a listában lévő szavakra vonatkozó utasítás információt,
b) feldolgozó eszközt, amelyhez a buszok halmaza hozzá van kapcsolva, és amely a listában lévő szavakon egy utasítást hajt végre, az utasítás információ fel használásával azáltal, hogy az szavakat az utasításnak megfelelően átírja, és
c) egy kiviteli eszközt, amely úgy van kialakítva, hogy az átírt eredményt meg tudja jeleníteni, buszok egy olyan halmazának a fel használásával, amely ugyanannyi számú és ugyanolyan elrendezésű buszokból áll, mint az beviteli célra szolgáló buszok halmaza.
33. A 32. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a listában legalább egy lista elem arra a célra van fenntartva, hogy az magában foglalja egy utasítás információ valamely ábrázolását, amely a buszok halmazának egyik elemén áll rendelkezésre; és a számítások céljára szolgáló numerikus érték ábrázolások úgy vannak kialakítva, hogy azok a buszok halmazának további elemein álljanak rendelkezésre; és a feldolgozó eszköz úgy
246 van kialakítva, hogy egy számítás végrehajtását a bementi listában szereplő numerikus érték ábrázolások átírásával hajtja végre.
34. A 33.igénypont szerinti redukciós processzor, azzal jellemezve, hogy több áramkör áll rendelkezésre, amelyek mindegyike a bemeneti buszokon rendelkezésre álló numerikus értékeken történő egy bizonyos művelet végrehajtására vannak kialakítva oly módon, hogy a műveletek eredményeit egymással párhuzamosan hozzák létre, és hogy az utasítás információval ellátott vezérlő meghajtó eszköz úgy van kialakítva, hogy a feldolgozott eredmény(eke)t az összes olyan feldolgozott eredmények közül válassza ki, amelyek alkalmasak a tényleges utasítás végrehajtásához.
35. A j e 1
1 i sta függvény kód, a akkor a
34. igénypont szerinti lemezve, hog úgy van kialakítva, alkalmazást, ahol többiek pedig a feldolgozó eszköz utasítás kódot átírja ami g a 1 j foglaljon egy egy utasítás argumentumok, redukciós processzor, azzal y abban az esetben, amikor az hogy az magában is az egyik elem függvényhez tartozó egy utasítást hajt végre azáltal, és a kimenetről visszatáplálja végül is ellem egy végső eredményt ez ve, hogy az úgy van kialakítva, hogy az a bemenetre mindaddig, kapunk; valamint a z z egyes átírásoknál az feldolgozó eszköz hogy a listát úgy írja át, hogy az magában foglaljon egy módosított utasítás kód szót, amennyiben ennek az adott számításnál értelme van, amelyet, értelem szerint érték szavak követnek.
35. Az előző igénypontok bármelyike szerinti redukciós pro247 • · » · ··· ··« ·♦ cesszor, azzal jellemezve, hogy elsőfokú processzorok egy halmaza egymással egy hálózat segítségével össze van kötve, az elsőfokú processzorok egy másodfokú redukciós processzort képviselnek.
37. Az előző igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az egyes elsőfokú processzorokban lévő tárrekeszek (10) közül egy vagy több egy zárás tárolására van kialakítva, amely a végrehajthatóság, egy fa struktúrán belüli pozíció, egy azonosító, egy környezet és értékek egy fájának a jelölése; ahol az azonosító, környezet és az egyes egyedi értékek mind részei a zárásnak; a zárásban szereplő minden elem egy toldalék szóból és egy numerikus szóból áll, a numerikus szó bitek halmazából áll, amelyek mindegyike vagy igaz vagy hamis értékű; a toldalék szavak pedig fel vannak osztva egy közvetlen és egy közvetett osztályra, a közvetett osztályú elem bitképe fel van osztva egy régió részre és egy cím részre.
38. A 37. igénypont szerinti redukciós processzor, azzal jellemezve, hogy több elsőfokú processzor (az FOPi,i-től FOPM,M-ig) egyesítve vannak egy négyzetes mezőben, amely egy másodfokú processzort képvisel; és azzal jellemezve, hogy a négyzetes mezőben lévő mindegyik elsőfokú processzor magában foglal egy csatornát (CAN) amely a négyzetes mezőben lévő többi szomszédos elsőfokú processzorhoz vezet (37A, 37C és 37D ábrák).
39. A 33. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a másodfokú redukciós pro248 • · ·· ···« cesszor viszont fel van osztva logikai régiókra (37C ábra), amelyek mindegyike egy 2n x 2n számú elsőfokú processzort tartalmaz, a logikai régiók egymás oldalai mellett állnak rendelkezésre egy szabályos minta szerint úgy, hogy lefedjék a másodfokú redukciós processzorok négyzetes mezejét.
40. A 39. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a másodfokú redukciós processzorban lévő elsőfokú redukciós processzorok egymással össze vannak kapcsolva úgy, hogy az másodfokú processzoron belüli egyes régiók egy fél régió mérettel minden irányban eltolhatók a régiók elhelyezkedésének belső újradefiniálása révén.
41. A 39. vagy 40. igénypont szerinti redukciós processzor, azzal jellemezve, hogy minden egyes régióban legalább egy, címmel ellátott, hivatkozható közvetett elem van tárolva, az elem csak azon tárrekeszekbő1 (10) hivatkozható, amelyek abban a régióban helyezkednek el, amelyhez maga az elem is tartozik.
42. A 37-41 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az elsőfokú processzorok közül több össze van kapcsolva hálózatok (NETi-től NETn-ig) egy hierarhiájába, ahol mindegyik hálózat egy busz.
43. A 37-42 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az elsőfokú processzorok közül több össze van kapcsolva hálózatok egy hierarhiájába, ahol mindegyik hálózat egy gyűrű (39. ábra).
249 • · · ·· · · · • · · · · ··· ··· ·♦ · • · · · *
44. A 37-43 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az elsőfokú processzorok közül több össze van kapcsolva hálózatok egy hierarhiájába, legalább két különböző típusú hálózat van biztosítva, az első típusú hálózat egy busz, a második típusú hálózat egy gyűrű, a harmadik típusú hálózat pedig egy négyzetes mező (40. ábra).
45. Az előző igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy magában foglal legalább egy kapu eszközt (port-ot), amely az aktív tároló eszközhöz van kötve, és legalább egy környezeti eszközt, amely a legalább egy kapu eszközhöz van kötve.
46, A 45. igénypont szerinti redukciós processzor, azzal jellemezve, hogy tartalmaz egy eszközt egy jelsorozat összehasonlítása céljára (34. és 35. ábrák), amely egy kapu eszközön van biztosítva egy sorozattal, amely legalább egy tárrekeszben (10) tárolva van, a tárolt sorozat rendelkezik egy esetleg definiálatlan sorozat elemmel ($) az aktív tároló eszközben; és tartalmaz egy eszközt (Cl), 3) a tárolt sorozat semmi -re , azaz ellentmondásokat ábrázoló valamivé történő átírása céljából, amennyiben az összehasonlítás egy tiszta eltérést ad; vagy pedig ellenkező esetben a tárolt sorozatnak egy meghatározott sorozattá történő átírása céljából, amely a jelsorozat és a tárolt sorozat egyesítése .
47. A 46. igénypont szerinti redukciós processzor, azzal jellemezve, hogy az összehasonlító eszköz összehasonlításokat végez egy meghatározott számú lista ele2 50 • · · · • · · mekből álló csoporton.
48. A 46. vagy 47. igénypont szerinti redukciós processzor, azzal jellemezve, hogy magában foglal egy eszközt (3, during; 7, 8, 9) a jelsorozatnak egy mintavételezett, időben változó és egyedi mintavételezési periódusokkal rendelkező jelként történő biztosítása céljából (34. ábra); a jelsorozat elemek csoportjainak listájából áll, ahol minden egyes csoport magában foglal egy időtartamot és legalább egy jelmennyiséget ezen időtartam alatt.
49. A 48. igénypont szerinti redukciós processzor, azzal jellemezve, hogy az egyes csoportokban a lista elemek meghatározott száma kettő, amelyek egy párként állnak rendelkezésre, ahol minden egyes pár magában foglalja az idő és jelmennyiség egy kombinációját.
50. A 45-49 igénypontok bármelyike szerinti redukciós processzor, azzal jellemezve, hogy az objektum tárbeli tárrekeszek (10) egy struktúrában állnak rendel kezére az aktív tárol óban úgy kialakítva, hogy egy explicit vagy implicit módon kódolt absztrakt szintakszis formájában meghatározott számítógép programot tároljon, ahol a szintakszis - kifejezések segítségével - számos különböző absztrakt objektumot ír le; mindegyik objektum tárbeli tárrekesz (10) eszköz képes az egyik szintaktikus kifejezés legalább egy részének a tárolására az időben, egy megfelelő adat és/vagy program struktúra Formájában.
51. A 44. igénypont szer inti redukciós processzor, azzal jelle ni ezve, hogy egymáshoz kapcsolt, földrajzilag elválasztott másodfokú redukciós processzorok
25 1 (GSOP-k) egy harmadfokú redukciós processzort alkotnak.
52. Az 51. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a másodfokú redukciós processzorok (SOP-k) vonatkozásában egy régiók révén korlátozott mértékű asszociatív címzés van alkalmazva, a harmadfokú processzorok esetében pedig fizikai címzés van alkalmazva.
53. Az 52. igénypont szerinti redukciós processzor, azzal jellemezve, hogy egy harmadfokú redukciós processzorban lévő minden egyes földrajzilag elválasztott másodfokú redukciós processzor (GSOP) magában foglal egy eszközt a fiútól eltérő további GSOP-kben tárolt apák nyomonkövetése céljára.
54. Az 53. igénypont szerinti redukciós processzor, azzal jellemezve, hogy a nem-lokális apák nyomonkövetésére szolgáló eszköz magában foglal egy adat struktúrát a lokális objektum tárban; az adat struktúra magában foglal egy listát minden egyes olyan fiúra vonatkozóan, amely rendelkezik nem-lokális apákkal; a lista magában foglalja a kérdéses fiúhoz tartozó nemlokális apák címeit; a cím magában foglal egy részt, amely azonosítja azt a másodfokú processzort (GSOP-t), amelyben a nem-lokális apa tárolva van.
ü—-2- danubia , '
Szabadalmi és Védjegy Iroda Kit
27. 'M
252 —W€>92/02«76--közzétételi
PÉLDÁNY
1/37 ·: PjCT/SE91/00516
Szabadalmi és Iroda Kft. 27.
Sl^STITUTE SHEET <:· RCT/SE91/00516
WO 92/0287^
KÖZZÉTÉTELI
PÉLDÁNY '
2/37 r'‘-tő c~ j''Cy Kcc!s Kft.
z-Z*
SUBSTiTUTE SHEET
KÖZZÉTÉTELI
PÉLDÁNY '
PCF/SE91/00516 'V-g s OOX9 <.
WHERE
IDENTIFIER
ΤΥΡΕ3/37
ENVIRONMENT \ VALUE/DES VALUE/DES VALUE/DES VALUE/DES
)11s____11I1--->C-----Λ------/X-------Y--------Λ--x2 1 3838cn38383838
-Vv3 '-------V------''--id env
---/s------„-------v0V1v2
FIG.4A
REGISTER CELLSx
g) register
FIG.4B
CLOS./SIMPLE
77-----/LAZYWHEREΤΥΡΕHEADNUM )
FULL REGISTER
FIG.4C / .._Z
HEAD
NUM γ ./
UMITED REGISTER FIG 4D
IDENTIFIER
REGISTER ENVIRONMENT
REGISTER
SUBSIOIARY REGISTERS ’i
FIG. 4E
AUXILIARY
REGISTERS
I
I
I1 MAIN REGISTERS
V.r.BASE REGISTERS (BASE REGISTER MÁTRIX) _ DANUBIA
Szabadalmi és Védjegy Iroda Kft.
í ; '
SUBSTITUTE SHEET p;
KÖZZÉTÉTELI
PÉLDÁNY
-Α¥Ο$2/0287Τ
PCT/SE91/00516
4/37
SIMPLE VALUE OR MACHINE IDENTIFIER
_«icd-d-d-125
_«IC|o-ddddΓΈ123 +
—-^r GOAL<SlT
FIG.5A
FIG.5B
TWO LEVEL STRUCTURE
FIG.5D
QNE LEVEl STRUCTURE
THREE LEVEL STRUCTURE
FIG.5E
FIG.5C
FIG.5F
SUBSTITUTE SHEET
KÖZZÉTÉTELI
PÉLDÁNY
5/37
PtT/SE91/00516 /---unity ( pár (1ld1ld4 pár (1)ld3
?)
exec0clsld1uni!yCQ nonld2CQ“ non,d4unuseduny séd—----idle0col nonid2por-n1CQ nonid3323umr séd--------—'idle0CQ nonld3pár,s1unir sédunusedunu* sed—------idle0Cd“ non,d4páru. w ja1CO non312űfitr séd
FIG. 6B
TO S ERŐM OBJECI
ERŐM OSJECT
STORAGE STORAGE unit y
FIG.6D
FIG.6C *Γ' ·\
Szabadalmi is ’' ' .:pcy l. ccla Kft ry·?
“WO-92/0287í
C.űZZÉTÉTELI
FZLDÁNYx
6/37 :··. ’··: X PCJ7SE91/00516
TO AND FROM OBJECT STORAGE
TO OBJECT
STORAGE
FIG.6E
FIG.6F
WQÍtcls,d1porclsld2clsd4clsld5unir séd.--—- /execclsid^discr11inuseaunu; séd-CO nonid3por.51υησ sédunusédUDÚ séd
execcls,d4unifycononid3CQ nonld3unusedunusedexec-cls,d51discr2discr3unuseaunu· séd
FIG.6G idj id2 par( unify (1 _
por (1)) unify( 2 3 )),d4 _
pár (1 )
FIG.6H
SUBST1TUTE SHEET y
KÖZZÉTÉTELI
PÉLDÁNY
PCT/SE91/00516,dJ
7/37 χ
ex type(1 tist (2 3 líst(4 5 6) ) 7)
-id^
FIG. 7A
execds,d1fjpeTD1□perj id?discr7unu sédopenid2lístdiscr2discr3openld4unir séduadori4üst“O4discr5discr6unir séd
FIG.7B
FIG.7C FIG.7D
10 S FROM OBJECT SIORAGE
FIG.7E FIG.7F FIG.7G
Il· JPCT/SE91/00516
KÖZZÉTÉTELI
PÉLDÁNY 'TV0-92ZO2876f 33 οοηί
8/37ld1 ^2 /--------A-------s apply (+ hst (1 2))
FIG. 8A
execCQ” non,d1-instr.open^2UHU’ sédunu* séd-------—------openld2pstdiscr1Ö cn ±32uny séd
FIG.8B
FROM OBJECT TO AND FROM OBJECT
STORAGE STORAGE
FIG.8C FIG.8D
FIG.8E FIG.8F
FIG.8G
SUBSTITUTE
Irccía Kft.
.PCT/SE91/00516
Α¥θ^2/ϋ2876~~ f ' 00 Π Γ
LÓZZÉTÉTELI
PÉLDÁNY
9/37
SUBSTITUTE SHE5JL
DANUBIA adalml és Védjegy Iroda Kft.
LDZZETETELI
PÉLDÁNYx .’··)? CÍ/SE91/00516
Db N
H NU S Da
FIG.10
GENERIC REGISTER CELL (NUM 1HEAD PLANES)
KÖZZÉTÉTELI
PÉLDÁNYx • KPÓ/SE91/00516
WO-9270287S
11/37
TRANSMITTER
RECEIVER
SUBSTJTUTE SHEET
-:y Ircda Kft
-αιη η/ΛΉΠίPMooW
KÖZZÉTÉTELI PÉLDÁNY • «4 44 *··· • « 4 · · <’* PCT/SF.91/00516
12/37
ΠΛΝΙ!?'>\
SUBSTITUTE SHEE5^”'!TÍK
• · · · · b «···• * · « * · ·• · «« · «· · · ·-WQ52ZlU87áKÖZZÉTÉTELI Pcr/swi/OTSiíPÉLDÁNY
13/37
I-o·d env1vO \1/1|v2 v3a a1— .tpϋ=χΥ’VYι=γ;p\\\\V.4Pp\\\\wPOPJP\\\Y t> -P?(=$£==-S—í-23
INITIALIZATION BY mpx.mv
FIG.13 id v2
-oPQ1IIMjvY' Pzp\\\\KI4uiPypX\ΓΚP;~PPy^v?PSW. /ΔV\\\\h(MP~P1Γ~Ρ-u IP-1-2-P1—P?
SUPPLYING THElS20IDENTIFIER
FIG.14 vO v1 v2 v3
REGISTER COLUMN
FIG.15 id env vO v1 v2 v3
SUPPLYING THE unify-id IDENTIFIER
FIG.16
Szabadalmi és jőajeey Iroda Kft.
SUBSTITUTE SHEET
92/02876—
KÖZZÉTÉTELI ' PÉLDÁNY
PCT/SE91/00516
14/37
FIG.17A ((map f eDímap f e2) (map f e3) (map f e4))
FIG. 17B ((f e1)(f e2)(f e3) (map f e4))
FIG.17C (f el) RELOAOEO
FIG. 17D
SUBSTITUTE SHEET
Szebaá J.-n) ós' < jogy fala Kft
27.
99 · ' WO 92/02o7o φ 03 004^Γ
Γ, 3ZZÉTÉTELI
PÉLDÁNY'·' •PCT7SE91/00516
15/37 (—Oi 04 r~ot 04
TRANSPOSE
FIG.18 fi.
fi.
fi.
g g
vf—S
-O-----X -Q----4-0 t ΓEXPAND.list
FIG.19
Szabadéiul?·> ’<ς -fi, p___y ' .
SUBSTITUTE SHEET ' • w »·-*· * * • · * • ·· ♦ » » « «·· ♦· • 9 V ··» ·· ·
PCT/SE91/00516
KÖZZÉTÉTELI
PÉLDÁNY '
16/37
5h h!
vr I--'\>h--I prech-oh--1 AMP
10 EXIERNAh^ ! 3^ CIRCUITS
VjC^r prechíO-j
I
Ivr-c4 prech -Oj write—D-T
I
I
I
I
I
I ι ι
VbiQS ·—O-t
I
I
K»'
Szabadalmi
PANf ós’-^pgy Iroda Kft.
27.
u - 3 SUPSTiTUTE SHEETc WO 92/023?^
95 ocnr
KÖZZÉTÉTELI
PÉLDÁNY • * ·« · · ·· • 9 * ··· ·· ·
PCT/SE91/00516
17/37
FIG. 21A req2 grant 2 reqO grant 0 req1 grant 1Tr4.0 req 3 grant 3
4-BLOCK és y.v JJCyirc daKfL __' z,.
SUBSTITUTÉ SHEET '
KÖZZÉTÉTELI
PÉLDÁNY
18/37 ^WOW/028%~
V g^oGÁ V· . PCT/SE91/0®516 • ........ ·
Q_
I
ELEMENT HEA016 FIG. 22
SUBSTJTUTE SHZZT y ír
-a Kft.
PCT/ÍÍE91ZOO516
KÖZZÉTÉTELI
PÉLDÁNYx
19/37
Ρ<376Ε9ί<0β516 <4*092/02875
KÖZZÉTÉTEL PÉLDÁNY
20/37
10 01HER
FIG.24A
FIG.24B
z UDcn.*cnu iCOOEem1
FIG. 25
SUBSTITUTE SHEETo , DANIJ3IA
Szabadalmi és Védjegy iroda Kft.
PCT,'SE9ÍZ00516
KÖZZÉTÉTELI
PÉLDÁNY
WO 92/02876—
V ύβοο ni
KÖZZÉTÉTELI
PÉLDÁNY
22/37
PCTZSÉ2M7Ö0516 ^WO-SŰZ028Űk f 95oo«
I5UBSTITUTE
Kft.
. . ·; :..PCr/SE9I7p0516
I- OZZETETELI ··· *··’. ··* ···* ··’
PÉLDÁNYx
23/37 •^WO 92702876
P 03 oo M
CM o
LL •'Ü’COCN’ÍOCNOO'O^OOCN’TOCNCOO p cn <o «η co in cn cm cn no m· n cn γη m i i -= οηιηηΝΗΗ i i i i i I i > «η i i i i i ι ι
in in in nininincNinininininininl η ·ηι ιr-CNΓ-r-CNΓ-CNCN• m ·CNΟΟuof-4ΓΟ«—<m ι ocn1CNrH1r41 111rH11f—<1rH I11
ctcn incN incNincNincNincNincNincNtn = I . ι · ι · I · I ·Ι «I · l · t-Hr-íi—l·—Ιγ-ΙγΗΗτ—I III I I I I I ^OHOHOHOHOHOHOHOH •pOOOOOOOOOOOOOOOOEoooooooooooooooo
CNininininininincNinininininininl r-r-cN «γ-cncn ιΓ-r-CNΓ-CNCN00 · CD r—t Ο · rHΟΟωΓ-<ΟΟ«—<• i—l · | ·»—< ·f—<1·—l 1 i—< r—4 | «—<rH1ι-HrH1Ilii1111
Ο Ή O »“IOHOHOHOHOHOH OOHHOOHHOOHHOOHH O OOOHHr-IrHOOOOr-<«—I»—< r—I gPO HOHOHOHOHOHOHO
OHcNco’íinot-OHcNcoN'inörHHOOHHOOHHOOHHOO Ο ΟΟΟΗγΗΗγΗΟΟΟΟΗΗΗΗ <vOOOOHHHHHHHHOOOO
HHHHOOOOOOOOOOOO ^OOHHOOHHOOHHOOHH ωΟΟΟΟΗΗΗΗΟΟΟΟΗΗΗΗ OOOOOOOOHHHHHHHH «—<»—1 <—IHHHHHOOOOOOOO oooooooooooooooo oooooooooooooooo oooooooooooooooo
O OOOOOOOHrH r—< HHHHH OOOOOOOOOOOOOOOO oooooooooooooooo ^oooooooooooooooo <z>· o
ooooooooooooooo l_LC2>
θ' Q_ LxJ CtT <—> l_l_l cz>
ΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛ I I I I I I I I I I I I I I I I *x>r^cocno»-»cNcnsMnKOrOOo>OrH »—l<—<»—ii—(CNCNCNCNCNCNCNCNCNCNOO
OHOHOHOHOHOHOHOH OOHHOOHHOOHHOOHH οοοοηηηηοοοοηηηη Ο Ο ΟΟΟΟΟΟΉγ-Η t—l t—i I—I r—( rH r-1 r—< r—I Hr-(»—(«—< r—l «—l >—l «—( r—I r~I r—I r—< <—< rH oooooooooooooooo oooooooooooooooo
ΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛ I I I I I I I I I I I I I I I I
QíOr-fcNrwinKűr'COcnO’-icNcn'tfLn -y r—I r—< «—I r—I <—< <—I □D
-OHOHOHOHOHOHOHOH ^OOHHOOHHOOHHOOHH lu OOOOHr-IH r-IOOOOHHHH OOOOOOOOHHHHHHHH ^OOOOOOOOOOOOOOOO $ OOOOOOOOOOOOOOOO ÖD OOOOOOOOOOOOOOOO
SUBSTITUTE SHEET
X
KÖZZÉTÉTELI
PÉLDÁNY
RGT/SE9L/005I6 • · · · · ·
24/37
0Q rCsI
U ll_
(τΗΐηιηιηιηιηιηιηιηιηιηιηιηιηιηιηinininininininininoomcomcDCNM·i r-cn r- r-cn cn ·r- r* cn r- p' cn cnCNr-CNr^CNr-CNr^CNOOCNCOCNCDrHOOoncoH• COlOlD 100 ró CD Γ0 cn rH rH•OOrHC9lOOOrHCQl£)rHrHCDCDCD<*)^>CD · 001 CD · LDcd ·©· o · ’drn col «-Η · cd O cd <o in r-co in o cn in cd• 1 ·• 1 ·•'d* i cn «cn•ΙΟ · Μ· O rn .η rH r-oo cn cd Ch’d*1 11 1• 1 · · 1 ·1 ’OO · CNO rH O in cn CN rH rHIliiO 1 ·ΟΟ «ΟΟΟΟΟΟΟ
I Ο I ·Ο · OOOOO I O I o o.....
I IIooooo I I I I I
Júcn tninininininincNininininininincNincNincNincNincNincNincNincNin g I C*-Γ-CN · Γ' CN CN | Γ C'- CN •C'-CNCN I · I · I · I · I · I · I · I·
00 · CD rH m · rH 00 · KO rH Π » rH rH rH rH rH rH rH r-Hr-H .rH . | .r-l · .rH . | .rH . | | | | | | ||
H | rH r—1 | rH rH | rH rH | rH
I I I II III
OrHOHOrHOrHOrHOrHOrHOrH OOOOOOOOOOOOOOOÖ oooooooooooooooo
OrHO’-IOrHOrHOrHOrHOrHOrH f-O OHHOOHHOOHrHOOHHe OOOOHHHHOOOOHHHH 'N
OrHCNCQ’d'incDr-OrHcNm’d'incor·
OrHOHOrHOrHOrHOrHOrHOrH oooooooooooooooo oooooooooooooooo oooooooooooooooo oooooooooooooooo
OOOOOOOOOOOOOOOO ^oooooooooooooooo oooooooooooooooo oooooooooooooooo
OOrlHOOHHOOHHOOHH OOOOr-IrHrHrHOOOOrHrHrHrH Ο Ο Ο Ο Ο Ο Ο Ο rH rH rH rH rH rH rH rH rxO ΟΟΟΟΟΟΟΗΗΗΗΗΗΗΗ ooooooooooooooooo oooooooooooooooo 'rH rHrHrHrHrHrHrHCNCNCNCNCNCNCNCNrnm^sJ'ininiDlDr-r-OOCOCDCDOO -s I l I I l l I I I I I I I I I I I I I I I I I I I I I I I I rH rH I I
OOrHrHCNCNcnn^’íininiDiűt^rOJ O OOOOOOOrHrHrHrHrHrHrHrH rHrHrHrlrHrHrHrHrHr—IrHrHrHrHrHrH
0.¼ *
HHHrHiHrlrlrlrlrHtHrHrHrHHfH
OOOOOOOOOOOOOOO <_Γθ OOOOOOOOOOOOOOO
Γοοοοοοοοοοο OOOOOOOOOOOOOOOO OOOOO c/ΉΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗΗγΗ
-^OOOOOOOOOOOOOOOO f~\ /-x I I I I I I I I I I I I I I I I $ cn m m cd oo cd o »-h cn m sí· in cd r^ LxJ — cn cn
OOOOOOOOOOOOOOOO
Λ Λ Λ Λ Λ Λ Λ Λ Λ A Λ Λ Λ Λ Λ A I I I I I I I I I I I I I I f I
COCDOrHCNCO^LniDr-COCDOrHCsjm sr^jininininininininininioiDioiD
Λθ rH O rHO HO HO HO Η O 1—IO r-H 02 OOrHrHOOrHrHOOrHrHOOrHrH OOOOrHrHrHrHOOOOrHr-IrHrH cfaz OOOOOOOOHHHHHHHH íjgz OOOOOOOOOOOOOOOO <1 r—frHrHrHrHrHrHrHrHrH rH rH rH rH rH rH g!OOOOOOOOOOOOOOOO
OrHOrHOrHOrHOrHOrHOrHOrH OOrHrHOOrHrHOOrHr—(CSOrHrH OOOOrHrHrHrHOOOOrHrHrHrH OOOOOOOOrHrHrHrH rH rH rH rH rHrHrHrHrHrHrHrHrHOrHrHrHrHrHrH rHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrH OOOOOOOOOOOOOOOO
SUBSTITUTE SrtEET
KÖZZÉTÉTELI
PÉLDÁNY
LJ
ΓCsl o
Ll_ ^WCF927ÜÍ876 · ;·-.^^91/.00516
O’d-cNChincoincoininininLnininin 00«-llOCNmCNC0CNrCNr'-CXir''CNr cn vo cn r-ι «η kd cn «η oo vű cn h co co in cn o in co r» lo sr cn φ o cd -ή menően cos ηηπ ο·ο · rd r-4 CN cn in Ο Ή O CN -OO · ooooooo -oo · o ooooo · -o · o .....oo o ooooo inininininininininininminininin cNCNCNr^r*cNC^r. «η t-ι cn cn vo cn co oo cn · o vo cn · cn m· · • cn cn r· vo vo oo in · vo
- CN> Γ • rHCO cn oo · σ>
• · rd r-I «—< «—< l «—< r—< «—<
r-iinininininininr-iininininininin cncnr* «cNr-r- cncnc^ «cNt^r«—i · cn rd vo »co ή ·cn»-i vo ·co • r-1 · · rd · · t—| · · rd · mOhohohohohohohoh cP OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO
OHOHOHOHOHOHOHOH OOHHOOHHOOHHOOHH Ο Ο Ο Ο Ή 4«~4 r-< Ο Ο Ο Ο <d »-< ·“4 rH
E^O HOHOHOHOH pOOOOOOOOOOOOOOOO -□OOOOOOOOOOOOOOOO ^OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO fOOHHOOHHOOHHOOHHüOOOOHHHHOOOOHHHd OOOOOOOOHHHHHHHH .rrOOcncncocor'r-vDvűLOin^'vfcncn ° r-<«-< I I I I I I I I I I I I I I
I I
OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO
OOOOOOOOdrHrHrHHHHH OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO
CN CN CN CN CN CN CN CN rd r-< r-4 rd rd rd r-l r-4 I I I I I I í I I I I I I I I I <_>
OOHHHrdHHrlHHrl «—I <—< r—1«—(«—I r-1 zx oO
OOOOOOOOOOOOO oo
OOOOOOOOOOOOOOOO ojOOOOOOOOOOOOOOOO
ΙΛ
OOOOOOOOOOOOOOOO H r-I r—I «—Id dr·I dr-I rd r—I rd rd rd rd rd
25 Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ Λ A £jl I I I I I I I I I I I I I I I <· mvor-oochO'-tcNm^'invorOOcn (_5_\£)«£)νθνΟνΟνΟΓ^Γ^-Γ^Γ^Γ^Γ^Γ'Γ^[^-Γ^
CDOD
ΛΛΛΛΛΛΛΛΛΑΛΛΛΛΛΛ I I I I I I l I I I I I I I I I
OtdcNcn^invor-oocnOf-icNcn^Tin cooooooooooooooooooocncncncncDCD
-ΟΗΟΗΟΗΟΗΟΗΟΗΟΗΟΗ gJOOHHOOHHOOHHOOHH LdOOOOHHHHOOOOHHHH Sr^OOOOO ΟΟ Ο Η ΗΗΗΗΗΗΗ ^^OOOOOOOOOOOOOOOO □<000000000ooooooo
OdOdOdOdOdOdOdOd OOddOOddOOddOOdd OOOOddddOOOOdddd OOOOOOOOrd r-1 rd rd iH rd rd rd <—I i—II rd t—I rdrd rd d rd rd rd d rd rd rd OOOOOOOOOOOOOOOO ‘rd rd rH r-l rd d d d d r-I rd r—I r-4 rd rd rd
DAf’lJSIA
Szabadalmi is' '?jegy &oda Kft « · · 4 ·
<-WO-93X02«76-: :··.ΡΓΓΖδΕ91700516• · · 4 · 4 · «· ·«i3KÖZZÉTLPÉLDA?'26/37
Q Γ04
Ο
U_ «-iininininininincMinininninin
CM CM Γ· •ίΝΓ'-Γ r—< · cn r-I <0 · CO
CM · Γ• CM · CM CM
CM · • cn co tnM,4)OOCMU)'4,CMC0^1,KOCOCM'£>*4*CMCO Γ HHíNO MOthCMíMnCOHO . rH rH CM CO ID ΓCO
-c3rHinininininininrHininLnininininrHinrHLnrHLnrHin«-(in»-Hin«-(LnrHine CM CM Ο ·ίΝΡ> CXlCMt'·' · CM C* ........
rH · m«—< <ű «00 rH · CO rH <D » CO rHrHrHrHrHrHr-HrH r\O ΗΟΗΟΗΗΗΟΗΟΗΟΗΟΗΟΗΟΗΟΉΟΗΟΗΟΗΟΗΟΗ POOHHOOHHOOHHOOHHOOOOOOOOOOOOOOOOe OOOOHHHHOOOOHHHHOOOOOOOOOOOOOOOO e OHCMOM'UlOrO’HtMrQM'UlOtOHOHOHOHOHOHOHOH OOOOOOOHrHrHHHHrIHOOHHOOHHOOHHOOHH cOOOOOOOOOOOOOOOOHHHHOOOOHHHHOOOOω OOOOOOOOOOOOOOOOOOOOHHHHHHHHOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOHHHH ^OOOOOOOOHHHHHHHHOOHHOOHHOOHHOOHH O> OOOOOOOOOOOOOOOOOOOOrHrHrHrHOOOOrHrHrHrH OOOOOOOOOOOOOOOOOOOOOOOOHHHHHHHH ^r\ ω OOOOOOOOHHH HHHHHCNClCOCOM'M'LnG?OOOCiOOOOHHHHHHHHOOHHMCNmfr)M'M'inin^O> Γ-g OOOOOOOOOOOOOOOOHHHHrH ΗΗΗΗΗΗΗΗΗΗΗ OOOOOOOOOOOOOOOHHHHHHHHHHHHHHHH S rHrHrHrHrHrHrHrHrHrHrHrHrHrirHrHrHrHrHrHrHrlrHrHrHrHrHrHrHrHrHrH </>
rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH
OrHOrHOrHOrHOrHOrHOrHOrHOrHOrHOrHOrHOrHOrHOrHOrH OOrHrHOOrHrHOOrHrHOOrHrHOOrHrHOOrHrHOOrHrHOOrHrH OOOOrHrHrHrHOOOOrHrHrHrHOOOOrHrHrHrHOOOOrHrHrHrH OOOOOOOOrHrHrHrHrHrHrHrHOOOOOOOOrHrHrHrHrHrHrHrH OOOOOOOOOOOOOOOOrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrH rHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrHrH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH rH I—I rH
SUBST1TUTE SHEET Szabadalmi ó'á ’ tv a ;'λ kx • · · · · · „ WO 92/02876—
KÖZZÉTÉTELI
PÉLDÁNY ‘P^t/^E9VOO516
27/37 —x f
o r^jJL
CD f*sl &
£ rxi t__
CD
CD
E <— l_> CL
ΙΓ1 tle □ E' — CD CQ
CX Ol o.
' >» <^Ir<_> _ -J---1 ~Jm n/'MIISI-X vzabaddmj is ·. ' \,2Z.
SUBSTITUTE SHEET :» '.PJCT7SE9Í/00516 • · · « · · .—wo 92/02876
Τ’ 2)2 oevK
KÖZZÉTETT’ ’ .♦
PÉLDÁNY;
28/37
CUOCKING OF INPUT/OUTPUT BUFFER 20
THE FIRST 0 PHASE OF CLOCK PERIOO OF AN INSTRUCTION
Νυθ NU|Nl^ Nu
1
CLOCK
X—
L^INPUT from external source OUTPUT BUFFERS OFF 'bouT*-
-'ήουτ**— —20UT-*ΛουΤ^Ί
INPUT BUFERSONv0iv1iv2iv3i
U INTERNÁL DATAPATH
IN ALU *>
FIG.29A
-i-------1
PROPAGATIONTRANSITION ΤΟ NEXT STATE
THE 1 PHASE OF CLOCK PERIOO
Nu0Nu, Nu
2 Nu^ STABLE OUTPUT FROM ALU
4 4/ ^OUTPUT BUFFERS ON
CLOCK
I I
Vn· Vi
Ol 1 'bouT y
10UT ’V20UT -v
30UT
INPUT BUFFERS OFF
INTERNÁL DATAPATH
IN ALU
FIG.29B
STABll MULTIPLEXER
CONTROL SIGNALS
D*
StóbaáilmUsoy'
SUBSTITUTE SHC-t
99 · · »
WO 92/02S7S~~^
7 9ϋθ0«<
KÖZZÉTÉTELI
PÉLDÁNY
29/37 «4· «· ·
PCT>SE9t7oO516
THE REST OF 0 PHASES OF CLOCK PERIODS OFAN MULTIPLE CYCLE INSTRUCTION
CLOCK
Λ7ΖΣ7ΖΖΖ
LAST OUTPUT REMEMBERED* BY CAPACITANCES
OUTPUT BUFFERS OFF
\)OUT*~
-VjQUT-fo—2OU?*~
30υΓ*Ί
INPUT BUFFERSONvOiv1iv2iv3i
INTERNÁL DATAPATH
IN ALU >
♦·
FIG. 29C —/-------1
PROPAGATIONTRANSITION ΤΟ NEXT STATE
SUBSTITUTE SHZET ^¥^92/02876
PÉLDÁNY
PCT/SE91/00516
30 /37
Ö b
S
F1G.30
PCT/SE91/00516
KÖZZÉTÉTELI
PÉLDÁNY
31/37 THE ADOER GRP UNIT
-1710 ADD1 SUBTR
FUll WORO ADOER
FIG.31A
MANTISSA CARRY OUT BÚS
TRISTATE GATE
C53 |s70 SUM ιΛ .· ή OUTPUT
LmsetBUS
XOR '81 i
RIPPLE
CARRY
Cin.ik*
PRECISION SlICE i
FIG.31B
SUMjk t
XORr A 86, 83,coutjk Xj&g
Prout.ik ~[&p—r __Λ5 tat-.k -21*£ a---88- & η TÉEfl
BIT SLICE ikQjkb,k
FIG.31C
P *rinJk
Gjn.ik*
82 A
V
PCT/SE91/00516
ZWCF927ö287r
KÖZZÉ!!
PÉLDÁN
32/37
SIGNAL
5UBSTITUTE SHEET
KOZZETETEIJ
P PÉLDÁNY
33/37 ;; f%T/SE91/00516
CONTROL
RÉSÉT OUTPUT IN/OUT
FIG.35
- / ’ ' i
SUBSTITUTE SHEET
PCT/SE91/00516
KÖZZÉTÉTELI
PÉLDÁNY ^¥092/02876
34/37
FIG. 36
Φ-Φ-J¢-Λ f>¢-Ψ-< J¢-Ψ-Φ-JEhocl·cl·>cl·
WO 92/02876—1
Tösoonr
KÖZZÉTÉTELI ·: C: <:«7/SE»l/00516
PÉLDÁNY
FIG. 37 D
X | /%r|-* fΕ=3-Γ--! /1 C=3IPdefwww2L7^
FIG.37E
FIG.38
-W<mZ02«76KÖZZÉTÉTELI .:· rcr/sm/oosit
PÉLDÁNY
36/37
FIG.42A
SUBSTITUTE SHEET <PCI7SE91/00516 <Ίνα?2Ζΰ287^
V ooni
KÖZZÉTÉTELI
PÉLDÁNY
37/37
Cg:
FIG.42C
HU93175A1990-08-021991-08-01Reducing processorHUT63505A (en)

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
SE9002558ASE9002558D0 (sv)1990-08-021990-08-02Processor

Publications (2)

Publication NumberPublication Date
HU9300175D0 HU9300175D0 (en)1993-04-28
HUT63505Atrue HUT63505A (en)1993-08-30

Family

ID=20380081

Family Applications (3)

Application NumberTitlePriority DateFiling Date
HU9204177AHU9204177D0 (en)1990-08-021991-08-01Active storage device in reducing processor
HU93263AHUT63710A (en)1990-08-021991-08-01Cell for storing bit
HU93175AHUT63505A (en)1990-08-021991-08-01Reducing processor

Family Applications Before (2)

Application NumberTitlePriority DateFiling Date
HU9204177AHU9204177D0 (en)1990-08-021991-08-01Active storage device in reducing processor
HU93263AHUT63710A (en)1990-08-021991-08-01Cell for storing bit

Country Status (23)

CountryLink
US (6)US5379387A (hu)
EP (6)EP0541683B1 (hu)
JP (6)JPH05508730A (hu)
KR (1)KR930701818A (hu)
CN (6)CN1030018C (hu)
AT (5)ATE118640T1 (hu)
AU (6)AU8331691A (hu)
BG (3)BG97381A (hu)
CA (6)CA2087023A1 (hu)
DE (5)DE69106369D1 (hu)
ES (3)ES2051129T3 (hu)
FI (3)FI930433A0 (hu)
HU (3)HU9204177D0 (hu)
IL (6)IL99053A0 (hu)
LT (6)LTIP384A (hu)
NO (3)NO930301L (hu)
NZ (3)NZ239239A (hu)
RO (1)RO109487B1 (hu)
SE (1)SE9002558D0 (hu)
SK (2)SK402592A3 (hu)
TW (5)TW215960B (hu)
WO (6)WO1992002876A1 (hu)
ZA (6)ZA916121B (hu)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO1993024888A1 (en)*1992-05-221993-12-09Massachusetts Institute Of TechnologyResponse resolver for associative memories and parallel processors
JP3376604B2 (ja)*1992-07-202003-02-10カシオ計算機株式会社情報管理装置
IT1270230B (it)1994-06-161997-04-29Enichem SintesiComposizione catalitica e processo per l'alchilazione di composti aromatici
US5619711A (en)*1994-06-291997-04-08Motorola, Inc.Method and data processing system for arbitrary precision on numbers
GB2293468B (en)*1994-09-211999-09-29Sony Uk LtdData processing systems
JP3037089B2 (ja)*1994-12-142000-04-24川崎製鉄株式会社連想メモリ
FR2736737B1 (fr)*1995-07-121997-08-14Alcatel NvDispositif de gestion de relations entre des objets
US5943242A (en)*1995-11-171999-08-24Pact GmbhDynamically reconfigurable data processing system
US7266725B2 (en)2001-09-032007-09-04Pact Xpp Technologies AgMethod for debugging reconfigurable architectures
US6750107B1 (en)1996-01-312004-06-15Micron Technology, Inc.Method and apparatus for isolating a SRAM cell
US6103579A (en)1996-01-312000-08-15Micron Technology, Inc.Method of isolating a SRAM cell
US5964825A (en)*1996-02-091999-10-12Texas Instruments IncorporatedManipulation of boolean values and conditional operation in a microprocessor
US5706224A (en)*1996-10-101998-01-06Quality Semiconductor, Inc.Content addressable memory and random access memory partition circuit
DE19651075A1 (de)1996-12-091998-06-10Pact Inf Tech GmbhEinheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de)1996-12-201998-07-02Pact Inf Tech GmbhI0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654593A1 (de)1996-12-201998-07-02Pact Inf Tech GmbhUmkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
US6338106B1 (en)1996-12-202002-01-08Pact GmbhI/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
DE19654846A1 (de)*1996-12-271998-07-09Pact Inf Tech GmbhVerfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
ATE243390T1 (de)1996-12-272003-07-15Pact Inf Tech GmbhVerfahren zum selbständigen dynamischen umladen von datenflussprozessoren (dfps) sowie bausteinen mit zwei- oder mehrdimensionalen programmierbaren zellstrukturen (fpgas, dpgas, o.dgl.)
US6374346B1 (en)1997-01-242002-04-16Texas Instruments IncorporatedProcessor with conditional execution of every instruction
DE19704044A1 (de)*1997-02-041998-08-13Pact Inf Tech GmbhVerfahren zur automatischen Adressgenerierung von Bausteinen innerhalb Clustern aus einer Vielzahl dieser Bausteine
US6542998B1 (en)1997-02-082003-04-01Pact GmbhMethod of self-synchronization of configurable elements of a programmable module
DE19704728A1 (de)1997-02-081998-08-13Pact Inf Tech GmbhVerfahren zur Selbstsynchronisation von konfigurierbaren Elementen eines programmierbaren Bausteines
DE19704742A1 (de)1997-02-111998-09-24Pact Inf Tech GmbhInternes Bussystem für DFPs, sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen, zur Bewältigung großer Datenmengen mit hohem Vernetzungsaufwand
DE59802537D1 (de)*1997-04-152002-01-31Gmd GmbhFrei programmierbares, universelles parallel-rechnersystem zur durchführung von allgemeinen berechnungen
US8686549B2 (en)2001-09-032014-04-01Martin VorbachReconfigurable elements
US5943492A (en)*1997-12-051999-08-24Digital Equipment CorporationApparatus and method for generating external interface signals in a microprocessor
DE19861088A1 (de)1997-12-222000-02-10Pact Inf Tech GmbhVerfahren zur Reparatur von integrierten Schaltkreisen
DE19807872A1 (de)1998-02-251999-08-26Pact Inf Tech GmbhVerfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6236585B1 (en)*1998-05-132001-05-22Texas Instruments IncorporatedDynamic, data-precharged, variable-entry-length, content addressable memory circuit architecture with multiple transistor threshold voltage extensions
WO2000077652A2 (de)1999-06-102000-12-21Pact Informationstechnologie GmbhSequenz-partitionierung auf zellstrukturen
US6097651A (en)*1999-06-302000-08-01Quicklogic CorporationPrecharge circuitry in RAM circuit
SE516171C2 (sv)*1999-07-212001-11-26Ericsson Telefon Ab L MProcessorarkitektur anpassas för programspråk med sekventiellt instruktionsflöde
US6542391B2 (en)2000-06-082003-04-01Netlogic Microsystems, Inc.Content addressable memory with configurable class-based storage partition
US6799243B1 (en)2000-06-142004-09-28Netlogic Microsystems, Inc.Method and apparatus for detecting a match in an intra-row configurable cam system
US6813680B1 (en)2000-06-142004-11-02Netlogic Microsystems, Inc.Method and apparatus for loading comparand data into a content addressable memory system
US6801981B1 (en)2000-06-142004-10-05Netlogic Microsystems, Inc.Intra-row configurability of content addressable memory
US6751701B1 (en)2000-06-142004-06-15Netlogic Microsystems, Inc.Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6934795B2 (en)*1999-09-232005-08-23Netlogic Microsystems, Inc.Content addressable memory with programmable word width and programmable priority
US6944709B2 (en)*1999-09-232005-09-13Netlogic Microsystems, Inc.Content addressable memory with block-programmable mask write mode, word width and priority
EP1107107A1 (en)*1999-12-102001-06-13Koninklijke Philips Electronics N.V.Parallel data processing and shuffling
IL144901A0 (en)*2000-01-132002-06-30Yasukura YutakaElectronic information inquiry process
EP2226732A3 (de)2000-06-132016-04-06PACT XPP Technologies AGCachehierarchie für einen Multicore-Prozessor
US6246601B1 (en)*2000-06-142001-06-12Netlogic Microsystems, Inc.Method and apparatus for using an inter-row configurable content addressable memory
US6560670B1 (en)2000-06-142003-05-06Netlogic Microsystems, Inc.Inter-row configurability of content addressable memory
US6963882B1 (en)*2000-10-022005-11-08International Business Machines CorporationMethod and apparatus for processing a list structure
AU2060002A (en)2000-10-062002-04-22Pact Inf Tech GmbhMethod and device
US8058899B2 (en)2000-10-062011-11-15Martin VorbachLogic cell array and bus system
KR100413384B1 (ko)*2000-10-242004-01-03주식회사 삼양제넥스옥피로부터 수용성 식이섬유의 제조 방법
GB2370380B (en)*2000-12-192003-12-31Picochip Designs LtdProcessor architecture
US6990555B2 (en)*2001-01-092006-01-24Pact Xpp Technologies AgMethod of hierarchical caching of configuration data having dataflow processors and modules having two- or multidimensional programmable cell structure (FPGAs, DPGAs, etc.)
US7581076B2 (en)2001-03-052009-08-25Pact Xpp Technologies AgMethods and devices for treating and/or processing data
US7844796B2 (en)2001-03-052010-11-30Martin VorbachData processing device and method
US7210129B2 (en)2001-08-162007-04-24Pact Xpp Technologies AgMethod for translating programs for reconfigurable architectures
US9037807B2 (en)2001-03-052015-05-19Pact Xpp Technologies AgProcessor arrangement on a chip including data processing, memory, and interface elements
US7444531B2 (en)2001-03-052008-10-28Pact Xpp Technologies AgMethods and devices for treating and processing data
US7302440B2 (en)*2001-07-272007-11-27Metatomix, Inc.Methods and apparatus for statistical data analysis and reduction for an enterprise application
US7058637B2 (en)*2001-05-152006-06-06Metatomix, Inc.Methods and apparatus for enterprise application integration
US6925457B2 (en)*2001-07-272005-08-02Metatomix, Inc.Methods and apparatus for querying a relational data store using schema-less queries
US6856992B2 (en)*2001-05-152005-02-15Metatomix, Inc.Methods and apparatus for real-time business visibility using persistent schema-less data storage
US8572059B2 (en)*2001-05-152013-10-29Colin P. BrittonSurveillance, monitoring and real-time events platform
US20030208499A1 (en)*2002-05-032003-11-06David BigwoodMethods and apparatus for visualizing relationships among triples of resource description framework (RDF) data sets
US7890517B2 (en)*2001-05-152011-02-15Metatomix, Inc.Appliance for enterprise information integration and enterprise resource interoperability platform and methods
AU2002347560A1 (en)2001-06-202003-01-02Pact Xpp Technologies AgData processing method
US7996827B2 (en)2001-08-162011-08-09Martin VorbachMethod for the translation of programs for reconfigurable architectures
US7434191B2 (en)2001-09-032008-10-07Pact Xpp Technologies AgRouter
US8686475B2 (en)2001-09-192014-04-01Pact Xpp Technologies AgReconfigurable elements
US7577822B2 (en)2001-12-142009-08-18Pact Xpp Technologies AgParallel task operation in processor and reconfigurable coprocessor configured based on information in link list including termination information for synchronization
DE10392560D2 (de)2002-01-192005-05-12Pact Xpp Technologies AgReconfigurierbarer Prozessor
US8127061B2 (en)2002-02-182012-02-28Martin VorbachBus systems and reconfiguration methods
US8914590B2 (en)2002-08-072014-12-16Pact Xpp Technologies AgData processing method and device
US7657861B2 (en)2002-08-072010-02-02Pact Xpp Technologies AgMethod and device for processing data
AU2003286131A1 (en)2002-08-072004-03-19Pact Xpp Technologies AgMethod and device for processing data
US7394284B2 (en)2002-09-062008-07-01Pact Xpp Technologies AgReconfigurable sequencer structure
EP1588286A2 (en)*2002-10-072005-10-26Metatomix, Inc.Methods and apparatus for identifying related nodes in a directed graph having named arcs
US7017017B2 (en)*2002-11-082006-03-21Intel CorporationMemory controllers with interleaved mirrored memory modes
US7130229B2 (en)2002-11-082006-10-31Intel CorporationInterleaved mirrored memory systems
EP1676208A2 (en)2003-08-282006-07-05PACT XPP Technologies AGData processing device and method
DE102004013180A1 (de)*2004-03-172005-10-06Giesecke & Devrient GmbhSpeicherbereinigung (Garbage Collection) für Smart Cards
US7665063B1 (en)*2004-05-262010-02-16Pegasystems, Inc.Integration of declarative rule-based processing with procedural programming
US8335704B2 (en)*2005-01-282012-12-18Pegasystems Inc.Methods and apparatus for work management and routing
US7570503B1 (en)2005-05-202009-08-04Netlogic Microsystems, Inc.Ternary content addressable memory (TCAM) cells with low signal line numbers
JP2009524134A (ja)2006-01-182009-06-25ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフトハードウェア定義方法
US8924335B1 (en)2006-03-302014-12-30Pegasystems Inc.Rule-based user interface conformance methods
US20090132232A1 (en)*2006-03-302009-05-21Pegasystems Inc.Methods and apparatus for implementing multilingual software applications
US7827451B2 (en)*2006-05-242010-11-02International Business Machines CorporationMethod, system and program product for establishing decimal floating point operands for facilitating testing of decimal floating point instructions
US8250525B2 (en)2007-03-022012-08-21Pegasystems Inc.Proactive performance management for multi-user enterprise software systems
US7697444B2 (en)*2007-09-072010-04-13Fujitsu LimitedTesting a circuit using a shared bandwidth test bus
GB2454865B (en)2007-11-052012-06-13Picochip Designs LtdPower control
JP4529098B2 (ja)*2008-07-292010-08-25ソニー株式会社演算処理装置および方法、並びにプログラム
US10481878B2 (en)*2008-10-092019-11-19Objectstore, Inc.User interface apparatus and methods
US8843435B1 (en)2009-03-122014-09-23Pegasystems Inc.Techniques for dynamic data processing
US8468492B1 (en)2009-03-302013-06-18Pegasystems, Inc.System and method for creation and modification of software applications
GB2470037B (en)2009-05-072013-07-10Picochip Designs LtdMethods and devices for reducing interference in an uplink
GB2470891B (en)2009-06-052013-11-27Picochip Designs LtdA method and device in a communication network
GB2470771B (en)2009-06-052012-07-18Picochip Designs LtdA method and device in a communication network
US8666720B2 (en)*2009-08-042014-03-04Henry Chung-herng ChangSoftware extensions to a high level description language simulator to provide infrastructure for analog, mixed-signal, RF modeling and verification
GB2474071B (en)2009-10-052013-08-07Picochip Designs LtdFemtocell base station
GB2482869B (en)2010-08-162013-11-06Picochip Designs LtdFemtocell access control
US8880487B1 (en)2011-02-182014-11-04Pegasystems Inc.Systems and methods for distributed rules processing
GB2489919B (en)2011-04-052018-02-14Intel CorpFilter
GB2489716B (en)2011-04-052015-06-24Intel CorpMultimode base system
GB2491098B (en)2011-05-162015-05-20Intel CorpAccessing a base station
US9195936B1 (en)2011-12-302015-11-24Pegasystems Inc.System and method for updating or modifying an application without manual coding
JP2013242700A (ja)*2012-05-212013-12-05Internatl Business Mach Corp <Ibm>コード最適化方法、プログラム及びシステム
US11150721B2 (en)*2012-11-072021-10-19Nvidia CorporationProviding hints to an execution unit to prepare for predicted subsequent arithmetic operations
US10303881B2 (en)2013-02-052019-05-28Hackproof Technologies Inc.Soft-wired radio (SWR) web machine
US9519804B2 (en)2013-02-052016-12-13Hackproof Technologies, Inc.Domain-specific hardwired symbolic machine that validates and maps a symbol
KR102413501B1 (ko)*2014-07-302022-06-27모비디어스 리미티드명령어 사전인출을 위한 방법 및 장치
US10469396B2 (en)2014-10-102019-11-05Pegasystems, Inc.Event processing with enhanced throughput
WO2017066427A1 (en)2015-10-132017-04-20Hackproof Technologies, Inc.Soft-wired radio (swr) web machine
US10698599B2 (en)2016-06-032020-06-30Pegasystems, Inc.Connecting graphical shapes using gestures
US10698647B2 (en)2016-07-112020-06-30Pegasystems Inc.Selective sharing for collaborative application usage
KR102305568B1 (ko)*2016-07-172021-09-27쥐에스아이 테크놀로지 인코포레이티드일정한 처리 시간 내에 k개의 극값을 찾는 방법
KR102467698B1 (ko)*2016-07-262022-11-16삼성전자주식회사적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법
US10956572B2 (en)2016-08-222021-03-23Hackproof Technologies Inc.Domain-specific hardwired web browser machine
GB2562520A (en)*2017-05-172018-11-21John Hamlin DerrickDigital processing connectivity
US10514914B2 (en)*2017-08-292019-12-24Gsi Technology Inc.Method for min-max computation in associative memory
US11048488B2 (en)2018-08-142021-06-29Pegasystems, Inc.Software code optimizer and method
CN110690991B (zh)*2019-09-102021-03-19无锡江南计算技术研究所一种基于逻辑树的无阻塞网络归约计算装置、方法
US11567945B1 (en)2020-08-272023-01-31Pegasystems Inc.Customized digital content generation systems and methods
CN113919580B (zh)*2021-10-192024-10-29南方电网科学研究院有限责任公司一种多省区电网周运行计划编制方法

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
NL272844A (hu)*1960-12-22
US3253265A (en)*1961-12-291966-05-24IbmAssociative memory ordered retrieval
DE1921577B2 (de)*1969-04-281972-04-06Nixdorf Computer Ag, 4790 PaderbornTrommelartige vorrichtung zn buchungs- und schreibautomaten mit greifeinrichtung zum erfassen und einziehen von kontokarten o dgl
SE374973B (hu)*1970-02-171975-03-24Western Electric Co
US3610967A (en)*1970-02-271971-10-05IbmIntegrated memory cell circuit
US3634833A (en)*1970-03-121972-01-11Texas Instruments IncAssociative memory circuit
US4503511A (en)*1971-08-311985-03-05Texas Instruments IncorporatedComputing system with multifunctional arithmetic logic unit in single integrated circuit
US3878513A (en)*1972-02-081975-04-15Burroughs CorpData processing method and apparatus using occupancy indications to reserve storage space for a stack
US3953866A (en)*1974-05-101976-04-27Signetics CorporationCross coupled semiconductor memory cell
DE2460150C2 (de)*1974-12-191984-07-12Ibm Deutschland Gmbh, 7000 StuttgartMonolitisch integrierbare Speicheranordnung
GB1540299A (en)*1975-02-151979-02-07Mathematik Datenverarbeitung GComputer employing reduction language
FR2337398A1 (fr)*1975-12-301977-07-29Ibm FranceDispositif d'ecriture rapide pour cellules de memoire
DE3105503A1 (de)*1981-02-141982-09-02Brown, Boveri & Cie Ag, 6800 MannheimAssoziativer zugriffsspeicher
DE3270597D1 (en)*1981-06-301986-05-22Fujitsu LtdData processing system
US4447875A (en)*1981-07-071984-05-08Burroughs CorporationReduction processor for executing programs stored as treelike graphs employing variable-free applicative language codes
US4502118A (en)*1981-07-071985-02-26Burroughs CorporationConcurrent network of reduction processors for executing programs stored as treelike graphs employing variable-free applicative language codes
JPS58147889A (ja)*1982-02-261983-09-02Mitsubishi Electric Corp半導体装置
US4709327A (en)*1983-05-311987-11-24Hillis W DanielParallel processor/memory circuit
DE3335423A1 (de)*1983-09-291985-04-04Siemens AG, 1000 Berlin und 8000 MünchenSchaltung zur spannungsvervielfachung
US4654780A (en)*1984-06-051987-03-31Burroughs CorporationParallel register transfer mechanism for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4644464A (en)*1984-06-051987-02-17Burroughs CorporationGraph manager for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4615003A (en)*1984-06-051986-09-30Burroughs CorporationCondition concentrator and control store for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4785393A (en)*1984-07-091988-11-15Advanced Micro Devices, Inc.32-Bit extended function arithmetic-logic unit on a single chip
US4734848A (en)*1984-07-171988-03-29Hitachi, Ltd.Combination reduction processing method and apparatus
JPS61107596A (ja)*1984-10-311986-05-26Nec Corp連想記憶装置
US4598361A (en)*1985-01-111986-07-01Burroughs CorporationAllocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US4616315A (en)*1985-01-111986-10-07Burroughs CorporationSystem memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US5173872A (en)*1985-06-131992-12-22Intel CorporationContent addressable memory for microprocessor system
US4847755A (en)*1985-10-311989-07-11Mcc Development, Ltd.Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
US5021945A (en)*1985-10-311991-06-04Mcc Development, Ltd.Parallel processor system for processing natural concurrencies and method therefor
US4777622A (en)*1985-11-261988-10-11Max-Planck-Gesellschaft Zur Foerderung Der Wissenschaften E.V.Associative data storage system
JPS62134890A (ja)*1985-12-051987-06-17Matsushita Electric Ind Co Ltd半導体記憶装置
EP0227348A3 (en)*1985-12-111991-09-25Advanced Micro Devices, Inc.Content addressable memory circuit and method
JPH0810553B2 (ja)*1986-06-131996-01-31松下電器産業株式会社記憶回路
GB2211638A (en)*1987-10-271989-07-05IbmSimd array processor
US4922413A (en)*1987-03-241990-05-01Center For Innovative TechnologyMethod for concurrent execution of primitive operations by dynamically assigning operations based upon computational marked graph and availability of data
GB8718056D0 (en)*1987-07-301987-09-03Int Computers LtdData processing system
JPH01223697A (ja)*1988-03-011989-09-06Mitsubishi Electric Corp内容番地付け記憶装置
US4890260A (en)*1988-05-111989-12-26Advanced Micro DevicesContent addressable memory array with maskable and resettable bits
US4928260A (en)*1988-05-111990-05-22Advanced Micro Devices, Inc.Content addressable memory array with priority encoder
US5099450A (en)*1988-09-221992-03-24Syracuse UniversityComputer for reducing lambda calculus expressions employing variable containing applicative language code
JPH02187993A (ja)*1989-01-131990-07-24Mitsubishi Electric Corp連想メモリ装置
GB8901924D0 (en)*1989-01-281989-03-15Int Computers LtdData processing system
KR910009445B1 (ko)*1989-02-021991-11-16정호선신경회로망을 이용한 연상메모리(Associative memory)
US5072422A (en)*1989-05-151991-12-10E-Systems, Inc.Content-addressed memory system with word cells having select and match bits
US5175843A (en)*1989-10-301992-12-29General Electric CompanyComputer-aided design method for restructuring computational networks to minimize shimming delays
US5201056A (en)*1990-05-021993-04-06Motorola, Inc.RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
US5014195A (en)*1990-05-101991-05-07Digital Equipment Corporation, Inc.Configurable set associative cache with decoded data element enable lines

Also Published As

Publication numberPublication date
DE69101242D1 (de)1994-03-31
EP0541684A1 (en)1993-05-19
AU8333191A (en)1992-03-02
EP0541682A1 (en)1993-05-19
AU8331291A (en)1992-03-02
CN1058667A (zh)1992-02-12
NO930302L (no)1993-03-31
FI930433L (fi)1993-02-01
US5239502A (en)1993-08-24
WO1992002876A1 (en)1992-02-20
WO1992002932A1 (en)1992-02-20
BG97386A (bg)1993-12-24
NO930302D0 (no)1993-01-28
ZA916118B (en)1992-05-27
NO930301D0 (no)1993-01-28
NO930303L (no)1993-03-23
DE69101640T2 (de)1994-07-21
LTIP385A (en)1994-11-25
FI930434A0 (fi)1993-02-01
CN1059225A (zh)1992-03-04
DE69106369D1 (de)1995-02-09
HU9300175D0 (en)1993-04-28
SK391392A3 (en)1994-06-08
AU8390291A (en)1992-03-02
EP0541683A1 (en)1993-05-19
FI930435L (fi)1993-04-02
CN1030019C (zh)1995-10-11
EP0541678A1 (en)1993-05-19
JPH05508730A (ja)1993-12-02
CA2086539A1 (en)1992-02-03
BG97381A (bg)1993-12-24
DE69102065T2 (de)1994-09-01
CN1059413A (zh)1992-03-11
CA2088577A1 (en)1992-02-03
LTIP379A (en)1994-11-25
NZ239239A (en)1994-08-26
DE69101640D1 (de)1994-05-11
SE9002558D0 (sv)1990-08-02
DE69102065D1 (de)1994-06-23
US5379387A (en)1995-01-03
ZA916123B (en)1992-04-29
DE69107460D1 (de)1995-03-23
FI930435A0 (fi)1993-02-01
SK402592A3 (en)1993-09-09
HUT63710A (en)1993-09-28
US5325501A (en)1994-06-28
CA2086592A1 (en)1992-02-03
NO930301L (no)1993-03-23
WO1992002875A1 (en)1992-02-20
FI930434A7 (fi)1993-04-02
IL99056A0 (en)1992-07-15
IL99051A0 (en)1992-07-15
CA2087023A1 (en)1992-02-03
AU654149B2 (en)1994-10-27
IL99052A0 (en)1992-07-15
CN1062426A (zh)1992-07-01
AU8332991A (en)1992-03-02
DE69101242T2 (de)1994-06-01
BG97385A (bg)1993-12-24
JPH05508723A (ja)1993-12-02
IL99052A (en)1994-12-29
IL99055A0 (en)1992-07-15
ES2051129T3 (es)1994-06-01
IL99054A0 (en)1992-07-15
NO930303D0 (no)1993-01-28
WO1992002933A1 (en)1992-02-20
LTIP382A (en)1994-11-25
DE69107460T2 (de)1995-10-05
TW215483B (hu)1993-11-01
AU8331691A (en)1992-03-02
EP0541684B1 (en)1994-04-06
HU9204177D0 (en)1993-03-29
FI930435A7 (fi)1993-04-02
ZA916121B (en)1992-05-27
EP0541682B1 (en)1994-12-28
CA2087022A1 (en)1992-02-03
JPH05508952A (ja)1993-12-09
CN1059799A (zh)1992-03-25
ES2056655T3 (es)1994-10-01
LTIP384A (en)1994-11-25
CN1027198C (zh)1994-12-28
NZ239242A (en)1994-12-22
EP0548094A1 (en)1993-06-30
CA2086591A1 (en)1992-02-03
US5437049A (en)1995-07-25
WO1992002877A1 (en)1992-02-20
ATE116455T1 (de)1995-01-15
CN1061865A (zh)1992-06-10
ATE105952T1 (de)1994-06-15
JPH05508722A (ja)1993-12-02
JPH05508725A (ja)1993-12-02
JPH05508729A (ja)1993-12-02
NZ239240A (en)1995-03-28
US5555434A (en)1996-09-10
ATE104084T1 (de)1994-04-15
US5241491A (en)1993-08-31
AU654295B2 (en)1994-11-03
EP0541678B1 (en)1994-05-18
TW215959B (hu)1993-11-11
TW215960B (hu)1993-11-11
CN1030018C (zh)1995-10-11
TW199926B (hu)1993-02-11
EP0541683B1 (en)1994-02-23
FI930433A7 (fi)1993-02-01
AU8325091A (en)1992-03-02
HU9300263D0 (en)1993-05-28
KR930701818A (ko)1993-06-12
IL99053A0 (en)1992-07-15
ATE101933T1 (de)1994-03-15
ZA916116B (en)1992-05-27
EP0541685B1 (en)1995-02-15
ATE118640T1 (de)1995-03-15
FI930433A0 (fi)1993-02-01
IL99055A (en)1994-12-29
ZA916119B (en)1992-05-27
LTIP381A (en)1994-12-27
RO109487B1 (ro)1995-02-28
TW199213B (hu)1993-02-01
ZA916120B (en)1993-01-27
LTIP380A (en)1994-12-27
IL99056A (en)1994-11-11
ES2050545T3 (es)1994-05-16
EP0541685A1 (en)1993-05-19
WO1992002874A1 (en)1992-02-20

Similar Documents

PublicationPublication DateTitle
HUT63505A (en)Reducing processor
NL2028867B1 (en)Vector Processor Architectures
US7383421B2 (en)Cellular engine for a data processing system
US11436143B2 (en)Unified memory organization for neural network processors
US8239660B2 (en)Processor with automatic scheduling of operations
CN103547998A (zh)用于编译正则表达式的方法和设备
US5119324A (en)Apparatus and method for performing arithmetic functions in a computer system
KR970029033A (ko)프로세서의 벡터 데이타 조정 장치
KR910009095B1 (ko)연상 어레이
US20070101320A1 (en)Method for scheduling instructions and method for allocating registers using the same
US20210049016A1 (en)Efficient performance of inner loops on a multi-lane processor
US6870775B2 (en)System and method for small read only data
He et al.Stochastic circuit synthesis via satisfiability
ChenCompilation of combinational logic units for universal AHPL
US20060239053A1 (en)Self-Aanalyzing Memory Word
SharshunovFunctional test derivation for RISC microprocessors

Legal Events

DateCodeTitleDescription
DFD9Temporary protection cancelled due to non-payment of fee

[8]ページ先頭

©2009-2025 Movatter.jp