) is the portion of acomputersystem that carries out theinstructionsof acomputer program,to perform the basic arithmetical, logical, andinput/outputoperations of the system. The CPU plays a role somewhat analogous to thebrainin thecomputer. The term has been in use in the computer industry at least since the early 1960s.
Theform, design and implementation of CPUs have changed dramatically since the earliestexamples, but their fundamental operation remains much the same.On large machines, CPUs require one or moreprinted circuit boards.On personal computers andsmall workstations, the CPU is housed in a singlesilicon chipcalled amicroprocessor.Since the1970s the microprocessor class of CPUs has almost completely overtaken all other CPUimplementations. Modern CPUs are large scaleintegrated circuitsin packages typically less thanfour centimeters square, with hundreds of connecting pins.Two typical components of a CPU are thearithmetic logic unit(ALU), which performsarithmetic and logical operations, and thecontrol unit(CU), which extracts instructions frommemoryand decodes and executes them, calling on the ALU when necessary.
Not all computational systems rely on a central processing unit. An array processor orvectorprocessorhas multiple parallel computing elements, with no one unit considered the "center". Inthedistributed computingmodel, problems are solved by a distributed interconnected set of processors.
EDVAC,one of the first stored program computersComputers such as theENIAChad to be physically rewired in order to perform different tasks,which caused these machines to be called "fixed-program computers." Since the term "CPU" isgenerally defined as a device forsoftware(computer program) execution, the earliest devicesthat could rightly be called CPUs came with the advent of the stored-program computer.The idea of a stored-program computer was already present in the design of J. Presper EckertandJohn William Mauchly'sENIAC,but was initially omitted so that it could be finished sooner. OnJune 30, 1945, before ENIAC was made, mathematicianJohn von Neumanndistributed thepaper entitled
EDVAC was designed toperform a certain number of instructions (or operations) of various types. These instructionscould be combined to create useful programs for the EDVAC to run. Significantly, the programswritten for EDVAC were stored in high-speedcomputer memoryrather than specified by thephysical wiring of the computer. This overcame a severe limitation of ENIAC, which was theconsiderable time and effort required to reconfigure the computer to perform a new task. Withvon Neumann's design, the program, or software, thatEDVACran could be changed simply bychanging the contents of the memory.Early CPUs were custom-designed as a part of a larger, sometimes one-of-a-kind, computer.However, this method of designing custom CPUs for a particular application has largely givenway to the development of mass-produced processors that are made for many purposes. Thisstandardization began in the era of discretetransistormainframesandminicomputersand hasrapidly accelerated with the popularization of theintegrated circuit(IC). The IC has allowedincreasingly complex CPUs to be designed and manufactured to tolerances on the order of nanometers.Both the miniaturization and standardization of CPUs have increased the presenceof digital devices in modern life far beyond the limited application of dedicated computingmachines. Modern microprocessors appear in everything fromautomobilestocell phonesandchildren's toys.While von Neumann is most often credited with the design of the stored-program computerbecause of his design of EDVAC,others before him, such asKonrad Zuse,had suggested andimplemented similar ideas. The so-calledHarvard architectureof theHarvard Mark I,which wascompleted before EDVAC, also utilized a stored-program design usingpunched paper taperather than electronic memory. The key difference between the von Neumann and Harvardarchitectures is that the latter separates the storage and treatment of CPU instructions and data,while the former uses the same memory space for both. Most modern CPUs are primarily vonNeumann in design, but elements of the Harvard architecture are commonly seen as well.Relaysandvacuum tubes(thermionic valves) were commonly used as switching elements; auseful computer requires thousands or tens of thousands of switching devices. The overall speedof a system is dependent on the speed of the switches. Tube computers likeEDVACtended toaverage eight hours between failures, whereas relay computers like the (slower, but earlier)Harvard Mark Ifailed very rarely.