Processors – An Introduction
A Processor is a key component in the computer system that is responsible for carrying out of all the program instructions and other principal functions of the computer. Also known as the CPU (Central Processing Unit), the processor executes every program instruction in a sequential manner in order to carry out the fundamental I/O, logical, and arithmetical operations for the system.
The term ‘processor’ became popular in the industry during 1960’s. Although the basic operation of a processor remains the same till today, the design, implementation, and form of the processor have changed significantly over the past few decades.
History of Processors
The history of processors is a mere extension of the early history of the computing hardware. Below is a brief overview of the history of processors and the way they evolved over time in terms of form, design, implementation, and functions is as follows –
- 1950’s – The first Processor Designs: Each computer designed during this period we’re unique for one another. The programs that were written for it will fail to run on any other computer system of the same or different type. In other words, the earlier computer architecture of processors were not capable of multiple implementations. The key features present in these ‘older’ models included immediate operands (such as the IBM 704), index registers (like on Ferranti Mark I), invalid operations detection (such as the IBM 650), and saving instruction for return address (such as the UNIVAC I). IBM 650, which was the most preferred processor towards the end of 1950s, featured a drum memory that required punch cards to load programs, a core memory that provided greater speed in high-end systems and hard disks. Unlike today’s processors, the functioning of 1950 processors was based on the base-10 decimal system.
- 1960’s – CISC and Revolution in Processor Design: In the 1962, IBM came up with S/360 (System 360), the single reference system or a virtual computer that featured capabilities together with an instruction set compatible to all the computers of a single family. Every computer of the family was required to use micro program and hardware emulation to execute the S/360 instruction set. S/360 was distinctively designed using binary system. This fundamental instruction set brought a revolution in processor designs came to be known as CISC (Complex Instruction Set Computers). The other processors that competed with IBM’s S/360 during this time included BUNCH (B=Burroughs B5000 Series, U=UNIVAC, N=NCR, C=Control Data Corp., H= Honeywell).
- 1970’s – Processors with Large Scale Integration: It was in 1971 that Intel introduced the first microprocessor, called Intel 4004. It was followed by Intel 8008, the immediate ancestor of Intel Core 2 processors, in 1972. The whole era of the 1970s was marked by development and application of the integrated circuits in the computer systems. This led to the development of ‘minicomputers’, which featured 4-64 k memory and 16-bit word. The AMD 2009 chip, one of the preferred ‘bit slice’ computer logics, was used along with microcode to develop Custom CISCs. During the late 1970s, CISCs with wider word capacity (PDP-10-36-bit & VAX-32 bit) and PDP-11 were also introduced as some of the ‘highly advanced’ mini computers of the era. Intel 8080 microprocessor was also introduced to manage cruise missiles. Other processors that became popular during this era were IBM’s S/370 (for virtual environments) and Burroughs B7000/B6000/B5000 series (made using OS programmed in Algol).
- 1980’s – Introduction to RISC & Parallelism at Instruction Level: RISC (Reduced Instructions Set Computer) features a higher count of registers that could be accessed easily with lesser number of instructions. It was introduced during this era. The simple core processor was able to support compilers and operations of various kinds and runs at an extremely high speed. RISC chips for 8-bit and 32-bit systems as well as CISC processors (like the x86 processor) were the most preferred processors during this decade. During the latter half of the decade, techniques such as ‘instruction pipelining’ were used to make the processors run on several different instructions at various completion stages. ILP (Instruction level Parallelism) was also employed in the superscalar processors introduced during this period.
- 1990 – until date (2010): In the last two decades, the following processors were introduced in chronological order –
- VLIW (Very Long Instructions Word Processors)
- EPIC-based processors (based on Explicitly Parallel Instructions Computing architecture)
- Multi-threaded Processors that could handle several instructions from different programs simultaneously
- Multi-Core Processors
- Intelligent RAM (Berkeley’s IRAM, Computational RAM, and eDRAM)
- Processors combined with the reconfigurable logic of computing
- Open-Source Processor, like the Open RISC and the Sun Microsystems’s Open SPARC
- Asynchronous CPUs or the “clockless” processors (e.g. SEA forth processor, MiniMIPS-1998, AMULET-1993/2000, Caltech Asynchronous Processor-1998, etc.)
- Optical Processors