Processor design is a subfield of computer engineering and electronics that deals with creating a processor, a key component of computer hardware. While historically focused on the central processing unit (CPU), modern design often involves system-on-chip (SoC) architectures, which integrate multiple processing units such as CPUs, graphics processing units (GPUs), and neural processing units (NPUs) onto a single die or set of chiplets. The design process involves choosing an instruction set and a certain execution paradigm (e.g. VLIW or RISC) and results in a microarchitecture, which might be described in e.g. VHDL or Verilog. For microprocessor design, this description is then manufactured employing some of the various semiconductor device fabrication processes, resulting in a die which is bonded onto a chip carrier. This chip carrier is then soldered onto, or inserted into a socket on, a printed circuit board (PCB). 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. Processor designs are often tested and validated on one or several FPGAs before sending the design of the processor to a foundry for semiconductor fabrication.
Details
Basics Information is transferred through datapaths (such as ALUs and pipelines). These datapaths are controlled through logic by control units. Memory components include register files and caches to retain information, or certain actions. Clock circuitry maintains internal rhythms and timing through clock drivers, PLLs, and clock distribution networks. Pad transceiver circuitry which allows signals to be received and sent and a logic gate cell library which is used to implement the logic. Logic gates are the foundation for processor design as they are used to implement most of the processor's 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).
Specialized Accelerators Modern processor designs increasingly rely on heterogeneous computing, integrating specialized accelerators alongside general-purpose cores. The most prominent addition is the Neural Processing Unit (NPU), designed specifically to execute machine learning mathematics (matrix multiplication) more efficiently than a standard CPU. This specialization allows for significant gains in performance-per-watt for AI workloads.
Implementation logic Device technologies used to implement CPU logic have changed over time. Early implementations used individual relays, vacuum tubes, and discrete components (transistors and diodes), and later small-scale integration TTL chips, but these are no longer used for CPUs. Programmable array logic and other programmable logic devices are also no longer used for CPUs in this role, and ECL gate arrays are now uncommon. CMOS gate arrays are no longer used for CPUs, while CMOS mass-produced integrated circuits account for most CPUs by volume. Custom CMOS ASICs are generally practical only for high-volume applications because of the engineering cost. Field-programmable gate arrays (FPGAs) remain common for soft microprocessors and are often used for reconfigurable computing. A CPU design project generally has these major tasks:
Programmer-visible instruction set architecture, which can be implemented by a variety of microarchitectures Architectural study and performance modeling in ANSI C/C++ or SystemC High-level synthesis (HLS) or register transfer level (RTL, e.g. logic) implementation RTL verification Circuit design of speed critical components (caches, registers, ALUs) Logic synthesis or logic-gate-level design Timing analysis to confirm that all logic and circuits will run at the specified operating frequency Physical design including floorplanning, place and route of logic gates Checking that RTL, gate-level, transistor-level and physical-level representations are equivalent Checks for signal integrity, chip manufacturability 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. Key CPU architectural innovations include accumulator, index register, general-purpose register, cache, virtual memory, instruction pipelining, superscalar, CISC, RISC, virtual machine, emulators, microprogram, and stack.
Microarchitectural concepts
Research topics
A variety of new CPU design ideas have been proposed, including reconfigurable logic, clockless CPUs, computational RAM, and optical computing.
Performance analysis and benchmarking
Benchmarking is a way of testing CPU speed. Examples include SPECint and SPECfp, developed by Standard Performance Evaluation Corporation, and ConsumerMark developed by the Embedded Microprocessor Benchmark Consortium EEMBC. Some of the commonly used metrics include:
… excerpt ends here. Continue reading the full article.
