AVR Xmega

Jun 20, 2011 7 Replies

Nigdy ich nie uzywałem, ale cos mnie w nich zaciekawiło. W opisie uK np ATxmega128A3 jest taki ops "8/16-bit AVR XMEGA" Interesuje mnie co ma znaczyć 8/16 bit? Czy one są 8 bitowe czy moze



16 bitowe? Czym różnią się od zwykłych ATMega?

U¿ytkownik "slawek7" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news: snipped-for-privacy@k16g2000yqm.googlegroups.com...

Po twoim po¶cie zacz±³em szukaæ ¶ladów tej 16-bitowo¶ci i jedyne co znalaz³em to ALU:

The ALU operations are divided into three main categories - arithmetic, logical, and bit-functions.

Both 8- and 16-bit arithmetic is supported, and the instruction set allows for easy

implementation of 32-bit arithmetic. The ALU also provides a powerful multiplier supporting both

signed and unsigned multiplication and fractional format.

W dniu 2011-06-21 15:00, Marcin Wasilewski pisze:

...a czy jakieś instrukcje z tego korzystają?? bo lista instrukcji jest taka sama jak w AVRach 8 bit i jakoś nie widzę tam zaawansowanych operacji na 16 bitach ;)...

U¿ytkownik "Konop" snipped-for-privacy@gazeta.pl napisa³ w wiadomo¶ci news:itqcu0$rhc$ snipped-for-privacy@inews.gazeta.pl...

Ja te¿ nie znalaz³em, chocia¿ przyznam siê, ¿e szuka³em tylko w helpie do AVR studio 5. Co do 16-bitów, to przecie¿ równie¿ zwyk³e AVR-y potrafi± zwracaæ 16 bitowe wyniki (z mno¿enia). Przy dodawaniu te¿ mamy informacjê o przepe³nieniu + resztê wyniku w 8 bitach, co zupe³nie wystarcza, bo przecie¿ z dodawania dwóch liczb 8 bitowych wiêcej siê nie uzyska. Wiêc jakby mia³o to co¶ byc, to dodatkowe instrukcje pozwalaj±ce dodawaæ/mno¿yæ liczby 16 bitowe na po³±czonych rejestrach. Byæ mo¿e ATxmega ma jakie¶ dodatkowe instrukcje, czy tryby istniej±cych instrukcji, ja ich nie namierzy³em, ale nie twierdzê ¿e ich nie ma.

W dniu 2011-06-21 19:17, Marcin Wasilewski pisze:

No właśnie... ja tego szukałem w "Instruction Set Summary" i też nie znalazłem ;).. Nie studiowałem tego wnikliwie, może jakaś instrukcja wykonuje się w jednym cyklu zegarowym, a nie w dwóch, ale generalnie brak instrukcji w stylu dodawanie dwóch par rejestrów, odejmowanie itp itd... Tak więc XMEGA to tylko nieco lepiej wyposażona ATMEGA i tyle, a bajki o 16-bitach to niezła ściema :D...

Dowiedziałem sie ze zwykłe AVRy posiadają bajer w postaci dodawania i odejmowania liczb 16bitowych. Wydawało mi się ze znam je trochę, ale nie zwrócilem na to uwagi. Jak ma niby wygldać ten bajer? Czy chodzi tu o to że asembler oferuje dadawanie i odejmowanie liczb 16bit?

Użytkownik "slawek7" snipped-for-privacy@wp.pl napisał w wiadomości news: snipped-for-privacy@28g2000yqu.googlegroups.com...

Jedyne co oferują to to:

ADD Rd, Rr Add two Registers Rd ← Rd + Rr Z, C, N, V, H 1

ADC Rd, Rr Add with Carry two Registers Rd ← Rd + Rr + C Z, C, N, V, H 1

ADIW Rdl,K Add Immediate to Word Rdh:Rdl ← Rdh:Rdl + K Z, C, N, V, S 2

SUB Rd, Rr Subtract two Registers Rd ← Rd - Rr Z, C, N, V, H 1

SUBI Rd, K Subtract Constant from Register Rd ← Rd - K Z, C, N, V, H 1

SBC Rd, Rr Subtract with Carry two Registers Rd ← Rd - Rr - C Z, C, N, V, H

1

SBCI Rd, K Subtract with Carry Constant from Reg. Rd ← Rd - K - C Z, C, N, V, H 1

SBIW Rdl,K Subtract Immediate from Word Rdh:Rdl ← Rdh:Rdl - K Z, C, N, V, S

2

Nie odważył bym się tego nazwać tak jak ty, ale adiw i sbiw pewne rzeczy upraszcza.

Ja tego tak nie nazwałem. Przeczytałem takie stwierdzenie w internecie na forum.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required