Lably
Skip to content

Kenbak-1

Personal computer, invented in 1970

  • 3 min read
  • 2 chapters

Related on Lably

Through Microprocessor, Computer memory and Peripheral

Since the Kenbak-1 was invented before the first microprocessor, the machine did not have a one-chip CPU but was instead based purely on 7400-series TTL chips. The 8-bit machine offered 256 bytes of memory, implemented on Intel's type 1404A silicon gate MOS shift registers. The clock signal period was 1 microsecond (equivalent to a clock speed of 1 MHz), but the program speed averaged below 1,000 instructions per second due the many clock cycles needed for each operation and slow access to serial memory.

The machine was programmed in pure machine code using an array of buttons and switches. Output consisted of a row of lights.

Internally, the Kenbak-1 has a serial computer architecture, processing one bit at a time.

Technical description

Registers

The Kenbak-1 has a total of nine registers. All are memory mapped. It has three general-purpose registers: A, B and X. Register A is the implicit destination of some operations. Register X, also known as the index register, turns the direct and indirect modes into indexed direct and indexed indirect modes. It also has a program counter, called Register P, three "overflow and carry" registers for A, B and X, respectively, as well as an Input Register and an Output Register.

Addressing modes

Add, Subtract, Load, Store, Load Complement, And, and Or instructions operate between a register and another operand using five addressing modes:

  • Immediate (operand is in second byte of instruction)
  • Memory (second byte of instruction is the address of the operand)
  • Indirect (second byte of instruction is the address of the address of the operand)
  • Indexed (second byte of instruction is added to X to form the address of the operand)
  • Indirect Indexed (second byte of instruction points to a location which is added to X to form the address of the operand)

Instruction table

The instructions are encoded in 8 bits, with a possible second byte providing an immediate value or address. Some instructions have multiple possible encodings.


Sign in to keep reading

One more chapter is free with a Lably account.

More in Computing and communication