INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
1. INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRlŐK Bizonyára sokakban felmerül az kérdés, hogy mi az oka annak a szédületes informatikai fejlődésnek ami jelenleg a világra jellemző. Először két sokkoló dátum:
nem elegendő. Ezért a szokások szerint, a 9-nél nagyobb, 10…15 értékű számjegyeket az ABC első hat betűjét használjuk fel: A=10, B=11, C=12, D=13, E=14, F=15 megfeleltetéssel. Vagyis a hexadecimális A szám az 10-et jelent decimálisan, és így tovább… Például a 2A1F hexadecimális szám értéke decimálisan:
2 A1FH = 2 A1F16 = 2 ⋅ 163 + 10 ⋅ 162 + 1 ⋅ 161 + 15 ⋅ 160 = 8192 + 2560 + 16 + 15 = 1078310
1981:
Az első IBM PC megjelenése — Csak 19 év!
A kettes számrendszer használatát az indokolja, hogy az információ ábrázolásánál és feldolgozásánál kétállapotú jelekkel dolgozunk, aminek használata és értelmezése nehezebb a tízes számrendszerhez szokott emberi agy számára.
1981-töl:
A számítógépek részt vesznek az újabb számítógép generációk létrehozásában — Evolúció?! (…TERMINATOR I. II….)
A bináris számoknál sokkal hosszabb számsorozatokat kell leírnunk egy adott szám ábrázolásakor, és még könnyű az egymás után következő nullák és egyesek sorrendjét eltéveszteni.
1971:
Az első mikroprocesszor megjelenése — Csak 29 év!
A számítógépek ott vannak mindenütt. El tudnánk képzelni ezek nélkül ma az életünket? Már nem. A számítógép megjelenése úgyszólván minden korábbi technikát, technológiát átalakított. " Ez a szédületes fejlődés egyeseket lenyűgöz, másokat megrémít, de egy biztos, az emberiség többsége tisztában sincs a dolog jelentőségével és veszélyével. Nem is tudják, hogy milyen mértékben beépült életükbe a technika. Ma már a kenyérpirító is processzoros áramkört tartalmaz. A naphosszat számítógép előtt dolgozó milliók többsége sem gondolta még végig, képes lenne-e a munkáját mechanikus írógéppel írni, akár több példányban újra és újra, vagy papír-ceruza módszerrel fejben számolni. Nagy valószínűséggel nem….Mindezt csak azért írtam le, hogy akik a soron következő fejezetek hatására kapnak kedvet a mikroprocesszoros áramkörök fejlesztéséhez, egy nagyon fontos gondolatot mindig tartsanak szem előtt: az a célunk, hogy egy jobb világot hagyjunk hátra az utókornak és nem pedig az, hogy egy önműködő, emberektől mentes világot. " (Lamár Krisztián)
A tizenhatos számrendszer használata (bár ez is bonyolultabb mint a tízes…) erre a problémára ad megoldást. Ugyanis egy bináris szám négy helyiértéke megfelel egy hexadecimális szám egy helyiértékének. TIZES 16-OS 2-ES Az átalakításkor a bináris számot a 20 helyiértéktől kezdődően négyes 0 0 0000 csoportokra (tetrádokra) bontjuk. Az így képződött bináris számnégyeseket, 1 1 0001 a hexadecimális megfelelőjükkel helyettesítve megkapjuk a szám 2 2 0010 hexadecimális alakját. Például: 3 3 0011 1010111011110011B=1010 1110 1111 0011 =AEF3H Természetesen az átalakítás visszafelé is elvégezhető: F12AH=1111 0001 0010 1010 = 1111000100101010B
1.1 SZÁMRENDSZEREK Sajnálatos módon egy kis matematikával kell kezdenünk a könyvet. Előszőr a tízes (decimális), kettes (bináris) és a tizenhatos (hexadecimális) számrendszereket foglaljuk össze nagyon röviden, ami a továbbiakban leírtak megértéséhez szükséges. A számok szokásos írásmódja: A ≡ (± a − m a − m +1a − m + 2a −1a0 , a1a2a n )
Vagyis a hexadecimális számábrázolással sokkal tömörebben tudunk bináris információt leírni, és a bináris-hexadecimális átalakítás nagyon egyszerű a mellékelt táblázat alapján. A következő táblázatban összefoglaltuk az eddig leírtakat:
4 5 6 7 8 9 10 11 12 13 14 15
4 5 6 7 8 9 A B C D E F
0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
ahol a− m , a− m +1 ,, a−1 , a0 , , an az egyes helyiértékeken szereplő számjegyek alaki értékei. Ha a számrendszer, amelyben a fenti jelsorozatot értelmezzük, alapszáma r (radix), akkor a leírt jelsorozat a következő számértéket jelenti:
A =±
n
∑ ai r − i
0 ≤ ai < r
és ahol
i =− m
A digitális technikában a leggyakrabban a kettes, tízes és tizenhatos alapszámú számrendszereket használják. Azt hogy egy leírt számérték milyen számrendszerben van leírva szokták a szám után írt B (kettes) D (tízes) és H (hexadecimális) betűkkel megkülönböztetni. Tízes számrendszerben például a 7346-os szám értékét a számjegyek és a hozzájuk tartozó helyiértékek (ezek a radix (itt a 10) hatványai) szorzatának összege adja:
734610 = 7 ⋅103 + 3 ⋅102 + 4 ⋅101 + 6 ⋅ 100 = 7000 + 300 + 40 + 6 = 734610 =7346D Kettes számrendszerben a radix=2, igy csak két számjegy a 0 és 1 van, és a helyiértékek 2 hatványai.
10110B= 101102 = 1⋅ 24 + 0 ⋅ 23 + 1 ⋅ 22 + 1⋅ 21 + 0 ⋅ 20 = 16 + 0 + 4 + 2 + 0 = 2210 =22D Természetesen a törtszámok is ábrázolhatók a kettes számrendszerben:
1.01112 = 1⋅ 2 0 + 0 ⋅ 2 −1 + 1⋅ 2 −2 + 1⋅ 2 −3 + 1⋅ 2 −4 = 1 + 0 + 1/ 4 + 1/ 8 + 1/ 16 = 1.437510 Hexadecimális számok ábrázolásához 16 számjegy szükséges, a tízes számrendszer tíz számjegye -1-
1.1.1 A BCD-KÓD Azt az eljárást, amikor egy bítcsoporthoz valamilyen információ egységet rendelünk, kódolásnak nevezzük A kettes számrendszer szerinti ábrázolás elsősorban akkor előnyös, ha aritmetikai műveleteket kívánunk végezni a számokkal, mivel a számok belső ábrázolása bináris.. Ilyenkor azonban a
Decimális számjegy 0 1 2 3 4 5 6 7 8 9
-2-
BCD kód
Gray kód
Aiken kód
Stibitz kód
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
0000 0001 0011 0010 0110 0111 0101 0100 1100 1101
0000 0001 0010 0011 0100 1011 1100 1101 1110 1111
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
2 az 5-ből kód 11000 00011 00101 00110 01001 01010 01100 10001 10010 10100
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
szokásos tízes számrendszerbeli megjelenítés előtt a bináris számokat vissza kell alakítani, kijelezhető decimális alakban.
1.2.1 SZÁMOK ÁBRÁZOLÁSA
Ezért célszerű olyan kódrend-szereket használni, ahol a tízes számrendszerbeli számok szám-jegyeit egyenként konvertáljuk át az alkalmazott bináris kódba.
A számok ábrázolásánál három alapvető ábrázolási mód terjedt el:
Mivel a tízes számrendszerben tízféle számjegyet használunk, ezek ábrázolásához legkevesebb 4 bit(=1 tetrád) szükséges. A leg-gyakrabban használt kódrendszerek bináris kódszavai láthatók a táblázatban. Ezek közül a BCD kód használata a legelterjedtebb. Az ábrázolandó számokat számjegyenként kódoljuk, így végzünk velük műveleteket, (amelyek természetesen bonyolultabbak, mintha bináris számokkal végeznénk), de az eredmények megjelenítése sokkal egyszerűbb lesz. Példaként a 2659 decimális szám BCD kódú ábrázolása látható.
2659
10
0 0 1 0 0 1 1 0
0 1 0 1 1 0 0 1
1.2 AZ INFORMÁCIÓ ÁBRÁZOLÁSA Az információ feldolgozása, tárolása egymástól jól megkülönböztethető két állapotú fizikai jellemzőket felhasználó eszközök segítségével történik. Ilyen fizikai jellemzők: • • • • • •
egy vezetéken áram folyik vagy nem, egy áramkör adott pontján kicsi (low=L) (pl. 0 Volt) vagy nagy (high=H) (+5Volt) feszültség van, egy kondenzátor töltött vagy nem (dinamikus RAM memóriák) egy adott helyen lévő kis mágnesezhető anyag mágnesessége Észak-Déli, vagy a fordított Dél-Északi (floppi- és merevlemezeknél, mágnesszalagoknál) egy adott ponton egy fénysugár át tud haladni vagy nem (lyukszalag, lyukkártya) egy adott pontra irányított lézer fénysugár visszaverődik, vagy nem (CD, DVD-ROM)
Ezeket a fizikai jellemzőket megfelelő elektronikus eszközökkel egymásba könnyen át tudjuk alakítani: például a floppy meghajtó kimenetén a belső, mágnesesen tárolt információ kétállapotú (TTL szintű) jelfolyamként jelenik meg. Ezért általában a gyakorlatban a fizikai jellemzők helyett a két állapotot az 1 és 0 (vagy H (High) L (Low)) szimbólumokkal jelöljük. Ezt az elemi információ egységet bit-nek hívjuk, és két értéke: 0 vagy 1 lehet. Ha ilyen bitekből csoportokat alkotunk, akkor összetetebb információ kezelésére, tárolására is lehetőség nyílik. Azt az eljárást, amikor egy bítcsoporthoz valamilyen információ egységet rendelünk, kódolásnak nevezzük. Mivel az információ feldolgozás sokszor számításokat igényel, az egyik legkézenfekvőbb kódolás, mikor a bitcsoportot bináris számként értelmezzük, kódoljuk. Például az 1101 bitcsoport -- az első fejezetben már leírtak alapján a 8+4+1=13 tizes számrendszerbeli (decimális) számot jelentheti. Természetesen számok mellett szöveges információkkal is találkozunk, ezért a szöveg betűit (karaktereit) is bitcsoportokkal ábrázoljuk (kódoljuk).
• fixpontos ábrázolás • lebegőpontos ábrázolás • BCD alakban történő ábrázolás
1.2.1.1 Fixpontos számábrázolás A fixpontos számábrázolásnál, ahogy azt az elnevezés is mutatja, a bináris pont egy rögzített helyen található. Ha csak egész számokat ábrázolunk, a bináris pont a szám ábrázolására lefoglalt terület jobb szélén, vagyis a legértéktelenebb bit után helyezkedik el. Ebből következik, hogy az így ábrázolt számok törtrészt nem tartalmazhatnak. Az ábrázolási tartományt, vagyis a pozitív és negatív tartományban ábrázolható maximális érték nagyságát a szám tárolására használt terület hossza-vagyis a bitek száma--határozza meg. Egész típusú számokat--az alkalmazásuk jellegétől, az adatok értékkészletétől függően--két alapvető típusba sorolhatjuk: • előjel nélküli, abszolút-értékes ábrázolás • előjeles ábrázolás Előjel nélküli ábrázolást akkor alkalmazunk, ha pl. csak pozitív értékekkel dolgozunk és biztosított, hogy a teljes algoritmus alatt negatív szám nem fordulhat elő. Mivel ebben az esetben az előjel tárolására nem kell egy bitet "feláldozni", a rendelkezésre álló bitek mindegyike az adat tárolására használható fel. A maximálisan tárolható érték az ábrázolásra szánt bitek számából egyszerűen számolható: maximális érték=2^N-1, ahol N a bitek száma. • • • •
egy bájt esetén 0-255 két bájt esetén 0-65535 három bájt esetén 0-16 777 215 négy bájt esetén 0-4 294 967 295
tartományba eső egész számokat ábrázolhatunk. Előjeles ábrázolást akkor alkalmazunk, ha nemcsak pozitív, hanem negatív számokat is ábrázolnunk (tárolnunk) kell. Ekkor két különbözô mód közül választhatunk: • előjeles abszolút-értékes ábrázolás • kettes komplemens-kódú ábrázolás Előjeles abszolút-értékes ábrázolásnál a rendelkezésre álló bitek közül egyet, a legmagasabb helyértéküt, az adatbitektől elkülönítjük. Ezen bit értéke határozza meg az elôjelet, ami: 1-es érték esetén a szám előjele negatív 0-ás érték esetén a szám előjele pozitív
Fontos! Sem a bitcsoport hossza, sem benne lévő bitek sorrendje önmagában nem határozza meg azt, hogy mit kódoltunk, azaz csak a hozzárendelés (a kódolás) ismeretében tudjuk az információt értelmezni!
A maximális ábrázolható érték mindkét tartományban =2^(N-1) -1, ahol N a bitek száma. Ebből következik, hogy például a két bájtos előjeles abszolút-értékes ábrázolás esetén az ábrázolható egész számok a -32767...+32767 tartományba esnek.
Bár a bitcsoportban lévő bitek száma elvileg tetszőleges lehet, a gyakorlatban a 4 (félbájt=nibble) illetve 8 bites (bájt) csoportok (illetve a bájt többszörösének) használata terjedt el.
Példaként ábrázoljuk két bájton előjeles abszolút-értékes számábrázolással:
A következőkben a két legfontosabb adatforma a numerikus adatok (számok), illetve szöveges adatok (a karakterek) kódolását tekintjük át röviden. -3-
a) a decimális +29647-et. 1. A 29647 decimális érték binárisan=111001111001111 2. Az előjelet figyelembe véve és két bájtra kiegészítve: 0111001111001111 -4-
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
b) A decimális -5748-at. 1. Az 5748 decimális érték binárisan=1011001110100 2. Az előjelet figyelembe véve és két bájtra kiegészítve:10010110011110100 A kettes komplemens kódú ábrázolás azt jelenti, hogy pozitív szám esetén a szám abszolút értékét kifejező bináris számjegyek úgy töltik ki a bitpozíciókat, mintha a képzeletbeli bináris pont az ábrázolásra fenntartott bitpozíciók után következne. A bináris szám értékes jegyeit megelőző összes pozícióba nulla kerül. Így automatikusan a legmagasabb--az előjelet tartalmazó--pozícióba is nulla kerül, amely ennél az ábrázolási módnál a pozitív előjelet jelenti. Két bájton ábrázolható legnagyobb pozitív szám ezek szerint: 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1=32767 Negatív szám tárolása esetén, első lépesként a szám abszolút értékét, mint egy pozitív számot az előbb leírtak szerint ábrázoljuk. Ezután ezt a számot bitenként invertáljuk, vagyis minden pozíción a bit értékét ellentétjére változtatjuk. Legvégül az így kapott értékhez 1-et binárisan hozzáadunk, és így megkapjuk az eredeti szám kettes komplemensét. A két bájton ábrázolható legnagyobb negatív szám: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0=-32768 Ha egy kettes komplemens kódban ábrázolt számot értelmezni akarunk, akkor a bináris alak legmagasabb bitpozíciójában lévő érték egyrészt megadja a szám előjelét, másrészt megszabja a visszaalakítás módját is. • •
tartalmazzon és a törtrész első nullától különböző számjegye közvetlenül a tizedespont mögött áll. Ebből a felírási módból nyilvánvalóan adódik, hogy két értéket kell tárolni, az M mantisszát és a K karakterisztikát. Mivel a számítógép bináris ábrázolási rendszeréhez közelebb állnak kettő hatványai mint a tízé, ezért a számrendszer, és így az ábrázolás alapjául általában kettőt, vagy a tizenhatot szokták választani. A lebegőpontos alakban tárolt számokkal műveleteket végző aritmetikai rutinok meglehetősen bonyolultak, ezért assembler programokban történő alkalmazásuk úgy célszerű, ha van lebegőpontos rutinokat tartalmazó programcsomagunk. A programunkba beszerkesztve, az operandusok megadása után meghívjuk a megfelelő aritmetikai rutint. A rutin végrehajtása után az eredmény rendelkezésre áll és felhasználható.
1.2.1.3 BCD alakú számábrázolás Erről már az első fejezetben is írtunk. Ez a számábrázolási mód elvileg tetszőleges pontosságú számábrázolást tesz lehetővé. A szám minden egyes számjegyét--annak bináris megfelelőjével helyettesítve--4 biten tároljuk. A tizedespont helye osztja ketté a számot egésszé és törtté. Ilyen módon ábrázolt számok összeadását és kivonását megkönnyíti a több mikrokontroller utasításkészletében szereplő DAA utasítás, de az előnyök egy része elveszik a lassan és bonyolultan végrehajtható szorzásnál és osztásnál. A legnagyobb előnye, hogy nagyon egyszerűen alakítható át megjeleníthető formára.
1.2.2 KARAKTEREK ÁBRÁZOLÁSA - AZ ASCII KÓDRENDSZER
Amennyiben az előjel bit nulla, akkor a szám azonos a bináris értékével. Ha a legmagasabb helyiértéken lévő bit értéke 1, akkor először a bitenkénti invertálást, majd az 1 bináris hozzáadását kell elvégezni. Az így kapott számot már pozitív számként, a szokásos módon alakítható vissza, de az eredmény negatív előjelet kap!
A karakterek kódolásánál csaknem kizárólag az amerikai hadsereg által 1953-ban kifejlesztett, majd szabványosított ASCCI kódolást használják. Az ASCII rövidítés az American Standard Code for Information Interchange (=Amerikai szabványos kód az információ kölcsönös cseréjére) kifejezés rövidítése. Az ilyen módon kódolt bitcsoportokat ASCII karaktereknek nevezzük.
Az egész típusú előjeles számok kettes komplemens kódban történő ábrázolásának előnye, hogy így a kivonás visszavezethető az előjelbittel együtt elvégzett összeadásra, és műveletvégzés közben nem kell az előjelbitet külön kezelni.
Az ASCII karakterkészlet 128 darab, hét bites, különböző kódot tartalmaz, amelyik mindegyike egy egyedi karaktert reprezentál.
Példaként határozzuk meg a következő, kettes komplemens kódban ábrázolt számot: 1111101010100010 Mivel az előjelbit 1, ezért a szám negatív lesz. Első lépésként végezzük el az invertálást: 0000010101011101 Adjunk a számhoz 1-et:
Ez érthető is, mert ha az angol ABC-t tekintjük, annak 26 kis, 26 nagybetűje, az írásjelek (vessző, kérdőjel, stb.) valamint a 10 szám együttesen már több mint 64 különféle karaktert jelent, aminek kódolásához már 7 bit szükséges. Az ANSI szabvány az ASCII karakterkészlet definiálásakor a kódokat két fő csoportba osztotta: grafikus karakterek és vezérlő karakterek csoportjába.
0000010101011110 azaz decimálisan és az előjelet figyelembe a szám decimális alakban véve: -1374
1.2.1.2 Lebegőpontos számábrázolás A fixpontos egész ábrázolási mód két jelentős hátrányát--az aránylag szűk ábrázolási tartományt, és a törtrész hiányát--a lebegőpontos számábrázolási mód küszöböli ki. Az ábrázolás alapgondolata az, hogy bármely "A" szám felírható exponenciális alakban, egy együttható és egy hatvány szorzataként:
A=M*10K ,
Természetesen felmerülhet a kérdés, hogy miért 7, és nem 8 bites kódot választottak, hiszen ekkor 256 különféle kód volna lehetséges (és ez a bájtos tárolási módhoz is illeszkedne). Az ASCII kód ANSI X3.4-1977-es szabványának függelékében szerepel az a megállapítás, hogy minimum 7 bit a legtöbb felhasználásban elegendő.
ahol M - az együttható (Mantissza); K - a hatvány kitevője, (Karakterisztika)
Az így felírt számot normál alakra hozzuk, vagyis úgy átalakítjuk, hogy a mantissza csak törtrészt -5-
•
Grafikus karakterek esetén a megjeleníthető, látható, nyomtatható karaktereket értjük, míg a vezérlő karakterek, a megjelenítés vezérlésére, formájának kialakítására, valamint az információcsere vezérlésére szolgálnak.
•
A vezérlőkaraktereket három kategóriába soroljuk: — információcsere vezérlők, — formátumot befolyásolók és információ elkülönítők. Az első 32 karakter, és az utolsó DEL karakter tartozik ezekbe a kategóriákba. •
Információcsere vezérlő karakterre példa a 04H kódú EOT karakter, amit annak a jelzésére használnak, hogy a karakterek átvitele befejeződött és ez a kód jelöli, hogy nincs több átviendő karakter.
•
Formátum befolyásoló karakterekkel lehet a karaktersorozat megjelenési formáját befolyásolni. Például az LF Line Feed (Soremelés) karakter hatására a karakterek megjelenítése az adott pozícióban, de új sorban folytatódik. Pl. az A,B,C,D,LF,E,F -6-
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
karaktersorozat az
ASCII kódtábla, vezérlőkódok jelentése
ABCD EF formában jelenik meg. •
Az információ elkülönítő karakterek az információ logikai értelemben való elkülönítésére szolgálnak. Ilyen módon lehetséges különböző hosszúságú karaktersorozatok — rekordok — átvitele. Ha például három különböző hosszúságú rekordot akarunk átvinni, akkor a rekordokat a Rekord Separator (RS) (kód: 1EH) karakterrel lehet egymástól elválasztani. A vezérlőkarakterek némelyike a fentiek egyikébe sem sorolható be, ezeket általános vezérlőkaraktereknek nevezzü az
Ahogy a felsorolásból is látható volt, az ASCII vezérlő karakterek alapvetően a karakter orientált átviteli eljárások kialakításának támogatását végzik. Ilyen GRAFIKUS VEZÉRLŐ ("LÁTHATÓ") szempontból az ASCII karakterkód KARAKTEREK KARAKTEREK készletet egy adatátviteli (kommunikációs) KOMMUNIKÁCIÓ FORMÁTUM INFORMÁCIÓ kódnak is nevezhetjük. ÁLTALÁNOS VEZÉRLÉS VEZÉRLŐK SZÉTVÁLASZTÓK AZ ASCII kódrendszer kialakítása abban NUL,SOH,STX,ETX BS,HT,LF,VT FS,GS,RS,US BEL,SO,SI,DC1-4 az időszakban történt meg, amikor még az EOT,ENQ,ACK,DLE FF,CR CAN,EM,SUB,ESC NAK,SYN,ETB DC1=XON adatmegjelenítő perifériák csaknem DC3=XOFF kizárólag mechanikus működésűek voltak (teletype, telex, géptávíró). Ezért a kódrendszerből hiányoznak azok a vezérlő kódok, amelyek a már csaknem kizárólagosan használt képernyő orientált rendszerekben használatosak: a kurzormozgató, képernyőtörlő, stb. funkciókhoz rendelt kódok. Mivel ezekről a szabvány nem rendelkezik, ezért bizonyos inkompatibilitás van az egyes megjelenítők között, hogy konkréten melyik vezérlőkaraktereket rendelték hozzá az adott funkcióhoz. ASCII KÓDOK
A PC-k megjelenésekor az IBM által hozzáadott 1 bites kiterjesztéssel újabb 128 karakter használatát szabványosította, amely kódrendszer Latin1 néven ismert. Ez tartalmazza számos európai nyelv — pl. francia, német spanyol, stb. — speciális nemzeti karaktereit, valamint a görög ABC betűit, táblázatrajzoló karaktereket is. Mivel a PC-ben a vezérlőkódok egy részére már nem volt szükség, ezért ezeket látható karakterekkel (mosolygó, szomorú arc, kőr, treff stb.) helyettesítették. A PC-k elterjedésével indokolttá vált számos más nemzeti karakterek kódtáblába vétele, amely a 8 bitből adódó maximum 256 kódba nem fért be. A megoldás: a kódtáblák (kódlapok) bevezetése. A 8 bites kódot két részre osztották: ha a legfelső bit nulla (ez a kódtábla alsó 128 karaktere) akkor a szabványos ASCII kódot jelenti, míg ha a legfelső bit 1 (ez a felső 128 karakter) akkor kódtábla szerinti kódolást jelenti. Ez azt jelentette, hogy egy kód megjelenítéskor azt is tudni kellett, hogy milyen kódtábla szerint született az eredeti szöveg. Például a 437-es kódtábla az eredeti amerikai kódolást jelenti, míg például a 852-es kódlap alsó 128 karaktere ASCII kód, míg a felső 128 karakter kódolja a középeurópai (köztük a magyar) nemzeti betűjeleket. Hogy még összetettebb legyen a karakterábrázolás, a Windows megjelenésével - annak grafikus felülete miatt pl. táblázatrajzoló karakterekre nem volt szükség - újabb kódlapokat definiáltak, ami megbonyolította a DOS alatti és a Windows alatti szövegek kölcsönös megjelenítését. A részletek mellőzésével: a DOS-ban, illetve a Windows-ban írt magyar karaktereket tartalmazó szöveg akkor jelenik meg helyesen a szöveg, ha a DOS-ban a 852-es kódlapot, és a magyar Widowsot (itt kódlap: 1252) használjuk. A következő oldalon az ASCII kódtábla, és az első 32 vezérlő karakter jelentése látható.
-7-
DEC 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
HEX 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
KAR NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SP ! " # $ % & Ś ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
DEC 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
HEX 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
KAR @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ Ś a b c d e f g h i j k l m n o p q r s t u v w x y z
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SP DEL
NULL Character Start of Heading Start of Text End of Text End of Transmission Enquiry Acknowledge Bell Backspace Horizontal Tabulation Line Feed Vertical Tabulation Form Feed Carriage Return Shift Out Shift In Data Link Escape Device Control 1 Device Control 2 Device Control 3 Device Control 4 Negative Acknowledge Synchronous Idle End of Transm. Block Cancel End of Medium Substitute Escape File Separator Group Separator Record Separator Unit Separator Space Delete
Null (semmi) fejléc kezdete szöveg kezdete szöveg vége adás vége kérés elfogadás, nyugtázás hangjelzés visszaléptetés vízszintes tabuláció soremelés függőleges tabuláció lapdobás kocsi-vissza kódváltás kód visszaváltás adat átkapcsolás általános vez.jel (XON) általános vezérlőjel általán. vez.jel (XOFF ) általános vezérlőjel negatív nyugtázás szinkronizáló jel egy blokk adás vége érvénytelenítés inform. hordozó vége helyettesítés átkapcsolás fájl elválasztó csoport elválasztó rekord elválasztó egység elválasztó szóköz törlés
DEL
1.3 INFORMÁCIÓ FELDOLGOZÁS Az egész gyors fejlődés oka az, hogy nagyon sok emberi tevékenység a következő módon modellezhető: vannak bizonyos bemenő jellemzőink (adataink), ezeket egy algoritmus alapján feldolgozzuk, hogy megkapjuk a kimeneti eredményt. Tessék példaként a főzési tevékenyégre gondolni: a bemenő adat a nyersanyagok fajtája, mennyissége, egy feldolgozással (a főzéssel) hozzuk létre a főtt ételt, egy készítési módszer (a szakácskönyvben lé-vő algoritmus alap-ján. Általánosan tekintve így működik egy automata mosó-8-
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
gép, vagy akár egy cirkálórakéta is. A mikroprocesszoros rendszerek két állapotú digitális áramkörökből épülnek fel, így a be- és kimenőjeleik is digitális jelek. A rendszer központi eleme a mikroprocesszor, amely utasításokat értelmez, és ezeket az utasításokat a memóriából--vagy más néven--a tárból kiolvassa. A rendszernek a külső környezethez való kapcsolatát a be- és kimeneti egység biztosítja. Az így felépített rendszert mikroszámítógépnek, vagy röviden mikrogépnek nevezzük.
KÖRNYEZET (KÜLVILÁG) memória (tároló)
beviteli
központi
kiviteli
eszközök
egység
eszközök
BEMENETI
+
& Ci
V 01 V02
V 03
A
V04
A
B
V 03
&
&
V 04
V1 0 0 1 1
&
V0 0 1 0 1
MŰVELET NEM B A VAGY B A ÉS B A + B
AKTIV V01 V02 V03 V04
V 1 V 0
V 1
A
B
1-bites ALU
MŰVELETI KÓD + OPERANDUSOK
-9-
C
+
1
Ha az utasításokat egymás után akarjuk végrehajtani, akkor egy memóriából kell sorban egymás után ezeket kiolvasni, és az ALU segítségével feldolgozni. Ennek végrehajtását a vezérlő egység-nek nevezett elem (CU=Control Unit) végzi. A működésének megértéséhez nézzük a következő ábrát: Az utasítások, és az adatok a memóriában vannak. A vezérlés maga néhány regiszter segítségével valósul meg:
& & 1=ENG
KAPUZÁS
A
B
TELJES ÖSSZEADÓ S=A+B+D A B D S C
D
Q
CLOCK
D
Q
CLOCK
D
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 1 1 0 1 0 0 1
0 0 0 1 0 1 1 1
Q
CLOCK BEIRÓJEL
TÁROLÓSOR=REGISZTER
+
&
B
V02
V0
UTASITÁS =
1
&
Vezérlő logika
V01 &
1
D
&
C i -1
&
Ci
+
&
&
&
S
BITEK
&
Aritmetikai S műveletvégző 1
KIMENETI
&
1 L
&
BITEK
S
&
Ha valaki ezt megértette, akkor már "mindent tud", hiszen a bonyolultság már csak részletkérdés: 8 ilyen egységet összekapcsolva, egy bájton végezzük a műveleteket el, ha bonyolultabb áramköröket és több bites műveleti kódot használunk, akkor összetettebb műveleteket: eltolást, forgatást, akár szorzást is el tudunk végezni, de természetesen ilyenkor az utasítások végrehajtása több lépésben több órajel-ütem alatt zajlik, de az itt közölt alapelv változatlan marad !
1.4 MIKROPROCESSZOR MŰKÖDÉSE
A bináris adatok tárolása flip-flopokból kialakított tárolóregiszterekkel oldható meg. A regiszter bemenetén lévő információ ( ami lényegében egy adott pillanatban egy feszültségszint) a közösített órajel bemenet aktivizálására beíródik, tárolódik és a D tárolók kimenetén megjelenik. Az adatok áramlása, elágaztatása, megfelelő helyre juttatása ÉS kapuk segítségével megvalósítható. A kapurendszer kimenetén akkor jelenik meg a bemeneti információ, ha a közös kapuzó-jelre H szintet kapcsolunk.
&
FONTOS !!! KIMENET
BEMENET
A következőkben azt mutatjuk meg, hogy az előző fejezetben ismertetett digitális alap áramkörökkel egy ilyen információ feldolgozása megvalósítható. A program lényegében utasítások sorozatos végrehajtását jelenti. Ezek az utasítások részben az adatokon végzett aritmetikai-logikai műveletek, részben az adatok megfelelő helyen ( (a tárban) történő eltárolását és a tárból való, a műveletekhez történő betöltést végző adatmozgatási műveletek egymás utánja. Ezeket a tevékenységeket kapuáram-körökkel és flip-flopokkal valósíthatjuk meg.
Logikai műveletvégző
műveletekben résztvevő elemekből az operandusokból, amivel a műveletet elvégezzük. A V0 és V1 műveleti kód variációk a dekódoló valamelyik kimenetét H-ba állítja, engedélyezve a megfelelő logikai vagy aritmetikai művelet elvégzését (pl. az 11 műveleti kód az A és B bitek összegének képzését teszi lehetővé a már megismert teljes összeadó V04 vezérlőjellel történő engedélyezésével.)
C i -1
Az aritmetikai-logikai műveletek is megoldhatók kapuáramkörökkel. A kapuk önállóan képesek logikai műveletek elvégzésére, és a teljes összeadó is felépíthető kapuáramkörökből. Az ábrán ott látható az igazságtáblája: a három bemenő adat az összeadandó A és B jelű bitek, valamint az előző helyiérték összeadásánál D képzett átvitel bit. A kimenő adat az S jelű összeg, és az összeadásnál képződött C átvitel bit. Ezekből az elemekből már kialakítható egy egyszerű, négy alapműveletet végrehajtó aritmetikai-logikai egység. (ALU = Arithmetic Logical Unit) Az ábrán látható az egység vázlata. Egy utasítás áll a műveletet azonosító kódból, és a
Programszámláló (PC) A programszámláló mindig annak az utasításnak a címét tartalmazza, amit a mikroprocesszornak majd a tárból le kell hívnia. Utasítás regiszter (IR) Amikor a mikroprocesszor egy utasítást hív le a tárolóból, az utasításnak megfelelő bináris kód az utasítás regiszterbe kerül. Az utasítás-dekódoló egység ezt feldogozva állítja elő az utasítás tényleges végrehajtásához szükséges logikai vezérlőjeleket. A tároló adatmutató címregisztere (DC) Ez a regiszter tárolja annak az adatnak a címét, amelyet a CPU kiolvas vagy beír a memóriába. A címbuszra a címek két forrásból kerülhetnek: a programszámlálóból és a tároló cím regiszterből. A kiválasztást a multiplexer végzi, ahogy ezt a 8.2 ábrán összefoglaltuk. Akkumulátor (AC) Az aritmetikai-logikai egységben lévő akkumulátor regiszter a legtöbb műveletben résztvevő, kitüntetett szerepű regiszter. Az utasítások nagy része kapcsolódik ehhez a regiszterhez. Általános segédregiszterek. Ezeket a regisztereket a CPU műveleteihez szükséges adatok átmeneti - 10 -
!
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
tárolása használják. Minél nagyobb ezek száma, annál kevesebbet kell a CPU-nak a külső memóriához fordulni, azaz a mikroprocesszor teljesítményét növeli.
lehívás, utasítás végrehajtás. Minden ilyen utasítás ciklus több egy vagy több órajel hatására hajtódik végre, ezek a gépi ciklusok.
Státuszregiszter. A státuszregiszter bitjei tartalmazzák a CPU által végrehajtott műveletekre vonatkozó információkat. Flag (e.:fleg)-eknek, vagy magyarosan jelzőbiteknek is nevezzük, és mindegyik valamilyen speciális mikroprocesszor állapotot jelez. A legfontosabbak: az átvitel bit (ha egy összeadás eredménye 9 bites akkor ezt az átvitel (=carry) bit 1 értéke jelzi), az eredmény negatív voltát jelző bit, stb.
Ha az ALU és CU egységeket a kiegé-szítő áramköreikkel egy tokba integráljuk, akkor beszélünk MIKROPROCESSZORRÓL.
A regiszterek közül a legfontosabb a PC amit szoktunk utasítás mutatónak is hívni: ennek tartalma mondja meg, hogy melyik a memóriából kiolvasandó utasítás címe. A kiolvasott utasítás a feldolgozáshoz az IR nevű utasítás regiszterbe kerül. Az adat kiolvasásához az adatcímet a PC-hez hasonló módon a DC adatmutató regiszter tartalmazza. Hogyan is működik ez az egész? Először a PC-be be kell tölteni az elsőnek végrehajtandó utasítás címét. (pl. a mindent alaphelyzetbe hozó RESET folyamat ezt a regisztert nullázza - így az első utasításnak a nulla című tároló helyen kell lennie.) Ez a cím kijutva a memóriát címző vonalakra, a címdekódoló segítségével kiválasztja az utasítást tartalmazó regisztert és a tartalmát a memória adatvezetékein keresztül az IR utasításregiszterbe írja. Ezzel megtörtént a memóriában lévő utasítás lehívása, és megkezdődhet a végrehajtása. Mint tudjuk, egy utasítás bináris formában tartalmazza a műveleti kódot, és az operandust (illetve a tényleges operandus memóriabeli címét). Ha az utasításban ténylegesen egy adat van operandusként, akkor a művelet azonnal végrehajtható az ALU segítségével. Ha az utasítás adatrésze a tényleges adat címét tartalmazza, akkor ismét a memóriához kell fordulni: a DC regiszterbe be kell tölteni ezt a címet, és megcímezve a memóriát a tényleges adatot olvassuk ki, és az ALU-ba juttatva elvégezzük a műveletet, és megnöveljük a PC értékét eggyel, hogy a következőleg végrehajtandó utasításra mutasson. Mivel egy művelet általában két operandust igényel, ezért az ALU-ban egy kitüntetett regisztert (AC) használunk, ami mindig tartalmazza az egyik az operandust, és a művelet eredménye is ott képződik. A kitüntetett regiszter neve akkumulátor (AC vagy ACC vagy csak egyszerűen A) vagy a PIC-eknél working regiszter (W). Az egy-operandusos műveletek legtöbbje az akkumulátorra vonatkozik. A mikroprocesszor által végrehajtható utasítások halmazának, az utasításkészlet-nek jelentős része kapcsolódik az ALU-hoz, tulajdonképpen annak funkcionális működését írja le. A műveletek eredményére utaló ún. státuszbitek (túlcsordulás, az eredmény nulla, stb.) egy külön regiszterbe, a státuszregiszterbe kerülnek. Ha például a memóriában lévő két számot akarunk összeadni, akkor először egy adatmozgató utasítással kiolvassuk a memóriából az adatot az akkumulátorba, majd utána a másik operandus címét felhasználva, kiolvassuk a memóriából az operandust és végrehajtjuk a művelet. Mi van akkor, ha az utasítás ugró utasítás? Ilyenkor az utasítás operandusa azt a címet tartalmazza, amit az utasításmutató regiszterbe kell tölteni, hogy az utasítások végrehajtását arról a címről folytassuk. Vagyis az utasítás végrehajtásakor az operandus-részt a PC-be töltjük. A memóriában az adatok és az utasításra jellemző kódok azonos alakban--bináris formában vannak eltárolva. De, ha ez az alakok azonosak, honnan tudja a mikroprocesszor hogy adott esetben az adat egy utasításkód, vagy ténylegesen egy adat? A magyarázat nagyon egyszerű: az értelmezés, illetve a sorrend dönti el. A mikroprocesszor mikor utasítást hajt végre, feltételezi hogy a memóriából kiolvasott érték egy utasításkód. A programozónak kell biztosítania, hogy a memóriában az utasítások és adatok sorrendje megfelelő legyen.
Az hogy egy utasítás végrehajtása több lépésből áll, a következő az ábrán követhető példán mutatjuk be. Legyen a kiolvasott és dekódolt utasítás az akkumulátor (A) tartalmának bitenkénti invertálása (komplementálása). A lépések: (ld. ábra!) 1. 2. 3. 4. 5.
A tartalmát a belső buszra kapuzzuk, Kinyitjuk a komplementáló regiszter belső buszra csatlakozó bemeneti kapuját, A belső busz tartalmát a regiszterbe írjuk, Elvégezzük a komplementálást, Kinyitjuk a komplementáló regiszter belső buszra csatlakozó kimeneti kapuját, így a komplementált érték a belső buszra kerül, 6. Az A regiszter belső buszra csatlakozó bemeneti kapuját kinyitva, a komplemetált érték az A regiszterbe kerül. Látható, hogy az utasítás végrehajtása a kapukat engedélyező, és a regiszterekbe író vezérlőjelek megfelelő sorrendű és időzítésű kiadását igényli. Azt, hogy egy utasítás végrehajtása milyen vezérlőjelek milyen sorrendű kiadását igényli, eltárolhatjuk egy ún. mikroprogram tárban. Ez olyan mikroutasítás szavakból áll amelynek annyi bitje van, ahány vezérlési pont. Egy utasítás dekódolása meghatározza az utasításhoz tartozó mikroprogram elsőnek végrehajtandó utasítását (vagyis a vezérlési pontok gerjesztését.) Az utasításhoz tartozó mikroprogram lefutását az órajel ütemezi. Úgy is elképzelhetjük, hogy a központi egység utasításainak végrehajtását egy másik, a vezérlési pontok gerjesztését vezérlő egység végzi. (Számítógép a számítógépben….) Mivel igen sok gyakran használt utasítás olyan egyszerű, hogy mikroprogram nélkül, "behuzalozva" is megvalósítható, a mikroprocesszor tervezőknek két alapvető lehetősége van: 1. Bonyolult utasításkészlet kialakítása mikroprogramozás segítségével, 2. Egyszerű utasításkészlet kialakítása, behuzalozva, hardveresen, mikroprogram nélkül, gyorsan, a bonyolultabb műveleteket kis, az egyszerűbb utasításokkal megírt programrészletekkel végrehajtva. Az első megoldást alkalmazó processzorok, a CISC-ek (Complex Instruction Set Computer = Összetett utasításkészletű processzor) míg a második megoldást a RISC-ek (Reduced Instruction Set Computer = Egyszerűsített utasításkészletű processzor) alkalmazzák. Például a bináris szorzás, ami eltolások és összeadások sorozata, megvalósítható programmal: egy olyan mikroprocesszorral, amelyik tud eltolni és összeadni, vagy a hardverben realizálva mikroprogram segítségével.
Az utasítás végrehajtásakor utasításciklusokat hajtunk végre: pl. utasítás lehívás, dekódolás, adat - 11 -
- 12 -
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
INFORMÁCIÓ FELDOLGOZÁS, MIKROVEZÉRLŐK
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
ÖSSZEFOGLALÓ A MÉRÉSEKHEZ
1.5 MIKROSZÁMÍTÓGÉPEK, MIKROKONTROLLEREK Mikroszámítógép-nek vagy mikrogép-nek integrált áramkörökből felépített programot végrehajtani tudó rendszert nevezzük. A mikroprocesszor típusától függetlenül egy mikrogépnek a következő főbb részekkel kell rendelkeznie: •
a központi egység (ez a mikroprocesszor). A mikroprocesszor a mikrogép központi egysége. Az eredeti angol elnevezése alapján szokták CPU-nak is mondani. Jellemzői alapvetően meghatározzák a teljes mikrogép működését. Funkcióit a következőképpen foglalhatjuk össze: 1. 2. 3. 4.
A mikrogép minden eleme számára biztosítja az időzítő és vezérlőjeleket. Elvégzi az adatok és utasítások tárból/ba való mozgatását. Dekódolja és végrehajtja az utasításokat. Irányítja a be/kimeneti egységekkel kapcsolatos adatforgalmat.
•
a programtár és adattár (ez a memória, ami lehet közös (pl. PC-nél), vagy különálló), az egyikben a működtető program, a másikban a program működése során létrejövő, vagy a külvilág felől érkező adatok vannak tárolva,
•
a be és kiviteli egység, (Input/Output, röviden I/O, vagy Be/Ki egység) (ezek neve: periféria) amely a külvilággal tartja a kapcsolatot,
•
az egységek közötti információ- és adatáramlást biztosító vonalak. Ez a kommunikáció az ún. sín-eken vagy más néven busz vonalakon keresztül valósul meg. Mi is az a sín? A sín azonos funkciójú vezetékek csoportja. Erre a vezetékkötegre minden egység párhuza-mosan kapcsolódik azért, hogy egymáshoz információt tudjon továbbítani. Például a mikroprocesszor, a memória valamint a be- és kimeneti áramkörök, az egymás (és a külvilág) közötti adatcsere érdekében ugyanarra a nyolc vezetékre kapcsolódnak, és ez az adatsín.
A vezérlőbusz vezetékein adja ki a mikroprocesszor az elvégzendő műveletre vonatkozó információt-például hogy a megcímzett egységre adatot küld. A legtöbb mikroprocesszor típus még azt is megkülönbözteti (egy másik vezérlőjellel), hogy a tárral vagy a be-kimeneti egységgel kíván kommunikálni. Ez utóbbi megkülönböztetés a processzor oldaláról nem indokolt, hiszen akár memória, akár I/O egység, mindig regisz-tereket használunk. Úgy is mondhatjuk, hogy az I/O regiszterek olyan speciális memória re-giszterek, amelyek egyik oldala a külvilághoz kapcsolódik. Amikor memóriacímzéssel érjük el az ilyen regisztereket, akkor beszélünk memóriába ágyazott (=mem-ory mapped) I/O rend-szerről. A mikroprocesszor időzítő és vezérlő jelei biztosítják a CPU és a többi rendszerelem összehangolt működését. Ezek be- és kimeneti jelek lehetnek. Foglaljuk össze a legfontosabbakat: • • •
RESET: bemenet; Mivel a mikroprocesszor egy bonyolult, tárolókat is tartalmazó logikai hálózat, ezért biztosítani kell alaphelyzetét. A jel aktív szintje végzi el ezt az alaphelyzetbe állítást. MEMR/MEMW: kimenet; Ez a vonal jelzi, hogy a CPU olvasási(R), vagy írási műveletet akar végrehajtani a memóriával. IOR/IOW: kimenet; Ez a vonal jelzi, hogy a CPU olvasási (R), vagy írási műveletet (W) akar végrehajtani az I/O egységgel. - 13 -
•
IORQ: kimenet; Ez a jel jelzi, hogy be/kimeneti egységhez való fordulás van folyamatban.
A kommunikáció módjától függően a buszokon történő jeláramlás lehet egyirányú: ilyen például a címsín, hiszen a címek a processzortól erednek, és a sin ezeket a memóriához, valamint a be és kimeneti egységhez juttatja el. Lehet kétirányú: ilyen az adatbusz, hiszen biztosítania kell az adatok mindkét irányba történő (a processzorból és a processzorba) áramlását. A mikroszámítógépek fejlődésére a méretek csökkentése a CSALÁDELV: CPU AZONOS, jellemző. Kezdetben az egyes funkcionális egységeket, a CPU-t, ADAT ÉS PROGRAM MEMÓRIA MÉRETE PERIFÉRIÁK SZÁMA memóriát, I/O-t külön nyomtatott áramköri kártyákon, FAJTÁJA KÜLÖNBÖZIK kártyamodulként alakították ki. Később az integrálási technika fejlődése lehetővé tette az összes egység egy kártyára történő elhelyezését. Ilyen például a PC alaplapja. Ezeket hívjuk egykártyás mikrogépeknek vagy SBC-nek. (SBC=Single Board Computer). Az integrálási technika további fejődése lehetővé tette, hogy egy mikroszámítógép minden részegységét egy lapkára integráljanak: ezek az egytokos mikroszámítógépek, másnéven mikro-kontrollerek, vagy magyarul mikrovezérlők. Azért hogy különféle feladatoknak meg tudjon felelni egy mikrokontroller, ezeket a családelv alapján különböző kialakításban gyártják.
1.6 ELLENŐRZŐ KÉRDÉSEK 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Mi az a radix? Miért használunk 16-os (hexadecimális) számrendszert? Mi az előnye? Alakítsuk át a 10-es számrendszerbeli 5468-as számot hexadecimálissá és binárissá! Alakítsuk át az 11101110100001 bináris számot hexadecimálissá és decimálissá! Miért előnyös a BCD kódolás?Mi a kódolás? Ismertesse a számok három alapvető ábrázolási módját! Mi az a kettes komplemens, és miért használjuk? Mutassa be az ASCII kódrendszert! Hogyan csoportosítható? Mutassa be az információ feldolgozás általános modelljét! Mi az a mikroszámítógép? Milyen alapvető digitális áramkörökből épül fel egy számítógép? Mi az az utasítás, és milyen részekből áll? Hogyan működik a mikroprocesszor? Mik azok a PC, IR, DC, AC, státusz regiszterek? Mi az utasítás-utasításciklus-ütem közötti kapcsolat? Mi az utasításkészlet? Mit jelent a mikroprogramozott utasítás végrehajtás? Jellemezze a CISC és RISC processzorokat! Milyen részekből áll egy mikroszámítógép. és mi az egyes részek feladata? Mi a mikrokontroller, és mi a családelv lényege?
- 14 -