The mode of operation of any processor is the execution of lists
of instructions. Instructions typically include those to compute or
manipulate data values using registers, change or retrieve values in read/write memory, perform relational tests between data values and to control program flow.
Details
Basics
CPU design is divided into design of the following components:
CPUs designed for high-performance markets might require custom
(optimized or application specific (see below)) designs for each of
these items to achieve frequency, power-dissipation,
and chip-area goals whereas CPUs designed for lower performance markets
might lessen the implementation burden by acquiring some of these items
by purchasing them as intellectual property. Control logic implementation techniques (logic synthesis
using CAD tools) can be used to implement datapaths, register files,
and clocks. Common logic styles used in CPU design include unstructured
random logic, finite-state machines, microprogramming (common from 1965 to 1985), and Programmable logic arrays (common in the 1980s, no longer common).
Re-designing a CPU core to a smaller die-area helps to shrink everything (a "photomask
shrink"), resulting in the same number of transistors on a smaller die.
It improves performance (smaller transistors switch faster), reduces
power (smaller wires have less parasitic capacitance)
and reduces cost (more CPUs fit on the same wafer of silicon).
Releasing a CPU on the same size die, but with a smaller CPU core, keeps
the cost about the same but allows higher levels of integration within
one very-large-scale integration chip (additional cache, multiple CPUs or other components), improving performance and reducing overall system cost.
As with most complex electronic designs, the logic verification effort (proving that the design does
not have bugs) now dominates the project schedule of a CPU.
Instructions per second - Most consumers pick a computer architecture (normally IntelIA32
architecture) to be able to run a large base of pre-existing
pre-compiled software. Being relatively uninformed on computer
benchmarks, some of them pick a particular CPU based on operating
frequency (see Megahertz Myth).
FLOPS - The number of floating point operations per second is often important in selecting computers for scientific computations.
Performance per watt - System designers building parallel computers, such as Google, pick CPUs based on their speed per watt of power, because the cost of powering the CPU outweighs the cost of the CPU itself.
Some system designers building parallel computers pick CPUs based on the speed per dollar.
System designers building real-time computing systems want to guarantee worst-case response. That is easier to do when the CPU has low interrupt latency and when it has deterministic response. (DSP)
Computer programmers who program directly in assembly language want a CPU to support a full featured instruction set.
Low power - For systems with limited power sources (e.g. solar, batteries, human power).
Small size or low weight - for portable embedded systems, systems for spacecraft.
Environmental impact - Minimizing environmental impact of computers
during manufacturing and recycling as well during use. Reducing waste,
reducing hazardous materials.
There may be tradeoffs in optimizing some of these metrics. In
particular, many design techniques that make a CPU run faster make the
"performance per watt", "performance per dollar", and "deterministic
response" much worse, and vice versa.
Markets
There
are several different markets in which CPUs are used. Since each of
these markets differ in their requirements for CPUs, the devices
designed for one market are in most cases inappropriate for the other
markets.
General purpose computing
The vast majority of revenues generated from CPU sales is for general purpose computing, that is, desktop, laptop, and server computers commonly used in businesses and homes. In this market, the Intel IA-32 and the 64-bit version x86-64 architecture dominate the market, with its rivals PowerPC and SPARC
maintaining much smaller customer bases. Yearly, hundreds of millions
of IA-32 architecture CPUs are used by this market. A growing
percentage of these processors are for mobile implementations such as
netbooks and laptops.
Since these devices are used to run countless different types of
programs, these CPU designs are not specifically targeted at one type of
application or one function. The demands of being able to run a wide
range of programs efficiently has made these CPU designs among the more
advanced technically, along with some disadvantages of being relatively
costly, and having high power consumption.
High-end processor economics
Scientific computing
Scientific computing is a much smaller niche market (in revenue and
units shipped). It is used in government research labs and
universities. Before 1990, CPU design was often done for this market,
but mass market CPUs organized into large clusters have proven to be
more affordable. The main remaining area of active hardware design and
research for scientific computing is for high-speed data transmission
systems to connect mass market CPUs.
Embedded design
As measured by units shipped, most CPUs are embedded in other
machinery, such as telephones, clocks, appliances, vehicles, and
infrastructure. Embedded processors sell in the volume of many billions
of units per year, however, mostly at much lower price points than that
of the general purpose processors.
These single-function devices differ from the more familiar general-purpose CPUs in several ways:
Low cost is of high importance.
It is important to maintain a low power dissipation as embedded
devices often have a limited battery life and it is often impractical to
include cooling fans.
To give lower system cost, peripherals are integrated with the processor on the same silicon chip.
Keeping peripherals on-chip also reduces power consumption as
external GPIO ports typically require buffering so that they can source
or sink the relatively high current loads that are required to maintain a
strong signal outside of the chip.
Many embedded applications have a limited amount of physical
space for circuitry; keeping peripherals on-chip will reduce the space
required for the circuit board.
The program and data memories are often integrated on the same chip. When the only allowed program memory is ROM, the device is known as a microcontroller.
For many embedded applications, interrupt latency will be more critical than in some general-purpose processors.
Embedded processor economics
The embedded CPU family with the largest number of total units shipped is the 8051, averaging nearly a billion units per year.
The 8051 is widely used because it is very inexpensive. The design
time is now roughly zero, because it is widely available as commercial
intellectual property. It is now often embedded as a small part of a
larger system on a chip. The silicon cost of an 8051 is now as low as
US$0.001, because some implementations use as few as 2,200 logic gates
and take 0.0127 square millimeters of silicon.
As of 2009, more CPUs are produced using the ARM architecture instruction set than any other 32-bit instruction set.
The ARM architecture and the first ARM chip were designed in about one and a half years and 5 human years of work time.
The 32-bit Parallax Propeller microcontroller architecture and the first chip were designed by two people in about 10 human years of work time.
The 8-bit AVR architecture and first AVR microcontroller was conceived and designed by two students at the Norwegian Institute of Technology.
The 8-bit 6502 architecture and the first MOS Technology 6502 chip were designed in 13 months by a group of about 9 people.
Research and educational CPU design
The 32 bit Berkeley RISC
I and RISC II architecture and the first chips were mostly designed by a
series of students as part of a four quarter sequence of graduate
courses.
This design became the basis of the commercial SPARC processor design.
For about a decade, every student taking the 6.004 class at MIT
was part of a team—each team had one semester to design and build a
simple 8 bit CPU out of 7400 seriesintegrated circuits.
One team of 4 students designed and built a simple 32 bit CPU during that semester.
Some undergraduate courses require a team of 2 to 5 students to
design, implement, and test a simple CPU in a FPGA in a single 15-week
semester.
The MultiTitan CPU was designed with 2.5 man years of effort,
which was considered "relatively little design effort" at the time.
24 people contributed to the 3.5 year MultiTitan research project, which included designing and building a prototype CPU.
Soft microprocessor cores
For embedded systems, the highest performance levels are often not
needed or desired due to the power consumption requirements. This allows
for the use of processors which can be totally implemented by logic synthesis techniques. These synthesized processors can be implemented in a much shorter amount of time, giving quicker time-to-market.
The integration of a whole CPU onto a single or a few integrated
circuits greatly reduced the cost of processing power. Integrated
circuit processors are produced in large numbers by highly automated metal-oxide-semiconductor (MOS) fabrication processes, resulting in a low unit price.
Single-chip processors increase reliability because there are many
fewer electrical connections that could fail. As microprocessor designs
improve, the cost of manufacturing a chip (with smaller components built
on a semiconductor chip the same size) generally stays the same
according to Rock's law.
A block diagram of the architecture of the Z80
microprocessor, showing the arithmetic and logic section, register
file, control logic section, and buffers to external address and data
lines
The complexity of an integrated circuit is bounded by physical limitations on the number of transistors
that can be put onto one chip, the number of package terminations that
can connect the processor to other parts of the system, the number of
interconnections it is possible to make on the chip, and the heat that
the chip can dissipate. Advancing technology makes more complex and
powerful chips feasible to manufacture.
A minimal hypothetical microprocessor might include only an arithmetic logic unit
(ALU), and a control logic section. The ALU performs addition,
subtraction, and operations such as AND or OR. Each operation of the ALU
sets one or more flags in a status register, which indicate the results
of the last operation (zero value, negative number, overflow, or
others). The control logic retrieves instruction codes from memory and
initiates the sequence of operations required for the ALU to carry out
the instruction. A single operation code might affect many individual data paths, registers, and other elements of the processor.
As integrated circuit technology advanced, it was feasible to
manufacture more and more complex processors on a single chip. The size
of data objects became larger; allowing more transistors on a chip
allowed word sizes to increase from 4- and 8-bit words up to today's 64-bit
words. Additional features were added to the processor architecture;
more on-chip registers sped up programs, and complex instructions could
be used to make more compact programs. Floating-point arithmetic, for
example, was often not available on 8-bit microprocessors, but had to be
carried out in software. Integration of the floating point unit first as a separate integrated circuit and then as part of the same microprocessor chip sped up floating point calculations.
Occasionally, physical limitations of integrated circuits made such practices as a bit slice
approach necessary. Instead of processing all of a long word on one
integrated circuit, multiple circuits in parallel processed subsets of
each data word. While this required extra logic to handle, for example,
carry and overflow within each slice, the result was a system that could
handle, for example, 32-bit words using integrated circuits with a capacity for only four bits each.
The ability to put large numbers of transistors on one chip makes
it feasible to integrate memory on the same die as the processor. This CPU cache
has the advantage of faster access than off-chip memory and increases
the processing speed of the system for many applications. Processor
clock frequency has increased more rapidly than external memory speed,
so cache memory is necessary if the processor is not delayed by slower
external memory.
Special-purpose designs
A microprocessor is a general-purpose entity. Several specialized processing devices have followed:
Microcontrollers integrate a microprocessor with peripheral devices in embedded systems.
Systems on chip (SoCs) often integrate one or more microprocessor or microcontroller cores.
Speed and power considerations
Microprocessors
can be selected for differing applications based on their word size,
which is a measure of their complexity. Longer word sizes allow each
clock cycle of a processor to carry out more computation, but correspond
to physically larger integrated circuit dies with higher standby and
operating power consumption.
4, 8 or 12 bit processors are widely integrated into microcontrollers
operating embedded systems. Where a system is expected to handle larger
volumes of data or require a more flexible user interface, 16, 32 or 64
bit processors are used. An 8- or 16-bit processor may be selected over a 32-bit processor for system on a chip or microcontroller applications that require extremely low-power electronics, or are part of a mixed-signal integrated circuit
with noise-sensitive on-chip analog electronics such as high-resolution
analog to digital converters, or both.
Running 32-bit arithmetic on an 8-bit chip could end up using more
power, as the chip must execute software with multiple instructions.,
Embedded applications
Thousands
of items that were traditionally not computer-related include
microprocessors. These include large and small household appliances, cars (and their accessory equipment units), car keys, tools and test instruments, toys, light switches/dimmers and electrical circuit breakers, smoke alarms, battery packs, and hi-fi audio/visual components (from DVD players to phonograph turntables). Such products as cellular telephones, DVD video system and HDTV
broadcast systems fundamentally require consumer devices with powerful,
low-cost, microprocessors. Increasingly stringent pollution control
standards effectively require automobile manufacturers to use
microprocessor engine management systems to allow optimal control of
emissions over the widely varying operating conditions of an automobile.
Non-programmable controls would require complex, bulky, or costly
implementation to achieve the results possible with a microprocessor.
A microprocessor control program (embedded software)
can be easily tailored to different needs of a product line, allowing
upgrades in performance with minimal redesign of the product. Different
features can be implemented in different models of a product line at
negligible production cost.
Microprocessor control of a system can provide control strategies
that would be impractical to implement using electromechanical controls
or purpose-built electronic controls. For example, an engine control
system in an automobile can adjust ignition timing based on engine
speed, load on the engine, ambient temperature, and any observed
tendency for knocking—allowing an automobile to operate on a range of
fuel grades.
The microprocessor has origins in the development of the MOSFET (metal-oxide-semiconductor field-effect transistor, or MOS transistor), which was first demonstrated by Mohamed M. Atalla and Dawon Kahng of Bell Labs in 1960. Following the development of MOS integrated circuit chips in the early 1960s, MOS chips reached higher transistor density and lower manufacturing costs than bipolarintegrated circuits by 1964. MOS chips further increased in complexity at a rate predicted by Moore's law, leading to large-scale integration (LSI) with hundreds of transistors on a single MOS chip by the late 1960s. The application of MOS LSI chips to computing was the basis for the first microprocessors, as engineers began recognizing that a complete computer processor could be contained on several MOS LSI chips.
Designers in the late 1960s were striving to integrate the central processing unit
(CPU) functions of a computer onto a handful of MOS LSI chips, called
microprocessor unit (MPU) chipsets. In 1969, Lee Boysel, based on the 8-bit
arithmetic logic units (3800/3804) he designed earlier at Fairchild,
created the Four-Phase Systems Inc. AL-1, an 8-bit CPU slice that was
expandable to 32-bits. In 1970, Steve Geller and Ray Holt of Garrett
AiResearch designed the MP944 chipset to implement the F-14A Central Air
Data Computer on six MOS chips fabricated by AMI.
The Four-Phase Systems AL and Garrett AiResearch MP944 were the first multi-chip microprocessors, developed with multiple MOS LSI chips. The first single-chip microprocessor was the Intel 4004, released on a single MOS LSI chip in 1971. The single-chip microprocessor was made possible with the development of MOS silicon-gate technology (SGT). The earliest MOS transistors had aluminiummetal gates, which Italian engineer Federico Faggin replaced with siliconself-aligned gates to develop the first silicon-gate MOS chip at Fairchild Semiconductor in 1968.[8] Faggin later joined Intel and used his silicon-gate MOS technology to develop the 4004, along with Marcian Hoff, Stanley Mazor and Masatoshi Shima in 1971. The 4004 was designed for Busicom,
which had earlier proposed a multi-chip design in 1969, before Faggin's
team at Intel changed it into a new single-chip design. Intel
introduced the first commercial microprocessor, the 4-bit Intel 4004, in 1971. It was soon followed by the 8-bit microprocessor Intel 8008 in 1972.
The first microprocessors that emerged in the early 1970s were used for electronic calculators, using binary-coded decimal (BCD) arithmetic on 4-bit words. Other embedded uses of 4-bit and 8-bit microprocessors, such as terminals, printers, various kinds of automation etc., followed soon after. Affordable 8-bit microprocessors with 16-bit addressing also led to the first general-purpose microcomputers from the mid-1970s on.
The first use of the term "microprocessor" is attributed to Viatron Computer Systems describing the custom integrated circuit used in their System 21 small computer system announced in 1968.
Since the early 1970s, the increase in capacity of
microprocessors has followed Moore's law; this originally suggested that
the number of components that can be fitted onto a chip doubles every
year [DJS -- 18 months?]. With present technology, it is actually every two years, and as a result Moore later changed the period to two years.
In 1968, Garrett AiResearch (who employed designers Ray Holt and Steve Geller) 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 significantly (approximately 20
times) smaller and much more reliable than the mechanical systems it
competed against, and was used in all of the early Tomcat models. This
system contained "a 20-bit, pipelined, parallelmulti-microprocessor". The Navy refused to allow publication of the design until 1997. Released in 1998, the documentation on the CADC, and the MP944
chipset, are well known. Ray Holt's autobiographical story of this
design and development is presented in the book: The Accidental
Engineer.
Ray Holt graduated from California Polytechnic University
in 1968, and began his computer design career with the CADC. From its
inception, it was shrouded in secrecy until 1998 when at Holt's request,
the US Navy allowed the documents into the public domain. Holt has
stated that no one has compared this microprocessor with those that came
later. According to Parab et al. (2007),
The
scientific papers and literature published around 1971 reveal that the
MP944 digital processor used for the F-14 Tomcat aircraft of the US Navy
qualifies as the first microprocessor. Although interesting, it was not
a single-chip processor, as was not the Intel 4004 – they both were
more like a set of parallel building blocks you could use to make a
general-purpose form. It contains a CPU, RAM, ROM, and two other support chips like the Intel 4004. It was made from the same P-channel technology, operated at military specifications
and had larger chips – an excellent computer engineering design by any
standards. Its design indicates a major advance over Intel, and two year
earlier. It actually worked and was flying in the F-14 when the Intel
4004 was announced. It indicates that today's industry theme of
converging DSP-microcontroller architectures was started in 1971.
The Four-Phase Systems AL1 was an 8-bit bit slice chip containing eight registers and an ALU. It was designed by Lee Boysel in 1969.
At the time, it formed part of a nine-chip, 24-bit CPU with three AL1s,
but it was later called a microprocessor when, in response to 1990s
litigation by Texas Instruments,
a demonstration system was constructed where a single AL1 formed part
of a courtroom demonstration computer system, together with RAM, ROM,
and an input-output device.
Pico/General Instrument
The
PICO1/GI250 chip introduced in 1971: It was designed by Pico
Electronics (Glenrothes, Scotland) and manufactured by General
Instrument of Hicksville NY.
In 1971, Pico Electronics and General Instrument
(GI) introduced their first collaboration in ICs, a complete single
chip calculator IC for the Monroe/Litton Royal Digital III calculator.
This chip could also arguably lay claim to be one of the first
microprocessors or microcontrollers having ROM, RAM and a RISC instruction set on-chip. The layout for the four layers of the PMOS process was hand drawn at x500 scale on mylar film, a significant task at the time given the complexity of the chip.
Pico was a spinout by five GI design engineers whose vision was
to create single chip calculator ICs. They had significant previous
design experience on multiple calculator chipsets with both GI and Marconi-Elliott. The key team members had originally been tasked by Elliott Automation to create an 8-bit computer in MOS and had helped establish a MOS Research Laboratory in Glenrothes, Scotland in 1967.
Calculators were becoming the largest single market for
semiconductors so Pico and GI went on to have significant success in
this burgeoning market. GI continued to innovate in microprocessors and
microcontrollers with products including the CP1600, IOB1680 and
PIC1650. In 1987, the GI Microelectronics business was spun out into the MicrochipPIC microcontroller business.
Intel 4004 (1971)
The 4004 with cover removed (left) and as actually used (right)
The Intel 4004 is generally regarded as the first commercially available microprocessor, and cost US$60 (equivalent to $378.78 in 2019). The first known advertisement for the 4004 is dated November 15, 1971 and appeared in Electronic News. The microprocessor was designed by a team consisting of Italian engineer Federico Faggin, American engineers Marcian Hoff and Stanley Mazor, and Japanese engineer Masatoshi Shima.
The project that produced the 4004 originated in 1969, when Busicom, a Japanese calculator manufacturer, asked Intel to build a chipset for high-performance desktop calculators.
Busicom's original design called for a programmable chip set consisting
of seven different chips. Three of the chips were to make a
special-purpose CPU with its program stored in ROM and its data stored
in shift register read-write memory. Ted Hoff,
the Intel engineer assigned to evaluate the project, believed the
Busicom design could be simplified by using dynamic RAM storage for
data, rather than shift register memory, and a more traditional
general-purpose CPU architecture. Hoff came up with a four-chip
architectural proposal: a ROM chip for storing the programs, a dynamic
RAM chip for storing data, a simple I/O
device and a 4-bit central processing unit (CPU). Although not a chip
designer, he felt the CPU could be integrated into a single chip, but as
he lacked the technical know-how the idea remained just a wish for the
time being.
First microprocessor by Intel, the 4004.
Silicon and germanium alloy for microprocessors
While the architecture and specifications of the MCS-4 came from the interaction of Hoff with Stanley Mazor, a software engineer reporting to him, and with Busicom engineer Masatoshi Shima, during 1969, Mazor and Hoff moved on to other projects. In April 1970, Intel hired Italian engineer Federico Faggin
as project leader, a move that ultimately made the single-chip CPU
final design a reality (Shima meanwhile designed the Busicom calculator
firmware and assisted Faggin during the first six months of the
implementation). Faggin, who originally developed the silicon gate technology (SGT) in 1968 at Fairchild Semiconductor
and designed the world’s first commercial integrated circuit using SGT,
the Fairchild 3708, had the correct background to lead the project into
what would become the first commercial general purpose microprocessor.
Since SGT was his very own invention, Faggin also used it to create his
new methodology for random logic
design that made it possible to implement a single-chip CPU with the
proper speed, power dissipation and cost. The manager of Intel's MOS
Design Department was Leslie L. Vadász
at the time of the MCS-4 development but Vadász's attention was
completely focused on the mainstream business of semiconductor memories
so he left the leadership and the management of the MCS-4 project to
Faggin, who was ultimately responsible for leading the 4004 project to
its realization. Production units of the 4004 were first delivered to
Busicom in March 1971 and shipped to other customers in late 1971.
Texas Instruments TMX 1795 (1970-1971)
Along with Intel (who developed the 8008), Texas Instruments developed in 1970–1971 a one-chip CPU replacement for the Datapoint 2200
terminal, the TMX 1795 (later TMC 1795.) Like the 8008, it was
rejected by customer Datapoint. According to Gary Boone, the TMX 1795
never reached production. Since it was built to the same specification,
its instruction set was very similar to the Intel 8008.
Texas Instruments TMS 1802NC (1971)
The
TMS1802NC was announced September 17, 1971 and implemented a
four-function calculator. The TMS1802NC, despite its designation, was
not part of the TMS 1000
series; it was later redesignated as part of the TMS 0100 series, which
was used in the TI Datamath calculator. Although marketed as a
calculator-on-a-chip, the TMS1802NC was fully programmable, including on
the chip a CPU with an 11-bit instruction word, 3520 bits (320
instructions) of ROM and 182 bits of RAM.
Gilbert Hyatt
Gilbert Hyatt was awarded a patent claiming an invention pre-dating both TI and Intel, describing a "microcontroller". The patent was later invalidated, but not before substantial royalties were paid out.
8-bit designs
The Intel 4004 was followed in 1972 by the Intel 8008, the world's first 8-bit
microprocessor. The 8008 was not, however, an extension of the 4004
design, but instead the culmination of a separate design project at
Intel, arising from a contract with Computer Terminals Corporation, of San Antonio TX, for a chip for a terminal they were designing, the Datapoint 2200—fundamental
aspects of the design came not from Intel but from CTC. In 1968, CTC's
Vic Poor and Harry Pyle developed the original design for the instruction set and operation of the processor. In 1969, CTC contracted two companies, Intel and Texas Instruments, to make a single-chip implementation, known as the CTC 1201.
In late 1970 or early 1971, TI dropped out being unable to make a
reliable part. In 1970, with Intel yet to deliver the part, CTC opted to
use their own implementation in the Datapoint 2200, using traditional
TTL logic instead (thus the first machine to run "8008 code" was not in
fact a microprocessor at all and was delivered a year earlier). Intel's
version of the 1201 microprocessor arrived in late 1971, but was too
late, slow, and required a number of additional support chips. CTC had
no interest in using it. CTC had originally contracted Intel for the
chip, and would have owed them US$50,000 (equivalent to $315,653 in 2019) for their design work.
To avoid paying for a chip they did not want (and could not use), CTC
released Intel from their contract and allowed them free use of the
design. Intel marketed it as the 8008 in April, 1972, as 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. This processor had an 8-bit data bus and a 14-bit address bus.
The 8008 was the precursor to the successful Intel 8080
(1974), which offered improved performance over the 8008 and required
fewer support chips. Federico Faggin conceived and designed it using
high voltage N channel MOS. The Zilog Z80
(1976) was also a Faggin design, using low voltage N channel with
depletion load and derivative Intel 8-bit processors: all designed with
the methodology Faggin created for the 4004. Motorola released the competing 6800 in August 1974, and the similar MOS Technology 6502 in 1975 (both designed largely by the same people). The 6502 family rivaled the Z80 in popularity during the 1980s.
A low overall cost, little packaging, simple computer bus requirements, and sometimes the integration of extra circuitry (e.g. the Z80's built-in memory refresh circuitry) allowed the home computer "revolution" to accelerate sharply in the early 1980s. This delivered such inexpensive machines as the Sinclair ZX81, which sold for US$99 (equivalent to $278.41 in 2019). A variation of the 6502, the MOS Technology 6510 was used in the Commodore 64 and yet another variant, the 8502, powered the Commodore 128.
The Western Design Center, Inc (WDC) introduced the CMOS WDC 65C02 in 1982 and licensed the design to several firms. It was used as the CPU in the Apple IIe and IIc personal computers as well as in medical implantable grade pacemakers and defibrillators, automotive, industrial and consumer devices. WDC pioneered the licensing of microprocessor designs, later followed by ARM (32-bit) and other microprocessor intellectual property (IP) providers in the 1990s.
Motorola introduced the MC6809 in 1978. It was an ambitious and well thought-through 8-bit design that was source compatible with the 6800, and implemented using purely hard-wired logic (subsequent 16-bit microprocessors typically used microcode to some extent, as CISC design requirements were becoming too complex for pure hard-wired logic).
Another early 8-bit microprocessor was the Signetics 2650, which enjoyed a brief surge 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) (introduced in 1976), which was used on board the Galileo probe to Jupiter (launched 1989, arrived 1995). RCA COSMAC was the first to implement CMOS technology. The CDP1802 was used because it could be run at very low power, and because a variant was available fabricated using a special production process, silicon on sapphire (SOS), which provided much better protection against cosmic radiation and electrostatic discharge
than that of any other processor of the era. Thus, the SOS version of
the 1802 was said to be the first radiation-hardened microprocessor.
The RCA 1802 had a static design, meaning that the clock frequency could be made arbitrarily low, or even stopped. This let the Galileo spacecraft
use minimum electric power for long uneventful stretches of a voyage.
Timers or sensors would awaken the processor in time for important
tasks, such as navigation updates, attitude control, data acquisition,
and radio communication. Current versions of the Western Design Center
65C02 and 65C816 have static cores, and thus retain data even when the
clock is completely halted.
12-bit designs
The Intersil 6100 family consisted of a 12-bit microprocessor (the 6100) and a range of peripheral support and memory ICs. The microprocessor recognised the DEC PDP-8minicomputer instruction set. As such it was sometimes referred to as the CMOS-PDP8. Since it was also produced by Harris Corporation, it was also known as the Harris HM-6100.
By virtue of its CMOS technology and associated benefits, the 6100 was
being incorporated into some military designs until the early 1980s.
16-bit designs
The first multi-chip 16-bit microprocessor was the National SemiconductorIMP-16, introduced in early 1973. An 8-bit version of the chipset was introduced in 1974 as the IMP-8.
Another early 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 Texas Instruments 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,
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 "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.
The 8088, a version of the 8086 that used an 8-bit external data bus, was the microprocessor in the first IBM PC. Intel then released the 80186 and 80188, the 80286 and, in 1985, the 32-bit 80386,
cementing their PC market dominance with the processor family's
backwards compatibility. The 80186 and 80188 were essentially versions
of the 8086 and 8088, enhanced with some onboard peripherals and a few
new instructions. Although Intel's 80186 and 80188 were not used in IBM
PC type designs, second source versions from NEC, the V20 and V30 frequently were. The 8086 and successors had an innovative but limited method of memory segmentation, while the 80286 introduced a full-featured segmented memory management unit (MMU). The 80386 introduced a flat 32-bit memory model with paged memory management.
The 16-bit Intel x86 processors up to and including the 80386 do not include floating-point units (FPUs). Intel introduced the 8087, 80187, 80287 and 80387
math coprocessors to add hardware floating-point and transcendental
function capabilities to the 8086 through 80386 CPUs. The 8087 works
with the 8086/8088 and 80186/80188, the 80187 works with the 80186 but not the 80188,
the 80287 works with the 80286 and the 80387 works with the 80386. The
combination of an x86 CPU and an x87 coprocessor forms a single
multi-chip microprocessor; the two chips are programmed as a unit using a
single integrated instruction set.
The 8087 and 80187 coprocessors are connected in parallel with the data
and address buses of their parent processor and directly execute
instructions intended for them. The 80287 and 80387 coprocessors are
interfaced to the CPU through I/O ports in the CPU's address space, this
is transparent to the program, which does not need to know about or
access these I/O ports directly; the program accesses the coprocessor
and its registers through normal instruction opcodes.
16-bit designs had only been on the market briefly when 32-bit implementations started to appear.
The most significant of the 32-bit designs is the Motorola MC68000,
introduced in 1979. The 68k, as it was widely known, had 32-bit
registers in its programming model but used 16-bit internal data paths,
three 16-bit Arithmetic Logic Units, and a 16-bit external data bus (to
reduce pin count), and externally supported only 24-bit addresses
(internally it worked with full 32 bit addresses). In PC-based IBM-compatible mainframes the MC68000 internal microcode was modified to emulate the 32-bit System/370 IBM mainframe. Motorola generally described it as a 16-bit processor. The combination of high performance, large (16 megabytes or 224 bytes) memory space and fairly low cost 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.
The world's first single-chip fully 32-bit microprocessor, with 32-bit data paths, 32-bit buses, and 32-bit addresses, was the AT&TBell LabsBELLMAC-32A, with first samples in 1980, and general production in 1982. 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 super microcomputer; in the
"Companion", the world's first 32-bit laptop
computer; and in "Alexander", the world's first book-sized super
microcomputer, featuring ROM-pack memory cartridges similar to today's
gaming consoles. All these systems ran the UNIX System V operating system.
The first commercial, single chip, fully 32-bit microprocessor available on the market was the HP FOCUS.
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-basedobject-oriented
architecture, but poor performance compared to contemporary
architectures such as Intel's own 80286 (introduced 1982), which was
almost four times as fast on typical benchmark tests. However, the
results for the iAPX432 was partly due to a rushed and therefore
suboptimal Adacompiler.
Motorola's success with the 68000 led to the MC68010, which added virtual memory support. The MC68020, introduced in 1984 added full 32-bit data and address buses. The 68020 became hugely popular in the Unix supermicrocomputer market, and many small companies (e.g., Altos, Charles River Data Systems, Cromemco) produced desktop-size systems. The MC68030 was introduced next, improving upon the previous design by integrating the MMU into the chip. The continued success led to the MC68040, which included an FPU for better math performance. The 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 use 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. The ColdFire processor cores are derivatives of the 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. Later, National Semiconductor produced the NS 32132,
which allowed two CPUs to reside on the same memory bus with built in
arbitration. The NS32016/32 outperformed the MC68000/10, but the
NS32332—which arrived at approximately the same time as the MC68020—did
not have enough performance. The third generation chip, the NS32532, was
different. It had about double the performance of the MC68030, which
was released around the same time. The appearance of RISC processors
like the AM29000 and MC88000 (now both dead) influenced the architecture
of the final core, the NS32764. Technically advanced—with a superscalar
RISC core, 64-bit bus, and internally overclocked—it could still
execute Series 32000 instructions through real-time translation.
When National Semiconductor decided to leave the Unix market, the
chip was redesigned into the Swordfish Embedded processor with a set of
on chip peripherals. The chip turned out to be too expensive for the laser printer
market and was killed. The design team went to Intel and there designed
the Pentium processor, which is very similar to the NS32764 core
internally. The big success of the Series 32000 was in the laser printer
market, where the NS32CG16 with microcoded BitBlt instructions had very
good price/performance and was adopted by large companies like Canon.
By the mid-1980s, Sequent
introduced the first SMP server-class computer using the NS 32032. This
was one of the design's few wins, and it disappeared in the late 1980s.
The MIPSR2000 (1984) and R3000 (1989) were highly successful 32-bit RISC microprocessors. They were used in high-end workstations and servers by SGI, among others. Other designs included the Zilog Z80000, which arrived too late to market to stand a chance and disappeared quickly.
The ARM first appeared in 1985. This is a RISC processor design, which has since come to dominate the 32-bit embedded systems
processor space due in large part to its power efficiency, its
licensing model, and its wide selection of system development tools.
Semiconductor manufacturers generally license cores and integrate them
into their own system on a chip products; only a few such vendors are licensed to modify the ARM cores. Most cell phones
include an ARM processor, as do a wide variety of other products. There
are microcontroller-oriented ARM cores without virtual memory support,
as well as symmetric multiprocessor (SMP) applications processors with virtual memory.
From 1993 to 2003, the 32-bit x86 architectures became increasingly dominant in desktop, laptop,
and server markets, and these microprocessors became faster and more
capable. Intel had licensed early versions of the architecture to other
companies, but declined to license the Pentium, so AMD and Cyrix
built later versions of the architecture based on their own designs.
During this span, these processors increased in complexity (transistor
count) and capability (instructions/second) by at least three orders of
magnitude. Intel's Pentium line is probably the most famous and
recognizable 32-bit processor model, at least with the public at broad.
64-bit designs in personal computers
While 64-bit microprocessor designs have been in use in several markets since the early 1990s (including the Nintendo 64gaming console in 1996), the early 2000s saw the introduction of 64-bit microprocessors targeted at the PC market.
With AMD's introduction of a 64-bit architecture backwards-compatible with x86, x86-64 (also called AMD64), in September 2003, followed by Intel's near fully compatible 64-bit extensions (first called IA-32e or EM64T, later renamed Intel 64),
the 64-bit desktop era began. Both versions can run 32-bit legacy
applications without any performance penalty as well as new 64-bit
software. With operating systems Windows XP x64, Windows Vista x64, Windows 7 x64, Linux, BSD, and macOS
that run 64-bit natively, the software is also geared to fully utilize
the capabilities of such processors. The move to 64 bits is more than
just an increase in register size from the IA-32 as it also doubles the
number of general-purpose registers.
The move to 64 bits by PowerPC
had been intended since the architecture's 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, as was the case with
IA-32, both floating point and vector units had been operating at or
above 64 bits for several years. Unlike what happened when IA-32 was
extended to x86-64, no new general purpose registers were added in
64-bit PowerPC, so any performance gained when using the 64-bit mode for
applications making no use of the larger address space is minimal.
In 2011, ARM introduced a new 64-bit ARM architecture.
RISC
In the mid-1980s to early 1990s, a crop of new high-performance reduced instruction set computer (RISC) microprocessors appeared, influenced by discrete RISC-like CPU designs such as the IBM 801 and others. RISC microprocessors were initially used in special-purpose machines and Unixworkstations, but then gained wide acceptance in other roles.
The first commercial RISC microprocessor design was released in 1984, by MIPS Computer Systems, the 32-bit R2000 (the R1000 was not released). In 1986, HP released its first system with a PA-RISC CPU. In 1987, in the non-Unix Acorn computers' 32-bit, then cache-less, ARM2-based Acorn Archimedes became the first commercial success using the ARM architecture, then known as Acorn RISC Machine (ARM); first silicon ARM1 in 1985. The R3000 made the design truly practical, and the R4000 introduced the world's first commercially available 64-bit RISC microprocessor. Competing projects would result in the IBM POWER and SunSPARC architectures. 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.
In the late 1990s, only two 64-bit RISC architectures were still produced in volume for non-embedded applications: SPARC and Power ISA,
but as ARM has become increasingly powerful, in the early 2010s, it
became the third RISC architecture in the general computing segment.
Multi-core designs
A different approach to improving a computer's performance is to add extra processors, as in symmetric multiprocessing designs, which have been popular in servers and workstations since the early 1990s. Keeping up with Moore's law
is becoming increasingly challenging as chip-making technologies
approach their physical limits. In response, microprocessor
manufacturers look for other ways to improve performance so they can
maintain the momentum of constant upgrades.
A multi-core processor
is a single chip that contains more than one microprocessor core. Each
core can simultaneously execute processor instructions in parallel. This
effectively multiplies the processor's potential performance by the
number of cores, if the software is designed to take advantage of more
than one processor core. Some components, such as bus interface and
cache, may be shared between cores. Because the cores are physically
close to each other, they can communicate with each other much faster
than separate (off-chip) processors in a multiprocessor system, which
improves overall system performance.
In 2001, IBM introduced the first commercial multi-core processor, the monolithic two-core POWER4. Personal computers did not receive multi-core processors until the 2005 introduction, of the two-core IntelPentium D.
The Pentium D, however, was not a monolithic multi-core processor. It
was constructed from two dies, each containing a core, packaged on a multi-chip module. The first monolithic multi-core processor in the personal computer market was the AMDAthlon X2, which was introduced a few weeks after the Pentium D. As of 2012,
dual- and quad-core processors are widely used in home PCs and laptops,
while quad-, six-, eight-, ten-, twelve-, and sixteen-core processors
are common in the professional and enterprise markets with workstations
and servers.
Sun Microsystems has released the Niagara and Niagara 2 chips, both of which feature an eight-core design. The Niagara 2 supports more threads and operates at 1.6 GHz.
High-end Intel Xeon processors that are on the LGA 775, LGA 1366, and LGA 2011 sockets and high-end AMD Opteron processors that are on the C32 and G34
sockets are DP (dual processor) capable, as well as the older Intel
Core 2 Extreme QX9775 also used in an older Mac Pro by Apple and the
Intel Skulltrail motherboard. AMD's G34 motherboards can support up to
four CPUs and Intel's LGA 1567 motherboards can support up to eight CPUs.
Modern desktop computers support systems with multiple CPUs, but
few applications outside of the professional market can make good use of
more than four cores. Both Intel and AMD currently offer fast quad, hex
and octa-core desktop CPUs, making multi-CPU systems obsolete for many
purposes.
The desktop market has been in a transition towards quad-core CPUs since
Intel's Core 2 Quad was released and are now common, although dual-core
CPUs are still more prevalent. Older or mobile computers are less
likely to have more than two cores than newer desktops. Not all
software is optimised for multi-core CPUs, making fewer, more powerful
cores preferable.
AMD offers CPUs with more cores for a given amount of money than
similarly priced Intel CPUs—but the AMD cores are somewhat slower, so
the two trade blows in different applications depending on how
well-threaded the programs running are. For example, Intel's cheapest
Sandy Bridge quad-core CPUs often cost almost twice as much as AMD's
cheapest Athlon II, Phenom II, and FX quad-core CPUs but Intel has
dual-core CPUs in the same price ranges as AMD's cheaper quad-core CPUs.
In an application that uses one or two threads, the Intel dual-core
CPUs outperform AMD's similarly priced quad-core CPUs—and if a program
supports three or four threads the cheap AMD quad-core CPUs outperform
the similarly priced Intel dual-core CPUs.
Historically, AMD and Intel have switched places as the company
with the fastest CPU several times. Intel currently leads on the desktop
side of the computer CPU market, with their Sandy Bridge and Ivy Bridge series. In servers, AMD's new Opterons
seem to have superior performance for their price point. This means
that AMD are currently more competitive in low- to mid-end servers and
workstations that more effectively use fewer cores and threads.
Taken to the extreme, this trend also includes manycore designs, with hundreds of cores, with qualitatively different architectures.
Market statistics
In 1997, about 55% of all CPUs sold in the world were 8-bit microcontrollers, of which over 2 billion were sold.
In 2002, less than 10% of all the CPUs sold in the world were
32-bit or more. Of all the 32-bit CPUs sold, about 2% are used in
desktop or laptop personal computers. Most microprocessors are used in
embedded control applications such as household appliances, automobiles,
and computer peripherals. Taken as a whole, the average price for a
microprocessor, microcontroller, or DSP is just over US$6 (equivalent to $8.53 in 2019).
In 2003, about US$44 (equivalent to $61.15 in 2019) billion worth of microprocessors were manufactured and sold. Although about half of that money was spent on CPUs used in desktop or laptop personal computers, those count for only about 2% of all CPUs sold.
The quality-adjusted price of laptop microprocessors improved −25% to
−35% per year in 2004–2010, and the rate of improvement slowed to −15%
to −25% per year in 2010–2013.
About 10 billion CPUs were manufactured in 2008. Most new CPUs produced each year are embedded.