AVRmega i dzielenie
Masz problem? Zapytaj na forum elektroda.pl
From: "Zenek" <selin1_at_nospam_wp.pl>
Subject: AVRmega i dzielenie
Date: Sat, 10 Aug 2002 12:53:27 +0200
Jak wykorzystać AVRmega163 (lub inne które mają sprzętowe mnożenie liczb) do
dzielenia liczb np. 32bit przez 8bit bez znaku? Na stronie Atmela szukałem,
są tylko procedury mnożenia.
Zenek
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: AVRmega i dzielenie
Date: 10 Aug 2002 13:44:49 +0200
Jak wykorzystać AVRmega163 (lub inne które mają sprzętowe
mnożenie liczb) do
dzielenia liczb np. 32bit przez 8bit bez znaku? Na stronie Atmela
szukałem,
są tylko procedury mnożenia.
To proste.
Wystarczy napisać samemu procedurę dzielenia ;-)
pzdr
Artur
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: AVRmega i dzielenie
Date: Sat, 10 Aug 2002 16:37:36 +0200
Zenek wrote:
Jak wykorzystać AVRmega163 (lub inne które mają sprzętowe mnożenie liczb)
do
dzielenia liczb np. 32bit przez 8bit bez znaku? Na stronie Atmela
szukałem,
są tylko procedury mnożenia.
Algorytmami iterujacymi funkcje, np. Newtona-Rhapsona lub przez rozwiniecie
1/x+1 w szereg Maclaurina przy uzyciu algorytmu Goldschmidta. Mozna tez
pomyslec nad jakims algorytmem specjalnym, w koncu 32/8 ma przyjemne
wlasciwosci -- mozna latwo przewidziec przyblizenie wyniku, a pozniej
uruchomic
jakis algorytm o (nad)kwadratowej zbieznosci. Zalezy Ci bardziej na
szybkosci,
czy na malej objetosci kodu? Dobrze kombinujesz z tym mnozeniem, pod
warunkiem, ze jest ono szybkie.
Pozdrawiam
Piotr Wyderski
PS. Poszukaj sobie w Internecie "An analysis of division algorithms
and implementations" Obermana i Flynna; jest nastawiona na hardware,
ale pomysly sa uniwersalne -- moze cos Ci podpasuje.
PS2. Jesli masz jakies male dzielenie sprzetowe, np. 8/8, to
sprawa znacznie sie upraszcza, bo dostajemy dosc dobry
poczatkowy aproksymator. Ja nie znam tego Atmelka.
PS3. Zawsze mozna tez "na chama", algorytmem przesuniec
i odejmowan, ale to nie musi byc najlepszy ani najszybszy pomysl,
lecz z pewnoscia najkrotszy w implementacji.
PS4. Zaraz ktos napisze, ze EPROM-em. ;-)