Central Processing Unit

A central processing unit (CPU), is the most important processor in a computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, logic, controlling, and input/output operations. Early computers such as the ENIAC had to be physically rewired to perform different tasks, which caused these machines to be called “fixed-program computers”. 

The “central processing unit” term has been in use since as early as 1955. Since the term “CPU” is generally defined as a device for software execution, the earliest devices that could rightly be called CPUs came with the advent of the stored-program computer. In early stages, Relays and vacuum tubes (thermionic tubes) were commonly used as switching elements; a useful computer requires thousands or tens of thousands of switching devices. Most of these early synchronous CPUs ran at low clock rates compared to modern microelectronic designs.

Transistor

The design complexity of CPUs increased as various technologies facilitated the building of smaller and more reliable electronic devices. The first such improvement came with the advent of the transistor. Transistorized CPUs during the 1950s and 1960s no longer had to be built out of unreliable, and fragile switching elements, like vacuum tubes and relays. With this improvement, more complex and reliable CPUs were built onto one or several printed circuit boards containing individual components. Transistor-based computers had several distinct advantages over their predecessors. Aside from facilitating increased reliability and lower power consumption, transistors also allowed CPUs to operate at much higher speeds because of the short switching time of a transistor in comparison to a tube or relay.

Operation

The fundamental operation of most CPUs, is to execute a sequence of stored instructions that is called a program. The instructions to be executed are kept in some kind of computer memory. Nearly all CPUs follow the fetch, decode and execute steps in their operation, which are collectively known as the instruction cycle.

Fetch involves retrieving an instruction (which is represented by a number or sequence of numbers) from program memory. The instruction’s location in program memory is determined by the program counter, which stores a number that identifies the address of the next instruction to be fetched. The instruction that the CPU fetches from memory determines what the CPU will do.

In the decode step, performed by binary decoder circuitry known as the instruction decoder, the instruction is converted into signals that control other parts of the CPU.

After the fetch and decode steps, the execute step is performed. Depending on the CPU architecture, this may consist of a single action or a sequence of actions. During each action, control signals electrically enable or disable various parts of the CPU so they can perform all or part of the desired operation.

The form, design, and implementation of CPUs have changed over time, but their fundamental operation remains almost unchanged.