179288. lajstromszámú szabadalom • Nagyssebességű mikroprogramozott processzor elrendezés

13 179288 14 cesszorokhoz képest kb. háromszoros sebességnöve­kedést okoz. Most tekintsünk át egy egyszerű feladatot, ame­lyet először egy ismert FAIRCHILD F 8 típusú rend­szerrel, majd az 1. ábrán vázolt találmány szerinti rendszenei oldunk meg. A feladat egy N byteból álló adatblokk kivitele egy perifériára programvezé­relten. Az F8 konfiguráció egyszerűsített vázlatát a 2. ábra szemlélteti, amelyen a jelölések a FAIR­­CHILD konvekciókat követik. A feladat végrehajtá­sához tartozó program a következő: DCI KEZDŐCÍM tárterület és ciklusszám beáll. U LR N rl, A IM Y LR r2, A test bit low AND 80 várás BZ Cl LM adatkivitel OUT X a data portra Li A, r2 OR 01 2° bit képzés OUT Y IN Y AND 80 27 bit high várás BNZ C2 DS rl ciklus test BNZ Cl Ennél a megoldásnál az egy adatkiviteli ciklus lossza 70 mikroszekundum értékű. A találmány szerinti processzor elrendezéssel a feladatot az alábbiak szerint lehet megoldani. Az 1. ábrán vázolt processzor elrendezést lényegében a 3. ábra processzor elnevezésű blokkja jelöli, és ehhez csatlakozik a választott Rx regiszter, amibe a szóban forgó adatblokkot kell betölteni. Mivel az előzőekben nem definiáltuk a találmány szerinti processzor elrendezéshez használható MNE­­MONIKUS kódokat, a feladat végrehajtásához tarto­zó utasításokat a 4. ábrán verbális alakban írtuk le. A feladat végrehajtásának 1. lépését a kezdő cím beállítás képezi a RAM memória MX helyén. Ezt követően a MUX 5 multiplexer z-edik bemenetének állapotát vizsgáljuk. Ez a vizsgálat három-öt mikro­­ciklust vesz igénybe. Amennyiben a z-edik bemenet alacsony volt, a következő utasítás szerint a RAM memória MX helyén levő adatokat indirekt címzés után betöltjük az RX regiszterbe. Ez az utasítás a korábbiban vázolt módon négy mikrociklust igényel. Ezt követően az MX hely címzését megnöveljük. A megnövelés 4 mikrociklust igényel. A következő uta­sítás szerint az AKKU R akkumulátor regiszterrel összehasonlítást végzünk, majd a végcímet közöljük. Ez az utasítás három mikrociklust vesz igénybe. A feladat végrehajtását az ALU aritmetikai és logikai egység FLAG kimeneteinek a vizsgálatával folytat­juk, ami három-öt mikrociklus alatt elvégezhető. Be­fejezésként visszatérünk az eredeti szubrutinra (RTS művelet). Látható, hogy a találmány szerinti elrendezésnél az adatkiviteli hurok 5 utasításból és átlagosan mintegy 20 mikrociklusból áll, amelynek összideje körülbelül 2 mikroszekundum. Ha a programteije­­delmet hasonlítjuk össze a 2. ábrán vázolt Fairchild rendszerével, akkor azt tapasztaljuk, hogy az ismert rendszer egy adatkiviteli ciklusa 24 byte hosszúságú, ugyanakkor a találmány szerinti rendszernél 5x3, azaz 15 byte terjedelmű. A működés sebességével kapcsolatban megállapít­hatjuk, hogy azt főleg az alkalmazott RAM memória sebessége határozza meg. Ha a RAM memóriát 74S201 típusú memóriából valósítjuk meg, akkor egy mikrociklus ideje 100 ns lesz. Egy indirekt rela­tív címzésű adatmozgató utasítás például 5 mikro­ciklust vesz igénybe, azaz 500 ns ideig tart. Figye­lembe véve még az előzőekben tárgyalt közvetlen hardware feltételeknek a programból való figyelését, valamint a közvetlen utasítás hatékonyságát (egy ilyen utasítás ideje 300 vagy 500 ns), megállapíthat­juk, hogy az előzőekben említett célokra való hasz­nálat esetén, összehasonlítva a jelenleg elérhető bipo­láris és MOS mikroprocesszorokkal, mintegy 15-20- -szoros sebességnövelés érhető el. A relatív címezhetőség jelentősége több, azonos típusú periféria egyidejű kezelésénél jelentkezik. Re­latív címzéssel megírt program változtatás nélkül használható több azonos típusú egyidőben működő perifériára, mert a programparaméterek és a transz­ferálandó és feldolgozandó adatok a relatív címzés miatt a RAM memóriának egymást nem átfedő különböző tartományaiban helyezkedhetnek el. így elkerülhető a vezérlő program duplikálása. A leírás bevezető részében hivatkoztunk a mikro­processzorok stack kezelésének ismert lehetőségeire. Az alábbiakban a találmány szerint megvalósított különleges stack kezelést mutatjuk be, amely a mul­tiprocesszoros üzemmód szimulálását teszi lehetővé programtechnikai eszközökkel. Az ilyen stack keze­lés jellemzőit az alábbiakban foglalhatjuk össze: 1. Processzor funkciónként külön-külön stack memória hozható létre, és ezek az operatív RAM memóriának a felhasználó által megszabott tetszőle­ges helyét foglalhatják el, és mélységük ésszerű hatá­rok között szintén tetszőleges lehet. 2. Stack pointer alkalmazása, amelynek aktuális értéke elhelyezhető az operatív RAM memóriában. 3. A PC programcím számláló aktuális értéke az SCK stack regiszterben és egy külön erre a célra kijelölt BRO regiszterben eltárolható (1. ábra). 4. A Stackpointer, azaz az SCK stack regiszter memóriában levő helye a BRI regiszterben tároló­dik. 5. A BR2 és BR3 regiszterek aktuális értéke is eltárolható az SCK stack regiszterben. Ezeket a hardware által adott lehetőségeket a következő speciális J & R (ugrás és visszatérés) utasí­tás automatikusan használja, és segítségével a multi­processzoros üzem megvalósítható. Az utasítás funkciója: ugrás a PM program memó­ria kétszeresen indirekt címére N számú utasítás ciklusra, és visszatérés a visszatérési cím és paraméte­rek eltárolásával. 5 IC 15 20 25 30 35 40 45 50 55 60 65 7

Next

/
Thumbnails
Contents