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: 33220, Oldal olvasási idő: kb. 2 perc
Mint látható az uC-n belül egy 8 bites adatbuszra van felfűzve szinte minden. Azonban az utasítások útvonalai, és címzések külön buszon vannak. Flash Program Memory: ez az a flash, ahol az uC tárolja a programját értelemszerűen. Instruction Register: ide kerül betöltésre a soron következő utasítás, és itt van módunk bele avatkozni kívülről a program működésébe. Ezt a JTAG-gel tehetjük meg, de erre most nem térek ki. Itt már részben dekódolva van az utasítás, mivel ha olyan az utasítás, akkor közvetlenül megcímzi, hogy melyik regiszter(ek) jönnek, vagy az SRAM melyik cellája. Fontos megemlíteni, hogy csak ez címez direkt módon. Instruction Decoder: végül itt értelmezi, hogy mit is kell csinálnia az adott utasításnak, ami által beállítja a vezérlő vonalakat, aminek a végén függően, hogy milyen utasításról beszélünk, lehet ALU, vagy éppen az SRAM. 32 x 8 General Purpose Registrers: ez már említésre került, nem részletezem tovább. ALU: Arithmetic Logic Unit az az aritmetikai és logikai egység. Itt tudunk műveleteket végezni két regiszter között, továbbá lehetőség van egy regiszter és egy konstans között is. Program Counter: ez nagyon fontos a program működése szempontjából, mert ha bármilyen ugrást, szubrutinhívást, vagy megszakítást csinálunk, akkor azt e nélkül nem lenne lehetőségünk végrehajtani. Ugyanis, amikor ugrunk, szubrutint hívunk vagy megszakítunk, akkor ahogy a képernyőn úgy a program memóriában sem egymást követik az utasítások vagyis ilyenkor tudnia kell a Program Counternek, hogy mire mutasson, vagyis hogy mi legen a következő utasítás. Ez ugrás esetén a címke lesz, szubrutinhívás esetén a szubrutin neve, és megszakítás esetén pedig a megszakítás táblán lévő valamelyik cím. No de ez sem lesz ilyen egyszerű, mint majd később látni fogjuk. A számlálónak az értékét mi is nyomon tudjuk majd követni. ALU: működése során előfordulnak olyan műveletek, ahol túlcsordulhat, átvitel kelezhet stb… ezeket az ALU egy un. Status Register-ben (SREG) jelzi felénk, közvetlen az után hogy lefutott az adott utasítás.
A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |