-
1. Data: 2009-07-04 04:46:07
Temat: Wyznaczenie mocy obliczeniowej uC
Od: slawek7 <s...@w...pl>
Cześć.
Powiedzcie mi jak się wyznacza moc obliczeniową danego uC. I co
oznacza stwierdzenie że "AVR nie ma dostatecznej mocy obliczeniowej i
należy zastosować inny uC np ARM"
JEst to niby intuicyjne, ale jak się zabieram do tego, to nie za
bardzo to rozumiem?
Czy jednostką mocy obliczeniowej jest MIPS?
-
2. Data: 2009-07-04 08:50:37
Temat: Re: Wyznaczenie mocy obliczeniowej uC
Od: J.F. <j...@p...onet.pl>
On Fri, 3 Jul 2009 21:46:07 -0700 (PDT), slawek7 wrote:
>Powiedzcie mi jak się wyznacza moc obliczeniową danego uC. I co
>oznacza stwierdzenie że "AVR nie ma dostatecznej mocy obliczeniowej i
>należy zastosować inny uC np ARM"
>JEst to niby intuicyjne, ale jak się zabieram do tego, to nie za
>bardzo to rozumiem?
>Czy jednostką mocy obliczeniowej jest MIPS?
Zalezy czy sprzedajesz czy kupujesz :-)
Procesorow asynchronicznych na szczescie jeszcze nie ma, wiec
wszystkie wykonuja instrukcje zgodnie z zegarem. Czestotliwosc zegara
doprowadzona z zewnatrz potrafia sobie przemnozyc.
Jedna instrukcja moze zajac kilka cykli, a moga istniec konstrukcje
gdzie sie wykonanie naklada i rozpoczynamy kolejna instrukcje gdy
poprzednia jeszcze trwa, albo w ogole kilka rownolegle sie wykonuje,
czy kilka osobnych procesorow w jednej kosci mamy.
Jak ilosc cykli jest zmienna, to juz wyznaczenie ilosci instrukcji na
sekunde jest trudne - sprzedawca uzyje najszybszych :-)
A osobna sprawa to co to za instrukcje. Moze sie okazac ze jedna
instrukcja takiego ARM wymaga kilkaset instrukcji 8-bitowego
procesorka zeby zrobic to samo. Bo to jest instrukcja mnozenia
32-bitowych liczb, a maly procesorek potrafi tylko dodawac i tylko
8-bitowe.
Sporo wiec zalezy od tego jakie masz potrzeby obliczeniowe w
programie.
J.
-
3. Data: 2009-07-04 10:15:07
Temat: Re: Wyznaczenie mocy obliczeniowej uC
Od: "T.M.F." <t...@n...mp.pl>
> Jak ilosc cykli jest zmienna, to juz wyznaczenie ilosci instrukcji na
> sekunde jest trudne - sprzedawca uzyje najszybszych :-)
Nie jest tak zle. Sa wystandaryzowane benchmarki, na podstawie ktorych
podaje sie predkosc.
> A osobna sprawa to co to za instrukcje. Moze sie okazac ze jedna
> instrukcja takiego ARM wymaga kilkaset instrukcji 8-bitowego
> procesorka zeby zrobic to samo. Bo to jest instrukcja mnozenia
> 32-bitowych liczb, a maly procesorek potrafi tylko dodawac i tylko
> 8-bitowe.
Eee, troche cie ponioslo :) 32-bitowe mnozenie poskladane z 8-bitowych
to nie kilkaset instrukcji :)
--
Inteligentny dom - http://idom.wizzard.one.pl
http://idom.sourceforge.net/
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.
-
4. Data: 2009-07-04 10:27:01
Temat: Re: Wyznaczenie mocy obliczeniowej uC
Od: shg <s...@g...com>
On 4 Lip, 10:50, J.F. <j...@p...onet.pl> wrote:
> Procesorow asynchronicznych na szczescie jeszcze nie ma, wiec
> wszystkie wykonuja instrukcje zgodnie z zegarem.
Ciekawostka: są.
Co do wyznaczania wydajności, to są różne benchmarki, gdzie mierzony
jest czas wykonywania jakiegoś mniej lub bardziej różnorodnego zestawu
zadań, jeżeli chodzi o wydajnosć w obliczeniach, to wynik jest
miarodajny. Gorzej z podstawowymi operacjami typu pętle, skoki, czy
dostęp do pamięci. Tutaj to raczej trzeba samemu zajrzeć, ile cykli
zegarowych to zajmuje, bo trudno jest zrobić uniwersalny test
wydajności, który pokazałby, co jest szybkie, a co wolne na danej
architekturze.
Wielu producentów udostępnia wyniki takich benchmarków dla swoich CPU,
oczywiście wybierana jest procedura testowa dająca najlepszy wynik dla
produkowanej architektury, ale jednak zawsze coś z tego można
wywnioskować.
-
5. Data: 2009-07-04 10:29:11
Temat: Re: Wyznaczenie mocy obliczeniowej uC
Od: Grzegorz Kurczyk <g...@c...slupsk.pl>
Użytkownik T.M.F. napisał:
>
> Eee, troche cie ponioslo :) 32-bitowe mnozenie poskladane z 8-bitowych
> to nie kilkaset instrukcji :)
W ATtiny ? ;-)
-
6. Data: 2009-07-04 12:41:52
Temat: Re: Wyznaczenie mocy obliczeniowej uC
Od: "T.M.F." <t...@n...mp.pl>
W dniu 04.07.2009 12:29, Grzegorz Kurczyk pisze:
> Użytkownik T.M.F. napisał:
>>
>> Eee, troche cie ponioslo :) 32-bitowe mnozenie poskladane z 8-bitowych
>> to nie kilkaset instrukcji :)
>
> W ATtiny ? ;-)
A ATTiny ma sprzetowe mnozenie 8-bitowe, o ktorym pisalem?:)
--
Inteligentny dom - http://idom.wizzard.one.pl
http://idom.sourceforge.net/
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.
-
7. Data: 2009-07-04 13:58:01
Temat: Re: Wyznaczenie mocy obliczeniowej uC
Od: J.F. <j...@p...onet.pl>
On Sat, 4 Jul 2009 03:27:01 -0700 (PDT), shg wrote:
>On 4 Lip, 10:50, J.F. <j...@p...onet.pl> wrote:
>> Procesorow asynchronicznych na szczescie jeszcze nie ma, wiec
>> wszystkie wykonuja instrukcje zgodnie z zegarem.
>Ciekawostka: są.
Na szczescie nie dostepne w sklepach, wiec mozemy sobie darowac :-)
Ale jesli masz jakies ciekawe linki, to podaj w osobnym watku.
>Co do wyznaczania wydajności, to są różne benchmarki, gdzie mierzony
>jest czas wykonywania jakiegoś mniej lub bardziej różnorodnego zestawu
>zadań, jeżeli chodzi o wydajnosć w obliczeniach, to wynik jest
>miarodajny.
Miarodajny dla tych benchmarkow oczywicie :-(
J.
-
8. Data: 2009-07-04 14:02:12
Temat: Re: Wyznaczenie mocy obliczeniowej uC
Od: J.F. <j...@p...onet.pl>
On Sat, 04 Jul 2009 12:15:07 +0200, T.M.F. wrote:
>> A osobna sprawa to co to za instrukcje. Moze sie okazac ze jedna
>> instrukcja takiego ARM wymaga kilkaset instrukcji 8-bitowego
>> procesorka zeby zrobic to samo. Bo to jest instrukcja mnozenia
>> 32-bitowych liczb, a maly procesorek potrafi tylko dodawac i tylko
>> 8-bitowe.
>
>Eee, troche cie ponioslo :) 32-bitowe mnozenie poskladane z 8-bitowych
>to nie kilkaset instrukcji :)
to przemnoz dwie liczby 32 bitowe zapamietane w roznych miejscach
pamieci na 6502 na przyklad
bez sprzetowego mnozenia to sa 32 obiegi petli, w kazdym dodawanie 4
do 8 bajtow .. i setka instrukcji wychodzi.
J.
-
9. Data: 2009-07-04 14:50:11
Temat: Re: Wyznaczenie mocy obliczeniowej uC
Od: slawek7 <s...@w...pl>
Coś mi tu namieszaliście. Nic z tego nie rozumiem.
Mam AtMega 8 i chciałbym wiedzieć jaka jest jego moc obliczeniowa? I
jak ją wyznaczyć oraz do czego służy ten paramer. I chciałbym to
porównać np z ARM AT91SAM7256.
Nie słyszałem o Benchmarkach do AVR'ach?
I przykład. Powiedzmy, że mam zbudowany na ATmega8 analizator widma z
DFT. Skąd mam wiedzieć że jego moc obliczeniowa jest wystarczająca do
tego zadania i skąd mam wiedzieć że ARM będzie odpowiedni.
-
10. Data: 2009-07-04 16:29:08
Temat: Re: Wyznaczenie mocy obliczeniowej uC
Od: shg <s...@g...com>
On 4 Lip, 16:50, slawek7 <s...@w...pl> wrote:
> Coś mi tu namieszaliście. Nic z tego nie rozumiem.
> Mam AtMega 8 i chciałbym wiedzieć jaka jest jego moc obliczeniowa? I
> jak ją wyznaczyć oraz do czego służy ten paramer. I chciałbym to
> porównać np z ARM AT91SAM7256.
Parametr służy do orientacyjnego określenia, który procesor będzie
lepszy w danym zastosowaniu, w tym celu trzeba porównać wyniki wielu
różnych benchmarków, a także wiedzieć co nieco o tym, co będzie robił
program.
> I przykład. Powiedzmy, że mam zbudowany na ATmega8 analizator widma z
> DFT. Skąd mam wiedzieć że jego moc obliczeniowa jest wystarczająca do
> tego zadania i skąd mam wiedzieć że ARM będzie odpowiedni.
ARM będzie odpowiedni.
A tak poważnie, to w praktyce potrzebną moc obliczeniową określa się
na oko i buduje prototyp. Jak się okazuje, że jest za mało, to albo
się buduje kolejny prototyp z mocniejszym CPU, albo optymalizuje się
program, albo wreszcie zmienia się założenia (np. odświeżanie 30 razy
na sekundę zamiast 50). Często za pomocą optymalizacji da się
przyśpieszyć nawet kilkukrotnie.
Co zaś do określania mocy obliczeniowej na oko, to przydaje się
doświadczenie.
> Nie słyszałem o Benchmarkach do AVR'ach?
Nie wiem, wydaje mi się że nie.
Przykład, ten akurat do obliczeń zmiennoprzecinkowych:
http://www.nabble.com/Whetstone-Benchmark-td14987664
.html
Źródło i więcej danych: http://www.eecs.berkeley.edu/~boser/courses/40/labs/
docs/microcontroller%20benchmarks.pdf
Dopóki nie piszesz w asemblerze, to i tak większość zależy od
kompilatora, powyższy link jest tego znakomitym dowodem.