Citat:
DSP kod je super malecan, nema tu 30 fajlova, 600 funkcija, drajveri za ovo i ono etc etc .. ne programira se u timu ... pricamo o najcesce desetinama bajtova velikim programima, dakle tu "odrzavanje velikog projekta" postaje abitno, projekat prosto nije velik, "Brze pisanje velikog projekta" takodje ..
Ima prilican broj takvih slucajeva, samo ima i prilican broj znatno drugacijih scenarija.
Line echo cancellation + acoustic echo cancellation (recimo za ADSL modeme), razni DSP sistemi automatskog
upravljanja (robotika, upravljacki sistemi/sistemi za navodjenje), voice recognition aplikacije, kompleksna analiza muzike
(Melodyne, recimo), video enkoderi, pattern recognition itd imaju znatno vecu kompleksnost. Itekako se programira
u timu, i najmanji tim obicno ima bar troje ljudi.
Citat:
da treba da pisem neki program za dsp - pisao bi ga iskljucivo u asm-u
Sam algoritam se obavezno pise u necemu sto je znatno citljivije coveku + cross platform, sto znaci C ili Matlab. Izmedju
algoritam dizajnera i onog ko algoritam portuje na neki konkretni cip standardno se ne koristi ni jedan drugi mehanizam
komunikacije (mozda jos UML eventualno).
Implementacija na DSP RISC-u: time critical rutine: obavezno asembler, C kompajleri ni teorijski ne mogu da dosegnu
specialne sposobnosti hardvera i instrukcionih setova. Sve non-time critical rutine - C.
Na PC-ju slicno, uz veci izbor tehnologija (MMX, SSE, SSE2,...CUDA...)
Implementacija vecih blokova: obavezno C, iz svih mogucih razloga - koliko proizvodjac cipova ne zeli da dozvoljava pristup
hardverskim resursima na cipu, isto toliko korisnici ne zele da se time bave, i da za svaku razlicitu varijantu i podvarijantu
lupaju glavu sa necime sto ne treba da bude njihova briga i/ili ih ne zanima preterano.
Kod general purpose DSP-ova dobijas obe mogucnosti (asembler + C kompajler), dok kod RISC-ova postoje izuzetno slabe
sanse da dobijes ista osim klasican C API (headeri + biblioteke).
Dakle, ako se pogleda presek pozicija u DSP-u, u najboljem slucaju 1 od 5 ljudi dobije ulogu da pise u asembleru (a nije
nerealno ocekivati i gore proporcije).
[Ovu poruku je menjao milanche dana 25.05.2012. u 01:02 GMT+1]