This article first appeared on All Programmable Planet (APP), which was a thriving community website devoted to all things programmable. Sadly, APP is no longer with us, but many friendships were forged there that will last for years to come.
Following on from my previous blog, The Memory (R)evolution, I thought we should consider things in the context of microprocessors.
In almost every piece of electronic equipment we use today, there will be some kind of microprocessor (MPU) or microcontroller (MCU) controlling the operation. Following Moore's Law, microprocessors have doubled in size every second year. When Intel introduced the 4004 microprocessor in 1971, it had about 2,300 transistors. By comparison, the latest Intel 64-bit microprocessors contain more than 2.5 billion transistors.
This retrospective blog describes how I became involved in testing microprocessors in 1976, and how microprocessors have influenced my professional work for many years.
A visit to the Computer History Museum's website will help us get a feeling for the evolution of the microprocessor. After working for a few years maintaining the computer-controlled test equipment at Ericsson (as I discussed in an earlier blog), I realized it would be much more fun to program these beasts. I applied for a job with the microcircuit group in Ericsson's component test department. I got the job, and the first thing I had to do was to write a test program for the Motorola 6801 microcomputer.
The 6800 was an eight-bit microprocessor designed and manufactured by Motorola. The MC6800 microprocessor was part of the M6800 Microcomputer System, which also included serial and parallel interface ICs, RAM, ROM, and a variety of 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.
The MC6801 was a single-chip microcomputer based on a 6800 CPU with 128 bytes of RAM, a 2KB ROM, a 16-bit timer, 31 programmable parallel I/O lines, and a serial port. It could also use the I/O lines as data and address buses to connect to standard M6800 peripherals. The 6801 would execute 6800 code, but it had 10 additional instructions, and the execution time of key instructions was reduced. The two eight-bit accumulators could act as a single 16-bit accumulator for double-precision addition, subtraction, and multiplication. This device was initially designed for automotive use, with General Motors as the lead customer. The first application was a trip computer for the 1978 Cadillac Seville. This 35,000 transistor chip was too expensive for wide-scale adoption in automobiles, which resulted in the creation of a reduced-function MC6805 single-chip microcomputer.
Writing test programs for the Tektronix S-3260 test system
It was not easy to write a test program that would fully test the MC6801 microcomputer's functionality. Up to that time (1976), we had been writing test programs only for simple TTL devices in the 74 series. Our tester could store 1,024 test vectors, which was sufficient for testing simple counters and adders, but we knew that we would need much more memory for testing a microprocessor. Also, I had to come up with a completely new method for testing.
The solution was to use the tester memory as program memory connected to the processor bus. We could then compile small assembly programs and let the processor execute these programs and send the results back to the tester. This method was successful, so I wrote a paper which I presented at a Tektronix users meeting in Germany in 1979.
To Page 2 >