Pytanie z assemblera AVR
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?
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
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
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.
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.
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... :->
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.
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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ł
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.
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ł
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
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