Betekintés: Láng László - Zilog mikroprocesszor családok

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


SZÁMÍTÓGÉPARCHITEKTÚRÁK ESSZÉ LÁNG LÁSZLÓ Zilog mokroprocesszor családok Z800 2005. December 1. SZÁMÍTÓGÉPARCHITEKTÚRÁK Előszó A Zilog cég betörése a piacra rendkívül eredményesnek mondható volt, sőt később sikerült a csúcsra fejleszteniük a technológiájukat. Így születhetett meg a Z800-as is. Elődje: A 16 bites Z8000 mikroprocesszor család. A Z8000 mikroprocesszor típus címzési tartománya nyolcszor nagyobb mint az INTEL 8086 mikroprocesszoré és teljesítménye egy közepes miniszámítógéppel egyenértékű. Z8000 lényegesen kedvezőbb tulajdonságú processzornak tűnt, mint az INTEL 8086, és a szolgáltatásait tekintve olcsóbb is. Megjelentek a Z8000 mikroprocesszor-család 16 bites periféria illesztői is. Ennek ellenére számos felhasználó továbbra is kitart a 8086 vagy a 68000 mikroprocesszor család mellett. A felhasználók orientálódásának a vélemények szerint két lehetséges oka van. Egyik ok, hogy a

vevőkör általában vagy a legelső, vagy a legjobb új típusú terméket választja. Nem a Zilog, hanem az INTEL volt ezen a területen az első és tűnik a legjobbnak. A Zilog számára tehát csak a maradék érdeklődés nyújt lehetőségeket. A második ok az, hogy amíg az INTEL 8086 16 bites processzor kompatibilis az INTEL 8 bites típusainak adatbusz változataival (a 8080al), a Z8000 nem rendelkezik 8 bites adatbusz változattal. Ennek okáért a Zilog elhatározta, hogy egy olyan 16 bites processzort fog gyártani a Z800-at, amely 8 és 16 bites adatbusszal is rendelkezik. Mint azt a 8 bites operációs rendszerek fejlődése is mutatja, a mikroszámítógépet sokkal bonyolultabb feladatokra kezdik használni, mint néhány évvel ezelőtt. Napjainkban a 8 bites rendszerekben általában magas szintű nyelveket használnak, ezért a címezhető memória kapacitásnak növekednie kell. Mivel a memóriahellyel kapcsolatos követelmények sok alkalmazási területen

megnövekedtek, hátrányt jelent, hogy a 8 bites mikroprocesszorok címezhető memória-tartománya max. 64 kbyte. A 16 bites processzorok címezhető memóriakapacitása sokkal nagyobb, ugyanakkor a gyakorlatban sokszor jobban megfelelne egy 8 bites processzor. A 16 bites processzorok alkalmazása gyakran azt eredményezi, hogy a rendszer drágább lesz és a hatékonyság az árral nem nő arányosan. Ugyanakkor sokkal komolyabb problémát jelent a software inkompatibilitása. A végfelhasználó ideális megoldáshoz akkor juthatna, ha a memóriacímzési tartományt kibővíthetnénk és lehetővé tennénk, hogy használhassa azokat a software-eket, amelyek a Z80-hoz már rendelkezésre állnak. A Z8000 tervezésekor nem gondoskodtak arról, hogy kompatibilis legyen a Z80 processzorral, ezt a Z800-as processzornál kiküszöbölték. A Z800-as utasításkészlete a Z80 utasításkészletének egy kiegészített változata. A Z800-as mikroprocesszor kialakításánál optimális

lehetőségek biztosítására törekedtek, mind az előnyösebb műszaki paraméterek - a nagy végrehajtási sebesség, a kifinomult architektúra, a nagy címezhető memória-kapacitás, a magas szintű nyelvek és operációs rendszerek használata, mind pedig az alacsony ár tekintetében. A Z800 mikroprocesszor család A Z800-as család a következő tagokból áll: 8 bites Z8108, Z8208 és a 16 bites Z8116, Z8216. A Z8108 és a Z8208 támogatja a 8 és 16 bites busz - nem multiplikált - perifériáit, a Z8116 és a Z8216 támogatja a 16 bites Z busz - multiplikált - perifériáit. A Z8108 és a Z8208 40, a Z8116 és a Z8216 64 kivezetéses tokban van. A Z800-as mikroprocesszor tulajdonságai; bővítések, főbb jellemzők • A belső órafrekvenciája: 25 MHz • Utasítás-végrehajtási sebessége: 5 millió utasítás/s. Ez a sebesség azt jelenti, hogy a Z800-as versenyben van sok 32 bites mikroprocesszorral. • Alaptechnológiája: 2 mikronos NMOS • Címezhető

memória-kapacitása - lapozási technikával: 16 Mbyte • Bővült az utasítás-készlet Az új utasítások felhasználják a chip-ben levő lehetőségeket, a nagy órafrekvenciát, a megnövelt teljesítményt stb. • Bővítették a címzési módokat, ami növeli a rendszer rugalmasságát. Készítette: Láng László 2 SZÁMÍTÓGÉPARCHITEKTÚRÁK • A bővített megszakítás- és trap-kezelési lehetőség egyszerűsíti komplex real-time program task-ok készítését. • A rendszer és a felhasználói üzemmódban történő működésnél nagyobb a rendszer megbízhatósága. • A választható busz-időzítés nagyobb flexibilitást tesz lehetővé hardware tervezésnél. • Bővítették az I/O címtartományt. A Z800-as ARCHITEKTÚRÁJA A Z800-as processzort a Z80-as mikroprocesszor "mag"-ja köré alakították ki, kibővítve azt olyan chip-be beépített funkcionális egységekkel, amelyek rugalmas alkalmazhatóságot tesznek lehetővé.

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


Hardware bővítés a Z800-ban: • memóriakezelő egység (MMU-MEMORY MANAGEMENT UNIT) • cache memória • négy 16 bites számláló / időzítő • óra oszcillátor • programozható dinamikus memória frissítő • négycsatornás DMA vezérlő • egy soros PORT • egy teljesen duplex UART • regiszterkészlet bővítés Technológiai kérdések, NMOS Az 5 millió utasítás/s sebességet azzal lehetett elérni, hogy 2 mikronos felbontású Ncsatornás technológiát használnak az előállításhoz. A polyszilikon összeköttetéseknek két szintje van, az első az alacsony, a második a nagy-impedenciájú rétegben. Az eljárásnál négy tranzisztortípust alakítottak ki (THRESHOLD tranzisztorok) egy növekményes, egy instrinsic és két kiürítéses üzemmódú. Bemenet, kimenet, buszrendszer A Z800-as mikroprocesszor multiplexelt cím / adatbusszal rendelkezik. A Z800-as busz jelkészlete megegyezik a Z80-as jelkészletével, így a Z80-as család perifériális

eszközei illesztettek. Minden a chip-ben levő periféria-áramkör szabványos Z80 I/O címkiosztású és az egyes címek a Z80 I/O utasításokkal érhetők el. A Z800-as mikroprocesszor chip-be elhelyezett perifériakezelő egységekkel redukálják a rendszer integrált áramköri egységeinek számát, ezáltal kevésbé kell igénybe venni a külső buszt és csökken a rendszer ára. Az eszközök belső összekötésével növelték a teljesítőképességet és a gyorsaságot. Ugyanakkor a rendszer átmenetet biztosít a nagyobb teljesítményű rendszerek kialakítására, a legmodernebb 16 bites perifériák használatára. A Z800-as család el van látva egy globál / lokál buszopcióval és egy külső busz "arbiter" (döntnök)-el abból a célból, hogy multiplikált processzorok is használhassák a rendszerbuszt. A Z800-hoz az összes Z busszal rendelkező periféria csatlakoztatható, amely már rendelkezésre áll a Z8000,16 bites processzor családban.

Memóriakezelő Egy mikroprocesszoros rendszerben az egyik legnagyobb probléma a nagy program és adattartományok kezelése. Ennek problémának a megoldására hozták létre pl. a külső memóriatérkép (map) áramköröket, tértek át a 16 bites processzorok használatára. A Z800 processzor-család tagjai chip-be beépített memóriakezelő egységet (MMU - Memory Management Unit), lap-orientált memóriakezelést és memóriavédelmet biztosítanak. A CPU maga külön tudja választani a rendszer és a felhasználói tartományokat, valamint a program kódrészt az adatreferenciáktól mindkét tartományban. A Z800 MMU egy címfordító mechanizmust használ, amit dinamikus laprelokációnak nevezünk. A CPU logikai címet generál, amit az MMU fizikai címre fordít le, mielőtt kiküldené a címvonalakra. Dinamikus memóriafrissítő vezérlő Készítette: Láng László 3 SZÁMÍTÓGÉPARCHITEKTÚRÁK A frissítési tranzakció programvezérléssel

engedélyezhető vagy tiltható és megválasztható a felfrissítési frekvencia. Különálló busz tranzakciókat generálnak a Z800-as család tagjai a frissítéshez. A Z800-as memóriafrissítő vezérlő, 10 bites frissítő (refresh) címet generál, amely igen nagy kapacitású dinamikus memória támogatását biztosítja. Címzési módok A Z800-as mikroprocesszor címzési módjait a következőkkel növelték meg a Z80-hoz viszonyítottan. • Indexelt címzési mód (teljesen) 16 bites eltolással (displacement). • A verem-mutató (Stack Pointer) relatív címzési mód magas szintű nyelvek alkalmazásánál a szubrutin-paraméterek és a lokális változók lekérdezésére használhatók. A verem-mutatót (Stack Pointer) is fel lehet a változók címzésénél használni. • A programszámláló (PC) relatív címzési mód lehetővé teszi egy pozíciófüggetlen kód létrehozását, a kód az aktuális memóriarekesz relatív címzésére (abszolút címzésre

nem) használható. Ezt felhasználva ROM tartalmak és szubrutinkönyvtárak tölthetőek be. Ez a lehetőség csökkenti a program összeszerkesztési időt. • A bázis-index címzési mód egy operandus címzéséhez két regisztert használ. A címregiszterek (HL, IX, IY) bármely kombinációja használható. A két regiszter tartalmát összeadják. Ez lehetővé teszi, hogy a sturktúra két báziscíme és az index vagy offset kiszámításra kerüljön a végrehajtás ideje alatt. Az LDA (Load Address) utasítást használva a bázis-index címzési mód hatékonyan kombinálható más címzési módokkal Így kiépíthető egy ideiglenes komplex címzési mód, amely involválja az indexelés több szintjét. A Z80-nál már használt címzési módok is nagyobb flexibilitást biztosítanak, mivel kibővült az utasításkészlet, így több utasítás használható. Ezek a bővítések teszik lehetővé, hogy a Z800 architektúrája elég hatékony és flexibilis legyen a

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


magas szintű, valamint az assembler nyelven történő programozáshoz. Memóriakezelési technika A Z800-as mikroprocesszoros rendszer memóriakezelő egysége a processzor chip-be van beépítve ez lehetővé teszi, hogy a mikroprocesszor 512 kbyte-ot vagy 16 Mbyte-ot címezzen az eszköz tokozásától függően. A memóriakezelő más kezelési funkciót is lehetővé tesz, pl. külső memória csatlakoztatását a rendszerhez. (Memóriakezelő egység = MMU - Memory Management Unit.) A chip-ben levő memóriakezelő egység -Z80 programokkal- lapokra osztja a 64 kbyte logikai címtartományt. Azután ezeket a lapokat áttérképezik (lefordítják) a Z800-as szélesebb fizikai címtartományára. Attól függően lehetnek a lapok 8 vagy 4 kbyte hosszúságúak, hogy a program/adat szétválasztás engedélyezett-e. Ezzel a technikával 16 bites logikai címzéseket 24 bites fizikai címekre (Z8208, Z821)/ vagy 19 bites fizikai címekre (Z8108, Z8116) fordítanak le. A

memóriakezelési technikát a Z800-as a rendszer és felhasználói üzemmódú műveletvégzésnél, valamint a programok és az adatok szétválasztásánál használja. A címfordítás rendszer és a felhasználói üzemmódban is végbemehet, ezért az utasítás-referenciák el vannak különítve az adatreferenciáktól. Ez az elkülönítés megengedi, hogy a gépen 64 kbyte hosszú program 64 kbyte adattal dolgozzon anélkül, hogy az operációs rendszer beavatkozására lenne szükség.A logikai és fizikai címtartomány közötti fordítás végrehajtására a memóriakezelő a 16 bites lap-deszkriptorregiszterekből két készletet használ, egyet a rendszer, egyet a felhasználói üzemmódhoz. Minden 16 bites lap-deszkriptor-regiszter 12 bit címinformációt és 4 bit memóriavédelem információt tartalmaz. Logikai-fizikai cím A logikai cím az a cím, amelyet a mikroprocesszor memóriakezelője a különféle címzési módokkal kezel, a fizikai cím az a cím,

amelyet a memória-rendszer fogad. Abban az esetben, ha a mikroprocesszoros rendszernek nincs memóriakezelő egysége, a fizikai cím megegyezik Készítette: Láng László 4 SZÁMÍTÓGÉPARCHITEKTÚRÁK a logikai címmel.Abban az esetben, hogyha a mikroprocesszor rendelkezik memóriakezelő egységgel a processzor logikai címet állít elő, amit a memóriakezelő egység lefordít vagy kibővít, mielőtt a memória címvonalakra küldi mint fizikai címet. Például a Z80-as mikroprocesszor 16 bites logikai címe egy memóriakezelő rendszerrel könnyen kibővíthető 24 bites címre. Lapozás a memóriában A címfordítás elvégzéséhez sokféle technika használható, ilyen például a lapozás. Két laptípus létezik: a logikai lap, amely a mikroprocesszor címtartományának egy része és a lapkeret (frame), amely a fizikai memóriának egy fix hosszúságú blokkja. A lapkeret bemutatása céljából egy példát közlünk. A fizikai memóriában a lapkeret 4 k-s

(4096 byte) blokkokból áll. A lapkeret minden byte-ja egyedülálló módon címezhető a 12 címbit egy kombinációjával (12 bit meghatároz 4096 byte-ot). Egy 8 bites processzor 64k logikai címtartománya 16 logikai lapot tartalmaz, ugyanakkor 16 Mbyte fizikai címtartomány 4096 (4k) lapkeretet tartalmazhat. A memóriakezelő rendszertérkép 16 logikai lapból áll, vagyis a mikroprocesszor 16-ot "lát" a 4k lapkeretből. Felosztva a fizikai memóriát, 4k-s lapkeretekre, mindkét memóriacím-tartomány bővül és a memóriavédelem könnyen megoldható. Memóriacím-tartomány bővítés A memóriacím-tartomány bővítése történhet úgy, hogy a mikroprocesszor által kiadott 16 bites logikai címből 24 bites fizikai címet generálunk. A 16 bites logikai cím két mezőre van osztva: egy 12 bites eltolási (displacement) mezőre és a 4 bites index mezőre. A 4 bites index mezőt használjuk a 16 bites lap-deszkriptorregiszterek kiválasztására. Ezek

mindegyike 12 címinformációt tartalmaz, amivel 4096 lapkeretet lehet azonosítani a fizikai memóriában. A fizikai cím generálása a 12 bites lapdeszkriptior információk - amely a lap-deszkriptor-regisztertől érkezik - és a 12 bites logikai címmező összeillesztésével fejeződik be. Amikor a processzor a 16 bites logikai címet elhelyezi a címbuszon a cím alacsonyabb helyi értékű 12 bitje (A0-A11) megjelenik a fizikai memóriában az A12-A15 címbitekkel pedig kiválasztják a 16 lap-deszkriptor-regisztert. Ezután a 12 bites cím, amely a kiválasztott regiszterben van a buszra kerül azért, hogy előállítsa a fizikai cím magasabb helyi értékű 12 bitjét (A12-A23). A 16 lap-deszkriptorregiszter használata lehetővé teszi a felhasználónak, hogy 16 különálló lapkeretet érjen el bármely időpontban. A felhasználó 64 kbyte aktív memóriaterületet fog "látni" (16 lap * 4 kbyte/lap). Ha szükségessé válik egy másik 64 kbyte-os memória

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


szegmensben lévő lapkeret elérése, az egyszerűen megvalósítható az operációs rendszerrel, csak be kell tölteni egy új lapkeret értékét a megfelelő lap-deszkriptor-regiszterbe. Meg kell jegyezni, ha a lap-deszkriptorregiszterekben 000-tól 00F-ig vannak hexadecimális számok, a címzés olyan mintha a címtartomány bővített lenne. Memóriavédelem A memóriavédelmet négy memóriavédelmi bittel (attribute bitek) valósítják meg. A lapdeszkriptor-regisztereket az A12-A15 címbitek választják ki. A cím- és a memóriavédelmi információ is arra a partikuláris lapkeretre vonatkozik, amelyet kikerestek (elértek). A memóriakezelő rendszerben a külső áramkörök négy memóriavédelmi bitet használnak arra, hogy jelezzék a lapkeret elérés típusát és hogy információt jegyezzenek le a lap-blokkokról. A memóriavédelmi bitek a következők: az érvényességi bit, a beírás elleni védelem bit, módosító bit és egy további bit, ami lehetőség

egyéb célokra, pl. cache bit. A 4.5.4-1. ábrán látható a lap-deszkriptor-regiszterek bit-kiosztása. Az érvényességi bit jelzi, hogy a lap-deszkriptor-regiszter érvényes-e. Ezt a bitet input vagy output berendezés írja be vagy olvassa ki a megyelelő lap-deszkriptor-regiszterbe (vagy regiszterből). Ha az érvényességi bit logikai "1" értékű, a memória elérhető. Ha az érvényességi bit logikai "0" értékű, a memória elérés érvénytelen. Amikor egy érvénytelen Készítette: Láng László 5 SZÁMÍTÓGÉPARCHITEKTÚRÁK elérési kísérlet jön létre, akkor egy megszakítás generálódik, így egy megszakítás kiszolgálás rutin védelmet nyújt az érvénytelen eléréssel szemben. A beírás elleni védelem bit csak olvasást engedélyez (read-only) a memória lapkeretében. Az érvényességi és a beírás elleni védelem bitet állíthatja a felhasználó SET vagy RESET állapotba. Ha a bit SET vagyis logikai

"1" állapotban van, a memória beírás ellen védett. Ha beírási kísérlet történik, megszakítás jön létre. Amikor a beírás elleni védelem bit RESET, vagyis logikai "0", írási- és olvasási művelet is létrejöhet. Ez a bit akkor fontos, amikor a rendszerben multiplikált processzorok vannak és egy közös memórián osztoznak, vagy ahol egy működő rendszernek szüksége van vétlen beírás elleni védelemre, amit pl. egy végrehajtás alatt levő program idézhet elő. A módosító bit indikálja a memórialap beírhatóságát. A módosító bit egy állapotbit, így ez automatikusan SET állapotba kerül, amikor egy lapkereten belüli logikai címre az írás befejeződik. RESET csak akkor lehet, amikor az alacsonyabb helyi értékű byte-ot töltik be a lap-deszkriptorregiszterbe. A módosító bit jelzi, hogy a lapkeretbe a beírás megtörtént. A módosító bit határozza meg azt is, hogy mikor kell egy lapkeretet átmásolni egy

másik tárolóba. A cache bit jelzi, hogy egy lap betölthető-e a cache memóriába. A módosító bit és az utasításmegszakítási vagy újraindítási lehetőség kombinációja lehetővé teszi, hogy a processzor virtuális memória-rendszert implementáljon. A memóriakezelő egység a Z80-as címtartománynak bővítésére Ha nincs chip-be beépített memóriakezelő egység, BY PASS mechanizmust lehet alkalmazni a PASS mód engedélyezi a mikroprocesszor felé az utasítások végrehajtásának megkezdését. PASS módban a logikai cím bitjei (A12-A15-ig) átkerülnek a fizikai címtartományba A12-A15-ig, mialatt A16-A23-ig a fizikai címbitek SET állapotban vannak. Inicializálás után a mikroprocesszor lap-deszkriptor-regiszterei fordító módba kerülnek. A memóriakezelés használatát a Z80-as mikroprocesszornál már leírtuk, az egyes áramkörök a memóriacím-tartomány bővítése céljából, a memóriavédelmi szempontból a teljesítménnyel és a

megszakítás-kezeléssel kapcsolatosan kerülnek tárgyalásra. A memóriacím-tartomány bővítéshez a 74LS612 memóriatérkép áramköröket alkalmazzák. Ez tranzisztor-tranzisztor logikai áramkör, 12 bites lap-deszkriptor-regisztereket tartalmaz. Mivel a memóriatérképregiszterek 12 bit szélesek, ezért szükség van még 16 db 4 bites regiszterre a memóriavédelemhez. Ezeket a regisztereket 4 RAM memória 74LS219 és egy multiplexer 74S257 csatlakoztatásával lehet megvalósítani. A RAM memóriában a 4 bites regiszterek tárolják a memóriavédelmi biteket. Ezeket a regisztereket ugyanabban az időben töltik fel, mint a memóriatérkép-regisztereket. Ezzel rendelkezésre áll a 16 bites regiszterkészlet. A memóriavédelmi funkció a lap-deszkriptor-regiszterekben levő memóriavédelmi bitekkel valósul meg. A lap-deszkriptor-regiszterek a memória-eléréskor kapcsolatban vannak a lapkerettel. A memória egy blokkjába történő beírás vagy kiolvasás nem

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


mehet végbe, ha az érvényességi bit nincsen SET állapotban, vagy a beírás megkísérlése egy olyan memórialapra, amelynél a beírás elleni védelem bit SET állapotban van. Az érvényességi bitet minden olvasási vagy írási ciklus alatt vizsgálják, amivel biztosítják, a memóriablokk védelmét. Ha hiba lép fel, akkor egy nem maszkolt megszakítás (NMI) generálódik és a logikai cím bitjei (A12-A15) a LATCH-memóriába kerülnek. Ha a lap érvényes és írásművelet következik, a beírás elleni védelem bitet ellenőrzi, abból a célból, hogy a memórialapra lehet-e írni. Abban az esetben, ha egy nem érvényes (invalid) elérési kísérlet történik (valid=0), a rendszer egy beírás elleni védelem hibát jelez, aminek hatására is NMI jel generálódik, és a logikai cím bitjei (A12-A15) a LATCH-ba kerülnek tárolásra. Látható, hogy a logikai címbitek (A12-Al5) mindkét esetben a LATCH-ba kerültek, a megszakítás kiszolgáló rutin innen

olvashatja ki ezeket a biteket, annak meghatározására, hogy melyik lap-deszkriptor-regiszter tartalmazza azokat a memóriavédelmi biteket, amelyek a hibát jelezték. Az I/O PORT a 03H kiolvasás hatására négy címbit kerül a D0-D3 adatvonalakra. A memóriakezelő áramköröknek két üzemmódja van, a PASS és a címfordító. Amikor a rendszert bekapcsoljuk az áramkör a Készítette: Láng László 6 SZÁMÍTÓGÉPARCHITEKTÚRÁK PASS módba kerül és a rendszer úgy viselkedik mint egy módosítás nélküli Z80. A PASS módban és a megszakítás nyugtázás alatt az NMI a nem kívánt megszakítás megelőzése céljából tiltott. A címfordításmód megengedett, ha 00H-t írunk az I/O PORT-ba, ha a PASS módot akarjuk visszaállítani, akkor 01H-t kell beírni ugyanabba a PORT-ba. A rendszer üzemmódját az I/O PORT 03H 4 bitjének beolvasásával határozzuk meg. CACHE memória A Z800-as mikroprocesszor család minden tagja tartalmaz, cnip-be beépített

buffer típusú 256 byte-os memóriát. Ez a memória konfigurálható, mint nagysebességű cache memória vagy mint fix címes helyi memória. A cache programozható csak utasítás-memóriaként, csak adatmemóriaként, valamint adat és utasítás-memóriaként. A cache memória meggyorsítja a programok futását mivel redukálja a külső busz elérési időt. A cache működés és update állapotban tartás automatikusan megy végbe. Helyi memóriának használva, a címzése programozható, RAM-nélküli rendszerben használható. Mivel a memória a chipbe van beépítve sebességi eltérés nem fordul elő. Alkalmazási alapelv A cache alkalmazásának az alapelve a következő tapasztalatokon alapul az újabban használatos utasítások vagy adatok nagyobb valószínűséggel ismétlődnek, mint a régebbiek, ezért a cache mindig a legújabban elért kódokat tartalmazza. Így az ismétlődő tételek végrehajtása sokkal gyorsabb lehet. A processzor a kívánt adatokat

vagy utasításokat először a cache memóriában keresi, ha ott megtalálja, akkor nincs szükség a külső busz elérésre. A becslések szerint a Z800-as utasításvégrehajtási sebessége 2-8-szor nagyobb a cache memória alkalmazása következtében mint a Z80-as processzoré. A cache memória belülről Ha a rendszerben cache memória van, a memóriaszervezés úgy történik, hogy a 16 bytenak 16 vezeték áll rendelkezésére (4.6.2-1. táblázat). A Z800-as cache memóriájának szervezése 20 bit 16 bit 16*8 bit 0 sor 0 TAG (Toldalék) érvényes bitek cache adat 1 sor 1 TAG érvényes bitek cache adat 2 sor 2 TAG érvényes bitek cache adat . . . . . . . . . . . . 15 sor 15 TAG érvényes bitek cache adat Minden vezeték összeköttetésben van két mezővel: • egy 20 bites fizikai címtoldalék-mezővel és • egy 16 bites érvényes "valid" bit-mezővel A címtoldalék-mező kapcsolódik a fizikai cím 20 bitjéhez, amit a CPU és a memóriakezelő

generál. Ha egy kapcsolódás létrejött a 16 toldalékcím bármelyikét illetőleg fizikai cím alacsonyabb helyi értékű 4 bitjét használják a szükséges byte vagy szó kiválasztására. Ha az érvényességi bit (SET) kiolvasása megtörtént, és cache találat jött létre, a CPU felhasználhatja azt az információt (egy byte), amit a cache-ból kiolvasott. Ha az érvényességi bit nincsen SET állapotban, a processzor elküldi a címet a külső memóriába, és onnan hozza ki az adatot. Ezt az adatot a processzor felhasználja a program végrehajtásához, ugyanakkor beírja a cache memóriába is, amelynek hatására az érvényességi bit SET állapotba kerül, minden cache memóriába írt byte vonatkozásában. Ha a 16 címtoldalékból egyik sem illeszkedik a 20 bites címhez, a cache memória "túlcsordul" (Flushed), melynek hatására a processzor az összes érvényességi bitet törli, érvényteleníti a byte-ot és a 20 bites cím egy új

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


toldalék-címmé válik. Ezután a CPU az aktuális byte-ot vagy byte-okat a külső memóriából Készítette: Láng László 7 SZÁMÍTÓGÉPARCHITEKTÚRÁK hozza ki. A Z8116 és a Z8216-on levő Z busz interface lehetővé teszi, hogy a processzor a cache memóriába történő betöltésnél a busz tranzakcióhoz a kötegelt "burst" módot használja. Bár a "burst" módot a 64 kbites dinamikus RAM-hoz tervezték, hogy ellássa a sorosan "adagokba" szervezett kimenetet, mégis jól használható a cache memória feltöltéséhez. Ha nincs szükség a cache memóriára, áramkörileg ki lehet kapcsolni és a memória használható mint egy 256 byte-os fix címes RAM. A cache memória használható mint csak olvasható (ROM) memória, vagy tartalmazhat egy olyan programrészt, amelyet sebességnövelés szempontjából szükségesnek tartunk a chip-ben elhelyezni, ilyen pl. a megszakítás rutin. A cache memória működése a táblázatban

összefoglalva látható. MMU - cache tiltó bit cache memória ciklus tevékenység tevékenység csak olvasás csak utasítás utasítás találat olvasás lényegtelen lényegtelen nincs változás nincs változás utasítás olvasás hiány törlés lényegtelen frissítés nincs változás utasítás találat beállítás lényegtelen nincs változás nincs változás adat olvasás találat lényegtelen lényegtelen nincs változás nincs változás adat olvasás hiány beállítás lényegtelen nincs változás nincs változás adat olvasás hiány törlés beállítás nincs változás nincs változás adat olvasás hiány törlés törlés frissítés nincs változás adat írás találat lényegtelen lényegtelen frissítés frissítés olvasás adat írás hiány lényegtelen lényegtelen nincs változás frissítés Az ASCII-EBCDIC karakter átalakítás cache igénybevétellel táblázat: Címke mnemonik komment START TXLATE LD

IX,SBUF tárold a forrás-buffer-címet az X regiszterben LD IY,DBUF tárold a cél-buffer-címet az Y regiszterben LD DE,TABLE tárold az EBCDIC táblázat címét a D-E regiszterpárban LD B,"EOT" EOT karakter LD HL,DE a H-L regiszterpár mutat a táblázat START-ra LD A,(IX+0) karakter a forrás-bufferből AND A,07F paritásbit leválasztás ADD HL,A kalkuláld ki az indexet a táblázatban LD A,(HL) karakter lefordítása LD (IY+0),A tárold a karaktert a cél-bufferben INC IX mutass a következő karakterre a forrás-bufferben INC IY mutass a következő karakterre a cél-bufferben CP A,B utolsó karakter? IR NZ,TXLATE nem; csináld még egyszer RET igen; utolsó átalakítás Funkcionális egységek, időzítés Készítette: Láng László 8 SZÁMÍTÓGÉPARCHITEKTÚRÁK A Z800 processzor funkcionális egységei: memóriakezelő, cache memória, négy 16 bites számláló / időzítő, egy soros PORT, négycsatornás DMA vezérlő, egy

dinamikus RAM frissítésvezérlő. Mindegyik DMA csatorna 24 bites forrás és rendeltetési (cél) címet kezel. A csatornák programozhatóak lépésenkénti működésre; kötegelt (burst) és folyamatos üzemmódra. Az egyes funkcionális egységek a chip-ben levő periféria illesztőkkel szintén belül csatlakoztathatóak, ami tovább növeli az egység teljesítményét. 4 chip-be beépítve rendelkezésre áll egy teljesen duplex UART, különböző adatkezelési lehetőség és karakter formátum meghatározás az aszinkron soros összeköttetéshez. A Z8108 és a Z8208 négy darab 16 bites számláló / időzítőt tartalmaz a belső időzítéshez. A számláló / időzítő funkciók kívülről is vezérelhetőek kapuzott, triggerelt bemenetekkel. Tekintet nélkül arra, hogy 8 bites vagy 16 bites buszt használunk, a felhasználó programozhatja a Z800-as mikroprocesszor család minden tagjának a busz időzítését. Alaphelyzetbe állítás után a Z800as

mikroprocesszor-rendszer időzítése programozható, ami negyede, fele vagy egyező a CPU sebességével. Az óralépték WAIT állapotban programozható. Külső hardware használata nélkül nulla-három WAIT állapot "szúrható be" (inzertálható) a memória, az I/O és a megszakítás nyugtázó tranzakciókba. Továbbá WAIT állapot specifikálható szeparált memóriaterületekhez, így különböző sebességű ROM-ok és RAM-ok használhatóak ugyanabban a rendszerben. Engedélyezett a várakozási állapot külső generálása is. A Z800-as rendszeren az összes Z80-ra írt program akkor futtatható, ha az időzítőhurkok a Z800-as gyorsabb utasításvégrehajtási sebességének megfelelően változtathatóak. A chip-ben levő periféria illesztők, DMA, számláló / időzítő A Z800-as chip-be beépített periféria illesztők hatása a teljes rendszer szempontjából azt jelenti, hogy minimális helyet foglal el a nyomtatott áramköri kártyán, minimális

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


lett az eszközök közötti összeköttetés és a komponensek száma is. Ez az árfekvés szempontjából is jelentős. A Z8208 és a Z8216 4 DMA csatornája független, nagysebességű adatátvitelt tesz lehetővé; a soros PORT, egy teljes duplex aszinkron interface lehetőséget biztosít, a sebesség 10 MHz-es órafrekvenciánál 2 Mbit/s. A DMA csatornák adatátvitele programozható. A programozásnak megfelelően adatátvitel jöhet létre: memóriából memóriába, memóriából egy I/O eszközre (oda-vissza), vagy az egyik I/O eszközről egy másik I/O eszközre. Az adatok három üzemmódban továbbíthatók: lépésenként, kötegelten "burst" vagy folyamatosan. A lépésenkénti átviteli módban a DMA szekció mentesíti a buszt, így azt a CPU vagy egy másik DMA csatorna használhatja minden byte vagy szóátvitel között; a kötegelt "burst" átviteli módban teljesül az a lehetőség, hogy a DMA adatátvitel olyan hosszú ideig tartson, ahogy

azt a periféria kérése megkívánja, vagyis a periféria "kész" jelzésig. A folyamatos mód megengedi a DMA áramkörnek, hogy átvigyen egy teljes adatblokkot anélkül, hogy mentesítené a buszt. A kontroller minden csatornája működhet "no transzfer" - nincs átvitel módban, amikor úgy működik, mint egy számláló. Minden DMA csatorna a következőkből áll: egy 24 bites forráscím-regiszter, egy 24 bites rendeltetés cím-regiszter, egy 16 bites számláló-regiszter és egy 16 bites átvitel deszkriptor-regiszter. Mindezek a regiszterek a CPU I/O tartományban, I/O utasításokkal érhetőek el a CPU belső buszán keresztül. Külső kapcsolatok létesítéséhez, adatátvitelhez a DMA csatornák a processzor cím, adat és vezérlő vonalait használják. Minden csatorna rendelkezik egy olyan bemenő vezetékkel, amelyen keresztül a csatorna jelzést kap arról, ha egy külső eszköz adatátvitelt kér. Mind a négy csatornát a master DMA

kontroll-regiszter vezéreli, pl. összekötheti az egyiket a másikkal, vagy a soros I/O csatornákkal. Amikor a DMA csatornákat összekapcsolják, az egyik csatorna úgy működik, mint egy slave csatorna a master csatornába tölti be az új címet, és a deszkriptor információt. A master csatorna átvisz egy adatblokkot a rendeltetési helyére és azután addig vár, ameddig a slave csatorna a memóriából információt nem kap, az új adat felfrissíti a regisztereiben levő információkat. Ezzel a struktúrával különböző típusú átvitelek Készítette: Láng László 9 SZÁMÍTÓGÉPARCHITEKTÚRÁK valósíthatók meg, különböző memóriarekeszek iniciálhatók anélkül, hogy a CPU-t igénybe vennénk. Minden processzor chip-ben négy számláló / időzítő egység van, de a Z8208 és a Z8216 típusok azt is lehetővé teszik, hogy három számláló / időzítő "külső" célokra is igénybe vehető legyen a negyedik csak belső funkciókra

használható. A Z8208 és Z8216-on levő három külső igénybevehető számláló / időzítő teljes 16 bites lefelé számláló áramkör, amelyeket egymástól függetlenül lehet programozni, a külső események számlálására (számláló mód), vagy belső időzítésre (időzítő mód). A 16 bites számlálók közül kettő belül összekapcsolható, így 32 bites számláló állítható elő. Használatban minden számláló be van töltve egy kezdeti értékkel, amelyet a számláló 16 bites időkonstans regiszterében tárolnak (latch). Amikor a számláló értéke eléri a nullát az a következő események bekövetkezését idézheti elő: megszakítás generálódik, külső impulzus generálódik, vagy a számláló töltődik be az időkonstans regiszterből, hogy újraindítsa a lefelé számlálási szekvenciát. Hogy ezek közül az események közül melyik következzék be, parancs-bit-opcióval lehet meghatározni. Minden számláló kapuzható vagy

triggerelhető egy külső jellel vagy software-val, ez lehetőséget ad további vezérlésre. A soros PORT funkcionális egység segít az időzítésben, mint egy adatátviteli (baud-rate) generátor, vagy mint egy külső óra. A soros PORT szimultán adhat és fogadhat adatokat, két DMA csatornát kapcsolhat össze az adó-vevő részben, ezzel lehetővé teszi az automatikus, nagysebességű soros adatátvitelt. A PORT mint univerzális aszinkron adó-vevő beállítja az adatformátumot, ami a következőkből áll: egy start bit, 5-8 adatbit, paritás bit (páros vagy páratlan vagy nincs paritás), egy vagy két stop bit. A Z800-as dolgozhat ROM nélkül slave processzorként-egy "host" gazda rendszerben. Ha a Z800-ast slave processzorként használjuk egy nagyobb rendszerben a soros PORT elvégzi az adatok vagy a programok távirányított betöltését. A nagyobb távolságra történő betöltést "bootstrap" segíti, ami a processzor RESET

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


állapotában választható ki. Választáskor ez a mód automatikusan egy DMA csatornát kapcsol a soros PORT vevő oldalához egy nem létező rendeltetési helyet (000000) programoz a DMA csatornába, beállítja a soros PORT adatformátumát és megkezdi az adat 256 byte-jának betöltését a soros csatornán keresztül a memóriába. Rendszer és felhasználói üzemmód A Z800-as processzor a programokat rendszer vagy felhasználói üzemmódban hajtja végre. Rendszer üzemmódban a CPU minden regisztere elérhető. Az utasításokkal engedélyezett felhasználói üzemmód a Z80-as processzorban nem található meg. Ez az üzemmód védi meg a rendszert a felhasználó (alkalmazói) programjától, mert programvégrehajtás közben tiltja, hogy a felhasználói program utasításai zavart okozhassanak a rendszer állapotában (pl. disable megszakítások). Ezért ebben az üzemmódban bizonyos CPU regiszterek elérése tiltott. A Z80ra írt programok csak rendszer üzemmódban

hajthatóak végre a Z800-as rendszerben. Oszcillátor, óragenerátor A chip-be beépített oszcillátor / óragenerátor egyszerűsíti a rendszertervezést, mivel nem kell gondoskodni külső MOS óragenerátorról / meghajtóról. Egy kristály közvetlenül kapcsolható a Z800 processzorhoz, vagy egy TTL külső órajel szolgáltatható. A processzor egy belső órajelet generál, ami fele a kristály bemeneti frekvenciájának. Ez tovább osztható a külső rendszer órafrekvenciájának megfelelően. Megszakítás, trap A Z80 megszakítási módjai: 0, 1, és 2, a Z800-nál egy új megszakítási mód a 3. A 3. egy szerviz megszakítási mód, célja a belső megszakítások ún. "trap"-ok kezelése. A trap - egy nem programozott feltételes ugrás egy ismert rekeszbe, amelyet a hardware automatikusan aktivál. A 3. módban a processzor megszakítás / trap vektor-táblázatban egy új programállapotnak megfelelő értéktáblázatot keres. Ez az értéktáblázat

egy trap vagy egy nem vektorizált megszakítás esetében a következőkből áll: egy új programszámláló érték, egy új Készítette: Láng László 10 SZÁMÍTÓGÉPARCHITEKTÚRÁK "master" állapot-regiszter érték. A vektoros megszakításnál a programszámláló és a master állapot-regiszter eredeti tartalma regisztrált (mentve van) és a vektor adatait a megszakító eszközből olvassák ki. Ez a módszer megengedi a megszakítás teljes regisztrálását (skatulyázását), vagyis a megszakítás-engedélyezés előtti állapotot a stack regiszterbe mentik. A trap kondíciók számát a hardware-en belül határozzák meg a rendszer védelme érdekében, általában ezeket software-rel nem lehet hatástalanná tenni. A feltételek tartalmaznak kibővített utasítás-trapokat, amelyek jelzik a kibővített utasítások végrehajtása során, ha az architektúra a végrehajtásra képtelenné válik; osztásgátló-trap: megelőzi a nullával való

osztást; egy rendszerhívás-trap gondoskodik a szabályos átvitelről a rendszer és a felhasználói üzemmód között. Ezek és egyéb trapok engedélyezik a tervezőnek és a felhasználónak, hogy könnyen hozzon létre olyan feltételeket, amelyek különbözőképpen fogják befolyásolni a programvégrehajtást vagy a rendszer műveletvégzését. A Z800-as processzor megszakítás módjai: Megszakítás -mód 0 Leírás A megszakítást előidéző eszköz a buszon utasítást helyez el, amelyet a rendszer úgy hajt végre, mint a megszakítás kiszolgáló rutin első utasítása. (Ez általában egy ugrás vagy egy újraindítási utasítás). 1 Feltétel nélküli ugrás a 0038H címre. 2 Vektor olvasás az eszközből, regiszter tartalmával mutatnak a megszakítás kiszolgáló rutin táblázatában a megfelelő rutin induló címére. 3 A megszakítás előtti programállapot a verembe (stack) mentik. Az eszközből kiolvasott vektort használják az előbb

említett táblázat megfelelő elemének eléréséhez. A trap vektor-táblázat segítségével elérhető az új programállapot. A Z800-as rendszer lehetővé teszi a megszakítások maszkolását (maszkolható és nem maszkolható megszakítások). Z800-as processzor utasításkészlete A Z800-as mikroprocesszor utasításkészlete a Z80-as típusú utasításkészletének bővített változata. Az új utasítások: index, bázis-index, STACK mutató és programszámláló vonatkozásúak. Ezek a Z80 lehetőségein túlmenően öt üzemmódban hajthatóak végre, úgymint: "regiszter", "azonnali", "közvetlen elérés", "nem közvetlen regiszter" és "short index" üzemmód. Szorzás és osztás utasítások A szorzásnak számos variációja van, pl. 8*8 bites - 16 bites eredményig, 16*16 bites - 32 bites eredményig, bármely címzési módban. Az osztás változatai között a következők szerepelnek: 16 bit osztva 8 bittel -

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


8 bites hányados és maradék, 32 bit osztva 16 bittel - 16 bites hányados és maradék. Az osztás utasítás ellenőrzi a túlcsordulást és tiltja a 0-val való osztást. Ha ezek a feltételek mégis előfordulnak trapek jönnek létre, ezek programból kezelhetőek. Egyéb aritmetikai utasítások A Z800-as architektúrája még további 16 bites aritmetikai lehetőségeket biztosít. Ezek az utasításon a következők: • 8 és 16 bit jelbővítés (sign extend) • regiszter címzés akkumulátorból • 16 bites komparálás Készítette: Láng László 11 SZÁMÍTÓGÉPARCHITEKTÚRÁK 16 bites inkrementálás vagy dekrementálás a memóriában 16 bites negálás 16 bites teljes összeadás és kivonás Ezek a műveletek a HL regiszterpárt használják, mint 16 bites akkumulátort.Az IX és IY regiszterek elérhetőek, mint 16 bites regiszterek, vagy mint 2 db 2 byte-os regiszter. TEST és SET utasítás A TEST és SET (beállítás) utasítás támogatja a Z800-as

család alkalmazását multiprocesszoros rendszerek kialakításánál. Multiprocesszoros rendszerhez rendelkezésre álló teszt (TEST) és beállítás (SET) utasítás, lehetőséget biztosít az osztott forrású programok közötti összekapcsolásra. A betöltést vezérlő utasításcsoporttal állítják be a regisztereket a chip-en levő források konfigurálásához és a chip állapot kiválasztásához a rendszer üzemmódban. A rendszerhívó utasítás segítségével tér át a felhasználói rendszermódba, ekkor használhatja a rendszermód lehetőségeit (pl. megszakítás engedélyezés vagy nem engedélyezés). CPU vezérlő utasítások A Z800-as tartalmaz néhány új utasításcsoportot a CPU vezérléshez, az új regiszterek elérésének engedélyezéséhez, valamint a rendszer és felhasználói üzemmód kezeléséhez, szétválasztásához. Privilegizált utasítások A Z800-as processzor privilegizált utasításai csak a rendszer üzemmódban futó

programokban hajthatók végre. Privilegizált utasítások: • leállás (HALT) • megszakítás engedélyezés (ENABLE INTERRUPT) • megszakítás tiltás (DISABLE INTERRUPT) • megszakításmód kiválasztás • betöltés a processzor regisztereibe • visszatérés a megszakításból Rendszerhívó utasítás Az SC rendszerhívó (System Call) utasítás egy interface-t hoz létre a felhasználói módban futó program és a rendszermódú operációs rendszer között. Regiszterkészlet A Z800-as mikroprocesszoros rendszer regiszterkészlete a Z80-ashoz viszonyítottan kibővült. Ilyen bővítés például a felhasználói üzemmódhoz a verem (stack) mutató, ami a rendszerverem (stack) mutatóval együtt látja el a kettős üzemmódú működést. Tartalmaz két további busz-időzítő regisztert, a busz-időzítéshez, vezérléshez és inicializáláshoz. Ezeknek a regisztereknek az a célja, hogy WAIT állapotokat hozzanak létre a programban pl. a memória

műveleteknél - különböző sebességek és műveleteknél -a különböző sebességek és műveletek összehangolására, mint pl. DAISY CHAIN időzítés. Egy további lapregiszter 8 bittel bővíti ki az I/O címmezőt, ami az I/O műveletek végrehajtásánál hozzáadódik a 16 bites kimenethez. Ezekkel az extra bitekkel a szokásos módon engedélyezik a memória lapcímzéshez az I/O címek generálását. Az IX és az IY regiszterek index-regiszter funkciót látnak el. Rendszer üzemmódban minden regiszter úgy érhető el, mint egy 16 bites általános célú regiszter, vagy mint két, egy byte-os regiszter. A Z800-as mikroprocesszor teljes regiszterkészlete: • 8 byte-os dual általános regiszter bank, • 16 bites index-regiszter, • két 16 bites SP (Stack Pointer) verem-mutató. Egy a rendszer programokhoz (megszakítások, trap-ok) és egy a felhasználói programokhoz, • egy 16 bites PC (Program Counter) programszámláló, • • • Készítette: Láng

László 12 SZÁMÍTÓGÉPARCHITEKTÚRÁK • egy 16 bites Mater Status (MS) regiszter. Az MS regiszter számos jelzőbitet (flag) tartalmaz, amivel jelzi a processzor "jelen" állapotát, • 16 bites jelző- és vezérlőszó-regiszterek, ilyenek például a: o 16 bites megszakítás és trap vektor-táblázat mutatók, valamint o 8 bites I/O lapregiszterek. Betöltés a lap-deszkriptor-regiszterekbe A lap-deszkriptor-regisztereket egyedileg el lehet érni, de arra is van lehetőség, hogy mint I/O blokkot érjék el a processzor I/O utasításaival. Mivel minden regiszter 16 bit hosszúságú, szükség van arra, hogy az olvasás a regiszterből, vagy az írás a regiszterbe minden regiszter vonatkozásában kétszer történjék meg azért, hogy a teljes regisztert elérjék. A kétszeres elérés biztosítása érdekében minden lap-deszkriptor-regiszternek két I/O cím áll rendelkezésére, egy a magasabb helyi értékű byte-hoz, egy pedig az alacsonyabb helyi

Figyelem! Ez itt a doksi tartalma kivonata.
Kérlek kattints ide, ha a dokumentum olvasóban szeretnéd megnézni!


értékű byte-hoz. Az I/O címek listája a táblázatban található, I/O PORT regiszterek megnevezéssel. I/O PORT regiszterek XX00 rendszer vezérlő PORT XX03 laphiba és rendszer állapot XX10 Lap-deszkriptor-regiszter (alacsonyabb helyértékű byte) 0 XX11 Lap-deszkriptor-regiszter (magasabb helyértékű byte) 0 XX12 Lap-deszkriptor-regiszter (alacsonyabb helyértékű byte) 1 XX13 Lap-deszkriptor-regiszter (magasabb helyértékű byte) 1 XX14 Lap-deszkriptor-regiszter (alacsonyabb helyértékű byte) 2 XX15 Lap-deszkriptor-regiszter (magasabb helyértékű byte) 2 ... XX2E Lap-deszkriptor-regiszter (alacsonyabb helyértékű byte) 15 XX2F Lap-deszkriptor-regiszter 15 (magasabb helyértékű byte) Multiprocesszor működés A Z800-as processzor működhet multiprocesszoros rendszer tagjaként. A Z8208 és a Z8216 egységek rendelkeznek olyan chip-be beépített lehetőségekkel, amelyek biztosítják a multiprocesszoros rendszeren belüli

összeköttetést. A 4.8.-1. ábrán látható kapcsolás kettő vagy több processzort tartalmaz, amelyek mindegyike rendelkezik egy helyi - lokális busszal, amely néhány memória kombinációt és az I/O eszközöket látja el összeköttetéssel az osztott globális buszon keresztül összekötve a memóriablokkokkal. Ez az architektúra megkívánja, hogy a globális busz erőforrásainak allokálásához a busz-használat kiválasztása logikai áramkörökkel történjék. A Z800-as címtartománya a globális buszon keresztül osztható ki a processzorok helyi címregisztereihez. A kapcsolás tartalmaz egy master processzort a globális busz vezérléséhez és slave processzorokat az allokálási feladatokhoz. A Z8216 köré épített mikroszámítógép Készítette: Láng László 13 SZÁMÍTÓGÉPARCHITEKTÚRÁK Ha a nyomtatott áramköri kártyák méretét akarjuk csökkenteni, akkor a legjobb választás a Z8216 típus. Ez az eszköz sok olyan funkcionális

egységet tartalmaz, amely a mikroszámítógépek felépítéséhez szükséges. A megszakítások kezelése és egy párhuzamos PORT a nyomtatóhoz két Z8036 számláló / időzítővel és párhuzamos I/O áramkörökkel valósítható meg. Továbbá a soros I/O-hoz egy Z8030 kettős csatornájú soros összeköttetés vezérlő köthető be a helyi (lokális) buszba. A processzor saját óraoszcillátort tartalma, valamint egy órakimenetet, a beépített kristállyal az összes időzítés megvalósítható. A számláló / időzítő egyike óragenerátorként működik a belső soros PORT-okhoz, a chip-en kívüli soros összeköttetést vezérlő egy saját bit-frekvencia generátorral rendelkezik. A speciális állapot- és vezérlőjeleket a Z8216 modul szolgáltatja. Ezek egyszerűsítik a külső logikát, a busz és buffer vezérlőjelek generálásánál. Az alacsonyabb helyértékű 16 cím/adat vonal demultiplikálásához a címregisztert (latch) aktiválják a

címaktiváló (strobe) vezetéken keresztül, az állapotvezetékek jelei az 1-10 vagy az 1-16 dekóderekkel dekódolhatóak. Az első 10 állapot-kimenetet olyan rendszerekben használják, amelyeknek nincs bővített processzoruk, így kisebb dekóder használható. A dinamikus RAM (1 Mbit kapacitású) frissítésére a processzor tartalmaz egy 10 bites saját frissítő generátort. A processzor automatikusan tudja generálni a WAIT állapotot, ezzel lehetőség van arra, hogy a busz-időzítés és a memória elérési sebesség optimális legyen. Forrás: internet Készítette: Láng László 14