# PA-RISC

Precision Architecture RISC (PA-RISC) of Hewlett Packard Precision Architecture (HP/PA of kortweg HPPA) is een instructiesetarchitectuur (ISA) die door Hewlett-Packard ontwikkeld werd van de jaren 1980 tot de jaren 2000.
De architectuur werd geïntroduceerd op 26 februari 1986, toen de HP 3000 Series 930 en HP 9000 Model 840 werden gelanceerd met de eerste implementatie, de TS-1. HP stopte eind 2008 met de verkoop van PA-RISC-gebaseerde HP 9000-systemen, maar ondersteunde servers met PA-RISC-chips nog tot 2013. PA-RISC werd opgevolgd door de IA-64 ISA die gezamenlijk ontwikkeld werd door HP en Intel.

## Geschiedenis

Eind jaren 80 bouwde HP vier series computers, allemaal gebaseerd op CISC CPU's. Eén lijn was de Intel 80286-gebaseerde IBM PC-compatibele Vectra Series, gestart in 1986. Alle andere gebruikten geen Intel-processoren: de HP 300 Series waren Motorola 68000-gebaseerde werkstations, de 16-bit HP 3000 "Classic" Series minicomputers gebruikten een SOS-chipontwerp en de HP 9000 Series 500 was gebaseerd op de FOCUS-microprocessor, een eigen processorontwerp van HP.
De Precision Architecture is het resultaat van wat binnen Hewlett-Packard bekend stond als het Spectrum-programma. HP was van plan om Spectrum te gebruiken om al hun niet-pc-compatibele machines naar een enkele RISC CPU-familie te migreren.
Begin 1982 begon het werk aan de Precision Architecture bij HP Laboratories, waarbij de instructieset en het virtuele geheugensysteem werden gedefinieerd. De ontwikkeling van de eerste TTL-implementatie begon in april 1983. In juli 1984 werd een definitief processorontwerp aan softwareontwikkelaars geleverd. Vervolgens werden in de loop van 1985 en 1986 een reeks prototypes geproduceerd.
De eerste commerciële implementatie was de TS-1, een centrale verwerkingseenheid bestaande uit zes printplaten met discrete transistor-transistorlogica (74F TTL)-schakelingen. Latere implementaties waren multi-chip VLSI-ontwerpen die werden vervaardigd in NMOS- (NS-1 en NS-2) en CMOS-processen (CS-1 en PCX). Ze werden eind jaren 80 voor het eerst gebruikt in een nieuwe serie van HP 3000-machines: de 930 en 950, destijds algemeen bekend als Spectrum-systemen, een naam die ze in de ontwikkelingsfase gekregen hadden. Deze machines draaiden MPE-XL. De HP 9000-machines kregen al snel ook een PA-RISC-processor en draaiden HP-UX, de HP-versie van UNIX.
Er zijn nog andere besturingssystemen naar de PA-RISC-architectuur geporteerd, waaronder Linux, OpenBSD, NetBSD, OSF/1 en NeXTSTEP.
Een interessant aspect van de PA-RISC-lijn is dat de meeste generaties geen level2-cache hebben. In plaats daarvan worden grote level1-caches gebruikt, aanvankelijk als afzonderlijke chips die met elkaar verbonden zijn door een bus en later geïntegreerd op de chip. Alleen de PA-7100LC en PA-7300LC hebben L2-caches. Een andere innovatie van PA-RISC is de toevoeging van vectorinstructies (SIMD) in de vorm van MAX, die voor het eerst werden geïntroduceerd op de PA-7100LC.
De ISA werd met PA-RISC 2.0 in 1996 uitgebreid naar 64 bits. PA-RISC 2.0 voegde ook de MAX-2 SIMD-extensie toe, die instructies biedt voor het versnellen van multimediatoepassingen. De eerste PA-RISC 2.0-implementatie was de PA-8000, die in januari 1996 werd geïntroduceerd.

## Precision RISC Organization

Precision RISC Organization was een industriële groep onder leiding van HP die in 1992 opgericht werd om de PA-RISC-architectuur te promoten. Onder de leden bevonden zich onder andere Convex, Hitachi, Hughes Aircraft, Mitsubishi, NEC, OKI, Prime, Stratus, Yokogawa, Red Brick Software en Allegro Consultants. Sommige van deze bedrijven brachten ook eigen PA-RISC-implementaties op de markt.

## Specificaties
### PA-RISC Processors van HP

| Naam | Model | ISA | Bits | Cores | Fabr | Transistoren | Snelheid | L2-cache | Jaartal |
| | TS-1 | 1.0 | 32 bits | 1 | TTL | - | 8 MHz | - | 1986 |
| | CS-1 | 1.0 | 32 bits | 1 | 1,6 μm | 0,164 miljoen | 8 MHz | - | 1987 |
| | NS-1 | 1.0 | 32 bits | 1 | 1,7 μm | 0,144 miljoen | 25/30 MHz | - | 1987 |
| | NS-2 | 1.0 | 32 bits | 1 | 1,5 μm | 0,183 miljoen | 25/30 MHz | - | 1989 |
| | PCX | 1.0 | 32 bits | 1 | 1,0 μm | 0,196 miljoen | 50/60 MHz | - | 1990 |
| PA-7000 | PCX-S | 1.1a | 32 bits | 1 | 1,0 μm | 0,58 miljoen | 66 MHz | - | 1991 |
| PA-7100 | PCX-T | 1.1b | 32 bits | 1 | 0,8 μm | 0,85 miljoen | 33–100 MHz | - | 1992 |
| PA-7150 | PCX-T | 1.1b | 32 bits | 1 | 0,8 μm | 0,85 miljoen | 125 MHz | - | 1994 |
| PA-7200 | PCX-T' | 1.1c | 32 bits | 1 | 0,55 μm | 1,26 miljoen | 120 MHz | - | 1994 |
| PA-7100LC | PCX-L | 1.1d | 32 bits | 1 | 0,75 μm | 0,9 miljoen | 60–100 MHz | 2 MB | 1994 |
| PA-7300LC | PCX-L2 | 1.1e | 32 bits | 1 | 0,5 μm | 9,2 miljoen | 132–180 MHz | 0-8 MB | 1996 |
| PA-8000 | PCX-U | 2.0 | 64 bits | 1 | 0,5 μm | 3,8 miljoen | 160–180 MHz | - | 1996 |
| PA-8200 | PCX-U+ | 2.0 | 64 bits | 1 | 0,5 μm | 3,8 miljoen | 200–240 MHz | - | 1997 |
| PA-8500 | PCX-W | 2.0 | 64 bits | 1 | 0,25 μm | 140 miljoen | 300–440 MHz | - | 1998 |
| PA-8600 | PCX-W+ | 2.0 | 64 bits | 1 | 0,25 μm | 140 miljoen | 360–550 MHz | - | 2000 |
| PA-8700(+) | PCX-W2 | 2.0 | 64 bits | 1 | 0,18 μm | 186 miljoen | 625–875 MHz | - | 2001 |
| PA-8800 | Mako | 2.0 | 64 bits | 2 | 0,13 μm | 300 miljoen | 800–1000 MHz | 0 of 32 MB | 2003 |
| PA-8900 | Shortfin | 2.0 | 64 bits | 2 | 0,13 μm | 317 miljoen | 800–1100 MHz | 0 of 64 MB | 2005 |

### PA-RISC Processors van andere bedrijven

| Fabrikant | Naam | ISA | Bits | Cores | Fabr | Transistoren | Snelheid | L2-cache | Jaartal |
| Commodore | Amiga Hombre | 1.1 | 32 bits | 1 | 0,6 μm | ? | 125 MHz | - | 1995 |
| Hitachi | PA/50L | 1.1 | 32 bits | 1 | 0,6 μm | 1,28 miljoen | 33 MHz | - | 1993 |
| Hitachi | PA/50M | 1.1 | 32 bits | 1 | 0,6 μm | 1,28 miljoen | 66 MHz | - | 1993 |
| Hitachi | HARP-1 | 1.1 | 32 bits | 1 | 0,5 μm | 2,8 miljoen | 150 MHz | 1 MB | 1994 |
| Winbond | W89K | 1.1 | 32 bits | 1 | 0,8 μm | 1,1 miljoen | 33/66 MHz | - | 1994 |
| Winbond | W90210 W90215 | 1.1 | 32 bits | 1 | ? | ? | 33/66 MHz | - | 1997 |
| Winbond | W90220 W90221 | 1.1 | 32 bits | 1 | 0,35 μm | ? | 150 MHz | - | 1999 |
| Oki | OP32 | 1.1 | 32 bits | 1 | 0,8 μm | 1,1 miljoen | 33 MHz | - | 1994 |