A CPU is hardware within a computer that performs the logic, arithmetic and input/output instructions of a computer program. A typical computer can be operated by more than one CPU thus the term multiprocessing. CPUs are assembled on an integrated circuit, and one IC can contain more than one CPU. CPU is made up of two main components namely; arithmetic logic unit ALU and control unit (CU). Arithmetic Logic Unit performs logic and arithmetic operations while CU removes instructions from the memory, decode, and execute them. It also calls on the ALU whenever necessary. CPUs were traditionally built using ICs but modern design systems such as FPGA have made it possible to design and implement CPUs with increased sped and performance.
CPU design concepts comprise of the data paths such as the ALU and pipelines, control units, memory components such as the registers, clock circuitry components such as clock drivers, PLLs and clock distribution networks. Others include parts transceiver circuitry and logic gate cell library used to implement logic. The operation of the CPU is dependent on the fixed set of commands or instructions that work to process data. Processors are built using logic gates that execute instructions. The number of logic gates has been reasonably reduced to restrict the number and complexity of the commands.
In designing a CPU using programmable logic definitions, digital integrated circuits such as MLI, SSI, VLSI, and SSI are used. These are groups of integrated circuits containing varied number of transistors. The earliest ICs utilized the small scale integration mechanism which contained transistors numbering less than 10. This was common in the 1960s. Current ICs in use are referred to as very large scale integration and it contained transistors ranging from hundreds of thousands of transistors in the 1980s and over seven million transistors as at 2007. These ICs are manufactured as standard off-the-shelf components containing regular arrays of gates and flip-flops that determine the logic functions. Many types of programmable logic are put in practice. Some of the examples include Programmable Logic Access, PROM and FPGA. Programmable Array Logic is similar to PLA or OR-array and commonly includes input/output flip-flops while Generic Array Logic can be configured to emulate AND/OR, combinational and sequential PAL devices and flip-flops.
Other than the microprocessor, other chips in the computer are used to help the CPU work optimally. The CPU is usually overworked and need other chipsets to assist n in the execution of operations. Chipset is the interface upon which it decides which it converts all generic CPU signals to and from the instructions and data of each component. Chipsets are the infrastructure of the modern PC and it is through it that communications between the components of the computer are facilitated. It also facilitates the addition of numerous components to the computer including the USBs, PCI, AGE and IDE.
CPU instructions are divided into different classes which include; load and store, computational, jump and branch, coprocessor, and special instructions. Load and store instructions move data between memory and the registers while computational instructions perform arithmetic, logic and shift operations. Jump and branch instructions are tasked with the control of flow of a program. Jumps are usually made to absolute 26-bit word address or register address used for returns and dispatches.
According to coprocessor instructions perform operations in the coprocessors such as loading and storage. Finally, special instructions are set of commands meant to perform a number of tasks such as transfer of data between general and special registers, breakpoint and trap.
The integer range in a CPU outlines the way it treats the number of locations in the memory. 32-bit CPUs use 232 octets while other others utilize higher ranges in the order of 64-bit and 128-bit. The complexity, power usage and size increases as the integer range goes high.
Pipelining is a process that executes instructions in parallel using a bus interface and an execution unit. The 80486 family, for instance, executes pipelining to improve performance. The CPU overlaps the instruction fetching and decoding with instruction executions. When one instruction is being executed, the BIU is fetching and decoding the next operation.
A number of mathematical and physics concepts are used in the VLSI design. Transistors are the foundation of the CPU and are extensively used in their manufacture. They fall under semiconductor materials which fall under material physics and electronics. In the same breadth, logic operations extensively used to modify and execute commands are founded in mathematics. Boolean algebra is based in mathematics and it is the corner stone of logic functions in computers. Executions in the CPU are based on logic commands fed through the input devices.
CPU evolution has witnessed unprecedented and exponential growth in the past years. Intel for instance, is developing a third generation core i7 processor which is termed as the best in terms of speed and performance. Core i7 is using the Nehalem micro architecture in its design which utilizes 731 million transistors and has an area of 263mm2.
References
Deborah Morley, C. S. (2009). Understanding Computers 2009:Today and Tomorrow. Cengage Learning.
Lowe, S. (2010). Mastering VMware vSphere 4. John Wiley & Sons.
Santner, S. R. (2007). Symmetric Multiprocessor Design for Hybrid CPU/FPGA SoCs. ProQuest.
Thimmannagari, C. M. (2005). CPU Design. Springer.