Intel 8008

Last updated

Intel 8008
KL Intel C8008-1.jpg
An Intel C8008-1 processor variant with purple ceramic, gold-plated metal lid and pins.
General information
LaunchedApril 1972
Discontinued1983 [1]
Marketed by Intel
Designed by Computer Terminal Corporation (CTC)
Common manufacturer(s)
  • Intel
Performance
Max. CPU clock rate 500 kHz to 800 kHz
Data width8 bits
Address width14 bits
Architecture and classification
Application Computer terminals, calculators, bottling machines, 1970s ASEA industrial robots [2] (IRB 6), simple computers, etc.
Technology node 10 µm
Instruction set 8008
Physical specifications
Transistors
  • 3,500
Package(s)
Socket(s)
History
Successor(s) Intel 8080
Support status
Unsupported

The Intel 8008 ("eight-thousand-eight" or "eighty-oh-eight") 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.

Contents

History

In order to address several issues with the Datapoint 3300, including excessive heat radiation, Computer Terminal Corporation (CTC) designed the architecture of the 3300's planned successor with a CPU as part of the internal circuitry re-implemented on a single chip. Looking for a company able to produce their chip design, CTC co-founder Austin O. "Gus" Roche turned to Intel, then primarily a vendor of memory chips. [3] Roche met with Bob Noyce, who expressed concern with the concept; John Frassanito recalls that "Noyce said it was an intriguing idea, and that Intel could do it, but it would be a dumb move. He said that if you have a computer chip, you can only sell one chip per computer, while with memory, you can sell hundreds of chips per computer." [3] Another major concern was that Intel's existing customer base purchased their memory chips for use with their own processor designs; if Intel introduced their own processor, they might be seen as a competitor, and their customers might look elsewhere for memory. Nevertheless, Noyce agreed to a $50,000 development contract in early 1970. Texas Instruments (TI) was also brought in as a second supplier.

TI was able to make samples of the 1201 based on Intel drawings,[ citation needed ] but these proved to be buggy and were rejected. Intel's own versions were delayed. CTC decided to re-implement the new version of the terminal using discrete TTL instead of waiting for a single-chip CPU. The new system was released as the Datapoint 2200 in the spring 1970, with their first sale to General Mills on 25 May 1970. [3] CTC paused development of the 1201 after the 2200 was released, as it was no longer needed. Six months later, Seiko approached Intel, expressing an interest in using the 1201 in a scientific calculator, likely after seeing the success of the simpler Intel 4004 used by Busicom in their business calculators. A small re-design followed, under the leadership of Federico Faggin, the designer of the 4004, now project leader of the 1201, expanding from a 16-pin to 18-pin design, and the new 1201 was delivered to CTC in late 1971. [3]

By that point, CTC had once again moved on, this time to the Datapoint 2200 II, which was faster. The 1201 was no longer powerful enough for the new model. CTC voted to end their involvement with the 1201, leaving the design's intellectual property to Intel instead of paying the $50,000 contract. Intel renamed it the 8008 and put it in their catalog in April 1972 priced at $120. This renaming tried to ride off the success of the 4004 chip, by presenting the 8008 as simply a 4 to 8 port, but the 8008 is not based on the 4004. [4] The 8008 went on to be a commercially successful design. This was followed by the Intel 8080, and then the hugely successful Intel x86 family. [3]

One of the first teams to build a complete system around the 8008 was Bill Pentz' team at California State University, Sacramento. The Sac State 8008 was possibly the first true microcomputer, with a disk operating system built with IBM Basic assembly language in PROM, all driving a color display, hard drive, keyboard, modem, audio/paper tape reader and printer. [5] The project started in the spring of 1972, and with key help from Tektronix the system was fully functional a year later. Bill assisted Intel with the MCS-8 kit and provided key input to the Intel 8080 instruction set, which helped make it useful for the industry and hobbyists.

In the UK, a team at S. E. Laboratories Engineering (EMI) led by Tom Spink in 1972 built a microcomputer based on a pre-release sample of the 8008. Joe Hardman extended the chip with an external stack. This, among other things, gave it power-fail save and recovery. Joe also developed a direct screen printer. The operating system was written using a meta-assembler developed by L. Crawford and J. Parnell for a Digital Equipment Corporation PDP-11. [6] The operating system was burnt into a PROM. It was interrupt-driven, queued, and based on a fixed page size for programs and data. An operational prototype was prepared for management, who decided not to continue with the project.

The 8008 was the CPU for the very first commercial non-calculator personal computers (excluding the Datapoint 2200 itself): the US SCELBI kit and the pre-built French Micral N and Canadian MCM/70. It was also the controlling microprocessor for the first several models in Hewlett-Packard's 2640 family of computer terminals.

In 1973, Intel offered an instruction set simulator for the 8008 named INTERP/8. [7] It was written in FORTRAN IV by Gary Kildall while he worked as a consultant for Intel. [8] [9]

Design

i8008 microarchitecture Intel 8008 arch.svg
i8008 microarchitecture
Intel 8008 registers
1312111009080706050403020100(bit position)
Main registers
 AAccumulator
 BB register
 CC register
 DD register
 EE register
 HH register (indirect)
 LL register (indirect)
Program counter
PCProgram Counter
Push-down address call stack
ASCall level 1
ASCall level 2
ASCall level 3
ASCall level 4
ASCall level 5
ASCall level 6
ASCall level 7
Flags
  C P Z S Flags

The 8008 was implemented in 10  μm silicon-gate enhancement-mode PMOS logic. Initial versions could work at clock frequencies up to 0.5 MHz. This was later increased in the 8008-1 to a specified maximum of 0.8 MHz. Instructions take between 5 and 11 T-states, where each T-state is 2 clock cycles. [10] Register–register loads and ALU operations take 5T (20 μs at 0.5 MHz), register–memory 8T (32 μs), while calls and jumps (when taken) take 11 T-states (44 μs). [11] The 8008 is a little slower in terms of instructions per second (36,000 to 80,000 at 0.8 MHz) than the 4-bit Intel 4004 and Intel 4040. [12] but since the 8008 processes data 8 bits at a time and can access significantly more RAM, in most applications it has a significant speed advantage over these processors. The 8008 has 3,500 transistors. [13] [14] [15]

The chip, limited by its 18-pin DIP, has a single 8-bit bus working triple duty to transfer 8 data bits, 14 address bits, and two status bits. The small package requires about 30 TTL support chips to interface to memory. [16] For example, the 14-bit address, which can access "16 K × 8 bits of memory", needs to be latched by some of this logic into an external memory address register (MAR). The 8008 can access 8 input ports and 24 output ports. [10]

For controller and CRT terminal use, this is an acceptable design, but it is rather cumbersome to use for most other tasks, at least compared to the next generations of microprocessors. A few early computer designs were based on it, but most would use the later and greatly improved Intel 8080 instead.[ citation needed ]

The subsequent 40-pin NMOS Intel 8080 expanded upon the 8008 registers and instruction set and implements a more efficient external bus interface (using the 22 additional pins). Despite a close architectural relationship, the 8080 was not made binary compatible with the 8008, so an 8008 program would not run on an 8080. However, as two different assembly syntaxes were used by Intel at the time, the 8080 could be used in an 8008 assembly-language backward-compatible fashion. [17] [ irrelevant citation ]

The Intel 8085 is an electrically modernized version of the 8080 that uses depletion-mode transistors and also added two new instructions. [18] [ irrelevant citation ]

The Intel 8086, the original x86 processor, is a non-strict extension of the 8080, so it loosely resembles the original Datapoint 2200 design as well. Almost every Datapoint 2200 and 8008 instruction has an equivalent not only in the instruction set of the 8080, 8085, and Z80, but also in the instruction set of modern x86 processors (although the instruction encodings are different). [19] [ irrelevant citation ]

Features

The 8008 architecture includes the following features:[ citation needed ]

Example code

Intel 8008 wafer and two processors, closed and open Intel 8008 wafer.jpg
Intel 8008 wafer and two processors, closed and open

The following 8008 assembly source code is for a subroutine named MEMCPY that copies a block of data bytes of a given size from one location to another.

                                                                                                                                                                                    001700  000         001701  000         001702  000         001703  000         001704  000         001705  000                                                 002000  066 304     002002  056 003     002004  327         002005  060         002006  317         002007  302         002010  261         002011  053         002012  302         002013  024 001     002015  320         002016  301         002017  034 000     002021  310         002022  066 300     002024  056 003     002026  302         002027  207         002030  340         002031  060         002032  301         002033  217         002034  350         002035  364         002036  337         002037  066 302     002041  056 003     002043  302         002044  207         002045  340         002046  060         002047  301         002050  217         002051  350 002052  364 002053  373         002054  104 007 004 002057              
; MEMCPY --; Copy a block of memory from one location to another.;; Entry parameters;       SRC: 14-bit address of source data block;       DST: 14-bit address of target data block;       CNT: 14-bit count of bytes to copyORG1700Q;Data at 001700qSRCDFB0;SRC, low byteDFB0;     high byteDSTDFB0;DST, low byteDFB0;     high byteCNTDFB0;CNT, low byteDFB0;     high byteORG2000Q;Code at 002000qMEMCPYLLICNT+0;HL = addr(CNT)LHICNT+1LCM;BC = CNTINLLBMLOOPLAC;If BC = 0,ORBRTZ;ReturnDECCNTLAC;BC = BC - 1SUI1LCALABSBI0LBAGETSRCLLISRC+0;HL = addr(SRC)LHISRC+1LAC;HL = SRC + BCADM;E = C + (HL)LEA;(lower sum)INL;point to upper SRCLABACM;H = B + (HL) + CYLHA;(upper sum)LLE;L = ELDM;Load D from (HL)GETDSTLLIDST+0;HL = addr(DST)LHIDST+1LAC;HL = DST + BCADM;ADD code same as aboveLEAINLLABACMLHALLELMD;Store D to (HL)JMPLOOP;Repeat the loopEND

In the code above, all values are given in octal. Locations SRC, DST, and CNT are 16-bit parameters for the subroutine named MEMCPY. In actuality, only 14 bits of the values are used, since the CPU has only a 14-bit addressable memory space. The values are stored in little-endian format, although this is an arbitrary choice, since the CPU is incapable of reading or writing more than a single byte into memory at a time. Since there is no instruction to load a register directly from a given memory address, the HL register pair must first be loaded with the address, and the target register can then be loaded from the M operand, which is an indirect load from the memory location in the HL register pair. The BC register pair is loaded with the CNT parameter value and decremented at the end of the loop until it becomes zero. Note that most of the instructions used occupy a single 8-bit opcode.

Designers

Second sources

See also

Related Research Articles

<span class="mw-page-title-main">Intel 8080</span> 8-bit microprocessor

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. The initial specified clock rate or frequency limit was 2 MHz, with common instructions using 4, 5, 7, 10, or 11 cycles. As a result, the processor is able to execute several hundred thousand instructions per second. Two faster variants, the 8080A-1 and 8080A-2, became available later with clock frequency limits of 3.125 MHz and 2.63 MHz respectively. The 8080 needs two support chips to function in most applications: the i8224 clock generator/driver and the i8228 bus controller. It is implemented in N-type metal–oxide–semiconductor logic (NMOS) using non-saturated enhancement mode transistors as loads thus demanding a +12 V and a −5 V voltage in addition to the main transistor–transistor logic (TTL) compatible +5 V.

<span class="mw-page-title-main">Intel 8086</span> 16-bit microprocessor

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.

<span class="mw-page-title-main">Microprocessor</span> Computer processor contained on an integrated-circuit chip

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.

<span class="mw-page-title-main">Motorola 6800</span> 8-bit microprocessor

The 6800 is an 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the M6800 Microcomputer System that also included serial and parallel interface ICs, RAM, ROM and other support chips. A significant design feature was that the M6800 family of ICs required only a single five-volt power supply at a time when most other microprocessors required three voltages. The M6800 Microcomputer System was announced in March 1974 and was in full production by the end of that year.

<span class="mw-page-title-main">Zilog Z80</span> 8-bit microprocessor

The Z80 is an 8-bit microprocessor introduced by Zilog as the startup company's first product. The Z80 was conceived by Federico Faggin in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were delivered in March 1976, and it was officially introduced on the market in July 1976. With the revenue from the Z80, the company built its own chip factories and grew to over a thousand employees over the following two years.

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.

<span class="mw-page-title-main">Microcomputer</span> Small computer with a CPU made out of a microprocessor

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.

<span class="mw-page-title-main">Intel 8085</span> 8-bit microprocessor by Intel

The Intel 8085 ("eighty-eighty-five") is an 8-bit microprocessor produced by Intel and introduced in March 1976. It is software-binary compatible with the more-famous Intel 8080 with only two minor instructions added to support its added interrupt and serial input/output features. However, it requires less support circuitry, allowing simpler and less expensive microcomputer systems to be built. The "5" in the part number highlighted the fact that the 8085 uses a single +5-volt (V) power supply by using depletion-mode transistors, rather than requiring the +5 V, −5 V and +12 V supplies needed by the 8080. This capability matched that of the competing Z80, a popular 8080-derived CPU introduced the year before. These processors could be used in computers running the CP/M operating system.

<span class="mw-page-title-main">Intel 4004</span> 4-bit microprocessor

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.

<span class="mw-page-title-main">Intel 4040</span> 4-bit microprocessor introduced in 1974 by Intel

The Intel 4040 microprocessor was the successor to the Intel 4004, introduced in 1974. The 4040 employed a 10 μm silicon gate enhancement-load PMOS technology, was made up of 3,000 transistors and could execute approximately 62,000 instructions per second.

<span class="mw-page-title-main">Datapoint 2200</span> Personal computer and terminal

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 and announced by CTC in June 1970. 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. However, 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. 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. Also significant is the fact that 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.

<span class="mw-page-title-main">Datapoint</span> Computer company

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.

<span class="mw-page-title-main">Federico Faggin</span> Italian-American physicist, engineer, inventor and entrepreneur

Federico Faggin is an Italian 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.

A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. In computer architecture, registers are typically addressed by mechanisms other than main memory, but may in some cases be assigned a memory address e.g. DEC PDP-10, ICT 1900.

<span class="mw-page-title-main">Masatoshi Shima</span> Japanese electronics engineer

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.

4-bit computing is the use of computer architectures in which integers and other data units are 4 bits wide. 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of that size. A group of four bits is also called a nibble and has 24 = 16 possible values.

<span class="mw-page-title-main">History of general-purpose CPUs</span> History of processors used in general purpose computers

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.

In computer architecture, 16-bit integers, memory addresses, or other data units are those that are 16 bits wide. Also, 16-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size. 16-bit microcomputers are microcomputers that use 16-bit microprocessors.

<span class="mw-page-title-main">Intellec</span>

The Intellec computers were a series of early microcomputers Intel produced in the 1970s as a development platform for their processors. The Intellec computers were among the first microcomputers ever sold, predating the Altair 8800 by at least two years.

References

  1. "The Life Cycle of a CPU". www.cpushack.com.
  2. "Thirty years in robotics – Robotics". 2014-05-19. Archived from the original on 2014-03-19. Retrieved 2018-04-11.
  3. 1 2 3 4 5 Wood, Lamont (2008-04-08), "Forgotten PC history: The true origins of the personal computer", Computerworld
  4. Ken Shirriff in an interview with Bryan Cantril, Jess Frazzelle, published by Oxide Computing Podcast "First, the 4004 and the 8008 are entirely different chips. Marketing makes them sound like it's just a 4-bit and 8-bit version, but they're totally different." https://oxide.computer/podcast/on-the-metal-13-ken-shirriff/#t=19:52
  5. "Inside the world's long-lost first microcomputer". cnet.com. 2010-01-08. Retrieved 2018-04-11.
  6. Brunel University, 1974. Master of Technology dissertation, L. R. Crawford.
  7. "XI. Appendices III. MCS-8 Software Package - Simulator". MCS-8 Microcomputer Set - 8008 - 8 Bit Parallel Central Processor Unit - Users Manual (PDF). Revision 4, Second Printing. Santa Clara, California, USA: Intel Corporation. 1974 [November 1973]. pp. 84–94. MCS-056-0574/25K. Archived (PDF) from the original on 2023-11-25. Retrieved 2023-11-25. (132 pages)
  8. Kildall, Gary Arlen (1974-06-27). "High-level language simplifies microcomputer programming" (PDF). Electronics . McGraw-Hill Education. pp. 103–109 [108]. Archived (PDF) from the original on 2021-11-14. Retrieved 2021-11-14.
  9. "8008 Simulator INTERP/8" (PDF). Microcomputer Software. Santa Clara, California, USA: Intel Corporation. March 1975. Product Code 98-118A. MCS-514-0375/27.5K. Archived (PDF) from the original on 2023-11-25. Retrieved 2023-11-25. (2 pages)
  10. 1 2 "MCS-8 Micro Computer Set Users Manual" (PDF). Intel Corporation. 1972. Retrieved 2010-12-04.
  11. "Intel 8008 Opcodes" . Retrieved 2010-12-04.
  12. "Intel 8008 (i8008) microprocessor family". CPU World. 2003–2010. Retrieved 2010-12-04.
  13. Intel. "Gordon Moore and Moore's Law". Archived from the original on 2009-09-04. Retrieved 2009-06-28.
  14. Intel (2012). "Intel Chips: timeline poster".
  15. Intel (2008). "Microprocessor Quick Reference Guide".
  16. Oral History of Federico Faggin (PDF) (X2941.2005 ed.). Computer History Museum. 2004-09-22. p. 82. Retrieved 2023-07-14.
  17. See the Z80 article for a description.
  18. See the Intel 8085 article for a description.
  19. See the Intel 8086 article for a description.
  20. Faggin, Federico; Hoff, Jr., Marcian E.; Mazor, Stanley; Shima, Masatoshi (December 1996). "The History of the 4004". IEEE Micro. Los Alamitos, USA: IEEE Computer Society. 16 (6): 10–19. doi:10.1109/40.546561. ISSN   0272-1732.