HOME

TheInfoList



OR:

The Capricorn family of
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 late 1970s for the
HP series 80 The Hewlett-Packard series 80 of small scientific desktop computers was introduced in 1980, beginning with the popular HP-85 targeted at engineering and control applications. They provided the capability of the HP 9800 series desktop computers wi ...
scientific microcomputers. Capricorn was first used in the HP-85 desktop
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 ...
computer, introduced in January 1980.
Steve Wozniak Stephen Gary Wozniak (; born August 11, 1950), also known by his nickname "Woz", is an American electronics engineer, computer programmer, philanthropist, inventor, and technology entrepreneur. In 1976, with business partner Steve Jobs, he c ...
was inspired to build the Apple to be a computer like the
HP 9830 The HP 9800 is a family of what were initially called programmable calculators and later desktop computers that were made by Hewlett-Packard, replacing their first HP 9100 calculator. It is also named "98 line". The 9830 and its successors were ...
, and in 1976, he offered HP rights to the Apple computer. He was turned down and was given a release. When the calculator division started an 8-bit computer project called Capricorn, he left for Apple when he wasn't allowed to work on that project.


Architecture

The Capricorn is a microprogrammed CPU containing 64 eight-bit registers, an eight-bit
arithmetic logic unit In computing, an arithmetic logic unit (ALU) is a Combinational logic, combinational digital circuit that performs arithmetic and bitwise operations on integer binary numbers. This is in contrast to a floating-point unit (FPU), which operates on ...
(ALU), a shifter and control logic. The 64 registers are split by boundaries. There is a boundary every two bytes for the first 32 registers and one boundary per 8 bytes for the remaining 32 registers. Each low-level instruction modifies data beginning at the register addressed up to the next boundary. The design results in very compact code. It was up to the coder to access and modify between one and eight bytes using only one CPU instruction. The first 32 registers are often used for address manipulation. The remaining 32 registers are used for floating point operations. Because there are four sets of eight byte boundary registers (32-63) most floating point operations are done using only registers without any memory access. Six of the first 32 registers are reserved by hardware for use as special-purpose registers: one register pair is defined as the program counter, another pair as the stack pointer, and one more pair as an index pointer for internal operations. There is no dedicated accumulator ā€” any general register can be used for ALU results because the register file is designed to allow up to two read and one write operations for the first 32 registers and up to eight read and one write operations for the remaining 32 registers at the same time. Any pair of registers can be used as a 16-bit index register. The ALU can work either in
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two digits (0 and 1) * Binary function, a function that takes two arguments * Binary operation, a mathematical operation that t ...
or
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) mode. Variable-length instructions let the programmer treat data in the upper 32 registers as entities between one and eight bytes in length ā€” for example, two eight-byte values (e.g. mantissa of a floating-point number) can be added using a single instruction. This feature reduces the number of loops that need to be programmed. The CPU has an interrupt mechanism with up to 127 vectors. For
direct memory access Direct memory access (DMA) is a feature of computer systems and allows certain hardware subsystems to access main system memory independently of the central processing unit (CPU). Without DMA, when the CPU is using programmed input/output, it is t ...
, the CPU can be halted by an external device.


Implementation

The Capricorn CPU was implemented as a silicon-gate
NMOS logic N-type metal-oxide-semiconductor logic uses n-type (-) MOSFETs (metal-oxide-semiconductor field-effect transistors) to implement logic gates and other digital circuits. These nMOS transistors operate by creating an inversion layer in a p-type ...
circuit (4.93Ɨ4.01 mm) in a 28-pin
dual in-line package In microelectronics, a dual in-line package (DIP or DIL), is an electronic component package with a rectangular housing and two parallel rows of electrical connecting pins. The package may be through-hole mounted to a printed circuit board (P ...
, with an 8-bit, multiplexed external bus. The CPU chip consumed 330 mW at 625 kHz. CPU timing is controlled by four non-overlapping clock phases with 200
nanosecond A nanosecond (ns) is a unit of time in the International System of Units (SI) equal to one billionth of a second, that is, of a second, or 10 seconds. The term combines the SI prefix ''nano-'' indicating a 1 billionth submultiple of an SI unit ( ...
width and 200 nanosecond spacing, for an overall clock cycle of 1.6 microseconds, equivalent to 625
kHz The hertz (symbol: Hz) is the unit of frequency in the International System of Units (SI), equivalent to one event (or cycle) per second. The hertz is an SI derived unit whose expression in terms of SI base units is sāˆ’1, meaning that on ...
clock frequency. The complete system included support chips co-designed with the CPU, such as a dynamic memory controller, keyboard controller with timers, printer controller and CRT controller. A special buffer chip connected to the expansion slots.


References

* *


Notes

Capricorn 8-bit microprocessors {{microcompu-stub