Fórum témák
» Több friss téma |
Cikkek » AVR Assembly kezdőknek AVR Assembly kezdőknek
Szerző: sgt, idő: Nov 23, 2011, Olvasva: 33219, Oldal olvasási idő: kb. 1 perc
Minden 8 bites AVR-ben (ATtiny, ATmega, ATxmega, AT90) ugyanaz a CPU található kisebb nagyobb módosításokkal, de alapvetően ugyanaz. Ebben a cikkben egy ATmega16-os uC-t fogok bemutatni. Főbb tulajdonságok:
Harvard architektúra: a CPU külön buszon csatlakozik az adat- és a programmemóriához. Így a kettőt függetlenül lehet használni, nincs kikötve sorrendiség, mint a Neumann architektúrában. Ennek eredményeképpen lett egy program flashünk, és egy adat SRAM-unk. RISC: Reduced Instruction Set Computer azaz csökkentett utasításkészletű számítógép. Kétféle elgondolással lehet utasítás készletet készíteni. Egyik az előbb említett RISC, ahol minden utasítás ténylegesen is csak egy műveletet hajt vége. A másik a CISC (Complex Instruction Set Computer), ahol egy utasítás több műveletet tartalmaz. Ma már nincsenek ennyire elkülönítve, erre talán legjobb példák a DSP-k, ahol az FFT-hez, FIR és IIR szűrőkhöz és további alkalmazásokhoz külön utasítások vannak, amik egy-egy komplex, de sűrűn használt műveleteket alkalmaznak. Általam használt uC-ben 131 db utasítás van, de ettől nem kell megijedni, mert nem kell mindegyiket használni, és már 2-3 programírás után már a leggyakrabban használtakat tudni fogjuk fejből. 32 db regiszter: Az első kettőbe (r0, r1) a szorzás eredménye fog kerülni (több utasítás is használja ezeket, de erre nem térek ki), az utolsó hat (r26, r27, r28, r29, r30 és r31) pedig lesz az X, Y és Z mutató (pointer). Ezekről később szót fogok ejteni. Lényeg hogy alapvetően r0-tól r31-ig az összes regisztert szabadon használhatjuk bármire. 1 MHz az 1 MIPS elv: MIPS jelöli a CPU számítási teljesítményét, azaz egy másodperc alatt hány millió műveletet végez el. Erre nagyon részletesen nem térek ki. Lényeg, hogy ezt úgy érik el, hogy un. csővezetékeken futtatják a programot. Vagyis lefut az első utasítás, de ezzel egy időben már előtöltődik a következő utasítás. Amikor az első lefutott már rögtön jöhet a második utasítás, mivel már be lett töltve, de közben már előtölti a harmadikat, és így tovább. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |