Advertisement

Milestones in embedded systems design

Jack Ganssle and Embedded Systems Design staff

February 23, 2008

Jack Ganssle and Embedded Systems Design staffFebruary 23, 2008

Please comment on the timeline: we want to hear your stories and suggestions. Are we missing any events or inventions that are pertinent to embedded systems? Do you have any good photos you're willing to share? Send your suggestions and photos to susan.rambo@ubm.com or log on and post your comments below.

Milestones in embedded systems design

1936 - 1937
Computer technology:
Alan Turing publishes article "On Computable Numbers, with an Application to the Entscheidungsproblem" in Proceedings of the London Mathematical Society, Series 2, which paves the way not only for computers but for stored-program architectures. Turing later helps design the Colossus (to some, the first digital computer) and is crucial in breaking the codes of the German Enigma machine during the Second World War.
See Stanford Encyclopedia of Philosophy's The Modern History of Computing.
Virtual Travelog's The Evolution of the Modern Computer An Open Source Graphical History (1934 to 1950)

A page from Alan Turing's notes.

 

1939
Computer technology:
John Atanasoff and Clifford Berry create a prototype of the Atanasoff–Berry Computer (ABC), the first digital computer. See Wikipedia's entry.

 

1944
Computer technology:
Colossus, the first fully functioning electronic digital computer, is used by the Bletchley Park cryptanalysts.

 

1945
Debugging:
First computer bug found by Grace Hopper. Trillions were found by later developers.

First bug from Grace Hopper's notes.

 

1946
Computer technology:
Eniac, the world's first "programmable" stored-program electronic digital computer, comes to life.

ENIAC - When big iron was really big. With 18,000 vacuum tubes it had roughly the complexity of a cheap digital Timex.

 

1947
Electronics:
William Shockley, John Bardeen and Walter Brattain build the first practical point-contact transistor at Bell Labs

Reproduction of the first transistor.

1950s
Language evolution:
Assembly languages were first developed.

Z80 assembly code

1952
Compilers:
Grace Hopper writes the first compiler for the A-0 programming language.

1953
Computer technology:

Magnetic Core Memory developed.

A 13k bit core array in 26 planes of 512 bits each, with a 1 GB flash drive (which has about 10 billion transistors on it).

1954
Language evolution:
John Backus and his team at IBM start developing FORTRAN (FORmula TRANslation).

1957
Compilers:
The FORTRAN team led by John Backus at IBM introduces the first complete compiler.

A FORTRAN II program

1958
Language evolution:
Charles H. Moore starts working on a personal programming system, which evolves into FORTH.

1958
Language evolution:
John McCarthy develops LISP at Massachusetts Institute of Technology.

Lisp Code

1958, Sept. 12
Electronics:
Jack St Clair Kilby invents the integrated circuit at Texas Instruments. Robert Noyce works separately on the invention.

1958
Language evolution:
ALGOL (ALGOrithmic Language)is developed jointly by a committee of European and American computer scientists in a meeting in at ETH Zurich.

1959
Language evolution:
COBOL (COmmon Business-Orientated Language) is developed with the initial specifications released in April 1960.

1960
Compilers:
COBOL was an early language to be compiled on multiple architectures.

1961
Language evolution:
APL programming language released by Kenneth Iverson at IBM.



Click on image to enlarge.

A complete APL program that plays the game of life.

1962
Compilers:
The first self-hosting compiler--capable of compiling its own source code in a high-level language--was created for Lisp by Hart and Levin at MIT.

1962
Computer technology:
Texas Instruments introduces the 7400 series of logic ICs.

The TTL Data Book from TI, which had spec sheets for all of the 7400 series parts.

1964
Language evolution:
IBM releases Programming language PL/1.

1965
Computer technology:
DEC introduces the 12 bit PDP-8 minicomputer, which by 1973 was the best-selling computer in the world. PDP-8s were probably the first computers "embedded" in instrumentation and other sorts of commercial systems due to its low cost (about $18k in 1965 dollars, or $120k today).

First generation PDP-8.

1965
Computer technology:
Gordon Moore's article, published in April 1965 Electronics Magazine, establishes Moore's Law.

1965
Language evolution:
Dr. Thomas Kurtz and Dr. John Kemeny develop BASIC (Beginners All-purpose Symbolic Instruction Code) programming language.

 

A BASIC program. Some still feel that learning BASIC poisons one's programming abilities for life.

 

1967
Language evolution:
Niklaus Wirth begins developing PASCAL, finishing in 1971.

1968
Electronics:
RCA releases the CD4000 CMOS logic family. CMOS, being so slow, is seen as an impractical technology for high-end processing.

1968
Electronics:
Fairchild introduces the 741, the most popular op amp of all time, which was destined to be used in vast numbers of embedded systems.



Click on image to enlarge.

Schematic of the 741 op amp.

1970s
Language evolution:
FORTH available to other programmers.

1970
Electronics:
Texas Instruments develops a mask-programmable IC called programmable logic array (PLA), based on IBM's read-only associative memory.

1970
Computer Technology:
Intel releases the 1103 chip, the first generally available dynamic random-access memory (DRAM) memory chip. See History of Computer Memory.

1971
Electronics:
Signetics introduces the 555 timer, one of the most popular chips of all time.

1971
Computer Technology:
Intel releases first microprocessor, the 4004, a 4-bit central processing unit. See Computer History Museum's timeline on microprocessors.

The 4004, the chip that started the microprocessor revolution.

1971
Electronics:
General Electric develops first erasable programmable logic device (PLD) based on the new PROM technology.

1971
Computer Technology:
Intel releases the 1101 chip, a 256-bit programmable memory, and the 1701 chip, a 256-byte erasable read-only memory (EROM).

1972
Language evolution:
Dennis Ritchie develops C at the Bell Telephone Laboratories for use with the Unix operating system.

A C function

1972
Computer technology:
Intel introduces the floating-gate UV erasable PROM.

1972
Computer technology:
Intel introduces 8008.

1972
Language evolution:
Gary Kildall develops the PL/M programming language (Programming Language for Microcomputers), a high-level language for Intel's microprocessors.

1973
Computer technology:
Intel releases the Intellec 8 development system for the 8008.

1973
Electronics:
National Semiconductor introduces a mask-programmable PLA device (DM7575).

1973
Language evolution:
Charles Moore and Elizabeth Rather formed FORTH, Inc., refining and porting Forth systems to dozens of other platforms in the next decade.

1973
Computer technology:
Texas Instruments introduces the first dynamic random-access memory (DRAM) that is a 4K-bit chip.

1973
Ethernet developed.

1974
Computer technology:
CLIP-4, the first computer with a parallel architecture.

1974 - 1976
Electronics:
GE and Monolithic Memories develop the MMI 5760, a mask-programmable logic device they call the programmable associative logic array (PALA). The part was never brought to market.

1975
Electronics:
Napoleone Cavlan at Signetics develops 82S100 PLA (programmable logic array) based on National Semiconductors DM7575. More about the history of programmable logic

1975
Compilers:
Bill Gates and Paul Allen deliver a BASIC compiler to MITS. Microsoft is born.

1975
Computer technology:
MITS releases the Altair 8800 at an unheard-of price point of $400. The home computer is born.

The Altair 8800.

1975
Computer technology:
MOS Technology releases the 6502 for only $25 in single unit quantities. The next year a tiny startup named "Apple Computer" used this chip in their Apple 1 computer.

1976
Computer technology:
Zilog released the Z80 8-bit microprocessor.

1976
Computer technology:
RCA releases the 1801, the first CMOS microprocessor. Though successful in some niche markets it was seen as technically inferior due to the use of slow CMOS gates.

1976 (1977 from some references)
Computer technology:
Intel releases the first one-chip microcontroller, the 8048

1978
Electronics:
MMI introduces programmable array logic (PAL) developed by John Birkner and H. T. Chua.

1978
Computer technology:
Intel introduces the 8086 microprocessor chip (the beginning of the x86 architecture).

1979
Language evolution:
Bjarne Stroustrup develops C++ at Bell Labs as an enhancement to the C programming language.

1979
Computer technology:
Bell Labs introduces single-chip digital signal processor (Bell Labs' single-chip DSP-1 Digital Signal Processor device architecture). Computer History Museum.

Late 1970s
Electronics:
Nearly everyone gives up on bipolar logic in CPUs and goes to CMOS.

1980
Operating systems:
Hunter&Ready (James Ready and Colin Hunter's company) release first commercial operating system for embedded systems, VRTX (Versatile Real-Time Executive).

1980s
Electronics:
Altera releases its erasable programmable logic device (EPLD).

1980s
Operating systems:
WindRiver acquires rights to resell VRTX with an extension named VxWorks.

1980
Computer technology:
Intel introduces 8051 (Harvard architecture, single chip microcontroller).

1981
Computer technology:
A team led by John L. Hennessy at Stanford University starts work on what would become the first MIPS processor.

1982
Computer technology:
Intel releases the 80286. (Also known as the 286, it had 6 to 8 MHz initially, 24-bit address bus, and an average speed of 0.21 instructions per clock. It was produced from 1982 to 1986.) Check out Wikipedia's entry.

1983
Operating systems:
Richard Stallman announces GNU operating system.

1984
Electronics:
Xilinx co-founds FPGA (field programmable gate array). The history according to Xilinx can be found here www.xilinx.com/company/history.htm

1984
Compilers:
Borland introduces Turbo Pascal.

1984
Computer technology:
Fujio Masuoka invents flash memory (NOR and NAND) while working for Toshiba.

1985
Computer technology:
MIPS Computer Systems releases their first design, the R2000.

1985
Computer technology:
Acorn Computers Ltd. makes samples of ARM1 architecture available. ARM2 ships in 1986.

1985
Debugging:
Joint Test Action Group (JTAG) forms.

1986
Programming methods:
Scrum is born.

1986
Computer technology:
Intel releases its 80386. (At 5 to 11.4 millions of instructions per second for the 33 MHz model, with 32-bit architecture.) Check out Wikipedia's entry.

1987
Compilers:
Borland releases version 1.0 of Turbo C for the IBM PC. Turbo C gave a huge boost to the use of C in embedded applications.

1988
Computer technology:
Intel introduces the first commercial NOR-type flash chip.

1988
First Embedded Systems Programming magazine issue comes out in November.

1989
Computer technology:
Toshiba introduces NAND flash.

1989
First Embedded Systems Conference is held at the Sir Francis Drake hotel in San Francisco.

1989
Computer technology:
Intel releases its 80486 (i486). Produced from 1989 to 2007, the 486 was a 32-bit x86 microprocessors, with pipelined x86 design. 8192-byte SRAM and 32-bit data bus and a 32-bit address bus. Check out Wikipedia's entry.

Late 1980s
Electronics:
Surface mount technology starts to replace through-hole leading to a generation of myopic engineers. Later "improvements" in this technology leads to embedded systems, whose programs were always inaccessible, that can't even be probed.

1990
Debugging:
IEEE adopts JTAG standard as IEEE Std. 1149.1-1990.

1990
Computer technology:
Apple and Acorn form a new company called Advanced RISC Machines Ltd. They eventually figure out how to make lots of money manufacturing nothing.

1990
Dilbert appears.

1991
Operating systems:
The Linux operating system is introduced, designed by Finnish university student Linus Torvalds.

Tux, Linux's mascot

1992
Operating systems:
Jean Labrosse publishes the book µC/OS The Real-Time Kernel, which introduces the MicroC/OS kernel.

1993
Computer technology:
Intel releases its Pentium processor. Produced from 1993 to 1997, it was Intel's single-core x86 microprocessor based on the P5 fifth-generation microarchitecture.

1993
IBM, Apple and Motorola release the PowerPC architecture.

Mid-1990s
Programming methods:
Agile arrives on the scene.

1994
Debugging:
Joint Test Action Group adds boundary scan description language (BSDL) to its standard.

1995
Programming methods:
Agile methods of Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Method are established.

1995
Language evolution:
Sun releases Java.

Example Java code.

1996
Programming methods:
Agile methods of Crystal Clear and Extreme Programming are invented.

1996
Operating systems:
Microsoft releases first version of Windows Embedded CE. The History of Windows CE

1997
Programming methods:
UML version 1.0 proposed to the OMG.

2000
The use of two digit dates in 50 years of computing leads to the Y2K crisis. Civilization ends.

2001
Engineers discover that the Unix clock will roll over in 2038. Pundits expect civilization to end.

2001
Programming methods:
The Agile Manifesto is created.

2002
Computer technology:
Intel's Itanium 2 is released, offering about half the performance as a 1990 $30 million Cray Y-MP C90, for under a grand.

2004
Computer technology:
Sony and IBM begin producing cell computer chips, a supercomputer on a chip designed to also be part of teams of chips.

2004
Motorola, one of the greatest microprocessor companies, exits the business to focus on the growth potential of cell phones.

2005
Programming Methods:
UML version 2.0 adopted by the OMG

2005
Computer technology:
IBM, Intel and AMD released their first multicore processors.

2005
Embedded Systems Programming magazine is renamed Embedded Systems Design.

2007
Motorola reports record loss.

2008
Embedded Systems Design magazine celebrates its 20th anniversary.

Looking for the next 20 years of embedded systems? See Jack Ganssle's column

2008 to 2028: twenty years in embedded systems.

Loading comments...