PROPELLER EGY FORRADALMIAN ÚJ MIKROVEZÉRLŐ
|
|
- Péter Fülöp
- 9 évvel ezelőtt
- Látták:
Átírás
1 Bevezetés PROPELLER EGY FORRADALMIAN ÚJ MIKROVEZÉRLŐ Dr. Kónya László szeptember A számítástechnika egyik fő célja a programokat futtató mikroprocesszorok teljesítményének a fokozása. Ennek vannak magától értetődő megoldásai, amelyek egyszerűen biztosítják a teljesítménynövelést: Az egyik megoldás a mikroprocesszorok órajel sebességének a növelése, amely egyenesen arányos a másodpercenkénti utasítások számával. (Az első PC INTEL 8086-os mikroprocesszorának az órajele csak 4.77 MHz volt és ma ez kb 3Ghz, ez 630-szoros növekedés!) A másik viszonylag egyszerű gyorsítási megoldás az egy időben kezelt bitek számának a növelése: 8/16/32/64 bites processzorok alkalmazása. A harmadik lehetőség már összetett és szerteágazó: szervezési elvek, az utasítások bonyolultságának a növelése: verseny az egyszerű de gyorsan végrehajtható utasításkészlet alkalmazása és a bonyolult, de ezért lassabb utasításvégrehajtás alkalmazása között. A programok általában párhuzamosan, egyszerre is futtatható részekből, más néven taszkokból állnak. A taszkok párhuzamos időbeli futtatásának megvalósítására két módszer kínálkozik: A taszkok végrehajtását időben egymás után, rövid kis időszeletekben végezzük. Ilyenkor összesen egy processzor végzi a taszkok futtatását. A hatékonysága a módszernek nem a legjobb, hiszen minden taszkváltáskor az éppen futó taszk futási környezetét el kell menteni azért, hogy majd később a taszk futását ismét folytatni tudjuk, és hasonlóan, a futtatni kívánt taszk, az előzőekben elmentett futási környezetét pedig vissza kell tölteni a tovább futtatásához. Vagyis a processzor vagy éppen egy taszkváltással kapcsolatos mentés-visszatöltés tevékenységét végzi, vagy éppen az aktuális taszkot futtatja. Mivel a taszkváltás kezelése a programvégrehajtás szempontjából nem hasznos tevékenység, ezért a processzor programvégrehajtási teljesítményét ez csökkenti. A látszólagos kiút a végrehajtási sebessé növelésével, és a taszkváltás hardver támogatása volt. A hatékonyabb megoldás több központ egység használata, amelyek mindegyike egyegy taszkot futtat valóban egyidőben, párhuzamosan. Ilyenkor a taszkváltással kapcsolatos adminisztráció elmarad, és a végrehajtási teljesítmény jelentősen megtöbbszöröződhet az adminisztáció hiánya és az egyidőben történő párhuzamos futtatás következtében. Ezt a technológiát a személyi számítógépek világában a többmagos mikroprocesszorok elterjedése jelzi. MI A PROPELLER? A Propeller chip felépítése az 1. ábrán látható. Nyolc processzor működik benne, és az együttes működésüket egy központi ütemező irányítja olyan módon, hogy a központi részhez való hozzáférési lehetőség folyamatosan körbeforog pontosan úgy, mint egy repülőgép propellere. Innen az elnevezés. A Propeller Chip (röviden Propeller) egy olyan mikrovezérlő, amely nyolc teljesen egyforma, önállóan működő, a futtatott programot saját RAM-jában tároló 32 bites utasításkészletű mikroprocesszort (továbbiakban ezek neve: COG) tartalmaz. Ezek szokásos jelölése: COG0 COG7. A processzorok egymástól teljesen függetlenül működnek, és a programjuk futása során saját és megosztott erőforrásokat használnak. Saját erőforrás az, amit a COG más COG-tól függetlenül használ: ez a saját processzor, a 2 kbájtos saját RAM (továbbiakban: COGRAM), és a két számláló egység. A megosztott erőforrásoknak két típusa van: Közösen használt erőforrások. A közös erőforrások azok, melyekhez bármikor, bármenyi COG hozzáférhet. Ilyen közösen használt erőforrások az I/O lábak és a rendszerszámláló (CNT). Kölcsönösen, egymást kizáróan használt erőforrások. A kölcsönösen egymást kizáró erőforrások azok, amelyekhez szintén bármelyik COG hozzáférhet, de egy időben kizárólag egyszerre csak egy. Ilyen a Propellerben egy közösen használt, úgynevezett rendszermemória (a továbbiakban: SYSMEM) is található, aminek mérete 64 kbájt. Ez két részre oszlik: 32 kbájtos írható/olvasható RAM memóriára (SYSRAM), illetve egy szintén 32 kbájt méretű, előre programokkal, és táblázatokkal feltöltött csak olvasható ROM memóriára (a továbbiakban: SYSROM). HUB ÉS A COG-OK 1. ábra PROPELLER felépítése A propeller nyolc processzort tartalmaz, amit COG-oknak (kogoknak) hívunk, és 0-tól 7-ig számozzuk. Minden COG felépítése, amely 2. ábrán látható, egyforma: processzor blokk, 2 kbájt 512*32bit-es egységnek tekinthető RAM (COGRAM), két I/O egységből, amit egy PLL frekvenciaszorzó áramkör egészít ki, video generátorból, kimeneti I/O regiszterből, és azok irányát beállító 2. ábra COG felépítése
2 I/O irányregiszterből, és egyéb rendszerregiszterekből. Ezek egy 16 duplaszavas regisztertömbben helyezkednek el, aminek neve: Speciális célú regiszterek (SPR=Special Purpose Registers). Minden COG-ot a rendszer órajel működtet, így szinkronban működnek, de természetesen mindegyik a saját programját futtatja. A megosztott, kölcsönösen egymást kizáró erőforrások kizárólagos elérését, egy közös rendszerbuszt vezérlő egység végzi, aminek a neve a továbbiakban: HUB. Ezt a felépítést a 3. ábra mutatja be. FEJLESZTÉS, PROGRAMOZÁS A Propeller programok fejlesztésére jelenleg két lehetőség van: 3. ábra HUB+ÓRAJEL Propeller assembler (PRASM) segítségével készítjük el, a gépi kódú, COG-okban futtatandó utasítás sorozatot (a programot). Egy kifejlesztett magas szintű nyelven, aminek a neve: SPIN írjuk meg programunkat. Ezt a Propeller fejlesztő környezetében lévő program, a COG-ban futó, SPIN-értelmező által feldolgozható tokenek sorozatává alakítja hasonlóan a BASIC interpreterhez -, és ezeket a SYSRAM-ban letöltött tokeneket fogja az említett COG-ban futó SPIN-értelmező gépi kódú utasításokká alakítani, és a COG CPU-jával végrehajtatni. 4. ábra Foglaljuk össze a továbbiak megértését nagymértékben segítő fogalmakat, és a tok műszaki jellemzőit (4. ábra): COG: 32 bites processzor saját COGRAM-al, és perifériákkal. COGRAM: itt helyezkedik el a COG által futatott program kódja és adatai. I/O lábak: 32 I/O vonal. Rendszerszámláló (CNT): egy 32 bites, minden rendszerórajelkor 1-el növekvő számláló. Rendszer memória: (SYSMEM) 64 kbájt a programok tárolásához, és a működéshez. SYSRAM: 32 kbájt, a későbbiekben a COGRAM-okba betöltendő programok, adatok tárolására. SYSROM: 32 kbájt, előre elkészített, és a tokba beírt programok és táblázatok tárolására HUB: Ez a vezérlő a COG-ok SYSRAM és SYSROM elérésének biztosítására, de egymást kizáró módon. Propeller assembler Szokásos assembler a COG-ok programozásához (PRASM) SPIN nyelv Egy interpreter a COG-ok magas szintű nyelven történő programozásához PROPELLER ÁRAMKÖRI KIALAKÍTÁSA Indulásként a 5. ábrán látható egy kapcsolás amiben a PC vagy EEPROM tölthet programot a Propeller Chip-be. A PC-vel való soros kapcsolat vagy hagyományos módon, vagy egy USB-TTL soros átalakítón keresztül is megvalósulhat. Amint a rajzon is látható a minimális fejlesztő környezet nagyom kevés áramköri elemet tartalmaz: magát a Propeller tokot, a működtetéséhez nem feltétlenül szükséges kristályt, egy soros vonali illesztő áramkört, amely a hagyományos soros csatlakozás helyett lehet a korszerűbb USB-soros átalakítós megoldás. Egy külső EEPROM-ot a progrmok tárolára. Ez az 5. ábra Propeller fejlesztő áramköri elrendezés áramkör már alkalmas fejlesztési célokra, amihez az ingyenes fejlesztő programot (a neve: Propeller Tool) a oldalról tölthetjük le Ugyanitt találjuk meg a Propeller Programozási Kézikönyvét is. (6.ábra) PROPELLER INDULÁSA, LEÁLLÁSA Bekapcsolás, vagy RESET után: A Propeller belső RC oszcillátora hozzávetőleg 12 MHz-en kezd rezegni, majd 50 msec-os késleltetés után az első processzorba (COG0) betöltődik és lefut a SYSROM-ban található Boot Loader program. 6. ábra Propeller források A Boot Loader a következőket hajtja végre: Megvizsgálja, hogy P30 és P31-es lábon működő soros adatátvitel a PC irányába létezik-e. Ha igen, akkor a Boot Loader elküldi a PC-n futó Propeller Tool (PROPTOOL) programnak Propeller Chip azonosítóját, és ez után a PROPTOOL betölti a programot a SYSRAM-ba, valamint, ha úgy van megadva, akkor a SYSRAM-ba letöltött 32 K programot átmásolja az I2C busz felhasználásával a külső 32 KBos EEPROMBA is. Ha nincs soros kommunikáció, a P28 és P29-es lábon működő I2C kommunikációval megvizsgálja a külső EEPROM-ot és ennek eredménye sikeres, akkor annak a teljes 32 KBos tartalmát betölti a Propeller SYSRAM-jába. Ha nem sikeres az EEPROM vizsgálat, a Boot Loader leáll, a Cog0 befejezi a működését és az összes I/O láb bemeneti irányra vált. Ha az előző lépések sikeresen betöltötték a programot a SYSRAM-ba és nem kapott felfüggesztő parancsot a PC felől, akkor a COG0 újratöltődik a Spin Interpreter-rel, és az elkezdi futtatni (értelmezni) a SYSRAM-ban lévő felhasználói programot. A fejlesztés megkönnyítésre számos megírt, korlátozás nélkül felhasználható program modul készült már el. Ezek párhuzamos futásukhoz egyenként egy COG-ot használnak fel. Egy rövid felsorolás: Beviteli eszközök: PC billentyű, billentyűzet mátrix, egér, enkóder
3 Megjelenító eszközök: soros vonal+hyperterminal, LCD, hétszegmenses LED kijelző, TV, VGA monitor. Kommunikáció: soros, I2C, SPI, egy vezetékes átvitel Motorvezérlés: Egyenáramú motorvezérlés PWM-el, szervomotor meghajtás, léptetőmotor meghajtás. Egyéb: Delta-szigma DA, időzítések, stb. MINTAALKALMAZÁS Illusztrációként egy olyan programot mutatunk be, amely a tok tetszőleges két lábán, egymástól függetlenül, Hz között egyesével változtatható négyszöghullámot hoz létre. A program a felhasználóval való kapcsolat tartására bemenetként egy PC billentyűzetet, kimenetként egy TV-t használ. (Ez utóbbi könnyedén megváltoztatható VGA monitoron, vagy LCD kijelzőn történő megjelenítésre.) Mint azt már az előzőekben említettük, ezek kész, azonnal felhasználható modulok. Még egy előre elkészített modult használunk a számlálók kezeléséhez: az a Synth modul. Ezek után a modulokban lévő eljrárások felhasználásával összerakjuk a programunkat. Amint a program szövegéből leszűrhető, a SPIN nem érzékeny a kis és a nagybetűkre. A SPIN program: {{ NÉGYSZÖGJEL GENERÁLÁSA MHz-ES TARTOMÁNYBAN, A FREKVENCIÁT HERZ PONTOSÁGGAL LEHET VÁLTOZTATNI - ÖRÜLET!!! A PROGRAM CSAK EGY COG-OT HASZNÁL, DE MIVEL KÉT SZÁMLÁLÓJA VAN, EZÉRT KÉT FREKVENCIA HOZHATÓ LÉTRE, KÉT TETSZÖLEGES LÁBON HASZNÁL: CHIPCAD 4SOR*16 KARAKTERES SOROSAN KOMMUNIKÁLÓ LCD MODULT, ÉS PC BILLENTYÜT. ELÖSZÖR A LÁBSZÁMOT KELL MEGADNI KÖZÖTT, (BOLONDBIZTOS!) UTÁNA A SZÁMLÁLÓT (A VAGY B)(BOLONDBIZTOS!) MAJD A FREKVENCIÁT _000_000 Hz TARTOMÁNYBAN (EZ NEM BOLONDBIZTOS!) }} CON _CLKMODE = XTAL1 + PLL16X _XINFREQ = 5_000_000 VAR long ctrab,pin LONG DECVAL OBJ Freq : "Synth" debug : "tv_text" kb : "keyboard" pub main start PUB start debug.start(12) 'start tv_text kb.start(25, 27) 'start the keyboard pub ctrab1,pin1,decval1 debug.str(string("frekvencia GENERATOR",$d)) Pin1:=100 until (Pin1 <32) debug.str(string("pin:[0-31]: ")) Pin1:=getdec debug.str(string("ctr [A vagy B]: ")) ctrab1 ~ until (ctrab1=="a" or ctrab1=="b") ctrab1:=alluppercase(kb.getkey) debug.out(ctrab1) debug.str(string("freq[hz]: ")) decval1:=getdec Freq.Synth(ctrab1,Pin1,DECVAL1) PRI getdec :decva c,cdec 'DECIMÁLIS SZÁMOK BEVITELE ÉS VISSZAÍRÁSA DECVA := 0 cdec := 100 case c := kb.getkey 13 : if cdec <> 100 quit "0".."9": cdec:=lookdownz(c : "0".."9") 'MÁST NEM FOGAD EL DECVA := DECVA*10 + cdec debug.dec(cdec) 'SZÁMJEGYEKET EGYENKÉNT VISSZAÍRJA return decva PRI alluppercase(c) : chr 'NAGYBETÜSRE ALAKÍTJA A BETÜKET case c "a".."z": c -= $20 KISBETÜS VOLT chr := c "A".."Z": chr := c NAGYBETÜS VOLT PRI NEWLINE debug.str(string($d)) Mivel minden COG-ban két 32 bites számláló egység van, ezért két lábon, egymástól függetlenül tudunk két tetszőleges frekvenciájú négyszögjelet előállítani! Ez a rövid bevezető célja a figyelem felkeltése az eszköz iránt. A Propeller áramkör a ChipCAD Kft-nél megvásárolható. Rövidesen magyar nyelvű könyv is rendelkezésre fog állni, és az ismeretek a ChpCAD Kft-nél tartott Propeller tanfolyamokon is elsajátíthatók. PROPELLER PROGRAMOZÁSA A Propeller alkalmazás bináris kódra lefordított felhasználói program a Propeller RAM-jában vagy EEPROM-jában. Az alkalmazás vagy a Propeller Spin programnyelvében (magas szintű nyelv) és/vagy Propeller Assembler-ben (alacsony szintű nyelv) van megírva. A szöveges Spin programkódot a következőkben bemutatásra kerülő PROPTOOL program önállóan értelmezhető egységekké, ún. tokenekké alakítja, amit a SYSRAMba történő letöltés után a COG-okba betöltött Spin Interpreter értelmez és hajt végre. A szöveges Assembler programkódot a PROPTOOL-ban lévő assembler gépi kódú utasítások sorozatává alakítja, amit a SYSRAM-ba történő letöltés után a COG-okba betöltve közvetlenül futtat a COG CPU egysége. A Propeller Spin Interpreter a bootolási folyamat 4-es lépésében töltődik be az alkalmazás futtatása előtt minden esetben. Ezért, minden alkalmazásnak tartalmaznia kell egy minimális méretű Spin programkódot, míg a további rész Spin-ben illetve Assembly-ben megírt programrészeket tartalmazhat. Ha a bootolási folyamat befejeződik, és az alkalmazás futása elindul a COG0-ban, minden további tevékenységet az alkalmazás futása határozza meg. Az alkalmazás felügyeli és módosíthatja a belső órajel frekvenciát, az I/O használatot, a regiszterek konfigurálását és azt, hogy mikor, és hány COG fut. PROPELLER PROGRAMFEJLESZTŐI KÖRNYEZETE: A PROPTOOL A mérnökök a Parallax-nál sok fejlesztési környezetet használtak az elmúlt, több mint 20 éves időszakban. Használat közben rengeteg tapasztalat gyűlt össze, és ezek felhasználásával készült a PC-n futó, ingyenesen letölthető Propeller Tool (továbbiakban PROPTOOL) integrált fejlesztői környezet (IDE), amely a Propeller tokok egyszerű, és olcsó fejlesztő eszköze. A PROPTOOL fejlesztői környezet egyetlen futtatható állományból áll, néhány on-line súgó fájllal, és mindenki által felhasználható Propeller könyvtár állományokkal kiegészítve. Mindezek a fájlok abban a mappában jelennek meg, amelyet a telepítés során megadtunk. Ez alapértelmezés szerint: C:\Program Files\ParallaxInc\Propeller. A PROPTOOL futtatható állománya, a Propeller.exe a számítógép bármelyik mappájába másolható, PROPTOOL = PROPELLER IDE illetve bármelyikből futtatható, nincs szüksége speciális rendszerfájlokra. Mindegyik könyvtár (library) állomány (ezek a.spin kiterjesztéssel rendelkező állományok) egy független objektum, amelyek felhasználhatóak a Propeller fejlesztések során, a forráskódokkal és a beépített dokumentációval együtt. Ezek egyszerű szöveges állományok ANSI- vagy Unicode kódolással, amelyek minden olyan szövegszerkesztővel szerkeszthetőek, amelyek támogatják a fenti kódolásokat, mint például a Jegyzettömb a Windows 2000 (és azt követő) operációs rendszerben. Már megemlítettük, hogy egy objektum dokumentációja az objektum fájlba van beépítve. Egy objektumhoz tartozó felhasználói dokumentáció írását közvetlenül a objektum forrás állományába célszerű elhelyezni. Így kevesebb állományt kell karbantartani, és nagyobb valószínűséggel marad a dokumentáció szinkronban a forráskóddal. Lehetséges létrehozni a
4 forrás megjegyzések két típusát: kód megjegyzéseket (a forráskód egy részének magyarázata), illetve a dokumentum megjegyzéseket (szintén kódfeljegyzés, de azzal a céllal, hogy a dokumentáció nézetben lehessen elolvasni.) A dokumentáció nézet mód segítségével lehet a Propeller Tool-ban egy objektum Parallax fontokkal rajzolt ábrák dokumentációról kivonatot készíteni az objektum forráskódjából, megtekintés céljából. Lehet használni egy külön kialakított betűtípust, a Parallax betűtípust, amiben vannak olyan speciális karakterek, amelyek segítségével az objektum dokumentációja ellátható vázlatrajzzal, idődiagrammal és táblázatokkal. A Parallax betűtípus egy True Type betűtípus, amelyet a Propeller Tool futtatható állományába beépítettek. A betűtípus megjelenése pontosan olyan, mint amely a Propeller tok ROM-jában megtalálható. A betűtípust használva akár az ábrán látható rajzokat is el tudjuk készíteni. PROPELLER UTASÍTÁSOK A Propellerben lévő nyolc azonos processzor 32 bites utasításokat hajt végre, amelyek a COG-ok memóriaterületén az 512 duplaszavas COGRAM-ban helyzetkednek el. Három fontos megjegyzés: Mivel a megcímezhető memória 512 LONG, ezért az operandusok címzésére 9 bit elegendő. A SYSMEM, aminek bájtos címzése 16 bitet, szavas címzése 15 bitet, és LONG-os címzése 14 bitet igényel, ezért elérése csak indirekt címzéssel lehetséges: vagyis az utasításban szereplő 9 bites regiszter tartalma fogja meghatározni azt a címet, amivel a SYSMEM memória egy elemét elérhetjük. A programok RAM-ban futnak, ezért lehetséges az utasításokat közvetlenül átíró, ún. önmódosító kódok alkalmazása. Vagyis a hatékonyabb programozás érdekében olyan programokat írhatunk, aminek a programkódját maga a program változtatja meg! AZ UTASÍTÁSOK FELÉPÍTÉSE Az utasítások 32 bit hosszúságúak, és mezőkre osztott bitcsoportokkal lehet leírni. Az utasítások felépítése: a szokásos műveleti kód operandus felépítést néhány, hatékonyságnövelő megoldással egészítették ki: Az, hogy az utasítás végrehajtása során állítsa a zérus(z) és átvitel (c) jelzőbiteket, illetve az 32 BITES UTASÍTÁSOK FELÉPÍTÉSE Műveleti kód Z flag frissítés C flag frissítés Eredmény frissítés Forrás # Végrehajtási feltétel Célregiszter Forrás regiszter iiiiii z C r i cccc ddddddddd sssssssss utasítás eredménye a célregiszterbe kerüljön, rendre a 25,24, és 23 bitek értéke szabályozza. Az utasítás formátum tartalmaz egy Végrehajtási feltételek jelzőbitcsoportot, amelyek NEM a processzor jelzőbitjei, de jelzik kogy mely processzor jelzőbitek lesznek frissítve mikor az utasítást végrehajtjuk. Ezt a VÉGREHAJTÁSI FELTÉTELEK itt nem részletezett táblázatában található feltételek határozzák meg. Ez az utasításfelépítés egy belső feltételes utasításvégrehajtást takar, és nagyon hatékony programírást tesz ez lehetővé. Az utasításkészlet részletes bemutatása helyett csupán megemlítjük, hogy más assemblerekhez hasonlóan, vannak assembler direktívák, és a multprocesszoros működés miatt vannak a HUB-hoz kapcsolódő, illetve a COG-ok ALU-ját működtető utasítások. PROPELLER OBJEKTUMOK, ALKALMAZÁSOK - MI AZ OBJEKTUM? A Propeller Spin nyelve objektum alapú, és lényegében minden Propeller alkalmazás alapja. Mi az objektum? Objektumok valójában olyan módon megírt programok, amelyek: 1) Önállóan működő egységek, 2) elvégeznek egy konkrét feladatot, és 3) újra felhasználhatók más alkalmazásokban. Például, a billentyűzet objektum, és egér objektum mindegyike Propeller Tool program része. A billentyűzet objektum egy olyan program, ami a Propeller és a szabványos PC billentyű összekapcsolását teszi lehetővé. Hasonlóan az egér objektum a szabványos PS2-es egérillesztést biztosít a Propellerhez. Ezek az objektumok gondosan megírt, önálló programok, amelyeket más objektumok, alkalmazások felhasználhatnak. A létező objektumok felhasználásával egy újabb alkalmazást lehet elkészíteni. Például, egy alkalmazás tartalmazhatja mind a billentyűzet, mind az egér objektumot, és néhány soros kóddal kiegészítve egy alap felhasználói interfész készíthető. Mivel az objektumok önállóak és tartalmaznak egy rövid programillesztést, az alkalmazást fejlesztőknek nem kell feltétlenül tudniuk, hogy egy objektum hogyan hajtja végre azt. Egyik fejlesztő által megírt objektumokat különböző alkalmazásokban más fejlesztők is könnyen felhasználhatnak. A Propeller objektum a Spin kódból, és esetleg Propeller Assembly kódból áll. Az egyszerűség kedvéért továbbiakban ezeket objektum -nak hívjuk. Propeller objektum Az objektumok spin kiterjesztésű fájlként vannak a számítógépben tárolva, ezért a fájlokra mindig objektumként tekinthetünk. Minden objektum az alkalmazások építőköve. Egy objektum egy, vagy több más objektumot felhasználhat azért, hogy létrehozzunk egy bonyolultabb alkalmazást. Ezeket nevezzük hivatkozásoknak. Amikor egy objektum hivatkozik másik objektumra, az egy hierarchiát alkot, ahol a legfelső szinten is van egy objektum. A legfelső objektum neve: Legfelső Ojektum fájl (Top Object File), és ez a kezdőpont az alkalmazás forditásakor. Az ábrán a Grafikus Demo objektum hivatkozik három másik objektumokra: TV, Grafika, Egér. Ha a Graphics Demo objektum lesz a legfelső szint. A legfelső szintű objektum fájl és a benne hivatkozott másik három objektum együttes lefordítása után kapott programot hivják Propeller Alkalmazásnak vagy röviden alkalmazásnak. Az alkalmazás egy vagy több objektumból áll, és valójában egy 0-3. ábra: Objektumok hierarchiája speciálisan összeállitott binaris adathalmaz, ami végrehajtható kódból és adatból áll, és a Propeller képes futhatni. Amikor letöltjük az alkalmazást, az vagy a SYSRAM-ba, vagy a külső EEPROM-ba kerül. Futtatáskor ezt egy, vagy több COG fogja futtatni. SPIN ÉRTELMEZŐ (INTERPRETER) A SPIN az a magas szintű nyelv, amellyel a Propeller programozható. Chip Gracey fejlesztette ki, aki szeretett volna megalkotni egy könnyen használható nyelvet, amely egyszerű szintaxis szerint felépülő, könnyen kezelhető utasításokkal dolgozik. Magára a nyelvre a Pascal, a BASIC és az Assembly nyelv elvei hatottak. Amikor az integrált fejlesztői környezetben (IDE) SPIN nyelven programozunk, a SPIN-kód ún. BYTE-kóddá fordítódik, (szoktuk ezt tokenizálásnak is nevezni), amely ezután beíródik a fejlesztőben kialakított 32
5 Kbájtos programterületre, és ezt végül közvetlenül a Propellerbe töltjük. A Propeller futási időben működő értelmezője (interpreterje) miatt a SPIN BYTE-kódja meglehetősen terjedelmes, a SPIN egyetlen sora ASM-utasítást eredményezhet a végrehajtás során. A BYTE kódra fordítóprogram a kódot bizonyos mértékben optimalizálja. Emiatt a SPIN használatakor vigyázni kell arra, nehogy túl gyorsan elfogyasszuk a memóriát. Működés A SPIN nyelv számos függvényt használ, és a függvényeket fájlokban tárolja. Ennek megfelelően, készíthetünk olyan SPINobjektum fájlt, amely szubrutinok, adatok és más elemek gyűjteménye, egy másik programhoz hozzászerkeszthető (include), ezáltal az objektum függvényei meghívhatóvá válnak. A nyelv beljebb kezdéseket használ a blokkszintek megjelölésére, "begin" és "end" szimbólumok nincsenek. A változók és függvények elnevezései azokat a szabályokat követik, amelyeket a legtöbb magas szintű nyelvben megszokhattunk, alfanumerikus karaktereket és aláhúzásokat egyaránt tartalmazhatnak. Egy SPIN-program tartalmazhat konstansokat, változókat (globals), (más fájlokból behívott) objektumokat, public-típusú függvényeket és változókat, private-típusú függvényeket és változókat, végül pedig egy adatszegmenst (általában a program végén). SPIN BLOKKTÍPUSOK Az alábbiakban a különféle blokktípusokat ismertetjük: Fontos, hogy a blokktípus deklarálása után az adott blokktípus érvényben marad mindaddig, amíg nem szerepel újabb blokktípus megadás a programban. CON A CON blokk-kijelölő állandókat definiáló blokkot nyit meg. Itt helyezhetjük el az Egy SPIN-program grafikus ábrázolása állandóinkat, amelyeket a fordító feloldja, vagyis külön tárhelyet nem foglal. VAR VAR blokktípus jelölő használata után változókat definiálhatunk. Ezek a SYSRAMban foglalnak helyet, és nem a COGRAM-ban. Definiálhatunk BYTE-okat (8bit), WORD-öket (16bit) vagy LONG-okat (32bit). Programindításkor minden VAR kezdőértéke 0. PRI Szintaxisa és használata megegyezik a PUB-éval. A PRI blokk-kijelölővel lokális típusú függvényt hozhatunk létre, amelyet az adott objektum tartományán kívülről nem érhetnek el más objektumok. DAT A DAT blokk-kijelölő egy adatszegmens kezdetét határozza meg, amely a következő blokktípus-kijelölőig tart. A DAT-szegmenseket adatok és táblázatok definiálására használjuk a SPIN-ben. A DAT-szegmensek ASM-kódok megadására is szolgálnak, amihez deklarálnunk kell egy DAT-szegmenst, majd pedig elhelyezzük az ASM-kódunkat. Ennek az az oka, hogy az ASM-kódot a fordító adatként látja, ezért egyszerűen a végleges objektumba "olvasztja", majd pedig egy adott helyen átadjuk egy COG-modulnak. Jegyezzük meg, hogy egy DAT-szegmensben definiált ASM mérete soha nem lehet nagyobb 512 LONG-nál (valójában LONG-nál, a COG-modulok memóriájának végén elhelyezkedő regiszterállományok miatt). A fejlesztés megkönnyítésre számos megírt, korlátozás nélkül felhasználható program modul készült már el. Ezek párhuzamos futásukhoz egyenként egy COG-ot használnak fel. Egy rövid felsorolás: Beviteli eszközök: PC billentyű, billentyűzet mátrix, egér, enkóder Megjelenító eszközök: soros vonal+hyperterminal, LCD, hétszegmenses LED kijelző, TV, VGA monitor. Kommunikáció: soros, I2C, SPI, egy vezetékes átvitel Motorvezérlés: Egyenáramú motorvezérlés PWM-el, szervomotor meghajtás, léptetőmotor meghajtás. Egyéb: Delta-szigma DA, időzítések, stb. MINTAALKALMAZÁS Illusztrációként egy olyan programot mutatunk be, amely a tok tetszőleges két lábán, egymástól függetlenül, Hz között egyesével változtatható négyszöghullámot hoz létre. A program a felhasználóval való kapcsolat tartására bemenetként egy PC billentyűzetet, kimenetként egy TV-t használ. (Ez utóbbi könnyedén megváltoztatható VGA monitoron, vagy LCD kijelzőn történő megjelenítésre.) Mint azt már az előzőekben említettük, ezek kész, azonnal felhasználható modulok. Még egy előre elkészített modult használunk a számlálók kezeléséhez: az a Synth modul. Ezek után a modulokban lévő eljrárások felhasználásával összerakjuk a programunkat. Amint a program szövegéből leszűrhető, a SPIN nem érzékeny a kis és a nagybetűkre. A SPIN program: OBJ Az OBJ blokktípus jelölő az objektumok beillesztését lehetővé tévő területet nyit; ez az, ahol importálhatunk és megnevezhetünk más fájlokban lévő objektumokat. Ezek az objektumok a fordítás ideje alatt illeszkednek be, és válnak a programunk részévé. Jegyezzük meg azt is, hogy nem számít, hányszor importálunk egy objektumot, a kód csupán egy példányban kerül beillesztésre. PUB A PUB blokktípus jelölővel public-típusú függvényt hozhatunk létre, amely a fájl tartományán kívülről is elérhető azon objektumok számára, amelyek importálják a PUB-ot tartalmazó fájlt. A SPIN-programok végrehajtása mindig a legfelső szinten elhelyezkedő fájl elsőként felfedezhető PUB bejegyzésénél kezdődik, vagy, amennyiben a program egyetlen fájlból áll, az abban található első PUB bejegyzésnél.
6 {{ NÉGYSZÖGJEL GENERÁLÁSA MHz-ES TARTOMÁNYBAN, A FREKVENCIÁT HERZ PONTOSÁGGAL LEHET VÁLTOZTATNI - ÖRÜLET!!! A PROGRAM CSAK EGY COG-OT HASZNÁL, DE MIVEL KÉT SZÁMLÁLÓJA VAN, EZÉRT KÉT FREKVENCIA HOZHATÓ LÉTRE, KÉT TETSZÖLEGES LÁBON HASZNÁL: CHIPCAD 4SOR*16 KARAKTERES SOROSAN KOMMUNIKÁLÓ LCD MODULT, ÉS PC BILLENTYÜT. ELÖSZÖR A LÁBSZÁMOT KELL MEGADNI KÖZÖTT, (BOLONDBIZTOS!) UTÁNA A SZÁMLÁLÓT (A VAGY B)(BOLONDBIZTOS!) MAJD A FREKVENCIÁT _000_000 Hz TARTOMÁNYBAN (EZ NEM BOLONDBIZTOS!) }} CON _CLKMODE = XTAL1 + PLL16X _XINFREQ = 5_000_000 VAR long ctrab,pin LONG DECVAL OBJ Freq : "Synth" debug : "tv_text" kb : "keyboard" pub main start PUB start debug.start(12) 'start tv_text kb.start(25, 27) 'start the keyboard pub ctrab1,pin1,decval1 debug.str(string("frekvencia GENERATOR",$d)) Pin1:=100 until (Pin1 <32) debug.str(string("pin:[0-31]: ")) Pin1:=getdec debug.str(string("ctr [A vagy B]: ")) ctrab1 ~ until (ctrab1=="a" or ctrab1=="b") ctrab1:=alluppercase(kb.getkey) debug.out(ctrab1) debug.str(string("freq[hz]: ")) decval1:=getdec Freq.Synth(ctrab1,Pin1,DECVAL1) PRI getdec :decva c,cdec 'DECIMÁLIS SZÁMOK BEVITELE ÉS VISSZAÍRÁSA DECVA := 0 cdec := 100 case c := kb.getkey 13 : if cdec <> 100 quit "0".."9": cdec:=lookdownz(c : "0".."9") 'MÁST NEM FOGAD EL DECVA := DECVA*10 + cdec debug.dec(cdec) 'SZÁMJEGYEKET EGYENKÉNT VISSZAÍRJA return decva PRI alluppercase(c) : chr 'NAGYBETÜSRE ALAKÍTJA A BETÜKET case c "a".."z": c -= $20 KISBETÜS VOLT chr := c "A".."Z": chr := c NAGYBETÜS VOLT PRI NEWLINE debug.str(string($d)) Mivel minden COG-ban két 32 bites számláló egység van, ezért két lábon, egymástól függetlenül tudunk két tetszőleges frekvenciájú négyszögjelet előállítani! Ez a rövid bevezető célja a figyelem felkeltése az eszköz iránt. A Propeller áramkör a ChipCAD Kft-nél megvásárolható. Rövidesen magyar nyelvű könyv is rendelkezésre fog állni, és az ismeretek a ChpCAD Kft-nél tartott Propeller tanfolyamokon is elsajátíthatók.
5.4. Perifériák helyettesítése párhuzamos feldolgozással a Propeller esetében
5.4. Perifériák helyettesítése párhuzamos feldolgozással a Propeller esetében A nem standard szerkezetű mikorvezérlő, nem megszokott megoldások megvalósítására is alkalmazható, ami sok esetben, nagymértékben
Mintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges
Digitális technika VIMIAA01 9. hét
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges
Számítógép felépítése
Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége
Programozási segédlet DS89C450 Fejlesztőpanelhez
Programozási segédlet DS89C450 Fejlesztőpanelhez Készítette: Fekete Dávid Processzor felépítése 2 Perifériák csatlakozása a processzorhoz A perifériák adatlapjai megtalálhatók a programozasi_segedlet.zip-ben.
3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA
3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA Az FPGA tervezésben való jártasság megszerzésének célszerű módja, hogy gyári fejlesztőlapot alkalmazzunk. Ezek kiválóan alkalmasak tanulásra, de egyes ipari tervezésekhez
A számítógép egységei
A számítógép egységei A számítógépes rendszer két alapvető részből áll: Hardver (a fizikai eszközök összessége) Szoftver (a fizikai eszközöket működtető programok összessége) 1.) Hardver a) Alaplap: Kommunikációt
Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor
Ismerkedjünk tovább a számítógéppel Alaplap és a processzeor Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív
Labor gyakorlat Mikrovezérlők
Labor gyakorlat Mikrovezérlők ATMEL AVR ARDUINO 1. ELŐADÁS BUDAI TAMÁS Tartalom Labor 2 mikrovezérlők modul 2 alkalom 1 mikrovezérlők felépítése, elmélet 2 programozás, mintaprogramok Értékelés: a 2. alkalom
Labor gyakorlat Mikrovezérlők
Labor gyakorlat Mikrovezérlők ATMEL AVR ARDUINO 1. ELŐADÁS BUDAI TAMÁS 2015. 09. 06. Tartalom Labor 2 mikrovezérlők modul 2 alkalom 1 mikrovezérlők felépítése, elmélet 2 programozás, mintaprogramok Értékelés:
A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással
.. A tervfeladat sorszáma: 1 A ALU egység 8 regiszterrel és 8 utasítással Minimálisan az alábbi képességekkel rendelkezzen az ALU 8-bites operandusok Aritmetikai funkciók: összeadás, kivonás, shift, komparálás
ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES
ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES Számítógép = Univerzális gép! Csupán egy gép a sok közül, amelyik pontosan azt csinálja, amit mondunk neki. Hardver A számítógép
Programzás I. - 1. gyakorlat
Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)
A számítógépek felépítése. A számítógép felépítése
A számítógépek felépítése A számítógépek felépítése A számítógépek felépítése a mai napig is megfelel a Neumann elvnek, vagyis rendelkezik számoló egységgel, tárolóval, perifériákkal. Tápegység 1. Tápegység:
2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés
. Számítógépek működési elve Bevezetés az informatikába. előadás Dudásné Nagy Marianna Az általánosan használt számítógépek a belső programvezérlés elvén működnek Külső programvezérlés... Vezérlés elve
SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1
INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
Informatika érettségi vizsga
Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés
Fordítóprogramok. Aszalós László. 2009. szeptember 7.
Fordítóprogramok Aszalós László 2009. szeptember 7. 1. Bemelegítés Honlap: www.inf.unideb.hu/ aszalos/diak.html (Fordítóprogramok, 2009) Jegymegajánló: utolsó hét előadásán. PótZH (csak gyakorlat) vizsgaidőszak
Adatbázis és szoftverfejlesztés elmélet
Adatbázis és szoftverfejlesztés elmélet Témakör 4. Összefoglalás 1. A kódolás eszközei Általános szövegszerkesztő Programozói szövegszerkesztő Fejlesztői környezet Vizuális fejlesztői környezet Általános
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Multiplexer (MPX) A multiplexer egy olyan áramkör, amely több bemeneti adat közül a megcímzett bemeneti adatot továbbítja a kimenetére.
Operációs rendszerek. Tanmenet
Tanmenet TANMENET- Operációs rendszerek Témakörök Javasolt óraszám 1. Operációs rendszerek alapjai 2. Windows 2000 ismeretek- Munka a képernyőn 3. Windows 2000 ismeretek- A Start menü elemei 4. Windows
A mikroprocesszor felépítése és működése
A mikroprocesszor felépítése és működése + az egyes részegységek feladata! Információtartalom vázlata A mikroprocesszor feladatai A mikroprocesszor részegységei A mikroprocesszor működése A mikroprocesszor
Processzor (CPU - Central Processing Unit)
Készíts saját kódolású WEBOLDALT az alábbi ismeretanyag felhasználásával! A lap alján lábjegyzetben hivatkozz a fenti oldalra! Processzor (CPU - Central Processing Unit) A központi feldolgozó egység a
Programozás alapjai Bevezetés
Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma
A számítógép fő részei
Hardver ismeretek 1 A számítógép fő részei 1. A számítógéppel végzett munka folyamata: bevitel ==> tárolás ==> feldolgozás ==> kivitel 2. A számítógépet 3 fő részre bonthatjuk: központi egységre; perifériákra;
Nagy Gergely április 4.
Mikrovezérlők Nagy Gergely BME EET 2012. április 4. ebook ready 1 Bevezetés Áttekintés Az elektronikai tervezés eszközei Mikroprocesszorok 2 A mikrovezérlők 3 Főbb gyártók Áttekintés A mikrovezérlők az
Számítógépek felépítése, alapfogalmak
2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? 2 Nem reprezentatív felmérés
Bepillantás a gépházba
Bepillantás a gépházba Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív memória: A számítógép bekapcsolt
Számítógép fajtái. 1) személyi számítógép ( PC, Apple Macintosh) - asztali (desktop) - hordozható (laptop, notebook, palmtop)
Számítógép Számítógépnek nevezzük azt a műszakilag megalkotott rendszert, amely adatok bevitelére, azok tárolására, feldolgozására, a gépen tárolt programok működtetésére alkalmas emberi beavatkozás nélkül.
Az AVR programozás alapjai. Előadja: Both Tamás
Az AVR programozás alapjai Előadja: Both Tamás Fordító C nyelven programozunk Ehhez az AVR-GCC fordító áll rendelkezésre Ennek használatához a WinAVR-t kell telepíteni Teljes értékű C fordító, minden megengedett,
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás
Programozás alapjai. 10. előadás
10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:
Occam 1. Készítette: Szabó Éva
Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti
Fizikai mérések Arduino-val
Fizikai mérések Arduino-val Csajkos Bence, Veres József Csatári László Sándor mentor Megvalósult az Emberi Erőforrások Minisztériuma megbízásából az Emberi Erőforrás Támogatáskezelő a 2015/2016. tanévre
Mértékegységek a számítástechnikában
Mértékegységek a számítástechnikában BIT legkisebb adattárolási egység Értékei lehetnek: 0,1. Bájt= 8 BIT a számítógép számára egységesen kezelhető legkisebb egység. (Bit,) Bájt, KiloBájt, MegaBájt, GigaBájt,
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)
Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD) Bevezetés A laborgyakorlatok alapvető célja a tárgy későbbi laborgyakorlataihoz szükséges ismeretek átadása, az azokban szereplő
Podoski Péter és Zabb László
Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő
Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
Iman 3.0 szoftverdokumentáció
Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3
A LEGO Mindstorms EV3 programozása
A LEGO Mindstorms EV3 programozása 1. A fejlesztői környezet bemutatása 12. Az MPU6050 gyorsulás- és szögsebességmérő szenzor Orosz Péter 1 Felhasznált irodalom LEGO MINDSTORMS EV3: Felhasználói útmutató
1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet 1. örök 3. Szedjük szét a számítógépet 2.
Témakörök 1. Digitális írástudás: a kőtáblától a számítógépig ( a kommunikáció fejlődése napjainkig) 2. Szedjük szét a számítógépet 1. ( a hardver architektúra elemei) 3. Szedjük szét a számítógépet 2.
1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3
Darvay Zsolt Típusok és nevek a forráskódban Állandók és változók Hatókörök és az előfeldolgozó Bevitel és kivitel Kifejezések Utasítások Mutatók Függvények Struktúrák és típusok Állománykezelés C programozás
3Sz-s Kft. Tisztelt Felhasználó!
3Sz-s Kft. 1158 Budapest, Jánoshida utca 15. Tel: (06-1) 416-1835 / Fax: (06-1) 419-9914 E-mail: zk@3szs. hu / Web: http://www. 3szs. hu Tisztelt Felhasználó! Köszönjük, hogy telepíti az AUTODATA 2007
KIRA. KIRA rendszer. Telepítési útmutató v1
KIRA rendszer Telepítési útmutató v1 1. Bevezetés A dokumentáció, illetve a dokumentáció mellékleteként megtalálható állományok segítségével készíthető fel a kliens oldali számítógép a KIRA rendszer működtetésére.
Programozás alapjai gyakorlat. 2. gyakorlat C alapok
Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel
Cikktípusok készítése a Xarayában
Cikktípusok készítése a Xarayában A Xaraya legfontosabb tulajdonsága az egyedi cikktípusok egyszerű készítésének lehetősége. Ezzel kiküszöbölhető egyedi modulok készítése, hiszen néhány kattintással tetszőleges
A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.
Soros LCD vezérlő A vezérlő modul lehetővé teszi, hogy az LCD-t soros vonalon illeszthessük alkalmazásunkhoz. A modul több soros protokollt is támogat, úgy, mint az RS232, I 2 C, SPI. Továbbá az LCD alapfunkcióit
AWK programozás Bevezetés
09 AWK programozás Bevezetés AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa és feldolgozhatóvá
ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA
ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA A PC FIZIKAI KIÉPÍTÉSÉNEK ALAPELEMEI Chip (lapka) Mikroprocesszor (CPU) Integrált áramköri lapok: alaplap, bővítőkártyák SZÁMÍTÓGÉP FELÉPÍTÉSE
elektronikus adattárolást memóriacím
MEMÓRIA Feladata A memória elektronikus adattárolást valósít meg. A számítógép csak olyan műveletek elvégzésére és csak olyan adatok feldolgozására képes, melyek a memóriájában vannak. Az információ tárolása
Mérési jegyzőkönyv. az ötödik méréshez
Mérési jegyzőkönyv az ötödik méréshez A mérés időpontja: 2007-10-30 A mérést végezték: Nyíri Gábor kdu012 mérőcsoport A mérést vezető oktató neve: Szántó Péter A jegyzőkönyvet tartalmazó fájl neve: ikdu0125.doc
FTP Az FTP jelentése: File Transfer Protocol. Ennek a segítségével lehet távoli szerverek és a saját gépünk között nagyobb állományokat mozgatni. Ugyanez a módszer alkalmas arra, hogy a kari web-szerveren
Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév
Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév (2011-11-27) Az ellenőrző mérésen az alábbiakhoz hasonló feladatokat kapnak a hallgatók (nem feltétlenül ugyanazeket). Logikai analizátor
5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix
2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.
Alapismeretek. Tanmenet
Alapismeretek Tanmenet Alapismeretek TANMENET-Alapismeretek Témakörök Javasolt óraszám 1. Történeti áttekintés 2. Számítógépes alapfogalmak 3. A számítógép felépítése, hardver A központi egység 4. Hardver
3. modul - Szövegszerkesztés
3. modul - Szövegszerkesztés Érvényes: 2009. február 1-jétől Az alábbiakban ismertetjük a 3. modul (Szövegszerkesztés) syllabusát, amely a gyakorlati vizsga alapját képezi. A modul célja Ezen a vizsgán
I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák
I. C8051Fxxx mikrovezérlők hardverfelépítése, működése 1. Adja meg a belső RAM felépítését! 2. Miben különbözik a belső RAM alsó és felső felének elérhetősége? 3. Hogyan érhetők el az SFR regiszterek?
A PiFast program használata. Nagy Lajos
A PiFast program használata Nagy Lajos Tartalomjegyzék 1. Bevezetés 3 2. Bináris kimenet létrehozása. 3 2.1. Beépített konstans esete.............................. 3 2.2. Felhasználói konstans esete............................
C programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
Labor gyakorlat Mikrovezérlők
Labor gyakorlat Mikrovezérlők ATMEL AVR ARDUINO 1. ELŐADÁS BUDAI TAMÁS Tartalom Mikrovezérlők Mikrovezérlők felépítése, működése Mikrovezérlő típusok, gyártók Mikrovezérlők perifériái Mikrovezérlők programozása
Operációs rendszerek. Tanmenet
Tanmenet TANMENET- Operációs rendszerek Témakörök Javasolt óraszám 1. Windows XP ismeretek- Munka a képernyőn 2. Windows XP ismeretek- A Start menü elemei 3. Windows XP ismeretek- A billentyűzet 4. Windows
Számítógép architektúra
Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek
VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK
VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK 1 Az adatok feldolgozását végezhetjük olyan általános rendeltetésű digitális eszközökkel, amelyeket megfelelő szoftverrel (programmal) vezérelünk. A mai digitális
Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal
Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal Fuszenecker Róbert Budapesti Műszaki Főiskola Kandó Kálmán Műszaki Főiskolai Kar 2007. október 17. Laboratóriumi berendezések
sallang avagy Fordítótervezés dióhéjban Sallai Gyula
sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordító?
IT - Alapismeretek. Feladatgyűjtemény
IT - Alapismeretek Feladatgyűjtemény Feladatok PowerPoint 2000 1. FELADAT TÖRTÉNETI ÁTTEKINTÉS Pótolja a hiányzó neveket, kifejezéseket! Az első négyműveletes számológépet... készítette. A tárolt program
Magas szintű optimalizálás
Magas szintű optimalizálás Soros kód párhuzamosítása Mennyi a várható teljesítmény növekedés? Erős skálázódás (Amdahl törvény) Mennyire lineáris a skálázódás a párhuzamosítás növelésével? S 1 P 1 P N GPGPU
Jelfeldolgozás a közlekedésben
Jelfeldolgozás a közlekedésben 2015/2016 II. félév 8051 és C8051F020 mikrovezérlők Fontos tudnivalók Elérhetőség: ST. 108 E-mail: lovetei.istvan@mail.bme.hu Fontos tudnivalók: kjit.bme.hu Aláírás feltétele:
OPERÁCIÓS RENDSZEREK. Elmélet
1. OPERÁCIÓS RENDSZEREK Elmélet BEVEZETÉS 2 Az operációs rendszer fogalma Az operációs rendszerek feladatai Csoportosítás BEVEZETÉS 1. A tantárgy tananyag tartalma 2. Operációs rendszerek régen és most
Fábián Zoltán Hálózatok elmélet
Fábián Zoltán Hálózatok elmélet Fizikai memória Félvezetőkből előállított memóriamodulok RAM - (Random Access Memory) -R/W írható, olvasható, pldram, SDRAM, A dinamikusan frissítendők : Nagyon rövid időnként
Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba
Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Programozás alapjai Ha egy adott adattáblára Ctrl + G t nyomunk,
Autóipari beágyazott rendszerek. Komponens és rendszer integráció
Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása
Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata
Kutatási beszámoló a Pro Progressio Alapítvány számára Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Mérnök informatika szak Orvosi készülékekben használható modern
1. Alapok. #!/bin/bash
1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk
13. óra op. rendszer ECDL alapok
13. óra op. rendszer ECDL alapok 1. Mire szolgál az asztal? a) Az ideiglenesen törölt fájlok tárolására. b) A telepített alkalmazások tárolására. c) A telepített alkalmazások ikonok általi gyors elérésére.
Bevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 8. Gyakorlat modulok random számok (utolsó módosítás: 2017. aug. 3.) Szathmáry László Debreceni Egyetem Informatikai Kar 2017-2018, 1. félév Modulok Amint a programunk
Regionális forduló november 19.
Regionális forduló 2016. november 19. 9-10. osztályosok feladata Feladat Írjatok Markdown HTML konvertert! A markdown egy nagyon népszerű, nyílt forráskódú projektekben gyakran használt, jól olvasható
Kameleon Light Bootloader használati útmutató
Kameleon Light Bootloader használati útmutató 2017. Verzió 1.0 1 Tartalom jegyzék 2 1. Bootloader bevezető: A Kameleon System-hez egy összetett bootloader tartozik, amely lehetővé teszi, hogy a termékcsalád
TestLine - Informatika gyakorló Minta feladatsor
illentyűzet billentyű: (1) ackspace, (2) elete, (3) S, (4) PrintScr 1. Párosítsd össze a következő 2:24 Normál kifejezéseket! Hatására az éppen futó programfolyamat megáll. Hatására a képernyő tartalma
1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)
1. tétel A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei Ismertesse a kommunikáció általános modelljét! Mutassa be egy példán a kommunikációs
Parallax Propeller programozási lehetőségei
3.5.1. Parallax Propeller programozási lehetőségei A Parallax cég a Propeller mikrovezérlő gyártója fenntart egy OBEX nevű honlapot: ##LINK: http://obex.parallax.com/##, amelyről ingyenes, nyílt forráskódú
MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek
MSP430 programozás Energia környezetben Kitekintés, további lehetőségek 1 Még nem merítettünk ki minden lehetőséget Kapacitív érzékelés (nyomógombok vagy csúszka) Az Energia egyelőre nem támogatja, csak
A 32 bites x86-os architektúra regiszterei
Memória címzési módok Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)
SysCVideo: fiktív grafikus kártya SystemC modulként, SDL alapú megjelenítéssel
SysCVideo: fiktív grafikus kártya SystemC modulként, SDL alapú megjelenítéssel Czirkos Zoltán 2015. augusztus 26. Kivonat Az ismertetett SystemC modul egy mikroprocesszoros rendszerhez illeszthető megjelenítő
LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ. 2010. november 8. Verzió 1.0. http://logsys.mit.bme.hu
LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ 2010. november 8. Verzió 1.0 http://logsys.mit.bme.hu Tartalomjegyzék 1 Bevezetés... 1 2 Kommunikációs interfész... 2 3 Memóriák az LCD vezérlőben... 3 3.1
Hardver és szoftver követelmények
Java-s Nyomtatványkitöltő Program Súgó Telepítési útmutató Hardver és szoftver követelmények A java-s nyomtatványkitöltő program az alábbi hardverigényt támasztja a számítógéppel szemben: 400 MHz órajelű
PMU Kezdı lépések. 6-0 Csatlakozás LG GLOFA-GM és SAMSUNG PLC-hez. 6-1 Kommunikáció LG PMU és LG GLOFA-GM7 / GM6 / GM4 között
-0 Csatlakozás LG GLOFA-GM és SAMSUNG PLC-hez -1 Kommunikáció LG PMU és LG GLOFA-GM / GM között -1-1 PLC programozó csatlakozója ( CPU loader port ) -1- PLC beépített C-NET csatlakozója (CPU C-net) -1-
iseries Client Access Express - Mielőtt elkezdi
iseries Client Access Express - Mielőtt elkezdi iseries Client Access Express - Mielőtt elkezdi ii iseries: Client Access Express - Mielőtt elkezdi Tartalom Rész 1. Client Access Express - Mielőtt elkezdi.................
Operációs rendszerek. Tanmenet
Operációs rendszerek Tanmenet Operációs rendszerek TANMENET- Operációs rendszerek Témakörök Javasolt óraszám 1. Operációs rendszerek alapjai 2. Windows XP ismeretek- Munka a képernyőn 3. Windows XP ismeretek-
3.6. HAGYOMÁNYOS SZEKVENCIÁLIS FUNKCIONÁLIS EGYSÉGEK
3.6. AGYOMÁNYOS SZEKVENCIÁIS FUNKCIONÁIS EGYSÉGEK A fenti ismertető alapján elvileg tetszőleges funkciójú és összetettségű szekvenciális hálózat szerkeszthető. Vannak olyan szabványos funkciók, amelyek
A/D és D/A konverterek vezérlése számítógéppel
11. Laboratóriumi gyakorlat A/D és D/A konverterek vezérlése számítógéppel 1. A gyakorlat célja: Az ADC0804 és a DAC08 konverterek ismertetése, bekötése, néhány felhasználási lehetőség tanulmányozása,
Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv
Image Processor BarCode Service Áttekintés CIP-BarCode alkalmazás a Canon Image Processor programcsomag egyik tagja. A program feladata, hogy sokoldalú eszközt biztosítson képállományok dokumentumkezelési
Köves Hugó: Parallax Propeller chip ismertetése. A Parallax Propeller ismertetése Az alapötlet...2
Az alapötlet...2 Felépítés...2 COG...3 HUB...5 I/O lábak...6 Rendszerszámláló...6 CLK regiszter...6 Közös memória (Main Memory)...8 Közös RAM (Main RAM)...8 Szemaforok (Locks)...9 Közös ROM (Main ROM)...9
Első sor az érdekes, IBM PC. 8088 ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat
1 2 3 Első sor az érdekes, IBM PC. 8088 ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat XT: 83. CPU ugyanaz, nagyobb RAM, elsőként jelent
ISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
A programozás alapjai
A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,