HP Saturn (microprocessor) 4466638 188388250 2008-02-01T15:20:16Z 221.186.92.1 /* Chipsets and applications */ The '''Saturn''' family of [[microprocessor]]s 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. == 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. == Chipsets and applications == The original Saturn CPU gave its name to the entire architecture. Later chips had their own code names: {| class=wikitable |- | '''CPU codename''' || '''Used in calculator models''' || '''Properties''' |- |align=center| ''Saturn'' | [[HP-71B]], [[HP-18C]], [[HP-28C]] | 640 kHz |- |align=center| ''Bert'' | [[HP-10B]], [[HP-20S]], [[HP-21S]] | 640 kHz, 10 KB ROM, 256 Bytes RAM, LCD driver |- |align=center| ''Sacajawea'' | [[HP-14B]], [[HP-22S]], [[HP-32S]], [[HP-32SII]] | 640 kHz, 16 KB ROM, 512 Bytes RAM, LCD driver |- |align=center| ''Lewis'' | [[HP-17B]], [[HP-19B]], [[HP-27S]], [[HP-28S]], [[HP-42S]] | 1 MHz, 64 KB ROM, LCD driver, memory controller, IR control |- |align=center| ''Clarke'' | [[HP-48SX]], [[HP-48S]] | 2 MHz, LCD controller, memory controller, UART and IR control |- |align=center| ''Yorke'' | [[HP-48GX]], [[HP-48G]], [[HP-38G]], [[HP-39g series|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.) ==External links== *[http://www.grack.com/writings/hp48/GuidetotheSaturnProcessor.html A Guide to the Saturn Processor] *[http://www.hpmuseum.org/saturn.htm Summary information in the Museum of HP Calculators] [[Category:HP calculators|Saturn Processor]] [[de:HP Saturn]] [[fr:Saturn (microprocesseur)]]