CPU design

From Wikipedia, the free encyclopedia

CPU design is the design engineering task of producing a CPU, a piece of computer hardware. It is a subfield of Electronics engineering and Computer engineering.

Contents

[edit] 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 implementation techniques used in CPU design 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.

[edit] 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.

[edit] 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:

  • Most consumers pick a computer architecture (normally Intel IA32 architecture) to be able to run a large base of pre-existing pre-compiled software. Being relatively uninformed on computer benchmarks, most of them pick a particular CPU based on operating frequency.
  • 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. [2][3]
  • 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.


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.

[edit] 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.

[edit] 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 homes and businesses. The Intel IA32 architecture is totally dominant in this market with its Sparc and PowerPC rivals maintaining much customer bases. Each year, there are hundreds of millions of IA32 architecture CPUs used by this market.

Since these devices are used to run countless different types of programs, these CPUs designs are not specifically targeted at one application nor one particular function. The demands of being able to run a wide range of programs efficiently, has made these CPU designs the most advanced technically along with the disadvantages of being relatively costly and having high power consumption.

[edit] High-end processor economics

Developing new, high-end CPUs is a very expensive 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 economics. As of 2004, only four companies are actively designing and fabricating state of the art general purpose computing CPU chips: Intel, AMD, IBM and Fujitsu.[citation needed] Motorola has spun off its semiconductor division as Freescale as that division was dragging down profit margins for the rest of the company. Texas Instruments, TSMC and Toshiba are a few examples of a companies doing manufacturing for another company's CPU chip design.

[edit] Scientific Computing

A much smaller niche market (both 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.

[edit] 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.
  • 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.

See main articles microcontroller and system-on-a-chip.


[edit] Soft microprocessor cores

For embedded systems, the highest performance levels are often not needed or desired due to the power consumption requirements. This allows processors which can totally implemented by logic synthesis techniques to be used. These synthesized processors can be implemented in a much shorter amount of time, giving quicker time-to-market.

Main article: Soft microprocessor

[edit] Micro-architectural Concepts

See main article Microarchitecture.

[edit] See also

[edit] External links

In other languages