ASM x C

Milan B. milan@bastl.sk
Pátek Srpen 28 15:29:26 CEST 2009


Allegedly, one Real Programmer managed to tuck a pattern matching 
program into a few hundred bytes of unused memory in a Voyager 
spacecraft that searched for, located, and photographed a new moon of 
Jupiter.

(from: Real Programmers Don't Use Pascal,  by ED Post, 1983)

Tam by tiez asi tazko davali silnejsi procesor :)
-m-

Galloth wrote:
> No ja se nedivim, sam sice s procesory moc nedelam, spise s FPGA, ale
> myslim si, ze situace je vicemene podobna. Proste se udela nejaky
> pocatecni navrh, rozdeleni co bude v jak implementovano, pak se
> navrhne deska vyrobi, napise se program, ten se sprovozni a pak se
> zarizeni pouziva. A kdyz se v ramci pouzivani objevi nedostatek, tak
> je docela pochopitelne, ze nejsnadnejsi cestou kreseni je prave uprava
> programu i za cenu, ze HW zatlacim skoro az za jeho moznosti.
>
> Honza
>
> 2009/8/28 Bc. Marek Pavlu <pavlu@hwserver.cz>:
>   
>> Ach jo, zas takova,
>> lidi, ja se divim, ze to rovnou nedelate na procesorech 4004,
>> trebas byste mohli delat analyzu efektivnosti daneho kodu deset let...
>> Fakt to nechapu, proc nelze pouzit vykonnejsi procesor.
>> Ve skutecnosti, proc nepouzit procesor na tyto aplikace mnohem lepe
>> vybaveny,
>> ruzne dsp, dsc jsou na trhu na babku...
>>
>> Osobne mi na techto genialnich pocinech na hranici moznosti daneho procesoru
>> vadi jeden fakt,
>> ze takovou aplikacu uz dale neni kam vyvijet, protoze kazda i piodi zmena
>> znamena v zasade exponencialni narust
>> v nutnem case tu upravu provest a to mi neprijde jako dobre...
>>
>> S pozdravem,
>>                MP
>>
>>
>>
>>
>> -----Original Message-----
>> From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On
>> Behalf Of Petr Kubáč
>> Sent: Friday, July 24, 2009 10:46 PM
>> To: HW-news
>> Subject: Re: ASM x C
>>
>>     
>>> Docela by mě zajímalo, co znamená " casove kriticke casti programu" -
>>> jako nějaký příklad. Nedokážu si prostě představit něco, co se dá udělat
>>> v ASM a v C (při správném nastavení překladače, linkeru atd.) ne.
>>>       
>> Nedovedu si moderni a slozite procesory ala ARM nebo X86 programovat jinak
>> nez ve vyssim jazyku uz kvuli nejasnemu vyznamu co je pro tyto architektury
>> vlastne optimalni kod, ale pokusim se priblizit jednu aplikací, kterou si
>> moc nedovedu predstavit v C
>>
>> Mam udelany z AVR na 16 MHZ ultrazvukovy dalkomer, jednim reproduktorem
>> piskne a dvema mikrofony posloucha, aby krome vzdalenosti mel jeste azimut
>> (podle casove diference leveho a praveho kanalu)
>>
>> Aby nedochazelo ke zkresleni v analogovem retezci tak se signal z mikrofonu
>> digitalizuje primo a to na 4 nasobku pracovni frekvence - to jest 2kanaly x
>> 40kHz x 4 = 320kHz.
>>
>> System posloucha 0.1 sec to je 32 000 vzorku, protoze zadne bezne AVR nema
>> takovou pamet tak se paralelne s digitllizaci z obou kanalu extrahuji echa a
>>
>> to presneji jenom jejich "nabezne hrany"
>> a spolu s casovou znackou ulozit do bufferu pro dalsi zpracovani
>>
>> A ted pocitejme - 16 MHz / 320 kHz = 50 taktu na jeden vzorek - dost jsem se
>>
>> zapotil i v ASM protoze nejrobustnejsi algoritmus se ukazal byt takovy,
>> ktery behem tech 50 taktu spocita dva exponencialni klouzave prumery kazdy s
>>
>> jinou casovou konstatnou, ty od sebe odecte a pokud je vysledek vyssi nez
>> kriticka hodnota tak si ji spolu s hodnotou timeru ulozi do bufferu
>>
>> Co vy na to v 50 taktech ?
>>
>> Zdravi Petr Kubac
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list@list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>>  _____
>>
>> avast! Antivirus <http://www.avast.com> : Odchozi zprava cista.
>>
>>
>> Virova databaze (VPS): 090827-0, 27.08.2009
>> Testovano: 28.8.2009 14:10:50
>> avast! - copyright (c) 1988-2009 ALWIL Software.
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list@list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>     
>
>
>
>   




Další informace o konferenci Hw-list