# PA-RISC

PA-RISC è un'architettura di microprocessori sviluppata dalla Hewlett-Packard Systems & VLSI Technology Operation. Come indicato dal nome il processore implementa un'architettura RISC (Reduced Instruction Set Computing), le lettere PA indicano invece Precision Architecture. Spesso l'architettura viene indicata semplicemente come HP/PA. Le lettere PA vengono considerate da alcuni l'acronimo di Palo Alto, città dove si trova la sede principale dell'HP.

## Descrizione

Verso la fine degli anni ottanta l'HP produceva quattro famiglie di computer basate su processori CISC. La prima linea era chiamata Vectra Series ed era basata su processori Intel 80286. La seconda linea chiamata HP Series 300 utilizzava il processore Motorola 68000 (nel 1990 si aggiunse la serie HP Apollo 400 basata su Motorola 68000 quando HP acquisì la Apollo computer). L'altra serie era la linea 200 basata sul chip custom silicon on sapphire (SOS). I chip SOS furono utilizzati anche dalla linea HP 3000 a 16 bit. L'ultima linea era l'HP 9000 Series 500 (a 16 e 32 bit) basata sulle CPU FOCUS. HP decise di sviluppare l'architettura PA-RISC per muovere tutte le linee non intel su un'unica piattaforma basata sul chip RISC.
I primo chip PA-RISC furono caratterizzati da un'architettura a 32 bit. Il chip venne utilizzato nella serie HP 3000 presentata verso la fine degli anni 80. Le macchine 930 e 950 comunemente erano conosciute con il nome Spectrum (spettro), il nome in codice utilizzato durante il loro sviluppo. Le macchine utilizzavano il sistema operativo MPE/iX. Poco dopo le macchine della serie HP 9000 furono aggiornate con i processori PA-RISC, le macchine utilizzano il sistema operativo HP-UX, una versione del sistema operativo UNIX di proprietà HP.
Altri sistemi disponibili per i chip PA-RISC sono Linux, OpenBSD, NetBSD, NEXTSTEP, e una versione di Windows NT che non fu messo in vendita.
Una caratteristica interessante dei chip PA-RISC è che generalmente questi chip non sono dotati di cache di secondo livello. Normalmente questi processori sono dotati di un'ampia cache di primo livello (a volte esterna) collegata al processore tramite un bus dedicato. Solo i PA-7100LC, PA-7300LC, PA-8800 e PA-8900 sono dotati di cache di secondo livello. Un'altra innovazione di questa architettura fu l'introduzione di istruzioni multimediali SIMD chiamate MAX. Questa estensione venne introdotta nel processore PA-7100LC.
Il progetto venne aggiornato nel 1996 con la presentazione dell'architettura PA.RISC 2.0, un'architettura totalmente a 64 bit. Il primo processore di questa famiglia fu il PA-8000, un chip dotato di dieci unità funzionali e di pipeline aggressive. Un altro cambiamento fu la divisione della cache istruzioni in due cache una per le istruzioni completabili velocemente e la seconda per le istruzioni che richiedevano più tempo. Il PA-8200 venne presentato nel 1997 e si differenziava dal PA-8000 per la presenza di un sistema di predizione delle diramazioni migliore, per un TLB veloce e per una cache più ampia e rapida.
Il PA-8500 incluse la cache nel processore, la cache era di 1.5 MB ed era di primo livello. Questa miglioria rese il processore molto veloce (per l'epoca). Venne aggiunto un bus ad alte prestazioni per la gestione della memoria DDR che forniva una banda teorica di picco di 2 GB/s. La tabella dei salti venne raddoppiata portandola a 2048 elementi e il Translation Lookaside Buffer venne portato da 120 a 160 elementi.
L'8600 era in sostanza un 8500 a frequenza maggiore con una gestione della cache istruzione del tipo pseudo-LRU. L'8700 era in sostanza un 8600 a frequenza superiore con una cache di primo livello da 2.25 MB. Il processore inoltre introdusse la gestione pseudo-LRU della cache dati e la possibilità di precaricare i dati. Si noti che la relativa alta latenza della cache di primo livello poteva rappresentare un collo di bottiglia. Tuttavia l'elevata dimensione della cache compensava la sua elevata latenza.
Il PA-8800 (nome in codice Mako) conteneva due processori indipendenti in un singolo chip. Ogni integrato formava un sistema SMP a due vie. Ogni processore aveva una cache di primo livello di 1.5 MB e supportava una cache di secondo livello opzionale da 32 MB su chip separati. Il bus di sistema fu rimpiazzato dal bus ZX1 da 6.4 GB/s un bus ad alte prestazioni che permetteva di sviluppare server con architetture per PA-RISC o Itanium con modifiche marginali.
Il PA-8900 era simile al PA-8800 ma era dotato di una veloce cache L2 da 64 MB condivisa. Il core aveva subito miglioramenti marginali come una migliore gestione dei conflitti della cache e del rilevamento degli errori. Comunque non era un core 8800 rimpicciolito come inizialmente si era pensato. È l'ultimo processore della famiglia PA-RISC.
Il progetto della serie 8000 non ha subito modifiche radicali dall'PA 8000 in poi. Ogni generazione si è concentrata sull'innalzamento della frequenza operativa e sull'integrazione di una cache di dimensioni maggiori. La modifica più significativa è stata l'introduzione di due core in un chip. Come per l'architettura MIPS anche l'architettura PA-RISC per le macchine server sta raggiungendo la fine della sua vita commerciale.