Capricorn (microprocessor)

from Wikipedia, the free encyclopedia

The family Capricorn - (Capricorn) microprocessors was developed by Hewlett-Packard in the late 1970s for scientific microcomputer of the HP 80 series developed. Capricorn was first used in the HP 85 desktop BASIC computer, which was launched in January 1980. Steve Wozniak had the idea to build the Apple comparable to a computer like the HP 9830. In 1976 he offered HP the rights to such an Apple computer. However, HP rejected the concept. When the HP pocket calculator division started developing an 8-bit computer project, the CPU was given the designation "Capricorn". Wozniak was not allowed to work on the project; then he quit HP.

architecture

The Capricorn CPU is a microprogrammed CPU with 64 eight-bit registers, an arithmetic logic unit (ALU), a shifter and control logic. The 64 registers were separated with logical boundaries. For the first 32 registers there was a logical limit every two bytes. These registers could be addressed as 8 or 16 bit registers. The remaining 32 registers had a logical limit every eight bytes. These registers could be addressed in steps of 8 bits with a single command each (so 64-bit instructions were possible). Each low-level instruction modified the data starting with the addressed register up to the next logical limit. This design resulted in a very compact binary code. The programmer independently determined how many bytes he wanted to process with one instruction.

The first 32 registers were often used for address manipulation, the remaining 32 registers usually for floating point operations. Because there were four sets of 8-byte register sets (32-63), most floating point calculations could be performed directly in the registers without having to access memory. Of the first 32 registers, one pair was used for the program counter and another pair was used for the stack pointer. Another pair was typically used as an index for internal operations. There was no dedicated accumulator - each general register could be used as a source and result register for the ALU, since up to two read / write operations per instruction for the first 32 registers and up to eight read / write operations for the next 32 registers. Operations were allowed. Each register pair could be used as a 16-bit index register.

The ALU could work in binary format or in BCD mode . Since the instructions had a variable length due to the architecture, entities from 1 to 8 bytes could be processed in the upper 32 registers - at the discretion of the programmer. For example, it was possible to add two 8-byte values ​​(e.g. the mantissa of a floating point number) with a single instruction. This feature significantly reduced the number of calculation steps required for floating point operations.

The CPU had an interrupt mechanism with 127 vectors. For the direct memory access (DMA), the CPU external devices could be stopped.

implementation

The Capricorn CPU was built as a silicon gate in NMOS logic (4.93 × 4.01 mm) in a 28-pin dual inline package, connected to an external, multiplexed 8-bit bus. The CPU consumed 330 mW at 625 kHz.

The CPU timing was clocked by a timer with 200 nanoseconds and a 200 nanosecond spacing. Overall, this resulted in a clock cycle of 1.6 microseconds, which corresponds to a clock frequency of 625 kHz .

The entire system contained support chips such as the dynamic memory controller, keyboard controller, timer controller, printer and monitor. A special buffer chip connected the bus to the external expansion connections.

credentials

Remarks

  1. Byte Interview with Steve Wozniak
  2. Old Computers HP-85