175243. lajstromszámú szabadalom • Adattároló rendszer
175243 4 a unalmán nyal elérni kívánt egyik cél, hogy olyan adattároló rendszert hozunk létre, amelynél az adatokat előre kihozzuk, de olyan módon, hogy a szükségtelen kihozatalok számát minimálisra csökkentjük. A talállmány első aspektusa szerint az adattároló rendszer főtárat és olyan segédtárat tartalmaz, amely a főtárnál kisebb méretű, de gyorsabb hozzáférési idejű, és a segédtárban lévő adattételek tárhozzáférési utasítások sorozatára adott válaszul hozzáférhetőkké válnak, a rendszer tartalmaz előrelátó logikát, amellyel a főtárból adattételeket viszünk át a segédtárba, azelőtt, hogy ezen adattételekre szükség lenne, és az előrelátó logikát a tárhozzáférési utasításoknak csupán egy alkészlete képes működtetni. Láthatjuk, hogy a rendszernek két fajta tárhozzáférési utasítása van, amelyek közül az egyik képes előrelátási működést kiváltani , a másik pedig nem. Az első fajta utasításokat csak olyan helyzetekben szándékozunk felhasználni, ahol 'valószínű, hogy a pillanatnyilag hozzáfért adattétel egy sorozat részét képezi (például utasítások hozzáférése esetében, amelyek rendszerint sorozatban vannak tárolva). A rendszer ilyen módon a programozó részére lehetőséget nyújt, hogy meghatározza azt, hogy előrelátási műveletre szükség van, vagy erre nincs szükség, és ez nagy segítséget nyújt a szükségtelen előrevetített hozzáférések számának csökkentésében. Célszerű módon az előre lehozandó adattételnél meggyőződünk arról, hogy vajon már jelen van-e a segédtárban, és amennyiben nincs jelen, akkor ezt kihozzuk a főtárból, és beírjuk a segédtárba. Ez a megoldás kiküszöböli azokat a felesleges időpazarlásokat, amelyek az olyan adattételek kihozatalához tartoznak, amelyek a segédtárba már jelen vannak. A találmánnyal elérni kívánt másik célunk olyan adattároló rendszer létrehozása, amely képes olyan sorozat részét képező adattételek előzetes kihozatalára, amelyről előre nem dönthető el, hogy a sorozat felhasználása valószínűleg melyik irányban fog bekövetkezni (tehát hogy a sorozat növekvő vagy csökkenő címzésű). A találmány második aspektusa szerint az adattároló rendszer főtárat, a főtáinál kisebb méretű, de gyorsabb hozzáférési idejű segédtárat és olyan előrelátó logikát tartalmaz, amely képes a főtárből adattételeket a segédtárba még esedékességüket megelőzően átvinni, és ennél a megoldásnál az előrelátó logika alkalmas az adattételek egy lehetséges sorozata irányának megállapítására, ahol ezen adattételsorozai egy olyan tételt is tartalmaz, amely éppen most van kihozás alatt, és az említett logika ennek hatására előrevetített működést vált ki ebben az irányban, és ilyen módon gondoskodik arró, hogy a szóbanforgó lehetséges sorozat következő adattétele a segédtárba kerüljön. Az adattételek lehetséges sorozata irányának megállapítása olyan vizsgálattal végezhető el, amelynél megnézzük, hogy vajon egy tétel vagy egy tételcsoport rendelkezik-e olyan címmel, amely egy első irányban eltolódott a pillanatnyi hozzáférés alatt álló és a segédtárban elhelyezett tétel címétől, és ha ilyent nem találunk, akkor a sorozatról feltételezzük, hogy ezen első hányhoz tartozik, amennyiben pedig találunk, akkor a sorozatról feltételezzük, hogy ezzel ellentétes irányú. 3 Az adattételek a főtárban előnyösen csoportosan vannak elrendezve (például szópáronként) és mindenkor, amikor az előrelátó logika biztosítja, hogy egy adattétel a segédtárban jelen van, gondoskodik arról, hogy ugyanazon csoporthoz tartozó ezen tétel vagy minden egyéb tétel is a segédtárban jelen legyen. A továbbiakban olyan adatfeldolgozó rendszert ismertetünk, amely a találmány szerinti adattároló rendszert tartalmazza, és ezen példakénti ismertetés kapcsán a mellékelt rajzokra hivatkozunk. A rajzon az 1. ábra a teljes adatfeldolgozó rendszer vázlata, a 2. ábra a rendszer részét képező tárhozzáférő egység rajza, a 3. ábra előrelátó logikai áramkört szemléltet, és a 4. ábra sorozatvezérlő áramkör vázlata. A rendszer általános leírása Az 1. ábrán vázolt adatfeldolgozó rendszer 10 főtárat, mikroprogramozott 11 feldolgozó egységet, 12 ütemező egységet és tárhozzáférési 13 SAU-t tartalmaz, ahol a SAU az angol nyelvű megfelelő kifejezés rövidítése, SAU = Store access unit. A 10 főtár különböző típusú adatokat tárol, amelyekhez tartoznak a rendszer által végrehajtandó utasítások, az operandusok és deszkriptorok. A tár kapacitása tipikusan 256 K szó nagyságrendjében van, és a hozzáférési idő 840 nanoszekundum körül van. A tárhozzáférési 14 út két szó szélességű, és ez azt jelenti hogy minden hozzáférés két szót vesz ki a tárból. A 13 SAU közvetítőként szerepel a 11 feldolgozó egység és egyrészt a 12 ütemező egység, másrészt pedig a 10 főtár között, mivel tárhozzáférési utasításokat fogad a feldolgozó egységből és az ütemező egységből, és ezeket alkalmas módon kiszolgálja, és a szükség szerint kiolvasási vagy beírási hozzáférést biztosít a 10 főtárhoz. Ezek az utasítások valós vagy virtuális címeket tartalmazhatnak, és a 13 SAU címfordító egységet tartalmaz, amely a virtuális címeket szükség esetén valós címekké alakítja át. A 13 SAU tartalmaz egy adat 23 segédtárat is. Ez egy kis méretű gyors memória, és ügy van elrendezve, hogy azokat a virtuálisan címzett adatokat tartja, amelyekre a közeljövőben hozzáférés céljából valószínűleg szükség lesz. A 23 segédtár működésének alapelvét az képezi, hogy bármely olyan adattétel, amelyet egy virtuálisan címzett utasítás írt be a főtárba, beíródik a 23 segédtárba is, és hasonlóképpen bármely olyan tétel amelyet a virtuálisan címzett utasítás olvas ki a főtárból, bekerül a 23 segédtárba is. Ezt az elvet bizonyos utasítások esetében módosíthatjuk, de az általános eredmény az, hogy a pillanatnyilag hozzáfért tételek a 23 segédtárban is elérhetők. Úyen módon egy soronkövetkező kiolvasási utasítás esetén ezen tételekhez automatikusan a 23 segédtárból is hozzá lehet férni, és akkor nem lép fel az a késleletetés, amelyet a főtárhoz való hozzáférés idéz elő. Bizonyos virtuálisan címzett kiolvasási utasítások azt jelzik a 13 SAU részére, hogy a pillanatnyi hozzáférés valószínűleg szomszédos címek sorozatának egyik tagját képezi. Az ilyen utasításokat a SAU •egység úgy kezeli, hogy a címzett szót először normálist módon a 23 segédtárból (amennyiben itt jelen van) vagy a főtárból hozzáféréssel eléri, és működését azzal folytatja, hogy megbizonyosodik arról, hogy a lehetséges sorozat következő szópárja már a 23 segédtárban van tárolva (ezen szópárat a továbbiakban előrelá-5 10 15 20 25 30 35 40 45 50 55 60 65 2