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
Lapozás: OK   2 / 12

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
  • RISC utasítás készlet
  • 32 db 8 bites regiszter
  • 1 MHz az 1 MIPS elv

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!
Következő: »»   2 / 12
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem