The Saturn family of
4-bit
In computer architecture, 4-bit integers, or other data units are those that are 4 bits wide. Also, 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, or data buses of that si ...
(
datapath
A datapath is a collection of functional units such as arithmetic logic units or multipliers that perform data processing operations, registers, and buses. Along with the control unit it composes the central processing unit (CPU). A larger data ...
)
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
s was developed by
Hewlett-Packard
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware components ...
in the 1980s first for the
HP-71B
The HP-71B was a hand-held computer or calculator programmable in BASIC, made by Hewlett-Packard from 1984 to 1989.
Description
Smaller and less expensive (US$595 $525 in 1984 ≈ $990 in 2005 (seInflation Conversion Factors for Dollars) MSR ...
handheld computer and then later for various HP calculators (starting with the
HP-18C
The HP-18C was a Hewlett-Packard business calculator which was quickly followed by the very similar but greatly improved HP-19B. The HP-18C was HP's first RPL-based calculator internally, even though this was not visible on user-level in this n ...
). It succeeded the ''Nut'' family of processors used in earlier calculators. The original Saturn
chip Chromatin immunoprecipitation (ChIP) is a type of immunoprecipitation experimental technique used to investigate the interaction between proteins and DNA in the cell. It aims to determine whether specific proteins are associated with specific genom ...
was first used in the
HP-71B
The HP-71B was a hand-held computer or calculator programmable in BASIC, made by Hewlett-Packard from 1984 to 1989.
Description
Smaller and less expensive (US$595 $525 in 1984 ≈ $990 in 2005 (seInflation Conversion Factors for Dollars) MSR ...
hand-held
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
-programmable computer, introduced in 1984. Later models of the family powered the popular
HP 48 series
The HP 48 is a series of graphing calculators designed and produced by Hewlett-Packard from 1990 until 2003. The series includes the HP 48S, HP 48SX, HP 48G, HP 48GX, and HP 48G+, the G models being expanded and i ...
of calculators. The HP48SX and HP48S were the last models to use genuine Saturn processors manufactured by HP. Later calculator models used Saturn processors manufactured by NEC. The
HP 49 series
The HP 49/50 series are Hewlett-Packard (HP) manufactured graphing calculators. They are the successors of the popular HP 48 series.
There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both al ...
initially used the Saturn CPU as well, until the
NEC
is a Japanese multinational information technology and electronics corporation, headquartered in Minato, Tokyo. The company was known as the Nippon Electric Company, Limited, before rebranding in 1983 as NEC. It provides IT and network soluti ...
fab
could no longer manufacture the processor for technical reasons in 2003. Therefore, starting with the
HP 49g+
The HP 49/50 series are Hewlett-Packard (HP) manufactured graphing calculators. They are the successors of the popular HP 48 series.
There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both al ...
model in 2003, the calculators switched to a
Samsung
The Samsung Group (or simply Samsung) ( ko, 삼성 ) is a South Korean multinational manufacturing conglomerate headquartered in Samsung Town, Seoul, South Korea. It comprises numerous affiliated businesses, most of them united under the ...
S3C2410 processor with an
ARM920T core (part of the ARMv4T architecture) which ran an emulator of the Saturn hardware in software. In 2000, the
HP 39G
HP 39/40 series are graphing calculators from Hewlett-Packard, the successors of HP 38G. The series consists of six calculators, which all have algebraic entry modes, and can perform numeric analysis together with varying degrees of symbolic ...
and
HP 40G
HP 39/40 series are graphing calculators from Hewlett-Packard, the successors of HP 38G. The series consists of six calculators, which all have algebraic entry modes, and can perform numeric analysis together with varying degrees of symbolic ...
were the last calculators introduced based on the actual NEC fabricated Saturn hardware. The last calculators based on the Saturn emulator were the
HP 39gs
HP 39/40 series are graphing calculators from Hewlett-Packard, the successors of HP 38G. The series consists of six calculators, which all have algebraic entry modes, and can perform numeric analysis together with varying degrees of symbolic ...
,
HP 40gs
HP 39/40 series are graphing calculators from Hewlett-Packard, the successors of HP 38G. The series consists of six calculators, which all have algebraic entry modes, and can perform numeric analysis together with varying degrees of symboli ...
and
HP 50g
The HP 49/50 series are Hewlett-Packard (HP) manufactured graphing calculators. They are the successors of the popular HP 48 series.
There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both ...
in 2006, as well as the 2007 revision of the
hp 48gII
The HP 49/50 series are Hewlett-Packard (HP) manufactured graphing calculators. They are the successors of the popular HP 48 series.
There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both al ...
. The HP 50g, the last calculator utilizing this emulator, was discontinued in 2015 when Samsung stopped producing the ARM processor on which it was based.
Architecture
The Saturn hardware is a
nibble
In computing, a nibble (occasionally nybble, nyble, or nybl to match the spelling of byte) is a four-bit aggregation, or half an octet. It is also known as half-byte or tetrade. In a networking or telecommunication context, the nibble is oft ...
serial design
as opposed to its ''Nut'' predecessor, which was
bit-serial.
Internally, the Saturn CPU has four 4-bit data buses that allow for nearly 1-cycle per nibble performance with one or two buses acting as a source and one or two acting as a destination.
The smallest addressable
word
A word is a basic element of language that carries an semantics, objective or pragmatics, practical semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of w ...
is a
4-bit
In computer architecture, 4-bit integers, or other data units are those that are 4 bits wide. Also, 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, or data buses of that si ...
nibble
In computing, a nibble (occasionally nybble, nyble, or nybl to match the spelling of byte) is a four-bit aggregation, or half an octet. It is also known as half-byte or tetrade. In a networking or telecommunication context, the nibble is oft ...
which can hold one
binary-coded decimal
In computing and electronic systems, binary-coded decimal (BCD) is a class of binary encodings of decimal numbers where each digit is represented by a fixed number of bits, usually four or eight. Sometimes, special bit patterns are used for ...
(BCD) digit. Any unit of data in the registers larger than a nibble, in which the end of said data unit falls on a nibble boundary and the start of said data unit starts at nibble zero (and also in some cases where said data unit's starting position falls on a nibble boundary with certain register fields eg. "M" or "X"), and which can be up to 64-bits, can be operated on as a whole, but the Saturn CPU performs the operation serially internally on a nibble-by-nibble basis.
The Saturn architecture has a
64-bit
In computer architecture, 64-bit Integer (computer science), integers, memory addresses, or other Data (computing), data units are those that are 64 bits wide. Also, 64-bit central processing unit, CPUs and arithmetic logic unit, ALUs are those ...
data word width and 20-bit address width, with memory being addressed to
4-bit
In computer architecture, 4-bit integers, or other data units are those that are 4 bits wide. Also, 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, or data buses of that si ...
(
nibble
In computing, a nibble (occasionally nybble, nyble, or nybl to match the spelling of byte) is a four-bit aggregation, or half an octet. It is also known as half-byte or tetrade. In a networking or telecommunication context, the nibble is oft ...
) granularity. Saturn ALU instructions support variable data width, operating on one to 16 nibbles of a word. The main registers (
GPRs
General Packet Radio Service (GPRS) is a packet oriented mobile data standard on the 2G and 3G cellular communication network's global system for mobile communications (GSM). GPRS was established by European Telecommunications Standards Insti ...
), along with the temporary registers, are fully 64-bits wide, but the address registers are only 20-bits wide. The original Saturn CPU chips provided a four-bit external data bus, but later Saturn-based SoCs included on chip bus conversion to an 8-bit external data bus and 19-bit external address bus.
The Saturn architecture has four 64-bit
GPRs
General Packet Radio Service (GPRS) is a packet oriented mobile data standard on the 2G and 3G cellular communication network's global system for mobile communications (GSM). GPRS was established by European Telecommunications Standards Insti ...
(General Purpose Registers), named A, B, C and D. In addition, there are also five 64-bit "scratch" registers named R0, R1, R2, R3 and R4. These can only store data. If an ALU operation is required for data in a scratch register, then the register in question must be transferred to a GPR first. Other registers include a 1-nibble "pointer" register named P, usually used to select a nibble in a GPR or a range of nibbles (or for aligning immediate data on a specific nibble in a GPR, with wrap-around). For memory access, there are two 20-bit data pointer registers named D0 and D1. The Saturn architecture also has a PC or
program counter
The program counter (PC), commonly called the instruction pointer (IP) in Intel x86 and Itanium microprocessors, and sometimes called the instruction address register (IAR), the instruction counter, or just part of the instruction sequencer, is ...
register which can interoperate with the GPRs. There is also an 8-level, circular, LIFO 20-bit hardware return stack named RSTK used when a subroutine call instruction is issued. Additionally, the Saturn CPU is equipped with a 16-bit software status register named ST and a 1-nibble hardware status register named HS, which notably, contains the SB or "sticky bit" flag indicating whether a binary 1 was right shifted off of a GPR. Furthermore, the Saturn architecture has a 12-bit OUT register and a 16-bit IN register, which in the Yorke and Clarke SoCs, are used to capture input from the keyboard and also control the beeper. There is also a 1-bit carry flag register.
In addition to the above, the Saturn CPU has a simple, non-prioritized interrupt system. When an interrupt occurs, the CPU finishes executing the current instruction, saves the program counter to the hardware return stack (RSTK) and jumps to address 0x0000Fh hex, where the preceding value is in nibbles.
The CPU also interacts with the keyboard scanning logic directly.
The following diagram depicts the registers (with each white square being 4-bits / a nibble except for the Carry flag, which is 1 bit):
![HP Saturn registers](https://upload.wikimedia.org/wikipedia/commons/2/29/HP_Saturn_registers.svg)
Saturn 64-bit GPR register format and fields:
Data in the general purpose registers can be accessed via fields that fall on nibble boundaries, whereas the scratch registers allow only load and store operations. The fields, as shown in the above diagram, are W (whole 64-bit GPR), A (first 5 nibbles of a GPR), S (most significant nibble of a GPR), XS (nibble 2 of a GPR), M (nibbles 3-14 of a GPR), X (first 3 nibbles of a GPR) and B (first byte of a GPR). In addition, there is the P field which selects a nibble from a GPR based on the P register's 4-bit value. Also, there is the WP field which selects nibbles 0 through the nibble selected in the P register. The 64 bits (16 nibbles) can hold BCD-formatted coded
floating point numbers
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be r ...
composed of a
sign
A sign is an object, quality, event, or entity whose presence or occurrence indicates the probable presence or occurrence of something else. A natural sign bears a causal relation to its object—for instance, thunder is a sign of storm, or me ...
nibble (which is "9" if the number is negative), 12
mantissa digits and a 3-digit 10's complement exponent stored in
BCD format (±499).
The internal representation of BCD floating point values are a 15-digit mantissa with one sign nibble in one register combined with a 20-bit exponent, in 10's complement format, in another register. The use of BCD instead of straight binary representation is advantageous for calculators as it avoids
rounding
Rounding means replacing a number with an approximate value that has a shorter, simpler, or more explicit representation. For example, replacing $ with $, the fraction 312/937 with 1/3, or the expression with .
Rounding is often done to obta ...
problems that occur on the
binary/decimal conversion.
The Saturn CPU's addresses are also nibble-based. The three
pointer registers (including the
program counter
The program counter (PC), commonly called the instruction pointer (IP) in Intel x86 and Itanium microprocessors, and sometimes called the instruction address register (IAR), the instruction counter, or just part of the instruction sequencer, is ...
) and
address
An address is a collection of information, presented in a mostly fixed format, used to give the location of a building, apartment, or other structure or a plot of land, generally using political boundaries and street names as references, along ...
registers are 20 bits wide. Due to this, the Saturn architecture can address 1
M nibbles or, equivalently, 512
K bytes. Beyond that size (e.g. in the 48GX),
bank switching
Bank switching is a technique used in computer design to increase the amount of usable memory beyond the amount directly addressable by the processor instructions. It can be used to configure a system differently at different times; for example ...
is used.
In both the HP 48S/SX and 48G/GX series, and also such calculators as the HP-28S, HP-42S, HP-32SII and the HP-20S, the ''Saturn'' CPU core is integrated as part of a more complex
integrated circuit
An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
(IC)
SoC package, save for the original HP-71B handheld computer and the HP-28C which used a separate chip for the Saturn processor. These packages have code names inspired by the members of the
Lewis and Clark Expedition
The Lewis and Clark Expedition, also known as the Corps of Discovery Expedition, was the United States expedition to cross the newly acquired western portion of the country after the Louisiana Purchase. The Corps of Discovery was a select gro ...
. The code-name of the IC is ''Clarke'' in the S/SX, after
William Clark
William Clark (August 1, 1770 – September 1, 1838) was an American explorer, soldier, Indian agent, and territorial governor. A native of Virginia, he grew up in pre-statehood Kentucky before later settling in what became the state of Misso ...
, and ''Yorke'' in the G/GX, after Clark's
manservant
A domestic worker or domestic servant is a person who works within the scope of a residence. The term "domestic service" applies to the equivalent occupational category. In traditional English contexts, such a person was said to be "in service ...
. Other Saturn-based ICs, such as those used in the HP-28S, HP-42S, HP-32SII and HP-20S had other code-names. Specifically, the HP-42S and HP-28S SoC was code-named ''Lewis'', after
Meriwether Lewis
Meriwether Lewis (August 18, 1774 – October 11, 1809) was an American explorer, soldier, politician, and public administrator, best known for his role as the leader of the Lewis and Clark Expedition, also known as the Corps of Discovery, with ...
. Other HP calculators such as the HP-32SII and HP-20S had SoCs code-named ''Sacajawea'' after
Sacagawea
Sacagawea ( or ; also spelled Sakakawea or Sacajawea; May – December 20, 1812 or April 9, 1884)[Sacagawea]
...
and ''Bert'' respectively, although the origin of the ''Bert'' code-name may be unknown.
Example code
The following is an integer implementation of a BCD decimal square root algorithm in Saturn Jazz / HP Tools assembly syntax:
** In the following A.W is assumed to contain the argument (< 1E14).
** The result (IP(SQRT(A.W))) is in C.W:
SETDEC
ASL W
C=A W
A=A+A W
A=A+A W
A=A+C W
ASR W
C=0 W
P= 13
LC(1) 5
- CSR WP
C=C-1 P
-- C=C+1 P
A=A-C W
GONC --
A=A+C W
CSR W
P=P-1
P=P-1
GONC -
SETHEX
A=C W
Chipsets and applications
The original Saturn CPU gave its name to the entire
instruction set architecture
In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ' ...
. Later chips had their own code names:
The CPU code-names are inspired by members of the
Lewis and Clark Expedition
The Lewis and Clark Expedition, also known as the Corps of Discovery Expedition, was the United States expedition to cross the newly acquired western portion of the country after the Louisiana Purchase. The Corps of Discovery was a select gro ...
of 1804–1806, the first United States overland expedition to the
Pacific coast
Pacific coast may be used to reference any coastline that borders the Pacific Ocean.
Geography Americas
Countries on the western side of the Americas have a Pacific coast as their western or southwestern border, except for Panama, where the Pac ...
and back. The virtual CPU / emulator code names were inspired by the prototype "New-Yorke" Saturn-based 8 MHz SoC that never made it to production.
According to one of the ACO (Australian Calculator Operation) members, "Big Apple" was derived from the code name "New-Yorke" of the prototype 8 MHz Saturn-based SoC, and which to the original author, seemed to intimate a reference to "New York" the city, hence the names "Big apple", "Mid Apple" and "Little Apple".
Notes
References
Further reading
*
*
*
*
*
*
*
External links
https://web.archive.org/web/20190403011808/http://www.hpmuseum.org/saturn.htm --> Summary information in the Museum of HP Calculators
{{DEFAULTSORT:Saturn
HP microprocessors
Stack machines
4-bit microprocessors