HP Saturn (microprocessor)
From Wikipedia, the free encyclopedia
The Saturn family of microprocessors was developed by Hewlett-Packard in the 1980s for programmable scientific calculators/microcomputers. The original Saturn chipset was first used in the HP-71B hand-held BASIC computer, introduced in 1984. Later models of the family powered the popular HP-48 series of calculators, among others.
[edit] Architecture
The Saturn architecture is nibble-based; that is, the core unit of data is 4 bits, which can hold one binary-coded decimal (BCD) digit.
The Saturn has four general-purpose and five scratch registers that are 64 bits wide. Data in the general-purpose registers can be accessed on nibble boundaries and used for calculations, whereas the scratch registers allow only load and store operations. The 64 bits (16 nibbles) can hold BCD-formatted coded floating point numbers composed of a sign nibble, 12 mantissa digits and a 3-digit exponent stored in 2's complement format (±499). The use of BCD instead of straight binary representation is advantageous for calculators as it avoids rounding problems that occur on the binary/decimal conversion.
For optimum memory usage efficiency, the Saturn's addresses are also nibble-based. The three pointer registers (including the program counter) and address data paths are 20 bits wide, therefore the Saturn architecture can address 1 M nibbles = 512 K bytes. Beyond that size (e.g. in the 48GX), bank switching is used.
[edit] Chipsets and applications
The original Saturn CPU gave its name to the entire architecture. Later chips had their own code names:
CPU codename | Used in calculator models | Properties |
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 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, IR control |
Clarke | HP-48SX, HP-48S | 2 MHz, LCD controller, memory controller, UART and IR control |
Yorke | HP-48GX, HP-48G, HP-38G, HP-39G, HP-49G | 3.68 MHz, LCD controller, memory controller, UART and IR control |
(The CPU codenames are inspired by members of the Lewis and Clark Expedition, the first United States overland expedition to the Pacific coast and back, of 1804–1806.)