Texas Instruments TMS1000

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
A TMS1000 "computer on a chip". The date code on this part shows it was made in 1979. It is in a 28-pin plastic dual-in-line package.
Texas Instruments TMS1100 microcontroller inside the Parker Brothers Merlin electronics game

The TMS1000 is a family of microcontroller integrated circuits, introduced by Texas Instruments in 1974.[1][2][3] It combined a 4-bit central processor unit, read-only memory (ROM), read/write memory (RAM), and input/output (I/O) lines as a complete "computer on a chip". It was intended for embedded systems in automobiles, appliances, games, and measurement instruments. It was the first high-volume commercial microcontroller. In 1974, parts in this family could be purchased in volume for around $2 each.[4] By 1979 about 26 million parts in this family were sold every year.[5] The TMS 1000 was used in Texas Instruments' own Speak & Spell educational toy,[4] and in the electronic game Simon.[6]



The TMS1000 family eventually included variants in both the original PMOS logic and also in NMOS and CMOS. Product variations included different sizes of ROM and RAM, different I/O counts, and ROMless versions intended for development or for use with external ROM. The original TMS1000 had 1024 x 8 bits of ROM, 64 x 4 bits of RAM, and 23 input/output lines.

The TMS1000 family used mask-programmed ROM. Once the user had a debugged program ready to be committed to production, it would send the program to Texas Instruments who would then make a special mask to program the on-chip ROM. The ROM could not be altered in the field; the contents were fixed by the patterns laid down on the chip by the manufacturer. While this process had a high initial cost, the production cost was very low, making it suitable for high volume products (say, more than a few thousand items sold per year).

All internal data paths of the processor were 4 bits wide. Program ROM and data RAM were separately addressed as in a Harvard architecture; this became a typical characteristic of microcontrollers by many other manufacturers.

The ALU had a carry flag to indicate overflow and facilitate multiple precision arithmetic. On-chip RAM was address by X and Y registers, where X had 4 bits and Y had either 2 or 3 bits depending on the size of RAM on the part. The program counter was 6 bits wide, with "page" and "chapter" registers to address up to 2 KB of ROM program memory.

No stack was provided, but a register was provided to store the program counter and carry flag to allow for one level of subroutine (some members of the family allowed for 2 or 3 levels). No interrupt facility was provided.

Some models had as few as 4 I/O lines because they had no on-chip ROM and the limited number of package pins were needed to access off-chip program memory. One version had special outputs for driving a vacuum fluorescent display, and a programmable logic array useful for driving seven segment displays. Four input lines were provided for purposes such as sensing keyboard inputs, and a varying number of output lines were provided to control external devices, or to scan the rows of a keyboard.

PMOS versions ran on -9 or -15 volts and consumed around 6 mA, Output logic levels were therefore not compatible with TTL logic. The NMOS and CMOS parts ran on a TTL-style +5 volts and could be interoperated with 5 volt logic.

Instruction sets varied slightly by model, with 43 instructions in the basic set and 54 available in some family members; instructions were 8 bits long. BCD arithmetic instructions were provided, but no instructions were available for logical AND or OR of registers. Subroutines were limited to 1 level in some parts (a subroutine could not call another subroutine), with 2 or 3 levels available on others.

Each instruction took between 10 to 15 microseconds to execute on the NMOS and PMOS parts, but some CMOS parts could be run as fast as 6 microseconds. The internal oscillator gave an effective clock speed of around 0.3 megahertz.

The TMS1000 parts were packaged in through-hole dual in-line packages with 28 or 40 pins, but some models for prototyping were in 64-pin packages. All versions had a temperature range of 0 to 70 degrees C.

Since these were intended as single-chip embedded systems, no special support chips UARTs, etc. were specifically made in the TMS 1000 family.[7]


  1. ^ Texas Instruments (2006). "Texas Instruments History 1970's". Archived from the original on 18 January 2006. 1974: Introduces TMS1000 one-chip microcomputer.
  2. ^ Texas Instruments (2005). "TMS 1000 One-Chip Microcomputers". Archived from the original on 13 February 2005. This is Texas Instruments' original 1974 announcement of the TMS1000 family.
  3. ^ Siewiorek, Daniel P.; Bell, C. Gordon; Newell, Allen, eds. (1982). "Part 3: Computer Classes, Section 1: Monolithic Microcomputers". Computer Structures: Principles and Examples. New York: McGraw-Hill. p. 583. ISBN 0-07-057302-6. Retrieved 8 November 2017. The TMS1000 was introduced in 1974 and used in the SR-16 calculator.
  4. ^ a b Richard Zurawski, Embedded Systems Handbook, Second Edition: Embedded Systems Design and Verification, CRC Press, 2009, ISBN 1439807639, pp. 12–3
  5. ^ David L. Morton Jr., Joseph Gabriel, Electronics: The Life Story of a Technology JHU Press, 2007 ISBN 0801887739, p. 113
  6. ^ Michael Austin, Music Video Games: Performance, Politics, and Play Bloomsbury Publishing USA, 2016 ISBN 1501308505, chapter 1
  7. ^ S. A. Money, Microprocessor Data Book, Second Edition, Academic Press, 2014, ISBN 1483268705 pp. 35–37

Further reading[edit]

The Engineering Staff of Texas Instruments Incorporated, Semiconductor Group (1975). TMS 1000 Series MOS/LSI One-Chip Microcomputers (PDF).

The Engineering Staff of Texas Instruments Incorporated, Semiconductor Group (1975). TMS 1000 Series MOS/LSI One-Chip Microcomputers: Programmer's Reference Manual (PDF).

The Engineering Staff of Texas Instruments Incorporated, Semiconductor Group (December 1976). TMS 1000 Series Data Manual (PDF).