Microprocessor
|
CPUs_old.jpg
A microprocessor (abbreviated as µP or uP) is an electronic computer central processing unit (CPU) made from miniaturized transistors and other circuit elements on a single semiconductor integrated circuit (IC) (aka microchip or just chip).
Before the advent of microprocessors, electronic CPUs were made from discrete (separate) TTL integrated circuits; before that, individual transistors; and before that, from vacuum tubes. There have even been designs for simple computing machines based on mechanical parts such as gears, shafts, levers, Tinkertoys, etc. Leonardo DaVinci made one such design, although none were possible to construct using the manufacturing techniques of the time.
The evolution of microprocessors have been known to follow Moore's Law when it comes to steadily increasing performance over the years. This suggests that computing power will double every eighteen months, a process that has been generally followed since the early 1970's — a surprise to everyone involved. From humble beginnings as the drivers for calculators, the continued increase in power has led to the dominance of microprocessors over every other form of computer; every system from the largest mainframes to the smallest handheld computers now use a microprocessor at their core.
Contents |
History
The first chips
As with many advances in technology, the microprocessor was an idea whose time had come. Three projects arguably delivered a complete microprocessor at about the same time, Intel's 4004, Texas Instruments' TMS 1000, and Garrett AiResearch's Central Air Data Computer.
In 1968 Garrett was invited to produce a digital computer to compete with electromechanical systems then under development for the main flight control computer in the US Navy's new F-14 Tomcat fighter. The design was complete by 1970, and used a MOS-based chipset as the core CPU. The design was smaller and much more reliable than the mechanical systems it competed against, and was used in all of the early Tomcat models. However the system was considered so advanced that the Navy refused to allow publication of the design, and continued to refuse until 1997. For this reason the CADC, and the MP944 chipset it used, are fairly unknown even today.
TI developed the 4-bit TMS 1000 and stressed pre-programmed embedded applications, introducing a version called the TMS1802NC on September 17, 1971, which implemented a calculator on a chip. The Intel chip was the 4-bit 4004, released on November 15, 1971, developed by Federico Faggin.
TI filed for the patent on the microprocessor. Gary Boone was awarded Template:US patent for the single-chip microprocessor architecture on September 4, 1973. It may never be known which company actually had the first working microprocessor running on the lab bench. In both 1971 and 1976, Intel and TI entered into broad patent cross-licensing agreements, with Intel paying royalties to TI for the microprocessor patent. A nice history of these events is contained in court documentation from a legal dispute (http://www.mgt.buffalo.edu/courses/mgs/651/s1s/simha/Date-old/Intel-Cyrix/Cyrix-intel-11.htm) between Cyrix and Intel, with TI as intervenor and owner of the microprocessor patent.
Interestingly, a third party claims to have been awarded a patent which might cover the "microprocessor". See a webpage (http://www.me.utexas.edu/~me179/topics/patents/case6articles/case6article1.html) claiming an inventor pre-dating both TI and Intel, describing a "microcontroller", which may or may not count as a "microprocessor".
A computer-on-a-chip is a variation of a microprocessor which combines the microprocessor core (CPU), some memory, and I/O (input/output) lines, all on one chip. The computer-on-a-chip patent, called the microcomputer patent at the time, Template:US patent, was awarded to Gary Boone and Michael J. Cochran of TI. Aside from this patent the proper meaning of microcomputer is a computer using a (number of) microprocessor(s) as its CPU(s), while the concept of the patent is somewhat more similar to a microcontroller.
According to A History of Modern Computing, (MIT Press), pp. 220–21, Intel entered into a contract with Computer Terminals Corporation, later called Datapoint, of San Antonio TX, for a chip for a terminal they were designing. Datapoint later decided not to use the chip, and Intel marketed it as the 8008 in April, 1972. This was the world's first 8-bit microprocessor. It was the basis for the famous "Mark-8" computer kit advertised in the magazine Radio-Electronics in 1974. The 8008 and its successor, the world-famous 8080, opened up the microprocessor component marketplace.
Notable 8-bit designs
The 4004 was later followed by the 8008, the world's first 8-bit microprocessor. These processors are the precursors to the very successful Intel 8080, Zilog Z80, and derivative Intel 8-bit processors. The competing Motorola 6800 architecture was cloned and improved in the MOS Technology 6502, rivaling the Z80 in popularity during the 1980s.
Both the Z80 and 6502 concentrated on low overall cost, through a combination of small packaging, simple computer bus requirements, and the inclusion of circuitry that would normally have to be provided in a separate chip (for instance, the Z80 included a memory controller). It was these features that allowed the home computer "revolution" to take off in the early 1980s, eventually delivering semi-usable machines that sold for US$99.
Motorola trumped the entire 8-bit world by introducing the MC6809, arguably one of the most powerful, orthogonal, and clean 8-bit microprocessor designs ever fielded – and also one of the most complex hardwired logic designs that ever made it into production for any microprocessor. Microcoding replaced hardwired logic at about this point in time for all designs more powerful than the MC6809 – specifically because the design requirements were getting too complex for hardwired logic.
Another early 8-bit microprocessor was the Signetics 2650, which enjoyed a brief flurry of interest due to its innovative and powerful instruction set architecture.
A seminal microprocessor in the world of spaceflight was RCA's RCA 1802 (aka CDP1802, RCA COSMAC) which was used in NASA's Voyager and Viking spaceprobes of the 1970s, and onboard the Galileo probe to Jupiter (launched 1989, arrived 1995). The CDP1802 was used because it could be run at very low power,* and because its production process (Silicon on Sapphire) ensured much better protection against cosmic radiation and electrostatic discharges than that of any other processor of the era; thus, the 1802 is said to be the first radiation-hardened microprocessor.
16-bit
The first multi-chip 16-bit microprocessor was the National Semiconductor IMP-16, introduced in early 1973. An 8-bit version of the chipset introduced in 1974 as the IMP-8. In 1975, National introduced the first 16-bit single-chip microproessor, the PACE, which was later followed by an NMOS version, the INS8900.
Other early multi-chip 16-bit microprocessors include one used by Digital Equipment Corporation (DEC) in the LSI-11 OEM board set and the packaged PDP 11/03 minicomputer, and the Fairchild Semiconductor MicroFlame 9440, both of which were introduced in the 1975 to 1976 timeframe.
The first single-chip 16-bit microprocessor was TI's TMS 9900, which was also compatible with their TI 990 line of minicomputers. The 9900 was used in the TI 990/4 minicomputer, the TI-99/4A home computer, and the TM990 line of OEM microcomputer boards. The chip was packaged in a large ceramic 64-pin DIP package package, while most 8-bit microprocessors such as the Intel 8080 used the more common, smaller, and less expensive plastic 40-pin DIP. A follow-on chip, the TMS 9980, was designed to compete with the Intel 8080, had the full TI 990 16-bit instruction set, used a plastic 40-pin package, moved data 8 bits at a time, but could only address 16 KB. A third chip, the TMS 9995, was a new design. The family later expanded to include the 99105 and 99110.
Intel followed a different path, having no minicomputers to emulate, and instead "upsized" their 8080 design into the 16-bit Intel 8086, the first member of the x86 family which powers most modern PC type computers. Intel introduced the 8086 as a cost effective way of porting software from the 8080 lines, and succeeded in winning much business on that premise. Following up their 8086 and 8088, Intel released the 80186, 80286 and, in 1985, the 32-bit 80386, cementing their PC market dominance with the processor family's backwards compatibility.
The integrated microprocessor memory management unit (MMU) was developed by Childs et al. of Intel, and awarded US patent number 4,442,484.
32-bit designs
16-bit designs were in the market only briefly when full 32-bit implementations started to appear.
The world's first single-chip 32-bit microprocessor was the AT&T Bell Labs BELLMAC-32A, with first samples in 1980, and general production in 1982 (See this webpage (http://cm.bell-labs.com/cm/cs/bib/shoji.bib) for a bibliographic reference and this webpage (http://www.bell-labs.com/org/physicalsciences/timeline/span23.html) for a general reference). After the divestiture of AT&T in 1984, it was renamed the WE 32000 (WE for Western Electric), and had two follow-on generations, the WE 32100 and WE 32200. These microprocessors were used in the AT&T 3B5 and 3B15 minicomputers; in the 3B2, the world's first desktop supermicrocomputer; in the "Companion", the world's first 32-bit laptop computer; and in "Alexander", the world's first book-sized supermicrocomputer, featuring ROM-pack memory cartridges similar to today's gaming consoles. All these systems ran the original Bell Labs UNIX Operating System, which included the first Windows-type software called xt-layers.
The most famous of the 32-bit designs is the MC68000, introduced in 1979. The 68K, as it was widely known, had 32-bit registers but used 16-bit internal data paths, and a 16-bit external data bus to reduce pin count. Motorola generally described it as a 16-bit processor, though it clearly has 32-bit architecture. The combination of high speed, large (16 megabyte) memory space and fairly low costs made it the most popular CPU design of its class. The Apple Lisa and Macintosh designs made use of the 68000, as did a host of other designs in the mid-1980s, including the Atari ST and Commodore Amiga.
Intel's first 32-bit microprocessor was the iAPX 432, which was introduced in 1981 but was not a commercial success. It had an advanced capability-based object-oriented architecture, but poor performance compared to other competing architectures such as the Motorola 68000.
Motorola's success with the 68000 led to the MC68010, which added virtual memory support. The MC68020, introduced in 1985 added full 32-bit data and address busses. The 68020 became hugely popular in the Unix supermicrocomputer market, and many small companies (e.g., Altos, Charles River Data Systems) produced desktop-size systems. Following this with the MC68030, which added the MMU into the chip, the 68K family became the processor for everything that wasn't running DOS. The continued success led to the MC68040, which included a FPU for better math performance. An 68050 failed to achieve its performance goals and was not released, and the follow-up MC68060 was released into a market saturated by much faster RISC designs. The 68K family faded from the desktop in the early 1990s.
Other large companies designed the 68020 and follow-ons into embedded equipment. At one point, there were more 68020s in embedded equipment than there were Intel Pentiums in PCs (See this webpage (http://www.embedded.com/98/9807sr.htm) for this embedded usage information). The ColdFire processor cores are derivatives of the venerable 68020.
During this time (early to mid 1980s), National Semiconductor introduced a very similar 16-bit pinout, 32-bit internal microprocessor called the NS 16032 (later renamed 32016), the full 32-bit version named the NS 32032, and a line of 32-bit industrial OEM microcomputers. By the mid-1980s, Sequent introduced the first symmetric multiprocessor (SMP) server-class computer using the NS 32032. This was one of the designs few wins, and it disappeared in the late 1980s.
Other designs included the interesting Zilog Z8000, which arrived too late to market to stand a chance and disappeared quickly.
In the late 1980s, "microprocessor wars" started killing off some of the microprocessors. Apparently, with only one major design win, Sequent, the NS 32032 just faded out of existence, and Sequent switched to Intel microprocessors.
64 bit microchips on the desktop
Though high end RISC (see below) based designs featured the first crop of 64 bit processors long before the current mainstream PC microchips from IBM, AMD and Intel, 64 bit only began to trickle onto the desktop in 2003 with the official launches of the AMD Opteron in April, AMD Athlon 64 in September, the PowerPC G5 in June and the Intel Xeon in 2004.
With AMD's introduction of the first ia32 backwards compatible 64-bit chip Athlon 64 in September 2003, followed by Intel's own 64 bit chips, the 64 bit desktop era. Both processors can run 32 bit legacy apps as well as the new 64 bit software. With 64 bit Windows XP and Linux that run on 64 bits, the software too is geared to utilise the full power of such processors.
In reality the move to 64 bits is more than just an increase in register size from the ia32 as it also includes a small increase in register quantity for the aging CISC designs.
The move to 64 bits by PowerPC processors had been intended since the processors design in the early 90s and was not a major cause of incompatibility. Existing integer registers are extended as are all related data pathways but in common with the ia32 designs both floating point and vector units had been operating at or above 64 bits for several years. Unlike the ia32 no new general purpose registers are added so any performance for not using the 64 bit mode where available is minimal.
History of Operating System support for 64 bit microchips
- April 2003 Mandrakesoft released Mandrake Linux Corporate Server 2.1 for the AMD Opteron processor
- April 2003 Turbolinux Releases "Turbolinux 8 for AMD64"
- October 2003 Mac OS X v10.3 was the first to take some advantage of 64 bit processors although only for an enlarged address space
- November 2003 SuSE releases SUSE LINUX 9.0 for AMD64
- November 2004 Mandrakesoft released Mandrakelinux 10.1 for x86-64
- April 2005 Mac OS X v10.4 was the first version of the OS to take advantage of 64 bit integer calculations
- April 2005 Microsoft released Windows XP Professional x64 Edition
RISC
In the mid-1980s to early-1990s, a crop of new high-performance RISC (reduced instruction set computer) microprocessors appeared, which were initially used in special purpose machines and Unix workstations, but have since become almost universal in all roles except the Intel-standard desktop.
The first commercial design was released by MIPS Technology, the 32-bit R2000 (the R1000 was not released). The R3000 made the design truly practical, and the R4000 introduced the world's first 64-bit design. Competing projects would result in the IBM POWER and Sun SPARC systems, respectively. Soon every major vendor was releasing a RISC design, including the AT&T CRISP, AMD 29000, Intel i860 and Intel i960, Motorola 88000, DEC Alpha and the HP-PA.
Market forces have "weeded out" many of these designs, leaving the POWER and the derived PowerPC as the main desktop RISC processor, with the SPARC being used in Sun designs only. MIPS continues to supply some SGI systems, but is primarily used as an embedded design, notably in Cisco routers. The rest of the original crop of designs have either disappeared, or are about to. Other companies have attacked niches in the market, notably ARM, originally intended for home computer use but since focussed at the embedded processor market. Today RISC designs based on the MIPS, ARM or PowerPC core power the vast majority of computing devices.
Of course, in the IBM-compatible PC world, Intel, AMD, and now VIA of Taiwan all make x86-compatible microprocessors. In 64-bit computing, the DEC(-Intel) ALPHA, the AMD 64, and the HP-Intel Itanium are the most popular designs as of late 2004.
Design concepts
See the main article: CPU design.
Market statistics
In 2003, about 44 billion US$ worth of microprocessors were manufactured and sold. [1] (http://www.wsts.org/press.html) Although about half of that money was spent on CPUs used in desktop or laptop personal computers, those count for only about 0.2% of all CPUs sold.
About 55% of all CPUs sold in the world are 8-bit microcontrollers. Over 2 billion 8-bit microcontrollers were sold in 1997. [2] (http://www.circuitcellar.com/library/designforum/silicon_update/3/index.asp)
Less than 10% of all the CPUs sold in the world are 32-bit or more. Of all the 32-bit CPUs sold, about 2% are used in desktop or laptop personal computers. "Taken as a whole, the average price for a microprocessor, microcontroller, or DSP is just over $6." [3] (http://www.embedded.com/shared/printableArticle.jhtml?articleID=9900861)
Common µPs; architectures
- AMD K5, K6, K6-2, K6-III, Duron, Athlon
- AMD Opteron
- ARM family, StrongARM, Intel PXA2xx
- Atmel AVR architecture (purely microcontrollers)
- RCA 1802 (aka RCA COSMAC, CDP1802)
- DEC Alpha
- Intel 4004, 4040
- Intel 8080, 8085, Zilog Z80
- Intel 8086, 8088, 80186, 80188, 80286, 80386, 80486 (Intel x86 architecture)
- Intel Pentium, Pentium Pro, Celeron, Pentium II, Pentium III, Xeon, Pentium 4, Pentium M (Intel x86; parents of IA-64, with HP PA-RISC)
- Intel Itanium (IA-64 architecture)
- Intel i860, i960
- MIPS architecture
- Motorola 6800, MOS Technology 6502, Motorola 6809, WDC 65816
- Motorola 68000 family, ColdFire
- Motorola 88000 (parents of the PowerPC family, with POWER)
- IBM POWER (parents of the PowerPC family, with 88000)
- NSC 320xx
- OpenCores OpenRISC architecture
- PA-RISC family (HP, parents to the IA-64 architecture, with x86)
- PowerPC family, G3, G4, G5
- National Semiconductor SC/MP ("scamp")
- Signetics 2650
- SPARC, UltraSPARC, UltraSPARC II–IV
- SuperH family
- Transmeta's Crusoe and Efficeon
- INMOS Transputer
Notes
- The RCA 1802 had what is called a static design, meaning that the clock frequency could be made arbitrarily low; this let the spacecraft run the processor at very low speeds (to the degree of 0 Hz, i.e. a total stop condition), hence using a minimum of electrical power for long uneventful stretches of the voyage. Timers and/or sensors would awaken/speed up the processor in time for important tasks, such as navigational updates, attitude control, data acquisition, and radio communication.
See also
- Computer architecture
- Addressing mode
- Digital signal processor
- Microcontroller
- List of AMD µPs
- List of Intel µPs
External links
Patents:
- Template:US patent -- Memory System for a Multi-Chip Digital Computer (CPU)
General:
- The ChipList (http://www.chiplist.com/) – By Adrian Offerman
- Great Microprocessors of the Past and Present (http://www.sasktelwebsite.net/jbayko/cpu.html) – By John Bayko
- CPU Info Center (http://bwrc.eecs.berkeley.edu/CIC/) – At UC Berkeley
- Microprocessor history (http://www-106.ibm.com/developerworks/library/pa-microhist.html?ca=dgr-mw08MicroHistory) – Hosted by IBM
- A Simple Course on Microprocessors (http://www.hkrmicro.com/course/micro.html) – By Kenneth Richardson
Historical documents:
- TMS1802NC calculator chip press release (http://www.ti.com/corp/docs/company/history/calcchip.shtml) – Texas Instruments, 17 September 1971
- 1973: TI Receives first patent on Single-Chip Microprocessor (http://www.ti.com/corp/docs/company/history/singlechip.shtml)
- TI Awarded Basic Microcomputer Patent (http://www.ti.com/corp/docs/company/history/microcomputer.shtml) – TI, 17 February 1978 ("microcomputer" to be understood as a single-chip computer; a simple µC)
- Important discoveries in microprocessors during 2004 (http://www-106.ibm.com/developerworks/library/pa-yearend.html?ca=dgr-lnxw01PowerYear) – Hosted by IBMda:Mikroprocessor
de:Mikroprozessor es:Microprocesador eo:Procezilo fa:ریزپردازنده fr:Microprocesseur ko:마이크로프로세서 id:Mikroprosesor it:Microprocessore la:Processor ja:マイクロプロセッサ pl:Mikroprocesor ru:Центральный процессор sv:Mikroprocessor th:ไมโครโพรเซสเซอร์