StrongARM
# StrongARM

Lo StrongARM è una famiglia di microprocessori sviluppati da Digital Equipment Corporation (DEC). Gli StrongARM sono dei processori basati sull'architettura ARM sviluppata dalla Advanced RISC Machines ma migliorati per offrire prestazioni superiori. La famiglia StrongARM è stata venduta da DEC a Intel che l'ha utilizzata come base per realizzare i microprocessori XScale.

## Storia

La famiglia StrongARM è il risultato di un progetto congiunto ARM e DEC volto a sviluppare una famiglia di processori veloci basati su architettura ARM (sebbene non totalmente compatibili a livello di codice). I processori furono sviluppati per quel settore del mercato embedded che richiedeva prestazioni superiori a quelle offerte dai processori ARM ma che non poteva sopportare il consumo energetico di un processore standard per computer. In questo mercato ricadono per esempio i palmari o i set-top box.

Il progetto iniziò nel 1995 e velocemente produsse il primo processore, l'SA-100. Il processore venne utilizzato da Apple computer per il suo palmare Newton, da Acorn per le macchine Risc PC, da Eidos per il suo sistema di editing video e da molti altri progetti.

In seguito la Digital Semiconductor (una divisione della DEC) venne venduta a Intel. Intel acquisì la divisione per porre termine a una causa intentata da DEC verso Intel per delle presunte violazioni di brevetti da parte Intel. Intel utilizzò la linea StrongARM per rimpiazzare le sue linee RISC i860 e i960 con la linea XScale.

Dopo lo sviluppo del processore SA-100 venne prodotto il SA-110 e infine il SA-1100 prima del blocco della famiglia.

## Descrizione

La famiglia StrongARM è la più veloce famiglia di processori ARM, sebbene non sia totalmente compatibile con i programmi ARM. Con una frequenza di 206 MHz il processore sviluppa 235 MIPS (1.14 MIPS/Mhz). la compatibilità software con le prime famiglie ARM è limitata dal fatto che il processore ha una cache separata per i dati e le istruzioni e quindi non è in grado di eseguire il codice automodificante. Le cache separate sono state riprese anche dall'architettura ARMv4 (utilizzata per esempio dal processore ARM/Texas Instruments ARM925). Lo StrongARM ha un'istruzione che invalida la cache e ne impone il ricaricamento dalla memoria principale. Raramente i programmi ARM utilizzavano codice automodificante e quindi i problemi di compatibilità erano abbastanza limitati, inoltre lo StrongARM non è stato l'unico processore ad avere questo problema. Per esempio il processore Motorola 68020 era il primo processore dotato di cache separata della famiglia 68000 e quindi subì gli stessi problemi di compatibilità dello StrongARM. Anche nel caso del 68020 il codice automodificante era utilizzato raramente e quindi i problemi di compatibilità furono più teorici che pratici per la maggior parte degli utenti.

