HP Saturn
The Saturn processor family was developed by Hewlett-Packard in the 1980s for use in programmable pocket calculators . The first Saturn processor was used in the HP-71B in 1984 . Later models of the Saturn family were used in the popular HP-48 series.
architecture
The architecture of the Saturn processor is nibble - based, which means that the core processes the data in 4-bits and calculates internally using BCD .
The processor has four registers that can be used generally for calculations and five copy registers , all of which are 64 bits wide. The data in the four arithmetic registers can be accessed nibble by nibble, while the copy registers only support read and write access to the full register width. The 64 bits of a calculation register (16 nibble) store the data in a special, BCD-based floating point format. The mantissa is represented with twelve BCD places and the exponent with three BCD places. This results in a maximum value range of 10 ± 499 . The use of BCD instead of binary fixed point arithmetic reduces rounding errors when converting between the binary and decimal number systems.
To ensure efficient memory access, this is also nibble-based. The three existing pointer registers , including the program counter , are 20 bits wide and each address one nibble (4 bits, one BCD position) per memory address. This means that the Saturn CPU can address 1 Mebi nibble, which corresponds to a memory size of 512 KB. Additional external memory that goes beyond this address space (this is the case from the HP-48GX models) is addressed using bank switching .
In the newer HP pocket calculators, such as the HP 49g + , a Saturn processor is no longer used, but one with an ARM architecture . However, since extensive and tested software is based on the Saturn processor architecture, the Saturn processor architecture is emulated in software on the ARM processor for system routines that have not yet been newly created (the firmware is relatively easy and safe to replace and is constantly being further developed).
Chipset and Applications
The original Saturn processor gave the entire architecture its name. The processor family was produced by NEC Corporation . Later processors had their own code names :
Processor code name | used in calculators | properties |
---|---|---|
Saturn | HP-71B, HP-18C HP-28 C | 640 kHz |
Bert | HP-10B, HP-20S, HP-21S | 640 kHz, 10 kB ROM, 256 bytes RAM, LCD driver |
Sacajawea | HP-14B, HP-22S, HP-32S, HP-32SII | 640 kHz, 16 kB ROM, 512 bytes RAM, LCD driver |
Lewis | HP-17B, HP-19B, HP-27S, HP-28S, HP-42S | 1 MHz, 64 kB ROM, LCD driver, memory controller, infrared interface |
Clarke | HP-48 SX, HP-48S | 2 MHz, LCD driver, memory controller, UART and infrared interface |
Yorke | HP-48GX, HP-48G, HP-38G, HP-39G, HP-49G | 3.68 MHz, LCD driver, memory controller, UART and infrared interface |
The processor code names are inspired by the members of the Lewis and Clark Expedition .