Information about Hardware Design

CPU design is the design engineering task of producing a CPU, a component of computer hardware. It is a subfield of electronics engineering and computer engineering.

Overview

CPU design focuses on these areas:
  1. Datapaths (such as ALUs and pipelines)
  2. Logic which controls the datapaths
  3. Memory components such as register files, caches
  4. Clock circuitry such as clock drivers, PLLs, clock distribution networks
  5. Pad transceiver circuitry
  6. Logic gate cell library which is used to implement the logic


CPUs designed for high performance markets might require custom designs for each of these items to achieve frequency, power-dissipation, and chip-area goals.

CPUs designed for lower performance markets might lessen the implementation burden by:
  • acquiring some of these items by purchasing them as intellectual property
  • use control logic implementation techniques (logic synthesis using CAD tools) to implement the other components - datapaths, register files, clocks
Common logic styles used in CPU design include: Device types used to implement the logic include: A CPU design project generally has these major tasks: 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.

Key CPU architectural innovations include cache, virtual memory, instruction pipelining, superscalar, CISC, RISC, virtual machine, emulators, microprogram, and stack.

Goals

The first CPUs were designed to do mathematical calculations faster and more reliably than human computers.

Each successive generation of CPU might be designed to achieve some of these goals:
  • higher performance levels of a single program or thread
  • higher throughput levels of multiple programs/threads
  • less power consumption for the same performance level
  • lower cost for the same performance level
  • greater connectivity to build larger, more parallel systems
  • more specialization to aid in specific targeted markets
Re-designing a CPU core to a smaller die-area helps achieve several of these goals.
  • Shrinking everything (a "photomask shrink"), resulting in the same number of transistors on a smaller die, 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 VLSI chip (additional cache, multiple CPUs, or other components), improving performance and reducing overall system cost.

Performance analysis and benchmarking

Because there are too many programs to test a CPU's speed on all of them, benchmarks were developed. The most famous benchmarks are the SPECint and SPECfp benchmarks developed by Standard Performance Evaluation Corporation and the ConsumerMark benchmark developed by the Embedded Microprocessor Benchmark Consortium [1].

Some important measurements include: Some of these measures conflict. In particular, many design techniques that make 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 architecture dominates, 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.

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

Developing new, high-end CPUs is a very costly proposition. Both the logical complexity (needing very large logic design and logic verification teams and simulation farms with perhaps thousands of computers) and the high operating frequencies (needing large circuit design teams and access to the state-of-the-art fabrication process) account for the high cost of design for this type of chip. The design cost of a high-end CPU will be on the order of US $100 million. Since the design of such high-end chips nominally take about five years to complete, to stay competitive a company has to fund at least two of these large design teams to release products at the rate of 2.5 years per product generation.

As an example, the typical loaded cost for one computer engineer is often quoted to be $250,000 US dollars/year. This includes salary, benefits, CAD tools, computers, office space rent, etc. Assuming that 100 engineers are needed to design a CPU and the project takes 4 years.

Total cost = $250,000/engineer-man_year X 100 engineers X 4 years = $100,000,000 US dollars.

The above amount is just an example. The design teams for modern day general purpose CPUs have several hundred team members.

Only the personal computer mass market (with production rates in the hundreds of millions, producing billions of dollars in revenue) can support such a large design and implementation teams.

Scientific computing

A much smaller niche market (in revenue and units shipped) is scientific computing, used in government research labs and universities. Previously much CPU design was done for this market, but the cost-effectiveness of using mass markets CPUs has curtailed almost all specialized designs for this market. The main remaining area of active hardware design and research for scientific computing is for high-speed system interconnects.

See main article Supercomputers.

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 utmost importance.
  • Power dissipation is highly important as most embedded systems do not allow for fans.
  • To give lower system cost, peripherals are integrated with the processor on the same silicon chip.
  • 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.
  • Interrupt latency is more important to these embedded devices and their associated functions than to more general-purpose processors.
  • Embedded Devices must be in production (or have stockpiles that can last) for long amounts of time, perhaps for a decade. Any particular version of desktop computing CPUs rarely stay in production for more than two years due to the rapid pace of progress.
See main articles microcontroller and system-on-a-chip.

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.

Main article: Soft microprocessor

Micro-architectural concepts

See main article Microarchitecture.

See also

External links

Design engineer is a general term that covers multiple engineering disciplines: Electrical, mechanical and civil engineering are the basic three. Architectural engineers, in the U.S., and building engineers in the U.K., are also examples of design engineers.
..... Click the link for more information.
central processing unit (CPU), or sometimes simply processor, is the component in a digital computer capable of executing a program.(Knott 1974) It interprets computer program instructions and processes data.
..... Click the link for more information.
Computer hardware is the physical part of a computer, including the digital circuitry, as distinguished from the computer software that executes within the hardware. The hardware of a computer is infrequently changed, in comparison with software and data, which are "soft" in the
..... Click the link for more information.
electrical and electronic engineering (many UK universities have departments of Electronic and Electrical Engineering). Both define a broad field that encompasses many subfields including those that deal with power, instrumentation engineering, telecommunications, and
..... Click the link for more information.
Computer engineering (also called Electronic and Computer engineering) is a discipline that combines elements of both electrical engineering and computer science.[1]
..... Click the link for more information.
arithmetic logic unit (ALU) is a digital circuit that performs arithmetic and logical operations. The ALU is a fundamental building block of the central processing unit of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers.
..... Click the link for more information.
pipeline is a set of data processing elements connected in series, so that the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion; in that case, some amount of buffer storage is often inserted
..... Click the link for more information.
A phase-locked loop or phase lock loop (PLL) is an electronic control system that generates a signal that has a fixed relation to the phase of a "reference" signal. A phase-locked loop circuit responds to both the frequency and the phase of the input signals, automatically
..... Click the link for more information.
In electronic design, library often refers to a collection of cells, macros or functional units that perform common operations and are used to build more complex logic blocks.
..... Click the link for more information.
In electrical engineering, power consumption refers to the electrical energy over time that must be supplied to an electrical appliance to maintain its operation. The power consumption is usually a result of power used to perform the intended function of the device plus additional
..... Click the link for more information.
intellectual property (IP) is an umbrella term for various legal entitlements which attach to certain names, written and recorded media, and inventions. The holders of these legal entitlements may exercise various exclusive rights in relation to the subject matter of the IP.
..... Click the link for more information.
Logic synthesis is a process by which an abstract form of desired circuit behavior (typically register transfer level (RTL) or behavioral) is turned into a design implementation in terms of logic gates.
..... Click the link for more information.
finite state machine (FSM) or finite state automaton (plural: automata) or simply a state machine is a model of behavior composed of a finite number of states, transitions between those states, and actions.
..... Click the link for more information.
A microprogram implements a CPU instruction set. Just as a single high level language statement is compiled to a series of machine instructions (load, store, shift, etc), in a CPU using microcode, each machine instruction is in turn implemented by a series of microinstructions,
..... Click the link for more information.
A programmable logic array (PLA) is a programmable device used to implement combinational logic circuits. The PLA has a set of programmable AND planes, which link to a set of programmable OR planes, which can then be conditionally complemented to produce an output.
..... Click the link for more information.
Programmable Array Logic (PAL) is used to describe a family of programmable logic device semiconductors used to implement logic functions in digital circuits introduced by Monolithic Memories, Inc. (MMI) in mid 1978.
..... Click the link for more information.
A programmable logic device or PLD is an electronic component used to build digital circuits. Unlike a logic gate, which has a fixed function, a PLD has an undefined function at the time of manufacture. Before the PLD can be used in a circuit it must be programmed.
..... Click the link for more information.
emitter-coupled logic, or ECL, is a logic family in which current is steered through bipolar transistors to compute logical functions. ECL is sometimes called 'current mode logic'.
..... Click the link for more information.
A gate array or uncommitted logic array (ULA) is an approach to the design and manufacture of application-specific integrated circuits (ASICs). A gate array circuit is a prefabricated silicon chip circuit with no particular function in which transistors, standard NAND
..... Click the link for more information.
Complementary metal–oxide–semiconductor (CMOS) ("see-moss", IPA: /ˈsiːmɒs/), is a major class of integrated circuits.
..... Click the link for more information.
A gate array or uncommitted logic array (ULA) is an approach to the design and manufacture of application-specific integrated circuits (ASICs). A gate array circuit is a prefabricated silicon chip circuit with no particular function in which transistors, standard NAND
..... Click the link for more information.
Complementary metal–oxide–semiconductor (CMOS) ("see-moss", IPA: /ˈsiːmɒs/), is a major class of integrated circuits.
..... Click the link for more information.
application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized for a particular use, rather than intended for general-purpose use. For example, a chip designed solely to run a cell phone is an ASIC.
..... Click the link for more information.
field-programmable gate array is a semiconductor device containing programmable logic components called "logic blocks", and programmable interconnects. Logic blocks can be programmed to perform the function of basic logic gates such as AND, and XOR, or more complex combinational
..... Click the link for more information.
A soft microprocessor (also called softcore microprocessor or a soft processor) is a microprocessor core that can be wholly implemented using logic synthesis. It can be implemented via different semiconductor devices containing programmable logic (e.g., FPGA, CPLD).
..... Click the link for more information.
In integrated circuit design, Register Transfer Level (RTL) description is a way of describing the operation of a synchronous digital circuit. In RTL design, a circuit's behavior is defined in terms of the flow of signals (or transfer of data) between hardware registers, and
..... Click the link for more information.
The process of circuit design can cover systems ranging from complex electronic systems all the way down to the individual transistors within an integrated circuit. For simple circuits the design process can often be done by one person without needing a planned or structured design
..... Click the link for more information.
Logic synthesis is a process by which an abstract form of desired circuit behavior (typically register transfer level (RTL) or behavioral) is turned into a design implementation in terms of logic gates.
..... Click the link for more information.
Static Timing Analysis is a method of computing the expected timing of a digital circuit without requiring simulation.

High-performance integrated circuits have traditionally been characterized by the clock frequency at which they operate.
..... Click the link for more information.
Floorplanning is the act of designing a birds eye view of a structure. In terms of electronic design automation, floorplanning takes in some of the geometrical limitations in a design.
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter