PÁRHUZAMOS ARCHITEKTÚRÁK – 12 ASSZOCIATÍV SZÁMÍTÓGÉPEK Németh Gábor
2015Németh Gábor: Párhuzamos architektúrák2 TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 1 A klasszikus Neumann-architektúra: Nagyon hatékony eszköz numerikus számításokra. Adatbázis kezelése komoly nehézséget jelent. (Hosszú ideig tart egy adat megkeresése és a tárolt adatok közötti összefüggések felderítése.) 2 fő oka van: A memória hely szerint címezhető. A memória hely szerint címezhető (nem közvetlenül az adattal, hanem annak címével dolgozunk). Az információ feldolgozási és tárolási funkciók mereven szét vannak választva ). Az információ feldolgozási és tárolási funkciók mereven szét vannak választva (processzor és memória egység).
2015Németh Gábor: Párhuzamos architektúrák3 Jelenleg nincs olyan eszközünk, mely mind tárolási, mind feldolgozási felada- tokra tökéletes lenne. Segédenergia nélküli tároláshoz hiszte- rézises jelleggörbe kell. -A ferromágneses anyagok rendelkez- nek hiszterézissel, így tárolásra ide- álisak, de csak viszonylag lassú logi- kai áramköröket készíthetünk velük. -A félvezetőkből gyors logikai áram- körök készíthetők, de tárolóikhoz se- gédenergia szükséges. TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 2
2015Németh Gábor: Párhuzamos architektúrák4 Intelligencia funkciókat tartalmazó feldolgozási fela- datokhoz ezen két korlátozás nélküli architektúra tű- nik kívánatosnak. A tartalom szerint címezhető memória tároló rekeszeket és rekeszenként ekvivalencia áramköröket tartalmaz. Az adatkeresés gyors, mivel a memória valamennyi rekeszének tartalmát egyszerre összehasonlítjuk a kulcsszóval. Mivel az adatokkal (tartalommal) dolgozunk, viszonylag könnyű az adatok közötti összefüggések felderítése. TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 3
2015Németh Gábor: Párhuzamos architektúrák5 Egy tárolórekesz hibája nem katasztrofális, mert az adat tárolási helye érdektelen. (Hely szerint címezhető memória esetén egy tárolórekesz meghibásodása esetén a programot módosítani kell, mert más címet kell használni.) Struktúrája nagyon bonyolult és költséges. Szoftvere jelentősen eltér a jelenleg rendelkezésre álló szoftver módszerektől. (A szokásos algoritmusok az adatokat alapjában véve sorrendben dolgozzák fel, így a program szekvenciális szerkezetű, melyet egy Neumann architektúrában hely szerint tárolhatuk. TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 4
2015Németh Gábor: Párhuzamos architektúrák6 TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 5 Ez igaz még a kifejezetten párhuzamos feldolgo- zásra kialakított nyelvekre (pl. OCCAM, PARC) is, melyeknél a feldolgozás elkezdődik, bizonyos tevékenységek hajtódnak egymásután [néhány konkurrensen] végre, majd befejezi a feldolgozást.) A tartalom szerint címezhető memória azonban térbelileg nem struktúrált!
2015Németh Gábor: Párhuzamos architektúrák7 TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 6 Egy tároló bit megvalósítása: W j (1)W j (0) C j (1)C j (0) A i M i * /B j ^ a rekesz (szó) többi bitjéhez A többi szó ugyanezen bitjéhez A i =i. szó ”címvezetéke” M i =i. szó egyezés- vezetéke W j =j. bit íróvezetéke B j =j. bit kiolvasott jele C j = j. bit egyeztető vezetéke * =huzalozott ÉS ^ = huzalozott VAGY
2015Németh Gábor: Párhuzamos architektúrák8 TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 7 Cella kiválasztása: A i W j (1)W j (0) C j (1)C j (0) A i M i * /B j ^ a rekesz (szó) többi bitjéhez A többi szó ugyanezen bitjéhez ÍRÁS: (ehhez a felhasználó nem fér hozzá, lásd később) ”1” írása a j. bitbe: W j (1)=1 és W j (0)=0 ”0” írása a j. bitbe: W j (1)=0 és W j (0)=1 j. bit változatlanul hagyása: W j (1)=W j (0)=0
2015Németh Gábor: Párhuzamos architektúrák9 TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 8 Valamennyi tárolóre- kesz tartalmát egyszerre összehasonlítjuk a kérdező alakzattal. W j (1)W j (0) C j (1)C j (0) A i M i * /B j ^ a rekesz (szó) többi bitjéhez A többi szó ugyanezen bitjéhez KERESÉS (EGYEZTETÉS): ”1” keresése a j. biten: C j (1)=1 és C j (0)=0 ”0” keresése a j. biten: C j (1)=0 és C j (0)=1 j. bit tartalma érdek- telen: C j (1)=C j (0)=0 a j. bit egyezéskor ”1”-en hagyja
2015Németh Gábor: Párhuzamos architektúrák10 TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 9 W j (1)W j (0) C j (1)C j (0) A i M i * /B j ^ a rekesz (szó) többi bitjéhez A többi szó ugyanezen bitjéhez KIOLVASÁS: Cella kiválasztása: A i (ehhez a felhasználó nem fér hozzá, lásd később) Kiolvasott rekesz j. bitje (negált): /B j
2015Németh Gábor: Párhuzamos architektúrák11 TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA Tartalom szerint címezhető memória szervezése: BEÍRANDÓ ADAT MASZK REGISZTER KERESÉSI MINTA TÁROLÓ CELLÁK (REKESZEK) TÖMBJE W j (1) W j (0) C j (1) C j (0) VEZÉRLŐ ÉS TÖBBSZÖRÖS EGYEZÉST FELOLDÓ EGYSÉG M i EGYEZÉS VAN/NINCS..... A i...B j KIOLVASOTT ADAT Keresés (egyeztetés): A maszkolt keresési mintát tartal- mazó rekeszek M i bitje 1. Ha több rekesz is tartalmazza a keresett információt, akkor azokat automa- tikusan növekvő index szerinti sor- rendben olvassa ki (A i meghajtásá- val).
2015Németh Gábor: Párhuzamos architektúrák12 TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA Tartalom szerint címezhető memória szervezése: BEÍRANDÓ ADAT MASZK REGISZTER KERESÉSI MINTA TÁROLÓ CELLÁK (REKESZEK) TÖMBJE W j (1) W j (0) C j (1) C j (0) VEZÉRLŐ ÉS TÖBBSZÖRÖS EGYEZÉST FELOLDÓ EGYSÉG M i EGYEZÉS VAN/NINCS..... A i...B j KIOLVASOTT ADAT Beírás: 2 lépés: 1.Egyeztetünk üres (vagy elavult tartalmú) cellákra. 2.Az információt az automatiku- san kiválasztott (A i ) cellákba írjuk be.
2015Németh Gábor: Párhuzamos architektúrák13 A tartalom szerint címezhető memória előnye, hogy valameny- nyi tárolórekesz tartalmát egyszerre összehasonlítjuk a kérde- ző alakzattal. Így a keresés nagyon gyors (elméletileg független a memória kapacitásától). (Hely szerint címezhető memóriánál egyenként kiolvassuk a táro- lórekeszek tartalmát és összehasonlítjuk a kérdező alakzattal, így az egyszerű keresés ideje arányos a memória kapacitásával.) Nagy adatbázis kezelési alkalmazásokhoz konvencionális szá- mítógéphez csatlakoztatott tartalom szerint címezhető memó- ria modult alkalmaznak. Kis kapacitású tartalom szerint címezhető memóriát használ- nak a konvencionális számítógépek cache vezérlőjében és vir- tuális memória kezelő egységében a keresés felgyorsítására. TARTALOM SZERINT CÍMEZHETŐ MEMÓRIA - 12
2015Németh Gábor: Párhuzamos architektúrák14 KITÉRŐ: HASH KÓDOLÁS - 1 Tételezzük fel, hogy végtelen kapacitású hely szerint címezhető memóriánk van. –A tárolandó információ nevét ASCII karaktersoro- zattal adjuk meg. –Ez a sorozat adja meg azt a címet, melyre az infor- mációt eltároljuk. –Kereséskor az információ nevéből meghatározott című rekeszt választjuk ki (azaz a keresés egyszerű – és gyors – címszámítás). Sajnos csak olyan esetben alkalmazható, ami- kor az információt csak előre meghatározott kérdések szerint kereshetjük (pl. raktárkészlet kezelés, fordítóprogram kulcsszó tábla).
2015Németh Gábor: Párhuzamos architektúrák15 KITÉRŐ: HASH KÓDOLÁS - 2 Véges kapacitású hely szerint címezhető memória ese- tén a címbitek száma felülről korlátos. –Csak a nevet alkotó karaktersorozat bizonyos bitjeit vágjuk ki (hash) címbitekként (mondjuk minden ötödiket). –Ilyenkor több eltérő név is ugyanazt a címet eredmé- nyezheti (ütközés). –Az ütközés valószínűsége bonyolultabb (és hosszabb futási idejű) hash függvény választásával csökkent- hető. –Az információmező fejléce tartalmaz egy folyta- tás/vége jelzést is.
2015Németh Gábor: Párhuzamos architektúrák16 KITÉRŐ: HASH KÓDOLÁS - 3 –Az ütköző információt például a következő rekeszben helyezzük el. –Kereséskor a kiszámított című rekesz tartalmát össze- hasonlítjuk a keresési mintával. –Ha egyezik, akkor kiolvassuk az információt. –Ha nem egyezik, akkor a következő rekesz tartalmát nézzük meg, ha folytatás jelzés volt a fejrészben. Ennél az egyszerű megoldásnál az információt annyi kü- lönböző helyen kell tárolni, ahány különböző kérdező min- tát használunk. –Így egy tárolórekesznél hosszabb információt csak egy- szer tárolunk és a hash algoritmus által kiválasztott helyekre csak indirekt hivatkozásokat teszünk be.
2015Németh Gábor: Párhuzamos architektúrák17 ASSZOCIATÍV MEMÓRIA - 1 Az asszociatív memória és az asszociatív számítógép ugyanazt jelenti a szakirodalomban. Az asszociatív memória a tartalom szerint címezhető memória kiegészítése olyan vezérlő és csatoló áramkörökkel, melyek lehetővé teszik, hogy a cellák között az információ áramlását maga a tárolt információ határozza meg.
2015Németh Gábor: Párhuzamos architektúrák18 ASSZOCIATÍV MEMÓRIA - 2 AKTIVITÁSLOGIKA SZEKVENCIÁLIS VEZÉRLŐLOGIKA C E L L L O G I C C E L L L G I C M1M1 M2M2 MkMk... C1C1 C2C2 CkCk x 11 x 21 x k1 x 12 x 1n x 2n x kn x 22 x k2... CELLALOGIKACELLALOGIKA CELLALOGIKACELLALOGIKA CELLALOGIKACELLALOGIKA VEZÉRLŐ- EGYSÉG VEZÉRLŐSÍN I/O ADATSÍN (maszkolt, 2 vezeték/bit) tartalom szerint címezhető memória információ- áramlást vezérlő kiegészítés
2015Németh Gábor: Párhuzamos architektúrák19 Az asszociatív memória felépítése teljesen periodikus. n+2 tárolóbit alkot egy cellát (rekeszt). A cella tartalma az alapvető információ egység, melyet az asszociatív memória tárol és feldolgoz. A j. cella n információbitet (x j1,..., x jn ) és 2 vezérlőbitet (M j, C j ) tartalmaz. A j. cella aktív, ha megfelelő M j (match - egyezés) bitje ”1”. A C j bitet különféle vezérlési célokra használjuk; ez teszi lehetővé a szomszédos cellák közötti kapcsolat létrehozását. ASSZOCIATÍV MEMÓRIA - 3
2015Németh Gábor: Párhuzamos architektúrák20 ALAPVETŐ UTASÍTÁSOK (a vezérlőegység valósítja meg a vezérlősín beállításával): ÍRÁS C j and x ji elemekbe: a) beírás minden cellába (S {I}) [Set Cells], ahol I a maszkolt bemenő információ; b)beírás minden aktív cellába (SA {I})[Set Active Cells]; c)beírás csak a legbaloldalibb aktív cellába (SL {I})[Set Leftmost Active Cell]. ASSZOCIATÍV MEMÓRIA - 4 NAGYMÉRTÉKBEN PÁRHUZAMOS MŰKÖDÉS!
2015Németh Gábor: Párhuzamos architektúrák21 ÍRÁS az M j bitekbe: a), b) és c) ugyanaz, mint fent; d)beírás egyező cellába (SM {Q}) [Set upon Match], ahol Q a maszkolt keresési minta ; e)terjesztés balra (PL) [Propagation to Left] [“1”-et ír be minden olyan M j -be, mely az M j+p =C j+p =1 mintát tartalmazó cellától balra van; a terjesztés meg- áll az M q =0, C q =1 mintájú cellánál]; ASSZOCIATÍV MEMÓRIA - 5 (Bizonyos tárolt információ esetén kapcsolatot létesít szomszédos cellákkal.) M i … … C i … … M i … …
2015Németh Gábor: Párhuzamos architektúrák22 f)terjesztés jobbra (PR) [Propagation to Right]; g)kijelölés balra (AL) [Assign to Left ] [”1”-et ír M j-1 -be, ha C j = 1]; ASSZOCIATÍV MEMÓRIA - 6 h) kijelölés jobbra (AR) [Assign to Right ]. M i … … C i … … M i … … (Bizonyos tárolt információ esetén kapcsolatot létesít a közvetlenül szomszédos cellával.)
2015Németh Gábor: Párhuzamos architektúrák23 ASSZOCIATÍV MEMÓRIA - 7 KIOLVASÁS: a)aktív cella kiolvasása (RA) [Read out of Active Cell ]; b)csak a legbaloldalibb aktív cella kiolvasása (RL) [Read out of the Leftmost Active Cell only] [törli a kiolvasott cella M j bitjét; többszörös egyezés feloldása ciklusban]. UGRÁS: a)feltételes ugrás (JC {k}) [Jump on COUNT] [k. programlépésre ugrik, ha COUNT 0; COUNT egy külső számláló a vezérlőegységben];
2015Németh Gábor: Párhuzamos architektúrák24 ASSZOCIATÍV MEMÓRIA - 8 b)feltételes ugrás (JS {k}) [Jump on SOME] [k. programlépésre ugrik, ha SOME = 0; SOME = 1, ha legalább egy olyan cella van, ahol M j = 1]; c)feltétel nélküli ugrás a k. programlépésre (J {k}) [Jump]. MASZKOLÁS: a) bemenet maszkolása (MI {m}) [Mask Input] [bemenet m ]; b)kérdező alakzat maszkolása (MS {m} [Mask Search Key].
2015Németh Gábor: Párhuzamos architektúrák25 ASSZOCIATÍV MEMÓRIA - 9 KIMENET KEZELÉSE: a) kimenet ciklikus léptetése balra n bittel (CS {n}) [Cyclic Shift]; b)visszacsatolás (F {n, m} [Feedback] [kimenet visszacsatolása kérdező alakzatként; léptetve és maszkolva].
2015Németh Gábor: Párhuzamos architektúrák26 PÉLDÁK: LEGNAGYOBB SZÁM KERESÉSE - 1 Egy hely szerint címezhető memóriájú Neumann számí- tógépben a memória kapacitásával arányos számú lé- pés szükséges (ciklus: kiolvassuk a 2. rekesz tartalmát, ha nagyobb az 1. rekesz tartalmánál, akkor felcseréljük őket és továbbmegyünk, ha nem, akkor vesszük a követ- kező rekeszt). Asszociatív memóriánál a keresés ideje független a me- mória kapacitásától. Az egyszerűség kedvéért feltételezzük, hogy a memória pozitív egészszámokat tárol rekeszeiben. A vizsgálatot helyértékenként végezzük (van-e olyan rekesz, melynek legmagasabb helyértéke 1; ha igen az jelölt és vesszük a következő helyértéket).
2015Németh Gábor: Párhuzamos architektúrák27 PÉLDÁK: LEGNAGYOBB SZÁM KERESÉSE S {C=1}/*minden cellát megvizsgálunk*/ 2.COUNT := n/*vizsgálandó bit kijelölése */ 3.SM {Q n-COUNT+1 = 1, C=1} /*van-e lehetséges jelölt? */ 4.JS {7} 5.SM { Q n-COUNT+1, C=1}/*ha van: jelöljük meg a kisebbeket*/ 6.SA {C=0}/*minden kisebb cella eldobása*/ 7.COUNT := COUNT-1/*következő helyérték kijelölése*/ 8.JC {3} /*valamennyi helyértéket megnéztük? */ 9.SM {C=1} 10.RL /*kiolvasása*/ 11.QUIT A legkisebb szám keresésénél a 3. lépésben Q és az 5. lépésben Q írandó.
2015Németh Gábor: Párhuzamos architektúrák28 PÉLDÁK: TETSZŐLEGES MINTA KERESÉSE TETSZŐLEGES SZÁMÚ ÉS HOSSZÚSÁGÚ SZTRINGBEN - 1 Az egyszerűség kedvéért tételezzük fel, hogy minden cella egyetlen karaktert tartalmaz. Az információsztring hossza tetszőleges és egybefüggő területet foglal el. A sztring elejét és végét speciális karakter (K 0 ) jelzi. A keresett minta hossza legfeljebb 1 cella. (Általánosabb változatai: egy könyvtárban keressük meg azokat a könyveket, melyek tetszőleges helyen tartalmaz- zák az általunk keresett információt; fényképes nyilván- tartásban keressük meg a biztonsági kamerán látott sze- mélyt.)
2015Németh Gábor: Párhuzamos architektúrák29 PÉLDÁK: TETSZŐLEGES MINTA KERESÉSE TETSZŐLEGES SZÁMÚ ÉS HOSSZÚSÁGÚ SZTRINGBEN SM {K 0 }/*az összes sztring [”könyv”] elejének */ 2.SA {C=1, M=0} /*és végének megjelölése*/ 3.SM {Q}/*információ megkeresése*/ 4.SA {C=1} 5.PL/*minden egyező sztringben [”könyv”-ben]*/ /*az összes információs cella [”oldal”]*/ 6.PR /* megjelölése M j =1-el*/ 7.JS {10}/*nincs egyező sztring*/ 8.RL/*a legbaloldalibb egyező és eddig ki nem*/ 9.J {7}/*olvasott könyv legbaloldalibb és eddig ki*/ 10.QUIT /*nem olvasott lapjának kiolvasása*/
2015Németh Gábor: Párhuzamos architektúrák30 PÉLDÁK: NEGÁLÁS - 1 Az asszociatív memória cellái a tároló elemek mellett egyeztető (ekvivalencia) logikát is tartalmaznak. Az ekvivalencia azonban egy univerzális logikai függ- vény, így segítségével az összes aritmetikai és logikai művelet megvalósítható. Az asszociatív memória összes cellája párhuzamosan működik. Így párhuzamosan végezhetjük el az aritmetikai művele- teket (az egyidőben elvégezhető műveletek számát csak a memória kapacitása korlátozza). Példánkban feltételezzük, hogy a negálandó cellákat már C j =1-el megjelöltük. A műveletet bitenként sorosan végez- zük és a cellák x 1 bitje a még feldolgozandó cellákat jelöli.
2015Németh Gábor: Párhuzamos architektúrák31 PÉLDÁK: NEGÁLÁS COUNT := n 2.SM {C=1} /*negálandó cellák kiválasztása*/ 3.SA {M=0, x 1 =1} /*és megjelölése*/ 4.SM {C=1, x 1 =1, x COUNT =1}/*eredetileg 1-et tartalmazó*/ 5.SA {M=0, x 1 =0, x COUNT =0}/*cellák negálása*/ 6.SM {C=1, x 1 =1} /*eredetileg 0-át tartalmazó*/ 7.SA {M=0, x COUNT =1}/*cellák negálása*/ 8.COUNT := COUNT-1 /*következő magasabb helyérték*/ 9.JC {2} 10.QUIT
2015Németh Gábor: Párhuzamos architektúrák32 PÉLDÁK: ARITMETIKAI MŰVELETEK - 1 Bináris számokon végzett aritmetikai műveletek visszavezethetők a komplemens kódú összeadásra. Az összeadás visszavezethető két ”félösszeadó”-ra (a két bit összeadása, illetve a részösszeghez az előző helyértékről túlcsorduló átvitel hozzáadása). A félösszeadó antivalencia áramkör, mely a cellákba beépített ekvivalencia (egyeztető) áramkör és a negálás segítségével megvalósítható. Az operanduspároknak nem kell egymás mellett lenniük (a terjesztés balra művelettel a párok összekapcsolhatók). Tetszőleges számú operanduspáron végezhető egyszerre (bitenként sorosan) művelet.
2015Németh Gábor: Párhuzamos architektúrák33 PÉLDÁK: ARITMETIKAI MŰVELETEK - 2 Asszociatív számítógép esetén célszerű olyan számrendszer használata, melyben nincs a műveletek végrehajtását nagyon lelassító átvitel terjedés, részletszorzat (szintén átvitel terjedéssel) stb. Ilyen például a rezidumos számrendszer. –Relatív prímszámokat választunk alapszámoknak. –A számérték jegyeit az alapszámokkal történő osztás maradékai képviselik.
2015Németh Gábor: Párhuzamos architektúrák34 PÉLDÁK: ARITMETIKAI MŰVELETEK - 3 alap/dec folytatás max. 7*11*13=1001 szám nincs átvitel 3 * 6 nincs részletszorzat, nincs átvitel Komplemen- tálás jegyen- ként Nagyság összehason- lítása nehéz
2015Németh Gábor: Párhuzamos architektúrák35 PÉLDÁK: TANULÁS - 1 Bizonyos fajta tudás elemi relációkat tartalmazó leíró rácsokkal írható le. x és y objektumok között R elemi reláció létesít kapcso- latot, például xRy PéteranyjaMária (Felépíthetjük egy család leszármazási kapcsolataira vonat- kozó tudásunkat megjelenítő irányított gráfot – a családfát.) Asszociatív számítógép esetén a tudást képviselő gráfot nem kell explicite tárolni. A tetszőleges sorrendben, helyre és idő- ben bevitt elemi relációkból visszacsatolás segítségével auto- matikusan elvégzi az asszociációt!
2015Németh Gábor: Párhuzamos architektúrák36 PÉLDÁK: TANULÁS - 2 ASSZOCIATÍV MEMÓRIA x R y z -1 kimenet (x, R, y) x GEOMETRIA: Legyenek az asszociatív memó- riában többek között az alábbi elemi összefüggések: xRy [gömb; dimenzió; 3] [gúla; dimenzió; kocka] [kocka; dimenzió; gömb] BEMENET KIMENET xRy(t-T)x * dimenzió * * 3gömb kocka gúla Csak a gömbről közöl- tük explicite, hogy 3 dimenziós, a többiről ”kikövetkeztette”!
2015Németh Gábor: Párhuzamos architektúrák37 PÉLDÁK: TANULÁS - 3 Az R relációt menetközben megváltoztatva az információk között további kapcsolatokat lehet származtatni. Bonyolultabb (például adaptív, vagy a három részre bontást rugalmasabbá tevő) visszacsatolással fejlettebb tanulási folyamat valósítható meg. Nemdeterminisztikus relációk bevezetésével hipotéziseket alkothat az asszociatív számítógép. (Adott valószínűségekkel bekerül pl. az Ez a szobor szép, illetve Ez a szobor nem szép elemi összefüggés. A ”hibás” úton történő elindulás új hipotézisre vezethet, melynek helyessége a rendszerben lévő információ alapján nem dönthető el.)