HP Apple V2
   HOME

TheInfoList



OR:

The Saturn family of
4-bit 4-bit computing is the use of computer architectures in which integer (computer science), integers and other data (computer science), data units are 4 bits wide. 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures a ...
(
datapath A data path is a collection of functional units such as arithmetic logic units (ALUs) or multipliers that perform data processing operations, registers, and buses. Along with the control unit it composes the central processing unit (CPU). A la ...
)
microprocessor A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
s was developed by
Hewlett-Packard The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company. It was founded by Bill Hewlett and David Packard in 1939 in a one-car garage in Palo Alto, California ...
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 than the preceding model HP-75, the 71B has a single-line 22-character liquid crystal ...
handheld computer, released in 1984, and later for various HP calculators (starting with the
HP-18C The HP-18C is a Hewlett-Packard business calculator which was quickly followed by the very similar but greatly improved HP-19B. The HP-18C is HP's first RPL programming language, RPL-based calculator internally, even though this was not visible o ...
). It succeeded the ''
Nut Nut often refers to: * Nut (fruit), fruit composed of a hard shell and a seed * Nut (food), a dry and edible fruit or seed, including but not limited to true nuts * Nut (hardware), fastener used with a bolt Nut, NUT or Nuts may also refer to: A ...
'' family of processors used in earlier calculators. The HP48SX and HP48S were the last models to use HP manufactured Saturn processors, later models used processors manufactured by
NEC is a Japanese multinational information technology and electronics corporation, headquartered at the NEC Supertower in Minato, Tokyo, Japan. It provides IT and network solutions, including cloud computing, artificial intelligence (AI), Inte ...
. The
HP 49 series The HP 49/50 series are Hewlett-Packard (HP) manufactured graphing calculators. They are the successors of the HP 48 series. There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both algebrai ...
initially used the Saturn CPU until the NEC fab could no longer manufacture the processor for technical reasons in 2003. Starting with the
HP 49g+ The HP 49/50 series are Hewlett-Packard (HP) manufactured graphing calculators. They are the successors of the HP 48 series. There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both algebraic ...
model in 2003, the calculators switched to a
Samsung Samsung Group (; stylised as SΛMSUNG) is a South Korean Multinational corporation, multinational manufacturing Conglomerate (company), conglomerate headquartered in the Samsung Town office complex in Seoul. The group consists of numerous a ...
S3C2410 processor with an
ARM920T ARM9 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings for microcontroller use. The ARM9 core family consists of ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, ARM996H ...
core (part of the
ARMv4T ARM (stylised in lowercase as arm, formerly an acronym for Advanced RISC Machines and originally Acorn RISC Machine) is a family of RISC instruction set architectures (ISAs) for computer processors. Arm Holdings develops the ISAs and licen ...
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 introduced to use 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 symbolic ...
and
HP 50g The HP 49/50 series are Hewlett-Packard (HP) manufactured graphing calculators. They are the successors of the HP 48 series. There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both algebrai ...
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 HP 48 series. There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both algebraic ...
. The HP 50g was the last calculator sold by HP using this emulator when it was discontinued in 2015 due to Samsung stopping production of the ARM processor on which it was based.


Architecture

The Saturn hardware is a
nibble In computing, a nibble, or spelled nybble to match byte, is a unit of information that is an aggregation of four- bits; half of a byte/ octet. The unit is alternatively called nyble, nybl, half-byte or tetrade. In networking or telecommuni ...
serial design as opposed to its ''Nut'' predecessor, which was
bit-serial In computer architecture, bit-serial architectures send data one bit at a time, along a single wire, in contrast to bit-parallel word architectures, in which data values are sent all bits or a word at once along a group of wires. All digita ...
. 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 semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of what a word is, there is no consensus among linguist ...
is a 4-bit nibble 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 f ...
(BCD) digit. Any unit of data in the registers larger than a nibble, up to 64-bits, can be operated on as a whole, however the Saturn CPU performs the operation serially on a nibble-by-nibble basis internally. The Saturn architecture has an internal register width of 64 bits and 20-bits of address, with memory being addressed to 4-bit (nibble) granularity. Saturn ALU instructions support variable data width, operating on one to 16 nibbles of a word. 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), also called 2.5G, is a mobile data standard on the 2G cellular communication network's Global System for Mobile Communications, global system for mobile communications (GSM). Networks and mobile devices wit ...
(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, ...
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, 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): 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 (address, first 5 nibbles of a GPR), S (sign of mantissa, most significant nibble of a GPR), XS (exponent sign, nibble 2 of a GPR), M (mantissa, nibbles 3–14 of a GPR), X (exponent, 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 number In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a '' significand'' (a signed sequence of a fixed number of digits in some base) multiplied by an integer power of that base. Numbers of this for ...
s 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 BCD may refer to: Computing * Binary-coded decimal, a representation of decimal digits in binary ** BCD (character encoding), a 6-bit superset of binary-coded decimal derived from the binary encoding of the same name * Boot Configuration Data, th ...
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 or rounding off is the process of adjusting a number to an approximate, more convenient value, often with a shorter or simpler representation. For example, replacing $ with $, the fraction 312/937 with 1/3, or the expression √2 with ...
problems that occur on the binary/decimal conversion. The Saturn CPU's instruction and data addresses are also nibble-based. The three pointer registers (including the program counter) 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 border, political boundaries and street names as references, ...
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 (computing), processor instructions. It can be used to configure a system differently at diffe ...
is used. The original HP-71B handheld computer and the HP-28C had the Saturn processor as a separate chip. In the HP 48S/SX, 48G/GX series and HP-28S, HP-27S, HP-42S, HP-32SII and HP-20S, the ''Saturn'' CPU core is integrated as part of a more complex
integrated circuit An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
(IC)
SoC SOC, SoC, Soc, may refer to: Science and technology * Information security operations center, in an organization, a centralized unit that deals with computer security issues * Selectable output control * Separation of concerns, a program design pr ...
.


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) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
. 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 North America Countries on the western side of North America have a Pacific coast as their western or south-western border. One of th ...
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 in a reference to New York city, hence the names "Big apple", "Mid Apple" and "Little Apple".


See also

*
Digit-serial architecture A serial computer is a computer typified by bit-serial architecture i.e., internally operating on one bit or digit for each clock cycle. Machines with serial main storage devices such as acoustic or magnetostrictive delay lines and rotating m ...


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