[PLUTO-help] prestazioni hardware necessarie per un software
Gian Uberto Lauri
GianUberto.Lauri a eng.it
Mar 7 Nov 2006 09:25:29 CET
>>>>> "CA" == Carlo Agrusti <carlo-ag a libero.it> writes:
>> 3- Il comando "top" mostra l'attività dei vari task del
>> sistema. Potrei far girare la mia applicazione nella macchina host
>> e utilizzare quel comando per vedere quante risorse impiega... ma è
>> corretto pensare che se l'applicazione occupa tipo il 25% della
>> CPU, significa che in un'analoga macchina x86, con la stessa
>> memoria RAM e frequenza di clock 1/4, l'applicazione girerà lo
>> stesso, occupando però tutta la CPU?
>>
>> E a partire da una valutazione di questo tipo posso fare delle
>> considerazioni di prestazioni minime per l'architettura ARM?
CA> Tutto e' possibile, ma non credo che sia una via praticabile;
Io invece ho qualche dubbio. Anzi qualche forte dubbio.
Un ARM se non ricordo male è una architettura RISC, ovvero una
macchina Load/Store con pochi tipi di indirizzamento ma una certa
quantità di registri (se segue la struttura classica, circa una
trentina (trentadue, di cui uno che vale fisso 0).
Un iA32 (x86 con x > 2) ha invece un numero di indirizzamenti più
ricco, ma meno registri. Quindi vuole dire che la stessa riga di
codice C può venir tradotta non solo in un diverso numero di
istruzioni, ma anche in istruzioni che fanno un diverso numero di
accessi alla memoria.
Poi ci si mettono di mezzo le differenti velocità di accesso alla
memoria con i vari livelli di cache L1 e L2.
CA> tieni presente che il tuo sistema di sviluppo puo' contare su un
CA> coprocessore matematico, mentre se vai su ARM92x dovrai
CA> accontentarti della emulazione (o del soft-float, ma questa e' una
CA> brutta bestia), e immagino che le applicazioni voip vadano molto
CA> in virgola mobile.
Qui non sarei d'accordo. VOIP (applicazione che funziona se hai tanta
banda - andarsi a leggere quello che scriveva Vadim Antonov(*) sul
veicolare dati real time su IP) deve elaborare dati prelevati da un
campionatore, comprimerli, impacchettarli, spedirli, ricevere il
flusso opposto, spacchettarlo, decomprimerlo e convertirlo in analogi-
co.
Se non ricordo male tutte cose che si fanno con gli interi, sopratutto
il solo audio: un CD se non ricordo male usa un capionamento a 44 kHz
con campioni da 16 bit, per la telefonia ci si accontenta(va) di 8 bit
a 8 kHz. Vero anche che sono passa 10 anni che non mi occupo più di
queste cose.
CA> Probabilmente, il modo migliore di procedere e' quello di emulare
CA> la cpu ARM - puoi usare direttamente qemu da dentro scratchbox - e
CA> provare a fare qualche valutazione in questo senso, magari tenendo
CA> presente che un 920T a 200MHz tira fuori una cinquantina di
CA> bogomips (per quello che valgono).
Concordo, la via dell'emulazione software è la migliore in questo
scenario.
--
/\ ___
/___/\_|_|\_|__|___Gian Uberto Lauri_____
//--\| | \| | Integralista GNUslamico
\/ e coltivatore diretto di Software
More information about the pluto-help
mailing list