Manufacturer | Computer Terminal Corporation |
---|---|
Type | Intelligent terminal, personal computer |
Release date | May 1970 |
Discontinued | 1979[1] |
Operating system | Datapoint O/S |
CPU | serial, discrete logic implementation of the Intel 8008 instruction set |
Memory | 2 KB standard; expandable to 16 KB |
Display | Text only, 80×12 characters |
The Datapoint 2200 was a mass-produced programmable terminal usable as a computer, designed by Computer Terminal Corporation (CTC) founders Phil Ray and Gus Roche [2] and announced by CTC in June 1970 (with units shipping in 1971). It was initially presented by CTC as a versatile and cost-efficient terminal for connecting to a wide variety of mainframes by loading various terminal emulations from tape rather than being hardwired as most contemporary terminals, including their earlier Datapoint 3300. [3]
Dave Gust, a CTC salesman, realized that the 2200 could meet Pillsbury Foods's need for a small computer in the field, after which the 2200 was marketed as a stand-alone computer. [3] Its industrial designer John "Jack" Frassanito has later claimed that Ray and Roche always intended the Datapoint 2200 to be a full-blown personal computer, but that they chose to keep quiet about this so as not to concern investors and others. [2] [4]
The terminal's multi-chip CPU (processor)'s instruction set became the basis of the Intel 8008 instruction set, which inspired the Intel 8080 instruction set and the x86 instruction set used in the processors for the original IBM PC and its descendants.
12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 | (bit position) | |
Main registers | ||||||||||||||
A | Accumulator | |||||||||||||
B | B register | |||||||||||||
C | C register | |||||||||||||
D | D register | |||||||||||||
E | E register | |||||||||||||
H | H register (indirect) | |||||||||||||
L | L register (indirect) | |||||||||||||
Program counter | ||||||||||||||
P | Program Counter | |||||||||||||
15-level push-down address stack | ||||||||||||||
AS | Call level 1 | |||||||||||||
AS | Call level 2 | |||||||||||||
AS | Call level 3 | |||||||||||||
... | ||||||||||||||
AS | Call level 13 | |||||||||||||
AS | Call level 14 | |||||||||||||
AS | Call level 15 | |||||||||||||
Flags | ||||||||||||||
C | P | Z | S | Flags |
The Datapoint 2200 had a built-in full-travel keyboard, a built-in 12-line, 80-column green screen monitor, and two 47 character-per-inch cassette tape drives each with 130 KB capacity. Its size, 9+5⁄8 in × 18+1⁄2 in × 19+5⁄8 in (24 cm × 47 cm × 50 cm), and shape—a box with protruding keyboard—approximated that of an IBM Selectric typewriter. [5] Initially, a Diablo 2.5 MB 2315-type removable cartridge hard disk drive was available, along with modems, several types of serial interface, parallel interface, printers and a punched card reader. Later, an 8-inch floppy disk drive was also made available, along with other, larger hard disk drives. An industry-compatible 7/9-track (user selectable) magnetic tape drive was available by 1975. In late 1977, Datapoint introduced ARCNET local area networking. The original Type 1 2200 shipped with 2 kilobytes (KiB) of serial shift register main memory, expandable to 8 KiB. The Type 2 2200 used denser 1 kbit RAM chips, giving it a default 4 KiB of memory, expandable to 16 KiB. Its starting price was around US$5,000 (equivalent to $38,000in 2023), and a full 16 KiB Type 2 2200 had a list price of just over $14,000.
The 8-bit processor architecture that CTC designed for the Datapoint 2200 was implemented in four distinct ways, all with nearly identical instruction sets, but very different internal microarchitectures: CTC's original design that communicated data serially, CTC's parallel design, the Texas Instruments TMC 1795, and the Intel 8008. [6]
The 2200 models were succeeded by the 5500, 1100, 6600, 3800/1800, 8800, etc.
The fact that most laptops and cloud computers today store numbers in little-endian format is carried forward from the original Datapoint 2200. Because the original Datapoint 2200 had a serial processor, it needed to start with the lowest bit of the lowest byte in order to handle carries. Microprocessors descended from the Datapoint 2200 (the 8008, Z80, and the x86 chips used in most laptops and cloud computers today) kept the little-endian format used by that original Datapoint 2200. [7] [8]
The original design called for a single-chip 8-bit microprocessor for the CPU, rather than a processor built from discrete TTL modules as was conventional at the time. In 1969, CTC contracted two companies, Intel and Texas Instruments (TI), to make the chip. TI was unable to make a reliable part and dropped out. Intel was unable to make CTC's deadline. Intel and CTC renegotiated their contract, ending up with CTC keeping its money and Intel keeping the eventually completed processor. [2]
CTC released the Datapoint 2200 using about 100 TTL components (SSI/MSI chips) instead of a microprocessor, while Intel's single-chip design, eventually designated the Intel 8008, was finally released in April 1972. [9]
Possibly because of their speed advantages compared to MOS circuits, Datapoint continued to build processors out of TTL chips until the early 1980s. [7]
Nonetheless, the 8008 was to have a seminal importance. It was the basis of Intel's line of 8-bit CPUs, which was followed by their assembly language compatible 16-bit CPUs — the first members of the x86 family, as the instruction set was later to be known. Already successful and widely used, the x86 architecture's further rise after the success in 1981 of the original IBM Personal Computer with an Intel 8088 CPU means that most desktop, laptop, and server computers in use today [update] have a CPU instruction set directly based on the work of CTC's engineers. The instruction set of the highly successful Zilog Z80 microprocessor can also be traced back to the Datapoint 2200 as the Z80 was backwards-compatible with the Intel 8080. More immediately, the Intel 8008 was adopted by very early microcomputers including the SCELBI, Mark-8, MCM/70 and Micral N.
Instructions are one to three bytes long, consisting of an initial opcode byte, followed by up to two bytes of operands which can be an immediate operand or a program address. Instructions operate on 8-bits only; there are no 16-bit operations. There is only one mechanism to address data memory: indirect addressing pointed to by a concatenation of the H and L registers, referenced as M. The 2200 does, however, support 13-bit program addresses. It has automatic CALL and RETURN instructions for multi-level subroutine calls and returns which can be conditionally executed, like jumps. Direct copying may be made between any two registers or a register and memory. Eight math/logic functions are supported between the accumulator (A) and any register, memory, or an immediate value. Results are always deposited in A. Most instructions are executed in 16μs, 24μs, or a leisurely 520μs when accessing M. The 520μs represents the delay of the 2200's shift register memory to fully recirculate back to the next instruction. Branch type instructions take a variable amount of time (24μs to 520μs) depending on the distance of the branch.
Opcode | Operands | Mnemonic | Time μs | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | b2 | b3 | |||
0 | 0 | 0 | 0 | 0 | 0 | 0 | X | — | — | HALT | — | Halt |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | — | — | SLC | 16 | A1-7 ← A0-6; A0 ← Cy ← A7 |
0 | 0 | CC | 0 | 1 | 1 | — | — | Rcc (RETURN conditional) | 16/† | If cc true, P ← (stack) | ||
0 | 0 | ALU | 1 | 0 | 0 | data | — | AD AC SU SB ND XR OR CP data | 16 | A ← A [ALU operation] data | ||
0 | 0 | DDD | 1 | 1 | 0 | data | — | Lr data (Load r with immediate data) | 16 | DDD ← data (except M) | ||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | — | — | RETURN | † | P ← (stack) |
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | — | — | SRC | 16 | A0-6 ← A1-7; A7 ← Cy ← A0 |
0 | 1 | CC | 0 | 0 | 0 | addlo | addhi | Jcc add (JMP conditional) | 24/† | If cc true, P ← add | ||
0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | — | — | INPUT | 16 | A ← input |
0 | 1 | command | 1 | — | — | EX command (external command) | 16 | command ← A (coded 8-31 only) | ||||
0 | 1 | CC | 0 | 1 | 0 | addlo | addhi | Ccc add (CALL conditional) | 24/† | If cc true, (stack) ← P, P ← add | ||
0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | addlo | addhi | JMP add | † | P ← add |
0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | addlo | addhi | CALL add | † | (stack) ← P, P ← add |
1 | 0 | ALU | SSS | — | — | ADr ACr SUr SBr NDr XRr ORr CPr | 16/520 | A ← A [ALU operation] SSS | ||||
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | — | — | NOP | 16 | No operation (Actually LAA) |
1 | 1 | DDD | SSS | — | — | Lds (Load d with s) | 16/520 | DDD ← SSS | ||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | — | — | HALT | — | Halt |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | b2 | b3 | Mnemonic | Time μs | Description |
SSS DDD | 2 | 1 | 0 | CC | ALU | |||||||
A | 0 | 0 | 0 | FC, C false | ADr AD (A ← A + arg) | † Variable. Can be from 24μs to 520μs. | ||||||
B | 0 | 0 | 1 | FZ, Z false | ACr AC (A ← A + arg + Cy) | |||||||
C | 0 | 1 | 0 | FS, S false | SUr SU (A ← A - arg) | |||||||
D | 0 | 1 | 1 | FP, P odd | SBr SB (A ← A - arg - Cy) | |||||||
E | 1 | 0 | 0 | TC, C true | NDr ND (A ← A ∧ arg) | |||||||
H | 1 | 0 | 1 | TZ, Z true | XRr XR (A ← A ⊻ arg) | |||||||
L | 1 | 1 | 0 | TS, S true | ORr OR (A ← A ∨ arg) | |||||||
M | 1 | 1 | 1 | TP, P even | CPr CP (A - arg) | |||||||
SSS DDD | 2 | 1 | 0 | CC | ALU |
Although the Datapoint 2200 version I is somewhat faster than an Intel 8008 on register instructions, any reference to the 2200's shift-register memory incurs a large 520µs delay. Also any JMP, CALL, or RETURN can incur a variable delay up to 520µs depending on the distance to the new address. The parallel-architecture Datapoint 2200 version II is much faster than either. [5] [10]
Instruction | Description | Datapoint 2200 ver I µs | 500 kHz Intel 8008 µs | Datapoint 2200 ver II µs | ||||
---|---|---|---|---|---|---|---|---|
ADB | Add B to A | 16 | 20 | 3.2 | ||||
ADI nn | Add nn immediate to A | 16 | 32 | 4.8 | ||||
ADM | Add memory to A | 520 | 32 | 4.8 | ||||
JMP nnnn | Jump to nnnn | 24-520 | 44 | 6.4 | ||||
CALL+RET | Call and Ret combined | 520 | 64 | 9.6 | ||||
Rcc (false) | Conditional return not taken | 16 | 12 | 3.2 |
The following Datapoint 2200 assembly source code is for a subroutine named MEMCPY that copies a block of data bytes from one location to another. Because the byte counter is only 8 bits, there is enough room to load all the subroutine parameters into the 2200's register file. Datapoint 2200 version I transfers 374 bytes per second using this routine. A 500 kHz Intel 8008 executes this code almost four times faster, transferring 1,479 bytes per second. Datapoint 2200 version II is much faster than either at 9,615 bytes per second. [5] [10] If more than an 8-bit count is needed, a more complicated copy routine with parameters held in memory would be required.
002000 317 002001 206 020 004 002004 371 002005 206 020 004 002010 302 002011 024 001 002013 320 002014 110 000 004 002017 007 002020 306 002021 364 002022 004 001 002024 340 002025 305 002026 353 002027 014 000 002031 330 002032 007 002032 | ; MEMCPY --; Copy a block of memory from one location to another;; Entry parameters in registers; HL: 13-bit address of source data block; DE: 13-bit address of target data block; C: 8-bit count of bytes to copy. (1 to 256 bytes)ORG2000Q;Code at 002000 octalMEMCPYLBM;Read source byte into BCALLXCHGI;Exchange HL<->DE and increment DELMB;Save B to target byteCALLXCHGI;Exchange HL<->DE and increment DELAC;Decrement byte counter in CSU1LCAJFZMEMCPY;Continue for all bytesRETURN;Exchange DE and HL register pairs then increment DE as 16 bitsXCHGILAL;Exchange L and ELLEAD1;and inc E, low byte of DELEALAH;Exchange H and DLHDAC0;proagate Cy into DLDARETURNEND |
The original instruction set architecture was developed by Victor Poor and Harry Pyle. [11] The TTL design they ended up using was made by Gary Asbell. Industrial design (how the box's exterior looked, including the company's logo) was done by Jack Frassanito. [2]
Main unit
Peripherals
Users of the 2200 and succeeding terminals eventually had several optional units to choose from. Among these were:
The Intel 8080 ("eighty-eighty") is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibility. Although earlier microprocessors were commonly used in mass-produced devices such as calculators, cash registers, computer terminals, industrial robots, and other applications, the 8080 saw greater success in a wider set of applications, and is largely credited with starting the microcomputer industry.
The 8086 is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus, and is notable as the processor used in the original IBM PC design.
The Intel 386, originally released as the 80386 and later renamed i386, was the first x86 32-bit microprocessor designed by Intel. Pre-production samples of the 386 were released to select developers in 1985, while mass production commenced in 1986. The processor was a significant evolution in the x86 architecture, extending a long line of processors that stretched back to the Intel 8008. The 386 was the central processing unit (CPU) of many workstations and high-end personal computers of the time. The 386 began to fall out of public use starting with the release of the i486 processor in 1989, while in embedded systems the 386 remained in widespread use until Intel finally discontinued it in 2007.
A microprocessor is a computer 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, and control circuitry required to perform the functions of a computer's central processing unit (CPU). The IC is capable of interpreting and executing program instructions and performing arithmetic operations. The microprocessor is a multipurpose, clock-driven, register-based, digital integrated circuit that accepts binary data as input, processes it according to instructions stored in its memory, and provides results as output. Microprocessors contain both combinational logic and sequential digital logic, and operate on numbers and symbols represented in the binary number system.
x86 is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel, based on the 8086 microprocessor and its 8-bit-external-bus variant, the 8088. The 8086 was introduced in 1978 as a fully 16-bit extension of 8-bit Intel's 8080 microprocessor, with memory segmentation as a solution for addressing more memory than can be covered by a plain 16-bit address. The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 and 80486. Colloquially, their names were "186", "286", "386" and "486".
The Zilog Z80 is an 8-bit microprocessor designed by Zilog that played an important role in the evolution of early computing. Launched in 1976 and software-compatible with the Intel 8080, it offered a compelling alternative due to its better integration and increased performance. As well as the 8080's seven registers and flags register, the Z80 had an alternate register set that duplicated them, two 16-bit index registers and additional instructions including bit manipulation and block copy/search.
In computing, endianness is the order in which bytes within a word of digital data are transmitted over a data communication medium or addressed in computer memory, counting only byte significance compared to earliness. Endianness is primarily expressed as big-endian (BE) or little-endian (LE), terms introduced by Danny Cohen into computer science for data ordering in an Internet Experiment Note published in 1980. The adjective endian has its origin in the writings of 18th century Anglo-Irish writer Jonathan Swift. In the 1726 novel Gulliver's Travels, he portrays the conflict between sects of Lilliputians divided into those breaking the shell of a boiled egg from the big end or from the little end. By analogy, a CPU may read a digital word big end first, or little end first.
In computer architecture, 8-bit integers or other data units are those that are 8 bits wide. Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of that size. Memory addresses for 8-bit CPUs are generally larger than 8-bit, usually 16-bit. 8-bit microcomputers are microcomputers that use 8-bit microprocessors.
A microcomputer is a small, relatively inexpensive computer having a central processing unit (CPU) made out of a microprocessor. The computer also includes memory and input/output (I/O) circuitry together mounted on a printed circuit board (PCB). Microcomputers became popular in the 1970s and 1980s with the advent of increasingly powerful microprocessors. The predecessors to these computers, mainframes and minicomputers, were comparatively much larger and more expensive. Many microcomputers are also personal computers. An early use of the term "personal computer" in 1962 predates microprocessor-based designs. (See "Personal Computer: Computers at Companies" reference below). A "microcomputer" used as an embedded control system may have no human-readable input and output devices. "Personal computer" may be used generically or may denote an IBM PC compatible machine.
The Motorola 68000 series is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and were the primary competitors of Intel's x86 microprocessors. They were best known as the processors used in the early Apple Macintosh, the Sharp X68000, the Commodore Amiga, the Sinclair QL, the Atari ST and Falcon, the Atari Jaguar, the Sega Genesis and Sega CD, the Philips CD-i, the Capcom System I (Arcade), the AT&T UNIX PC, the Tandy Model 16/16B/6000, the Sun Microsystems Sun-1, Sun-2 and Sun-3, the NeXT Computer, NeXTcube, NeXTstation, and NeXTcube Turbo, early Silicon Graphics IRIS workstations, the Aesthedes, computers from MASSCOMP, the Texas Instruments TI-89/TI-92 calculators, the Palm Pilot, the Control Data Corporation CDCNET Device Interface, the VTech Precomputer Unlimited and the Space Shuttle. Although no modern desktop computers are based on processors in the 680x0 series, derivative processors are still widely used in embedded systems.
The Intel 8008 is an early 8-bit microprocessor capable of addressing 16 KB of memory, introduced in April 1972. The 8008 architecture was designed by Computer Terminal Corporation (CTC) and was implemented and manufactured by Intel. While the 8008 was originally designed for use in CTC's Datapoint 2200 programmable terminal, an agreement between CTC and Intel permitted Intel to market the chip to other customers after Seiko expressed an interest in using it for a calculator.
The Intel 8085 ("eighty-eighty-five") is an 8-bit microprocessor produced by Intel and introduced in March 1976. It is the last 8-bit microprocessor developed by Intel.
The Intel 4004 is a 4-bit central processing unit (CPU) released by Intel Corporation in 1971. Sold for US$60, it was the first commercially produced microprocessor, and the first in a long line of Intel CPUs.
Datapoint Corporation, originally known as Computer Terminal Corporation (CTC), was a computer company based in San Antonio, Texas, United States. Founded in July 1968 by Phil Ray and Gus Roche, its first products were, as the company's initial name suggests, computer terminals intended to replace Teletype machines connected to time sharing systems.
Federico Faggin is an Italian-American physicist, engineer, inventor and entrepreneur. He is best known for designing the first commercial microprocessor, the Intel 4004. He led the 4004 (MCS-4) project and the design group during the first five years of Intel's microprocessor effort. Faggin also created, while working at Fairchild Semiconductor in 1968, the self-aligned MOS (metal–oxide–semiconductor) silicon-gate technology (SGT), which made possible MOS semiconductor memory chips, CCD image sensors, and the microprocessor. After the 4004, he led development of the Intel 8008 and 8080, using his SGT methodology for random logic chip design, which was essential to the creation of early Intel microprocessors. He was co-founder and CEO of Zilog, the first company solely dedicated to microprocessors, and led the development of the Zilog Z80 and Z8 processors. He was later the co-founder and CEO of Cygnet Technologies, and then Synaptics.
Masatoshi Shima is a Japanese electronics engineer. He was one of the architects of the world's first microprocessor, the Intel 4004. In 1968, Shima worked for Busicom in Japan, and did the logic design for a specialized CPU to be translated into three-chip custom chips. In 1969, he worked with Intel's Ted Hoff and Stanley Mazor to reduce the three-chip Busicom proposal into a one-chip architecture. In 1970, that architecture was transformed into a silicon chip, the Intel 4004, by Federico Faggin, with Shima's assistance in logic design.
The Signetics 2650 was an 8-bit microprocessor introduced in July 1975. According to Adam Osborne's book An Introduction to Microprocessors Vol 2: Some Real Products, it was "the most minicomputer-like" of the microprocessors available at the time. A combination of missing features and odd memory access limited its appeal, and the system saw little use in the market.
The Kenbak-1 is considered by the Computer History Museum, the Computer Museum of America and the American Computer Museum to be the world's first "personal computer", invented by John Blankenbaker of Kenbak Corporation in 1970 and first sold in early 1971. Less than 50 machines were ever built, using Bud Industries enclosures as a housing. The system first sold for US$750. Today, only 14 machines are known to exist worldwide, in the hands of various collectors and museums. Production of the Kenbak-1 stopped in 1973, as Kenbak failed and was taken over by CTI Education Products, Inc. CTI rebranded the inventory and renamed it the 5050, though sales remained elusive.
The history of general-purpose CPUs is a continuation of the earlier history of computing hardware.
Each time Intel launched a new microprocessor, they simultaneously provided a system development kit (SDK) allowing engineers, university students, and others to familiarise themselves with the new processor's concepts and features. The SDK single-board computers allowed the user to enter object code from a keyboard or upload it through a communication port, and then test run the code. The SDK boards provided a system monitor ROM to operate the keyboard and other interfaces. Kits varied in their specific features but generally offered optional memory and interface configurations, a serial terminal link, audio cassette storage, and EPROM program memory. Intel's Intellec development system could download code to the SDK boards.