A mikrovezérlők kialakulásának és fejlődésének rövid története

A fejlődés során az egyik fontos mérföldkő az elektronikus számítógép feltalálása volt. Az ENIAC (Electronic Numerical Integrator And Computer) a Manhattan-terv keretében készült. A gépet a Pennsylvania egyetemen építették, a munkát 1946-ban fejezték be. A munkában oroszlánrészt vállalt Neumann János. Ma is az általa kialakított elven működnek az asztali számítógépek. Olyan előrelátó és humánus volt, hogy elvét sosem engedte szabadalmaztatni. Azért, hogy ezt megakadályozza egy publikációban nyilvánosságra hozta a Neumann-elméletet, ami a szabadalmi védettséget lehetetlenné tette. Az ENIAC 18 ezer elektroncsövet tartalmazott, több mint 100 kW elektromos energiát fogyasztott és 450 m2 helyet foglalt el (több mint 30 m hosszú termet építettek az elhelyezéséhez). A gép tömege 30 tonna volt, megépítése tízmillió dollárba került. Három nagyságrenddel gyorsabb volt, mint a relés számítógépek: az összeadást 0,2 ms, a szorzást 3 ms alatt végezte el. A programja azonban fixen be volt huzalozva a processzorba és csak a villamos csatlakozások átkötésével lehetett megváltoztatni. Az elektroncsövek megbízhatatlansága miatt a gép csak rövid ideig tudott folyamatosan működni. Az ENIAC-ot ballisztikai és szélcsatorna-számításokra használták. Egy trajektória kiszámítása a gépnek 15 másodpercig tartott, ugyanez egy szakképzett embernek asztali kalkulátorral 10 órás munka volt.

A fejlődés következő állomását a W. Schockley, W. H. Brattain és J. Bardeen által Bell laboratóriumában feltalált tranzisztor szolgáltatta. Az tranzisztort 1947-ben fedezték fel és 1948-ban publikálták. A találmány jelentőségét mutatja, hogy 1976-ban Nobel-díjat kaptak a feltalálói. A tranzisztor kis méretével és fogyasztásával, valamint hosszú élettartamával hamar kiszorította az elektroncsöveket. Megjelentek az első telepes, hordozható készülékek. A tranzisztor feltalálásával megjelentek a második generációs számítógépek. A kis méret lehetővé tette a nyomtatott áramkörök kialakítását. Az első nyomtatott áramkör 1958-ban jelent meg. Ez a megoldás kiküszöböli a vezetékes összekötésekből származó hibákat, nagymértékben növelve ezzel az áramkör megbízhatóságát.

Az integrált áramkörök megjelenése továbbvitte ezt a fejlődést. Az integrált áramkörben ugyanis egy hordozó szilícium lapkán egyetlen gyártási folyamatban alakítják ki az alkatrészeket, és az ezeket összekötő vezetőpályákat. Egyes szakemberek az integrált áramkörök feltalálásának jelentőségét a könyvnyomtatáséhoz mérik. A tetszés szerinti darabszámban, több nagyságrenddel olcsóbban és nagyságrendekkel megbízhatóbb minőségben előállítható elemek az élet minden területén nagy változásokat idéztek elő. Az első integrált áramkört 1959-ben készítették, de csak 1962-ben került kereskedelmi forgalomba. Az integrált áramkörök hatalmas fejlődést produkáltak (kezdve) a néhány alkatrészt tartalmazó SSI (Single Scale Integration) áramköröktől a több millió tranzisztort tartalmazó nagymértékben integrált VLSI (Very Large Scale Integration) áramkörökig. Gábor Dénes a nagy integráltsági fokú technológiát a XX. század legfontosabb találmányai között említi.

Ezek az integrált áramkörök vezettek a harmadik generációs számítógépek kialakulásához. A tranzisztorokat kiszorítják az integrált - egyelőre az alacsony és közepes integráltsági fokú - áramkörök. Megváltozik a gépek struktúrája, átalakulnak funkcionális egységei, s kialakul a fejlett, egységes csatornarendszer, amely közvetlen kommunikációs kapcsolatot biztosít az egységek között.

Az 1971-es esztendő fordulatot hoz a számítógépek történetében, az Intel cég piacra dobja az első mikroprocesszort 4004-es néven. Ez a processzor 4 bit széles adatokkal és 8 bit széles utasításokkal dolgozott. Külön adat (1kB) és programmemóriával (4kB) rendelkezett. A 4004 46 utasítást ismert, 2300 tranzisztort tartalmazott és 16 lábú DIP tokba szerelték. 1972-ben kiadták a kibővített változatát 4040 néven. Az utasításkészletét és a memóriáját megnövelték az előzőhöz képest. Még ebben az évben megjelenik az immár 8 bites 8008-as mikroprocesszor.

A Texas Instruments az Intel 4004/4040 processzorát követve kiadja a 4 bites TMS 1000-t. Az 1974-ben megjelent TMS 1000 volt az első mikrovezérlő. Ez egyetlen tokba építve tartalmazott adatmemóriát (RAM), programmemóriát (ROM) és I/O egységet, lehetővé téve a működést külső kiegészítő áramkörök nélkül. A mikrovezérlő tartalmazott egy 4 bites akkumulátort, egy 4 bites Y és egy 2-3 bites X regisztert, amellyel a belső 64, illetve 128 félbájtos RAM-ot lehetett megcímezni, valamint egy 1 bites státuszregisztert. A 6 bites programszámláló kombinálva egy 4 bites lapozó regiszterrel és opcióként 1 bankváltó bittel 1, illetve 2kB-os memória (ROM) címzését tette lehetővé. A szubrutinok, elágazások kezelésére tartalmazott egy 6 bites vermet és egy 4 bites lapozó puffert. Érdekessége a programszámlálónak, hogy nem számláló, hanem egy visszacsatolt léptetőregiszter volt, így az utasítások a memóriában nem egymás után sorban következtek. Utasításkészlete úgy épült fel, hogy tartalmazott tizenkét 8 bites huzalozott (fix), valamit 31 darab 16 bites felhasználó által mikroprogramozott utasítást, amelyet egy PLA valósított meg. A hardveresen huzalozott utasítások végrehajtási ideje 1 gépi ciklus volt, megszakítási lehetőséggel nem rendelkezett.

Szintén 1974-ben jelenik meg a 8008 továbbfejlesztése a 8080-as Intel mikroprocesszor, amely 8 bites adatbuszt és 16 bites címbuszt tartalmazott. A belsejében hét 8 bites regisztert (A-E,H,L), tartalmazott, amelyekből a BC, DE, és HL összekapcsolhatók voltak 16 bitessé. A 16 bites veremmutatóval egy 8 mélységű verembe lehetett elmenteni a visszatérési címeket. A 8080-as processzor volt az első széles körben elterjedt személyi számítógép az Altair 8800-as agya . Az Intel később ezt tovább fejlesztette, és 1976-ban kiadta a 8085-ös processzort. Ebbe beépítettek két új utasítást, amellyel a három szintén új fejlesztésként megjelent megszakítási vonalat lehetett tiltani vagy engedélyezni, valamint kapott soros vonali kivezetéseket is. A hardver is egyszerűsödött, az új processzor már csak egyetlen +5 V-os tápfeszültséget igényelt.

A Zilog cég 1976-ban kiadja, a sokáig nagy népszerűségnek örvendő Z-80-as processzort, ami a 8080-as továbbfejlesztésének tekinthető (volt Intel mérnökök tervezték). A Z80-as 8 bites adatbusszal és 16 bites címbusszal rendelkezett és tudta futtatni a 8080as összes utasítását, amelyet kibővítettek 80 új utasítással (1, 4, 8 és 16 bites műveletek, páros című blokkmozgató és I/O utasítások). A regisztertömböt két bankra osztva megduplázták, amely növelte a sebességet. A Z-80-ba beépítettek két indexregisztert (IX, IY), valamint kétszintű megszakítási rendszert kapott. Az eredeti Z-80 órajelfrekvenciája 2,5 MHz volt a Z80-H típusé 8MHz, a CMOS verzióé (Z80-C) pedig 10 MHz.

Nem sokkal a 8080 kiadása után 1975-ben a Motorola bemutatta 6800-as processzorát. Néhány Motorola tervező kilépve a cégtől a MOS Technologies-nél kezdett el dolgozni (később a Commodore megvásárolta), és itt jött létre a 650x sorozat. Ebbe a sorozatba tartozott a 6501 (lábkompatibilis a 6800-as processzorral) és a 6502 (a korai Commodore, Apple és Atari gépekben használták). A 6800-as változatai közül a 6510-et a Commodore 64-ben, a 6507-et pedig az Atari 2600-ban alkalmazták. A 650x sorozat az úgynevezett little endian technikát használta (a cím alsó bájtját hozzá lehetett adni az indexregiszterhez, miközben a felső bájtot lehívtuk), utasításkészlete teljesen eltért a 6800-tól. Az ára mintegy negyede volt a 6800-hoz képest (kevesebb, mint 1000 dollár). Ez az alacsony ár tette lehetővé, hogy a korai személyi számítógépek processzorává váljon. 1977-ben a Motorola jelentősen továbbfejlesztette a 680x-es sorozatot, és kiadta a 6809-es processzort. A 6809-es két 8 bites akkumulátort (A és B) tartalmazott, amit lehetett egyetlen 16 bites regiszterként (D) használni. A processzor két indexregisztert (X, Y) és két veremmutatót (S, U) tartalmazott, amivel nagyon sokrétű címzési módot lehetett megvalósítani. A 6809 64kB memória kezelésére volt alkalmas. További jellegzetessége, hogy ez volt az első 16 bites aritmetika, ami tartalmazott szorzó utasítást.

Az Advanced Micro Devices (AMD) is színre lép az Am2901-es processzorával. Ez egy úgynevezett bitszelet mikroprocesszor, ami azt jelenti, hogy felépítése moduláris: tetszőleges szélességű (nx4bit általában) ALU építhető, tetszőleges utasításkészlet alakítható ki. Az Am2901 4-es bitszelet processzor volt 16 regiszterrel és 4 bites ALU-val. A vezérlése mikroprogramozott volt, a belső ROM-ból olvasódtak ki az egyes utasítások végrehajtásának lépései. Később az Am2903 már hardveres szorzót is tartalmazott. Az AMD alkotta meg elsőként a lebegőpontos műveletek elvégzésére alkalmas matematikai társprocesszort. Az AMD9511 1979-ben készült el. 32 bites lebegőpontos műveleteket tudott végezni. A 16 bites ALU képes volt összeadásra, kivonásra, szorzásra, osztásra, szinusz és koszinuszt számolására, műveletvégzési sebessége minden akkori processzornál nagyobb volt.

1977-ben az Intel is elkészíti a maga mikrovezérlőjét, a 8048-at, ami alacsony árával és kis méretével igen jó ötletnek számított. Az adatmemória a tokon belül volt kialakítva, a programmemóriát viszont kívülről kellett csatlakoztatni (Harvard-architektúra volt, bár a program és az adat ugyanazt a címvonalat használta). A 8048-at felváltotta a 8051 és a 8052, amely már beépített programmemóriát (ROM) tartalmazott. A 8051-es már rugalmas, két bájt széles utasításkészletet tartalmazott 8 bit széles regiszterekkel és akkumulátorral. Az adatmemória 128 bájtos volt, amit direkt vagy indirekt regiszteres címzéssel lehetett elérni. Ezen kívül felette tartalmazott még egy 128 bájtos részt, amit a 8052-nél csak indirekt lehetett elérni (veremként használták). Külső memóriát a 8048-hoz hasonlóan el lehet érni közvetlenül (256 bájtos lapokban az I/O portokon keresztül), vagy a 16 bites DPTR címregiszterrel. A közvetlenül elérhető adatterület feletti 32 hely bitenként címezhető. Az adat és a programmemória azonos címterületen osztozik (a címvezetékek is, ha külső programmemóriát alkalmazunk). Habár komplikált ez a memóriaszervezés, mégis rugalmas beágyazott tervezést enged meg. Népszerűségét bizonyítja, hogy 1988-ig több mint 1 billiót adtak el belőle.

A PIC mikrovezérlők gyökere a Harvard egyetemre (Harvard-architektúra) nyúlik vissza, a Védelmi Minisztérium projektjének keretében készült. A Harvard-architektúrát először a Signetics 8x300-ban használták, majd a General Instruments adaptálta és a periféria illesztő vezérlőiben (peripheral interface controller, azaz PIC) alkalmazta. A gyártás később (1985) az arizoniai Microchip Technology-hoz került, s a PIC lett a cég fő gyártmánya. A PIC mikrovezérlők típusválasztéka mára igen széles lett: PIC10x, PIC12x, PIC14x, PIC16x, PIC18x, PIC24x. Ezekben a sorozatokban szinte minden alkalmazásra találhatunk megfelelő mikrovezérlőt. A 12-es sorozat például nagyon egyszerű mikrovezérlő, 6 I/O lábat, 25-128 regisztert, és egy beépített 8 bites számláló/időzítő modult tartalmazott. A 18-as sorozat pedig 16-70 I/O lábat, 256-3936 regisztert, több 8/16 bites számláló/időzítőt, számos perifériát: A/D átalakító, címezhető szinkron/aszinkron soros port, SPI és I2C busz, összehasonlító/kiolvasó/PWM modul, analóg komparátor, stb. tartalmaz. A Microchip nagyon jó kézikönyveket és alkalmazási leírásokat bocsát a felhasználók számára (ezek természetesen angol nyelvűek). A fejlesztéseket mindig úgy végzi, hogy előtte kikéri a felhasználók véleményeit, s ennek alapján készül el a következő generációs PIC. Ezen mikrovezérlők ára nagyon kedvező, 500-2500 Ft között mozog, a tanulók otthoni felhasználásra is megvásárolhatják nagyobb anyagi ráfordítás nélkül. A Microchip a programfejlesztéshez szükséges MPLAB programot ingyen biztosítja a felhasználóknak.