1.1. Általános áttekintés A “mesterséges intelligencia” megjelenésének az alapja a számítógép első működő eszköz az ENIAC számítógép volt amit a Manhattan-terv keretében fejlesztették ki 1946-ban. A memóriakezelő felülete von Neuman struktúrájú volt. Ennek a berendezésnek a mai asztali gépekhez képest nagy volt a mérete, nagyság rendekkel többet fogyasztott a számítási kapacitása pedig sokkal kisebb volt. De a a fejlődés meghozta a magáét ma a mikrovezérlők/processzorok műveleti kapacitása akár milliárdos nagyság renddel is nagyobb lehet. Az első számítógép műveleti felülete fix huzalozással rendelkezett adott feladat elvégzésére, nem volt flexibilis ma a mikrovezérlők/processzorok program futtatása és választása flexibilis. A flexibilitást a belső RAM memória valamint a gyors Flash háttérmemória biztosítja. Az ENIAC számítógépben több ezer elektroncső végezte a számítási munkát, mivel nagy volt a hőtermelés rövid ideig tudott működni. Ma egy mikrovezérlő/processzor több millió tranzisztort integrál magába.
ENIAC számítógép A tranzisztor után az integrált áramkörök megjelenése határozta meg az információs technológiafejlődést, az integrált áramkörök vezettek a harmadik generációs számítógépek kialakulásához. Az 1971-ben 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övetkező évben piacra dobja a 8 bites 8008-as mikroprocesszort. Ez a pillanat alapjában megváltoztatja a digitális technikafejlődést a VLSI technológiával együtt.
Intel 4004 mikrovezérlő A Texas Instruments TMS 1000 jelzésű eszköze volt az első mikrovezérlő, az 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. Úgy is reklámozták, mint az első egy csipes számítógép. Ugyan abban az évben jelenik meg az Intel 8080 mikroprocesszora. Az első széles körben alkalmazott személyi számítógép az Altair 8800A, ennek a gépnek az agya 8080-as processzor volt.
Nagy változást hoz a 1975-ben a Motorola processzora a 6800 jelzésű. Ennek a processzornak a különböző változatai egész sor további nagyon népszerű kis számítógép alapja volt, mint a Commodore, Apple, Atari stb). Nagy előre lépés volt, amikor ebben a családban megjelent a hardware szorzó is. További kardinális lépést az AMD, 1979-ben megjelent AMD9511 mikroprocesszor jelentette amelyik, 32 bites lebegőpontos műveletet végez. A mikroprocesszorba épített 16 bites ALU mellett hardware szorzó is volt beépítve, a DSP processzorok megjelenéséíg a legnagyobb numerikus műveleti kapacitással bírt. Az Intel 1977ben teszi piacra a 8048 mikrovezérlőt. Az általános felhasználású kontrolerek piacán, az első ipari standardot képviselő szerkezet az ún C51 amit az Intel MCS-51 (általában jelölt 8051). Ez a kontroller harward architekturával rendelkezik, valamint magába foglal egy sor szerkezeti elemet mint a CPU, RAM, ROM, I/O, interrupt logika, timer stb egy csomagolásban http://en.wikipedia.org/wiki/Intel_MCS-51. Ezt a szerkezetet ma is sok gyártó nagy számban gyártja és a legnagyobb számban eladott mikrovezérlő. Ezt a szerkezetet ma integrálják FPGA és ASICs magokba is. Későbbiekben a mikrovezérlők piacán sok gyártó egész széles spektrumban gyártott mikrovezérlőket. Lényeges változások a műveleti sebesség növekedés és az adat bit szélesség, így mind szélesseb lett a 16 és 32 bites mikrovezérlők/processzorok piaca. Magyar nyelvű részletes mikrovezérlő fejlődés történetet mutat be valamint különböző szemszögből
osztályozza ezeket az eszközöket a http://oldweb.mit.bme.hu/projects/aha/01_Scherer.pdf prezentáció. A jegyzet 5.-dik fejezetében kitérünk a 32 bites mikrovezérlőkre.
Egy tipikus mikroprocesszor/controller gyártó gyártmány palletája Az első DSP processzorként deklarált processzor a Texas Instruments TMS5100 processzora volt ami 1976-ban jelent meg a piacon http://en.wikipedia.org/wiki/Digital_signal_processor. Egész sor változata jelent meg ezeknek a processzoroknak különböző gyártóktól de lényegi áttörés ezen a piacon, 1983-ban történt, amikor megjelentek a Texas Instruments TMS32010, valamint a Motorolla 56000 DSP processzorai. Innen a valósidejű digitális feldolgozás mind szélesebb körbe került előtérbe.
Az ábrákon látható műveletek valós idejű megvalósítására lett optimalizálva a DSP processzor A digitális jelfeldolgozó processzorok architektúrája, az utasításkészlet kialakításának filozófiája alapvetően eltér az általános célú mikroprocesszorokétól. A DSP processzorokat különböző DSP algoritmusok valósidejű (real-time) megvalósítására kívánjuk felhasználni, ezért a végrehajtandó utasítássorozatnak el kell férnie egy adott „időrésben”. Részletesebb áttekintés található a jegyzet 6.-dik és 7.-dik fejezetében. Mind nagyobb szerep jut az ARM mikrovezérlőknek/processzoroknak a piacon. Részletes informáló leírás található az ARM eszközök fejlődésről, valamint a felhasználásukról a következő honlapon: http://en.wikipedia.org/wiki/ARM_processor.
Az első ARM processzor és integrálása beágyazott környezetbe Az 1980-as években Apple Computer és VLSI Technology az Acorn-nal új ARM magok fejlesztéséhez és megalapítottak egy új céget a 90-es évek elején, az új vállalt neve Advanced RISC Machines Ltd, rövidítve ARM Ltd mint anyavállalat, ARM Holdings Azóta nagy volt fejlődés, a 2011 év végén bevezették az ARMv8-t, ahol az első alapvető változást vitték be az ARM architektúrába, létrehozva a 64 bites szerkezetet. Jelőlése 'AArch64' és teljesen új 'A64' parancs család is tartozik hozzá, de magába foglalja a 32 bites architektura jellemzőit is. Következő táblázat áttekinti az ARM szerkezeteket és családokat. Architecture
Family
ARMv1
ARM1
ARMv2
ARM2, ARM3
ARMv3
ARM6, ARM7
ARMv4
StrongARM, ARM7TDMI, ARM9TDMI
ARMv5
ARM7EJ, ARM9E, ARM10E, XScale
ARMv6
ARM11, ARM Cortex-M
ARMv7
ARM Cortex-A, ARM Cortex-M, ARM Cortex-R
ARMv8
Még nem érhető el a 64 bites szerkezet
Az ARM architekturával rendelkező össz mag listáját meg lehet találni a következő címen: http://en.wikipedia.org/wiki/List_of_ARM_microprocessor_cores. Ez a lista elég terebélyes és sok információt hordoz és nagyon széles választási lehetőséget biztosít a felhasználónak. Az ARM architektúra egy 32 bites RISC processzor architektúra, amit széleskörűen alkalmaznak számos „beágyazott” rendszerekben. Alacsony fogyasztásának köszönhetően az ARM processzorok dominánsak a mobil elektronikus piacon. Az ARM Holding nem gyártja a CPU áramköröket, aminek az alapja az ő fejlesztésük, hanem inkább licenszelik a processzor architektúrát az érdeklődő gyártóknak. ARM biztosít különböző
licensz lehetőségeket, amelyeket különböző áron és tartalommal forgalmaz. Minden licenszhez biztosít egy teljes hardware leírását és teljes software fejlesztési segédletet. A licensz dijjal a licensz jog átszáll a szilíciumba épített ARM CPU-ra. Valószínű az ARM magok közül a legismertebb az ARM7. Mindegyik szerkezet ebből a családból von Neumann architektúrával rendelkezik. Ez a közkedvelt processzor mobil és kis fogyasztású eszközökhöz lett tervezve, ami alkalmas 130 MIPS teljesítményre. Az ARM Cortex-M a 32 bites ARM processzorok csoportja, ami szintén az ARM holding licensz védelme alatt van. A processzor mag hozzá van igazítva mikrokontroller alkalmazáshoz. Ehhez a családhoz tartoznak: Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4 architektúrák. ARM Cortex-M utasítás szerkezet áttekintés http://en.wikipedia.org/wiki/ARM_Cortex-M ARM Cortex-M
Thumb Thumb-2
Hardware Hardware Saturated DSP Floating ARM Multiply Divide Math Extensions Point Architecture
Cortex-M0 Most
Subset 1 or 32 cycle
No
No
No
No
ARMv6-M
Cortex-M0+ Most
Subset 1 or 32 cycle
No
No
No
No
ARMv6-M
Cortex-M1 Most
Subset 3 or 33 cycle
No
No
No
No
ARMv6-M
Cortex-M3 Entire
Entire
1 cycle
Yes
Yes
No
No
ARMv7-M
Cortex-M4 Entire
Entire
1 cycle
Yes
Yes
Yes
Optional ARMv7E-M
Az ARM szerkezet alkalmas nagyszámú különböző beágyazott és valósidejű operációs rendszerek fogadására. A tipikusan alkalmazott operációs rendszerek: Windows CE, .NET Micro Framework, Symbian, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus PLUS, MicroC/OS-II, QNX, RTEMS, CoOS, BRTOS, RTXC Quadros, ThreadX, Unison Operating System, uTasker, VxWorks, MQX és OSE. A végén a fogalomzavar elkerülése véget idézném a következő oldalakat: http://www.mimi.hu/informatika/mikroprocesszor.html A mikroprocesszor a mikroszámítógép központi egysége. Az az egység, amely az adatokkal elvégzi a program utasításai által előírt műveleteket. http://wiki.ham.hu/index.php/Mikrovez%C3%A9rl%C5%91 „A mikrovezérlő egy olyan integrált áramkör, amely a processzorhoz hasonlóan egymás utáni utasítás végrehajtásra lett tervezve, azonban az integrált áramköri lapka magába foglalja a programmemóriát, az adatmemóriát és az intelligens perifériák közül sokfélét (RS232, SPI, I2C, CAN, LIN, A/D, D/A, PWM, USB, Ethernet). A mikrovezérlő tulajdonképp egy kis teljesítményű, olcsó egycsipes számítógép.”