179288. lajstromszámú szabadalom • Nagyssebességű mikroprogramozott processzor elrendezés
11 179288 12 séghez tartozó művelet dekódolón keresztül az ALU aritmetikai és logikai egység szelektáló bemenetén kijelöli a szükséges aritmetikai vagy logikai műveletet. Az ALU aritmetikai és logikai egység kimenetén tehát az In Rx külső regiszter tartalma és a RAM memória DIR CÍM rekeszének a tartalma között elvégzett művelet eredménye jelenik meg, amely a mikrociklus végén az AKKU R akkumulátor regiszterbe íródik. 3. Az AKKU R akkumulátor regiszter kimenete engedélyeződik, és a benne tárolt adatot a BUS Dr buszmeghajtó egységen keresztül a RAM memória bemenetére visszük. A RAM memória írásengedélyező jelet kap, és a RAM ADDR címregiszterben levő címre az aritmetikai művelet eredményét beírjuk. A mikrociklus végén a Pr 1 és Pr 2 regiszterek töltődnek és a PC programcím,számláló a következő címre lép. 4. Az új utasítás dekódolása történik. Ha a fenti utasításnak az ARM mezőjében az ALU aritmetikai és logikai egység számára például összegzési módot írtunk elő, akkor az In Rx külső regiszter tartalma a DIR cím áltál kijelölt memóriarekesz tartalmához hozzáadódott. A megvalósított rendszerben használt ALU aritmetikai és logikai egység (SN 74S181) segítségével, és az utasításban rendelkezésre álló ARM mező segítségével 16 féle különböző logikai és aritmetikai műveletet lehet elvégezni. Ezek közül a jelentősebbek: és, vagy, kizáró vagy, összeg, különbség, increment, decrement, clear, full memory, compare, stb. Ezen műveletek végzése közben az ALU aritmetikai és logikai egység FLAG kimenetei a FLAG ST flag tárolóban elraktározódnak (egyenlő, kisebb, nagyobb), és a továbbiakban ugrási feltételként használhatók. Feltételekhez kötött ugró, szubrutinhívó és viszszatérő utasításoknál a direkt ugrási feltételek (amelyeket a korábbiakban már említettünk) az aritmetikai vagy logikai műveletek során keletkező jellemzők voltak. Ezeken kívül bármely más információt ugrási feltételként csak úgy használhatunk az ismert megoldásoknál, hogy azt programtechnikai eszközökkel a fentiekre visszavezetjük. Ez természetesen további utasítások alkalmazását igényli, ami a programfutást lényegesen lassítja. A találmány szerinti processzor elrendezésnek a feltételvizsgáló rendszere ettől lényegesen különbözik. A fenti utasítástípusokon kívül itt lehetőség van utasítás segítségével külső hardware jelek tesztelésére, és eszerinti elágazásra. Egy ilyen utasítás formátuma a következő: Op. kód FELT. CÍM T/F UGRÁSI CÍM Az utasítás célja, hogy az utasításban a „feltétel cím” mező által kijelölt hardware jel szintjétől függően a program végrehajtás folyamatosan, vagy utasításban megadott „ugrási címtől” folytatódjon. Az utasítás mikrociklusai a következők: 0. Az utasítás Pr 1 és Pr 2 regiszterben van és dekódolódik. A Pr 1 regiszterben levő „FELT. CÍM” rész a MUX 5 multiplexer megfelelő bemenetét a kimenetre kapuzza. Az EX OR kapu kimenetén az utasítás „T/F” bitjétől és a vizsgált feltétel logikai szintjétől függő jelszint van (ha a „T/F” bit szintje és a vizsgált feltétel szintje megegyezett, akkor alacsony, ellenkező esetben magas jelszint van a kimeneten). 1. A mikrociklus elején az EX OR kapu kimenő jele az FF1 flip flopba íródik. Ha ez a jelszint alacsony volt, akkor a MUX 4 multiplexer átkapcsol, és a CD 1 kódoló kimenetéről egy NO OP (nincs operáció) utasításnak megfelelő műveleti kód kerül az MS mikroprogram tároló bemenetére. Ha a jelszint magas, a MUX 4 multiplexer nem kapcsol át, és az ugrási utasításhoz tartozó mikrociklusok hajtódnak végre. 2. A MUX 4 multiplexer nem kapcsolt át. A Pr 2 regiszter tartalma a MUX 1 és MUX 2 multiplexereken keresztül a PC programcím számlálóba töltődik. 3b. Műveletvégzés nincs. A PM program memória új címhez tartozó tartalma alakul ki ezen ciklus alatt. 4b. A Pr 1 és Pr 2 regiszterekbe az ugrási címhez tartozó utasítás töltődik, és a PC programcím számláló a következő címre lép. 5b. Műveletvégzés nincs. \z. új utasítás dekódolása történik. 2a. A MUX 4 multiplexer átkapcsolt. Ezáltal az MV mikroprogramozott vezérlő egység bemenetére a CD 1 kódolóból NO OP utasításnak megfelelő műveleti kód került. A Pr 1 és Pr 2 regiszterek töltődnek. A mikrociklus végén a PC programcím számláló a következő címre lép és az FF1 flip flop alaphelyzetbe állítódik. 3a. Műveletvégzés nincs, az új utasítás dekódolása folyik. A találmány szerinti processzor elrendezés I/O típusú utasításai teljesen megegyeznek az adatmozgató utasításokkal, hiszen a külső periféria regiszterek a DEMUX 1 és DEMUX 2 demultiplexerek segítségével belső processzorregiszterként kezelhetők. A fenti tulajdonságokból a következő előnyös adatátviteli sebességnövelő tényezők is következnek. — I/O típusú műveleteknél nincs szükség a RAM memóriából kiviendő vagy oda betöltendő adatok közbenső tárolására az AKKU R akkumulátor regiszterben (1 utasítás kiesik). — Külső ugrási feltétel vizsgálatok egyetlen utasítással tesztelhetők (I/O portos rendszerben minimum három utasításból Áló programrész lenne szükséges). — Az adatok közvetlenül töltődnek a periféria regiszterbe, nincs szükség az I/O port vezérlésre szánt bitjeinek külön utasításokkal (két darab) való beállítására. — Az 1. ábrán vázolt processzor elrendezésből és az utasítások végrehajtásának leírásából látható, hogy adatmozgatási műveletek alatt a transzferálandó adatok közbeeső tárolását a lehetséges szintig kerüljük, és az adatok a legoptimálisabb úton jutnak el rendeltetési helyükre. Ez a tény az utasítások végrehajtásához szükséges mikrociklusok számát minimalizálja. — A rendszernek a bipoláris alkatelemekből való felépítettsége a MOS technológiával épített LSI pro-5 10 15 20 25 30 35 40 45 50 55 60 65 6