Pytanie z assemblera AVR



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: DScreator <darecki22_at_nospam_tenbit.pl_>
Subject: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 17:15:26 +0100


Jak podnieść jakąś zmienną do dowolnej potęgi?

Poprzedni Następny
Wiadomość
Spis treści
From: Mariusz Dybiec <mardyb_at_nospam_poczta.onet.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 19:01:54 +0100


DScreator wrote:
Jak podnieść jakąś zmienną do dowolnej potęgi?
No to jeszcze zdefiniuj czy dowolna oznacza:
1. dowolną liczbę naturalną?
2. dowolną liczbę całkowitą?
3. dowolną liczbę?

--
Pozdrawiam
MD

Poprzedni Następny
Wiadomość
Spis treści
From: DScreator <darecki22_at_nospam_tenbit.pl_>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 19:18:46 +0100


Mariusz Dybiec wrote:

DScreator wrote:

Jak podnieść jakąś zmienną do dowolnej potęgi?

No to jeszcze zdefiniuj czy dowolna oznacza:
1. dowolną liczbę naturalną?
2. dowolną liczbę całkowitą?
3. dowolną liczbę?

to znaczy dowolna przez dowolna :D

Poprzedni Następny
Wiadomość
Spis treści
From: DScreator <darecki22_at_nospam_tenbit.pl_>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 19:27:04 +0100


DScreator wrote:
Mariusz Dybiec wrote:

DScreator wrote:

Jak podnieść jakąś zmienną do dowolnej potęgi?


No to jeszcze zdefiniuj czy dowolna oznacza:
1. dowolną liczbę naturalną?
2. dowolną liczbę całkowitą?
3. dowolną liczbę?

to znaczy dowolna przez dowolna :D
Żeby było precyzyjnie podam przykład
zmienna jest np 20 i chcę ją podnieść do potęgi 0,16.

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 20:45:36 +0100


On Mon, 21 Mar 2005 19:27:04 +0100, DScreator wrote:
Żeby było precyzyjnie podam przykład
zmienna jest np 20 i chcę ją podnieść do potęgi 0,16.

Przez logarytmy juz tylko.

J.



Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 21:04:03 +0100


DScreator wrote:

Żeby było precyzyjnie podam przykład
zmienna jest np 20 i chcę ją podnieść do potęgi 0,16.

Korzystajac z algorytmu CORDIC* mozesz w bardzo
prosty i dosc szybki sposob wyliczyc sobie sinus oraz
kosinus hiperboliczny podanej wartosci x, a nastepnie
przypomniec sobie, ze e^x = sinh x + cosh x. A stad
juz jest w miare prosto.

Pozdrawiam
Piotr Wyderski

*) Biorac pod uwage liczbe rekomendacji, ktore mu tu
ostatnio wystawilem, zaczynam sie czuc jak akwizytor... :->



Poprzedni Następny
Wiadomość
Spis treści
From: DScreator <darecki22_at_nospam_tenbit.pl_>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 22:17:58 +0100


Piotr Wyderski wrote:

DScreator wrote:


Żeby było precyzyjnie podam przykład
zmienna jest np 20 i chcę ją podnieść do potęgi 0,16.


Korzystajac z algorytmu CORDIC* mozesz w bardzo
prosty i dosc szybki sposob wyliczyc sobie sinus oraz
kosinus hiperboliczny podanej wartosci x, a nastepnie
przypomniec sobie, ze e^x = sinh x + cosh x. A stad
juz jest w miare prosto.

Pozdrawiam
Piotr Wyderski

*) Biorac pod uwage liczbe rekomendacji, ktore mu tu
ostatnio wystawilem, zaczynam sie czuc jak akwizytor... :->


No jest to jakaś metoda. Potem dokładnie to przeliczę i sprawdzę czy nie
zapłacę w ten sposób ceną skomplikowanego programu. Realizuje dość
skomplikowane równanie.

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 23:10:31 +0100


On Mon, 21 Mar 2005 21:04:03 +0100, Piotr Wyderski wrote:
Korzystajac z algorytmu CORDIC* mozesz w bardzo
prosty i dosc szybki sposob wyliczyc sobie sinus oraz
kosinus hiperboliczny podanej wartosci x, a nastepnie
przypomniec sobie, ze e^x = sinh x + cosh x. A stad
juz jest w miare prosto.

Ale czy biorac metode stosowana w Cordicu za wzor nie wymyslimy
jeszcze prostszego sposobu ?

*) Biorac pod uwage liczbe rekomendacji, ktore mu tu
ostatnio wystawilem, zaczynam sie czuc jak akwizytor... :->

A wiesz co najsmieszniejsze jest - on jest z roku 1959.
Czemu tak malo popularny ze trzeba go odkrywac ?..

J.



Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Tue, 22 Mar 2005 18:15:06 +0100


J.F. wrote:

Ale czy biorac metode stosowana w Cordicu za wzor nie wymyslimy
jeszcze prostszego sposobu ?

Jak "jeszcze prostszego"? Przeciez sinus i kosinus hiperboliczny Cordic
obliczy rownolegle w jednym przebiegu, a koszt dodawania dwoch liczb
wynikowych to chyba nie jest jakies szczegolne obciazenie... Ja bym
sie raczej shiftow obawial -- male procesorki zazwyczaj nie maja barrel
shifterow i przesuniecia o k bitow trzeba skladac z k przesuniec o bit...
-(

Czemu tak malo popularny ze trzeba go odkrywac ?..

Nie wiem, ale np. koprocesor matematyczny 8087 korzystal
z tego wlasnie algorytmu do obliczania wielu funkcji.

Pozdrawiam
Piotr Wyderski



Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Tue, 22 Mar 2005 20:26:40 +0100


On Tue, 22 Mar 2005 18:15:06 +0100, Piotr Wyderski wrote:
J.F. wrote:
Ale czy biorac metode stosowana w Cordicu za wzor nie wymyslimy
jeszcze prostszego sposobu ?

Jak "jeszcze prostszego"? Przeciez sinus i kosinus hiperboliczny Cordic
obliczy rownolegle w jednym przebiegu, a koszt dodawania dwoch liczb
wynikowych to chyba nie jest jakies szczegolne obciazenie...

Ale na podobnej zasadzie chyba mozna liczyc bezposrednio exp.

Czemu tak malo popularny ze trzeba go odkrywac ?..

Nie wiem, ale np. koprocesor matematyczny 8087 korzystal
z tego wlasnie algorytmu do obliczania wielu funkcji.

Ale jakos nigdy wczesniej na niego nie trafilem. Tzn tak zeby
byl wymieniony jako najlepszy i ladnie opisany.
Fakt ze nie siedzialem az tak w temacie, ale chocby przypadkiem
powinienem trafic.

J.


Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Tue, 22 Mar 2005 20:37:33 +0100


J.F. wrote:

Ale jakos nigdy wczesniej na niego nie trafilem. Tzn tak zeby
byl wymieniony jako najlepszy i ladnie opisany.

A to fakt, w zadnej ksiazce do informatyki tez nie znalazlem o nim
wzmianki. Ale za to w podrecznikach do DSP to juz calkiem sporo.

Pozdrawiam
Piotr Wyderski


Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Tue, 22 Mar 2005 23:19:37 +0100


On Tue, 22 Mar 2005 20:37:33 +0100, Piotr Wyderski wrote:
J.F. wrote:
Ale jakos nigdy wczesniej na niego nie trafilem. Tzn tak zeby
byl wymieniony jako najlepszy i ladnie opisany.

A to fakt, w zadnej ksiazce do informatyki tez nie znalazlem o nim
wzmianki.

Embargo zalozyli ? Tajny byl ? :-)

J.




Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Wed, 23 Mar 2005 19:36:00 +0100


J.F. wrote:

Embargo zalozyli ? Tajny byl ? :-)

Nie przypuszczam, choc w sprzecie wojskowym stosowany
byl (w komputerach nawigacyjnych). Raczej po prostu na tyle
specjalistyczny, ze nie byl opisywany w ksiazkach "ogolnego
przeznaczenia", jak cala masa innych algorytmow i teorii.

Pozdrawiam
Piotr Wyderski


Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Tue, 22 Mar 2005 17:45:59 +0100


On Mon, 21 Mar 2005 21:04:03 +0100, Piotr Wyderski wrote:
Korzystajac z algorytmu CORDIC* mozesz w bardzo [..]

*) Biorac pod uwage liczbe rekomendacji, ktore mu tu
ostatnio wystawilem, zaczynam sie czuc jak akwizytor... :->

A propos .. wpisales to w koncu w fpga ?

Gdyby podejsc do tego czysto kombinacyjnie [tzn szereg blokow z
sumatorami] .. to ciekaw jestem co oscyloskop na wyjsciu pokaze
przez okres ustalania wyniku. To sie juz chyba powinno dac zobaczyc
-)

J.


Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Tue, 22 Mar 2005 18:08:44 +0100


J.F. wrote:

A propos .. wpisales to w koncu w fpga ?

Nie wiem. :-) Tzn. napisalem w VHDL i sie poprawnie kompiluje
(dziala do fmax=213MHz, a ja potrzebuje tylko 130MHz, wiec jest
duzo rezerwy; uklad zajmuje 1215 LE), ale jeszcze nie mialem
okazji przesymulowac, bo symulator udostepniany z darmowa
wersja Quartusa nie potrafi wczytywac i zapisywac danych z/do
pliku tekstowego, a z samego patrzenia na przebiegi nikt nie
wydedukuje, czy to jest dobrze -- tu Matlaba/Octave trzeba. :-)

Gdyby podejsc do tego czysto kombinacyjnie [tzn szereg blokow z
sumatorami]

Wlasnie cos takiego zastosowalem -- szereg 15 blokow
po 3 sumatory 24-bitowe kazdy. Tylko pomiedzy bloki
wstawilem latche, by uklad nie byl czysto kombinacyjny,
tj. zrobilem pelny pipelining.

.. to ciekaw jestem co oscyloskop na wyjsciu pokaze
przez okres ustalania wyniku. To sie juz chyba powinno dac zobaczyc

Hm, ale po co?

Pozdrawiam
Piotr Wyderski



Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Tue, 22 Mar 2005 20:03:55 +0100


On Tue, 22 Mar 2005 18:08:44 +0100, Piotr Wyderski wrote:
J.F. wrote:
Gdyby podejsc do tego czysto kombinacyjnie [tzn szereg blokow z
sumatorami]

Wlasnie cos takiego zastosowalem -- szereg 15 blokow
po 3 sumatory 24-bitowe kazdy. Tylko pomiedzy bloki
wstawilem latche, by uklad nie byl czysto kombinacyjny,
tj. zrobilem pelny pipelining.

Hm, zasadniczo powinny byc D-rejestry a nie latche

.. to ciekaw jestem co oscyloskop na wyjsciu pokaze
przez okres ustalania wyniku. To sie juz chyba powinno dac zobaczyc

Hm, ale po co?

A tak z ciekawosci - zeby zobaczyc jak bramki pracuja :-)

J.


Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Tue, 22 Mar 2005 20:35:36 +0100


J.F. wrote:

Hm, zasadniczo powinny byc D-rejestry a nie latche

A jaka jest miedzy nimi roznica? Zasze nazywalem
latchem wektor przerzutnikow D wyzwalanych zboczem. :-)
W koncu zatrzask...

A tak z ciekawosci - zeby zobaczyc jak bramki pracuja :-)

Ale w takim ukladzie kombinacyjnym stan nieustalony
bedzie trwal na tyle dlugo, ze na wyjsciu ukladu bedzie
mozna zaobserwowac rozne bardzo dziwne przejscia,
niekoniecznie zwiazane z algorytmem, a bardziej ze
struktura fizyczna ukladu. :-)

Pozdrawiam
Piotr Wyderski




Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Tue, 22 Mar 2005 23:19:37 +0100


On Tue, 22 Mar 2005 20:35:36 +0100, Piotr Wyderski wrote:
J.F. wrote:
Hm, zasadniczo powinny byc D-rejestry a nie latche

A jaka jest miedzy nimi roznica? Zasze nazywalem
latchem wektor przerzutnikow D wyzwalanych zboczem. :-)
W koncu zatrzask...

IMHO to latch nie jest wyzwalany zboczem, choc rozne sa szkoly.
A ze jest "przezroczysty" w czasie otwarcia - to sie do pipeline nie
nadaje.

Zobacz 74373 i 74374.

A tak z ciekawosci - zeby zobaczyc jak bramki pracuja :-)

Ale w takim ukladzie kombinacyjnym stan nieustalony
bedzie trwal na tyle dlugo, ze na wyjsciu ukladu bedzie
mozna zaobserwowac rozne bardzo dziwne przejscia,
niekoniecznie zwiazane z algorytmem, a bardziej ze
struktura fizyczna ukladu. :-)

I to jest wlasnie fascynujace :-)

J.


Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł" <pawel.neo_at_nospam_neostrada.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 19:39:03 +0100



to znaczy dowolna przez dowolna :D

Moim zdaniem w uP o ograniczonych zasobach chyba nie uda się wykonać
operacji na dowolnej liczbie.

Paweł



Poprzedni Następny
Wiadomość
Spis treści
From: DScreator <darecki22_at_nospam_tenbit.pl_>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 19:42:03 +0100


PaweÂł wrote:

to znaczy dowolna przez dowolna :D


Moim zdaniem w uP o ograniczonych zasobach chyba nie uda siĂŞ wykonaĂŚ
operacji na dowolnej liczbie.

PaweÂł


Jeśli się nie da to jest na to rozwiązanie - stworzyć tabelę z
obliczonymi wartościami dla poszczególnych zmiennych. Ale jest tego
trochę więc wolałbym jednak to jakoś policzyć na uP.

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł" <pawel.neo_at_nospam_neostrada.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 20:11:45 +0100


Jeśli się nie da to jest na to rozwiązanie - stworzyć tabelę z obliczonymi
wartościami dla poszczególnych zmiennych. Ale jest tego trochę więc
wolałbym jednak to jakoś policzyć na uP.

"Jest tego trochę" to bardzo łagodne określenie. Ja bym powiedział, raczej
że dowolnych liczb jest nieskończenie dużo.

Paweł



Poprzedni Następny
Wiadomość
Spis treści
From: "projekt206" <projekt206-praca_at_nospam_wp.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 19:12:59 +0100



Użytkownik "DScreator" <darecki22_at_nospam_tenbit.pl_> napisał w wiadomości
news:d1mrv2$f79$1_at_nospam_korweta.task.gda.pl...
Jak podnieść jakąś zmienną do dowolnej potęgi?

ZTCP pomnożyć mantysę przez liczbę (potęgi)
tzn. jeśli chcesz podnieść do potęgi 5 to mnożysz mantysę razy 5

--
Andrzej



Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Pytanie z assemblera AVR
Date: Mon, 21 Mar 2005 21:06:25 +0100


projekt206 wrote:

tzn. jeśli chcesz podnieść do potęgi 5 to mnożysz mantysę razy 5

A jesli chcesz podniesc do potegi pi? :-)

Pozdrawiam
Piotr Wyderski