Quantcast
Channel: Commenti a: Dentro i Sistemi Operativi – Syscalls su piattaforma ARM
Viewing all articles
Browse latest Browse all 10

Di: Antonio Barba (TheKaneB)

$
0
0

@Z80Fan: per quanto riguarda il context switch, l’overhead è abbastanza ridotto, in un centinaio di cicli di clock si dovrebbe completare il tutto.

@Fog76: Grazie :-)
L’assembly ARM ha poche istruzioni (come ogni ISA di tipo RISC), ma una nutrita serie di optional molto utili. Ad esempio l’esecuzione condizionale e il barrel shifter che consentono di manipolare in modo efficiente le tabelle di puntatori, tipica caratteristica dei linguaggi ad alto livello. Inoltre ha una ISA ortogonale, nel senso che quasi tutte le istruzioni presentano le stesse “opzioni” (quindi operandi con barrel shifter, codice condizionale e modalità di indirizzamento), rendendo più semplice il lavoro di ottimizzazione da parte del compilatore.
Di contro, trattandosi di un’ISA di tipo Load-Process-Store, necessita mediamente di un numero maggiore di istruzioni rispetto ad un’ISA di tipo CISC per compiere le stesse operazioni, e la lunghezza fissa a 32 bit delle istruzioni contribuisce ulteriormente ad aumentare l’overhead di memoria, quindi anche di cache e (corollario) nell’esecuzione del codice.

Il set di istruzioni Thumb-2 migliora notevolmente la situazione, perchè mantiene un’efficienza di esecuzioni molto vicina alla modalità ARM a 32 bit ed allo stesso tempo comprime il codice quasi della metà.


Viewing all articles
Browse latest Browse all 10

Trending Articles