195015. lajstromszámú szabadalom • Processzor elrendezés primitív és összetett eljárásokat meghatározó utasítások végrehajtására
195015 Az első tíz primitív eljárás a 20 műveletvégzőt működteti. Mindenütt először a PAR paraméter verem tartalmát beírjuk az A regiszterbe, az alatta lévő tartalmat a B regiszterbe, elvégeztetjük a vonatkozó műveletet, azt az E regiszterből bevisszük a PAR paraméter verembe. A 11. és 12. sorszámú eljárásnál a PAR paraméter verem tetejét 1 -el növeljük, illetve csökkentjük. A DUP eljárást a 8. ábra kapcsán ismertettük. A SWAP eljárás megcseréli a PAR paraméter verem íelső két sorának tartalmát. A 15. sorszámú OVER eljárás a PAR paraméter verem tetejére beírja az eredetileg felülről második sor tartalmát. A DROP eljárás a paraméter verem legfelső sorát ejti. A 17. sorszámú S eljárás a paraméter verem tetején lévő adattal címzi az M memóriát és a kiolvasott memóríatartalmat a verembe viszi. A 18. sorszámú ! eljárás a paraméter verem felső sorában lévő adattal címzi a memóriát és erre a címre beírja a verem alatta lévő sorában lévő adatot. A 19. sorszámú R> eljárás a visszatérési verem tetejét beviszi a paraméter verembe. A 20. sorszámú >R eljárás a paraméter verem tetejét írja be a visszatérési verembe. Az I eljárás a visszatérési verem tartalmát átviszi a paraméter verembe és magában megőrzi. Az SP@ eljárás a paraméter verem tetejébe beírja a 22 mutató regiszter tartalmát. A PSTERROR eljárást a 10. ábra részeként ismertettük. A BRANCH eljárás az IP interpretation pointert eggyel növeli, ezzel a memóriát címzi, az adatot beírja az IP interpretation pointerbe (ugrás). Az 0BRANCH eljárást a 9. ábrán ismertettük. A 26-os sorszámú LIT eljárás az IP interpretation pointer értékét eggyel növeli, ezzel az értékkel címzi a memóriát és a címen lévő adatot a paraméter verembe viszi. A 27-es EXECUTE eljárást a 4. ábrán és a 28-as »;« lerminátor eljárást a 6. ábrán ismertettük. A 29. sorszámú NOW eljárás az IP interpretation pointer tartalmát beírja a paraméter verem tetejére, végül a 30-as SYS eljárás a rendszert eredeti állapotba viszi. A találmány szerinti elrendezést legcélszerűbb egy chipen megvalósítani, amivel a szokásos mikroprocesszorokhoz képest lényegesen gyorsabb és flexibilisebben programozható áramköri eszköz adódik. Az egyetlen chipen való integrálás természetesen nem feltétele az elrendezés megvalósíthatóságának, hiszen az 1. ábrán vázolt fő egységek egy része a kereskedelmi forgalomban kapható mikroprocesszorokban is megtalálható, bár a vermeket más célra, pl. stack pointerként használják. Egy kiegészítő hardware segítségével a szokásos mikroproceszszorok is a vázoltak szerinti működésre késztelhetők. A sebesség növekedését több tényező teszi lehetővé. Ezek közül kiemelkedő jelentő19 12 ségű, hogy a leggyakrabban használt műveletvégzési eljárások 1—4 órajelciklus alatt elvégezhetők. A CK. óragenerátor ciklusideje biztonsággal 100 ns-ra választható, így a primitív eljárások időszükséglete 100—400 ns között változik, jellegzetesen 200—300 ns. Egy további lényeges megtakarítást jelent a futási időben az a tény, hogy az egyes utasítások előtt külön mezőben nem adjuk meg, hogy az utasítás milyen jellegű (azaz primitiv eljárásra vagy összetett eljárásra) vonatkozik, hanem az utasítás bitjeinek ésszerű kiosztása és ennek logikai áramkörrel való figyelése ezt az információt azonnal származtatja. Ezzel a futási időszükséglet közel felére csökken, hiszen két memória hozzáférés helyett egyetlen hozzáférés elegendő minden utasítás kihozatalánál. Az eddig vázolt tényezőkön kívül további előny származik abból, hogy a vázolt elrendezés programozása jobban alkalmazkodik a magasabb szintű programnyelvekhez, különösen a FORTH nyelvhez, így a gépi kódra való lefordítás munka- és időszükséglete lényegesen kisebb a hagyományos felépítésű mikroprocesszorok hasonló jellemzőinél. A FORTH programozási nyelvet ismerő szakemberek számára az eddig leírtakból nyilvánvaló, hogy a találmány szerinti elrendezés milyen nagy mértékben támogatja a FORTH nyelven írt programok realizálását. A primitív eljárások és összetett eljárások azonnali megkülönböztethetősége pl. a FORTH nyelven írt utasítások esetén a kódcímmező elhagyását teszi lehetővé, mert a paraméter mező kezdő utasítása már a vonatkozó információt tartalmazza. SZABADALMI IGÉNYPONTOK 1. Processzor elrendezés primitív és öszszetett eljárásokat meghatározó utasítások végrehajtására, amely tartalmaz aritmetikai és logikai egységet, ehhez tartozó operandus regisztereket és eredmény regisztert, óragenerátort, továbbá az elrendezés egységei között, valamint külső egységek felé kapcsolatot teremtő és az utasításokat fogadó belső cím és adat buszt, és az elrendezés egységei felé vezérlési állapotokat továbbító belső vezérlő buszt, azzal jellemezve, hogy tartalmaz paraméter vermet (PAR), amely a belső cím és adat busszal (IADB) kapcsolódik és vezérlő bemenetel' a belső vezérlő buszhoz (ICB) csatlakoztatott mutató regiszterrel (22) kapcsolódnak, visszatérési vermet (RET), amely a belső cím és adat busszal (IADB) kapcsolódik és vezérlő bemenetéi a belső vezérlő buszhoz (ICB) csatlakoztatott második mutató regiszterrel (23) kapcsolódnak, a belső vezérlő buszról (ICB) vezérelt és a belső cím és adat buszhoz (IADB) kapcsolódó interpretation pointert (IP), továbbá a belső cím és adatbuszra (IADB) kapcsolt utasításokat figyelő, a köz-20 5 10 15 20 25 30 35 40 45 50 55 60 65