190261. lajstromszámú szabadalom • Áramköri elrendezés multiprocesszoros rendszerekben közös erőforrások foglaltsági idejének csökkentésére
1 ,190 261 2 nete és tárcikluskérő 535 kimenete a 11 ciklusvezérlő áramkör harmadik tárciklushasználati 129 kimenetére és harmadik tárcikluskérő 128 bemenetére, a 11 ciklusvezérlő áramkör tárciklus 125 kimenete az 1 tár tárciklus 103 bemenetére csatlakozik. Az áramköri elrendezés egyes egységeire vonatkozó kikötéseink a következők: Az 1 tár címezhető és adatkimenettel és adatbemenettel rendelkezik. A vezérelt 21,22 bemenő regiszterek és a 41, 42 kimenő regiszterek számát az határozza meg, hogy hány irányból kívánjuk az 1 tárat címezni. Egy célszerű esetben a 21,22 bemenő regiszterek számát kettőben állapítottuk meg. Hasonlóképpen jártunk el a 41, 42 kimenő regisztereknél is. Az első 21 bemenő ill. első 41 kimenő regiszterhez egy az első 51 processzor, a második 22 bemenő ill. második 42 kimenő regiszterhez két, a második, harmadik 52. 53 processzor tartozik. A leválasztó meghajtók száma mindig azonos a processzorok számával. A processzorok a multiprocesszoros rendszer tagjai, számukat, működési sebességüket, közös címzést a feladatnak megfelelően választjuk meg. A 11 ciklusvezérlő áramkör az 1 tárral van kapcsolatban. Felépítése ismert elemekből a találmány szerinti megoldásnak megfelelően történik. A találmány szerinti áramköri elrendezés működése a következő : a 11 ciklusvezérlő áramkör vezérli az első, második 21, 22 bemenő regisztert, az első, második, harmadik 31, 32, 33 leválasztó meghajtót és az első, második 41, 42 kimenő regisztert óra- és engedélyező jelekkel. Felülbírálja az első, második, harmadik 51, 52, 53 tárcikluskérelmét, a processzorokat prioritásuk alapján sorbaállítja, választ ad nekik és engedélyezi a kért tárciklust. Az 1 tárnak utasítást ad a tárciklus fogadására. A programok valamennyi processzorban egyidőben egyszerre futnak. A programok az első, második, harmadik 51, 52, 53 processzor saját erőforrásait, memóriáit, ki/bemeneti eszközeit használják. Bármelyik processzor programja futtatása során eljuthat egy olyan állapotba, amikor a multiprocesszoros rendszer valamelyik erőforrására pl. a közös 1 tárra van szüksége. Ekkor három eset lehetséges :- az 1 tár foglalt, mert egy másik processzortárciklust hajt végre a közös 1 tárban. Ebben az esetben a processzor prioritási sorrendjétől függetlenül a kérelem várakozik. Tehát a magasabb prioritású processzor kérelme sem szakítja meg a folyamatban lévő tárciklust.- Az 1 tár szabad, és egyidőben két processzor kér tárciklust. Ha az egyik processzor magasabb prioritású, akkor ennek igénye érvényesül.- az 1 tár szabad és csak egyetlen egy processzor igényel tárciklust. Ebben az esetben a tárciklust igénylő processzor kapja meg a tárciklust. Mindhárom esetben a 11 ciklusvezérlő áramkör az első, második, harmadik 51, 52, 53 processzor tárcikluskérésére engedélyező vagy tiltó választ ad, sorbaállítja az első, második, harmadik 51, 52, 53 proceszszort, előállítja a tárciklusvezérléshez szükséges időzített jelek sorozatát. Az engedélyezett tárciklus megjelenése előtt az engedélyezett processzor címkimenetét 1 tár bemenetével, az engedélyezett processzor adat-kí/bemenetét az 1 tár adat-be/kimenetével összekapcsolja. Az összekapcsolás az első, második 21, 22 bemenő regiszterek és 41,42 kimenő regiszterek segítségével történik, amelyeket a 11 ciklusvezérlő áramkör a következő módon vezérel :- ÍRÁSNÁL a kérelmező processzor adatvonalain megjelenő adat nem kerül közvetlenül az 1 tár adatvonalára, hanem a kérelmező processzorhoz tartozó első, második 41, 42 kimenő regiszter 412, 422 adatbemenetére. A 41, 42 kimenő regiszter engedélyező 413 bemenetére a 11 ciklusvezérlő áramkör engedélyező vezérlőjelet ad, amelynek hatására a kimenő adat bemásolódik az első, második 41, 42 kimenő regiszterbe, amely a 414, 424 órajelbemenetre a 11 ciklusvezérlő áramkörről érkező vezérlőjel hatására a megfelelő regiszter adatait összekapcsolja az 1 tár adatbemenetével. Ebben a pillanatban megszűnik a kérelmező processzor foglaltsága és a tárciklus elindul. Ily módon megrövidül a processzorfoglaltsági idő az 1 tár t, hozzáférési idejével. Ugyanakkor pedig a T tárfoglaltsági időből megtakarítottuk a t2 processzor-feldolgozási időt. Ugyanis a processzor írásciklusa és az 1 tár írásciklusa egyidőben játszódik le.- OL VASÁSNÁL a tj hozzáférési idő leteltekor a 11 ciklusvezérlő áramkör felől az első, második 21, 22 bemenő regiszter 214, 224 órajel bemenetére adott vezérlőjel segítségével az 1 tár 101 adat kimenetén megjelenő adatot a tárciklust kérelmező első, második, harmadik 51, 52, 53 processzorhoz tartozó első, második 21, 22 bemenő regiszterbe átmásolja. A 11 ciklusvezérlő áramkörnek az első, második 21, 22 bemenő regiszter engedélyező 213, 223 bemenetére adott vezérlőjele segítségével a 212,222 adat kimenetet a kérelmező processzor bemenetére kapcsolja s egyidejűleg felszabadítja az 1 tér foglaltsági állapotát. Ezzel megvalósult olvasásnál is a találmányi gondolat, azaz a kérelmező processzorban kiolvasott adat további feldolgozása még a t2 processzorfeldolgozási idejéig folyik, de az 1 tár foglaltsági állapota megszűnt és az 1 tár hozzáférhető a többi processzor számára. Lásd az alábbi táblázatot, amely szerint a T tárfoglaltsági idő a t2 processzorfeldolgozási idővel, a T processzor-foglaltsági idő pedig a tj hozzáférési idővel csökken. Az alábbi táblázatban összeállítottuk a T tárfoglaltsági idő és a T processzor-foglaltsági idő alakulását, amely az írás és olvasás műveleténél jelentkezik. Szembeállítottuk az „A” ismert és a „B” találmányi megoldás szerinti értékeket. A kialakult gyakorlat szerint a következő értékeket vettük figyelembe: nsec t, = tárhozzáférési idő............................ 450 t2 = processzor-feldolgozási idő............ 400 t3 = t3,+ t32 = 50 + 50 nsec .................. 100 t31 = tárfoglaltság-előállítási idő ............ t32 = xárfoglaltság-megszüntetési idő___ tj = processzor-írási idő ................. 25 t0 = processzor-olvasási idő .................. 100 T = tárfoglaltsági idő............................. T — processzor-foglaltsági idő .............. j 3 5 10 15 20 25 30 35 40 45 50 55 60 65