Recent Posts

LightBlog

Wednesday

Modern architecture of CPU

Modern architecture of CPU

The form, design, and implementation of CPUs have changed over the course of their history, but their fundamental operation remains almost unchanged. Principal components of a CPU include the arithmetic logic unit (ALU) that performs arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations and a control unit that orchestrates the fetching (from memory) and execution of instructions by directing the coordinated operations of the ALU, registers and other components.

CPU stands for the central processing unit. It’s the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logic, controlling, and input/output (I/O) operations specified by the instructions.

The computer industry has used the term “central processing unit” at least since the early 1960s. Traditionally, the term “CPU” refers to a processor, more specifically to its processing unit and control unit (CU), distinguishing these core elements of a computer from external components such as main memory and I/O circuitry.

Most modern CPUs are microprocessors, meaning they are contained on a single integrated circuit (IC) chip. An IC that contains a CPU may also contain memory, peripheral interfaces, and other components of a computer; such integrated devices are variously called microcontrollers or systems on a chip (SoC). Some computers employ a multi-core processor, which is a single chip containing two or more CPUs called “cores”; in that context, one can speak of such single chips as “sockets”.

Array processors or vector processors have multiple processors that operate in parallel, with no unit considered central. There also exists the concept of virtual CPUs which are an abstraction of dynamical aggregated computational resources.

Most CPUs are synchronous circuits, which means they employ a clock signal to pace their sequential operations. The clock signal is produced by an external oscillator circuit that generates a consistent number of pulses each second in the form of a periodic square wave. The frequency of the clock pulses determines the rate at which a CPU executes instructions and, consequently, the faster the clock, the more instructions the CPU will execute each second.

To ensure proper operation of the CPU, the clock period is longer than the maximum time needed for all signals to propagate (move) through the CPU. In setting the clock period to a value well above the worst-case propagation delay, it is possible to design the entire CPU and the way it moves data around the “edges” of the rising and falling clock signal. This has the advantage of simplifying the CPU significantly, both from a design perspective and a component-count perspective.

As of 2014/15 the Intel socket LGA 776 still dominated the market for most consumer based Dual and quad-core systems in the EU and US primary markets.

This was primarily due in no small part to the massively reduced cost of Core Duo and Quattro CPU’s left in stock after the widespread adoption of the i3, i5 and i7 chips of the last generation with their respective 6700k and 7700k boards taking the vast majority of the enthusiast market for team blue.

As of 2017 the digital arms race is still somewhat dominated thanks to industrial saturation of Intel-based systems allowing even the most budget oriented user to pick up an older Dell Inspiron or Optiplex office system and with a cheap GPU get into PC gaming at the ground floor with minimal outlay thus allowing the Intel “I” series to still have notable system dominance even with the advent of the newer significantly more powerful alternatives available on the market for in some cases equivalent outlay prices.

All modern computers share a common basic architecture, called the von Neumann architecture. This basic design is named after John von Neumann, who played a role in designing computers in the 1940s.

How does it work?

  • The program counter, or PC, keeps track of the address of the next instruction for the computer to run.
  • The instruction register, or IR, holds the instruction that the CPU is currently executing.
  • A set of address registers helps the CPU keep track of several interesting data locations at the same time. The CPU will typically use the contents of the address registers to tell it what memory locations to move data to and from the CPU registers.
  • A set of data registers gives the CPU a place to store data items that computation instructions will act on.
  • The CPU runs a program by repeatedly running the fetch-decode-execute cycle.
  • Move the word whose address is stored in the program counter to the instruction register.
  • Interpret the contents of the instruction register and execute the instruction.
  • Increment the program counter by 1.

Stock photo from Dmitriy Rybin

No comments:

Post a Comment