175243. lajstromszámú szabadalom • Adattároló rendszer
5 175243 6 tási szópárnak fogjuk nevezni). Ebből a célból vizsgálatot végzünk, hogy megállapítsuk, vajon az előrelátási szópár már jelen van-e a 23 segédtárban, és amennyiben nincs jelen, akkor ezt a szópárat kihozzuk a főtárból, és a 23 segédtárba töltjük. Ezt a folyamatot a továbbiakban előrelátási műveletnek nevezzük. Bizonyos utasítások esetében az előrelátási művelet a sorozat valószínű irányára vonatkozó döntést is tartalmaz. A 12 ütemező egység alapvető feladata, hogy végrehajtás céljából előre utasításokat hozzon ki a feldolgozó egységből, még mielőtt ezen utasításokra szükség lenne, és ezt úgy végzi el, hogy kiolvasási utasításokat küld a 13 SAU részére. Az ütemező egység minden utasítást dekódol is, miközben az előző utasítás végrehajtása folyik, majd kérésre a feldolgozó egység részére olyan paramétersorozatot továbbít, amely kijelöli azokat a feladatokat, amelyeket a feldolgozó egységnek az utasítás teljes végrehajtása céljából el kell végezni. Egy utasítást normál esetben két feladat során (kivételesen egy vagy három) hajtanak végre, és az egyes feladatokhoz a feldolgozó egység részére továbbított paraméterek normál esetben mikroprogram indítási címet, feladathosszúság indikátort, az utasítás másolatát, és egyéb jelzésbeállító és hurokösszeg információt tartalmaznak. Az ugrási utasításokat a feldolgozó egységben lévő mikroprogram a többi utasításokkal azonos módon értékeli ki, de ha a sorrendben változást jelez, a mikroprogram az ugrás rendeltetési utasításának ki' hozatalát kezdeményezi, még mielőtt a pillanatnyi utasítás végrehajtása befejeződne. Az ütemező egységben lévő bármely korábban kihozott utasítást törlünk. A feldolgozó egység általános rendeltetésű mikroprogramozott egység, amelyben 256 szavas üzemi tár van, 125 nanoszekundumos ciklusidővel, 32 szavas láncolt tárolóval van ellátva, amelynek 62,5 nanoszekundumos ciklusideje van, és olyan mikroprogramozott tárat tartalmaz, amely 8-16 K szó fogadására alkalmas. A mikroprogram utasítások normál végrehajtása 125 nanoszekundumos időközönként történik, de ezt az időzítést várakoztatni lehet, és ezáltal lehetőség nyílik egyéb egységek (különösen a SAU egységből jövő adatokra való várakozás céljából) szinkronizálására. A tárhozzáférési egység (SAU) A 2. ábrára hivatkozunk, és az itt feltüntetett 13 SAU a 12 ütemező vagy all feldolgozó egységtől érkező minden tárhozzáférési utasítással együtt egy 30 bites címet kap a 20 multiplexeren keresztül. Ennek a címnek az első huszonnyolc bitjét (0-27) a tár különálló négyszavas szakaszának címeként tekinthetjük, míg a 28. bit ezen szakaszból egy szópárat választ ki, és a 29. bit a kiválasztott pár egyik szavát jelöli ki. Ezt a címet 21 címregiszterben statikus alakba hozzuk, és a 21 címregiszter bitjeit csökkenő jelentőségű sorrendben ADO-AD29 hivatkozási jelekkel jelöljük. A 21 címregiszter tartalmát címfordító 22 egységhez, a továbbiakban ATU egységhez továbbítjuk, és ez a virtuális címeket a főtárhoz való alkalmazás céljából megfelelő valós címekké alakítja át. Ebből a célból az ATU egység több pillanatnyi oldal regisztert tartalmaz, és ezek a rendszer által pillanatnyilag felhasznált oldalak valós bázis címeit tartalmazzák, amikoris egy oldalt a virtuális tár 256 szavas részeként definiálunk. Ilyen módon egy virtuális címnek valós címmé történő átalakításához először kiválasztjuk az alkalmas pillanatnyi oldal regisztert, majd ezen regiszterben tárolt bázis címet hozzáadjuk a virtuális cím egy eltolódó részéhez. Ha a kívánt bázis cím a valóságban a pillanatnyi oldal regiszterek egyikében sincs jelen, akkor a feldolgozó egység részére megszakítási jelet továbbítunk, amely a pillanatnyi oldal regiszterek felfrissítése céljából egy mikroprogram sorozatot kezdeményez. A 2. ábrán feltüntettük a 13 SAU 23 segáltárát. Ez a 23 segédtár olyan véletlen hozzáférésű tár, amelynek hozzáférési ideje 45 nanoszekundum, és összesen 256 szót tartalmaz, amelyek mindegyike szabványos hosszúságú és a szavak 64 négyszavas cellában vannak elrendezve. Bármely időben az egyes aktív cellákat a virtuális tár egy adott négyszavas szakaszához rendeljük, és ennek bármely szava, tehát lehet az összes vagy egyetlen egy sem, érvényes adatokat tartalmazhat. A 23 segédtárban lévő minden szónak tehát egy vele társított érvényességi bitje van, és ez azt jelzi, hogy érvényes adatokat tartalmaz-e. Minden aktív cella tartalmazza a virtuális tár azon négyszavas szakaszának virtuális címét, amely vele van társítva. Mindenkor, amikor a 13 SAU virtuálisan címzett utasítást kap, akkor a 21 címregiszterben lévő virtuális cím kiválasztott bitjeiből egy hash-kódoló 24 áramkör ötbites hash-címet hoz létre az alábbi módon: hash—bit Származék 0 ADÓ 1 (AD24) = (AD12) 2 (AD25) h (AD 13) 3 AD26 4 AD27 ahol a = jel a két bit közötti azonosságot jelöli. Ezt a hash-címet a 23 segédtár címbemenetére vezetjük úgy, hogy egy cella párat kiválasszon. Ekkor az ezen cellákban tárolt virtuális címeket összehasonlítjuk a címregiszter tartalmával. Ha ezen cellák bármelyikénél egyezést tapasztalunk, ellenőrizzük, hogy a cellában lévő megcímzett szó érvényes-e. Amennyiben az, akkor elvégezzük a szóhoz tartozó kívánt felfrissítést vagy kiolvasási hozzáférést. Amennyiben nem volt érvényes, elvégezzük a 10 főtárhoz való hozzáférés útján a szükséges műveleteket, hogy a helyzetet korrigáljuk. Meg kell jegyeznünk, hogy mivel a 10 főtárhoz való hozzáférési vonal két szó szélességű, minden esetben, amikor egy szóhoz a 10 főtárban hozzáférünk, akkor a pár másik szavát szintén elküldjük a 13 SAU és a 23 segédtárba beírjuk. Mindazonáltal a párnak csupán a megcímzett szavát küldjük tovább a feldolgozó vagy ütemező egységhez. Amennyiben a pár egyetlen cellája sem felel meg a 21 címregiszter tartalmának, akkor kiválasztjuk azt a cellát, amelyet a szóbanforgó párat közvetlen megelőzően használtuk fel, és ehhez az új virtuális címet hozzárendeljük. Ezt a cellát ekkor a 10 főtárból való hozzáféréssel kívánság szerint felfrissítjük. 5 10 15 20 25 30 35 40 45 50 55 60 65 3