Informatika | Számítógép-architektúrák » Burján Péter - Mikroszámítógépek, összefoglaló szigorlathoz

Alapadatok

Év, oldalszám:1998, 74 oldal

Nyelv:magyar

Letöltések száma:760

Feltöltve:2004. június 08.

Méret:692 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 1. tétel Milyenek a félvezető anyagok? Olyan anyag, melynek vezetőképessége tiszta formában a fémek és szigetelőanyagok között van. A kristályrács szerkezetbe beépülő szennyezőanyag hatására változik a vezetőképesség. Ilyen a szilícium, vagy a germánium félvezető kristály A szennyező anyag kiválasztásától függően kapunk „n”, vagy „p” típusú kristályt. Az „n” típusú kristály mozgásképes negatív (elektron) töltéshordozókat tartalmazó, a „p” típusú kristály mozgásképes pozitív (lyuk) töltéshordozókat tartalmazó egykristály. • N típusú félvezetőt a 4 valenciaelektronos germánium vagy szilícium kristály 5 valenciaelektronos antimon vagy foszfor szennyezésével nyerjük. • P típusú félvezetőt 3 valenciaelektronos bór, indium, alumínium vagy gallium szennyezéssel állíthatjuk elő. Ha a két különböző típusú kristályt összeillesztjük, akkor

az összeillesztés mentén határréteg alakul ki, melynek egyenirányító hatása van. Ez az átmenet nyitó, vagy záró irányban működtethető A rákapcsolt feszültség polaritásának megfelelően vezet (kis ellenállás), vagy lezár (nagy ellenállás). Több különböző réteg összeintegrálásával különböző működésű, nagybonyolultságú áramkörök készíthetők igen kis méretben. Hogyan történik a prioritás meghatározása? Rendszer szintű: az osztott üzemmódú processzorok ütemezése történhet prioritásos algoritmussal. Ez az ütemezés a „SJF” (legrövidebb előnyben) algoritmus általánosítása. A készenléti sorban minden feladathoz egy egész számmal kifejezett, a feladat fontosságát jelző prioritást is tárolunk. A CPU-t minden esetben a legmagasabb prioritású feladat kapja, több ilyen esetén az előbb jött-előbb fut „FCFS” elv dönt. A prioritás belülről, vagy kívülről adható meg A belső prioritást a feladat

különböző paramétereiből (időhatárok, SJF, állományok száma, I/O igény, erőforrás igény, stb.) határozza meg a rendszer A külső prioritást a rendszeren kívül álló szempontok alapján adják meg (privilégium, fontosság, stb.) Minden prioritásos ütemezés közös problémája az ún kiéheztetés, ami azt jelenti, hogy egy kész állapotban lévő folyamat várakozási ideje nem korlátos. A folyamatosan érkező, nagyobb prioritású folyamatok egy alacsony prioritású munkát igen hosszú várakozásra késztethetnek. Ezért bevezették az öregedés fogalmát, mely szerint a prioritási sorban várakozó feladat az idő múlásával egyre magasabb prioritást kap. Amint a feladat sorra került, a prioritás vissza áll az eredeti értékére (VAX VMS IBM/OS2). További finomítása az algoritmusnak a kizárás Ez azt jelenti, hogy ha a várakozási sorban az éppen aktív feladatnál nagyobb prioritású feladat érkezik, akkor az kiszorítja az aktív

folyamatot és megkapja a CPU-t. Erre a finomításra feltétlen szükség van, mert csak így biztosítható, hogy többé-kevésbé szabályos időközönként minden felhasználó hozzá jusson a központi egységhez. Megszakításoknál: a kiszolgálás sorrendjének meghatározása történhet szoftver úton, amikor a vizsgálati sorrend egyben a prioritási sorrend is, vagy megszakítás-vezérlő alkalmazásával, ami a hardver, és a szoftver együttes alkalmazását jelenti. Mit értünk információ alatt? Információ minden olyan közlemény, amely a döntési bizonytalanságot csökkenti. Az információ a közlemény tartalma Ugyanolyan megjelenési formájú információ más-más környezetben más-más jelentéstartalommal bírhat. Az a jelsorozat, vagy közlemény hordoz információt melyet a befogadó értelmezni képes. Mit értünk az időosztásos (time-sharing) multiprogramozási módszer alatt? A multiprogramozás alkalmazásával látszólag több feladatot

végezhetünk párhuzamosan egy mikroprocesszoron. A feladatok elosztását az operációs rendszer végzi. Valójában egy-egy feladat csak a processzoridőnek bizonyos szeletét kapja meg A módszer többféle elosztási elven működik. A Time-sharing elosztásnál a különböző feladatok azonos időszeleteket kapnak a processzoridőből, míg az egyéb erőforrások használata részben prioritásos elven kerül szétosztásra. RISC processzorok jellemzői Redukált utasításkészletű processzorok: A processzorokon végzett utasítások használatának gyakorisági vizsgálatai kimutatták, hogy csak kevés utasításfajtát használ a processzor igen gyakran. Ezen vizsgálatok alapján indult el a fejlesztés a RISC processzorok felé A felhasználói programot közvetlenül a mikroutasítások szintjére fordítják, ezzel kiküszöbölik a mikrovezérlő rendszert. A RISC processzorok utasításkészlete rövid, rögzített hosszúságú utasításokból áll. Ebből

adódik, hogy egy utasítás egy gépi ciklus alatt végrehajtható. A CISC processzorokkal szemben kis számú utasítás (<128), és a címzési módok igen szűkített mértékű (2-4) használata Memóriahasználatra csak a LOAD és a STORE utasítás áll rendelkezésre, 1,2,4 byte-ot mozgatnak egyszerre, az utasítások végrehajtásához nincs mikroprogram. A lebegőpontos műveletek külön koprocesszor segítségével végezhetők. 1. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 2. tétel Melyek az IC-technológiák főbb irányzatai? A különböző IC-technológiák: • Szigetelő alapú technológia (jelenleg nem vagy ritkán használatos, inkább passzív áramköri elemek realizálására jók a vékony-, és vastagréteg technológiák.) • Hibrid IC-technológiák (az aktív elemei szilícium tranzisztorok, diódák vagy monolit IC-k, a passzív elemek szigetelő alapú technológiával készülnek.) A szilícium alapú monolit IC-k (egy lapkán

hozzuk létre a különböző áramköri elemeket): • Bipoláris • MOS A lapkán létrehozott áramköri elemek száma szerint osztályozhatjuk az IC-ket: • SSI (Small-Scale Integration) - alacsony integráltsági fok • MSI (Medium-Scale Integration) - közepes integráltsági fok • LSI (Large-Scale Integration) - magas integráltsági fok • VLSI (Very Large-Scale Integration) - nagyon magas integráltsági fok Szilícium alapú monolit IC-technológiák: • Bipoláris (a bipoláris tranzisztorok elvén PN átmenetek képzésével megvalósított IC-technológia. A működésben mindkét fajta töltéshordozó szerepet játszik az átmenetek kölcsönhatása következtében.) • MOS - unipoláris technológia (a térvezérlésű tranzisztorokból megvalósított IC-k, a vezetés a csatornában történik, a vezérlés a vezérlőelektródára kapcsolt feszültséggel történik) • CMOS - komplementer MOS áramköri elemekből felépített IC-k. A legújabb technológia

a biochip, mely még kísérleti stádiumban van. A biochip az élő sejtek DNS molekuláinak információtároló képességét használja ki. Milyen lépésekből áll egy megszakítás utasítás-sorozat? A megszakítási rendszer a párhuzamosan működtethető egységek felügyelete miatt szükséges. A processzornak nem kell állandóan figyelemmel kísérnie egy-egy egység működését, a megszakításon keresztül csak tudomást vesz a műveletekről, illetve engedélyezi azokat, majd a befejezés után ellenőrzi a művelet helyes lefutását. Magát a műveletet a megszakítást kérő eszköz elvégzi A megszakítási rendszer ezért lehetővé teszi: • a reagálást a központi egységen belül előálló speciális feltételekre (pl.: processzorhiba, 0-val osztás stb) • a kívülről érkező jelzések (megszakításkérés) kezelését, és ezek által • a párhuzamosan üzemeltethető egységek közötti koordinációt. A megszakítás hardver úton történő

vezérlésátadás (ugróutasítás) a megszakító rutinra. A megszakítás lépései: • a központi egységhez megszakítás kérelem érkezik • a központi egység egy utasításciklus befejezéséig várakoztatja a megszakítást, illetve addig, míg az adott osztályú megszakítás tiltva van • a megszakítás elfogadása után a központi egység a rendszer (megszakított program) állapotvektorát a megfelelő verembe elmenti • automatikusan privilegizált állapot jön létre, és legalább az adott osztályú megszakítások tiltása • az adott osztálynak megfelelő megszakítási vektorból a központi egység betölti a megszakító rutin induló állapotvektorát, és a megszakító rutin első utasítására adja a vezérlést • a megszakító rutin ellenőrzi a vagy befejezi az előző program állapotvektorának mentését, majd megállapítja a megszakításkérés okát és a szükséges teendőket és elindítja a megszakítás kiszolgálását • amint

a megszakítás feldolgozása túl van a kritikus szakaszon visszaállítja az adott osztály megszakíthatóságát • a megszakítás kiszolgálása után a vezérlés visszakerül valamelyik más programnak, általában az operációs rendszer valamelyik ütemező rutinja • az ütemező dönt a folytatásról, előveszi a folytatandó program elmentett állapotvektorát a veremből, majd a vezérlést a megszakítást követő utasításra adja. Mit értünk adat alatt? Az adat a közlemény, jelsorozat formai megjelenése. Az adat a jelentésétől megfosztott jelsorozat Mit értünk a valós idejű (real-time) multiprogramozási módszer alatt? A valós idejű operációs rendszerek közös jellemzője, hogy az egyes feladatok elvégzését szigorú időkorlát köti. Rendszerhibával egyenértékű, ha egy feladat nem hajtódik végre a hozzárendelt időkorláton belül, azaz az időkorlát döntő jelentőségű. Ezen kívül további fontos tulajdonság az eseményvezérelt

(event driven) jelleg. Az operációs rendszer nem vezérli a feldolgozást, hanem fogadja és teljesíti a kérelmeket. A kérelmek teljesítését biztosító programokat taszkoknak hívják (DEC), de ez megfelel a folyamat fogalmának (program működő állapotban). A valós idejű környezet az emberi beavatkozást minimalizálni igyekszik, hiba esetén, azonban ez elkerülhetetlen. A hangsúly nem az erőforrások optimális kihasználásán, hanem a biztonságos működésen van A teljesítményparamétereket úgy kell megválasztani, hogy az időkorlátok csúcsterhelés esetén is tarthatók legyenek. A biztonság érdekében továbbá alkalmazzák még a ROM-ba égetett programtárolást, mivel ez biztosítja, hogy a program nem érzékeny a környezet esetleges változásaira. Ezért ezeknek a szoftvereknek gyakorlatilag hibamenteseknek kell lenniük, a tesztelés csak a teljes környezet és eseményei szimulálásával lehetséges. 2. OLDAL MIKROSZÁMÍTÓGÉPEK

SZIGORLAT TÉTELEK 1998. A legfontosabb beviteli/kiviteli eszközök jellemző tulajdonságai (billentyűzet, egér, nyomtatók) Billentyűzet: saját vezérlővel rendelkező kétirányú adatbeviteli eszköz, melynek megszakítási rutinja valamely billentyű lenyomásakor annak scan kódját átküldi a billentyűzet pufferbe. A lenyomott billentyű azonosítására egy sorszám szolgál, és nem az ASCII kód, mivel ugyanahhoz a billentyűhöz több karakter is tartozik. Minden billentyűnyomáskor a vezérlő 2 byte-ot küld át a pufferbe Normál billentyűknél ASCII kód az egyik byte, scan kód a másik, funkcióbillentyűnél az első byte 0, a második a billentyűkód. Tetszőleges ASCII kód (0 kivételével, mivel az a funkciókhoz van fenntartva) bevihető úgy is, hogy az ALT-ot nyomva tartva a számbillentyűn beütjük a decimális számértéket. A vezérlő az átküldött kódokat egy 32 byte-os ciklikus pufferban helyezi el A puffer elejét és végét jelző

mutatók folyamatosan körbejárnak. A pufferból a BIOS 16h-os megszakítási vektorával lehet kiolvasni adatokat Egér: grafikus mutató eszköz, elsősorban a grafikus képernyők kezelő rendszere. Működési-mód szerint a következő típusai vannak: • Mechanikus vezérlésű • Optikai vezérlésű • Opto-mechanikus vezérlésű Segítségével rámutathatunk az adott pozícióra, és a gombjaival aktivizálható az adott pozícióhoz tartozó rutin. Az egér rutinjait (ellentétben a billentyűzettel, joystickal és fényceruzával) külön betölthető memóriarezidens meghajtó (driver) tartalmazza. A rezidens rutin által az egér könnyen kezelhetővé válik. Az egér és a processzor között a kapcsolat a soros porton keresztül jön létre, ahol 3, vagy 5 byte-os protokoll segítségével lehet a 33h megszakítás hívásával az egér állapotát lehívni. A három byte tartalma: 1.byte: az egér billentyűinek helyzete, állapota 2.byte: az utolsó 100 ms

alatti x-irányú elmozdulás 3.byte: az utolsó 100 ms alatti y-irányú elmozdulás Az 5 byte-os protokoll esetén 2-2 byte tartalmazza az x, illetve y irányú elmozdulást. Nyomtatók: olyan kimeneti egység, mely az ember számára közvetlenül olvasható, értelmezhető eredményt szolgáltat. A PC-knél kisebb teljesítményű nyomtatókat alkalmaznak, melyeknél első számú követelmény a jó minőségű nyomtatási kép. A PC és a nyomtató között a kapcsolat leggyakrabban a párhuzamos porton keresztül történik szabványos CENTRONICS felülettel. A nyomtató a 17h megszakításon keresztül vezérelhető BIOS szinten. Típusok: • Karakternyomtatók (egyszerre egy karakter megjelenítését végzi el, pl: margarétakerekes vagy gömbfejes nyomtató) • Sornyomtató (egyszerre egy egész sornyi karaktert visz fel, pl: forgódobos, vagy forgóláncos nyomtató) • Mátrixnyomtató (a nyomtató a kiírandó jeleket pontokká bontja, és ezeket a pontokat viszi fel a

papírra. A fejben általában 9 vagy 24 tű helyezkedik el egy oszlopban, melyek egyenként vezérelhetőek. A fej vízszintes irányú mozgása közben a tűk mindig egy oszlop pontjait nyomtatják ki. Az egy sorba írható pontok számával mérik a nyomtató felbontását) • Tintasugaras nyomtató (működési elve hasonló a mátrixnyomtatóéhoz, csak itt apró fúvókákon keresztül tintacseppeket fecskendeznek a papírra) • Lézernyomtató (a nyomtatóban egy töltéstároló hengert a nyomtatandó kép jelével modulált lézersugár segítségével feltöltenek, mely a nagyon finom por alakú festéket magához vonzza a töltésének megfelelően, majd az így felvitt festékréteget ráégetik a papírra) 3. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 3.tétel Mi a mikroelektronika hatása a számítógépiparra? Mikroelektronika = integrált áramkör gyártás. A mikroelektronikai áramkörök gyártói egyre gyorsabb és nagyobb kapacitású

áramkörök gyártására törekednek. A piacon maradás érdekében az árak alacsony szinten tartása szükséges A szoftverfejlesztők a technikai háttér folyamatos bővülése következtében egyre bonyolultabb és nagyobb sebességet, memóriát követelő programokat fejlesztenek. Ennek hatására a számítógépek szinte napról-napra fejlődnek, a számítástechnika az élet minden részében jelen van. Ez viszont még újabb fejlesztésekre ösztönzi a hardver-gyártókat. Mi a DMA? Közvetlen memória hozzáférés (DIRECT MEMORY ACCESS): Nagyobb sebességű eszközök és adatblokkos átvitel esetén célszerű a használata. A processzor által elindított DMA vezérlő önállóan végzi a tároló és a kiválasztott I/O eszköz közötti adatforgalom vezérlését. A DMA használatával a megszakítások száma csökken, ezzel processzoridő szabadul fel. A DMA segítségével lebonyolított átvitel lépései: Processzor oldal: • a mikroprocesszor megvizsgálja,

hogy az I/O eszköz tudja-e fogadni az átviteli kérelmet, ha nem hibavizsgálatot indít el. • a mikroprocesszor beállítja az átvitel címeit, paramétereit a DMA számára • elindítja a DMA-t, mely átveszi a vezérlést DMA oldal: • sín előkészítése • cím sínre tétele • adat sínre tétele • számláló csökkentése, ha nem nulla következő adat címzése, átvitele • ha a számláló 0, akkor sínkérelem megszüntetése • megszakítási kérelem a processzor felé Processzor oldal: • a processzor ellenőrzi a DMA vezérlőt az átvitel végrehajtásáról, a sín engedélyezését megszűnteti. DMA átviteli lehetőségek: • adatblokk átvitelnél a sín teljes időre való lekötése • nem blokkos adatátvitelnél cikluslopásos (cycle stealing) átvitel • DMA csatornák prioritásának meghatározása • tároló - I/O, tároló - tároló, I/O - I/O átvitel A 8237A DMA vezérlőben négy csatornán lehet az adatokat továbbítani, és

háromszáznegyvennégy bites saját memóriában lehet az áthaladó adatokat tárolni. Ebből több is összekapcsolható (az AT rendszerben kettő ilyen működik) Mi a különbség az információ és az adat között? Az információ a közlemény tartalma, az adat a megjelenési formája. Az adat akkor válik információvá, ha a vevő képes azt megfelelően értelmezni. Ismertesse a 386/486 és a Pentiumra épülő számítógéprendszerek fő jellemzőit! A gép tartalmaz egy közös tárolót amely egyaránt tárolja a végrehajtandó program utasításait, valamint az utasítások által feldolgozandó adatokat is. A gép vezérlő egysége a tárolt program utasításait egyenként sorra véve oldja meg a kívánt feladatot, a program utasításai által megkívánt aritmetikai és logikai műveletek elvégzésére egy önálló egység szolgál, az adatok és a program bevitelére illetve kihozatalára önálló egységek szolgálnak. Korlátok: a hagyományos

felépítésű számítógép eredeti formájának hibája, hogy a rendelkezésre álló erőforrásokat rosszul használja ki, és egy időben csak egy program hajtható végre, így tehát az erőforrások nem megoszthatók. Ezt küszöböli ki az operációs rendszer A monitorok feladata, legfontosabb jellemzői, a képinformáció tárolásának alapelve, módja, karakter, grafika. A monitorok feladata a képi információ megjelenítése karakteres, illetve grafikus formában. Működése megegyezik a televízió működésének elvével, azaz itt is egy elektronsugár jeleníti meg a képet egy fénykibocsátó réteggel bevont üveglapon, a bal felső saroktól kezdődően jobbra és lefelé haladva párhuzamos sávokra bontott részekben. Egy képernyő kirajzolása 1/50 másodperc ideig tart. A képernyő végigpásztázása lehet: • folytonos (non interlacing), egymást követő soronkénti pásztázás, mely gyorsabb képernyőfrissítést, de kevésbé finom felbontást

eredményez. Frissítés:1/50 s • váltott (non interlacing), finomabb felbontás, de nagyobb frissítési idő. Frissítés: 1/25 s A monitor egy-egy sorát rasztersornak nevezzük. A képernyő vibrálását a bevonat utánvilágítási idejének növelésével csökkentik Jellemzői : a kurzor alakja és tulajdonsága, a karakterek tulajdonságai és attribútumai, a szín megválasztása, a képernyő görgetése és lapozása, a képernyő megosztása. A képernyőn megjelenő karakterek formáját a karaktergenerátorok szabják meg Ez olyan vezérlő, amely minden karaktert a raszterpontonkénti leírását tartalmazó ROM tároló segítségével megjeleníti. A karakter ROM 1 és 0 sorozatával tárolja, hogy mely pontot kell kivilágítani. A karakter ASCII (American Standard Code for Information Interchange) kódja egy mutató a ROM tároló azon helyére, ahol a karakterhez tartozó pont mátrix tárolása kezdődik. Karakteres megjelenítés : lényege, hogy minden

monitornál a felbontása egységesen 20x25, 40x25 vagy 80x25, még az alkalmazható színek száma 2,8,16 lehet. Ennél az üzemmódnál minden karakterhez két bit tartozik (a karakter kódja és attribútuma (a karakter színe és a háttérszín)). Grafikus megjelenítés : lényege, hogy minden monitornak más a felbontása. Ez lehet 320x200, 640x350, 720x640, 800x600, 4. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 1024x768, 1240x1024 (a felbontások programok segítségével manipulálhatók). Az alkalmazható színek száma 2,4,16,32,64,256 vagy True Color lehet. Egy-egy megjeleníthető kép mérete függ a felbontástól, a színek számától és az ahhoz tartozó bitmennyiségtől Monitorvezérlő kártya típusok: • MDA (Monochrom Display Adapter) monokróm szöveges monitorok meghajtására 9x14-es karakterméret 2 szín • HGC (Hercules Graphic Card) szöveges és grafikus monokróm monitorok meghajtására max. 9x16-os karakter és 720x400-as

felbontású grafikus üzemmód, 2 szín • CGA (Color Graphic Adapter) szöveges és grafikus megjelenítéshez, 8x8-as karakter és 640x200 grafikus felbontás 16 szín karakteres és 4 szín grafikus üzemmódban • EGA (Enhanced Graphic Adapter) szöveges és grafikus megjelenítéshez, 8x14-es karakter és 640x350 grafikus felbontás 16 szín • MCGA (Multi Color Graphic Adapter) hasonlít az EGA kártyák felépítéséhez • VGA, SVGA (Video Graphic Array, Super VGA)karakteres és grafikus megjelenítéshez, 9x16-os karakter, 720x400 (1280x1024 / SVGA) grafikus felbontás 256 (32768 /SVGA) szín. 5. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 4.tétel Hogyan történik az A/D átalakítás? Az analóg jelet mintavételezés útján lehet digitális jellé átalakítani. Az analóg jelből meghatározott időnként mintákat vesznek Az információvesztés nélküli jelátvitelhez minimálisan az analóg jel maximális frekvenciájának kétszeresével kell

mintavételezni. fm≥2fmax A minták amplitúdóját digitális szám formájában viszik át, majd a vevő oldalon visszaállítják a mintákat. Ezt a jelsorozatot egy aluláteresztő szűrőn keresztül vezetve megkapjuk az eredeti analóg jelet. Az A/D átalakítás másik módja a kvantálás. Az analóg jelet időben és amplitúdóban felosztjuk A vonalon azt az értéket küldjük át digitális számsorozat formájában, hogy a jel az adott időpillanatban melyik résztartományban van. A résztartományok nagyságának megválasztásával a felbontást növelhetjük vagy csökkenthetjük. Eredeti jelalak Visszaállított jelalak Egy DMA mely regisztereket használja? Egy DMA rendszerint a következő regisztereket használja • címregisztert, amely azokat a memóriarekesz címeket tárolja, amelyek a következő írási/olvasási műveletekhez szükséges adatokat tárolják, • a számláló regisztert, amely a szavakat számlálja • állapot- (státusz) regisztert,

amelynek tartalma meghatározza az adatáramlás irányát, vagyis a hardver üzemmódját A processzor és a DMA vezérlő között a kapcsolat a megszakítási vonalak segítségével jön létre. Milyen részekre bontható fel az adatfeldolgozás folyamata? • • • • Adatelőkészítés, melynek során az adatokat adatbevitelre alkalmas formára hozzák, adatbevitel, melynek során az előkészített adatokat betöltjük a számítógépbe, és a gép számára megfelelő formára hozzuk, adatok feldolgozása előre meghatározott lépéssorozat alapján adatkihozatal, melynek segítségével a feldolgozás eredményét az ember számára, vagy további feldolgozás számára értelmezhető formára alakítunk. Mi a túlcsordulási, és az alulcsordulási hiba? Mi az oka ezek bekövetkezésének? Túlcsordulás jön létre akkor, ha az eredmény nagyobb, mint az adott tárolóhelyen ábrázolható legnagyobb szám, alulcsordulás akkor jön létre, ha az ábrázolni kívánt

szám kisebb, mint az adott tárolóhelyen ábrázolható legkisebb szám. Pl: az eredmény alácsordulhat, ha a lebegőpontos eredmény negatív karakterisztikájának abszolút értéke nagyobb a megengedettnél. A számábrázolás megfelelő megválasztásával kezelni lehet ezeket a problémákat (normalizált, vagy denormalizált formátum, nulla mint érték, végtelen mint érték formátum, nem szám formátum, alulcsordulásnál 0-val helyettesítés, hibaüzenet). Háttértárolók (floppy, merevlemez, optikai lemez) főbb jellemzői, a tárolás fizikai szintű megvalósítása a különböző tárolóeszközöknél. Floppy (hajlékony lemez): A legszélesebb körben elterjedt adathordozók, melyeket többféle típusban és kivitelben gyártanak. Az adatok tárolására a vékony műanyag hordozóra felvitt mágnesezhető réteg szolgál, melyet lágy vagy merev tokban helyeznek el. Az adatok a lemez felületén levő koncentrikus körökön, sávokon helyezkednek el,

melyek szektorokra vannak osztva. A meghajtóba helyezett lemezt a berendezés 300-360 fordulat/perc fordulatszámmal forgatja, és a fej a lemez felületéhez hozzáérve írja/olvassa azt. A lemez behelyezésének pillanatában a hardver érzékeli azt, és egy-két fordulat segítségével felméri annak állapotát. A folyamatos forgatás csak akkor jön létre, ha a felhasználó az adott meghajtót használni kívánja. Így ez a lemezfajta eléggé lassú, ugyanis csak a diszk tényleges kezelésekor mozgatja az abban levő mágneses korongot. A lemez felülírása fizikailag megvalósítható (sötét színű ragasztószalaggal, vagy az írásvédő kapcsoló átkapcsolásával ez a funkció letiltható). A hajlékony lemezeket többféle kivitelben gyártják. Winchester (merev lemez): A mikroszámítógépek belső háttértárolóiként szolgálnak. A 6-15 mágnesezhető réteggel ellátott könnyűfém lemezt a hermetikusan zárt védőburkolatában a meghajtó 3600

fordulat/perc sebességgel forgatja. Az állandó forgás miatt a fejek nem érnek hozzá a korongokhoz, hanem a keletkező légpárna miatt pár mikron távolságra vannak attól (repülő fejek). Akárcsak a hajlékony lemezeket, ezt is többféle kivitelben gyártják. Fizikai szintű megvalósítás: A mágneses elvű adatrögzítés a leggyakrabban alkalmazott rögzítési forma. Célja, hogy az adatok rögzítése a lehető legtömörebb legyen, továbbá a visszanyerés megbízható legyen A jelrögzítés formája digitális megoldású ellentétben más mágneses adatrögzítési eszközökkel. Ennél a formánál két mágnesezettségi szintet használnak (párhuzamos és merőleges). A két mágnesezettségi jelszint között átmenet akkor következik be, ha a rögzítendő jelsorozatban 1-es szerepel. Adattárolás előtt a lemezek felületét formázni kell, hogy kialakuljon a szabványos jelrögzítési forma A lemez felülete sávokra van osztva, melyen belül szektorok

kerülnek kialakításra. Ha több lemez áll rendelkezésre, akkor az egymás feletti szektorokat cilindereknek nevezzük. Igen gyakran külön sávokat használnak az indextáblázatok, és a meghibásodott sávok átmentéséhez. A szinkronizáció mellett a sávok kezdetét is jelezni kell az olvasó rendszer számára Ennek végrehajtására kétféle módszer használatos (szoft szektoros (minden szektort valamilyen egységes jelsorozat vezet be) és hard szektoros (a szektorok kezdetét valamilyen fizikai jel határozza meg)). A szektorok két részből állnak (fejrész (melyben az azonosításhoz szükséges 6. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. információk vannak) és adatrész (melyben maga a tárolandó adatsor található)). Optikai lemez. Csak olvasható lemez: A lemez készítésekor először egy mesterlemezt készítenek Ebbe lézersugár segítségével beleégetik az adatoknak megfelelő lyukakból (pit) és szakaszokból (land) álló

mintázatot. Erről negatív mintát készítenek, majd préselési eljárás során készítik el a CD-ROM-okat, melyeknek felületét fényvisszaverő anyaggal vonják be. Az olvasás során a lézersugár visszaverődése alapján állítjuk elő a jelfolyamot. Írható/olvasható optikai lemez: a lemez felületét különleges fémbevonattal látják el (gadolinium, terbium) melyek alacsony hőfokon nem mágnesezhetőek. A fémeket helyileg lézersugárral felmelegítve megváltoztatható a mágnese tuljdonságuk Az ilyen módon felmágnesezett fém a lehűlés után is megtartja mágnesezettségét. Ezt gyenge lézersugárral a CD-ROM-hoz hasonló módon lehet olvasni. 7. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 5.tétel Mit nevezünk bináris logikának ? Olyan logikai rendszer, amely kétállapotú elemekkel valósítja meg a kívánt logikai kapcsolatokat. A két különböző állapot jelölései: 1-0, igaz-hamis, igen-nem, true - false. A két állapotot

reprezentálhatja pl két különböző feszültségszint Milyen programlépéseket kell végrehajtani a DMA műveletek kezdeményezésekor • • • • Be kell tölteni az induló cím alacsonyabb helyiértékű felét a DMA címregiszterébe. Be kell tölteni az induló cím magasabb helyiértékű felét a DMA címregiszterébe. Be kell tölteni a szószámra vonatkozó adatokat a DMA számláló regiszterébe. Be kell tölteni egy vezérlő kódot a DMA állapot regiszterébe. Ez a kód határozza meg az adatátvitel irányát és annak megfelelően állítja be a DMA-t. Mit értünk kódolás alatt ? Az olyan adatátalakításokat, amelyek a közlemény tartalmi oldalát nem befolyásolják, és egy másik jelkészlet, szabályrendszer szerint írja le a közlemény tartalmát kódolásnak nevezzük. Azt a jelkészletet, amely elemeiből egy közleményt fel lehet építeni, kódábécének nevezzük. Tárolási formák a számítógépekben. Fixpontos: a szám kettes

számrendszerbeli együtthatóit kell elhelyezni a rendelkezésre álló véges hosszúságú rekeszbe. A kettedes pontnak minden gépnél rögzített helye van, mégpedig a legértékesebb bit előtt, vagy a legértéktelenebb után. Az első esetben a gép az értéket törtszámként, még a második esetben egész számként értelmezi. A kezelhető számtartomány erősen korlátozott és a tárolóhely hosszától függ. Felhasználható tárolóterülete 2-4 Byte Lebegőpontos: a számok tárolása hatványkitevős formában többnyire nullára normalizált alakban történik. Mivel a számrendszer alapszáma rögzített, ezért elegendő csak a mantissza és a karakterisztika tárolása. Tehát ez az adattárolási forma mindíg egy számpár ami a mantissza (fixpontos tört) és a karakterisztika (fixpontos egész) együttes tárolását és kezelését jelenti. Felhasználható tárterülete 4-6-8 Byte. Pozitív/negatív számok: nyilvánvaló hogy ezeket a számokat is

ábrázolni kell valahogy. Erre a célra (mármint az előjelzésre) a tárolt jelsorozat legmagasabb helyiértékű bitjét, az előjelbitet használjuk fel. Ha az előjelbit értéke 0, akkor a szám pozitív Ha pedig 1, akkor a szám negatív. A negatív számok tárolására négyféle módszert használnak a számítógépeknél Ezek: előjeles abszolútértékes, az előjelbiten ábrázolódik a szám pozitív vagy negatív volta, még a többi helyiértéken a szám abszolút értéke áll, egyes komplemens kódú, az n-1 számbiten az előjeltelen tárolandó számérték, még az adott tárolóhosszon ábrázolható legnagyobb számra a 2n-1-1-re kiegészítő szám jelsorozata törölődik, kettes komplemens kód, az előjeltelen számadatot az adott tárolóhosszon ábrázolható legnagyobb számnál egyel nagyobb számra tároljuk, 2n-1 többletes kódtárolás. A tárolandó számértékhez az adott tárolóhosszon ábrázolható számnál egyel nagyobb számnak megfelelő

értéket adunk hozzá. IEEE 754 lebegőpontos szabvány: a nyolcvanas években az amerikai villamosmérnökök szervezete (IEEE = Institute of Electrical and Electronics Engineers) dolgozta ki. A szabvány az adatformátumokat és a lebegőpontos műveletek közét is definiálja. Három lebegőpontos formát definiál Ezek: egyszeres pontosságú, 32 Bit hosszúságú, dupla pontosságú, 64 Bit hosszúságú, kiterjesztett pontosságú, 80 Bit hosszúságú. A lebegőpontos számokkal végzett műveletek problémája a túlcsordulás és az alulcsordulás megfelelő kezelése. A szabvány ezek kezelésére további adatformátumokat határoz meg. Ezek: normalizált adatformátum, denormalizált adatformátum, nulla számérték adatformátum, végtelen érték adatformátum, nem meghatározott számérték adatformátum. Tízes számrendszer: ebben a kódrendszerben a tízes számrendszerbeli számok számjegyeit egyenként konvertáljuk át az alkalmazott bináris kódba.

Ábrázolásukhoz 4 Bit szükséges. Legáltalánosabban használt kód a BCD (Binary Coded Decimal) kód Nem numerikus adatok: amikor a tárolt adatokkal nem kívánnak aritmetikai műveleteket végezni akkor alfanumerikus adatokat használnak. Elterjedt ábrázolási formái az ASCII (American Standard Code for Information Interchange) és az EBCDIC (Extended Binary Coded Decimal Interchange Code). Egyéb tárolási formák: jelöt adattárolás A tárolt adat kiegészül olyan információkkal amelyek az adatfelhasználás módját befolyásolják és meghatározzák, deszkriptoros adattárolás. Az egyszerűbb adatstruktúrák kezelését biztosítja kiegészítő információk hozzáadásával, összetett adattárolás. A szoftver szintű adatkezelést segíti A vedelem általános formái. Az i286/386/486-os processzorok védelmi rendszere, rendszer-objektumok, deszkriptorok, privilégiumok szerepe a védelemben. Az Intel processzorok multitaszkos feldolgozási módja,

feltételei (TSS szerepe, taszkváltás okai, lépései) Memóriaterület védelme: A címzések helyességének ellenőrzését jelenti, melyet az MMU-nak (Memory Managment Unit) mindig el kell végeznie. Meg kell akadályoznia a nem létező és hibásan megadott címek használatát Rendszerprogramok védelme: A rendszerprogramok védelme a felhasználói beavatkozásoktól. • Hierarchikus védelem: a programok más rutinokat csak saját védelmi szintjükön, vagy magasabb szinten hívhatnak • Nem hierarchikus védelem: minden taszk-hoz hozzárendelik, hogy más feladatokon milyen műveleteket végezhet el. Feladatok védelme: A felhasználók (feladataik) egymástól való védelme. • Hierarchikus • Nem hierarchikus Adatok védelme: A tárolt adatokhoz való hozzáférési lehetőségek ellenőrzése. Szabályozás különböző jogok deklarálásával • Olvasási jog: tetszőleges adatot olvashat a tárolóból, de azt nem változtathatja meg • Írási jog: az

adatokat átírhatja, törölheti, új adatokat írhat a tárolóba • Végrehajtási jog: a tárolóterületen található programot elindíthatja. Csak programkódhoz rendelhető! Processzor védelme: A processzorok védett üzemmódja különböző eszközök felhasználásával többszintű és hatékony védelmet tud nyújtani a multitaszkos feldolgozáshoz. A védelem eszköze egyrészt az elérhető erőforrásokhoz tartozó védelmi szintek használata, másrészt az erőforrások csoportosítása. Rendszerobjektumok szerepe: program és adatszegmensek, lapok, taszkok, táblázatok, kapuk. Privilégiumok szerepe: Az Intel286/386/486-os processzorok négyszintű védelmi rendszerrel rendelkeznek. A legmagasabb szintű az 8. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. operációs rendszer, alacsonyabbak a különböző kiszolgáló rutinok, még a legalacsonyabbak a felhasználói programok. A különböző privilégiumszinteken levő objektumok csak vele azonos,

vagy nála alacsonyabb privilégium szinten levő adatot használhat fel. Minden feldolgozás alatt levő feladathoz tartozik valamilyen privilégium szint, amit aktuális privilégiumszintnek neveznek. Az aktuális privilégium szint és a szelektor privilégium szintje körül mindíg a kisebb privilégiumú adja a tényleges privilégium szintjét. Deszkriptorok szerepe: GDT (Global Descriptor Table). Minden feladat számára elérhető táblázat mely bármilyen objektumhoz tartozó deszkriptort tartalmazhat, kivéve a kiszolgáló rutinok deszkriptorait. LDT (Local Descriptor Table) Egy-egy feladathoz tartozó deszkriptorokat tartalmaz. Az operációs rendszer minden feladathoz létrehoz egyet Így azok a deszkriptorok melyek egyik deszkriptortáblában sem találhatók meg, azokhoz a taszk nem férhet hozzá. IDT (Interrupt Descriptor Table) Védett üzemmódban a megszakítások kezelését biztosítja. Benne csak megszakítás kapu, csapda kapu és taszk kapu deszkriptora lehet

TSS (taszk állapotszegmens) szerepe: a taszkváltást a szegmensek közötti ugrás vagy eljáráshívás eredményezi, ha a TSS deszkriptorra vagy taszk kapura hivatkozik. Tartalma: a hívó taszk szelektora, az aktuális veremszegmens szelektora és a veremmutató értéke, a lapkatalógus tábla kezdőcíme, az általános regiszterek tartalma, az LDT szelektora, T jelzőbit, I/O bittérkép mutatója, I/O bittérkép. Taszkváltás okai: szegmensek közötti CALL, JMP vagy INT utasítás, amely a TSS deszkriptorra mutat, szegmensek közötti CALL, JMP vagy INT utasítás, amely a taszk kapura mutat, visszatérés a taszkból, megszakítás vagy kivétel feldolgozása. Taszkváltás lépései: a privilégium ellenőrzése, az aktuális feladathoz tartozó TSS jelenlétének ellenőrzése, új TSS létének ellenőrzése, az állapotjelzők beállítása, a taszkváltás jelzése, az új CPL beállítása, az LDTR feltöltése, szegmens deszkriptorok betöltése, ha az új TSS

értéke 1, akkor kivétel generálása, új taszk indítása. 9. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 6. tétel Milyen számrendszerek vannak ? Számrendszer: a valós számok ábrázolására szolgáló jelképek, és az ezek alkalmazására vonatkozó szabályok összessége. Legelterjedtebben a helyiértékes rendszereket használják, amelyben a valós számot karakterek sorozata úgy ábrázolja, hogy minden számjegypozícióhoz X helyiérték pozíció van rendelve és a valós szám értékét az egyes helyiértékek és a hozzátartozó alaki értékek szorzatainak összege adja. Alapszámul bármilyen valós számot választhatunk A számítástechnikában használatos számrendszerek: 2, 10, 16. A számok ábrázolása történhet különböző módokon: • fixpontos írásmód • lebegőpontos írásmód • normalizált írásmód Melyek a DMA vezérlő funkciói ? Címvonal vezérlés: a DMA rendszerben a memóriacímbuszt vagy a CPU, vagy a DMA

hajtja meg attól függően, hogy az adott ciklusban a memóriát melyik eszköz használja. A DMA ciklusban a DMA vezérlőnek a kívánt DMA művelet elvégzéséhez szükséges címet kell a címbuszra adni. Adatátvitel vezérlés: a DMA vezérlőnek a memória és az I/O készülék közötti közvetlen adatátvitelhez - megfelelő időzítéssel vezérlőjeleket kell szolgáltatni. E vezérlőjelek csak a DMA ciklusban kapcsolódnak a vezérlő buszra Cím-tárolás: a DMA vezérlő címregisztere tartalmazza a következő írásra vagy olvasásra kerülő szó címét. Ezt minden szó-átvitelénél növelni, vagy csökkenteni kell. Szószám-tárolás: a DMA adatátvitel indításakor a CPU betölti a DMA vezérlő számláló-regiszterébe az átvitelre kerülő szavak számát. A DMA adatátvitel alatt a DMA vezérlő számlálja az átvitt szavakat, és megadott számú szó átvitele után befejezi az adatátvitelt. Üzemmód-vezérlés: a DMA hardver üzemmódvezérlő

regiszterét a CPU tölti fel az adatátvitel kezdetén. Mi a kódrendszer ? Jelkészlet, és az ezt alkalmazó szabályrendszer összessége. Mi a lényege az adatok ASCII kódrendszer szerinti tárolási (kódolási) formájának ? Széles körben elterjedt az USA-ban szabványosított kódkészlet, amely 7 biten 128 különféle karaktert ábrázol, a 8. bitet pedig párosság-ellenőrzésre használja. Adatfeldolgozó, adatkommunikációs rendszerekben, és a hozzájuk kapcsolt berendezésekben használják. Mikroszámítógépekben a paritásbit helyett a 8 bit is felhasználásra kerül, így 256 karakter áll rendelkezésre A 386-486 processzorok felépítése, különbségek, regiszterek, utasításformák, címzési módok, virtuális címzés. Ezek a processzorok 32 bites eszközök és belső felépítésük azonosnak mondható. A különbség mindössze annyi, hogy az Intel 80486os processzor beépített koprocesszorral és egy 8 Kilobyte-os belső cache tárral rendelkezik

A 32 bites címsínből adódóan a címezhető tárolótartomány 4 Giga Byte nagyságú. A kompatibilitás megőrzése végett többféle üzemmódban képesek dolgozni Ezek az üzemmódok: • valós; hatására úgy működik mint az Intel 8086-os processzora, azaz a címezhető memóriatartomány 1 Mega Byte, • védett; 16 bites üzemmód, a processzor úgy működik, mint az Intel 80286-os, azaz csak 16 bites utasítások használhatók, és a címezhető tárterület 16 Mega Byte, • 16 bites virtuális Intel 8086-os üzemmód; a védett üzemmódból eredően az Intel 8086-oson futó program úgy kerül végrehajtásra az Intel 80368/80486-os processzoron belül, mintha annak egy taszkja lenne, • 32 bites üzemmód; a processzorok saját üzemmódja az összes erőforrás igénybevételével és feldolgozási lehetőségeivel. 386: Busz interfész kapu a külvilággal, minden külső egység ide fordul adatért, mivel ez az egység csak a fizikai címmel foglalkozik,

ezért az operanduscímeknek először át kell haladniuk a szegmentáló és lapozó egységen. Utasításlehívó egység egy 16 byte hosszú sort folyamatosan tölt fel adatokkal a busz interfész segítségével az utasításdekódoló egység számára. Az utasításdekódoló egység átalakítja a műveleti kódot belső formátumú utasítássá, és elhelyezi az utasítássorban, amelyben három utasítás fér el. Az egység azonnal jelez a busz interfésznek, ha a dekódolt utasítás memóriahivatkozást is tartalmaz, ez lehetővé teszi, hogy az adott utasítás operandusai még a végrehajtás előtt rendelkezésre álljanak. Az utasításvégrehajtó egység a CPU műveletvégrehajtó része. A regiszterek a végrehajtó egységen belül találhatók Az egység logikai része több-bites léptetést tud végrehajtani egy óraciklus alatt. Ezt a képességet a szorzások felgyorsításához, valamint a címindexek generálásához is felhasználja Az egység jelez a busz

interfésznek, ha adatot kell küldeni a memóriába. A szegmentáló egység alakítja a szegmentált címet lineáris címmé. Ez az egység tartalmaz egy cache-t, mely deszkriptortáblázat információt tárol a hat szegmensregiszter mindegyikéhez A lapozóegység a szegmentáló egység által szolgáltatott lineáris címet alakítja fizikai címekké. Ha a lapozás nem engedélyezett, a lineáris cím azonos a fizikai címmel, ha engedélyezett, akkor a lineáris címterületet 4096 byte-os lapnak nevezett blokkokra osztja. A lapok különböző fizikai címekre helyezhetők el. A processzor a laptáblázatot használja a lineáris címek fizikai címekké alakításánál Az egység tartalmaz egy átalakítási segédpuffernek (TLB Translation Lookaside Buffer) nevezett cache-t, amely a leggyakrabban használt 32 lap címeit tárolja. Ha a laptáblázat egy adata nem található a TLB-ben, akkor azt egy 32 bites memóriaolvasási ciklus elhozza a RAM.ból 486: A 386-os

egységei kibővültek egy numerikus adatfeldolgozó, egy lebegőpontos utasításvégrehajtó, valamint egy belső cache egységgel. A busz interfész csak akkor aktiválódik, ha a cache nem tudja a szükséges adatot szolgáltatni A lebegőpontos utasításvégrehajtó párhuzamosan működhet a hagyományos utasításvégrehajtóval. A memória-cache egy általános célú puffer a leggyakrabban hivatkozott memóriák tartalmának tárolására. A numerikus adatfeldolgozó hardver úton nyújt támogatást 3 lebegőpontos és egy BCD típusú, továbbá 3, a CPU által is használt egészszámos adatformátumnak. Regiszterek: általános célúak: EAX (akkumulátor), EBX (bázis), ECX (számláló), EDX (adat), ESI (forrás), EDI (cél), EBP (bázis), ESP(stack). szegmens célúak: CS (kód), DS (adat), SS (stack), ES (extra), FS-GS (szegmens), EIP (szegmensleíró). EFLAG: A végrehajtó egységhez kapcsolódik Lényegében ez egy jelző és vezérlőbiteket tartalmazó regiszter.

CR: Állapotjelző és vezérlőbiteket tároló vezérlőregiszter Részei: CR0; Általános vezérlőbiteket tartalmaz. CR1; Nem használt CR2; Az utolsó lapváltást előidéző címet tárolja CR3; A lapkatalógus 10. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. kezdőcímét tárolja. A processzorok által használt változó hosszúságú utasításszerkezetek hasonlóak az Intel 80286-oséhoz, továbbá egy vagy két címesek. Az utasítás műveleti jelrész byte-ja a műveleti előíráson kívül két biten az operandus helyét és hosszát is jelzi. A MODE byte határozza meg az operandus helyét, majd ezek után helyezkedik el a SIB byte, mely az indexelést szabályozza, majd a szegmensen belüli relatív cím és az adatkonstans. Az utasításformák a processzoroknál tömörek és hatásosak Az utasítások 1-15 byte hosszúságúak lehetnek. Az utasításfelépítés a következőkből áll; prefix byte-ok [opc], műveletkód byte-ok (max 2 byte),

címzési mód (max. 2 byte), relatív cím (max 4 byte), közvetlen adat (max 4 byte) Címzési módjai: A cím meghatározásában a MODE és a SIB byte tartalma vesz részt. A MODE byte egyik része az utasításban előírt műveletek egyik regiszterét, míg a másik két része a másik operandus helyét határozza meg. Használt módok a közvetlen és indexelt címzés Virtuális címzés: Az Intel 80386/80486-os processzoroknál a virtuális cím két számból áll, egy szelektorból, és egy offszetből. A szelektor egy 16 bites érték, amely egy szegmens virtuális nevét állítja össze. Ez a megfelelő szegmensbe kerül (CS DS stb) Az offszet egy 32 bites érték, amely az adott rekesz távolságát adja meg a szegmens elejétől számítva. A CPU a virtuális címet egy 32 bites lineáris címmé alakítja, ez a cím kerül rá a rendszer buszára. Így a közvetlenül címezhető memóriatartomány mérete 4 Giga Byte nagyságú, míg a virtuális címtartomány pedig

64 Tera Byte lehet. Virtuális címzés típusai: • Valós működési mód. A processzor úgy viselkedik mint ha egy valódi Intel 8086-os processzor lenne Maximális fizikai tármérete 1 Mega Byte lehet, még szegmensmérete maximum 64 Kilobyte-ot foglalhat el. • Védett virtuális működési mód. Ez a működési forma csak az Intel 80286-os processzortól volt használható Az Intel 80386/80486-ossal elérhető virtuális tárméret 64 Tera Byte, míg a fizikailag kezelhető méret 4 Giga Byte nagyságú. Üzemmódjainak lényege: • Valós. Hatására úgy működik mint az Intel 8086-os processzor, azaz a címezhető memóriatartomány 1 Mega Byte • Védett. 16 bites üzemmód A processzor úgy működik mint az Intel 80286-os, azaz csak 16 bites utasítások használhatók, és a címezhető tárterület 16 Mega Byte. • 16 bites virtuális Intel 8086-os üzemmód. A védett üzemmódból eredően az Intel 8086-oson futó program úgy kerül végrehajtásra az Intel

80368/80486-os processzoron belül, mintha annak egy taszkja lenne. • 32 bites üzemmód. A processzorok saját üzemmódja az összes erőforrás igénybevételével és feldolgozási lehetőségeivel 11. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 7. tétel Mi a kettes számrendszer előnye ? A kettes számrendszer előnye az elektronikában, hogy a megadott számokat impulzus-sorozatokkal lehet reprezentálni. Mivel a számok ábrázolásában két szám, a 0 és az 1 vesz részt, elektronikus áramkörökben a számábrázolás igen egyszerűen megvalósítható pl. feszültség van vagy nincs A kétállapotúság miatt egyszerű eszközökkel valósítható meg a feldolgozás, elvileg akár jelfogókkal is megvalósítható működőképes számítógép. Hogyan megy végbe egy DMA átvitel ? A DMA átvitel lépései: Processzor oldal: • a processzor megvizsgálja az I/O eszköz állapotjelzőjét, hogy fogadni tudja-e az átviteli kérelmet; ha nem tudja

fogadni, hibavizsgáló rutint indít el • a processzor kiadja az átviteli utasítást és a szükséges paramétereket (az átviendő blokk kezdőcímét, hosszát, az átvitel irányát) az előírt módon előkészíti a DMA vezérlő számára • elindítja a DMA vezérlőt, amely átveszi az irányítást DMA oldal: • sín előkészítése az adatátvitelre  DMA sínkérelem jelzése (BUS request)  sínciklus befejezése  processzor engedélyezi a sin használatát (bus grant) • cím sínre tétele • adat sínre tétele • számláló csökkentése; ha nem nulla, akkor további adatok átvitele • számláló = 0, akkor a sínkérelem megszüntetése • megszakítási kérelem a processzor felé Processzor oldal: • a processzor ellenőrzi a DMA vezérlőt az átvitel végrehajtásáról, a sín engedélyezését megszünteti. Mit nevezünk algoritmusnak ? Olyan előírás, amely szerint valamely feladat véges számú lépésben megoldható. Mire szolgál a

gépi kódú utasítás műveleti jelrésze ? Az elvégezhető művelet, feladat fajtáját adja meg a processzornak. Az INTEL processzorcsalád tagjainak általános felépítése, regiszterei, jellemzői, utasításformái, címzési lehetőségei. Intel 8088/8086: a két processzor felépítése egyforma. A különbség annyi, hogy az Intel 8088-as 8 bites adatsínnel rendelkezik, még az Intel 8086-os változat pedig 16 bites melynek címsíne 20 bites (így a címezhető tartomány 1 Mega Byte). A processzor négy funkcionális részből áll. A buszvezérlő egység feladata a processzor és a memória (vagy az I/O egység) közötti kapcsolat kialakítása Az utasításfeldolgozó egység az előkészített utasítást dekódolja a végrehajtáshoz. A végrehajtó egység a dekódolt utasításokban előírtakat hajtja végre a műveleti vezérlő irányítása alatt. A címkiszámító egység állítja elő és adja át a buszvezérlő egységnek az utasításban szereplő

operanduscímeket. Regiszterei: Általános célúak; AX (akkumulátor), BX (bázis), CX (számláló), DX (adat) A 8 bites rész önállóan is címezhetők megőrizve a kompatibilitást az Intel 8086-os processzorral. További regiszterek az SI (forrás), DI (cél), BP (bázis), SP (stack) melyek a címkiosztásban játszanak szerepet. Szegmens alapcímek CS (kód), DS (adat), SS (stack), EX (extra). Védett üzemmódban alkalmazásakor mindegyikhez tartozik egy a felhasználó által nem elérhető cache tár Állapotjelző célúak. Ide tartozik a jelző és a vezérlőbiteket tartalmazó FLAG (az utasítások végrehajtását tükröző) és az állapotbiteket tartalmazó MSW (a processzor állapotát tükröző) regiszter. Intel 80286: a processzor az IBM PC/AT gépek processzorra. Felépítését és regisztereit tekintve megegyezik az Intel 80886/8088asokkal Mindössze egy apró dologgal egészítették ki a kompatibilitás megőrzése végett Alapvetően két üzemmódja

ismeretes Az első a valós (mely esetében úgy működik mint az Intel 8086/8088-as processzor, azaz a címezhető tartomány 1 Mega Byte), még a második a védett (ekkor a címezhető fizikai tárolóterület a 24 vezetékes címsín alatt 16 Mega Byte, még a virtuális tárterület 1 Giga Byte). Utasításformák: a processzorok által használt utasítások változó hosszúságú utasításokat eredményeznek, melyek egy vagy kétcímes utasítások. Az utasítás műveleti jelrész byte-ja a műveleti előíráson kívül gyakran két biten az operandus helyét és a hosszát is jelzi. A MOD byte határozza meg az operandus helyét, majd ezt követően helyezkedik el a szegmensen belüli relatív cím és a közvetlen adatkonstans. Címzések: Indirekt címzés: a MODE byte tartalma vesz részt a cím meghatározásában Egyik része az utasításban előírt műveletekhez szükséges egyik operandus regiszterét, míg a másik két része pedig a másik operandus helyét

határozza meg. Virtuális címzés: ez a lehetőség az Intel 80286-os processzoroknál alkalmazható Révén a közvetlenül címezhető memória tartomány mérete 1 Giga Byte nagyságú lehet. A 386/486 processzorok 32 bites eszközök és belső felépítésük azonosnak mondható. A különbség mindössze annyi, hogy az Intel 80486-os processzor beépített koprocesszorral és egy 8 KByte-os belső cache tárral rendelkezik. A 32 bites címsínből adódóan a címezhető tárolótartomány 4 Giga Byte nagyságú A kompatibilitás megőrzése végett többféle üzemmódban képesek dolgozni. Ezek: valós; hatására úgy működik mint az Intel 8086-os processzorra, azaz a címezhető memóriatartomány 1 Mega Byte, védett; 16 bites üzemmód, a processzor úgy működik, mint az Intel 80286-os, azaz csak 16 bites utasítások használhatók, és a címezhető tárterület 16 Mega Byte, 16 bites virtuális Intel 8086-os üzemmód; a védett üzemmódból eredően az Intel

8086-oson futó program úgy kerül végrehajtásra az Intel 80368/80486-os processzoron belül, mintha annak egy taszkja lenne, 32 bites üzemmód; a processzorok saját üzemmódja az összes erőforrás igénybevételével és feldolgozási lehetőségeivel. Lásd 6 tétel 5 Kérdés 12. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 8.tétel Mit nevezünk Boole-algebrának ? Kétértékű logikai változókra definiált algebra, melyet George Boole angol matematikus dolgozott ki 1850 körül. A Boole-algebrában az x,y,z ∈M kétértékű logikai változókra, valamint az ÉS (.) a VAGY (+) logikai alapműveletekre a következők igazak: 1.) x(yz)=(xy)z 2.) x+(y+z)=(x+y)+z 3.) xy=yx 4.) x+y=y+x 5.) x(y+z)=(xy)+(xz) 6.) x+(yz)=(x+y)(x+z) 7.) x(x+y)=x 8.) x+(xy)=x 9.) létezik egy 0-elem 0∈M, melyre 0x=0 és 0+x=x igaz bármely x-re x∈M 10.) létezik egy 1-elem 1∈M, melyre 1x=1 és 1+x=1 igaz bármely x-re x∈M 11.) minden x-hez x∈M létezik egy és csakis egy

y y∈M, melyre xy=0 és x+y=1 igaz Az (1) és (2) összefüggések kimondják a műveletek asszociativitását, (3) (4) (5) (6) azok kommutativitás, illetve disztributivitását, a (7) (8) az abszorciós összefüggés, (9) illetve (10) a 0-elem, illetve az 1-elem, míg (11) a komplemens definíciója. A Boole-algebrát logikai algebrának is nevezik. Legfontosabb alkalmazása a GE Shannon által kidolgozott kapcsolás-algebra, mely a digitális áramkörök működésének alapját képezi. Milyen eszköz a MODEM, és mi a feladata ? Olyan eszköz, amely egy (digitális) bitsorozatot analóg átviteli csatornán (300-3400 Hz) történő átvitelre alkalmas analóg jellé alakít át (modulál), illetve a vett analóg jeleket (digitális) bitsorozattá alakítja vissza (demodulál). Sebessége szerint megkülönböztetünk kis-, közepes-, és nagy sebességű modemet. Működése során a bitsorozatot ábrázoló jellel modulálja a hordozó frekvenciát, és ezt a modulált jelet

kiadja az átviteli vonalra, illetve a beérkező frekvenciamodulált jelet demodulálja. A MODEM szó a Modulátor / DEModulátor szavak összevonásából származik. A MODEM-ek csoportosítása: Sebesség szerint • kissebességű (300-2400 bit/s) • közepes sebességű (9600 bit/s) • nagysebességű (56 kbit/s) moduláció fajtája szerint • amplitúdó-moduláció • frekvencia-moduláció • fázis-moduláció üzemmód szerint • szimplex • fél-duplex • duplex A sebesség növelése érdekében különböző megoldásokat is alkalmaznak, pl.: fázis-moduláció több amplitúdóval Mi a program ? A program a feladat végrehajtásának algoritmusa megfelelő programnyelvi utasításokkal leírva, melyeket a számítógép értelmezni képes, és hatásukra az algoritmus szerint elvégzi a feladatot. A program az alkalmazott programnyelvtől függően állhat egyetlen blokkból, vagy több programmodulból. A fejlettebb nyelvek már modulos, strukturált

felépítésűek, így a program egésze áttekinthető, egy-egy modul külön részfeladatot lát el, ezek önmagukban is vizsgálhatók. Alacsony szintű nyelvek: • gépi kód • assembly Magas szintű nyelvek • strukturált nyelvek (Pascal, C stb.) • 4GL OOP nyelvek Mire szolgál a gépi kódú utasítás címrésze ? A művelet végrehajtásához szükséges adat(ok) - operandus(ok) memóriabeli helyének címeit tartalmazza. I/O kapcsolások kezelése, soros (szinkron/aszinkron) átviteli módok. A perifériális eszközök kapcsolatát a processzorral az eszközvezérlőkben található regiszterek segítségével oldják meg. Minden adatforgalom, parancskiküldés illetve állapotlekérdezés ezeken keresztül valósul meg. A kapcsolatok kezelésére az I/O portok szolgálnak. Ezeket a parancsregiszter, az állapotregiszter és az I/O regiszter alkotja Soros átviteli mód; • Aszinkron átvitel: a karakterek ütemezés nélkül követik egymást. Minden karakter egy

startbitből, hét adatbitből, egy paritásbitből, és egy stopbitből tevődik össze. A stopbit hossza lehet 1, 1,5, vagy 2 bitidőnyi a rendszerbeállítástól függően Általában a startbit = 0 a stopbit = 1. A jelsorozat eléggé redundáns, azaz az információtartalom szempontjából felesleges jeleket is tartalmaz Használt sebességek a 110, 330, 1.200, 2400, 9600, 19200 bit/s • Szinkron átvitel: az egymást követő jelek ütemezetten követik egymást. Az adatok átvitele blokkos formában történik, melyeket szinkronizáló bitek egészítenek ki. Alkalmazható formái a karakterorientált és a bitorientált protokoll A redundancia alacsonyabb, 13. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. de a kapcsolódó hardver bonyolultabb. Alkalmazható sebességei a 4800, 9600 bit/s 14. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 9.tétel Mi az igazságtáblázat ? Logikai műveleteket leíró táblázat, amely a bemeneti értékek

valamennyi lehetséges kombinációjához megadja a művelet eredményét Miért használunk órajeleket a soros adatok átvitelekor ? A soros adatátvitelnél a vonalon folyamatosan visszük át az adatokat ezért a vevőnek szüksége van arra, hogy pontosan értelmezze az adatbitek határait, így az órajel annak a pillanatnak a megjelölésére szolgál, amelyikben a vevőkészüléknek értelmezni kell a vett adatot, azaz a folyamat szinkronizálására. Mit értünk hardver alatt ? A számítógép gépi eszközeinek összefoglaló elnevezése, megkülönböztetésül a programoktól, eljárásoktól és a hozzájuk tartozó dokumentációtól. (eredeti hardware = vasáru) Mit befolyásol az utasítások hossza ? A végrehajtani kívánt program hosszát, ezen keresztül a szükséges tárméretet, valamint a végrehajtás sebességét is. I/O kapcsolatok kezelése, párhuzamos átviteli módok. I/O kapcsolatok kezelése: a perifériális eszközök kapcsolatát a processzorral

az eszközvezérlőkben található regiszterek segítségével oldják meg. Minden adatforgalom, parancskiküldés illetve állapotlekérdezés ezeken keresztül valósul meg A kapcsolatok kezelésére az I/O portok szolgálnak. Ezeket a parancsregiszter, az állapotregiszter és az I/O regiszter alkotja Párhuzamos átviteli mód: • Programozott I/O; esetében a perifériát nem kell címezni, ugyanis ez a cím vagy az I/O port sorszáma vagy a memória tárolóhelyének a címe. A perifériautasítások a processzor egy regisztere és a periféria között valósítanak meg átvitelt Az átvitel lehet feltétel nélküli (melyet egyszerű esetekben alkalmaznak) illetve feltételes (melynél a periféria állapotjelzőinek ellenőrzése alapján és után történik az átvitel). • Megszakításos I/O; esetében a processzor idejét célszerű felszabadítani az átviteli feladatok alól, ezért erre a célra a megszakításos I/O-t alkalmazzák. Az átvitel kezdetén a

processzor jelzi az I/O eszköz számára az átvitelre vonatkozó indítási igényt. Az eszköz ezután az átvitel kezdetére alkalmas időpontot a processzor felé küldött megszakítási kérelmével jelzi • Közvetlen tárolóhozfordulás; esetén a processzor által elindított DMA vezérlő önállóan irányítja az adatátvitelt a tároló és a kijelölt I/O eszköz között a processzor kihagyásával. 15. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 10. tétel Milyen logikai elem az ÉS, a VAGY és a NEM kapuáramkör ? Alap kapuáramkörök. • Az ÉS (AND) kapu a logikai szorzást megvalósító olyan több-bemenetű áramkör, amelynek kimenetén kizárólag csak akkor jelenik meg H (magas) szint, ha az összes bemeneten H (magas) szint van. • A VAGY (OR) áramkör logikai összeadást végző több-bemenetű áramkör. Kimenetén akkor jelenik meg H szint, ha legalább az egyik bemenete H szintű. • A NEM (NOT) inverter kapu olyan egybemenetű

logikai áramkör, amely a kimenetén mindig a bemenettel ellentétes szintű jelet szolgáltatja. Miért kell az adó és a vevő készülékben azonos frekvenciájú órajelet használni ? Annak a pillanatnak a megjelölésére, amelyikben a vevőkészüléknek értelmeznie kell az adatot, órajelet használunk. Az órajel le-, vagy felfutó élét használhatjuk az időpont jelzésére. Egy soros adatot az adó egységnek azelőtt kell létrehoznia, mielőtt a vevőnek értelmeznie kell. Ez az oka annak, hogy az adóoldali, és a vevőoldali órajelfrekvencia azonos, viszont fázisban különböző, mivel az adatjel állapotváltozásához időre van szükség. Soros adattovábbítás lehetséges órajel nélkül is, viszont ekkor gondoskodni kell szinkron vagy aszinkron módon az adatblokkok kezdetének a jelzéséről. Mit értünk szoftver alatt ? Számítógépprogramok, és az ezekhez kapcsolódó dokumentációk összességét. Kétféle szoftvert szokás megkülönböztetni,

a rendszerszoftvert, valamint az alkalmazói szoftvert. Mit befolyásol az utasításkészlet? Az utasításkészlet befolyásolja: • az elemi utasítások száma és tartalma befolyásolja, hogy milyen feladatok végzésére lehet használni legelőnyösebben az adott mikroprocesszor • a chipen elfoglalt mikroprogramtár méretét • a program hosszát • sok utasítás ugyan rövidíti a program hosszát, de a feldolgozási idő növekedése mégis a feladatvégrehajtási idő növekedésével jár • a fordítóprogram bonyolultsága nagyban függ az utasításkészlettől. Ha az utasításkészlet önmagában több feltétel vizsgálatára képes ez a programot egyszerűsíti, viszont a fordítóprogram sokkal bonyolultabb lesz az elvégzendő elemi lépések száma miatt. • a kivételek számát Megszakítási rendszer lényege, megszakítások kiszolgálása. Megszakítások sorolása, többszintű megszakításkiszolgálás A megszakítási rendszer a párhuzamosan

működtethető egységek felügyelete miatt szükséges. A processzornak nem kell állandóan figyelemmel kísérnie egy-egy egység működését, a megszakításon keresztül csak a tudomást vesz a műveletekről. Illetve engedélyezi azokat, majd a befejezés után ellenőrzi a művelet helyes lefutását. Magát a műveletet a megszakítást kérő eszköz elvégzi A megszakítási rendszer ezért lehetővé teszi: a reagálást a központi egységen belül előálló speciális feltételekre (pl.: processzorhiba, 0-val osztás stb) a kívülről érkező jelzések (megszakításkérés) kezelését, és ezek által a párhuzamosan üzemeltethető egységek közötti koordinációt. A megszakítás hardver úton történő vezérlésátadás (ugróutasítás) a megszakító rutinra. A megszakítás lépései: • a központi egységhez megszakítás kérelem érkezik • a központi egység egy utasításciklus befejezéséig várakoztatja a megszakítást, illetve addig, míg az

adott osztályú megszakítás tiltva van • a megszakítás elfogadása után a központi egység a rendszer (megszakított program) állapotvektorát a megfelelő verembe elmenti • automatikusan privilegizált állapot jön létre, és legalább az adott osztályú megszakítások tiltása • az adott osztálynak megfelelő megszakítási vektorból a központi egység betölti a megszakító rutin induló állapotvektorát, és a megszakító rutin első utasítására adja a vezérlést • a megszakító rutin ellenőrzi a vagy befejezi az előző program állapotvektorának mentését, majd megállapítja a megszakításkérés okát és a szükséges teendőket és elindítja a megszakítás kiszolgálását • amint a megszakítás feldolgozása túl van a kritikus szakaszon visszaállítja az adott osztály megszakíthatóságát • a megszakítás kiszolgálása után a vezérlés visszakerül valamelyik más programnak, általában az operációs rendszer valamelyik

ütemező rutinja • az ütemező dönt a folytatásról, előveszi a folytatandó program elmentett állapotvektorát a veremből, majd a vezérlést a megszakítást követő utasításra adja. 16. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 11.tétel Milyen logikai elem az NAND (ÉS-NEM) és a NOR (VAGY-NEM) kapuáramkör? ÉS-NEM: olyan több-elemű logikai elem, melynek kimenetén akkor és csakis akkor jelenik meg L-szint (0), ha az összes bemenetén H-szint (1) van. VAGY-NEM: olyan több-elemű logikai elem, melynek kimenetén akkor jelenik meg L-szint (0), ha legalább egy bemenetén H-szint (1) van. Mit nevezünk beállási időnek? Minden olyan jelnek, amely az állapotát változtatja, szüksége van beállási időre. A beállási idő az időperiódus, amely alatt a jel az állapotváltozást követően eléri az előírt logikai szintet. Milyen számítógép a CISC gép? A CISC processzor utasításkészletére az alábbiak jellemzők: • az

utasítások bonyolult műveletsor végrehajtását eredményezik • sokféle utasítás és címzési mód használata • sokféle, a tárolót közvetlenül igénybevevő utasítás használata • mikroprogram-vezérelt utasítás-végrehajtás, bonyolult, sok tárolót igénylő eljárások • változó hosszúságú utasítások A CISC processzorok komplexebb utasításai rövidebb programot eredményeznek, kevesebb tárolóhelyet igényelnek, a program gyorsabb végrehajtású. Fordítóprogramjaik egyszerűbbek, a szoftver úton megvalósított funkciók száma megnövekszik Mely processzorok esetében használnak változó hosszúságú utasításokat? CISC processzorok esetében. A RISC processzoroknál a mikroprogramtár elhagyása magával hozta az utasításszerkezet változását, a kötött hosszúságú utasításokat. Sínrendszer lényege, feladata, részei (belső és külső sínrendszer, a sín használói, sínprotokoll fogalma). A sínrendszer működtetése

(vezérlés módja, szinkron és aszinkron sínvezérlés, kézfogás technika). A sínfoglalás módszerei, kapcsolatok gyorsítása A sínrendszer (buszrendszer) a gép funkcionális egységeit kapcsolja össze egy szabványosított vezetékrendszerrel. Az adatsínen az adatokat továbbítja a gép, a címsínen keresztül a memória-, illetve eszközcímeket továbbítja a processzor, a vezérlősínen vezérlőjeleket küld és fogad a processzor. Struktúra: Belső sínrendszer: a processzoron belül alakították ki. • 3-sínes rendszer esetén a címsín mellett külön sínrendszer van az írásra és az olvasásra. • 2-sínes rendszer esetén adat- és címsín áll rendelkezésre. • 1-sines rendszer. Közös adat- és címsínt csak nagyon egyszerű mikrovezérlőknél alkalmaznak A mikroprocesszoroknál manapság már nincs jelentősége. Külső sínrendszer: a processzor és más eszközök összekötésére szolgál. Az összekapcsolt területek alapján lehet: •

helyi sín (local bus), mely a processzorhoz közvetlenül kapcsolódó részt jelenti (pl. társprocesszor) • rendszersín (system bus), mely a processzort köti össze a gép egyéb részeivel (I/O eszközökkel) • memóriasín (memory bus), mely nem mindig képez önálló egységet. A sínrendszer felosztása: • címsín az eszközök címeit továbbítja rajta a processzor, szélessége 32 bit (régebbi processzoroknál 16,20,24) • adatsín a processzor adatot továbbít vagy fogad ezen a sínen, szélessége 32 vagy 64 bit • vezérlősín vezérlőjelek küldésére vagy fogadására használja a processzor ezt a 10-15 vezetékből álló sínt A buszt egyidőben csak egy eszközpár használhatja. Használatát az aktív eszköz (master) kezdeményezi, a passzív eszköz (slave) fogadja és végrehajtja a mastertől származó vezérléseket. A sínrendszer működésére vonatkozó szabályrendszert busz protokollnak nevezzük. Ez szabja meg a működési

szabályokat, a rendszer fizikai, mechanikai és elektromos jellemzőit, a rákapcsolódó eszközökre előírt követelményeket. A sínrendszer működtetése: a sínrendszerek a vezérlés szempontjából két fő csoportra oszthatók: • szinkron ütemezésű buszok, melyek saját órajellel rendelkeznek és ezek ütemei szabják meg a folyamatok időbeli lefutását. • aszinkron ütemezésű buszok, melyek saját órajellel nem rendelkeznek és a folyamatok lefutását az egymást követő elemi lépések befejezése szabályozza. Az eszközök kapcsolataiban igen elterjedt megoldás a kézfogás technika (hand shaking). A processzor és a tároló közötti adatátvitel esetében így működik: a memóriaoldal mindaddig várakozik, amíg az átvitelre felszólító jelet (ALERT) nem észleli. A processzor oldala ezek után viszont arra vár, hogy a művelet befejeztéről a kész (READY) jelzést megkapja. Az adatátvitelek lebonyolításához egy időben több aktív

eszköz is igényelheti a busz használatát. A buszhasználat jogának eldöntésére szolgáló folyamatokat nevezik buszfoglalásnak. Az igények kiszolgálása két módon történhet: párhuzamos kiszolgálás esetén minden eszköz önálló buszkérő és buszkiszolgáló vezetékkel rendelkezik. A beérkező igényeket a vezérlő logika sorolja, dekódolja és a legmagasabb prioritású eszköz számára engedélyezi a busz használatát. Soros kiszolgálás alkalmazásakor az eszközök sorba vannak kötve és elhelyezkedésük szabja meg, hogy mikor kaphatják meg a busz használatát. Amelyik eszköz a legközelebb van a vezérlőhöz, annak a prioritása a legmagasabb. A kapcsolatok gyorsítására lehetőséget nyújt sínrendszer működésében rejlő tartalékok kihasználása, mint a buszciklusok átlapolása vagy a blokkos adatátvitel gyorsítása. Ha a memória elérési ideje nagyobb, mint a buszciklus időtartama, akkor átlapolással gyorsítható az átvitel.

Blokk-buszciklus esetében nem egyenként történik az adatok címzése, hanem automatikusan a tároló következő helyét veszi a vezérlő. 17. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 12. tétel Mit nevezünk kombinációs döntési hálózatnak? Olyan digitális hálózat, melynek bármely bemeneti állapotához, jelkombinációjához egy definiált kimeneti jelkombináció tartozik. Mi az adatátviteli sebesség mértékegysége? Az adatforrástól az adatvevőbe időegység alatt átvitt bitek, byte-ok, blokkok száma. Mértékegysége: bit/s, byte/s, blokk/s, blokk/min, blokk/h Milyen számítógép a RISC gép? Egyszerű és viszonylag kevés számú utasítást használ, a mikroprogramot elhagyja az utasítások végrehajtásánál. Utasításkészletének jellemzői az alábbiak: • kevéssé bonyolult utasítások, egyszerű LOAD/STORE- , műveleti- és elágaztató utasítások • kevés utasítás (<128) és címzési mód (2-4) használata • az

utasítások rögzített hosszúságúak • az utasítások végrehajtásához egy gépi ciklus elegendő • nincs mikroprogram, a végső formát igen bonyolult fordítóprogram állítja elő A RISC processzorra jellemző az erőteljes adatcsatornás feldolgozás, a nagy méretű regisztertár, valamint a huzalozott utasításvégrehajtás, ami gyorsabb működést eredményez. Redukált utasításkészletű processzorok Milyen megoldásokkal csökkenthető a négycímes utasítás címeinek száma? A négy cím • 1. operandus címe, • 2. operandus címe, • eredmény címe, • következő utasítás címe Az utasításszámláló regiszter (PC) bevezetésével a soronkövetkező utasítás címe elhagyható. Az így kapott forma a háromcímes utasítás. Minden utasítás végrehajtásakor a processzor növeli eggyel a PC tartalmát. Az utasításoknak ilyenkor a végrehajtás sorrendjében kell a tárban elhelyezkedni. Az eredmény címének elhagyásával keletkező

kétcímes utasításforma esetében az eredmény vagy az egyik operandus helyére, vagy az akkumulátor regiszterbe (AC) kerül. A második operandus címét elhagyva kapjuk az egycímes utasítást. A művelet itt a megcímzett tárolóhely és az AC tartalma között hajtódik végre és az eredmény is az AC-ba kerül. A nullacímes utasítások veremtárolót alkalmaznak az operandusok és az eredmény tárolására. Virtuális címek leképezési módszerei (szegmens- és lapcímzések egy- és többlépcsős megoldási formái). Virtuális címzés: a teljes tárolóterületet, vagy ennek egy részét látszólag közvetlenül címezhetjük, azaz egy egységnek, látszólagos központi tárnak tekinthetjük. Az így rendelkezésre álló címek összessége a virtuális címtartomány A virtuális címtartomány bármely részében elhelyezkedő blokkot a feldolgozáshoz a központi tár területére kell átvinni. E címleképezés összefüggése: valós cím = átvitt blokk

fizikai kezdőcíme + relatív cím. Ha az átvitt blokk mérete változó, szegmensnek, ha állandó, lapnak nevezzük. A virtuális címek átalakítása valós, fizikai címekké a tárolókezelő rendszer (MMU) feladata. Egylépcsős címképzéskor a szegmens- vagy laptáblázat tartalmazza a tárbeli fizikai címet. Szegmenscímek: • a cím felső 8 bitje (beágyazott sorszám) jelöli ki a fizikai címet tartalmazó táblázatsort • a táblázat sorindexe a szegmensregiszterbe található Lapcímek: a virtuális cím felső 20 bitje jelöli ki a laptáblázat megfelelő sorát, amelyben a lapkeret sorszáma tárolódik. Kétlépcsős változatkor: • a virtuális cím 3 részből áll. Az első (10 bit) a laptábla-katalógusban jelöli ki a használandó táblázat kezdőcímét, a második a táblázaton belül jelöli ki a sorszámot, a legalsó 12 bit járul hozzá a pontos cím kiértékeléséhez. • a szegmenskijelölés nem a virtuális cím alapján, hanem egy

regiszter tartalma alapján történik. A keresett pontos címet a lapsorszám által kijelölt lapkeret sorszám és a relatív cím egyesítése adja. Háromlépcsős változatkor: • a virtuális cím négy részből áll: a laptábla-katalógus kezdetét kijelölő sorszámból, a laptáblázat kezdőcímét kijelölő sorszámból, a lapot kijelölő sorszámból és a relatív címből • a szegmensregiszterben található szegmenssorszám indexként kijelöli a szegmens kezdőcímét, amelyhez hozzáadódik a virtuális cím. Az így keletkező virtuális cím három része: laptáblázat-sorszám, lapsorszám, lapon belüli relatív cím 18. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 13. tétel Mi határozza meg egy szekvenciális áramkör „következő” állapotát? A szekvenciális logikai rendszerekben az információ logikai hálózaton kerül át a tároló elemek egyik halmazából a másikba. A jelen bemeneti állapot és a belső állapot

együttesen határozzák meg a következő állapotot. Mi a különbség a mikroszámítógép-rendszer szinkronizáló jelei és a soros adatok órajelei között? A mikroprocesszoros utasítás-végrehajtásainak időzítésére órajelet használunk, de ne tévesszük össze ezt a soros adatok órajeleivel. A soros adatok időzítésére szolgáló órajeleket szolgáltathatja a mikroszámítógép-rendszer is. Összehasonlítva a kétféle órajelet, a legdöntőbb különbség a sebesség eltérés. Egy tipikus mikroszámítógép-rendszer óra 20-5 ns periódusidejű (50-200 MHz), míg a soros adatátviteli sebesség tipikusan 110-9600 Baud, vagy 110 Hz és 9,6 kHz között van. Látható, hogy a leggyorsabb soros adatátviteli sebesség töredéke, mint egy tipikus CPU óra. Milyen alapvető műveletek szükségesek és elégségesek a működőképes automatához? Egy működőképes automatának olyan művelet-végrehajtó egységgel kell rendelkeznie, amely minimálisan az

alábbi műveletek elvégzésére alkalmas: • ÉS (AND) művelet • KIZÁRÓ VAGY (EXLUSIVE OR) művelet • ELTOLÁS (SHIFT) művelet, mely az eredeti értéket a hatványalap értékével (2) egyszer vagy többször szorozza/osztja • ÁTVITEL (MOVE) művelet, amely az adatot egyik tárolóhelyről egy másikra viszi át. Az utasításszámláló regiszter (PC) bevezetése milyen programtárolási következményekkel jár? Az utasításszámláló regiszter (PC) a soronkövetkező utasítás memóriabeli címét tartalmazza. Az utasításszámláló regiszter bevezetésével az utasítás négy címe közül a soronkövetkező utasítás memóriabeli címe elhagyható. Az utasításoknak ilyenkor a végrehajtás sorrendjében kell a tárban elhelyezkedni. Ekkor a PC tartalma mindig a következő utasítás tárbeli címét adja meg Ha a programban elágazás következik be, a vezérlő egység egy új értékkel, az elágazási utasításban lévő címmel tölti fel a PC-t. A

címzés általánosított célú használata (memória, átlapolás, átlapolt címzés, periféria címzés, adatmérettől függő címzési módok). A virtuális tárkezelés szerepe, lényege Szegmens, lap fogalma, adatcsere megoldási módjai A tároló védelmi lehetőségei. A processzor és a memória közötti sebesség-különbség nagy, ezért a gyorsaság vagy az eszközök párhuzamosításával, vagy azok többszörözésével növelhető. A tárolóhoz fordulás gyorsításának egyik eszköze az átlapolt címzés alkalmazása Ez a technika a tárciklus feléledési időtartamát használja fel arra, hogy egy újabb címzési feladatot elindítson a processzor. Ez a címzés azonban nem vonatkozhat ugyanarra a tömbre. Perifériacímzés: a számítógép a különböző perifériákhoz úgy tud hozzáférni, hogy meghatározza az eszközt és az adatátvitel irányát. A kiválasztás egyik módja az eszközválasztó jel kijelölése és az írás/olvasás

irányának meghatározása. A perifériák elérésére szolgáló módszerek az alábbiak: • Közvetlen elérési mód: a perifériák elérésére használt utasítások műveleti kódja közvetlenül meghatározza az írás/olvasás helyét. A választás után az egyes eszközök ugyanúgy címezhetők • Beágyazott, a főtárral azonos elérési mód: a perifériák ugyanúgy címezhetők, mint a memória. Memóriahasználat során a processzor által igényelt adatméret igen változó lehet. E probléma megoldására a processzorok két jelet használnak a címkiválasztás segítésére: az adatméret jelet, mely megszabja, hogy mekkora részt olvasson ki egy 4 byte-os szó területéről; és a byte engedélyező jelet, melynek értéke meghatározza, hogy egy 4 byte-os szó mely byte-jai legyenek kiolvasva. Virtuális tárkezelés: a főtár mérete nem teszi lehetővé, hogy a teljes program és az összes adat egyszerre a memóriában legyen. A virtuális tárkezelés

nem csak a központi tár, hanem a háttértárak területét is elérhetővé teszi azonos módon, vagyis a teljes tárolóterületet, vagy ennek egy részét látszólag közvetlenül címezhetjük, azaz egy egységnek, látszólagos központi tárnak tekinthetjük. Az így rendelkezésre álló címek összessége a virtuális címtartomány. A virtuális címtartomány bármely részében elhelyezkedő blokkot a feldolgozáshoz a központi tár területére kell átvinni. E címleképezés összefüggése: valós cím = átvitt blokk fizikai kezdőcíme + relatív cím. Ha az átvitt blokk mérete változó, szegmensnek, ha állandó, lapnak nevezzük. A szegmens betöltésére alkalmazott megoldások: • az első szabad hely keresése, ahol a szegmens méreténél fogva elhelyezhető • a következő szabad hely keresése az előző szegmens elhelyezésétől kezdi a keresést • a legjobb hely kiválasztása a betöltést úgy oldja meg, hogy a lehető legkevesebb szabad hely

maradjon • a legrosszabb hely kiválasztása pedig a nagy, összefüggő szabad területek kialakítását célozza meg. Lapbetöltés: mindig a felmerülő igény esetében kerül sor. Lapváltási igény felmerülésekor az utasítás végrehajtását fel kell függeszteni. A tárolórendszer feladati közé tartozik a tárolt adatok védelme is. Ennek érdekében a szegmensekhez, lapokhoz való hozzáférési jogokat (olvasási jog, írási jog, végrehajtási jog) szabályozza a védelmi rendszer. Az elérési jogokat a szegmensekhez, lapokhoz tartozó leírók (deszkriptorok) tartalmazzák. A szegmentált tárolókezeléshez kapcsolódó védelem jobb, mivel a lapozásos módszernél minden laphoz külön kell védelmet rendelni. A védelemnek ezek a formái a tárolóterülethez vannak rendelve, a felhasználói jogokat külön kell meghatározni és tárolni. 19. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 14. tétel Milyen egy mikroszámítógép felépítése

és működése? Egy mikroszámítógép négy alapvető funkcionális egységből áll: • bemeneti egység, amely az adatok és a program bevitelét biztosítja • memória, amely az adatokat és a programot tárolja • processzor, mely az adatokon a programnak megfelelően logikai és számítási műveleteket végez • kimeneti egység, melyen keresztül a program futásának eredménye eljut a felhasználóhoz. A rendszer szinkron működését periodikusan kiadott jelek (órajel) biztosítják. Egy utasítás végrehajtása több óraciklus alatt megy végbe. Memória-címbusz Vezérlőeg ység Adatregiszter ALU Memóriacímregiszter I O O I Memória Akkumulátor Mit nevezünk kommunikációs protokollnak? Adatátviteli szabályok összessége, amely a kommunikáció megvalósítása érdekében meghatározza az együttműködő egységek viselkedését. Szabályozza az üzenetek formátumát, a hibavédelmet és - elhárítást, valamint az időrendet és

időzítést is Melyek az utasítás-feldolgozás lépései? Sorolja fel! • • • • • • utasítás-előkészítés, - lehívás (fetching) a processzor az utasításszámláló regiszter (PC) tartalmát átviszi (ha van) a memória címregiszterbe (MAR) vagy a címsínt vezérlő pufferregiszterbe, melynek alapján kikeresi a tárból az utasítást és átviszi a vezérlő egység utasításregiszterébe (IR) utasításszámláló regiszter (PC) tartalmának növelése a PC tartalmát 1-el (pontosabban az utasítás hosszának megfelelő tárolóhely számmal) növeli. Az utasításszámláló regiszter a kezdő értéket, a program kezdetének címét kívülről az operációs rendszertől kapja műveleti kód értelmezése, dekódolása és az operandusok címének meghatározása a processzor meghatározza, hogy az utasítás hatására pontosan mit kell tennie, meghatározza a művelethez szükséges operandusok pontos helyét és címét, s ha a művelet nem igényli

adat felhasználását a végrehajtási fázisra tér át. művelethez szükséges adat(ok) előkészítése Az előzőleg meghatározott cím alapján kikeresi a memóriából a megfelelő operandusokat és átviszi az utasítás által meghatározott helyre ami legtöbbször az ALU AC regisztere, vagy más speciális regiszter. művelet végrehajtása (executing) ebben a fázisban történik a kijelölt művelet végrehajtása az előkészített operandusokkal. Ha a művelet arra ad utasítást, hogy a program feldolgozása ne a következő címmel folytatódjék, akkor az új címet ebben a lépésben beírja a PC-be. az eredmény elhelyezése az eredményt a megfelelő regiszterbe helyezi, és visszatér az első lépéshez, újrakezdi az utasításfeldolgozás lépéseit. Milyen megoldással vezethető be a nullacímes utasításszerkezet? A négy cím • 1. operandus címe, • 2. operandus címe, • eredmény címe, • következő utasítás címe Az utasításszámláló

regiszter (PC) bevezetésével a soronkövetkező utasítás címe elhagyható. Az így kapott forma a háromcímes utasítás. Minden utasítás végrehajtásakor a processzor növeli eggyel a PC tartalmát. Az utasításoknak ilyenkor a végrehajtás sorrendjében kell a tárban elhelyezkedni. Az eredmény címének elhagyásával keletkező kétcímes utasításforma esetében az eredmény vagy az egyik operandus helyére, vagy az akkumulátor regiszterbe (AC) kerül. A második operandus címét elhagyva kapjuk az egycímes utasítást. A művelet itt a megcímzett tárolóhely és az AC tartalma között hajtódik végre és az eredmény is az AC-be kerül. A nullacímes utasítások veremtárolót alkalmaznak az operandusok és az eredmény tárolására. A gyorsító (cache)-tárak tartalmának karbantartási módszerei A gyorsító (cache)-tárak csak abban az esetben tudnak teljesítménynövelő hatást kifejteni, ha tartalmuk és a memória tartalma egyezik és megfelel a

valóságnak. Az adatok esetében ez gondot jelenthet 20. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. Betöltés: • az aktuális igény felmerülésekor keresi ki a memóriából a kért byte-ot tartalmazó blokkot. A processzor azonnal megkapja a keresett byte-ot. • feltételezzük, hogy a blokk betöltése maga után vonja a következő blokk betöltését is. Ezért az n-edik blokk használatakor automatikus előkészítéssel töltődik az n+1-dik blokk is. • szelektív előkészítést alkalmazó módszernél az írható adatok a memóriában tárolódnak és a cache-be csak olyan adatok kerülnek, melyeknél nincs szükség átírásra. Aktualizálás: a cache-tár tartalmának módosítása után a memóriában is aktualizálni kell a tartalmat, hogy a program az aktuális értékkel dolgozzon. • azonnali átíráskor a módosított byte azonnal beírásra kerül a memóriába. Ha a módosított byte-hoz tartozó blokk a cacheben van, ennek tartalma is

aktualizálódik • visszaírási, visszamásolási eljáráskor ha az adott byte-hoz tartozó blokk a cache-ben van, a főtárat csak a blokk cseréjekor aktualizálja. Ha a blokk nincs a cache-ben, a blokkot beolvasás után aktualizálja Helyettesítési eljárások: A cache-tárak hatékonyságát az biztosítja, ha kevésszer kell a tartalmukat cserélni. Erre a legkevésbé használt blokkok cseréjének stratégiáját alkalmazzák. Ez megvalósítható számláló regiszterek, léptető regiszterek használatával, valamint megelőzési mátrix alapján. 21. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 15. tétel Milyen tárak vannak felépítés és funkció szerint? Működésük lehet: • dinamikus: a beírt információt periodikus jelgenerálással tetszés szerinti ideig képes tárolni • statikus: elvileg korlátlan ideig megőrzi az információt Információ elérése szerint: • soros: a tárolóhelyek időben egymást követően válnak

elérhetővé • közvetlen hozzáférésű: sorrendtől független az elérés; valamennyi rekesz hozzáférési ideje egyenlő • asszociatív: a tároló tartalma alapján címezhető. A tárolt és megadott információ (ami alapján keresünk) meghatározott összefüggésben van. Információ rögzítése szerint: • végleges: ROM típusú tárolóba beírt információ csak kiolvasható, tartalma nem változtatható. A PROM-ba az információt a felhasználók elektronikus úton írják le. • módosítható: RAM, REPROM, stb. Mikor nevezzük az összeköttetést fél-duplexnek és mikor teljes-duplexnek? Fél-duplex: az adatokat mindkét irányba egyetlen vonalon továbbítjuk. Adatáramlás egyszerre csak egy irányba történhet Teljes-duplex: az adó és a vevő oldal is külön vonallal rendelkezik. Az adatok továbbítása mindkét irányba párhuzamosan mehet végbe. Mi a feladata a vezérlő egységnek? A vezérlő egység (CU, control unit) feladata a program

utasításai, vagy külső kérések alapján, vezérlő jelek segítségével a gép részeinek irányítása. Ez egyrészt az aritmetikai - logikai egység (ALU) műveleteinek irányítását, másrészt az egyes adatútvonalak nyitását/zárását (kapuzását), másrészt a külső egységek, a memória, az I/O eszközök irányítását jelenti. Milyen címzési módokat használnak? • • • • Közvetlen címzés.(direkt) Az utasításban maga a tárolóhely címe található Ez vonatkozhat a memóriára, vagy a processzor valamelyik regiszterére is. Abszolút címzési mód esetében a tényleges címet tartalmazza az utasítás, relatív címzés esetében pedig egy alapcímhez viszonyított címet. Közvetett (indirekt) az utasításban megcímzett tárolóhelyen nem az operandus található, hanem annak címe. Literális vagy közvetlen adatcímzés esetén magában az utasításban található az operandus Indexelés segítségével egy megcímzett tárolási hely

címe folyamatosan növelhető, ezzel a módszerrel egymás után lévő tárhelyeken lehet végigmenni. Tárolókezelés lényege (tárhierarchia, tárkezelés szerepe, memóriatípusok). Regiszterek, regisztertárak Az adatok kellő időben és idő alatt való elrendezésének és elhelyezésének strukturális eszköze a tárhierarchia. A processzorhoz legközelebb a regiszterek vannak: kevés adat befogadására alkalmasak, elérési idejük viszont a legkisebb. A programrészek és adatok tárolására a főtár (memória) szolgál. Az éppen nem használt adatok, programok tárolását a nagykapacitású háttértárolók biztosítják. Az adatáramlás folyamatosságát gyorsítótárak, cache-tárak biztosítják. Memóriatípusok: • írható-olvasható tárak (RAM) • csak olvasható tárak (ROM) A processzorok 2-4 byte-nyi adat tárolására gyors működésű regisztereket használnak: általános célú és speciális célú (utasításszámláló, utasításregiszter,

indexregiszter). A több tucat általános célú regiszter alkotja az ún regisztertárat, melyek egy-egy tetszőleges adat befogadására alkalmasak. 22. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 16. tétel Mit kell tartalmaznia a memóriacímnek? Egyrészt az adott chip, másrészt az aktuális cím kiválasztására vonatkozó adatokat. A chip kiválasztó bit határozza meg az információt tároló chipet a memóriamodulon belül, a cím-bitek pedig egy-egy szót azonosítanak a memóriában. A chipek száma és a kiválasztó bitek száma határozza meg a címezhető memória-kapacitást. Milyen eljárások vannak hamis adatjelek megállapítására? Paritásbittel: a paritásbit egy hibaellenőrző bit, melyet úgy képeznek, hogy ha az ellenőrzendő szóban lévő 1-ek száma páros, a paritásbit = 1, ha páratlan, a paritásbit = 0. Paritásbites kód az adatok átvitelénél, vagy tárolásánál használt legegyszerűbb hibajelző kód. Képezhető

páratlan paritás is, ekkor páratlanra egészítik ki az 1-ek számát Ciklikus redundancia karakterrel (CRC) az adatfolyam-szegmensek végén: ez egy szám, melyet úgy állítanak elő, hogy az adatfolyamot egy meghatározott polinommal osztják. A maradékot a keret részeként átküldik az ellenállomásra, ahol szintén elvégzik az osztást, s a maradék értékét összehasonlítják a kapott CRC értékkel. Mi a feladata a műveletvégző egységnek? Az utasításokban előírt aritmetikai vagy logikai műveleteket hajtja végre. A műveletvégzéshez néhány regisztert is magában foglalhat Az ALU alkalmas: • bináris összeadásra • Boole algebrai műveletek végzésére • komplemensképzésre • adatok léptetésére, bitenként - jobbra, - balra, Minden egyéb adatkezelési művelet felbontható a fenti műveletekre. Milyen címzési mód az abszolút címzés? Közvetlen címzési mód. Az utasítás címrészében az operandus valódi címe található A cím

vonatkozhat a memóriára, vagy a processzor valamely regiszterére (regisztercím). A teljesítőképesség növelése az utasítások és a műveletek végrehajtásának párhuzamosításával ( pipelining, memória- és elágazási utasítások, adatütközések kezelése). RISC processzorok jellemzői A számítógép működésének gyorsítása egyrészt az órajelfrekvencia növelésével, másrészt a gépen futó folyamatok párhuzamosításával oldható meg. Ez a folyamatok részfolyamatokra bonthatóságából adódik A lépések mindegyike önálló egységet képez, melyekből bármelyik igénybe veheti az éppen felszabadult erőforrást. Ez a megoldás az adatcsatornás (pipelining) feldolgozás. Működtetése történhet aszinkron és szinkron ütemezéssel Aszinkron ütemezés esetén a feldolgozás továbbhaladása folyamatos, szinkron ütemezésnél az ütemezést mindig a legtöbb időt igénybevevő egység szabja meg. Az utasítások folyamatos feldolgozását a

vezérlésátadó- és ciklusutasítások zavarják meg leginkább. A feltétel nélküli ugró utasítás esetében vagy mindaddig várakoztatja a processzor a belépő utasításokat, míg az ugrási cím kidolgozása megtörténik, vagy az utasítások betöltése folytatódik, ész ugrási cím meghatározása után a felesleges utasítások törlődnek. A feltételes ugró- és a ciklusutasítások esetében az ugrás várható irányát kell meghatározni. Ez történhet statikus vagy dinamikus előrejelzéssel A párhuzamos adatfeldolgozás jelentős problémája az utasítások adatok iránti igényének ütközése. (Igényütközés = hazard: írás utáni írás; írás utáni olvasás; olvasás utáni írás) Ennek megakadályozása történhet: • Ha az utasítássor elemzése arra utal, hogy hazard alakulhat ki, meg kell akadályozni a belépését. • Scoreboard: jelzőbitet alkalmaznak a regiszter tartalmának módosulására, és a következő utasítás csak akkor

használhatja a regiszter tartalmát, ha a jelzőbit ezt engedélyezi. • Forwarding (előrelátás): ugyanannak az adatnak több utasítás által való felhasználásánál a memória felé fordulások számát csökkenteni kell. A RISC processzorra jellemző az erőteljes adatcsatornás feldolgozás, a nagy méretű regisztertár, valamint a huzalozott utasításvégrehajtás, ami gyorsabb működést eredményez. Egyszerű és viszonylag kevés számú utasítást használ, a mikroprogramot elhagyja az utasítások végrehajtásánál. Utasításkészletének jellemzői az alábbiak: • kevéssé bonyolult utasítások, egyszerű LOAD/STORE- , műveleti- és elágaztató utasítások • kevés utasítás (<128) és címzési mód (2-4) használata • az utasítások rögzített hosszúságúak • az utasítások végrehajtásához egy gépi ciklus elegendő • nincs mikroprogram, a végső formát igen bonyolult fordítóprogram állítja elő 23. OLDAL

MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 17. tétel Hogyan ábrázoljuk a számokat a tárban? A numerikus adatok tárolt formája főként a műveletvégzés elősegítésére szolgál. Elsősorban a kettes számrendszert használják, illetve a tízes számrendszert utánozzák bináris kódokkal. (BCD= binárisan kódolt decimális ábrázolás) Bináris tárolás: • Fixpontos ábrázolás: a szám kettes számrendszerbeli alakját kell elhelyezni a rendelkezésre álló véges hosszúságú (2-4 byte) rekeszben. A negatív számokat többnyire kettes komplemens kódjukkal ábrázoljuk • Lebegőpontos ábrázolás: a tárolás hatványkitevős formában, többnyire 0-ra normalizált alakban történik. A karakterisztikát és a mantisszát együttesen tároljuk, önmagukban fixpontosan. • BCD kód: a számjegyeknek azok kettes számrendszerbeli értéke felel meg. 1 számjegyet 4 helyiértéken ábrázolunk Az előjel ábrázolására a 4 helyiértéken ábrázolható

jelkombinációból fennmaradó 6 jelsorozat valamelyikét (általában hexa C ill. D) választják. Mi jellemzi az aszinkron soros adatátvitelt? (START, STOP bitek) Aszinkron adatátvitelnél az adó akkor kezdi el továbbítani a karaktert, ha annak minden bitje a pufferben van. A karakter bitjeit soros bitfolyamként továbbítjuk. Nyugalmi helyzetben a vonalon egy „megszakadás” jel fut, ami általában logikai 1 szintnek felel meg Ezzel a jellel egyben ellenőrizhető az összeköttetés folyamatossága is. A karakter adásának kezdetét egy START bittel jelezzük a vevő felé, ami egy logikai 0 bit. Ezután sorban egymás után átküldjük a karakter bitjeit a vonalon, majd a karaktert egy STOP bittel zárjuk le, ami általában 2 bit hosszú logikai 1 szint (egyes rendszerek használnak 1 vagy 1,5 bithossznyi stop impulzust, de ismertek fordított logikás rendszerek is {start = 0, stop = 1}) Mi a feladata a tárolóknak? A végrehajtandó utasításokat és az ezek

által feldolgozott adatokat tárolja. Az adatok kellő időben és idő alatt való elrendezésének és elhelyezésének strukturális eszköze a tárhierarchia. A processzorhoz legközelebb a regiszterek vannak: kevés adat befogadására alkalmasak, elérési idejük viszont a legkisebb. A programrészek és adatok tárolására a főtár (memória) szolgál Az éppen nem használt adatok, programok tárolását a nagykapacitású háttértárolók biztosítják. Az adatáramlás folyamatosságát gyorsítótárak, cachetárak biztosítják Milyen címzési mód az relatív címzés? Az utasítás címrésze az operandus alapcíméhez (báziscím) viszonyított címét tartalmazza. Alapcím lehet a báziscím-regiszterben elhelyezett érték, a program kezdetének címe, az utasítás tárolóbeli helye a PC (utasításszámláló regiszter) alapján. A pontos cím = báziscím + címrészben lévő cím. A műveleti vezérlés módjai, szintjei; a mikroprogramozott műveleti

vezérlés (vezérlés módjai, vezérlési struktúrák, CISC/RISC műveleti vezérlés különbözősége). A műveleti vezérlés történhet: • Huzalozott módon: az utasítás elemi lépéseinek sorrendjének vezérlését bonyolult sorrendi, kombinációs áramkörrel oldják meg. • Mikroprogramozott módon: az elemi tevékenységek sorrendjét egy tárolt program, a mikroprogram utasításai vezérlik. A vezérlőegység azon részét, mely a műveleti vezérlést oldja meg, mikrovezérlőnek nevezzük. A mikroutasítások feladata az adatutak engedélyezése/tiltása. Az utasítások két részből állnak: a következő mikroutasítás tárbeli címéből és a vezérlési mezőből, amely az engedélyezett vezérlési pontokat határozza meg. Struktúrák: • Horizontális mikroprogramozás esetén a vezérlési mező minden egyes bitje egy-egy vezérlési pontot engedélyez/tilt. • Vertikális mikroprogramozáskor a mikroutasítások csak egy-egy elemi művelet

végrehajtását eredményezik. CISC-vezérlés: az utasítások feldolgozása egy mikroutasításokkal megvalósított értelmezőrendszer igénybe vételével történik. RISC-vezérlés: a felhasználói programot egy egyszerű utasításokból álló gépi kódra fordítják, mely nem igényel értelmezőrendszert. 24. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 18. tétel Milyen kódokat ismer? Karakterek tárolása: • ASCII kód alfanumerikus és vezérlőkarakterek kódolásához használt kódrendszer, 128 karakter 7 bites kódolását valósítja meg. Megegyezik az ISO-7 kódrendszerrel, de az ISO-7-ben a karakterek cserélhetőek, így nemzeti kódkészletek alakíthatók ki. A számítógépek többsége ezek 8 bites kiterjesztett változatát használja. • EBCDIC az IBM által kifejlesztett kódrendszer, főleg nagygépes környezetben használják. Számok tárolása: • BCD kód a decimális számok kettes számrendszerbeli egyenes ábrázolása. •

Bináris kód Ezek a leggyakrabban használt kódolási formák, ezeken kívül még többféle kódolást létrehoztak, de nem terjedtek el szélesebb körben. Utasításkód: az utasításkészletbe tartozó utasítások azonosítására szolgál Mi a szinkron soros adatátvitel egyik legfontosabb jellemzője? Az adatfolyam pontosan alkalmazkodik az órajelhez. Az adatátviteli eszköznek minden impulzusra át kell vinnie egy bitet, hogy a tető pontosan értelmezni tudja a soros adatokat. Szinkronizált adatátvitel során az adatfolyam folyamatos, ezért a bytehatár felismerése végett egy vagy két SYNC (szinkronizáló) karaktert használnak. Mi a feladata a beviteli/kihozatali egységnek? A számítógépnek a külvilággal való kapcsolattartását szolgálják. A beviteli egységek feladata: adatok bevitele a számítógépbe, valamint a gép vezérlése (billentyűzet, egér, scanner, stb.) Kiviteli egység: az eredmények megjelenítésére szolgálnak szöveges vagy

grafikus formában (képernyő, nyomtató, stb.) Milyen címzési mód az indirekt címzés? Az utasításban található cím annak a tárolóhelynek a címét adja meg, ahol az operandus címe található. Történhet valamely memória tárolóhely felhasználásával, vagy regiszter segítségével. E tárolóhelyeken található címek a pointerek Utasítás-végrehajtás lépései, az utasítás-feldolgozás soros és párhuzamos elvű megoldása, a műveleti vezérlés alapproblémája, lehetséges módjai. Utasítás-végrehajtás lépései: • utasítás-előkészítés, - lehívás • utasításszámláló regiszter (PC) tartalmának növelése • műveleti kód értelmezése, dekódolása és az operandusok címének meghatározása • művelethez szükséges adat(ok) előkészítése • művelet végrehajtása • az eredmény elhelyezése A párhuzamosított feldolgozás feltétele a külön program és adattár, és a két tárhoz külön-külön buszrendszer.

Amennyiben ez nem áll rendelkezésre, az adatok és az utasítások előkeresése a közös tárból csak sorosan történhet. Alapprobléma: egy-egy utasítás elemi lépéseinek vezérlése a gép igen sok pontjának egyidejű, vagy valamilyen sorrendben való vezérlését jelenti. A vezérlés történhet: • Huzalozott módon: az utasítás elemi lépéseinek sorrendjének vezérlését bonyolult sorrendi, kombinációs áramkörrel oldják meg. • Programozott módon: az elemi tevékenységek sorrendjét egy tárolt program, a mikroprogram utasításai vezérlik. 25. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 19. tétel Mit nevezünk paritásbitnek és mi a funkciója? Hibaellenőrző bit, melyet úgy képeznek, hogy az átvitt karakterben lévő bitek számát párosra egészítik ki, ha páratlan volt, és 0 marad, ha páros számú 1-es volt az átvitt karakterben. Ez a páros paritásvizsgálat Páratlan paritásvizsgálatnál értelem szerűen páratlanra

egészítik ki az 1-ek számát. Paritásbites kód az adatok átvitelénél, vagy tárolásánál használt legegyszerűbb hibajelző kód Melyek a szabványos MODEM vezérlőjelek? • • • • DSR (Data Set Ready): ha a modem vételre kész, ez a jel =0. Lehetővé teszi, hogy a számítógép az összeköttetés létrehozása előtt a külső logikát ellenőrizze. DTR (Data Terminal Ready): a soros I/O illesztő bocsátja ki, hogy közölje: készen áll az összeköttetés megvalósítására. A jel = 0, ha a soros I/O műveletet kezdeményezhet. RTS (Request To Send): amikor a soros I/O eszköz készen áll az összeköttetésre, az RTS jelet használja annak közlésére, hogy készen áll az adatok adására. CTS (Clear To Send): Egy teljes-duplex adatláncban az adó oldal RTS-e a vevőnél CTS-sé válik. Fél-duplex üzemben a vevő 2 ms-al később küld CTS-et. Mi a feladata a sínrendszernek? A sínrendszer a gép funkcionális egységeit kapcsolja össze egy

szabványosított vezetékrendszerrel. Az adatsínen az adatokat továbbítja a gép, a címsínen keresztül a memória-, illetve eszközcímeket továbbítja a processzor, a vezérlősínen vezérlőjeleket küld és fogad a processzor. Milyen címzési mód a közvetlen adatcímzés? Az utasítás címzésében maga az operandus található. Az operandus nagysága erősen korlátozott, főként kisebb értékű konstansokkal való munkához lehet használni. Logikai alapműveletek, - törvények, kapcsolat az aritmetikai egységgel. Három logikai alapművelet: • NEM: egyoperandusos műveletet, eredménye az állítás ellenkezője. A tárolóhelyek tartalmának ellenkező értékre állítására lehet használni. • ÉS: a kétoperandusos művelet eredménye akkor „igaz”, ha mindkét állítás egyidejűleg „igaz”. E művelet segítségével lehet kijelölni, „maszkolni” egy tárolóhely tartalmának tetszőleges részét. • VAGY: a kétoperandusos művelet

eredménye akkor „igaz”, ha valamelyik, vagy mindkét állítás „igaz”. Két tárolóhely összeadására használják. Alaptörvények: 1. A+¬A=1 2. A¬A=0 3. (A)=A Kettős tagadás 4. (A+B)= AB 5. (AB)= A+B De-Morgan azonosságok 6. A+0=A 7. A*0=A 8. A+1=1 9. A*1=A 10. A+AB=A(1+B)=A A logikai műveletek megfelelői a gépi utasításkészletben is megjelennek, általában az alábbi lehetőséget biztosítva: • ÉS kapcsolat két tárolóhely tartalma között, maszkoláshoz • VAGY kapcsolat kér jelsorozat összefésüléséhez, egyesítéséhez • léptetések, túlcsordulások figyeléséhez. Ezeket a logikai műveleteket az ALU egyik fő részegysége végzi el, mely logikai áramkörökből áll. 26. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 20. tétel Miből áll egy mikroszámítógépes összeadás programja? • • • • • • Azonosítani kell az operandus memória-rekesz címét Az azonosított memória-rekesz

tartalmát át kell vinni a processzorba Azonosítani kell a második operandus címét A két operandust össze kell adni Azonosítani kell az eredményt tároló memória-rekesz címét Át kell vinni az eredményt ebbe a rekeszbe Mit határoznak meg a parancsok? • • • milyen műveletet kell elvégeznie a gépnek hol vannak a művelet operandusai az utasításban, a tárban, vagy melyik regiszterben, esetleg veremben hová kell elhelyezni az eredményt Mit értünk az órajelfrekvencia alatt? A gépek órajelsorozata szinkronizálja az egyes részek működését, biztosítja a párhuzamos folyamatok egymásmellettiségét és megszabja a számítógép működési sebességének felső határát. Milyen címmódosítási eljárás az indexelés? Az utasítás címrésze az adatsorozat első elemének címét tartalmazza és az indexregiszterben található az ettől való eltérés. Az indexregiszter tartalmának folyamatos növelésével végighaladhatunk az adatsorozaton.

Utasítástípusok, utasítások csoportosítása, utasításkészlet és hatása a processzor struktúrájára (CISC, RISC processzorok utasításkészleteinek összehasonlítása) Az utasítások műveleti jelrésze alapján az utasítások alábbi csoportjai alakíthatók ki: • átviteli utasítások, amelyek a gép két része közötti átvitelre szolgálnak. Ilyenek pl a tároló hivatkozású utasítások, periféria utasítások, veremkezelő utasítások; • műveleti utasítások, amelyek körébe az aritmetikai és logikai műveleteket végrehajtó utasítások tartoznak. Ide tartoznak az aritmetikai utasítások, logikai utasítások, a léptető és forgató utasítások, bitműveleti utasítások, karakterlánc-műveleti utasítások; • vezérlő utasítások, amelyek a program végrehajtását vagy a gép működését befolyásolják. Ezek a vezérlésátadó (ugró) utasítások, szubrutin hívó utasítások, return utasítás, ciklusutasítás, illetve

megszakítást engedélyező/tiltó utasítások, processzor működését leállító utasítás. Egy processzor utasításkészlete alatt értjük azoknak az elemi (gépi kódú) utasításoknak az összességét, amelyeknek végrehajtására hardver szinten a processzor alkalmas. CISC processzorok RISC processzorok Összetett utasítások, melyek végrehajtása több gépi ciklust Egyszerű utasítások, melyek végrehajtása egy gépi ciklust igényel igényel Bármely, erre alkalmas utasítás igénybe veheti a tárolót Csak a LOAD/STORE utasítások fordulhatnak a memóriához Az adatcsatornás (pipelining) feldolgozás kismértékű Az adatcsatornás (pipelining) feldolgozás erőteljes Az utasítás-végrehajtás mikroprogram által vezérelt Huzalozott utasítás-végrehajtás Változó hosszúságú utasítások Rögzített utasításhossz Sokféle utasítás és címzési mód Kevés utasítás és címzési mód Bonyolult mikroprogram Bonyolult fordítóprogram Kis számú

regiszter Nagy méretű regisztertár 27. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 21. tétel Milyen funkcionális egységei vannak egy mikroprocesszornak (µP) és hogyan működik? A mikroprocesszor a digitális számítógép központi egységének, a CPU-nak feladatait képes elvégezni. A CPU, a számítógép központi egysége, a gép lelke. A mikroprocesszoroknak három alapvető funkcionális egysége van: • regiszterek • aritmetikai logikai egység (ALU) • vezérlőegység A vezérlőegység irányítja a tárolt program alapján a műveletek végrehajtását és így, az aritmetikai egység munkáját is. A vezérlőegység feladat a processzor és az I/O eszközök közötti adatátvitel irányítása is. Egy CPU általában több regisztert tartalmaz abból a célból, hogy a memóriából kihozott adatokat tárolja. A különböző regiszterek meghatározott feladatokhoz vannak hozzárendelve. Hogyan állítottuk be a félvezető anyagokat az

elektronika szolgálatába? Az LSI áramkörök, ezen belül a mikroprocesszorok fejlődésének története mindössze 20-21 évre nyúlik vissza. A félvezető technológia fejlődése lehetővé tette a nagykapacitású, olcsó és gyors félvezető tárolók megvalósítását. A mikro jelző a kis fizikai méretre utal, ami a félvezető technológiák eredménye. A processzorok a digitális rendszerek, számítógépek központi egységei A mikroprocesszorok fejlődési lehetőségeit a félvezető technológiák adta lehetőségek alapvetően meghatározzák. A jelenlegi technológiai szinten a mikroprocesszor egy vagy néhány chipben (ami 5-7 mm2 szilícium-egykristály lapka) kerül megvalósításra. Mikroprocesszorok előállítására csak akkor nyílt lehetőség, amikor a szilícium alapú monolitikus technológiák fejlesztésénél elért eredménnyel lehetővé tették minimálisan 2000 kapuáramkör megvalósítását egy chipben. Mit értünk a számítógépek

műveleti sebessége alatt? A számítógépek műveleti sebessége, az az utasítás(művelet) szám ,amelyet átlagosan egy időegység alatt dolgoz fel a gép. Az így mért sebesség mértékegysége a MIPS (millions of instructions per second), vagy MOPS (millions of operations per second). Külön mérik a lebegőpontos műveletek végrehajtási sebességét. Ezt a MFLOPS (millions of floating point operations per second) fejezi ki Milyen utasításcsoportokat ismer? Az utasítások műveleti jelrésze alapján az utasítások alábbi csoportjai alakíthatók ki: • átviteli utasítások, amelyek a gép két része (pl. processzor és memória) közötti adatátvitelre szolgálnak, • műveleti utasítások, amelyek körébe az aritmetikai és logikai műveleteket végrehajtó utasítások tartoznak, • vezérlő utasítások, amelyek a program végrehajtását, vagy a gép működését befolyásolják. Aritmetikai műveletvégzés bináris ábrázolású adatokkal.

Műveletek fixpontos számokkal 1. Összeadás A feldolgozások legfontosabb és legalapvetőbb aritmetikai művelete az összeadás, mivel a többi elemi művelet is visszavezethető erre. A helyiértékes számrendszerekben az összeadás helyiértékenként történik, így a kettes számrendszerben is. Két, egyjegyű bináris szám, A és B összeadása és az átvitel képzése az alábbi táblázat szerint történik. A táblázat sorai A és B lehetséges értékeihez adja meg az összeg(S) és az átvitel(C) értékét. A 0 0 1 1 B 0 1 0 1 S 0 1 1 0 C 0 0 0 1 A számok összeadásakor túlcsordulás léphet fel, ha az eredmény nagyobb, mint az adott tárolóhelyen ábrázolható legnagyobb szám. 2. Kivonás A két operandus kivonásakor, a negatív számot komplementálni kell, majd a másik operandus értékével össze kell adni. Az összeadást a tárolóhely teljes hosszán, beleértve az előjelbitet is, minden helyiértéken ugyanúgy kell elvégezni. A legfelső

helyiértéken esetlegesen keletkező átvitelt, amely kicsordult, figyelmen kívül kell hagyni. Ha az eredmény előjele 1-es értékű lesz, azaz a szám negatív, akkor az eredményt kettes komplemens formában kapjuk meg, ezért azt vissza kell alakítani, vissza kell komplementálni. A különböző előjelű összeadandók esetében túlcsordulás nem léphet fel, de azonos előjelek esetén valódi túlcsordulás-amikor az eredmény nem fér be a tárolóhelybe- továbbra is felléphet. 3. Szorzás A szorzás elvégzésekor az eredmény hosszúsága kétszerese az operandusok hosszának és ezért az eredményt befogadó akkumulátor regiszternek kétszeres hosszúságúnak kell lennie. Ezenkívül szükséges még egy további regiszter, amely a szorzót fogadja be. Célszerű a szorzandót is egy külön regiszterben tárolni, mert ez a végrehajtást leegyszerűsíti 4. Osztás Az osztás algoritmusa bonyolultabb, mint a szorzásé és felépítése erősen függ az

alkalmazott adattárolási formától. Az osztás legegyszerűbb formájában, sorozatos kivonással, az u.n visszaállító algoritmussal történik, azaz amennyiben a kivonás eredménye negativ - az osztó nincs meg az osztandóban- akkor vissza kell állítani az eredeti, kivonás előtti értéket. 28. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. Műveletek lebegőpontos számokkal 1. Összeadás, kivonás A lebegőpontos számok összeadása, kivonása a fixpontos számokéhoz hasonló, csak összetettebb, mivel a hatványkitevős forma miatt, a karakterisztikákat előbb azonos értékre kell hozni. Tehát az eredmény karakterisztikája a közös, azonos karakterisztika értéke lesz, míg a mantisszákat össze kell adni és a kapott értéket normalizálni kell ismét. Ez egyúttal az új karakterisztikának a módosítását is jelenti akkora számértékkel, mint ahány helyiértékkel balra kellett léptetni a mantisszát. Ha a karakterisztikák nem egyeznek

meg, akkor a karakterisztikákat azonos értékre kell hozni. Ez azt jelenti, hogy valamelyik operandus mantisszájának jobbra léptetésével ( a normalizált alak miatt balra nem léptethető a túlcsordulás miatt) azaz 2-vel történő osztásával és a karakterisztika értékének növelésével a két karakterisztikát azonos értékre hozzuk. Ennek alapján megállapítható, hogy a kisebb kitevőjű szám mantisszáját kell léptetni. 2. Szorzás, osztás A szorzás és az osztás végrehajtásakor a mantisszákkal a műveletvégzés a fixpontos számokéval megegyező módon történik, ugyanakkor a karakterisztikák összeadásra, vagy kivonásra kerülnek. 29. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 22. tétel Mit nevezünk elérési időnek? Elérési idő az az időtartam, amely a kiolvasás megkezdése és az adatnak a tároló kimenetén való megjelenése között eltelik. Mi a „real-time” logika jellemzője? Időazonos, vagy valós idejű

(real-time) feldolgozás esetében egy-egy program kiemelt fontosságú, ami azt eredményezi, hogy amennyiben ez a program kéri a processzor és a többi erőforrás használatát, akkor azonnal át kell engedni azokat ennek a kiemelt feldolgozásnak.(ilyen jellegű feldolgozás pl minden folyamatirányító feladat) Real-time logika: Real-time működés az a számítógépeket is magában foglaló rendszer, amelynél a beavatkozáshoz-pl. vezérléshezszükséges adatok "valódi idejűek", "időben" jönnek létre, azaz a diszkrét időpontokban érkező jelek-számadatok- olyan sűrűek, mintha a vezérlőjeleket kiadó és a visszajelentéseket fogadó rendszer azonos lenne az általa befolyásolt jelenséggel. A real-time működésben lévő két egység egymáshoz képest időben alig eltérő "szinkronban" van. Melyek a Neumann-elvű számítógépek legfontosabb jellemzői? A Neumann-elvű, azaz hagyományos számítógépek legfontosabb

jellemzői: • A gép tartalmaz egy közös tárolót, amely egyaránt tárolja a végrehajtandó program utasításait, valamint az utasítások által feldolgozandó adatokat is. A program és az adatok kódolására egyaránt bináris kódrendszert alkalmaznak • A gép vezérlő egysége a tárolt program utasításait egyenként sorra véve oldja meg a kívánt feladatot. Az automatikus programvégrehajtás egyszerűsítése végett a vezérlő egységben egy utasításszámláló regiszter tárolja a soronkövetkező utasítás tárolóbeli helyének címét. • A program utasításai által megkívánt aritmetikai és logikai műveletek elvégzésére egy önálló egység, az aritmetikai és logikai műveletvégző egység szolgál. A bináris kódolás alapján minden művelet visszavezethető elemi logikai műveletekre, így tulajdonképpen az aritmetikai egység csak logikai műveleteket végez igazából. • Az adatok és a program bevitelére/kihozatalára önálló

egységek szolgálnak. • A közös adat- és programtároló alkalmazásának jelentős következménye az, hogy a program utasításait a végrehajtás során át lehet írni, ugyanúgy, mintha az is adat lenne. Ezt a lehetőséget azonban ma már nem célszerű kihasználni Ugyanis egyrészt a rendelkezésre álló tárolóhely nagysága már többnyire nem elegendő és így nincs szükség az ilyen megoldásokra, másrészt a programok bonyolultsága olyan fokú lett, hogy az ellenőrizhetőség miatt nem lehet megengedni az ilyesfajta megoldásokat, harmadrészt a programok nagyüzemi gyártástechnológiája sem teszi lehetővé az ilyen időigényes és megbízhatatlan működésű fejlesztéseket. Mit értünk utasításkészlet alatt? Egy processzor utasításkészlete alatt értjük azoknak az elemi ( gépi kódú) utasításoknak az összességét, amelyek végrehajtására legalsó, hardver szinten a processzor alkalmas. Ez az a szint, amit adott esetben egy programozó

felhasználhat, vagy amelyre a fordítóprogram egy forráskódot lefordít. Ebből a szempontból a legalsó szint azt jelenti, hogy az utasítás végrehajtása vagy huzalozott módon, áramköri szinten valósul meg (RISC processzorok), vagy az elemi lépéseket vezérlő mikroprogram segítségével ( CISC processzorok). Numerikus adatok tízes számrendszer szerinti (BCD kódú) tárolása, nem numerikus adatok tárolási formái, egyéb tárolási formák. A kettes számrendszer szerinti adattárolás elsősorban akkor előnyös, ha aritmetikai műveleteket kívánunk végezni a számokkal, tehát a műszaki-tudományos feladatok, számításigényes problémák megoldásakor elsősorban. Ha a számítási munka egyszerűbb, vagy nagytömegű adatot kell beolvasni, vagy kiíratni, akkor célszerű a tízes számrendszer használatát utánozni különböző bináris kódokkal. Ezekben a kódrendszerekben a tízes számrendszerbeli számok számjegyeit egyenként konvertáljuk át

az alkalmazott bináris kódba. Mivel a tízes számrendszerben tízféle számjegyet használunk, ezek ábrázolásához legkevesebb 4 bit szükséges. A számítógépi feldolgozásokban a legáltalánosabban használt és a legkönnyebben előállítható kód a BCD kód, ahol a számjegyeknek azok kettes számrendszerbeli értéke felel meg, 4 helyiértékre kiegészítve. A pozitív és negatív számok megkülönböztetésére, a 4 helyiértéken képezhető 16 jelkombinációból fennmaradó 6 jelsorozat valamelyikét kell kiválasztani.(Példa a Mikroszámítógépek könyv 63-64 oldalán) Azokban az esetekben, amikor a tárolt adatokkal nem kívánunk aritmetikai műveleteket végezni, csak tárolni és nem aritmetikai jellegű műveleteket elvégezni, a numerikus adatok kódolására használt módszerek nem alkalmasak az általában nagy tömegű adat kezelésére. Az alfanumerikus (betű, számjegy, speciális jelek vegyesen) adatok tárolásához néhány kódrendszert

használnak csak, amelyek közül a legelterjedtebbek a mini-, mikroszámítógépeknél alkalmazott ASCII, illetve az elsősorban IBM nagygépeknél használt EBCDIC kódrendszerek. Az ASCII kód 7 bites(128 elemű) kódja megegyezik az ISO 7 bites kódjával, pontosabban az ASCII kód az ISO-7 kódnak egyik nemzeti változata. Az ASCII(ISO-7) kódrendszereket általában 8 bites formában használják, kiegészítve a kódot egy, a hibafelfedést elősegítő ellenőrző bittel, a paritás bittel. A mikroszámítógépek többsége az ASCII kód 8 bites, kibővített változatát alkalmazza, amely különböző nemzeti karakterek mellett, néhány grafikus karaktert is tartalmaz. Az eddigiekben ismertetett adattárolási formák közös jellemzője, hogy magából a tárolt jelsorozatból nem lehet következtetni annak tartalmára, azaz arra , hogy milyen típusú adatot (fixpontos, lebegőpontos, vagy más.) képvisel Ez nem mindig előnyös, ezért alkalmaznak olyan tárolási

formákat is, amelyek az adatot képviselő bitek mellett, további kiegészítő rész(eke)t is tárolnak az adat típusának jelölésére. Ezt a tárolási formát öndefiniáló adatformának nevezzük Ezek az összetett tárolási módok a bonyolultabb adatstruktúrák közvetlen, esetleg hardver szintű kezelését teszik lehetővé. Az öndefiniáló adatstruktúrák legjellemzőbb formái: • Jelölt adattárolás, amelynek jellemzője, hogy a tárolt adat kiegészül olyan információkkal, amelyek az adatfelhasználás módját befolyásolják és meghatározzák. A jelölt adattárolási forma előnye a hibafeltárási lehetőség, a közvetlen hardverszintű és irányítású konverzió lehetősége. Hátránya a többletinformációból adódó kiértékelési időtöbblet, a merevebb feldolgozási struktúra, külön költségek. • Deszkriptoros tárolási forma, amely egyszerűbb adatstruktúrák kezelését biztosítja kiegészítő információk (hozzáférési

jogok, felhasználási cél, tárolási hely, stb.) hozzáadásával A deszkriptorban tárolt információk egy része közvetlen hardver kezelésű, más 30. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT • TÉTELEK 1998. része pedig szoftver úton dolgozható fel. Ilyen tárolási formát használnak az Intel processzorok az adattáblázatok és más objektumok kezeléséhez, tárolásához. A deszkriptorok használatának előnye a hibafeltárás és a védelem hardverszintű megoldási lehetősége, ugyanakkor hátránya a többlet tároló- és végrehajtási időigény. Összetett strukturális forma alkalmazása elsősorban a szoftverszintű adatkezelést segíti, de hatékonnyá csak akkor válik igazán, ha ehhez megfelelő hardverszintű megoldások is társulnak. Előnyei: a kapcsolódó információkat egy egységben tárolja, az objektumhoz kapcsolódó összes adat felhasználása, elérése egyidőben lehetséges. 31. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK

1998. 23. tétel Milyen főbb regisztertípusokat tartalmaz a µP és hogyan használjuk azokat? Regisztertípusok: Akkumulátor(A): az aritmetikai és logikai műveletek operandusait, vagyis a műveletek tárgyát képező mennyiségeket vagy azoknak az eredményeit a CPU a központi regiszterében, az akkumulátorban tárolja. A különböző műveleteket a CPU az akkumulátorban tárolt adatokon, vagyis az akkumulátor tartalmán végzi el. Az adatok kihozása a memóriából (olvasás), azok akkumulátorban történő elhelyezése és az eredmény bevitele (írás) a memóriába, három programlépést jelent. Az íráskor vagy olvasáskor először is az adatok memória-rekeszeinek címeit kell azonosítani (kikeresni). A legtöbb CPU-ban több akkumulátor, vagy akkumulátor-típusú regiszter van, azért hogy egy memória hozzáférési idő alatt több CPU művelet legyen elvégezhető. Adatszámláló regiszter (DC): Az adatok kiolvasásakor vagy beírásakor azonosított

memória rekesz címét az adatszámláló regiszter tárolja. Az adatszámláló regiszter mérete függ a mikroprocesszor által címezhető memóriakapacitástól Utasításregiszter (I), Programszámláló (PC): Az utasításkódok kezeléséhez a CPU-nak szüksége van egy utasításregiszterre, amelyben a program szerint soron következő utasítás műveleti kód részét tárolja és egy programszámláló regiszterre, amely a soron következő utasítás címét tárolja. A programszámláló tartalmát a program maga is módosíthatja A programszámláló és az adatszámláló között van egy lényeges különbség. A probléma-megoldás menete az utasításkódok címeinek sorrendjében megy végbe Vagyis a programszámláló által címzett első memória-rekesz elérésekor kihozunk a memóriából egy utasításkódot, melynek következtében a programszámláló tartalma 1-gyel nő és így a memória következő rekeszét címezi, ahol a program szerint következő

utasításkód található. Az adatszámláló regiszter csak akkor fut végig az adatcímek hosszú során, ha az adatok sokszavas egységben vagy táblázatban vannak tárolva. Milyen szempontokat kell figyelembe venni, ha egy feladathoz számítógépet választunk? A megoldandó feladat alapvetően meghatározza a megoldáshoz alkalmas mikroprocesszor típust. Különböző bonyolultságú feladatok megoldásához a bonyolultságtól függően más-más mikroprocesszort kell alkalmazni. Annak megítéléséhez, hogy milyen mikroprocesszort alkalmazzunk, teljesítőképesség-vizsgáló programokat dolgoztak ki. A feladat követelményeitől függően kell minden esetben meghatározni, kiválasztani a mikroprocesszor családot ( a szükséges memória kapacitást), a perifériás készülékeket, érzékelőket stb. A mindennapi gyakorlatban az alkalmazásra kerülő mikroprocesszor kiválasztását a címezhető memória-kapacitáson, a sebességi követelményeken és a software

(kompatibilitás stb.) szempontjain túlmenően a beszerzési lehetőségek határozzák meg A legtöbb gyakorlati feladat megoldható néhány, széles körben elterjedt, igen alacsony árfekvésű 8 bites mikroprocesszor-típussal, vagy ezek továbbfejlesztett változataival. A mikroszámítógép konfigurációk kiválasztása a gyakorlatban úgy megy végbe, hogy a feladatot végrehajtó utasítás-sorozat (program) lefuttatására, a szükséges adatbázis kezelésére és az I/O feladatokra alkalmas funkcionális egységeket válogatjuk össze. Mit értünk a „tárolt programú” tulajdonság alatt? A tárolt program vezérlésű számítógépek a megírt forráskódok alapján gépi kódú utasításokra fordítják a programot, s azt a háttértáron tárolják az adatokkal együtt. A programok végrehajtása során innen olvassa be a processzor a soron következő utasításokat Milyen műveletek végrehajtására alkalmas a processzor? A processzorok a számítógépek

központi egységei. A központi egység irányít az alap és a felhasználók által készített programok szerint. A számítógép központi egységének a feladatait végzi el Dekódolja az utasításokat, vezérli a műveletek elvégzéséhez szükséges belső adatforgalmat és a csatlakozó perifériális berendezések tevékenységét. Minden logikai egyenlettel leírható kombinációs és szekvenciális feladatkör elvégzésére alkalmas. Az, hogy milyen feladatot lásson el, azt a hozzá csatlakoztatott tárolókba beírt programok határozzák meg. A tárolókba írt programokat a mikroprocesszor hívja le és a rendelkezésére álló, vele összeépített eszközök közreműködésével végrehajtatja. Utasítások felépítése, utasítások szerkezete (több- és egycímes utasítások, tipikus processzorok utasításkészletei). Címzési eljárások (feladatuk, fajtái, tipikus processzorok jellemző címmódosítási eljárásai). Egy utasításnak feltétlenül

tartalmaznia kell azt, hogy annak hatására milyen műveletet és mely operandusokkal elvégeznie. Pontosabban, az utasításban az operandusok memóriabeli helyének címét találja meg a processzor. Egyes esetekben az operandus maga található az utasításban. Az utasítások értelmezés szempontjából, alapvetően három fő részre bonthatók: • műveleti jelrész, amely az elvégzendő művelet, feladat fajtáját adja meg a processzornak • címrész, amely a művelet végrehajtásához szükséges adatok- operandusok- memóriabeli helyének címeit tartalmazza • kiegészítő, módosító rész, amely a műveleti jelrész értelmezéséhez, vagy a címek pontos meghatározásához ad módosító előírást A program futása közben a legáltalánosabb esetben, a processzornak négy (memória)címre van szüksége: • az első operandus címe • a második operandus címe • az eredmény címe • a soronkövetkező utasítás címe. Attól függően, hogy az

utasítás címrésze hány címet tartalmaz, beszélhetünk négy-, három-, két-, egy- illetve nullacímes utasításszerkezetről. A négycímes utasításszerkezet használata, annak ellenére, hogy kevés utasításból álló programot eredményez visszaszorult, mivel igen hosszú utasításokat használhat és így a tárolóbeli helyfoglalása és feldolgozása problémákat okozhat. A négycímes utasítás címeinek számát, az utasításszámláló regiszter(PC) bevezetésével lehet csökkenteni, mégpedig a soronkövetkező utasítás címének elhagyásával. Az így kapott forma a háromcímes utasításszerkezet A soronkövetkező utasítás címét 32. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. az utasításszámláló regiszter tartalmazza annak az automatizmusnak a bevezetésével, hogy minden utasítás végrehajtásakor a processzor automatikusan növeli a PC tartalmát eggyel. Ennek feltétele, hogy a program utasításai a végrehajtás

sorrendjében kerüljenek elhelyezésre a tárolóban és így sorra elővehetők legyenek az utasításszámláló regiszter tartalmának egyesével történő növelésével. Ez ugyanakkor szükségessé teszi olyan utasítások használatát, amelyek megbontják az utasítások szigorú soros feldolgozását, esetleg valamilyen feltétel teljesülése következményeként. A harmadik cím, az eredmény címének elhagyásával keletkező kétcímes utasításforma esetében, az eredményt a processzor automatikusan visszaírja vagy az egyik operandus helyére (természetesen törölve evvel az eredeti értéket), vagy egy erre a célra szolgáló regiszterbe, az aritmetikai egységhez tartozó akkumulátor regiszterbe. A második operanduscím elhagyásával jutunk el az egycímes utasításhoz. Ennek használatához feltétlenül szükséges az akkumulátor regiszter, mint automatikus második cím. Ez azt jelenti, hogy egy művelet mindig az utasításban megcímzett tárolóhely

és az akkumulátor tartalma között kerül végrehajtásra és az eredményt a processzor automatikusan visszaírja az akkumulátor regiszterbe. Az összes cím elhagyásával kapjuk a nullacímes utasítást, amelynek használatához szükséges a veremtároló alkalmazása. Ebben az esetben az operandusokat mindig a veremtárolóból veszi elő a processzor és az eredményt is oda helyezi el. A processzorok többségénél a két-, illetve az egycímes utasításszerkezet használata a szokásos, háromcímes processzorok kialakítása nem túl gyakori. Az utasításszerkezetek kialakítása igen változatos: • Vannak olyan processzorok, melyek utasításszerkezete világos, egyértelmű, az egyes részek feldolgozása mindig ugyanúgy történik. A címek kidolgozásának módja minden utasítsánál azonos, azaz nem függ a műveleti jelrésztől Az ilyen utasításszerkezeteket, utasításkészletet ortogonális utasításkészletnek nevezik. Ilyen processzort használtak a

DEC PDP-11 géptípusnál. • Vannak olyan processzorok, amelyek utasításszerkezete nem túl egyszerű kialakítású, de még kellően áttekinthető, rendszerezett, mint például az Intel i8086/286/386/486 processzoroké. • A Motorola MC68000/68020/68030-as processzorok utasításszerkezete viszont szinte teljesen áttekinthetetlen, igen bonyolult módon szervezett. Az utasítások végrehajtásához ismerni kell az operandusok (feldolgozandó adatok) tárolási helyét is. Az operandusok címzésére többféle módszert is használnak, annak érdekében, hogy a különböző feladatokat könnyebben lehessen megoldani. Az utasítások címrésze általában nem az operandusok pontos (abszolút) címét tartalmazza, hanem azt a processzornak a címzés módjára utaló kiegészítő információk alapján, meghatározott módon ki kell számítania. A pontos címek kiszámítására, meghatározására alkalmazott eljárásokat nevezik címmódosítási eljárásoknak. Az

operandusok tárolási helyének kijelölésére használt alapvető címzési módok a következők: • Közvetlen (direkt) címzés, amely esetében az utasításban maga a tárolóhelycím található. Ez a cím vonatkozhat a memóriára, vagy a processzor valamelyik regiszterére. A közvetlen címzési módon belül megkülönböztethetünk abszolút és relatív címzési módot is. Az első címzési mód esetében a tényleges címet tartalmazza az utasítás, a második esetben pedig valamilyen alapcímhez viszonyított címet tartalmaz az utasítás. • Közvetett (indirekt vagy címhelyettesítéses) címzés, amelynél az utasításban megcímzett tárolóhelyen nem az operandus található, hanem annak a címe. • Literális, vagy álcímzés (immediate), nevezik közvetlen adatcímzésnek is , amely esetben magában az utasításban található az operandus. • Indexelés, amely segítségével a megcímzett tárolási hely címértéke folyamatosan növelhető, így

egy tárolóhely sorozaton egyesével végighaladhatunk. Az Intel processzorok címzési módjait a MODE byte írja le. Az egyik operandus helyét a MODE byte MOD és R/M mezői határozzák meg, míg a másik operandus helyét, amely mindig valamelyik regiszterben található, a REG mező tartalma határozza meg. Az i8088/86, i80286 processzorok címzési módjai ugyanazok. A lehetséges címzési módok közül csak egy használható közvetlen címzésre. Az utasításban operandus használatára, az immediate címzésre és az autóindexelésre nincs lehetőség A címzések többségében egy, vagy több regiszter tartalmának és az utasításban megadott eltolásnak az összege adja meg a memória azon helyét, amelynek tartalmát a műveletvégzéshez fel kell használni. Tulajdonképpen ezek a címzési módok indirekt, vagy indirekt relatív címzési módok. A MOD mező tartalma mellett, mindkét operandus valamelyik regiszterben található Az i80386/486-os processzorok a

32 bites, védett üzemmódjukban, eltérő módon határozzák meg az operandusok helyét. A címek kiszámításában a MODE byte-on kívül részt vesz a SIB byte is. A Motorola processzorok címzési módjait az utasítások MODE és REG mezői határozzák meg. A kialakított rendszer hasonlít a DEC PDP-11 típusú minigépek címzési módjaihoz, de attól bizonyos mértékig elmarad, kevesebbet valósít meg. Az MC68000-es processzor 12 címzési lehetőséggel rendelkezik, amelyet a későbbi processzoroknál, az MC68020, MC68030-as változatoknál kibővítettek néhány újabb változattal, így 18-ra növelve a címzési módok számát. 33. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 24. tétel Milyen műveleteket végez el az aritmetikai logikai egység (ALU)? Az aritmetikai logikai egység a CPU-n belül a számítási és logikai műveleteket végzi el. Az ALU alkalmas: • bináris összeadásra, • Boole algebrai műveletek végzésére, •

komplemens képzésre, • adatok léptetésére, bitenként, jobbra, balra. Minden egyéb adatkezelési művelet, amelynek elvégzése a CPU feladata, felbontható a fenti alapműveletekre. A programozás milyen műveletekből áll? Az utasítás-sorozat a program, a programozás a feladatok megoldásához szükséges utasítás-sorozatok megalkotása, leírása. A programozás a következő műveletekből áll: • a probléma elemzése, • folyamatábrák elkészítése, • a szubrutinok elkészítése, • szubrutinok javítása, • a bemenet és kimenet formáinak meghatározása. Mit értünk vezérlésáramlásos (control-flow) vezérlési elv alatt? A vezérlésáramlásos vezérlési elvet (control-flow, control-driven)a Neumann-féle számítógépekben alkalmazzák. A módszer lényege, hogy a gép a tárolt program vezérlőutasításait sorba véve oldja meg a programutasítások által előírt műveleteket. Az automatikus programvégrehajtás egyszerűsítése

érdekében a vezérlő egységben egy utasításszámláló regiszter tárolja a soronkövetkező utasítás memóriacímét. Miért vezethetők vissza az aritmetikai műveletek a logikai műveletekre? A számokat felírjuk bináris alakban. A bináris alakban felírt számok között a műveletek bitenkénti logikai műveletek formájában elvégezhetők. Numerikus adatok tárolási formái (fixpontos, lebegőpontos formák, pozitív, negatív számok, IEEE 754 lebegőpontos szabvány). A numerikus adatok tárolt formája elsősorban a műveletvégzés elősegítésére szolgál. Ezért a tároláshoz olyan bináris kódrendszereket használnak, amelyek lehetővé teszik az aritmetikai műveletek egyszerű és gyors végrehajtását. A számítógépekben elsősorban a kettes számrendszert, illetve a látszólag tízes számrendszerben dolgozó gépeknél különböző bináris kódrendszereket (BCD, Gray-kód stb.) alkalmaznak Kettes számrendszer szerinti tárolás A tárolt

adatok véges hosszúságú tárolóhelyen vannak elhelyezve és ennek a tárolóhelynek a hosszától, valamint az alkalmazott tárolási formától (fixpontos, vagy lebegőpontos) függ a számadatok lehetséges pontossága. 1.Fixpontos tárolási forma Fixpontos számtárolási formánál a szám kettes számrendszerbeli együtthatóit kell elhelyezni a rendelkezésre álló véges (2-4 byte) hosszúságú rekeszbe. Elvileg a kettedes pont helyét tetszőlegesen választhatnánk meg, de célszerűségi okok miatt (túlcsordulás, alulcsordulás elkerülése végett) minden gépnél rögzített ennek helye, mégpedig vagy a legértékesebb (legnagyobb helyiértékű) bit előtt, vagy a legalacsonyabb helyiértékű hely után. Műveletvégzéskor, a gép a tárolt jelsorozatot az első esetben, mint törtszámot, a második esetben mint egészszámot értelmezi, kezeli. A fixpontos tárolásnál a kezelhető számtartomány erősen korlátozott és a tárolóhely hosszától függ.

Ugyanakkor a programozónak a feladat megoldása közben állandóan figyelemmel kell kísérnie azt, hogy a kettedes pont valójában hová kerülne, azaz a hatványkitevő aktuális értékét külön tárolnia kell. Ennek kiküszöbölésére, valamint az ábrázolható számtartomány kibővítésére használjuk a lebegőpontos formát a számítógépen belül is. 2.Lebegőpontos tárolási forma A lebegőpontos számtárolási formánál a számok tárolása hatványkitevős formában, mégpedig többnyire nullára normalizált alakban történik. Mivel a számrendszer alapszáma rögzített, ezt tárolni nem kell, elegendő csak a mantissza és a karakterisztika tárolása. Tehát a lebegőpontos adattárolási forma mindig egy számpár, a mantissza és a karakterisztika együttes tárolását és kezelését jelenti, mégpedig önmagukban fixpontosan, azaz a mantisszát fixpontos törtszámként, a karakterisztikát fixpontos egészszámként kezeli a gép. A számok

elegendő pontosságú tárolása miatt az együttes felhasznált tárolóterület 4-6-8 byte. Ennek egy részét értelmezi karakterisztikaként a számítógép. Pozitív és negatív számok megkülönböztetése Nyilvánvaló, hogy a negatív számokat is jelölni kell valamilyen módon. Erre a célra-az előjelezésre- a tárolt jelsorozat legértékesebb, legmagasabb helyiértékű bitjét használjuk fel és ennek értéke: 0 a pozitív számok és 1 a negatív számok esetében. A negatív számok tárolásához 4-féle módszert használnak a számítógépeknél, mégpedig: 1.Előjeles, abszolútértékes tárolásmód esetében, az előjel biten a szokásos módon jelöljük a szám negatív vagy pozitív voltát, a többi helyiértéken pedig a szám abszolút értékét tároljuk.(n bites tárolóhely esetében n-1 biten) 2.Egyes komplemenskódú tárolás esetén, az n-1 számbiten az előjeltelen tárolandó számértéket, az adott tárolóhosszon ábrázolható

legnagyobb számra,2(n-1)-1-re kiegészítő szám jelsorozatát tároljuk. 34. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. Mechanikus komplemensképzésnél ez azt jelenti, hogy a tárolandó adat minden helyiértékén a 0-t 1-esre, az 1-est 0-ra változtatjuk. Az előjelbit értéke 1-es lesz. 3.Kettes komplemenskódú tárolás esetén, az előjeltelen számadatot az adott tárolóhosszon ábrázolható legnagyobb számnál 1-gyel nagyobb számra, azaz a 2(n-1)-re kiegészítő számot tároljuk. Előállítása mechanikusan úgy történik, hogy jobbról-balra haladva az első 1-esig bezárólag változatlanul leírjuk a számjegyeket, majd a továbbiaknál az 1-est 0-ra, a 0-t 1-esre változtatjuk. Az előjelbit értéke 1-es lesz 4. 2(n-1) többletes (eltolt nullapontú) kódú tárolás választása esetén, a tárolandó számértékhez az adott tárolóhosszon ábrázolható számnál eggyel nagyobb számnak (2(n-1)-nek) megfelelő értéket adunk hozzá, annak

érdekében, hogy mindig pozitív számot tárolhassunk. Formailag az előállítása azonos a kettes komplemensű számértékkel, avval a különbséggel, hogy az előjelbit értéke mindig 0 értékű. A különböző pozitív és negatív számtárolási módoknál problémát okozhat, hogy kétféle, pozitív és negatív 0 érték lehet a tárolható számok között. Ez a gond az előjeles, abszolútértékes és az egyes komplemenskódú tárolásnál merül fel, azaz egyszerre létezhet pozitív és negatív nulla is. Egyes változatoknál ezt az értéket pl az igen nagy negatív szám jelölésére használják A gépgyártás korai időszakában többféle lebegőpontos formátum is használatos volt, némelyik még hibás eredményeket is szolgáltatva. A nyolcvanas években az amerikai villamosmérnökök szervezete (IEEE) kidolgozta azt a szabványt, amelyet azóta a nagy gyártók processzorai is használnak. Ez a szabvány nem csak az adatformátumokat definiálja,

hanem általában a lebegőpontos műveletek, átalakítások körét is. A szabvány három lebegőpontos formát definiál: • egyszeres pontosságú(single precision),amely 32 bit hosszúságú • dupla pontosságú(double precision), amely 64 bit hosszúságú • kiterjesztett pontosságú(extended precision),amely 80 bit hosszúságú • négyszeres pontosságú(quadrupled precision),amely 128 bit hosszúságú A kiterjesztett pontosságú formátumot a lebegőpontos processzorok használják belső számábrázolási célokra, a pontosság növelése érdekében. Az adatformák mindegyike azonos szerkezetű és három részből állnak: • mantissza előjelbitje (1 bit) , amely 0 értékű a pozitív számoknál és 1 értékű a negatív számoknál • karakterisztika( 8,11,15 bit), amelynél a számábrázolási mód a 2(n-1)-1-es többletű (n=8,11,15) forma. A legkisebb és legnagyobb értékeket speciális célokra használják fel. • mantissza (23,52,64 bit), amely

fixpontos egyesekre normalizált törtszám, azaz az egészrésze mindig 1 értékű, a törtrésze pedig tetszőleges értékű. Miután az egészrész mindig 1-es értékű, ezért ezt megállapodás szerint nem tárolják, csak a törtrészt Megkülönböztetve a nullára normalizált mantisszától, ezt a fajta ábrázolásmódot a szabvány szignifikandusnak nevezi. A lebegőpontos számokkal végzett műveletek problémája a túlcsordulás és az alulcsordulás megfelelő kezelése. Ezeknek az eseteknek a megoldására a szabvány a normalizált adatformátum mellett további adatformátumokat határoz meg, mégpedig: • normalizált adatformátum • denormalizált adatformátum • nulla számérték • végtelen értékének adatformátuma • nem meghatározott számérték, nem-szám adatformátum Az aritmetikai műveletek során keletkezett igen kis számértékek, amelyek alulcsordulást eredményeznek, kezelésére kétféle megoldási lehetőség kínálkozik. • a

számértéket nullával helyettesíteni és a számításokat továbbfolytatni, vagy • alulcsordulási hibakezelő eljárás elindítása és a számítások leállítása. Ezek egyike sem a legmegfelelőbb, ezért a szabvány bevezeti a denormalizált adatformátum használatát. A denormalizált adatformátum esetében a karakterisztika értéke nulla, és a mantissza egy tetszőleges, 0 egészrésszel rendelkező törtszám. A túlcsordulásokat eredményező igen nagy számokat a szabvány minden esetben végtelenként kezeli és az evvel az adatformátummal végzett műveleteknél a végtelenre alkalmazott szabályokat veszi érvényesnek. A végtelen ábrázolásához a mantissza 0 értékű, a karakterisztika minden bitje pedig 1-es értékű. A végtelen osztása végtelennel nem-meghatározott számértéket eredményez, amelyre külön adatformátumot, a nem-szám formátumot határozta meg a szabvány. Az ehhez tartozó adatformátum a végtelenéhez hasonló, avval a

kiegészítéssel, hogy a mantissza tetszőleges értékű lehet. 35. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 25. tétel Mi a vezérlőegység funkciója a CPU-n belül? A vezérlőegység funkciója bizonyos szempontból analóg a bábjátékos munkájával, úgy manipulálja a bábukat mozgató zsinegeket, hogy a bábu a megfelelő lépések szerint táncoljon. Egy mikroprocesszorban a regiszterek és az ALU a bábu, míg a vezérlőegység a bábjátékos. A legtöbb mikroprocesszor chipben a vezérlőegység a teljes chipnek több mint a felét foglalja le és rendkívül összetett funkcionális egység, A vezérlőegység (CU) a CPU-n belül értelmezi az utasításokat és végrehajtásuk céljából összehangoltan vezérli a számítógép többi egységének a működését úgy, hogy az események a programnak megfelelő helyes sorrendben és időben következzenek be. Biztosítja, hogy a megfelelő adatok, a megfelelő helyen és időben rendelkezésre

álljanak. Indítja az áramkörök működését Az utasításszámláló tartalma alapján a vezérlőegység kiolvashatja a memóriából annak a rekesznek a tartalmát, amely a soronkövetkező utasítást tárolja. Ezt az utasítást értelmezi, azaz az utasítás műveleti-kódrésze alapján meghatározza, hogy sorrendben milyen műveletet kell végrehajtani. Az utasítás címrésze alapján értelmezi, hogy milyen címen találhatók a műveletben résztvevő adatok, vezérli ezek kiolvasását és a megfelelő regiszterbe történő továbbításukat. Az ALU-val végrehajtatja a megfelelő műveletet, biztosítja az eredmény megőrzését és beállítja az utasításszámláló új tartalmát. Engedélyező jeleinek sorrendjét az utasításregiszterben tárolt utasításkód bitmintájának megfelelően generálja és ezzel az adatfolyamot irányítja. Miért célszerűbb egy programot hexadecimális számjegyek sorozataként megadni? A számítógép program bináris

utasításkód-sorozat alakjában megírható, de akkor igen nagy az olyan hibák valószínűsége (0 vagy 1 csere), amelyek igen nehezen találhatók meg. A bináris számjegyek sorozataként felírt program helyett a legnyilvánvalóbb módja a módszer tökéletesítésének az, ha a programot hexadecimális számjegyekben adjuk meg és ha találunk valamilyen gépi megoldást a hexadecimális számjegyek bináris számjegyekre való átalakítására. A programot hexadecimális számjegyekkel írva, kevesebb a lehetőség hiba elkövetésére, mivel minden négytagú bináris számjegy kifejezhető egy hexadecimális számjeggyel. A hexadecimális számjegyekkel való programozásnál a hibák is könnyebben megtalálhatók, mivel-ha nem is a legkönnyebb feladat egy rossz helyre írt hexadecimális számjegy megtalálása- mégis sokkal egyszerűbb, mint a szemkápráztató bináris mintában megtalálni egy téves 0-t vagy 1-t. Milyen folyamatot modellez a Neumann-elvű

számítógépek funkcionális felépítése? A Neumann-elven működő számítógépek a soros utasításfeldolgozás elvét valósítják meg. Az ábra alapján látható, hogy a számítógép a beviteli eszköz által 2-1.ábra adatbevitel - feldolgozás - adatkihozatal Milyen számrendszerekben célszerű végrehajtani az aritmetikai műveleteket? A számítógép egyik legfontosabb egysége az aritmetikai egység, amely az utasításban előírt műveleteket az adatokon végrehajtja. Az aritmetikai egység az aritmetikai műveleteket általában a kettes számrendszer szerint hajtja végre, de szükség szerint valamelyik binárisan kódolt decimális kód (pl.: BCD kód) felhasználásával tízes számrendszer szerint is dolgozhat a számítógép A műveletek többnyire akár fixpontos, akár lebegőpontos formában elvégezhetők. Perifériakezelő assembly utasítások. Egy mikroszámítógép használhatatlan lenne, ha nem rendelkezne olyan külső eszközökkel, amelyek

segítségével külső berendezésekkel kommunikálhat. Ennek a kommunikációnak a vezérlésére szolgálnak a bemenő/kimenő (I/O) utasítások Rövid (SHORT) bemenet: • INS P P az utasítás operandus, amely meghatározza az I/O portok egyikét (0, 1 vagy 2), amelyen az utasítások végrehajtandók. Hosszú (LONG) bemenet: • IN P P bármilyen értéket felvehet 0 és 255 között Rövid (SHORT) kimenet: • OUTS P Megegyezik a rövid-bemenet utasítással, kivéve, hogy az adatokat az A0 akkumulátorból viszik ki a meghatározott I/O porton (0, 1 vagy 2) keresztül. Hosszú (LONG) kimenet: • OUT P Formailag azonos a hosszú-bemenet utasítással, azzal a különbséggel, hogy az adatokat az A0 akkumulátorból viszik át egy külső berendezésbe bármelyik (0-tól 255-ig) I/O porton keresztül. 36. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 26. tétel Milyen egy bináris összeadás számítógépes programja? A számítógépes összeadás programja:

Példa: a memória 0A30 címén tárolt szóhoz hozzá kell adni a 0A31 címén tárolt szót és az eredményt a 0A31 címen kell tárolni. Utasítások: • Azonosítani kell azt a memória-rekesz címet, amelyen az első összeadandó tárolva van. • Az azonosított memória-rekesz tartalmát át kell vinni a mikroprocesszorba. • Azonosítani kell azt a memória-rekesz címet, amelyen a második összeadandó tárolva van. • A második lépésben átvitt szóhoz hozzá kell adni a harmadik lépésben kikeresett szót. • Azonosítani kell annak a memória-rekesznek a címét, amelyben az összeget tárolni fogjuk. • Át kell vinni az összeadás művelet eredményét az ötödik lépésben kikeresett memória-rekeszbe. Mi a forrásprogram és az átalakítóprogram? A forrásnyelven írt számítógépprogram a forrásprogram. Ha a programot nem a gép "saját nyelvén" (gépi kódban), hanem egy más nyelven írtuk, akkor ezt még le kell fordítani a gép

nyelvére, tárgykódú programra. Ezt végzi el az átalakító (converter) program, azaz elolvassa a forrásprogramot és létrehozza az azzal ekvivalens tárgyprogramot. Melyek a hagyományos számítógép funkcionális egységei? A hagyományos számítógépek funkcionális egységei: • központi egység (CPU) • vezérlő egység (CU) • aritmetikai és logikai műveletvégző egység (ALU) • központi tár, memória • másodlagos-, vagy háttértárolók • perifériák(I/O) • beviteli egységek • kiviteli egységek Miért használjuk a kivonások elvégzéséhez a komplemens kódot? A komplemens kód használatának számítógépekben azaz előnye, hogy a kivonás a kivonandó komplemensének hozzáadásával helyettesíthető, tehát a fixpontos feldolgozóegységnek nem kell tudnia végrehajtani a kivonás műveletét. A Neumann-elvű számítógépek működési alapelvei. A hagyományos számítógépek csoportosítási lehetőségei (teljesítmény, kezelt

folyamatok alapján), a kisgépek és nagygépek közötti különbségek. A számítógép egy olyan (elektronikus) eszköz, amely tárolt programutasítások alapján dolgozik, azokat a tárolás sorrendjében végrehajtva és aritmetikai, logikai műveletek automatikus elvégzésére alkalmas. A számítógépnek ez a megfogalmazása, mint kiindulási alap kezelendő, mivel a számítógépek új struktúrái ettől eltérő működésmódot, felépítést is lehetővé tesznek. A fenti megfogalmazás az un Neumann-féle számítógép alapelveit foglalja magában A számítógép mind a feldolgozandó adatokat, mind pedig a feldolgozást vezérlő utasítássorozatot, a programot tárolja. A program utasításait a tárolás sorrendjében sorra végrehajtja, hacsak magában a programban nem írunk elő más végrehajtási sorrendet. A számítógépeket sebességük, teljesítőképességük alapján szokásosan három csoportba: nagy-, közép-, és kisgépek körébe sorolhatók.

1. A nagygépek, vagy maintrame gépek jellemzője a nagy műveleti sebesség, a nagy kapacitású tárolók és nagy teljesítményű perifériák használata. Ezeket a gépeket elsősorban nagyvállalati adatfeldolgozásokhoz, tudományos számításokhoz használják, ahol vagy nagyon sok adattal kell dolgozni, vagy igen számításigényes feladatokat kell megoldani. A gépeket ugyancsak nagy teljesítményű, sokoldalú működtető programrendszerrel (operációs rendszerrel) látják el, amelyek a gépek használatát nagy számú felhasználónak teszik lehetővé egyidőben. Mint nagy teljesítményű berendezések, általában a központi gép szerepét játsszák a többgépes rendszerekben. 2. A középgépek (minigépek) csoportjába olyan gépek tartoznak, amelyek memóriája kisebb kapacitású, sebessége alacsonyabb és általában véve a teljesítőképességük kisebb, mint a nagygépeké. Alkalmazási területük szűkebb, azaz kisebb adatmennyiséggel dolgoznak,

kisebb felhasználói kört szolgálnak ki. Többnyire folyamatvezérlési, termelésirányítási feladatok, mérésfeldolgozó rendszerek kiszolgáló gépeiként alkalmazzák azokat. Viszonylag nagy számú felhasználó kapcsolódhat rá saját eszközeivel Nagyobb teljesítményű, önállóan használt változatait bonyolult grafikai feladatok kezeléséhez, számításigényes feladatok megoldásához használják. 3. A kisgépek, mikrogépek kategóriájába tartozó gépek teljesítménye viszonylag alacsony, többnyire önállóan, személyi számítógépként, vagy hálózatba kötve használják őket. Az alacsony teljesítményt elsősorban a gépekhez használt perifériák (nyomtatók, tárolók) eredményezik, mert a csoport nagy teljesítményű tagjai mint munkaállomások, vagy mint hálózati kiszolgáló (server) gépek alkalmazhatók. A kezelt folyamatok alapján a következő négy csoport alkotható meg: 1. SISD (Single Instruction Stream Single Data Stream),

azaz egyetlen utasításfolyam és egyetlen adatfolyam feldolgozása Az ilyen gépek egy vezérlő egységgel és egy aritmetikai egységgel rendelkeznek, egyidőben egyetlen utasítás végrehajtására alkalmasak. Ebbe a csoportba tartoznak a hagyományos, Neumann-elvű számítógépek. 2. SIMD (Single Instruction Stream Multiple Data Stream) ,azaz egyetlen utasításfolyam, többszörös adatfolyam feldolgozása Ezek a gépek egy vezérlő egységgel és több aritmetikai egységgel rendelkeznek és egyidőben egy és ugyanazt az utasítást hajtja végre több adaton. Ebbe a körbe sorolhatók a vektor-, és tömbprocesszoros gépek 3. MISD (Multiple Instruction Stream Single Data Stream),azaz több utasításfolyam alapján egyetlen adatfolyam feldolgozása Ilyen 37. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. típusú gépek tulajdonképpen nincsenek, bizonyos esetekben ide sorolják az un. pipeline feldolgozást alkalmazó számítógépeket 4. MIMD (Multiple

Instruction Stream Multiple Data Stream), azaz több utasításfolyam és több adatfolyam feldolgozása Ebbe a csoportba tartozó gépek a különböző multiprocesszoros számítógépek. 38. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 27. tétel Miért fontos az állapotinformáció? Az állapotinformáció a számítógép pillanatnyi állapotára vonatkozik. Jellegzetes állapotinformációk: • előjelbit értéke a numerikus adatokon végzett műveletek eredményének előjele • túlcsordulásbit a bit értéke 1 ha numerikus adatokon végzett műveletek eredménye túlcsordulás • átvitelbit értéke 1, ha van átvitel • nulla bit a bit értéke 1, ha a művelet eredménye 0 • megszakításbit a bit értéke 1, ha megszakításkérés van • utasításszámláló a következő végrehajtandó utasítás címe • veremmutató értéke a verem tetejének címe Az állapotinformáció a jelzőbitek (flag) és az állapot(kód) regiszter tartalmából

alkotott állapotszóban kerül tárolásra. Megszakítás esetén a feldolgozás az eltárolt állapotszóban lévő állapotinformációk alapján folytatódik. Milyen programtárolási módszerek vannak, fejlődésük, előnyük, hátrányuk? A programok tárolása a mikroprocesszoros rendszerek alkalmazásakor általában valamilyen mágneses rögzítési módszerrel történik. A lyukszalagos programtárolási módszer alkalmazása egyre ritkább. A mágneses tárolók az anyag mágneses tulajdonságát, a remanens mágnességet használják fel információ tárolására. Alapvetően kétfajta tároló működik mágnesség elvén: • olyan tárolók, amelyekben a mágnesezhető közeg és az író-olvasó szerkezet között mechanikus elmozdulás van (diszk, szalag, film, kártya) • olyan tárolók, amelyekben mechanikus elmozdulás működésük közben nincs (ferritgyűrűs, film, buborék) A gyakorlati alkalmazásban a legnépszerűbb jelenleg a mágneslemezes tár

(diszk). A mágneslemezes tárban a tároló-közeg mindkét oldalán mágnesezhető, cserélhető merev vagy hajlékony (floppy diszk) lemez. A lemezt üzemszerűen a meghajtó szerkezet gyorsan forgatja. Az adatok beírása, kiolvasása a lemezek közé benyúló, mozgató mechanizmussal ellátott író/olvasó fejekkel történik Az adatok elérési ideje a különböző adatszervezési módszerek alkalmazása függvényében változik. Az adatok közvetlen elérésűek, vagyis azokat felvitelük sorrendjétől függetlenül lehet elérni. A mágnesszalagos tárolóban a tárolóközeg a műanyag szalagra felvitt mágnesezhető réteg. A mágnesszalagos tár soros működésű, vagyis az információk azok felvitele sorrendjében érhető el. Természetesen a legelegánsabb megoldás az lenne, ha a mikroszámítógépekhez jól illeszkedő mágneses buborék-memóriát (MBM) használhatnánk háttér-tárként, hiszen annak mikromérete és az a tény, hogy nincs mozgó alkateleme

igen előnyös tulajdonságok a mikrogép kategóriát illetőleg. Sajnos, a még mindig magas árfekvés hátráltatja az MBM gyakorlati elterjedését Vázolja fel egy mai számítógép rendszertechnikai felépítését! Egy mikroszámítógép négy alapvető funkcionális egységből áll: • bemeneti egység, amely az adatok és a program bevitelét biztosítja • memória, amely az adatokat és a programot tárolja • processzor, mely az adatokon a programnak megfelelően logikai és számítási műveleteket végez • kimeneti egység, melyen keresztül a program futásának eredménye eljut a felhasználóhoz. A rendszer szinkron működését periodikusan kiadott jelek (órajel) biztosítják. Egy utasítás végrehajtása több óraciklus alatt megy végbe. Memória-címbusz Vezérlőeg ység Adatregiszter ALU Memóriacímregiszter I O O I Memória Akkumulátor Milyen logikai alapműveleteket ismer? A logikai alapműveletek és törvények tartalmának

értelmezéséhez, azt kell áttekinteni, hogy az egyes műveletek milyen logikai feltételek mellett, milyen eredményeket adnak. Ennek egyszerű kezelésére, a számítástechnikai gyakorlatban szokásos összerendeléseket alkalmazzuk, azaz a logikai IGEN (igaz, TRUE) értékhez az 1-est, a logikai NEM (hamis, FALSE) értékhez a 0-t rendeljük hozzá. Az egyes műveletek, kifejezések értelmét, tartalmát az un igazságtáblázat segítségével lehet megmutatni Az igazságtáblázat baloldala az egyes változók lehetséges értékkombinációit sorolja fel, míg a jobboldalán az eredményváltozóknak ezekhez a kombinációkhoz tartozó logikai értékeit találjuk meg. A három logikai alapművelet :NEM(NOT), VAGY(OR) és az ÉS(AND). A számítógépes alkalmazásokban, a logikai műveletek mindig bitenként értelmezendők, azaz egy tetszőleges tárolóhely tartalmán végzett logikai művelet, a tárolóhely minden egyes bitje esetében ugyanúgy kerül végrehajtásra.

39. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. A NEM(NOT)- művelet, mint egyoperandusos művelet a tárolóhelyek tartalmának ellenkező értékre állítására lehet felhasználni, ami nem más mint az adott érték egyes komplemenskódú értéke. A VAGY(OR) művelet értelmezése nem azonos a köznapi szóhasználat szerinti értelmezéssel, az egymást kizáró feltételek vagylagos kezelésével, mert a két állítás (feltétel) egyidejű igaz volta is megengedett. A gépi gyakorlatban két tárolóhely tartalom összeadására, egyesítésére használják, azaz az eredményben azokon a biteken lesz 1-es érték, amely helyiértékeken bármelyik, vagy esetleg mindkét operandusban 1-es volt. Az ÉS(AND) művelet akkor ad igaz értéket, ha mindkét állítás (feltétel) egyidejűleg teljesül. A művelet segítségével lehet kijelölni, maszkolni egy tárolóhely tartalmának tetszőleges részét, amit az eredménybe átviszünk. Ezzel lehet megoldani a

bitenkénti adatkezelést is, ha szükséges és nem áll rendelkezésre erre a célra szolgáló bitmanipulációs utasítás. Forgató-, léptetőutasítások. A léptető és forgató utasítások az operandusok bitjeit jobbra, vagy balra egy, vagy több helyiértékkel eltolják, körbeforgatják, azaz az egyik oldalon kilépő bitet a másik oldalon belépteti. Az utasítások végrehajtásakor a kilépő bitek egyúttal az átvitel(carry) bitbe is belépnek. Balra léptetéskor (un. aritmetikai, vagy logikai léptetéskor ) a legalsó helyiértékre 0 lép be, a kilépő legfelső bit az átvitel (carry) bitbe íródik. Logikai jobbra léptetéskor baloldalon a legmagasabb helyiértékre 0 lép be és a legalsó helyiértéken kilépő bit az átvitel bitbe íródik. Aritmetikai jobbra léptetéskor baloldalon mindig a legfelső helyiérték bitje lép be ismétlődően és a legalsó helyiértéken kilépő bit az átvitel bitbe íródik. Balra forgatáskor a legfelső

helyiértéken kilépő bit a legalacsonyabb helyiértéken, jobbról belép, ugyanakkor az értéke az átvitel jelzőbitbe is beíródik, Jobbra forgatáskor a legalacsonyabb helyiértéken kilépő bit a legfelső helyiértéken , balról belép, ugyanakkor az értéke az átvitel jelzőbitbe is beíródik. 40. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 28. tétel Mi biztosítja a digitális rendszerek szinkron működését és hogyan? A rendszer szinkron működését periodikusan kiadott jelek - órajelek - biztosítják, amelyek egyrészt az ütemnek megfelelően engedélyezik az adatok jeleinek belépését az áramkörbe, másrészt szinkronizálják az áramkörök állapotváltozásait. A számítógépek órajel sorozata szinkronizálja az egyes részek működését, biztosítja a párhuzamos folyamatok egymásmellettiségét és megszabja a számítógép működési sebességének felső korlátját. Egy utasítás végrehajtása több óraciklus alatt

megy végbe. Mi az assembler? Assembly nyelvű programból gépi nyelvű programot előállító fordítóprogram. Az assembly nyelven írt forrásprogramon elvégzi a futtatáshoz szükséges előkészületeket. Ezek a következők: • gépi kódra fordítja le a mnemonikus utasításokat, • lefordítja a szimbolikus címeket, azaz abszolút címeket állít elő, • ellenőrzi a forrásprogram szintaktikus hibamentességét, • beépíti a könyvtári eljárásokat, • a forrásprogram utasításai nyomán összeilleszti a célprogram részeit, • elvégzi a hivatkozások létrehozásához szükséges teendőket, • gondoskodik a szükséges mennyiségű tárolóhelyről, • tartalmazhat hibakereső programot is. Sorolja fel az utasításfeldolgozás elemi lépéseit! Egy-egy utasítás feldolgozása az utasítás előkeresését, értelmezését és az előírt feladat végrehajtását jelenti lényegében. A végrehajtási folyamatot funkcionális lépésekre bontva, egy

utasítás feldolgozása alapvetően az alábbi részekből tevődik össze: • utasításelőkészítés, lehívás(fetching): ebben a fázisban a processzor az utasításszámláló regiszter(PC) tartalmát (amely a soronkövetkező végrehajtandó utasítás memóriabeli címe) átviszi - ha van-, a memóriacímregiszterébe(MAR) vagy a címsínt vezérlő cím- pufferregiszterbe, amelynek alapján kikeresi a tárból az utasítást és átviszi a vezérlő egység utasításregiszterébe(IR), • utasításszámláló regiszter tartalmának növelése: ez a lépés a PC tartalmának automatikus növelésével a következő utasítás tárolóbeli helyének címét állítja elő, ez a PC tartalmának 1-gyel (pontosabban az utasításhossznak megfelelő tárolóhely számmal) való növelését jelenti. Az utasításszámláló regiszter a kezdő értékét, a program kezdetének a címét, kívülről, a gépet működtető operációs rendszertől kapja. • műveleti kód

értelmezése, dekódolása és az operandus címének meghatározása: ezalatt a fázis alatt történik a műveleti jelrész értelmezése (azaz annak a meghatározása, hogy mit kell csinálnia a gépnek az utasítás hatására) és a művelethez szükséges operandusok pontos helyének, címének a meghatározása, kidolgozása az utasítás címrésze alapján. Ha az utasításban előírt művelet nem igényli adat felhasználását (pl. vezérlő utasítások), akkor a végrehajtási fázisra tér át • művelethez szükséges adatok előkészítése: a művelet elvégzéséhez, az előző lépésben kidolgozott cím alapján, kikeresi az operandusokat a memóriából és átviszi az utasítás által meghatározott helyre, amely legtöbbször az aritmetikai egység akkumulátor regisztere(AC), vagy más speciális regiszter. • végrehajtás(executing): ebben a fázisban történik a kijelölt művelet végrehajtása a kijelölt és előkészített operandusokkal. Ha a

művelet arra ad előírást, hogy a program végrehajtása ne a soronkövetkező, hanem egy másutt elhelyezkedő utasítással folytatódjék, akkor ebben a lépésben ennek a helynek a címét a gép beírja az utasításszámláló regiszterbe(PC-be). • az eredmény elhelyezése: az eredményt, ha volt, az előírt helyre helyezi (ez többnyire az akkumulátor regiszter (AC) ) és visszatér az első lépésre, újrakezdeni az utasításfeldolgozás lépéseit. Mire használhatók a logikai függvények? A logikai függvények a logikai műveletekkel felírt kifejezéseket jelentik, amelynek értéke a kifejezést alkotó logikai változók értékétől függ. A logikai függvények fő alkalmazási területe az egyes elektronikus elemek, logikai áramkörök működésének leírásakor van, amely függvények alapján a konkrét áramköri kapcsolások könnyen összeállíthatók. A logikai műveletek megfelelői a gépi utasításkészletben is megjelennek, általában az

alábbi lehetőségeket biztosítva: • ÉS(AND) kapcsolat két tárolóhely tartalma között, maszkoláshoz • VAGY(OR) kapcsolat két jelsorozat összefésüléséhez, egyesítéséhez • antivalencia(EXOR) kapcsolat, vagy ekvivalencia-kapcsolat két tárolóhelytartalom különbözőségének, egyezőségének vizsgálatához • léptetések, túlcsordulások, stb. figyeléséhez Flag regiszter, flag-típusok és szerepük a gép működésében. Flagregiszter vagy állapotregiszter, amelyek egy, vagy több regiszteren belül tárolnak vezérlő és ellenőrző jeleket. A műveletek végrehajtásának eredménye alapján bekövetkező állapot jellemzőit tükrözi vissza regiszter egy-egy helyiértéke, bitje. Ilyen jellemző pl az eredmény nulla volta (zero flag), a keletkezett számérték túl nagy értéke (overflow flag), átvitel keletkezése (carry flag), stb. 41. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 29. tétel Milyen részekből áll egy

utasításciklus? Minden utasításciklus két részből áll, utasítás kihozási és utasítás végrehajtási ciklusból. Az utasítás-kihozási ciklus az utasításciklusnak az a része, amikor a CPU a soron következő utasítást kihozza (olvasás) a programszámláló (PC) által címzett memóriarekeszből. A CPU a memóriarekesz tartalmát az utasítás-regiszterében (I) tárolja és utasításkódként értelmezi. Ezután a CPU belső logikai felépítésének megfelelően automatikusan 1-gyel növeli a PC tartalmát Az utasítás végrehajtási ciklus az utasítás-ciklusnak az a része, amikor a szóban forgó műveletet a számítógép végrehajtja. A végrehajtási ciklus alatt az utasításkód az utasítás-regiszterben(I) van, ez a vezérlőegység irányításával az események olyan sorrendjét indítja meg, melynek hatására végrehajtja az utasítást. Mit tartalmaz az operandusmező? Operandus mező: az operandus valamilyen művelet tárgyát képező

mennyiség. Utasítások vonatkozásában minden olyan szám, amelynek címe szerepel az utasításban. Melyik vezérlési mód adja a gyorsabb utasításfeldolgozást, a huzalozott vagy a mikroprogramozott? Az elemi műveletek végrehajtása a számítógép felépítésétől függően történhet: • Huzalozott (hardver) módon; amikor az utasítás feldolgozását jelentő elemi tevékenységek sorrendjének vezérlését bonyolult sorrendi áramkörökkel oldják meg (programozható logika (PLA)), amely a szükséges sorrendben és időzítéssel adja ki az egyes kapuk működtetésére szolgáló vezérlő jeleket. • Mikroprogramozott (szoftver) módon; amikor az elemi tevékenységek sorrendjét egy (többnyire ROM tárban) tárolt program, a mikroprogram utasításai vezérlik. A mikroutasítások két részből állnak: a különböző kapukat engedélyező vezérlőbitekből és a következő mikroutasítás címéből. A makroszintű, gépi kódú utasítás műveleti

jelrésze adja meg a műveletvezérlő mikroprogram kezdőcímét, amelynek a mikroutasításait sorra véve történik az utasítás feldolgozása. Tehát azt lehet mondani, hogy a mikroprogram vezérelt műveletvégrehajtás számítógép a számítógépben. Az elvekből látható, hogy a huzalozott módon megvalósított utasítás feldolgozás a gyorsabb, viszont rugalmatlan, a feldolgozási metódus megváltoztatása csak áramköri elemek cseréjével lehetséges, míg a mikroprogramozott utasítás feldolgozás lassabb, de a mikroprogramtár változtatásával lehetőség van az utasításfeldolgozás folyamatának megváltoztatására. Melyek a legfontosabb állapotjelző bitek és melyik mire szolgál? Az állapotjelző bitek az ALU állapotregisztereinek bitjei, amelyek speciális feltételek- állapotok- létrejöttét jelzik. Általában öt különböző állapottal kapcsolatos információt tárol. • C,IC átvitel, közbenső átvitel • Z zéró állapotjelző bit,

értéke=1, ha az aktuális adatkezelési művelet eredménye zérus, vagyis, ha az akkumulátor tartalma zérus • N előjel állapotjelző bit az akkumulátorban lévő számérték előjele. Az előjel-bit értéke=1, ha az akkumulátor tartalma negatív • V,OV,OVF túlcsordulás-jelző bit értéke=1, ha az akkumulátor túlcsordul. Túlcsordulás aritmetikai műveletek során jön létre. • ICB megszakításbit. Ha megszakításkérés van, a megszakításbit értéke=1 Szubrutinhívás folyamata, a szubrutinhívó assembly utasítások. Az „ugrás a szubrutinba” utasítás hatására az utasításszámláló meglévő tartalmát meg kell őrizni mielőtt az új azonnali adatot betöltjük az utasításszámlálóba; mivel mikroszámítógépünk rendelkezik egy veremmel az utasításszámláló tartalmát odairányítjuk és az azonnali adatot csak ezután töltjük be az utasításszámlálóba. Az utasítás: JSR SNAME SNAME az azonosító jele a szubrutinon belül

elsőnek végrehajtott utasításnak. (Első lépés a mikroszámítógépek világába 258.oldal) 42. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 30.tétel Hogyan csatlakoznak a mikroprocesszorhoz a funkcionális egységek? A mikroprocesszoroknak három alapvető funkcionális blokkja van: • regiszterek • aritmetikai logikai egység • vezérlőegység adatbusz akkumulátor regiszterek ALU busz kimenet CPU vezérlőegység A központi egység egyes elemeit az egység részét képező sínrendszer bus system) köti össze. A sínrendszer funkcionálisan három sínt foglal magába. • adatsín az adatbitek továbbítására • címsín a címbitek továbbítására • vezérlősín vezérlőinformációk átvitelére Milyen főbb memóriacímzési műveletek vannak? Az operandusok tárolási helyének kijelölésére használt alapvető címzési módok: • Közvetlen, (direkt; direct) címzés, amely esetében az utasításban maga a tárolóhelycím

található; ez a cím vonatkozhat a memóriára, vagy a processzor valamelyik regiszterére. A közvetlen címzési módon belül megkülönböztetünk • abszolút címzési módot, ahol az utasítás a tényleges címet tartalmazza • relatív címzési módot, ahol valamilyen alapcímhez viszonyított címet tartalmaz az utasítás • Közvetett (indirekt, vagy címhelyettesítéses; indirect) címzés, amelynél az utasításban megcímzett tárolóhelyen nem az operandus található, hanem annak a címe. • Literális (álcímzés, literal, pseudo, immediate), közvetlen adatcímzésnek is nevezik, amely esetben magában az utasításban található az operandus. • Virtuális címzési eljárások • szegmentálás • lapozás • lapozásos szegmentálás A címmódosítási eljárások közé sorolandó továbbá: • Indexelés (indexing), amely segítségével a megcímzett tárolási helycímértéke folyamatosan növelhető, így egy tárolóhely sorozaton

egyesével végighaladhatunk. A különböző címzési módok együttesen is használhatók. Legtöbbször valamelyik címzési mód (abszolút, relatív, indirekt) és az indexelés együttes használata szokásos és megengedett. A különböző címkiszámítási változatok alkalmazhatósági területe, azaz, hogy mely utasítások esetében használhatók, általában korlátozott. A virtuális címek kezelését a tárolókezelő rendszer (MMU) végzi. Mit értünk bit alatt? bit = bináris karakter Bináris rendszerekben a legkisebb ábrázolható adategység. Egy bit, két lehetséges érték egyikét veheti fel, melyeket általában 0 vagy 1 karakterekkel jelölnek. Ezzel összefüggésben az adatok tárolásánál, feldolgozásánál vagy átvitelénél mértékegységként használjuk (pl. adatok ábrázolási hosszának, processzorok feldolgozási szélességének, buszok átviteli szélességének meghatározásakor) Melyek az utasításfeldolgozás elemi lépései és mi

ezek sorrendje? Egy-egy utasítás feldolgozása az utasítás előkeresését, értelmezését és az előírt feladat végrehajtását jelenti lényegében. A végrehajtási folyamatot funkcionális lépésekre bontva, egy utasítás feldolgozása alapvetően az alábbi részekből tevődik össze: • utasításelőkészítés, lehívás(fetching): ebben a fázisban a processzor az utasításszámláló regiszter(PC) tartalmát (amely a soronkövetkező végrehajtandó utasítás memóriabeli címe) átviszi - ha van-, a memóriacímregiszterébe(MAR) vagy a címsínt vezérlő cím- pufferregiszterbe, amelynek alapján kikeresi a tárból az utasítást és átviszi a vezérlő egység utasításregiszterébe(IR), • utasításszámláló regiszter tartalmának növelése: ez a lépés a PC tartalmának automatikus növelésével a következő utasítás tárolóbeli helyének címét állítja elő, ez a PC tartalmának 1-gyel (pontosabban az utasításhossznak megfelelő

tárolóhely számmal) való növelését jelenti. Az utasításszámláló regiszter a kezdő értékét, a program kezdetének a címét, kívülről, a gépet működtető operációs rendszertől kapja. • műveleti kód értelmezése, dekódolása és az operandus címének meghatározása: ezalatt a fázis alatt történik a műveleti jelrész értelmezése (azaz annak a meghatározása, hogy mit kell csinálnia a gépnek az utasítás hatására) és a művelethez szükséges operandusok pontos helyének, címének a meghatározása, kidolgozása az utasítás címrésze alapján. Ha az utasításban előírt művelet nem igényli adat felhasználását (pl. vezérlő utasítások), akkor a végrehajtási fázisra tér át • művelethez szükséges adatok előkészítése: a művelet elvégzéséhez, az előző lépésben kidolgozott cím alapján, kikeresi az operandusokat a memóriából és átviszi az utasítás által meghatározott helyre, amely legtöbbször az

aritmetikai egység akkumulátor regisztere(AC), vagy más speciális regiszter. 43. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT • • TÉTELEK 1998. végrehajtás(executing): ebben a fázisban történik a kijelölt művelet végrehajtása a kijelölt és előkészített operandusokkal. Ha a művelet arra ad előírást, hogy a program végrehajtása ne a soronkövetkező, hanem egy másutt elhelyezkedő utasítással folytatódjék, akkor ebben a lépésben ennek a helynek a címét a gép beírja az utasításszámláló regiszterbe(PC-be). az eredmény elhelyezése: az eredményt, ha volt, az előírt helyre helyezi (ez többnyire az akkumulátor regiszter (AC) ) és visszatér az első lépésre, újrakezdeni az utasításfeldolgozás lépéseit. Veremtároló (stack), veremmutató (stack pointer) -kezelő és velük kapcsolatos utasítások. A verem (stack) olyan LIFO (Last In First Out) szervezésű regiszter a CPU-ban, amely az aktuális (futó) program megszakításakor a

CPU állapotát tárolja, a program következő utasításának címét - azaz a programszámláló tartalmát- továbbá megőrzi az indexregiszterek és az akkumulátorok tartalmát. A LIFO szervezésű memóriából az utoljára beírt információt lehet először kiolvasni Az adatforgalom a bemeneti sorrenddel ellenkező kimeneti sorrendű. A verem megcímzése egy adatszámláló típusú regiszterrel történik. Ezt nevezzük verem-mutatónak (stack pointer) A verem-mutató a veremben utolsóként tárolt adatot tartalmazó tárhelyeknek a címe. Általában csak két verem-művelet van: írás a verem felső részébe, ezt nevezik adatbevitelnek (PUSH), és olvasás a verem felső részéből, ezt nevezik "POP"-nak, vagy adat kihozatalnak (PULL). • Adatbevitel (PUSH) Az adatbevitel művelete (írás a verembe) azt eredményezi, hogy az akkumulátorban (vagy más CPU regiszterben) lévő adatokat beírják abba a memória-rekeszbe, amelyet a verem-mutató címez meg:

a verem-mutató tartalma ezután automatikusan inkrementálódik, hogy megcímezze a következő üres tárolóterületet a verem felső részén. • Adatkihozatal (POP) Az adatkihozatal művelete ellentétes az adatbevitellel, a verem-mutató tartalmát eggyel csökkentik, hogy a verembe utolsónak beírt szót megcímezzék, azután a verem-mutató által megcímzett memória-rekesz tartalmát továbbítják az akkumulátorba vagy más CPU regiszterbe. Az adatkihozatal művelet végén a verem-mutató ismét megcímzi a verem felső részén lévő első szabad memóriatárolóhelyet, ugyanis azt tételezzük fel, hogy ha egy adatot kiolvasunk a verem felső részéből, akkor az adattároló-hely kiürül A PUSH utasításokat elsősorban a megszakítási műveleteknél kell alkalmazni. A POP utasításokat a megszakítási műveleteknél és a szubrutinból való visszatérésnél alkalmazzák. 44. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 31. tétel Mi a

különbség az adatkihozási és az utasításkihozási műveletek ciklusai között? Adatkihozás: melynek segítségével a feldolgozás eredményét az ember számára értelmezhető, vagy a további feldolgozás számára megfelelő formára alakítjuk. Utasításkihozás: az utasításciklusnak az a része amikor a CPU a soron következő utasítást kihozza a programszámláló (PC) által a címzett memóriarekeszből. A CPU a memóriarekesz tartalmát az utasítás-regiszterében (I) tárolja és utasításkódként értelmezi Ezután a CPU belső logikai felépítésének megfelelően automatikusan 1-el növeli a PC tartalmát. A másik része az utasítás végrehajtás Mi az adatszámláló szerepe a memóriacímzésben? Azoknál a számítógépeknél, amelyeknek csak egy adatszámlálójuk vagy egyenrangú címregiszterük van, a címeket be kell zsúfolni a memóriába, vagy más módon kell megkerülni azt a korlátot, amit az egy vagy két adatszámláló hiánya okoz.

Egy adatszámlálóval rendelkező számítógépnél, ha egyidejűleg akarnak hozzáférni több adatterülethez, közvetett címzést alkalmaznak. (közvetett (indirekt)címzés: az utasításban nem a megcímzett tárolóhely található, hanem annak címe) Mit értünk byte alatt? Több bit (általában 8 bit) együtt kezelt csoportja. Az adatok tárolása, feldolgozása, és átvitele során használt mértékegység Általában 8 bitből álló egység, a pontos szóhasználat azonban megköveteli annak megadását, hogy hány bitből áll ténylegesen. Egy karakter kódolt alakja általában egy byte hosszú. Összefüggésben áll egy másik mértékegységgel a szóval, mégpedig oly módon, hogy a szó mindig nagyobb mint a byte, általában egész számú többszöröse a bytenak. Mit értünk mikroprogramozott műveleti vezérlés alatt? Mikroprogramozott vezérlésről beszélünk akkor, amikor egy-egy gépi kódú utasítás végrehajtásának vezérlésére programozott

vezérlőegységet használunk fel. A vezérléshez felhasznált programot nevezzük mikroprogramnak, amelynek egy-egy utasítása a mikroutasítás. A mikroprogramot csak olvasható formában tároljuk a vezérlőegységen belüli ROM tárolóban A vezérlőegység azon részét amely a műveleti vezérlést oldja meg mikrovezérlő(egység)-nek nevezik. Végrehajtáskor a program utasításai alapján vezérlőjeleket ad ki, amelyek a számítógép vezérlési pontjaihoz kapcsolódó elemi műveletek, tevékenységek engedélyezésére szolgálnak. A mikroutasítás feladata: adatutak engedélyezése/tiltása Fajtái: • Horizontális mikroprogramozás (a vezérlőbiteken kívül a köv. utasítás címét is tartalmazniuk kell) • Szélsőségesen horizontális mikroprogramozás (a mikroutasítás csak vezérlőbiteket tartalmaz) • Vertikális mikroprogramozás esetében a gyorsabb működés miatt a vezérlőegység az adatok tárolására regisztertárakat alkalmaz. A

mikroutasítások felépítésében néhány bit, mint műveleti jelrész értelmezett, amely megadja azt, hogy az utasításban lévő vezérlési mezők előírásait milyen módon kell értelmezni. • Szélsőségesen vertikális mikroprogramozás esetében a mikrovezérlő közvetlenül a regisztertárat látja, csak azon keresztül tud bármilyen más adatot elérni. Tipikus számítógéparchitektúrák és azok jellemzői. SISD SIMD MISD MIMD : egyetlen utasításfolyam és egyetlen adatfolyam feldolgozása. Ezek a gépek egy vezérlő egységgel és egy aritmetikai egységgel rendelkeznek, egy időben egy utasítást hajt végre. ( Neumann-elvű számítógépek ) : egyetlen utasításfolyam, többszörös adatfolyam feldolgozása. Egyetlen vezérlő egységgel és több aritmetikai egységgel rendelkeznek és egyidőben egy és ugyanazt az utasítást hajtja végre több adaton. : több utasításfolyam alapján egy adatfolyam feldolgozása. Ilyen gépek tulajdonképpen

nincsenek, bizonyos esetekben ide sorolják az un. pipeline feldolgozást alkalmazó számítógépeket : több utasításfolyam, több adatfolyam feldolgozása 45. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 32. tétel Mi a különbség a mikroprogramozás és az assembly nyelven történő programozás között ? A mikroprogramozás és az assembler nyelven történő programozás közötti összehasonlításnál látszik, hogy a mikroprogramokat a vezérlőegység (CU) adatmemóriájában, az assembler nyelven írt alap-programokat a fix memóriában (ROM) tárolják. Az Assembler nyelven írt programot makroprogramnak nevezzük. A makroprogram minden utasítása egy teljes mikroprogram végrehajtását indítja el (Mikroprogramozott vezérlésről beszélünk akkor, amikor egy-egy gépi kódú utasítás végrehajtásának vezérlésére programozott vezérlőegységet használunk fel. A vezérléshez felhasznált programot nevezzük mikroprogramnak, amelynek

egy-egy utasítása a mikroutasítás. A mikroprogramot csak olvasható formában tároljuk a vezérlőegységen belüli ROM tárolóban) Hogyan működik egy veremtár? A verem úgy működik, mintha oszlopba rendezett regiszterekből állna, és csak az oszlop tetején lévő regiszteren keresztül lehetne abba adatokat beírni, vagy ebből kiolvasni. Közvetlenül csak a legfelső regiszterben lévő szót lehet kiolvasni A verem tetején lévő rekeszre mutat a veremmutató. Ez a LIFO tár Mit értünk cím alatt ? Információ, mellyel több adott, objektum (tárrekesz, regiszterek, perifériák) mindegyike egyértelműen azonosítható. Címzésre többnyire a 0 . 2n-1 közé eső egész számokat használják, ahol n jelenti a cím bináris ábrázolásához biztosított szóhosszt( 8 biten: 0255; 16 biten: 0.65535 közötti címek ábrázolhatók) Az adott címzési rendszerben ábrázolható címek összességét nevezik címtartománynak Mi a mikroprogram, és a

mikroutasításoknak milyen utasításszerkezetei használatosak ? A vezérléshez felhasznált programot nevezzük mikroprogramnak, amelynek egy-egy utasítása a mikro-utasítás. A mikroprogramot csak olvasható formában tároljuk a vezérlőegységen belüli ROM tárolóban. A vezérlőegység azon részét amely a műveleti vezérlést oldja meg mikrovezérlő(egység)-nek nevezik. Végrehajtáskor a program utasításai alapján vezérlőjeleket ad ki, amelyek a számítógép vezérlési pontjaihoz kapcsolódó elemi műveletek, tevékenységek engedélyezésére szolgálnak. A mikroutasítás feladata: adatutak engedélyezése/tiltása. Fajtái: • Horizontális mikroprogramozás (a vezérlőbiteken kívül a köv. utasítás címét is tartalmazniuk kell) • Szélsőségesen horizontális mikroprogramozás (a mikroutasítás csak vezérlőbiteket tartalmaz) • Vertikális mikroprogramozás esetében a gyorsabb működés miatt a vezérlőegység az adatok tárolására

regisztertárakat alkalmaz. A mikroutasítások felépítésében néhány bit, mint műveleti jelrész értelmezett, amely megadja azt, hogy az utasításban lévő vezérlési mezők előírásait milyen módon kell értelmezni. • Szélsőségesen vertikális mikroprogramozás esetében a mikrovezérlő közvetlenül a regisztertárat látja, csak azon keresztül tud bármilyen más adatot elérni. A hagyományos (Neumann-elvű) számítógépek funkcionális felépítése, részei (jellemzői, funkcionális egységei- központi egység, tárolók, perifériák - jellemző tulajdonságok). A hagyományos számítógépek legfontosabb jellemzői: • a gép tartalmaz egy közös tárolót, amely tárolja a végrehajtandó program utasításait, valamint a feldolgozandó adatokat is. • a gép vezérlő egysége a tárolt program utasításait soronként hajtja végre, így oldva meg a feladatot. A vezérlő egységben egy utasításszámláló regiszter tárolja a soronkövetkező

utasítás tárolóbeli helyének a címét. • a program által megkívánt aritmetikai és logikai műveletek elvégzésére egy önálló egység az aritmetikai és logikai műveletvégző egység szolgál • az adatok és a program bevitelére/kihozatalára önálló egységek szolgálnak Számítógép felépítése: 1: KÖZPONTI EGYSÉG 2: EMBER GÉP KAPCSOLAT 3: HÁTTÉRTÁROLÓK 4: BEVITELI ESZKÖZÖK 5: KIVITELI ESZKÖZÖK 3 4 1 5 2 Központi egység(CPU): A vezérlő program irányítja a tárolt program alapján a műveletek végrehajtását, valamint az I/O eszközök közötti adatátvitelt is. A perifériák és a processzor közötti adatátvitelre a gép sínrendszere szolgál • Memória: a számítógép legfontosabb erőforrása a processzor mellett a központi memória. A tárolóban található a végrehajtás alatt lévő program és a feldolgozásban felhasznált adatok is. • RAM: írható olvasható tár • DRAM: dinamikus tároló, alacsony

teljesítményigényű, tartalmát rövid idő alatt elveszíti • SRAM: magas működési sebesség, nem igényel állandó adatújítást ROM: csak olvasható • 46. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT • • • • • • • • • TÉTELEK 1998. PROM: egyszer feltölthető EPROM: speciálisan törölhető és programozható Másodlagos tárak, háttértárak: azon adatok tárolása a cél, amelyekkel nem foglalkozik jelenleg a memória mágnesszalag mágneslemez hajlékony merev optikai lemezek Perifériák: a külvilággal való kapcsolattartás eszközei 47. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 33. tétel Mi az assembly nyelv lényege ? Olyan alacsony szintű programozási nyelv, amelynek legtöbb utasítása egyértelműen egyetlen gépi utasításnak felel meg. Csak gépi kódban lehet a számítógép minden adottságát teljes mértékben kihasználni, de viszont elég nehéz megtanulni (ismerni kell a nyelvi szabályokon kívül a

számítógépet is). Mi a veremmutató ? A veremben utolsónak tárolt adatot tartalmazó tárhelynek a címe. Tipikusan egy speciális regiszterben vagy az operatív tár adott rekeszeiben tárolják. Mit értünk a tárolók címtartománya alatt ? Lényeges jellemző a cím lehetséges mérete. Ha ez 16 bit lehet, akkor a maximális tárolóhely cím 216=65535 lehet Tehát ennél több tárolóhelyet közvetlen módon nem tud kezelni a processzor, ez alkotja a tárolóhelyek címtartományát. Ez egyben a fizikai címek tartománya is, és a mögötte lévő tárolóeszköz a fizikai tároló, amely többnyire a főtár. A számítógép által használt tényleges tárolóterület nagysága azonban lényegesen nagyobb mint a processzor által meghatározott megcímezhető tárolóterület. A programok a teljes tárolóterületet, vagy annak nagy részét lefedő címtartománnyal dolgozhatnak amelyet logikai vagy virtuális címtartománynak nevezünk. A program által használt

virtuális címek és a processzor által használható fizikai címek közötti kapcsolatot a tárkezelő rendszernek kell megteremtenie. Mit értünk pipeling fogalom alatt ? Utasításfeldolgozást értünk a fogalom alatt, azaz egyszerre több utasítást tud előkészíteni és feldolgozni egymással párhuzamosan. Ez úgy lehetséges, hogy a processzor 3 egymástól független végrehajtó egységgel rendelkezik. Ezek a következők: • elágazásfeldolgozó egység (előkészítés, dekódolás-végrehajtás, visszaírás) 3 fokozat • fixpontos műveleti egység (előkészítés, dekódolás, végrehajtás, visszaírás) 4 fokozat • lebegőpontos műveleti egység(előkészítés., dekódolás, végrehajt1, végrehajt2, visszaírás) 5 fokozat A pipeline működését gyorsítja az adatelőreengedés (forwarding), amellyel elkerülhető az, hogy egy utasításnak meg kelljen várnia amíg a másik utasítás visszaírja a regiszterbe az eredményt. A lebegőpontos pipeline

nem rendelkezik ezzel a lehetőséggel Feltételes és feltétel nélküli assembly vezérlő utasítások. Feltételes: JA (Jump if above) JNA (Jump if not above) JNC (Jump if not carry) JC (Jump if carry) JZ (Jump if zero) JNZ (Jump if not zero) JG ( Jump if greater) JNG (Jump if not greater) JGE (Jump if greater or equal) JNGE (Jump if not greater or equal) Feltétel nélküli: : ugrás, ha előjel nélkül nagyobb : ugrás, ha előjel nélkül kisebb vagy egyenlő : ugrás, ha előjel nélkül nagyobb vagy egyenlő : ugrás, ha előjel nélkül kisebb : ugrás, ha egyenlő : ugrás, ha nem egyenlő : ugrás, ha előjelesen nagyobb : ugrás, ha előjelesen kisebb vagy egyenlő : ugrás, ha előjelesen nagyobb vagy egyenlő : ugrik, ha előjelesen kisebb LOOP LOOPZ LOOPNZ : csökk. cx értékét, ha ≠ 0 ugrás a megadott címre : addig tart amíg cx nem éri el a 0-t : az előző ellentéte REP REPZ REPNZ CALL (Loop while zero) (Loop while not zero) (Repeat string prefix) :

kar. műv ismétlése amíg cx ≠ 0 : azonos LOOP ut. említetekkel : azonos LOOP ut. említetekkel : rövid (ip értéket verembe menti), távoli (cs értékét is menti) ugrás 48. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 34. tétel Milyen információkat, adatokat helyeznek el a ROM-ban és a RAM-ban? ROM: olyan tár, amelynek tartalma az üzemszerű használatkor csak olvasható, azaz amelynek tartalma csak arra feljogosított felhasználó által vagy meghatározott működési feltételek teljesülésekor módosítható. Leggyakrabban mikroprogramtárként és karaktergenerátorként alkalmazzák. Tartalmát általában a gyártó írja be RAM: közvetlen elérésű irható-olvasható tár. A közvetlen elérésű tárnál valamennyi rekesz hozzáférési ideje azonos, azaz bármely tárolt adat azonos idő alatt olvasható ki, illetve irható be. Mi a szubrutin ? Alprogram. Olyan utasítássorozat, amely egy vagy több számítógépi program egy vagy több

pontján használható A szubrutin utolsó utasítását úgy kell kialakítani, hogy az a vezérlést a hívó programra adja vissza. Mit értünk szó alatt ? Olyan karakterfüzér, amely bizonyos szempontból egységesnek tekinthető. Különbség tehető utasításszó és adatszó között Egy szó méretét a szóhosszal adják meg. Jellemző szóhossz: 8, 16, 32, 64 bit Egy szó lehet állandó és változó hosszúságú. Az utóbbi esetben a szót egy végjel határolja A feltétel nélküli vezérlésátadó utasítások feldolgozásánál milyen módszereket alkalmaznak leginkább ? Alkalmazandó módszerek: • a belépő utasításokat mindaddig várakoztatja a processzor, amíg az utasítás kiértékelése, az ugrási cím kiszámítása megtörténik. Ez üres fázisokat eredményez a feldolgozási folyamatban, hiszen utána el kell kezdeni feltölteni az adatcsatornát a feldolgozó utasításokkal. • változatlanul folytatódik az utasítások betöltése az

adatcsatornába és az ugrási cím meghatározása után a processzor törli a felesleges utasításokat. Adatmozgató és aritmetikai assembly utasítások ? MOV MOVS MOVSB MOVSW STOS STOSB STOSW LODS LODSB LODSW LEA LDS LES XLAT XCHG LAHF SAHF CBW PUSH PUSHF POP POPF : a második operandus tartalmát az elsőbe írja : a DS:SI által címzett byte-ot ES:DI címre írja : : : al illetve ax tartalmát ES:DI címre írja : : : DS:DI által címzett byte (word) tartalmát al illetve ah regiszterbe tölti : : : a kijelölt cél operandusba tölti a forrásoperandus offset címét : 4 byte-os memória 1.és 2 byte-ja kerül megadott regiszterbe, 3 és 4 a ds reg-be : 4 byte-os memória 1. és 2 byte-ja kerül megadott regiszterbe, 3 és 4 az es reg-be : a bx+al címen lévő adatot tölti al regiszterbe : megcseréli a forrás és a cél operandus értékét : a flag regisztert az ah regiszterbe másolja : ah regiszter értékét a flag regiszterbe másolja : az ah regisztert feltölti

al regiszter felső bitjével : sp értékét csökkenti kettővel és a kiválasztott 16 bites regisztert a verem tetejére írja : a flag regiszter tartalmát írja a stackre : kiolvassa az sp által mutatott értéket és a kiválasztott regiszterbe tölti, sp növelése kettővel : a veremből leemelt értéket a flag regiszterbe tölti majd sp növelése kettővel 49. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 35. tétel Milyen összefüggés van a vezérlőegység kapacitása és a mikrogépünk "tudása" között ? Minél nagyobb kapacitású a vezérlőegység, annál komplexebb makroutasításokat tud a mikrogépünk végrehajtani. Mit nevezünk rekurzív szubrutinnak ? Olyan szubrutin, amelyet önmaga szubrutinjaként lehet használni akár úgy, hogy közvetlenül önmagát hívja, akár úgy, hogy olyan szubrutint hív, amely őt hívja. Mi a különbség a RAM és a ROM tárolók között ? ROM: olyan tár, amelynek tartalma az üzemszerű

használatkor csak olvasható, azaz amelynek tartalma csak arra feljogosított felhasználó által vagy meghatározott működési feltételek teljesülésekor módosítható. Leggyakrabban mikroprogramtárként és karaktergenerátorként alkalmazzák. Tartalmát általában a gyártó írja be RAM: közvetlen elérésű irható-olvasható tár. A közvetlen elérésű tárnál valamennyi rekesz hozzáférési ideje azonos, azaz bármely tárolt adat azonos idő alatt olvasható ki, illetve irható be. Mit értünk tárhierarchia alatt ? Milyen elemei vannak a processzor köré kialakított tár- hierarchiának? Különböző sebességű és kapcsolású és így különböző fajlagos árú tárakból álló rendszer, amelyek együttesen látják el a számítógép működéséhez szükséges feladatokat. Elemei: • regisztertár: egy-egy tetszőleges adat befogadására alkalmas, tartalmát egyenként cserélhetjük, lokális változóként működnek • cache tár: utasítások

és adatok átmeneti tárolására szolgáló gyors működésű, a felhasználó számára nem elérhető tára, a tartalmát a processzor mindig valamilyen stratégia szerint, azaz automatikusan és blokkosan ( több byte-ját mozgatva) cseréli. A tárolórendszer hierachiájában fontos, hogy a processzor és a főtár közötti adatcserét gyorsító cache-tár virtuális vagy fizikai címekkel dolgozik-e. • főtár: a program végrehajtásához közvetlenül szükséges programrészek és adatok tárolására szolgál • háttértárak: az éppen nem szükséges adatok tárolását biztosítják Számrendszerek, számok írásmódja, számrendszerek közötti átszámítások, a véges számábrázolás problémái. A számítástechnikában általában a bináris és hexadecimális számrendszereket használják. Adatok megjelenítésénél használják a tízes számrendszert is. Számok írásmódja: • Fixpontos: az elválasztójeltől balra találhatók az egészrész

számjegyei, jobbra a törtrész számjegyei. Az írásmódot a kisebb, kevesebb számjegyből számok írásakor alkalmazzuk. • Lebegőpontos: a matematikai, tudományos és műszaki gyakorlatban használják, nagy számok leírására. Formája: a*rp ahol a = mantissza, amely önmagában egy tetszőleges fixpontos írásmódú szám p = karakterisztika, a hatványkitevő, amely önmagában egy fixpontos egész szám r = a számrendszer alapszáma, a radixa ( pl: -654.187*107 ) • Normalizált írásmód: a számítógépes gyakorlatban, a gépi tárolási módok miatt, a nullára illetve az egyes(ek)re normalizált forma kap jelentőséget. A normalizálás azt jelenti, hogy a számokat olyan hatványkitevős (lebegőpontos) alakra hozzuk, amelyben az egészrész 0 értékű, vagy csak az egyeseknek megfelelő helyiértéken található értékes számjegy. (pl: 0,45289*10-5)10. A számok mindig átalakíthatók normalizált formába. Véges számábrázolás problémái: • a

keletkezett eredmény túl nagy (túlcsordulás = owerflow) vagy túl kicsi (alulcsordulás = under-flow) ahhoz, hogy a rendelkezésre álló tárolóban megjelenítsük • az eredmény nem tartozik az operandusok halmazába (egész számokkal végzett műveletek során nem egész számot kapunk ) Az előzőekben említett hibák az előirt műveletvégzés sorrendjét is megszabhatják, elkerülendő a részeredmények helytelen nagyságát. Hasonló problémák a lebegőpontos számoknál is jelentkeznek. Matematikai feladatoknál gyakran kell igen nagy és igen kicsi számokkal is dolgozni. Ezt nem lehet fixpontos írásmód mellet megoldani, ebben segít a lebegőpontos írásmód, amikor mindig ugyanannyi értékes számjeggyel dolgozhatunk. További probléma, hogy a véges tárolási hosszúságú lebegőpontos számok nem egyenletesen adják vissza a valós számokat. Az ábrázolható számok esetében meg kell különböztetnünk egymástól a tárolt számok pontosságát

és a tárolható számok tartományát. A számok pontosságát a mantisszában szereplő számjegyek száma, a tartományt a karakterisztikában lévő számjegyek száma határozza meg. A mantissza növelésével a helyiérték számának növekedése jár együtt, tehát a pontosság nő A karakterisztika az ábrázolható számok tartományának alsó, és felső határát csökkenti, illetve növeli. 50. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. 36. tétel Milyen főbb mikroszámítógép típusokat különböztetünk meg ? A kezelt folyamatok alapján a következő négy csoport alkotható meg: • SISD(Single Instruction Stream Single Data Stream), azaz egyetlen utasításfolyam és egyetlen adatfolyam feldolgozása. Az ilyen gépek egy vezérlő egységgel és több aritmetikai egységgel rendelkeznek, egyidőben egyetlen utasítás végrehajtására alkalmasak. Ebbe a kategóriába tartoznak a hagyományos, Neumann-elvű számítógépek. • SIMD(Single

Instruction Stream Multiple Data Stream), azaz egyetlen utasításfolyam, többszörös adatfolyam feldolgozása. Ezek a gépek egy vezérlő egységgel és több aritmetikai egységgel rendelkeznek és egyidőben egy és ugyanaz az utasítást hajtja végre több adaton. Ebbe a körbe sorolhatók a vektor- és tömbprocesszoros gépek • MISD(Multiple Instruction Stream Single Data Stream), azaz több utasításfolyam alapján egyetlen adatfolyam feldolgozása. Ilyen típusú gépek tulajdonképpen nincsenek, bizonyos esetekben ide sorolják az un. pipeline feldolgozást alkalmazó számítógépeket • MIMD(Multiple Instruction Stream Multiple Data Stream), azaz több utasításfolyam és több adatfolyam feldolgozása. Ebbe a csoportba tartozó gépek különböző multiprocesszoros számítógépek. Milyen legyen egy egyszerű CPU regiszterkészlete ? Miért ? • • • • • • • Utasításszámláló regiszter(PC=Program Counter, vagy IP=Instruction Pointer), amely a

soronkövetkező utasítás memóriabeli címét tartalmazza mindig. Az utasításszámláló regiszter kezdő értékét, azaz a program első utasításának tárbeli helyét, kívülről (pl. az operációs rendszeren keresztül) kapja, a program indítása előtt Amennyiben a program utasításai szigorú egymásutánban követik egymást a tárolóban, akkor a PC tartalma mindig a következő utasítás tárbeli címét adja meg; ha a programban elágazás következik be, akkor a vezérlő egység új értékkel, az elágazási utasításban lévő címmel tölti fel a PC-t. Utasításregiszter(IR=Instruction Register) a vezérlő egység fontos része, amely a tárból kikeresett, "lehívott" utasítást fogadja be arra az időre, amíg a vezérlő egység az utasítás műveleti jelrésze(opcode) alapján meghatározza az elvégzendő műveletet és ennek alapján elindítja a végrehajtást vezérlő mikroprogramot. Állapotregiszter(ek), vezérlő regiszter(ek)

(status register, flag register, control register), amelyek egy, vagy több regiszteren belül tárolnak vezérlő és ellenőrző jeleket. A műveletek végrehajtásának eredménye alapján bekövetkező állapot jellemzőit tükrözi vissza a regiszter egy-egy helyiértéke, bitje. Ilyen jellemző pl az eredmény nulla volta(zero flag), a keletkezett számérték túl nagy értéke(overflow flag), átvitel keletkezése(carry flag), stb. Az állapotregiszternek lehetnek olyan bitjei, amelyek valamilyen vezérlési előírást tárolnak, mint pl. valamely részegység használatának engedélyezése, vagy letiltása, memória lapozás engedélyezése, megszakításkérés kiszolgálásának letiltása, stb. Ha a különböző funkciójú bitek száma nagy, akkor önálló vezérlő regiszter(control register), állapotjelző regiszter(status, vagy flag register) használata a szokásos. Veremmutató regiszter(SP=Stack Pointer), amely egy speciális tároló, a veremtároló legfelső

elemét jelöli ki. A veremtároló általában a főmemóriában van kialakítva, annak egy lefoglalt területét használja. Adatokat csak a verem tetejére lehet tenni és csak onnét lehet levenni is. Ezt a tárolókezelési módot nevezik LIFO(Last-In-Firt-Out) módszernek A veremmutató (stack pointer) mindig arra a tárolóhelyre mutat, annak a tárolóhelynek a címét tartalmazza, ahová a következő adatot elhelyezni(push), vagy ahonnét a következő adatot leveszi(pop) a processzor. Bázis(cím)regiszter(base register) az operandusok címzéséhez felhasznált regiszter, amely nem általános használatú, azaz nem minden processzornál található meg, vagy más néven használatos. A báziscím egy alapcím, amelyhez viszonyítva adhatjuk meg az utasításban az operandus helyét. Indexregiszter(ek) (index register) szintén az operandusok címzését segítik elő, különösen adatsorozatok feldolgozásnál használhatók előnyösen. Ugyancsak nem minden

processzornál van külön erre a célra szolgáló regiszter Pufferregiszter(ek) (Buffer Register), amelyek a processzor belső adat- és címsínjét választják el a külső sínrendszertől. Nem minden processzornál találhatók meg. Milyen típusú ROM tárolókat ismer ? ROM(Read Only Memory) tárolók, amelyek csak olvashatóak, azaz tartalmukat a felhasználó közvetlenül nem módosíthatja. Ezek köre is többféle: • vannak, amelyek csak egyszer tölthetők fel a gyártás során(ROM); • vannak olyanok, amelyek a felhasználó által egyszer feltölthetők (PROM=Programmable ROM); • vannak speciális módon törölhető és programozható tárak (EPROM=Erasable Programmable ROM). Mi a tárkezelő rendszer feladata ? Milyen jellegű védelmet kell biztosítania a tárkezelő rendszernek ? A tárolókezelés feladatainak megoldására szolgál a processzorok tárolókezelő egysége(MMU=Memory Managment Unit), amely lehet a processzorba beépített(on-chip) és azon

kívüli is (off-chip). A tárolókezelő feladata: • az ismertetett struktúrájú tárhierarchia leghatékonyabb működtetése • a rendelkezésre álló memória szétosztása a feldolgozandó feladatok között • kellő védelem biztosítása az adatok biztonságos feldolgozásához, a nem legális hozzáférési kisérletek megakadályozásához A védelem az alábbi területekre terjed ki: • a rendszer védelme a felhasználótól • egyik felhasználó feladatainak védelme egy másik felhasználó feladataitól • futó program moduljainak, eljárásainak egymástól való védelme ( használt memóriaterületek átírásának megakadályozása ) • felhasználók és programok elválasztása, de a közös eljárások használatának engedélyezése Háromállapotú kapcsolóeszközök felépítése és felhasználásuk. Feszültséglogikás-, vagy „kapu” struktúrájú hálózatokban realizált kapcsolóelemeknél jelenik meg a harmadik állapot. A kapcsoló

blokkdiagramja: 51. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER „1” K1 U’1 „Y” U1 K2 U’2 U2 „0” A kapcsolás igazságtáblázata: K1 0 0 1 1 K2 0 1 0 1 Y Harmadik állapot 0 1 Tilos állapot A két kapcsolóelem egy feszültségosztót alkot a „0” és „1”-es szintű tápfeszültség pontok között (pl. 0 és ± 5 Volt) A kapcsolók K1 és K2 vezérlőbemeneteire „0” illetve „1” szinteket kapcsolunk, melynek hatására nyitnak illetve zárnak a kapcsolók. Az igazságtáblázatból láthatók a különböző állapotok. A tiltott állapotot már eleve ki kell zárni, mert ekkor a kapcsolók a tápfeszültség pontokra „rövidzárat” kapcsolnak. A harmadik állapot az ún nagy impedanciájú állapot, mely kilóg a kétértékű logikák normális eseteiből Viszont emiatt kitűnően használható az áramkörök megvalósításánál. Ha egy vezetékre egyszerre több áramkör csatlakozik, a használaton

kívüli (passzív) áramköröket nagyimpedanciás állapotba vezérelve mintegy lekapcsoljuk ezeket a közös sínről, így az aktív áramkör zavartalanul működhet. 52. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 37. tétel Mire kell képesnek lennie a RAM-nak? A közvetlen elérésű tárnál valamennyi rekesz hozzáférési ideje azonos, azaz bármely tárolt adat azonos idő alatt olvasható ki, illetve bármely adat azonos idő alatt írható be. (?) Mi határozza meg egy mikroszámítógép címzési módját ? A processzor. Többségüknél a két illetve egycímes utasításszerkezet használatos Egyes processzorok utasításszerkezete világos, könnyen áttekinthető, az egyes részek feldolgozása mindig ugyanúgy történik (DEC PDP-11 ). Másoké nem túl egyszerű, de még áttekinthető ( Intel i8086/286/386/486 ), és vannak szinte teljesen áttekinthetetlen utasításkészletű processzorok ( Motorola MC68000/68020 ). Általánosan

használt alapvető címzési módok a következők: • közvetlen (direkt): az utasításban maga a tárolóhelycím található • abszolút: a tényleges címet tartalmazza az utasítás • relatív: valamilyen alapcímhez viszonyított címet tartalmaz az utasítás • közvetett (indirekt): az utasításban nem a megcímzett tárolóhely található, hanem annak címe • literális vagy közvetlen adatcímzésnek nevezik azt amikor az utasításban található az operandus • indexelés is a címmódosító eljárások közé sorolható, amely segítségével a megcímzett tárolási hely címértéke folyamatosan növelhető Egy bemenő/kimenő utasításnak hány dolgot kell tartalmaznia, és melyek ezek ? Egy bemenő / kimenő utasításnak három dolgot kell meghatároznia: • az utasítás végrehajtása során kiolvasott adat külső berendezésből származik-e (bemenet), vagy ez egy külső berendezésbe küldött adat (kimenet) • meg kell nevezni az I/O portot

vagy portokat, amelyeken keresztül a bemeneti és kimeneti műveletek végbemennek • mi a számítógép-rendszeren belül a forrása vagy rendeltetési helye azoknak az adatoknak, amelyeket az I/O utasítások továbbítanak Milyen főbb csoportjai vannak a tárolóeszközöknek ? • • • • • : az adatáramlás folyamatosságának biztosítására, az egyes tárolási szintek közé kisebb kapacitású, a felhasználó számára láthatatlan gyors működésű tárak kerülnek pufferelési céllal. FŐTÁR : a program végrehajtásához közvetlenül szükséges programrészek és adatok tárolására szolgál, kapacitása néhány Mbyte, elérési ideje 70-100 nsec HÁTTÉRTÁRAK : az éppen nem szükséges adatok tárolására szolgál, kapacitása több Gbyte, 10-30 msec elérési idejűek REGISZTEREK : a processzorhoz legközelebb állnak és befogadóképességük néhány 100 byte, de az elérési idejük a legkisebb nsec. TÖMEGTÁROLÓK: a háttértárakat

egészítik ki, kapacitásuk az igényektől és a lehetőségektől függ, 100 msec-tól néhány percig terjed az elérési idő. CACHE TÁRAK Mire szolgálnak a regiszterek ? Mit értünk regisztertár alatt ? A processzorok ideiglenes adattárolási céljaira szolgálnak az általános célú, vagy meghatározott funkciójú regiszterek. A regiszterek belő sínrendszeren keresztül tartanak kapcsolatot a processzor más részeivel. A regiszterek vagy szorosan kapcsolódnak a vezérlő és az aritmetikai egységhez, vagy egy több regiszterből álló tömb egyik egységét képezik. A regiszterek gyors működésű tárak, amelyek hossza általában az adatbusz szélességével egyezik meg. A legfontosabb regiszterek a következők: • Utasításszámláló regiszter(PC=Program Counter, vagy IP=Instruction Pointer) • Utasításregiszter(IR=Instruction Register) • Állapotregiszter(ek), vezérlő regiszter(ek) (status register, flag register, control register) •

Veremmutató regiszter(SP=Stack Pointer) • Bázis(cím)regiszter(base register) • Indexregiszter(ek) (index register) • Pufferregiszter(ek) (Buffer Register) A mai processzorokban általában már több tucat általános célú regiszter található, amelyek az un. regisztertárat alkotják, amelyek egy egy tetszőleges adat befogadására alkalmasak, a regiszterek tartalmát tetszőlegesen cserélhetjük, lokális változóként működnek Ezek a regisztertárak, regisztertömbök egyre nagyobb szerepet kapnak a processzorok sebességének növelésében. A regisztertárakkal szemben támasztott követelmények: • az adatforgalom csökkentése a memória és a processzor közöt, például lokális változók, szubrutin visszatérési címek elhelyezésével; • minél nagyobb méret(100-500 regiszter); • 3-címes elérési lehetőség, azaz egyidőben, egy utasításon belül meg lehessen adni a két operandus és az eredmény címét is; • általános felhasználási

célú legyen. A regisztertömbök tartalmának kezelésére különböző technikákat dolgoztak ki: • regiszterbank (register banking) alkalmazása esetén a regisztertömb nem átlapolódó, azonos méretű részekre, un. bank-okra van felosztva. Egy-egy ilyen bank mérete 2 valamely hatványa A processzor számára az aktuálisan használt bank kezdetét a bank-pointer (CWP=current window pointer) jelöli ki. • ablaktechnika (register windowing) alkalmazásakor a regisztertömb egy-egy azonos méretű, de átlapolható része látható és használható a processzor számára. Az ablak mérete mindig azonos és 2-nek valamely hatványa Az aktuális ablak kezdetét az ablak-mutató (CWP=current window pointer) jelöli ki. 53. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT • TÉTELEK 1998. BURJÁN PÉTER blokktechnika (register blocking) használatakor a regisztertömb tetszőleges méretű, átlapolható részekre van felosztva. A processzor által használt aktuális blokk

kezdetét a blokk-mutató(CBP=current block pointer) jelöli ki. Digitális kapcsolóeszközök típusai, jellegzetességeik. A digitális áramköröket számjegyekkel felírt értékei jellemzik. A logikai áramkörök diszkrét értékű bemenő jelekből meghatározott matematikai logikai funkcióknak megfelelő kimenőjelet állítanak elő. A jeleket az áramkör valamely elektromos jellemzőjéhez rendeljük hozzá. Általában kétértékű logikai rendszert használnak, ahol leggyakrabban a feszültség a választott elektromos jellemző. A működés hasonló jellegű egy kapcsolóéhoz, amellyel a logikai döntéseket elektromosan valósítják meg Két különböző állapot megnevezése: 1 vagy 0; igen - nem; igaz - hamis. A logikai áramkörök a három alapvető logikai funkciót, az ÉS (AND), a VAGY (OR) és a NEM (NOT) műveletet végzik el. Ennek a három alapműveletnek a kombinációi az összetettebb logikai műveletek. 54. OLDAL MIKROSZÁMÍTÓGÉPEK

SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 38. tétel Mi az interfész áramkör ? Két funkcionális egység összekapcsolása elektronikus úton. (?) Interfész: két funkcionális egység összekapcsolhatóságát és együttműködését biztosító előírások összessége. Áramkör: adott funkciót elektronikus elemek megfelelő kapcsolásával megvalósító objektum. Mi indokolja különböző címzési módok szükségességét ? Az utasítások címrésze általában nem az operandusok pontos címét tartalmazza, hanem a processzornak a címzés módjára utaló kiegészítő információk alapján, meghatározott módon ki kell számítania. A pontos címek kiszámítására alkalmazott eljárásokat nevezik címmódosítási eljárásoknak. A címmódosítás oka lehet: • - az utasítás címrésze nem elegendően hosszú, hogy minden memóriacím leírható legyen azon • - adatsorozat elemein kell, általában azonos műveletet végrehajtani • - ciklikus

műveletsort kell elvégeztetni az adatokkal • - az elkészült program áthelyezhetőségét kell biztosítani stb. (?) Mit értünk a tárolóeszközök elérési ideje alatt ? Az elérési idő (acces time ) az adat kérése és megérkezése közötti idő. Alapvetően a tár típusától, megvalósításától, esetenként az adatelérés módjától is függ. • CACHE TÁRAK : az adatáramlás folyamatosságának biztosítására, az egyes tárolási szintek közé • FŐTÁR • HÁTTÉRTÁRAK • REGISZTEREK • TÖMEGTÁROLÓK kisebb kapacitású, a felhasználó számára láthatatlan gyors működésű tárak kerülnek pufferelési céllal. : a program végrehajtásához közvetlenül szükséges programrészek és adatok tárolására szolgál, kapacitása néhány Mbyte, elérési ideje 70-100 nsec : az éppen nem szükséges adatok tárolására szolgál, kapacitása több Gbyte, 10-30 msec elérési idejűek : a processzorhoz legközelebb állnak és

befogadóképességük néhány 100 byte, de az elérési idejük a legkisebb 10-30 nsec. : a háttértárakat egészítik ki, kapacitásuk az igényektől és a lehetőségektől függ, 100 msec-tól néhány percig terjed az elérési idő. Mire szolgálnak a cache-tárak ? Milyen elv szerint történik az adatok visszakeresése a cache-tárból ? A cache-táraknak fontos szerepe van az adatforgalom gyorsítása és egyenletessé tétele szempontjából. A cache-tárak utasítások és adatok átmeneti tárolására egyaránt kialakíthatók. Cache-tárak típusai: Teljesen asszociatív(fully associative) cache A teljesen asszociatív tárban a beolvasott blokk bárhová elhelyezhető, bármelyik sorba kerülhet. Az elhelyezés sorát a helyettesítési algoritmus határozza meg. A teljesen asszociatív cache-tár előnye a rugalmasság a betöltésnél, de a visszakereséséhez ugyanannyi összehasonlító áramkör kell, mint ahány sora a cache-tárnak van és ez költséges.

Emiatt az ilyen cache-táraknál, általában, 64 sornál többet nem alkalmaznak. A cache-tárban minden blokkhoz(esetleg minden byte-hoz) használnak egy érvényességi jelzőbitet(V = Valid bit), amely arról ad információt, hogy az adott sor blokkja ténylegesen az adott blokkot tartalmazza-e; A másik jelzőbit a módosítási jelzőbit(D = dirty bit), amely arról informál, hogy történt-e módosítás a blokk valamelyik byte-ja esetében. Közvetlen leképzésű(direct mapping) cache A közvetlen leképzésű cache-tárnál egy-egy blokk csak meghatározott helyre kerülhet. A blokkok helyét a cache-ben a blokksorszám(28bit) alsó 8 bitje, mint sorindex (line index) határozza meg. Tehát ebben a megoldásban a blokk csak abba a sorba kerülhet, amelyet a sorindex meghatároz. Amikor a processzor egy adatot keres a cache-ben, akkor a memóriabeli címből előállított sorindex alapján kijelöli a keresett sort, majd a felső 20 bitet(lapsorszámot) összehasonlítja a

cache-beli lapsorszámmal. Ez így egyetlen összehasonlítást eredményez. A közvetlen leképzésű cache-tár előnye a gyors visszakeresés, ugyanakkor igen nagy hátránya a kötött blokkhelyek miatti merevsége. Csoport asszociatív(set associative) cache A csoport asszociatív cache-tár átmenet a teljesen asszociatív és a közvetlen leképzésű cache-tár között. A cache nagyobb, n sorból álló csoportokra van osztva, amelyek önmagukban, mint teljesen asszociatív tárolók működnek, azaz a csoporton belüli n hely bármelyikére kerülhet a blokk. Az elhelyezését a választott helyettesítési algoritmus határozza meg A csoport-asszociatív cache esetében, amikor a processzor egy adatot keres a cache-ben, akkor a memóriabeli címből képzett csoportindex alapján kijelöli az indexnek a megfelelő csoportot, majd a memóriacím felső 22 bitjét(lapsorszámot) összehasonítja a cache-beli lapsorszámokkal. Ez az összehasonlítás a csoport összes sorában

egyidőben történik, azaz a cache-hez egy olyan áramkör tartozik, amely jelen esetben 4 párhuzamos, összehasonító áramkört tartalmaz. A csoport asszociatív cache rugalmasabb, mint a közvetlen leképzésű tároló és ugyanakkor kis számú összehasonlító áramkör kell hozzá és viszonylag gyors. Szektor leképzésű(sector mapping) cache A csoport asszociatív cache-tárhoz hasonló, köztes megoldást képző és ma a mikroprocesszorokban ritkábban használt megoldás a szektor leképzésű cache-tár. Ennél a változatnál a processzor a csoport helyét jelöli ki asszociatív módon és azon belül a blokk helye, a lapon belüli elhelyezkedésének megfelelően kötött. Tehát az előző megoldás fordítottja a szektor leképzésű cache-tár A visszakeresés módja az un. tartalom szerinti, ami azt jelenti, hogy a vizsgált adatnak a cache-ben tárolt adattal való egyezőségét vizsgálja a processzor a kiolvasáskor. Ez a vizsgálat a cache tárak esetében

a keresett adat címének az összehasonlítását jelenti a cache-ben tárolt címekkel, vagy azok egy részével. 55. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER Fontosabb félvezető technikák, jellemzőik, hatásuk a számítógépiparra. Fő fejlesztési irányok a félvezető technikában: • integráltsági fok növelése • vonalvastagság csökkentése • szeletátmérő növelése • a technológiai műveletek automatizálása • rendszertechnikai egyszerűsítések • felhasználói igényre készülő áramkörök kidolgozása • új technológiai eljárások kidolgozása Az integráltsági fok növelésével egyre inkább a szilárd anyagon belüli szerkezet kialakításából áll egy digitális technikai berendezés elektronikai része. Az integrált áramkörök belső felépítése is egyre tökéletesebbé válik, mert nemzetközi versenyt kell minden áramkörnek kiállnia, a piacok megszerzése érdekében. A technológiai

fejlesztések az egyes paraméterek (pl.: gyorsaság ) javítása mellett továbbra is az integráltsági fok növelésére irányulnak. Az integráltsági fok növekedésével javul a megbízhatóság, nő az jobb minőségű készülékek iránti kereslet és így az ár is Az előállítási és üzembehelyezési, és szervizköltségek csökkennek. A fejlesztési és gyártási idő 60-80 %-al csökken Nő az alkalmazhatóság időtartama. A korábban kialakult technológiák és konstrukciós megoldások felhasználhatók a mikroprocesszorok gyártásához. 56. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 39. tétel Miből áll egy interfészrendszer ? Az interfész két funkcionális egység összekapcsolhatóságát és együttműködését biztosító előírások összessége. Az interfész rendszer Az interfész rendszer: kábelek, csatlakozók, meghajtó-, és vevő-áramkörök, jelvezeték előírások, időzítési és vezérlési

egyezmények olyankészlete, amely biztosítja az egyes rendszertechnikai egységek közötti egyértelmű, rendezett és szervezett információcserét. Mi az utasításhurok ? Az az idő amely az utasítás tárból való kihozásához, dekódolásához és végrehajtásához szükséges. Mit értünk ciklusidő alatt ? Egy ciklus végrehajtásához szükséges idő. A táraknál a ciklusidő az egymás után következő író vagy olvasó ciklusok kezdete közötti idő. Ez a tár egymás után következő írási-olvasási ciklusainak indítása közötti legrövidebb idő Másképpen az az idő amikor a tár egy végrehajtott írási-olvasási művelet után újra készen áll egy újabb művelet végrehajtására. Mit értünk szegmens alatt ? Milyen a szegmensek mérete ? Milyen a szegmentált tárkezelés helykihasználása ? Szegmens: a számítógépi program olyan önálló része, amely végrehajtható anélkül, hogy az egész program szükségszerűen egyidejűleg az

operatív tárban volna. Olyan adatblokk amelynek mérete nem rögzített, választható A kialakított szegmensek átlapolódóan is megadhatók. A szegmentált tárkezelésnél az átlapolódó és nem egyforma hosszú szegmensek miatt, idővel, igen sok üres hely marad a központi memóriában. Egy új szegmens elhelyezése ezért gondot okozhat a memória kezelő egységnek (MMU) A szegmensek betöltésére, elhelyezésére a következő módszereket alkalmazzák: • - első szabad hely (first fit): a memória kezdetétől keres és az első olyan szabad helyre teszi ahová a méreténél fogva helyezhető • - következő szabad hely (next fit): az üres tárolóhely keresése nem előről, hanem az előző szegmens elhelyezésétől kezdődően • - legjobb hely (best fit): az a hely ahová a szegmenst betöltve a legkevesebb szabad hely marad • - legroszabb hely(worst fit): itt az a cél, hogy a legtöbb szabad hely maradjon A szegmentált tárkezelés előnye az • -

átlapolhatóság • - osztott felhasználás • - az adatok jellege szerinti elkülönült adatkezelés lehetősége Fontosabb félvezető technikák, jellemzőik, hatásuk a számítógépiparra. Fő fejlesztési irányok a félvezető technikában: • integráltsági fok növelése • vonalvastagság csökkentése • szeletátmérő növelése • a technológiai műveletek automatizálása • rendszertechnikai egyszerűsítések • felhasználói igényre készülő áramkörök kidolgozása • új technológiai eljárások kidolgozása Az integráltsági fok növelésével egyre inkább a szilárd anyagon belüli szerkezet kialakításából áll egy digitális technikai berendezés elektronikai része. Az integrált áramkörök belső felépítése is egyre tökéletesebbé válik, mert nemzetközi versenyt kell minden áramkörnek kiállnia, a piacok megszerzése érdekében. A technológiai fejlesztések az egyes paraméterek (pl.: gyorsaság ) javítása mellett

továbbra is az integráltsági fok növelésére irányulnak. Az integráltsági fok növekedésével javul a megbízhatóság, nő az jobb minőségű készülékek iránti kereslet és így az ár is Az előállítási és üzembehelyezési, és szervizköltségek csökkennek. A fejlesztési és gyártási idő 60-80 %-al csökken Nő az alkalmazhatóság időtartama. A korábban kialakult technológiák és konstrukciós megoldások felhasználhatók a mikroprocesszorok gyártásához. 57. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 40. tétel Milyen lépésekből állnak a programozott I/O adatátviteli műveletek ? Egy bemenő / kimenő utasításnak három dolgot kell meghatároznia: • az utasítás végrehajtása során kiolvasott adat külső berendezésből származik-e (bemenet), vagy ez egy külső berendezésbe küldött adat (kimenet) • meg kell nevezni az I/O portot vagy portokat, amelyeken keresztül a bemeneti és kimeneti műveletek

végbemennek • mi a számítógép-rendszeren belül a forrása vagy rendeltetési helye azoknak az adatoknak, amelyeket az I/O utasítások továbbítanak Hogyan vesszük figyelembe az állapotjelzőket ? A FLAGS regiszter tartalma : 15 14 13 12 NT IOPL NT IOPL Carry Pparity Auxiliary Zero Sign Owerflow 11 O 10 D 9 I 8 T 7 S 6 Z 5 4 A 3 2 P 1 0 C : feladatkapcsolás : I/O műv. a megadot privszint alatt nem engedélyezettek : akkor kap 1-es értéket, ha a legfelső helyiértéken átvitel keletkezik : az eredményben lévő 1-esek párosságát jelzi : az alsó 4 bitről a felső 4 bitre történt átvitelt jelzi, ( BCD kódú számolásnál ) : az eredmény nulla értékét jelzi : az eredmény negatív voltát jelzi : az eredmény túlcsordulását jelzi Vezérlési feladatokat látnak el a következők: Trap : beállítása esetén az utasítás végrehajtása után leáll a processzor Interrupt : a megszakításkérelmek feldolgozása engedélyezett Direction :

karaktersorozatokon végzett műveletekkor az irány kijelölésére szolgál Mi a feladata a címregiszternek ? Az operandusok címzéséhez felhasznált regiszter, amely nem általános használatú, azaz nem minden processzornál található meg. A báziscím egy alapcím, melyhez viszonyítva adhatjuk meg az utasításban az operandus helyét. Mi az előnye, illetve hátránya a szegmentált tárkezelésnek ? A szegmentált tárkezelésnél az átlapolódó és nem egyforma hosszú szegmensek miatt, idővel, igen sok üres hely marad a központi memóriában. Egy új szegmens elhelyezése ezért gondot okozhat a memória kezelő egységnek (MMU) A szegmensek betöltésére, elhelyezésére a következő módszereket alkalmazzák: • - első szabad hely (first fit): a memória kezdetétől keres és az első olyan szabad helyre teszi ahová a méreténél fogva helyezhető • - következő szabad hely (next fit): az üres tárolóhely keresése nem előről, hanem az előző

szegmens elhelyezésétől kezdődően • - legjobb hely (best fit): az a hely ahová a szegmenst betöltve a legkevesebb szabad hely marad • - legroszabb hely(worst fit): itt az a cél, hogy a legtöbb szabad hely maradjon A szegmentált tárkezelés előnye az • - átlapolhatóság • - osztott felhasználás • - az adatok jellege szerinti elkülönült adatkezelés lehetősége Digitális kapcsolóeszközök típusai, jellegzetességeik. A digitális áramköröket számjegyekkel felírt értékei jellemzik. A logikai áramkörök diszkrét értékű bemenő jelekből meghatározott matematikai logikai funkcióknak megfelelő kimenőjelet állítanak elő. A jeleket az áramkör valamely elektromos jellemzőjéhez rendeljük hozzá. Általában kétértékű logikai rendszert használnak, ahol leggyakrabban a feszültség a választott elektromos jellemző A működés hasonló jellegű egy kapcsolóéhoz, amellyel a logikai döntéseket elektromosan valósítják meg. Két

különböző állapot megnevezése: 1 vagy 0; igen - nem; igaz - hamis. A logikai áramkörök a három alapvető logikai funkciót, az ÉS (AND), a VAGY (OR) és a NEM (NOT) műveletet végzik el. Ennek a három alapműveletnek a kombinációi az összetettebb logikai műveletek. 58. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 41.tétel Mikor idézhet elő az eszközlekérdezési művelet jelentős időkésedelmet, és hogyan lehet csökkenteni ? A hagyományos felépítésű számítógép eredeti formájának legnagyobb hátránya, hogy a rendelkezésre álló erőforrásokat processzor, memória, beviteli, kihozatali eszközök, igen rosszul használja ki , egy időben csak egy program végrehajtása lehetséges és az erőforrások nem megoszthatóak. A rendelkezésre álló eszközök jobb leterhelését megfelelő szervezéssel (, amelyet az operációs rendszer valósít meg,) javítani lehet. Ennek segítségével a szabad időtartamok

felhasználhatók más, következő programok feldolgozására. Ez egy látszólagos, párhuzamos feladatmegoldást eredményez, azonban a valóságban csak az erőforrások váltakozó használata valósul meg az operációs rendszer vezérletével. A feladatoknak illetve a programoknak ilyen megoldású párhuzamos feldolgozását multiprogramozásnak nevezzük. Ezzel a módszerrel az erőforrások jobb leterhelése valósítható meg Ennek feltétele egyrészt az ezt megvalósító operációs rendszer, más-részt egy olyan processzorstruktúra, amely lehetővé teszi a feladatváltásokat, az egyes programok által használt erőforrások védelmét a többi programtól, állapotjelzők elő-állítását és tárolását. Mi az ugrás ? Az ugrás utasítás. Ez az utasítás a vezérlő utasítások csoportjába tartozik A vezérlő utasítások azok, amelyek a program végrehajtását befolyásolják. A processzor vezérlő utasításai egyrészt a program feldolgozási

folyamatát irányítják, feltételes vagy feltétel nélküli vezérlésátadó (ugró) utasításokkal, másrészt a processzor működését szabályozzák. A program futását nbefolyásoló vezérlő utasítások közé tartozik: 1. Feltétel nélküli vezérlésátadó ugró utasítás, melynek végrehajtása után a processzor a program egy másik pontjától folytatja az utasítások feldolgozását. Ezeknél az utasításoknál az utasításszámláló regiszter (PC) tartalmát tölti fel a gép az utasításban szereplő címmel, mely a következő végrehajtandó utasítás címe lesz. 2. Feltételes vezérlésátadó ugró utasítás, melynek hatására a processzor valamilyen, az utasítás által előírt feltétel teljesülését ellenőrzi és amennyiben az teljesül, akkor az utasításban megadott című utasítással folytatódik a program végrehajtása, egyébként pedig a soronkövetkező utasítással. Milyen eszközöket sorolunk a Perifériák közé ? A

számítógép külvilággal való kapcsolattartásának eszközei alkotják a perifériákat. A processzor a perifériális eszközöket egy-egy vezérlő egységen (controller) keresztül éri el és irányítja. A mikroszámítógépek környezetében használt legfontosabb perifériák : • képernyős kijelző (monitor, display), mely az adatok grafikus, vagy szöveges megjelenítésére szolgál. • billentyűzet (keyboard), amely az adatok bevitelére, valamint a gép közvetlen vezérlésére szolgál. • nyomtatók (printer), rajzgépek (plotter), amelyek az eredmények szöveges, vagy grafikus megjelenítésére használatosak nyomtatott formában. • digitalizáló berendezés, amely a rajzok pontjainak egyenkénti bevitelére, digitali-zálására szolgál. • szkenner (scanner), amely rajzok, grafikák, fényképek raszteres (bittérképes) bevitelét teszi lehetővé. • egér (mouse), trackball, melyek segítségével a grafikus képernyőn mozgatott kurzorral ,

rámutatással kijelölhetők a műveletek, így a gép irányítása billentyűzet nélkül történik. • fényceruza (light pen) segítségével a képernyőre közvetlenül írhatunk, amelyet a gép érzékel és feldolgoz. • távközlési csatoló, modem, amelyen keresztül a számítógép közvetlenül kapcsolódhat a távközlési hálózatokhoz, és ezeken keresztül más számítógépes rendszerekhez. • hálózati csatoló, mellyel helyi számítógép hálózathoz kapcsolható a számítógép. • másodlagos tárak. Mit értünk lap alatt? Mekkora a lapok szokásos mérete? Mit értünk lapkeret alatt? A lapok (page) olyan adatblokkok, amelyek mérete azonos és rögzített. A lapok mérete 512 byte és 8 Kbyte között mozog A lapok nem átlapolhatók és meghatározott, a lappal megegyező méretű helyekre kerülhetnek a memóriában. Ezeket a helyeket lapkereteknek (frame) nevezzük. Háromállapotú kapcsolóeszközök felépítése és felhasználásuk.

Feszültséglogikás-, vagy „kapu” struktúrájú hálózatokban realizált kapcsolóelemeknél jelenik meg a harmadik állapot. A kapcsoló blokkdiagramja: „1” A kapcsolás igazságtáblázata: K1 U’1 „Y” U1 K1 0 0 1 1 K2 U’2 U2 K2 0 1 0 1 Y Harmadik állapot 0 1 Tilos állapot „0” A két kapcsolóelem egy feszültségosztót alkot a „0” és „1”-es szintű tápfeszültség pontok között (pl. 0 és ± 5 Volt) A kapcsolók K1 és K2 vezérlőbemeneteire „0” illetve „1” szinteket kapcsolunk, melynek hatására nyitnak illetve zárnak a kapcsolók. Az igazságtáblázatból láthatók a különböző állapotok. A tiltott állapotot már eleve ki kell zárni, mert ekkor a kapcsolók a tápfeszültség pontokra „rövidzárat” 59. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER kapcsolnak. A harmadik állapot az ún nagy impedanciájú állapot, mely kilóg a kétértékű logikák normális eseteiből Viszont

emiatt kitűnően használható az áramkörök megvalósításánál. Ha egy vezetékre egyszerre több áramkör csatlakozik, a használaton kívüli (passzív) áramköröket nagyimpedanciás állapotba vezérelve mintegy lekapcsoljuk ezeket a közös sínről, így az aktív áramkör zavartalanul működhet. 60. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 42. tétel Milyen részegységeket tartalmaznak általában az I/O portok ? Az I/O portok általában az alábbi részegységeket tartalmazzák: • bites latch memória ( D flip-flop ), amelynek kimenetére 3 állapotú puffer csatlakozik, ez lehetővé teszi a kétirányú adatbusz csatlakozást, • készülék kiválasztó logika, • megszakítás kiszolgáló logika. Miért fontosak a feltételes elágazások a mikroszámítógépeknél ? A feltételes elágazás-utasítások segítségével határozható meg, hogy mi történjen, ha egy végrehajtásra kerülő utasításnak több

lehetséges eredménye is van. Az utasítások az állapotinformáció szerint vagy végeznek elágazást (módosítják az utasításszámláló tartalmát) vagy folytatják a végrehajtást a soronkövetkező utasítással. Mi a csatorna lényege ? ( szelektor , multiplexor ) A nagyszámítógépek a csatornarendszert ( channel system ) használják fel a perifériákkal történő kapcsolat kialakítására. Az adatcsatornák önálló vezérlő egységgel rendelkeznek és a megfelelő program alapján, önállóan irányítják az adatátvitel folyamatát (a processzor munkájától függetlenül) a memória és periféria között. Az adatátvitel indítása előtt a processzor az átviteli programját átadja a csatornavezérlőnek, majd elindítva azt , a továbbiakban a csatorna már önállóan dolgozik tovább, amíg be nem fejezi a kijelölt átviteli feladatot. Ekkor jelzést küld a processzornak, amely további igény esetén , ismét elindít egy adatátviteli folyamatot

A gépek kétféle csatornát használnak: • szelektor csatornát, amely nagy sebességű perifériákat (háttértárak) kapcsol a processzorhoz és egyidőben csak egy perifériával tud kapcsolatot tartani. • multiplexor csatornát, amely lassú perifériákat (nyomtató, terminálok, stb.) köti össze a processzorral, mégpedig időosztásos üzemmóddal, azaz felváltva létesít kapcsolatot az egyes perifériákkal. Mi a lapozásos tárkezelés lényege ? Milyen lapbetöltési módszert használnak a lapozásos tár-kezeléseknél ? A lapozásos tárkezelés lényege, hogy a memóriát illetve a tárolt adatokat azonos méretű egységekre, lapokra bontva kezeli a processzor. Az alkalmazott lapméret 4 Kbyte A lapok nem átlapolhatók és meghatározott, a lappal megegyező méretű helyekre kerülhetnek a memóriában. A lapokat a szegmens szelektorok által kijelölt szegmensen belül helyezi el a processzor Ilyen értelemben tulajdonképpen szegmentált és lapozásos

memóriakezelésről beszélhetünk. A szegmenstáblázat alapján meghatározott szegmens kezdőcím és az utasításból kiszámítható tényleges cím összege képezi azt az új virtuális címet, amelyet a laptáblázatokon keresztül fordít le a processzor a végleges fizikai címre. Az első szinten az ún. lapkatalógus található, amely az egyes laptáblázatokhoz tartozó leírókat (deszkriptorokat) tartalmazza A második szinthez tartozó laptáblázatokban találhatók az egyes lapokhoz tartozó lapleírók (lapdeszkriptorok). A lapdeszkriptorokban található az aktuális lap tárolóbeli elhelyezkedését megadó lapkeret sorszám (20 biten) , amely a lapkeret kezdőcímének a felső 20 bitjét adja. Ez az alsó helyiértékeken 0-val egészül ki és így adja ki a 32 bites pontos címet Új lap betöltésére mindig a felmerülő igény esetében kerül sor, mert nehéz megítélni az esetleg következőnek igényelt lap sorszámát. A lap mérete is nagyobb

annál, mint amit érdemes esetleg feleslegesen betölteni. Az igény felmerülése (azaz olyan adatra van szükség, ami nem található a memóriában lévő lapokon) a lapváltási eljárást indítja el, amely a kívánt adatot tartalmazó lapot betölti a memóriába. A lapváltási igény felmerülésekor egy utasítás végrehajtásának folyamatát kell felfüggeszteni és később visszatérni rá Számrendszerek, számok írásmódja, számrendszerek közötti átszámítások, a véges számábrázolás problémái. A digitális technikában a számrendszerek alapvetően fontos gyakorlati szereppel bírnak. A mennyiségeket a helyiértékes írásmódban a különféle számok hatványával írjuk fel. A tízes számrendszerben ily módon felírva a 135 = 1.102+3101+5100 A bináris számrendszer alapszáma a 2-es. A kettes számrendszerben egy számot két számjegy a „0” és „1” segítségével lehet leírni, helyiértékkel tüntetve fel, hogy a jegyet a kettes

hányadik egész-kitevős hatványával kell megszorozni. A kettes számrendszerben felírva a 135 = 27+22+21+20=10000111. A kettes számrendszer előnye az elektronikában, hogy a megadott számokat impulzus sorozatokkal lehet reprezentálni. Az oktális számjegy 3/8 = 23/, a hexadecimális számjegy 4/16 = 24/ bináris számjeggyel ábrázolható. Pl ha egy decimális szám 26 , annak bináris ábrázolása 11010, hexadecimális számmal ábrázolva : 1A. A számítógépeken elsősorban a kettes azaz bináris kódrendszert használnak , mert lehetővé teszi az aritmetikai műveletek gyors és egyszerű végrehajtását. A tárolt adatok pontossága függ: a tárolóhelyek hosszától valamint a tárolási formától (fixpontos vagy lebegőpontos). Számábrázolás Decimális 10-es Bináris 2-es Oktális 8-as Hexadecimális 16-os 0 1 2 3 4 5 6 7 0000 0001 0010 0011 0100 0101 0110 0111 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 61. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK

1998. 8 9 10 11 12 13 14 15 A számrendszerek átalakítása: Decimális – bináris átalakítás A decimális szám: 111 1/2 =5+ 1 5 / 2 =2+ 2 / 2 =1+ 1 / 2 =0+ BURJÁN PÉTER 1000 1001 1010 1011 1100 1101 1110 1111 10 11 12 13 14 15 16 17 8 9 A B C D E F 1 0 1 1 0 1 1 1110 = 10112 Binárisról – decimálisra átalakítás A bináris szám: 1011 1011 = 1•23 1011 = 1•8 10112 = 1110 + + 0•22 0•4 + + 1•21 1•2 + + 1•20 1 Véges pontosság problémája: Kézi számításnál az eredmény pontosságát nem befolyásolja semmi. A papírra ugyanis annyi számjegyet írhatunk le amennyit akarunk. Más a helyzet a számítógépeknél, amelynek tárolóhelyei véges hosszúságúak Ha a rendelkezésre álló tárolóhelyen pl. 3 decimális számjegyet tudunk tárolni (fixpontos) egész számok formájában, akkor a tárolható számok tartománya 000-999 között mozog. Az elvégezhető műveletek (összeadás, kivonás, szorzás, osztás) nem mindig vezet

olyan eredményre amelyet a rendelkezésre álló tárolóhelyen el tudunk helyezni. Ugyanis a műveletek eredménye nem biztos , hogy 3 jegyű szám lesz. A kivonás során az eredmény lehet negatív is , amit nem tudunk megjeleníteni ebben a megoldásban Az osztás eredménye sem mindig egész szám és így nem tudjuk tárolni sem. A műveletek elvégzése során az egyik hibajelenség az , hogy az eredmény túl nagy (owerflow = túlcsordulás) , vagy túl kicsi (underflow = alulcsordulás) ahhoz, hogy a rendelkezésre álló tárolóban megjeleníthessük. A másik hibajelenség pedig az , hogy az eredmény nem tartozik az operandusok halmazába. (egész számokkal végzett művelet eredménye nem mindig egész szám) 62. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 43. tétel Hogyan megy végbe az I/O port kiválasztása ? Az I/O port pufferei a külső buszrendszer adatvezetékeihez csatlakoznak. Amikor a külső logika adatot továbbít a

mikroszámítógépbe, azt az I/O puffer tárolja. Az I/O port nincs állandóan aktív állapotban, mert azokon keresztül bonyolódik le a CPU és a memóriák közötti adatforgalom is. A CPU a műveletvégzés igényeinek megfelelően kiválasztja az I/O portot Az I/O port kiválasztása úgy megy végbe, hogy a CPU kiolvassa egy I/O port puffereinek tartalmát, mint ahogyan az adatokat kiolvassa a memóriából. Melyek azok a feltételek amelyek mellet létrejön egy elágazás ? A kiválasztott elágazás feltételei: elágazás nullánál elágazás nullánál elágazás átvitelnél elágazás átvitelnél elágazás túlcsordulásnál elágazás túlcsordulásnál elágazás előjelbitnél elágazás előjelbitnél (Z) egyenlő 0-val (Z) egyenlő 1-gyel (C) egyenlő 0-val (C) egyenlő 1-gyel (0) egyenlő 0-val (0) egyenlő 1-gyel (S) egyenlő 0-val (S) egyenlő 1-gyel Mit értünk szelektor csatorna alatt ? A nagyszámítógépek a csatornarendszert ( channel system )

használják fel a perifériákkal történő kapcsolat kialakítására. Az adatcsatornák önálló vezérlő egységgel rendelkeznek és a megfelelő program alapján, önállóan irányítják az adatátvitel folyamatát (a processzor munkájától függetlenül) a memória és periféria között. Az adatátvitel indítása előtt a processzor az átviteli programját átadja a csatornavezérlőnek, majd elindítva azt , a továbbiakban a csatorna már önállóan dolgozik tovább, amíg be nem fejezi a kijelölt átviteli feladatot. Ekkor jelzést küld a processzornak, amely további igény esetén , ismét elindít egy adatátviteli folyamatot A szelektor csatorna, nagy sebességű perifériákat (háttértárak) kapcsol a processzorhoz és egyidőben csak egy perifériával tud kapcsolatot tartani. A lapozási igény által megszakított utasításfeldolgozás milyen módszerekkel folytatható? Melyik módszert alkalmazzák leginkább ? A lapváltási igény felmerülésekor

egy utasítás végrehajtásának folyamatát kell felfüggeszteni és később visszatérni rá. A felfüggesztett utasítás végrehajtására két módszer közül lehet választani: • Az utasítás folytatása a felfüggesztési fázistól (ez az operandus előkészítési fázis többnyire); ez esetben a felfüggesztési időpontra vonatkozó állapotjellemzőket el kell menteni, majd a folytatáskor visszatölteni. • Az utasítás újrakezdése a lapváltás után ; ez egyszerűbb megoldás, mert a felfüggesztett utasítás mikroprogramját elölről lehet indítani, kevesebb állapotjelzőt kell tárolni, ugyanakkor a felfüggesztés pillanatában vissza kell állítani az utasítás megkezdése előtti állapotot; többnyire az utasítás újrakezdését alkalmazzák megoldásként. Adatmozgató és aritmetikai assembly utasítások. MOV MOVS MOVSB MOVSW STOS STOSB STOSW LODS LODSB LODSW LEA LDS LES XLAT XCHG LAHF SAHF CBW PUSH PUSHF POP POPF : a második operandus

tartalmát az elsőbe írja : a DS:SI által címzett byte-ot ES:DI címre írja : : : al illetve ax tartalmát ES:DI címre írja : : : DS:DI által címzett byte (word) tartalmát al illetve ah regiszterbe tölti : : : a kijelölt cél operandusba tölti a forrásoperandus offset címét : 4 byte-os memória 1.és 2 byte-ja kerül megadott regiszterbe, 3 és 4 a ds reg-be : 4 byte-os memória 1. és 2 byte-ja kerül megadott regiszterbe, 3 és 4 az es reg-be : a bx+al címen lévő adatot tölti al regiszterbe : megcseréli a forrás és a cél operandus értékét : a flag regisztert az ah regiszterbe másolja : ah regiszter értékét a flag regiszterbe másolja : az ah regisztert feltölti al regiszter felső bitjével : sp értékét csökkenti kettővel és a kiválasztott 16 bites regisztert a verem tetejére írja : a flag regiszter tartalmát írja a stackre : kiolvassa az sp által mutatott értéket és a kiválasztott regiszterbe tölti, sp növelése kettővel : a

veremből leemelt értéket a flag regiszterbe tölti majd sp növelése kettővel 63. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 44. tétel Milyen okai lehetnek egy programmegszakítás kérésnek ? A programmegszakítás kérésének több oka lehet: • ki kell szolgálni egy megszakítást kérő perifériát, mert ha ez nem történik meg, a rendszer hatékonysága romlik. Pl megváltozik a szabályozott rendszerünk külső (mért) adata, ami szerint szabályozni kell, ha erről nem értesül a gépünk, akkor a régi adat szerint hibásan fog szabályozni. • a jelenleg futó program folytatása valamilyen akadály miatt nem lehetséges, az akadály elhárításához software beavatkozás szükséges. • a futó program befejeződött. • a kezelő közölni kíván valamit a rendszerrel. Milyen egy adatátviteli programhurok ? Adatátviteli programhurok Elágazási logika LOOP LNA DCO SNA DC1 AIB H’FF Átugrási logika LOOP LNA DCO SNA DC1

AIB H’FF betölti a következő bemeneti adat byte-ot , majd inkrementálja DCO-t. tárolja a következő bemeneti adat byte-ot , és inkrementálja DC1-et. létesíts elágazást a hurokhoz , ha A1=0, AIB utasítás dekrementálja az A1 tartalmát betölti a következő bemeneti adat byte-ot , majd inkrementálja DCO-t. tárolja a következő bemeneti adat byte-ot , és inkrementálja DC1-et. Ugord át a következő utasítást, ha A1 nem egyenlő nullával. AIB utasítás dekrementálja az A1 tartalmát Mit értünk multiplexor csatorna alatt ? A nagyszámítógépek a csatornarendszert ( channel system ) használják fel a perifériákkal történő kapcsolat kialakítására. Az adatcsatornák önálló vezérlő egységgel rendelkeznek és a megfelelő program alapján, önállóan irányítják az adatátvitel folyamatát (a processzor munkájától függetlenül) a memória és periféria között. Az adatátvitel indítása előtt a processzor az átviteli programját

átadja a csatornavezérlőnek, majd elindítva azt , a továbbiakban a csatorna már önállóan dolgozik tovább, amíg be nem fejezi a kijelölt átviteli feladatot. Ekkor jelzést küld a processzornak, amely további igény esetén , ismét elindít egy adatátviteli folyamatot • multiplexor csatorna a lassú perifériákat (nyomtató, terminálok, stb.) köti össze a processzorral, mégpedig időosztásos üzemmóddal, azaz felváltva létesít kapcsolatot az egyes perifériákkal. Mit jelent a virtuális címek leképzése fizikai címekre ? A lapkezdetek, lapkeretek kezdőcímeit a tárolókezelő rendszer táblázatokban őrzi, más kiegészítő adatokkal együtt. A tárolókezelő rendszer (MMU) feladata: a virtuális , logikai címek átalakítása valós, fizikai címekké a szegmens- és/vagy laptáblázatok adatainak felhasználásával. Ebben az értelemben a virtuális címzés táblázatok alapján megvalósított egy vagy többlépcsős indirekt címzés

Egylépcsős címképzés: az egylépcsős címleképzés alkalmazásakor , a szegmens-, vagy laptáblázat tartalmazza a központi memóriabeli szegmens-, vagy lapkezdet fizikai címét. A táblázatban a keresett helyet a virtuális cím egy része, mint index jelöli ki, vagy egy külön regiszterben, tárolóban található a sorszám, az index értéke. Többlépcsős címképzés: a többlépcsős címkiszámítási eljárások vegyítik a szegmenscímzést a lapcímzéssel. Feltételes és feltétel nélküli assembly vezérlő utasítások Feltételes: JA (Jump if above) JNA (Jump if not above) JNC (Jump if not carry) JC (Jump if carry) JZ (Jump if zero) JNZ (Jump if not zero) JG ( Jump if greater) JNG (Jump if not greater) JGE (Jump if greater or equal) JNGE (Jump if not greater or equal) Feltétel nélküli: : ugrás, ha előjel nélkül nagyobb : ugrás, ha előjel nélkül kisebb vagy egyenlő : ugrás, ha előjel nélkül nagyobb vagy egyenlő : ugrás, ha előjel

nélkül kisebb : ugrás, ha egyenlő : ugrás, ha nem egyenlő : ugrás, ha előjelesen nagyobb : ugrás, ha előjelesen kisebb vagy egyenlő : ugrás, ha előjelesen nagyobb vagy egyenlő : ugrik, ha előjelesen kisebb LOOP LOOPZ LOOPNZ : csökk. cx értékét, ha ≠ 0 ugrás a megadott címre : addig tart amíg cx nem éri el a 0-t : az előző ellentéte REP REPZ REPNZ CALL (Loop while zero) (Loop while not zero) (Repeat string prefix) : kar. műv ismétlése amíg cx ≠ 0 : azonos LOOP ut. említetekkel : azonos LOOP ut. említetekkel : rövid (ip értéket verembe menti), távoli (cs értékét is menti) ugrás 64. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 45. tétel Mit kell végrehajtani egy megszakításkérés következtében ? • • meg kell állítani a jelenleg futó programot, tárolni kell a jelenleg futó programra vonatkozó információkat. (A megállított program későbbi folytatásához meg kell őrizni a

programszámláló, a stack pointer, az akkumulátor stb. regiszterek tartalmát), • el kell indítani a megszakítást kiszolgáló rutint, • be kell fejezni a megszakítást, • vissza kell állítani az eredeti állapotot, vagyis a megszakított program folytatásához a központi egység állapotát vissza kell állítani abba az állapotba, amelyben az a megszakítás időpontjában volt. A programmegszakítást csak úgy lehet kiszolgálni, ha a hardware-ben gondoskodunk azokról az eszközökről, amelyekkel azt végre tudja hajtani. Programmegszakítás akkor válik lehetővé, ha az utasításciklus befejeződött A különböző készülékektől, I/O egységektől származó megszakításkérő jeleket a CPU tárolja. A CPU-ban levő tároló flip-flop-ot be lehet úgy állítani , hogy a program a megfelelő helyen megálljon. A CPU arról is gondoskodik, hogy ha a futó programmal kapcsolatos információk már „Megőrzésre”, tárolásra kerültek, akkor az új

program elinduljon, vagyis gondoskodik az új programra való áttérésről. Ha az új (a „megszakítási”) program befejeződik , akkor a CPU gondoskodik a régi program folytatásáról. Mit tesz lehetővé a kiszámított ugrás ? Az akkumulátorok és a programszámláló közötti adatátvitel lehetővé teszi , hogy a program logika kiszámítsa az ugrás címeket. Ez nagyon jól hasznosítható az elágazás táblázatokban. Az elágazás táblázat a címek olyan listája, amely több parancsot azonosít és ezek közül azt az egyet kell végrehajtani, amely az aktuális program logikán alapul. Milyen perifériális kapcsolati rendszert alkalmaznak a mikroszámítógépek esetében ? A mikroszámítógépek perifériái közös sínrendszerre (buszrendszerre) csatlakozó vezérlőkön keresztül kapcsolódnak a processzorhoz. Tehát a processzor a perifériális eszközöket egy-egy vezérlő (controller) egységen keresztül éri el és irányítja. Ezek a vezérlők

vagy magában a perifériában találhatók és a központi egységgel egy szabványos csatlakozón keresztül tartanak kapcsolatot, vagy önálló egységként helyezkednek el a központi egységhez csatoltan. Milyen módon lehet szétválasztani a program- és adattárolási területet a címzés segítségével ? Milyen előnye van a programés adattárolási terület szétválasztásának ? Mivel a programutasítások és az adatok felhasználási módja különbözik, az egyik esetben csak olvasás történik, míg a másik esetben az írás és olvasás egyaránt feladat, meggyorsítaná a feldolgozást, ha a programtárolás és az adattárolás szétválna. Azoknál a gépeknél, amelyeknél a külön tárolás megoldott, azaz önálló memóriablokkok vannak az utasítások és az adatok tárolására, a processzornak a memóriához forduláskor tudnia kell, hogy programutasítást, vagy adatot kell elérnie. Ennek legegyszerűbb megoldási módja, hogy a használható

címtartomány felezésével, a cím legfelső bitjét a választás (P/D* - program / data) vezérlésére használják fel. Ez a megoldás megakadályozza a program esetleges felülírását is Veremtároló (Stack), veremmutató (stack pointer) –kezelő és velük kapcsolatos utasítások. A verem olyan LIFO (Last In First Out) szervezésű regiszter vagy „memória” a CPU-ban, amely az aktuális (futó) program megszakításakor a CPU állapotát tárolja , a program következő utasításának címét azaz a programszámláló tartalmát- továbbá megőrzi az index-regiszterek és az akkumulátorok tartalmát. A LIFO szervezésű memóriából az utoljára beírt információt lehet először kiolvasni. Az adatforgalom a bemeneti sorrenddel ellenkező kimeneti sorrendű Verem mutató (stack pointer) A legegyszerűbb verem megoldásnál az adat-memória egy részét tartalékolják a verem műveletekre. A verem megcímzése egy adatszámláló típusú regiszterrel

történik, ezt nevezik verem mutatónak. A veremmutató regiszter egy speciális tároló, a veremtároló legfelső elemét jelöli ki. A veremtároló általában a főmemóriában van kialakítva , annak egy lefoglalt területét használja Adatokat csak a verem tetejére lehet tenni és csak onnan lehet levenni is. A veremmutató mindig arra a tárolóhelyre mutat, annak a tárolóhelynek a címét tartalmazza, ahová a következő adatot elhelyezni (push), vagy ahonnan a következő adatot leveszi (pop) a processzor. Veremtár műveletek Általában csak két verem művelet van: írás a verem felső részébe, ezt nevezik adat bevitelnek (Push), olvasás a verem felső részéből, ezt nevezik „Pop”-nak, vagy adat kihozatalnak (Pull). Adatbevitel (PUSH) Az adatbevitel művelete (írás a verembe) azt eredményezi, hogy az akkumulátorban (vagy más CPU regiszterben) lévő adatokat beírják abba a memória rekeszbe, amelyet a veremmutató címez meg: a veremmutató tartalma

ezután automatikusan inkrementálódik, hogy megcímezze a következő üres tárolóterületet a verem felső részén. Adatkihozatal (POP) Az adatkihozatal művelete ellentétes az adatbevitellel, a veremmutató tartalmát eggyel csökkentik, hogy a verembe utolsónak beírt szót megcímezzék, azután a veremmutató által megcímzett memóriarekesz tartalmát továbbítják az akkumulátorba vagy más CPU regiszterbe. Az adatkihozatal végén a veremmutató ismét megcímzi a verem felső részén lévő első szabad memória-tárolóhelyet, ugyanis azt tételezzük fel, hogy ha egy adatot kiolvasunk a verem felső részéből, akkor az adattároló hely kiürül. 65. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 46. tétel Mikor válik lehetővé a programmegszakítás ? A programmegszakítást csak úgy lehet kiszolgálni, ha a hardware-ben gondoskodunk azokról az eszközökről, amelyekkel azt végre tudja hajtani. Programmegszakítás akkor

válik lehetővé, ha az utasításciklus befejeződött A különböző készülékektől, I/O egységektől származó megszakításkérő jeleket a CPU tárolja. A CPU-ban levő tároló flip-flop-ot be lehet úgy állítani , hogy a program a megfelelő helyen megálljon. A CPU arról is gondoskodik, hogy ha a futó programmal kapcsolatos információk már „megőrzésre”, tárolásra kerültek, akkor az új program elinduljon, vagyis gondoskodik az új programra való áttérésről. Ha az új (a „megszakítási”) program befejeződik , akkor a CPU gondoskodik a régi program folytatásáról. Mi a regiszter - regiszter átviteli utasítás jelentősége ? A központi egység (CPU) regisztereire vonatkozó utasítások lehetnek olyanok, amelyek adatokat visznek át egyik regiszterből a másikba és olyanok, amelyek másodlagos memória-referencia műveleteket végeznek el egy központi egységen belül. Sokszor igen hasznos ha az akkumulátorok tartalmát ki tudjuk

cserélni. Az akkumulátorokból az adatszámlálókba való adatátvitel lehetővé teszi a program-logika számára, hogy változtatható címeket hozzon létre az akkumulátorokban, azután átvigye ezeket a címeket az adatszámlálóba, a változtatható bennfoglalt címzéshez. Az ellenkező irányú adatátvitel lehetővé teszi, hogy egy adatszámlálót ideiglenes tárolóként használjunk az akkumulátorokban lévő adatok számára. Ennek előfeltétele, hogy a szóban forgó adatszámlálót nem alkalmazzuk bennfoglalt címzésre. Milyen módszerekkel növelhető a hagyományos számítógépek kihasználtságának mértéke ? A hagyományos felépítésű számítógép eredeti formájának legnagyobb hátránya , hogy a rendelkezésre álló erőforrásokat igen rosszul használja ki, egy időben csak egy program végrehajtása lehetséges és az erőforrások nem megoszthatóak. A rendelkezésre álló eszközök jobb leterhelését megfelelő szervezéssel, amelyet egy

bonyolult vezérlő programrendszer , az operációs rendszer valósít meg, javítani lehet. Ennek segítségével a szabad időtartamok felhasználhatók más, következő programok feldolgozására Ez egy látszólagos , párhuzamos feladatmegoldást eredményez, azonban a valóságban csak az erőforrások váltakozó használata valósul meg az operációs rendszer vezérletével. A memóriának, mint erőforrásnak a használatát javítja az a megoldás, amit memory interleaving-nek neveznek. Ennek lényege, hogy a memóriát elérés, címzés szempontjából több részre osztják és az egymást követő (egyidejű ) tárolóhoz fordulásokat más és más tárolórekeszhez irányítja a processzor. Így nem okoz gondot egyidejűleg több utasítás előkészítése a feldolgozáshoz Milyen védelmi funkciókat tölt be a memóriakezelő rendszer ? Milyen védelmi rendszereket használnak a tárolt adatok védelmére ? A tárolókezelő rendszer feladatai között a

címkiszámítás mellett, a tárolt adatok, programok védelme is fontos szerepet tölt be. Ez a következő területekkel való foglalkozást jelenti: • a memóriaterület védelme: ez a címzések helyességének ellenőrzését jelenti, amelyet az MMU-nak mindig el kell végeznie, megakadályozandó a nem létező és hibásan megadott címek használatát. Ezzel a kérdéssel külön nem kell foglalkozni, mert a megoldás adott. • a rendszerprogramok védelme a felhasználó beavatkozásaitól • a felhasználók (pontosabban feladataik) egymástól való védelme • a tárolt adatokhoz történő hozzáférési lehetőségek ellenőrzése Adatok védelme: A feladatok által használt adatok védelme érdekében, a szegmensekhez , lapokhoz való hozzáférési jogokat szabályozza a védelmi rendszer. A leggyakoribb hozzáférési jogok: • olvasási jog (read access) : a tárolóhoz (laphoz, szegmenshez) forduló feldolgozás tetszőleges adatot kiolvashat az adott

területről. • írási jog (write access) : a feldolgozás átírhatja a tárolóterület adatait, beírhat új adatokat, törölheti az ott levő adatokat. • végrehajtási jog (execute access) : a feldolgozás a tárolóterületen található kódot elindíthatja. Végrehajtási jog csak programot tartalmazó laphoz, vagy szegmenshez rendelhető hozzá, adatszegmenshez nem. Az elérési jogokat a szegmensekhez, lapokhoz tartozó leírók (deszkriptorok) tartalmazzák, ezért a folyamatoknak előbb a deszkriptortáblákban kell ellenőrizniük a jogosultságukat az adott tárolórészhez. A szegmentált tárolókezeléshez kapcsolódó védelem valamivel jobb, mint a lapokhoz tartozó, mert az előbbivel pl. teljes programot védhetünk, míg a lapozásos módszernél minden laphoz külön hozzá kell rendelni a védelmet ,és ez kevésbé biztonságos. További gond , hogy a védelemnek ez a formája tárolóterülethez van hozzárendelve és nem a felhasználóhoz. Ennek

kiküszöbölésére alkalmaznak kétszintű védelmi rendszert, amelyben a felhasználóhoz kapcsolódó jogokat a szegmens- és lapelérési jogoktól külön tárolják. Szubrutinhívás folyamata, szubrutinhívó assembly utasítások. Az „ugrás a szubrutinba” utasítás hatására az utasításszámláló meglévő tartalmát meg kell őrizni mielőtt az új azonnali adatot betöltjük az utasításszámlálóba; mivel mikroszámítógépünk rendelkezik egy veremmel az utasításszámláló tartalmát odairányítjuk és az azonnali adatot csak ezután töltjük be az utasításszámlálóba. Az utasítás: JSR SNAME SNAME az azonosító jele a szubrutinon belül elsőnek végrehajtott utasításnak. (Első lépés a mikroszámítógépek világába 258.oldal) 66. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 47. tétel Milyen megszakítástípusok lehetnek egy multiprocesszoros rendszerben? Multiprocesszoros rendszerben egynél több I/O

eszköz van és a megszakítás típusa is különböző lehet. Típusai: • Külső megszakítások, amelyeket egy vagy több I/O eszköz generál • Belső megszakítások, amelyeket maga a mikroprocesszor generál abból a célból, hogy sajátos feltételek vagy hibák előfordulását jelezze, például: • energiakimaradás • a rendszer meghibásodása • az adattovábbításban előforduló különböző hibák stb.; • Szoftver által generált, szimulált megszakítások, amelyekkel elősegíthetik a programhibák kiküszöbölését, vagy amelyekkel megszakíthatják a szerviztesztek futását. Hogyan törlöm a regisztert? Kell, hogy minden akkumulátor nullázható legyen, ez gyakori igény például egy összeadás elvégzése előtt, vagy egyszerűen csak egy kezdő lépés. A címregiszterek nullázása nem szükséges, mivel ezeknél a leggyakrabban elvégzendő művelet az adat betöltése Törlést és komplementálást csak akkor alkalmazunk, ha két

akkumulátorunk van. Az utasítások mnemonikjai: • CLA Töröld A0-t • CLB Töröld A1-et. • COA Komplementáld A0-t. • COB Komplementáld A1-et. Ennek a négy utasításnak nincs operandusa. Mit értünk kötegelt feldolgozás (batch processzing) alatt? A hagyományos felépítésű számítógép legnagyobb hibája, hogy a rendelkezésre álló erőforrásokat (processzor, memória, stb. ) rosszul használja ki, egy időben csak egy program futtatható, az erőforrások nem megoszthatók. Egy-egy erőforrás felhasználása csak sorosan, egymás után lehetséges A eszköz B eszköz Processzor Program kezdete Program vége Amint az ábrából is látszik a kötegelt feldolgozásnál az egyes eszközök kihasználtsága igen alacsony, ez a nagy sebességű processzoroknál igen nagy hátrány, hiába gyors a processzorunk, a lassú perifériák és eszközök lelassítják a teljes programfutást. A hierarchikus rendszerben mely programok rendelkeznek a maximális

prioritással? A hierarchikus védelmi rendszerben a legmagasabb védelmi szinten (0. szint) az operációs rendszer taszkjai (programjai) futnak Az 1. és 2 szintet a különböző rendszerkiszolgáló programok, I/O rutinok stb foglalják el, a 3 szint, a legalacsonyabb védelmi szint a felhasználói programok területe. Flag regiszter, flag típusok és szerepük a gép működésében. Flag regiszter vagy állapotregiszter, amelyek egy, vagy több regiszteren belül tárolnak vezérlő és ellenőrző jeleket. A műveletek végrehajtásának eredménye alapján bekövetkező állapot jellemzőit tükrözi vissza regiszter egy-egy helyiértéke, bitje. Ilyen jellemző pl az eredmény nulla volta (zero flag), a keletkezett számérték túl nagy értéke (overflow flag), átvitel keletkezése (carry flag), stb. 67. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 48. tétel Hogyan ismerjük fel a megszakításforrást? A megszakításkérés forrását

abban az esetben kell keresnünk, ha a mikroprocesszorunk több I/O eszköztől kaphat megszakításkérést ugyanazon a megszakításkérő vezetéken. A megszakításkérés forrásának megállapítására a következő módszerek használhatóak: • Az eszközök lekérdezése. A megszakításkérés hatására a program a megszakításkiszolgáló programra ugrik át A kiszolgáló program ellenőrzi az egyes I/O eszközök állapotszavát, amiből meghatározza, hogy melyik eszköz okozta a megszakítást. Ilyenkor az eszköz állapotszava beolvasásra kerül a mikroprocesszor állapotregiszterébe, ezután a programvégrehajtás az I/O eszközt kiszolgáló programra ugrik át. Az eszközök lekérdezése és az adott eszköz felismerése szoftver úton történik • Vektoros megszakítás. A vektoros megszakításos számítógépekben a megszakítás vezérlő, processzoron belüli logika ismeri fel a megszakítást kérő I/O eszközt. Minden egyes I/O eszközhöz egyedi,

az eszközre vonatkoztatott megszakításcímet kell hozzá rendelni, amit nem szabad összetéveszteni az I/O eszköz korábban definiált címével. Hogyan léptetek a regiszterben? A regiszterekben léptető és körbeléptető műveletek hajthatók végre. A léptető (SHIFT) és körbeléptető (ROTATE) műveletek nagyon fontosak a szorzási és osztási algoritmusnál, valamint a számítási műveleteknél. Műveletek: • Léptetés jobbra (SHR, Shift right) Az eljárás minden egyes bitet átvisz a balra lévő legközelebbi bithelyre és mivel a legnagyobb helyiértékű bittől balra már nincs több bit, így ez elvész. A legkisebb helyiértékű bit helyére 0-t viszünk be • Léptetés balra (SHL Shift left) Megegyezik az előző művelettel csak balra lépteti a biteket. • Körbeléptetés jobbra (ROR Rotate right) A regiszter bitjeit eggyel jobbra lépteti, a kieső legkisebb helyiértékű bitet pedig visszateszi a legnagyobb helyiértékű helyre. •

Körbeléptetés balra (ROL Rotate left) Megegyezik az előző művelettel, csak balra lépteti a biteket. • Léptetés illetve körbeléptetés átvitellel (SLC, SRC, RLC, RRC) A biteket a megfelelő léptetési procedúra szerint lépteti, de a kieső legnagyobb/legkisebb helyiértékű bitet egy (C) átvitelbiten tárolja, illetve a megüresedő legkisebb/legnagyobb helyiértékű bit helyére az átvitel kerül. • Léptetés illetve körbeléptetés elágazó átvitellel (SL, SR, RL, RR) A biteket a megfelelő léptetési procedúra szerint lépteti, a kieső legnagyobb/legkisebb helyiértékű bitet egy (C) átvitelbiten tárolja, de a megüresedő legkisebb/legnagyobb helyiértékű bit helyére nem az átvitel kerül, hanem a körbeléptetés során kiesett bit, illetve léptetésnél 0. • Aritmetikai léptetés jobbra (SLA) A legnagyobb helyiértékű bitet (előjelbitet) lépteti eggyel jobbra. • Aritmetikai léptetés balra (SRA) Megtartja változatlanul az

előjel-bitet és az utolsó előtti bithelyről lép ki az átvitelbe (C). Mit értünk multiprogramozás alatt? Az eszközök jobb kihasználását megfelelő vezérlőrendszerrel, - melyet az operációs rendszer valósít meg - tudjuk biztosítani. Ennek segítségével a szabad időtartamok kihasználhatók más, következő programok feldolgozására. Ez egy látszólag párhuzamos feladatmegoldást eredményez, azonban a valóságban csak az erőforrások váltakozó használata valósul meg az operációs rendszer segítségével. Ezt nevezzük multiprogramozásnak A multiprogramozott rendszereket többféle elven valósíthatjuk meg: • Prioritásos elv az egyes feladatok fontossága különböző lehet és a szabad erőforrást, amennyiben több feladat is igényli egyidejűleg, a legmagasabb prioritású feladat kapja meg. • Időosztásos üzemmód, (time-sharing); ennél a feldolgozási módnál a feladatok egyenlő időközönként férnek hozzá a processzorhoz, míg

az egyéb erőforrások használata részben prioritásos elvű • Időazonos vagy valós idejű feldolgozás (real-time); ez esetben egy-egy programkiemelt fontosságú, ami azt eredményezi, hogy amennyiben ez a program kéri a processzor és a többi erőforrás használatát, akkor azonnal át kell engedni azokat ennek a kiemelt feldolgozásnak; ilyen jellegű feldolgozás pl. minden folyamatirányító feladat Milyen módon működik a nem-hierarchikus védelmi rendszer? A feladatok által használt adatok védelme érdekében, a szegmensekhez, lapokhoz való hozzáférési jogokat szabályozza a védelmi rendszer. A leggyakoribb hozzáférési jogok: • Olvasási jog (read access) a tárolóhoz, (laphoz, szegmenshez) forduló feldolgozás tetszőleges adatot kiolvashat az adott területről • Írási jog (write access) a feldolgozás átírhatja a tárolóterület adatait, beírhat új adatokat, törölheti az ott lévő adatokat. • Végrehatási jog (execute access) a

feldolgozás a tárolóterületen található kódot elindíthatja; végrehajtási jog csak programot tartalmazó laphoz, vagy szegmenshez rendelhető hozzá, adatszegmenshez nem. A védelemnek ez a formája a tárolóterületekhez van rendelve, ezért kétszintűvédelmi rendszert alkalmaznak, ahol a felhasználóhoz kapcsolódó jogokat a szegmens-, és lapelérési jogoktól külön tárolják. Forgató-, léptetőutasítások. A regiszterekben léptető és körbeléptető műveletek hajthatók végre. A léptető (SHIFT) és körbeléptető (ROTATE) műveletek nagyon fontosak a szorzási és osztási algoritmusnál, valamint a számítási műveleteknél. Műveletek: • Léptetés jobbra (SHR, Shift right) Az eljárás minden egyes bitet átvisz a balra lévő legközelebbi bithelyre és mivel a legnagyobb helyiértékű bittől balra már nincs több bit, így ez elvész. A legkisebb helyiértékű bit helyére 0-t viszünk be • Léptetés balra (SHL Shift left) Megegyezik az

előző művelettel csak balra lépteti a biteket. • Körbeléptetés jobbra (ROR Rotate right) A regiszter bitjeit eggyel jobbra lépteti, a kieső legkisebb helyiértékű bitet pedig visszateszi a legnagyobb helyiértékű helyre. • Körbeléptetés balra (ROL Rotate left) Megegyezik az előző művelettel, csak balra lépteti a biteket. 68. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT • • • • TÉTELEK 1998. BURJÁN PÉTER Léptetés illetve körbeléptetés átvitellel (SLC, SRC, RLC, RRC) A biteket a megfelelő léptetési procedúra szerint lépteti, de a kieső legnagyobb/legkisebb helyiértékű bitet egy (C) átvitelbiten tárolja, illetve a megüresedő legkisebb/legnagyobb helyiértékű bit helyére az átvitel kerül. Léptetés illetve körbeléptetés elágazó átvitellel (SL, SR, RL, RR) A biteket a megfelelő léptetési procedúra szerint lépteti, a kieső legnagyobb/legkisebb helyiértékű bitet egy (C) átvitelbiten tárolja, de a megüresedő

legkisebb/legnagyobb helyiértékű bit helyére nem az átvitel kerül, hanem a körbeléptetés során kiesett bit, illetve léptetésnél 0. Aritmetikai léptetés jobbra (SLA) A legnagyobb helyiértékű bitet (előjelbitet) lépteti eggyel jobbra. Aritmetikai léptetés balra (SRA) Megtartja változatlanul az előjel-bitet és az utolsó előtti bithelyről lép ki az átvitelbe (C). 69. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 49. tétel Milyen módszerek vannak egy megszakítás forrásának felismerésére? A megszakításkérés forrását abban az esetben kell keresnünk, ha a mikroprocesszorunk több I/O eszköztől kaphat megszakításkérést ugyanazon a megszakításkérő vezetéken. A megszakításkérés forrásának megállapítására a következő módszerek használhatóak: • Az eszközök lekérdezése. A megszakításkérés hatására a program a megszakításkiszolgáló programra ugrik át A kiszolgáló program ellenőrzi

az egyes I/O eszközök állapotszavát, amiből meghatározza, hogy melyik eszköz okozta a megszakítást. Ilyenkor az eszköz állapotszava beolvasásra kerül a mikroprocesszor állapotregiszterébe, ezután a programvégrehajtás az I/O eszközt kiszolgáló programra ugrik át. Az eszközök lekérdezése és az adott eszköz felismerése szoftver úton történik • Vektoros megszakítás. A vektoros megszakításos számítógépekben a megszakítás vezérlő, processzoron belüli logika ismeri fel a megszakítást kérő I/O eszközt. Minden egyes I/O eszközhöz egyedi, az eszközre vonatkoztatott megszakításcímet kell hozzá rendelni, amit nem szabad összetéveszteni az I/O eszköz korábban definiált címével. Melyek a műveleti utasítások tárgykódjai? Másodlagos memóriareferencia utasítások tárgykódjai: 7 6 5 4 3 2 1 0 bitek sorszáma 1 0 X X X X X X bitek értéke • a 7.,6 bit meghatározza, hogy másodlagos memóriareferencia utasítás következik

• az 5., bit kijelöli az akkumulátort (0=A0, 1=A1) • a 4.,3,2, bitek jelentései: • 000 Adj össze binárisan • 001 Adj össze decimálisan • 010 Vonj ki decimálisan • 011 ÉS (AND) • 100 VAGY (OR) • 101 Kizáró VAGY (EXCLUSIVE OR) • 110 Hasonlíts össze, komparálj • 111 Nem használt • az 1., 0 bitek jelentése: • 00 Használd a DC0 adatszámlálót. Bennefoglalt címzés • 01 Használd a DC1 adatszámlálót. Bennefoglalt címzés • 10 Használd a DC2 adatszámlálót. Bennefoglalt címzés • 11 Közvetlen címzés. A következő két byte szolgáltatja a közvetlen memóriacímet Azonnali műveleti utasítások: 7 6 5 4 3 2 1 0 bitek sorszáma 0 1 X X 1 X 1 1 bitek értéke • 7.,6,3,1,0 bitek meghatározzák, hogy azonnali műveleti utasítás következik • 5.,4 bitek jelentése • 00 Adj össze azonnal • 01 Azonnali ÉS • 10 Azonnali VAGY • 11 Hasonlíts össze (komparálj) azonnal. • 2. bit kijelöli az akkumulátort (0=A0, 1=A1)

Regiszter - regiszter műveleti utasítások: 7 6 5 4 3 2 1 0 bitek sorszáma 0 0 1 1 1 X X X bitek értéke • 7.,6,5,4,3 bitek meghatározzák, hogy regiszter - regiszter műveleti utasítás következik • 2.,1,0 bitek jelentése: • 000 Adj össze binárisan. • 001 Adj össze decimálisan. • 010 Vonj ki decimálisan. • 011 ÉS • 100 VAGY • 101 Kizáró VAGY • 110 Hasonlíts össze. • 111 Nem használt Címzésmátrixok: 7 6 5 4 3 2 1 0 bitek sorszáma 0 0 0 1 1 X X X bitek értéke • 7.,6,5,4,3 bitek meghatározzák, hogy mátrix-művelet következik • 2. bit meghatározza az akkumulátort (0= Add össze A0-al, 1= Add össze A-val) • 1.,0 bitek jelentése: • 00 Rendeltetési helye DC0. • 01 Rendeltetési helye DC1. • 10 Rendeltetési helye DC2. • 11 Rendeltetési helye SP. Regiszter műveleti utasítások: 7 6 5 4 3 2 1 0 bitek sorszáma 1 1 0 X X X X X bitek értéke 70. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER

7.,6,5 bitek meghatározzák, hogy regiszter műveleti utasítás következik 4. bit meghatározza az akkumulátort (0= műveletek A0 tartalmával, 1= műveletek A1 tartalmával) 4 bites léptetési utasításoknál a léptetés irányát (0=léptess balra 4 bitet, 1=léptess jobbra 4 bitet) • 3.,2,1,0 bitek jelentése: • 0000 Léptetés jobbra • 0001 Léptetés balra • 0010 Körbe léptetés jobbra • 0011 Körbe léptetés balra • 0100 Jobbra léptetés átvitellel • 0101 Balra léptetés átvitellel • 0110 Jobbra léptetés elágazó átvitellel • 0111 Balra léptetés elágazó átvitellel • 1000 Aritmetikai léptetés jobbra • 1001 Aritmetikai léptetés balra • 1010 Törlő-regiszter • 1011 Komplemens-regiszter 4 bites léptetési utasítás esetén • 1100 Végezz műveletet az A0 tartalmán • 1101 Végezz műveletet az A1 tartalmán • 1110 Végezz műveletet A tartalmán Inkrementálási és dekrementálási utasítások: 7 6 5 4 3 2 1 0 bitek

sorszáma 1 1 1 0 X X X X bitek értéke • 7.,6,5,4 bitek meghatározzák, hogy regiszter-inkrementálási és dekrementálási utasítás következik • 3. bit meghatározza a művelet típusát (0= inkrementáld a regiszter tartalmát, 1= dekrementáld a regiszter tartalmát) • 2.,1,0 bitek jelentése: • 000 Végezz műveletet A0 tartalmán • 001 Végezz műveletet A1 tartalmán • 010 Végezz műveletet A tartalmán • 011 Végezz műveletet a DC0 tartalmán • 100 Végezz műveletet a DC1 tartalmán • 101 Végezz műveletet a DC2 tartalmán • • Multiprogramozásnál milyen módszereket használnak a processzor idejének a szétosztására a különböző feladatok között? Az eszközök jobb kihasználását megfelelő vezérlőrendszerrel, - melyet az operációs rendszer valósít meg - tudjuk biztosítani. Ennek segítségével a szabad időtartamok kihasználhatók más, következő programok feldolgozására. Ez egy látszólag párhuzamos feladatmegoldást

eredményez, azonban a valóságban csak az erőforrások váltakozó használata valósul meg az operációs rendszer segítségével. Ezt nevezzük multiprogramozásnak A multiprogramozott rendszereket többféle elven valósíthatjuk meg: • Prioritásos elv az egyes feladatok fontossága különböző lehet és a szabad erőforrást, amennyiben több feladat is igényli egyidejűleg, a legmagasabb prioritású feladat kapja meg. • Időosztásos üzemmód, (time-sharing); ennél a feldolgozási módnál a feladatok egyenlő időközönként férnek hozzá a processzorhoz, míg az egyéb erőforrások használata részben prioritásos elvű • Időazonos vagy valós idejű feldolgozás (real-time); ez esetben egy-egy programkiemelt fontosságú, ami azt eredményezi, hogy amennyiben ez a program kéri a processzor és a többi erőforrás használatát, akkor azonnal át kell engedni azokat ennek a kiemelt feldolgozásnak; ilyen jellegű feldolgozás pl. minden

folyamatirányító feladat Milyen módon biztosítják az adatokhoz való hozzáférés ellenőrizhetőségét? A feladatok által használt adatok védelme érdekében, a szegmensekhez, lapokhoz való hozzáférési jogokat szabályozza a védelmi rendszer. A leggyakoribb hozzáférési jogok: • Olvasási jog (read access) a tárolóhoz, (laphoz, szegmenshez) forduló feldolgozás tetszőleges adatot kiolvashat az adott területről • Írási jog (write access) a feldolgozás átírhatja a tárolóterület adatait, beírhat új adatokat, törölheti az ott lévő adatokat. • Végrehatási jog (execute access) a feldolgozás a tárolóterületen található kódot elindíthatja; végrehajtási jog csak programot tartalmazó laphoz, vagy szegmenshez rendelhető hozzá, adatszegmenshez nem. A védelemnek ez a formája a tárolóterületekhez van rendelve, ezért kétszintűvédelmi rendszert alkalmaznak, ahol a felhasználóhoz kapcsolódó jogokat a szegmens-, és lapelérési

jogoktól külön tárolják. Perifériakezelő assembly utasítások. Egy mikroszámítógép használhatatlan lenne , ha nem rendelkezne olyan külső eszközökkel, amelyek segítségével külső berendezésekkel kommunikálhat. Ennek a kommunikációnak a vezérlésére szolgálnak a bemenő/kimenő (I/O) utasítások Rövid (SHORT) bemenet: • INS P P az utasítás operandus, amely meghatározza az I/O portok egyikét (0,1 vagy 2), amelyen az utasítások végrehajtandók. Hosszú (LONG) bemenet: • IN P P bármilyen értéket felvehet 0 és 255 között Rövid (SHORT) kimenet: • OUTS P Megegyezik a rövid-bemenet utasítással, kivéve, hogy az adatokat az A0 akkumulátorból viszik ki a meghatározott 71. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER I/O porton (0,1 vagy 2) keresztül. Hosszú (LONG) kimenet: • OUT P Formailag azonos a hosszú-bemenet utasítással, azzal a különbséggel, hogy az adatokat az A0 akkumulátorból viszik át

egy külső berendezésbe bármelyik (0-tól 255-ig) I/O porton keresztül. 72. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER 50. tétel Mi történik, ha egyszerre több megszakításkérés érkezik? Amikor egyidejűleg több megszakításforrás van, akkor mindig fennáll annak a lehetősége, hogy egyszerre több megszakításkérés érkezik egy korábbi megszakításkérés kiszolgálása alatt. Az egyszerűbb rendszerekben az egyes megszakítások maszkbitje automatikusan beállítódik, amikor a rendszer az első megszakításkérést felismeri. A soron következő megszakításkérések sorba rendeződnek. A sorrend vagy prioritás meghatározása történhet szoftver vagy hardver úton. Hogyan kezeljük a megszakításokat a mikroszámítógépünkben? A megszakítási rendszer a párhuzamosan működtethető egységek felügyelete miatt szükséges. A processzornak nem kell állandóan figyelemmel kísérnie egy-egy egység működését, a

megszakításon keresztül csak a tudomást vesz a műveletekről. Illetve engedélyezi azokat, majd a befejezés után ellenőrzi a művelet helyes lefutását. Magát a műveletet a megszakítást kérő eszköz elvégzi A megszakítási rendszer ezért lehetővé teszi: a reagálást a központi egységen belül előálló speciális feltételekre (pl.: processzorhiba, 0-val osztás stb) a kívülről érkező jelzések (megszakításkérés) kezelését, és ezek által a párhuzamosan üzemeltethető egységek közötti koordinációt. A megszakítás hardver úton történő vezérlésátadás (ugróutasítás) a megszakító rutinra. A megszakítás lépései: • a központi egységhez megszakítás kérelem érkezik • a központi egység egy utasításciklus befejezéséig várakoztatja a megszakítást, illetve addig, míg az adott osztályú megszakítás tiltva van • a megszakítás elfogadása után a központi egység a rendszer (megszakított program)

állapotvektorát a megfelelő verembe elmenti • automatikusan privilegizált állapot jön létre, és legalább az adott osztályú megszakítások tiltása • az adott osztálynak megfelelő megszakítási vektorból a központi egység betölti a megszakító rutin induló állapotvektorát, és a megszakító rutin első utasítására adja a vezérlést • a megszakító rutin ellenőrzi a vagy befejezi az előző program állapotvektorának mentését, majd megállapítja a megszakításkérés okát és a szükséges teendőket és elindítja a megszakítás kiszolgálását • amint a megszakítás feldolgozása túl van a kritikus szakaszon visszaállítja az adott osztály megszakíthatóságát • a megszakítás kiszolgálása után a vezérlés visszakerül valamelyik más programnak, általában az operációs rendszer valamelyik ütemező rutinja • az ütemező dönt a folytatásról, előveszi a folytatandó program elmentett állapotvektorát a veremből, majd

a vezérlést a megszakítást követő utasításra adja. Mit értünk a prioritásos multiprogramozási módszer alatt? Rendszer szintű: az osztott üzemmódú processzorok ütemezése történhet prioritásos algoritmussal. Ez az ütemezés a „SJF” (legrövidebb előnyben) algoritmus általánosítása. A készenléti sorban minden feladathoz egy egész számmal kifejezett, a feladat fontosságát jelző prioritást is tárolunk. A CPU-t minden esetben a legmagasabb prioritású feladat kapja, több ilyen esetén az előbb jöttelőbb fut „FCFS” elv dönt A prioritás belülről, vagy kívülről adható meg A belső prioritást a feladat különböző paramétereiből (időhatárok, SJF, állományok száma, I/O igény, erőforrás igény, stb.) határozza meg a rendszer A külső prioritást a rendszeren kívül álló szempontok alapján adják meg (privilégium, fontosság, stb.) Minden prioritásos ütemezés közös problémája az ún kiéheztetés, ami azt jelenti,

hogy egy kész állapotban lévő folyamat várakozási ideje nem korlátos. A folyamatosan érkező, nagyobb prioritású folyamatok egy alacsony prioritású munkát igen hosszú várakozásra késztethetnek. Ezért bevezették az öregedés fogalmát, mely szerint a prioritási sorban várakozó feladat az idő múlásával egyre magasabb prioritást kap. Amint a feladat sorra került, a prioritás vissza áll az eredeti értékére (VAX VMS IBM/OS2). További finomítása az algoritmusnak a kizárás Ez azt jelenti, hogy ha a várakozási sorban az éppen aktív feladatnál nagyobb prioritású feladat érkezik, akkor az kiszorítja az aktív folyamatot és megkapja a CPU-t. Erre a finomításra feltétlen szükség van, mert csak így biztosítható, hogy többé-kevésbé szabályos időközönként minden felhasználó hozzá jusson a központi egységhez. Mit szabályoznak a hozzáférési jogok? A feladatok által használt adatok védelme érdekében, a szegmensekhez,

lapokhoz való hozzáférési jogokat szabályozza a védelmi rendszer. A leggyakoribb hozzáférési jogok: • Olvasási jog (read access) a tárolóhoz, (laphoz, szegmenshez) forduló feldolgozás tetszőleges adatot kiolvashat az adott területről • Írási jog (write access) a feldolgozás átírhatja a tárolóterület adatait, beírhat új adatokat, törölheti az ott lévő adatokat. • Végrehatási jog (execute access) a feldolgozás a tárolóterületen található kódot elindíthatja; végrehajtási jog csak programot tartalmazó laphoz, vagy szegmenshez rendelhető hozzá, adatszegmenshez nem. Fontosabb félvezető technikák, jellemzőik, hatásuk a számítógépiparra. Fő fejlesztési irányok a félvezető technikában: • integráltsági fok növelése • vonalvastagság csökkentése • szeletátmérő növelése • a technológiai műveletek automatizálása • rendszertechnikai egyszerűsítések • felhasználói igényre készülő áramkörök

kidolgozása • új technológiai eljárások kidolgozása Az integráltsági fok növelésével egyre inkább a szilárd anyagon belüli szerkezet kialakításából áll egy digitális technikai berendezés elektronikai része. Az integrált áramkörök belső felépítése is egyre tökéletesebbé válik, mert nemzetközi versenyt kell minden 73. OLDAL MIKROSZÁMÍTÓGÉPEK SZIGORLAT TÉTELEK 1998. BURJÁN PÉTER áramkörnek kiállnia, a piacok megszerzése érdekében. A technológiai fejlesztések az egyes paraméterek (pl.: gyorsaság ) javítása mellett továbbra is az integráltsági fok növelésére irányulnak. Az integráltsági fok növekedésével javul a megbízhatóság, nő az jobb minőségű készülékek iránti kereslet és így az ár is Az előállítási és üzembehelyezési, és szervizköltségek csökkennek. A fejlesztési és gyártási idő 60-80 %-al csökken Nő az alkalmazhatóság időtartama. A korábban kialakult technológiák és

konstrukciós megoldások felhasználhatók a mikroprocesszorok gyártásához. 74. OLDAL