HP Saturn
# HP Saturn

Die Prozessorfamilie Saturn wurde von Hewlett-Packard in den 1980er Jahren zur Verwendung in programmierbaren Taschenrechnern entwickelt. Der erste Saturn-Prozessor wurde 1984 im HP-71B eingesetzt. Spätere Modelle der Saturn-Familie wurden in der beliebten HP-48-Serie verwendet.

## Architektur

Die Architektur des Saturn-Prozessors ist nibble-basiert, das heißt, der Kern verarbeitet die Daten 4-bit-weise und rechnet intern mittels BCD.
Der Prozessor besitzt vier allgemein für Berechnungen verwendbare Register und fünf Kopierregister, welche alle je 64 Bit breit sind. Auf die Daten in den vier Rechenregistern kann nibbleweise zugegriffen werden, während die Kopierregister nur Schreib- und Lesezugriffe in voller Registerbreite unterstützen. Die 64 Bit eines Rechenregisters (16 Nibble) speichern die Daten in einem speziellen, BCD-basierenden Floating-Point-Format. Dabei wird die Mantisse mit zwölf BCD-Stellen und der Exponent mit drei BCD-Stellen dargestellt. Dies ergibt einen maximalen Wertebereich von 10$^{±499}$. Die Verwendung von BCD anstatt binärer Festkommaarithmetik reduziert Rundungsfehler bei der Umwandlung zwischen den binären und dezimalen Zahlensystemen.
Um einen effizienten Speicherzugriff zu gewährleisten, ist auch dieser nibble-basierend. Die drei vorhandenen Zeigerregister, inklusive des Programmzählers, sind 20 Bit breit und adressieren pro Speicheradresse jeweils ein Nibble (4 Bit, eine BCD-Stelle). Damit kann die Saturn-CPU 1 Mebi­nibble adressieren, was einer Speichergröße von 512 KB entspricht. Zusätzlicher externer Speicher, welcher über diesen Adressraum hinausgeht (dies ist ab den Modellen HP-48GX der Fall), wird mittels Bank Switching adressiert.
In den neueren HP-Taschenrechnern, wie dem HP 49g+, kommt kein Saturn-Prozessor mehr zu Anwendung, sondern einer mit ARM-Architektur. Da allerdings umfangreiche und getestete Software auf der Saturn-Prozessorarchitektur basiert, wird für noch nicht neu erstellte Systemroutinen (die Firmware ist verhältnismäßig einfach und sicher austauschbar und wird beständig weiterentwickelt) auf dem ARM-Prozessor die Saturn-Prozessorarchitektur softwareseitig emuliert.

## Chipsatz und Applikationen

Der ursprüngliche Saturn-Prozessor gab der gesamten Architektur ihren Namen. Produziert wurde die Prozessorfamilie von NEC Corporation. Spätere Prozessoren hatten ihren eigenen Codenamen:
| Prozessor Codename | verwendet in Taschenrechner | Eigenschaften |
| Saturn | HP-71B, HP-18C, HP-28C | 640 kHz |
| Bert | HP-10B, HP-20S, HP-21S | 640 kHz, 10 kB ROM, 256 Bytes RAM, LCD-Treiber |
| Sacajawea | HP-14B, HP-22S, HP-32S, HP-32SII | 640 kHz, 16 kB ROM, 512 Bytes RAM, LCD-Treiber |
| Lewis | HP-17B, HP-19B, HP-27S, HP-28S, HP-42S | 1 MHz, 64 kB ROM, LCD-Treiber, Speichercontroller, Infrarot-Schnittstelle |
| Clarke | HP-48­SX, HP-48S | 2 MHz, LCD-Treiber, Speichercontroller, UART und Infrarot-Schnittstelle |
| Yorke | HP-48GX, HP-48G, HP-38G, HP-39G, HP-49G | 3,68 MHz, LCD-Treiber, Speichercontroller, UART und Infrarot-Schnittstelle |
Die Prozessorcodenamen sind inspiriert durch die Mitglieder der Lewis-und-Clark-Expedition.