Tuesday, February 18

The TMS1000: The First Commercially Available Microcontroller

We use a microcontroller without a second thought, in applications where once we might have resorted to a brace of 74 logic chips. But how many of us have spared a thought for how the microcontroller evolved? It’s time to go back a few decades to look at the first commercially available microcontroller, the Texas Instruments TMS1000.

Imagine A World Without Microcontrollers

The Texas Instruments Speak And Spell from 1978 was a typical use for the TMS1000.
The Texas Instruments Speak & Spell from 1978 was a typical use for the TMS1000. FozzTexx (CC-SA 4.0)

It’s fair to say that without microcontrollers, many of the projects we feature on Hackaday would never be made. Those of us who remember the days before widely available and easy-to-program microcontrollers will tell you that computer control of a small hardware project was certainly possible, but instead of dropping in a single chip it would have involved constructing an entire computer system. I remember Z80 systems on stripboard, with the Z80 itself alongside an EPROM, RAM chips, 74-series decoder logic, and peripheral chips such as the 6402 UART or the 8255 I/O port. Flashing an LED or keeping an eye on a microswitch or two became a major undertaking in both construction and cost, so we’d only go to those lengths if the application really demanded it. This changed for me in the early 1990s when the first affordable microcontrollers with on-board EEPROM came to market, but by then these chips had already been with us for a couple of decades.

It seems strange to modern ears, but for an engineer around 1970 a desktop calculator was a more exciting prospect than a desktop computer. Yet many of the first microcomputers were designed with calculators in mind, as was for example the Intel 4004. Calculator manufacturers each drove advances in processor silicon, and at Texas Instruments this led to the first all-in-one single-chip microcontrollers being developed in 1971 as pre-programmed CPUs designed to provide a calculator on a chip. It would take a few more years until 1974 before they produced the TMS1000, a single-chip microcontroller intended for general purpose use, and the first such part to go on sale.

It’s worth taking a moment to consider some of the terminology involved, because in 1974 the some of our current vocabulary was not necessarily in common usage. TI marketed the TMS1000 as a microcomputer because they saw it as an all-in-one computer without the need for extra peripherals. Today we’d consider a microcomputer to be an all-in-one general purpose computer such as the one you’re probably reading this on, following an unbroken line stretching back to the Altair 8800 in the same year, but back then the vocabulary was like the technology; in its infancy. The word microcontroller was in use by then for a computer with self-contained I/O, the Oxford English Dictionary has a citation from 1971 in an IBM technical bulletin, but it seems not to have settled as the universal definition. By comparison the more modern “System on chip” or SoC refers to a general purpose all-in-one computer chip that presents its internal bus to the world rather than a set of I/O lines or peripherals as you would find in a microcontroller.

Just How Simple Does A Microcontroller Need To Be?

The internal architecture of the TMS1000.
The internal architecture of the TMS1000.

The TMS1000 then was the first commercially available microcontroller. But what kind of chip was it? There were four variants in the original range, all sharing the same 4-bit processor with a Harvard architecture, and sporting different numbers of I/O lines and ROM and RAM sizes. The TMS1000 and TMS1200 families had 8192 bits of program ROM and 265 bits of RAM, while the TMS1100 and 1300 families had double those figures. There were versions with high-voltage-tolerant outputs for driving vacuum fluorescent displays, and  they were available in 28-pin and 40-pin packages. Internally it sports an extremely simple architecture by today’s standards, without the banks of registers or pipelining you’d expect from more recent designs. It has none of the vast array of peripherals that you’d find on a modern microcontroller, but its I/O latches are supplemented by a simple programmable logic array. This would have been used as an encoder or decoder, an example in the data sheet uses it as a 7-segment display decoder.

The complex process of TMS1000 software development.
The complex process of TMS1000 software development.

You would not have found this chip for sale in single quantities for experimenters, because its on-board mask ROM could only be programmed at the point of manufacture by TI. Thus all coding was performed in a simulator on a time-sharing mainframe operated by TI. This would generate a deck of punch cards which after a very complex debugging and testing process would be used to generate the masks for ROM coding. The microcode could even be modified to order by TI, resulting in possible extensions to the device’s 43 instructions. The mask-programming also means that any TMS1000 you find today will still contain whatever software it was manufactured with; without the original surrounding hardware for context they are of little use beyond a historical curiosity. This doesn’t seem to stop some vendors attaching eye-watering prices to them, but thankfully if you really need a TMS1000 in your collection they can still be picked up for not a lot.

If It Was Everywhere In The 1970s, Why Is It Nowhere Now?

A die shot of a CMOS TMS1000. Pauli Rautakorpi [CC BY 3.0]
A die shot of a CMOS TMS1000. Pauli Rautakorpi [CC BY 3.0]
By the 1980s the world belonged to 8-bit and 16-bit microprocessors and microcontrollers, so other than surviving unseen for a few years as cores for TI’s calculator chips, the TMS1000 series was eventually retired and has since slipped away unnoticed into electronics history. It’s interesting to note that some of its contemporaries are very much still with us, you can still buy plenty of PIC, 8051, Z80, and even 6502 derivatives, yet there were no direct successors to the 4-bit TI processors. The onward march of technology is one culprit for this, but perhaps also the arcane software development played a part in its demise. Those 8-bit CPUs are still with us because anyone could pick up a dev board and an EPROM programmer and start coding, so they attracted a core of developers well-versed in their architectures. By comparison TMS1000 developers must have been few and far between, and certainly not enough to demand successor silicon. There were some special development versions of the processor added to the range that took an external ROM, but by then the market had shifted upwards by four bits.

If you encounter a TMS1000 today it’s most likely that you’ll have a late-70s electronic game in your hands, such as TI’s own Speak & Spell, or Milton Bradley’s Simon. Even these games survived longer than their original processor; you can still buy a modern version of Simon from Mattel, and TI’s line of speech-enabled learning toys kept going into the 1990s. The legacy of this processor is immense though, and can be seen today in every electronic device containing a microcontroller. If you have one, it’s a real piece of history!

Header image: Antonio Martí Campoy [CC BY-SA 4.0]

No comments:

Post a Comment