Вы находитесь на странице: 1из 17

1/27/2017

CentralprocessingunitWikipedia

Centralprocessingunit
FromWikipedia,thefreeencyclopedia

Acentralprocessingunit(CPU)istheelectroniccircuitrywithina
computerthatcarriesouttheinstructionsofacomputerprogramby
performingthebasicarithmetic,logical,controlandinput/output(I/O)
operationsspecifiedbytheinstructions.Thecomputerindustryhasused
theterm"centralprocessingunit"atleastsincetheearly1960s.[1]
Traditionally,theterm"CPU"referstoaprocessor,morespecificallytoits
processingunitandcontrolunit(CU),distinguishingthesecoreelements
ofacomputerfromexternalcomponentssuchasmainmemoryandI/O
circuitry.[2]
Theform,designandimplementationofCPUshavechangedoverthe
courseoftheirhistory,buttheirfundamentaloperationremainsalmost
unchanged.PrincipalcomponentsofaCPUincludethearithmeticlogic
unit(ALU)thatperformsarithmeticandlogicoperations,processor
registersthatsupplyoperandstotheALUandstoretheresultsofALU
operations,andacontrolunitthatorchestratesthefetching(frommemory)
andexecutionofinstructionsbydirectingthecoordinatedoperationsofthe
ALU,registersandothercomponents.

AnIntel80486DX2CPU,asseen
fromabove.

MostmodernCPUsaremicroprocessors,meaningtheyarecontainedona
singleintegratedcircuit(IC)chip.AnICthatcontainsaCPUmayalso
containmemory,peripheralinterfaces,andothercomponentsofa
computersuchintegrateddevicesarevariouslycalledmicrocontrollersor
BottomsideofanIntel80486DX2,
systemsonachip(SoC).Somecomputersemployamulticoreprocessor,
showingitspins.
whichisasinglechipcontainingtwoormoreCPUscalled"cores"inthat
context,onecanspeakofsuchsinglechipsas"sockets".[3]Array
processorsorvectorprocessorshavemultipleprocessorsthatoperateinparallel,withnounitconsideredcentral.
TherealsoexiststheconceptofvirtualCPUswhichareanabstractionofdynamicalaggregatedcomputational
resources.[4]

Contents
1 History
1.1 TransistorCPUs
1.2 SmallscaleintegrationCPUs
1.3 LargescaleintegrationCPUs
1.4 Microprocessors
2 Operation
2.1 Fetch
2.2 Decode
2.3 Execute
3 Structureandimplementation
3.1 Controlunit
3.2 Arithmeticlogicunit
3.3 Memorymanagementunit
https://en.wikipedia.org/wiki/Central_processing_unit

1/17

1/27/2017

CentralprocessingunitWikipedia

3.3
3.4
3.5
3.6

4
5
6
7
8

Memorymanagementunit
Clockrate
Integerrange
Parallelism
3.6.1 Instructionlevelparallelism
3.6.2 Tasklevelparallelism
3.6.3 Dataparallelism
3.7 VirtualCPUs
Performance
Seealso
Notes
References
Externallinks

History
EarlycomputerssuchastheENIAChadtobephysicallyrewiredto
performdifferenttasks,whichcausedthesemachinestobecalled"fixed
programcomputers".[5]Sincetheterm"CPU"isgenerallydefinedasa
deviceforsoftware(computerprogram)execution,theearliestdevicesthat
couldrightlybecalledCPUscamewiththeadventofthestoredprogram
computer.
Theideaofastoredprogramcomputerwasalreadypresentinthedesignof
J.PresperEckertandJohnWilliamMauchly'sENIAC,butwasinitially
omittedsothatitcouldbefinishedsooner.[6]OnJune30,1945,before
ENIACwasmade,mathematicianJohnvonNeumanndistributedthepaper
entitledFirstDraftofaReportontheEDVAC.Itwastheoutlineofa
storedprogramcomputerthatwouldeventuallybecompletedinAugust
1949.[7]EDVACwasdesignedtoperformacertainnumberofinstructions
(oroperations)ofvarioustypes.Significantly,theprogramswrittenfor
EDVACweretobestoredinhighspeedcomputermemoryratherthan
EDVAC,oneofthefirststored
specifiedbythephysicalwiringofthecomputer.[8]Thisovercameasevere
programcomputers
limitationofENIAC,whichwastheconsiderabletimeandeffortrequired
toreconfigurethecomputertoperformanewtask.WithvonNeumann's
design,theprogramthatEDVACrancouldbechangedsimplybychangingthecontentsofthememory.EDVAC,
however,wasnotthefirststoredprogramcomputertheManchesterSmallScaleExperimentalMachine,asmall
prototypestoredprogramcomputer,ranitsfirstprogramon21June1948[9]andtheManchesterMark1ranits
firstprogramduringthenightof1617June1949.[10]
EarlyCPUswerecustomdesignsusedaspartofalargerandsometimesdistinctivecomputer.[11]However,this
methodofdesigningcustomCPUsforaparticularapplicationhaslargelygivenwaytothedevelopmentofmulti
purposeprocessorsproducedinlargequantities.Thisstandardizationbeganintheeraofdiscretetransistor
mainframesandminicomputersandhasrapidlyacceleratedwiththepopularizationoftheintegratedcircuit(IC).
TheIChasallowedincreasinglycomplexCPUstobedesignedandmanufacturedtotolerancesontheorderof
nanometers.[12]BoththeminiaturizationandstandardizationofCPUshaveincreasedthepresenceofdigital

https://en.wikipedia.org/wiki/Central_processing_unit

2/17

1/27/2017

CentralprocessingunitWikipedia

devicesinmodernlifefarbeyondthelimitedapplicationofdedicatedcomputingmachines.Modern
microprocessorsappearinelectronicdevicesrangingfromautomobiles[13]tocellphones,[14]andsometimeseven
intoys.[15]
WhilevonNeumannismostoftencreditedwiththedesignofthestoredprogramcomputerbecauseofhisdesign
ofEDVAC,andthedesignbecameknownasthevonNeumannarchitecture,othersbeforehim,suchasKonrad
Zuse,hadsuggestedandimplementedsimilarideas.[16]ThesocalledHarvardarchitectureoftheHarvardMarkI,
whichwascompletedbeforeEDVAC,[17][18]alsoutilizedastoredprogramdesignusingpunchedpapertaperather
thanelectronicmemory.[19]ThekeydifferencebetweenthevonNeumannandHarvardarchitecturesisthatthe
latterseparatesthestorageandtreatmentofCPUinstructionsanddata,whiletheformerusesthesamememory
spaceforboth.[20]MostmodernCPUsareprimarilyvonNeumannindesign,butCPUswiththeHarvard
architectureareseenaswell,especiallyinembeddedapplicationsforinstance,theAtmelAVRmicrocontrollers
areHarvardarchitectureprocessors.[21]
Relaysandvacuumtubes(thermionictubes)werecommonlyusedasswitchingelements[22][23]ausefulcomputer
requiresthousandsortensofthousandsofswitchingdevices.Theoverallspeedofasystemisdependentonthe
speedoftheswitches.TubecomputerslikeEDVACtendedtoaverageeighthoursbetweenfailures,whereasrelay
computerslikethe(slower,butearlier)HarvardMarkIfailedveryrarely.[1]Intheend,tubebasedCPUsbecame
dominantbecausethesignificantspeedadvantagesaffordedgenerallyoutweighedthereliabilityproblems.Mostof
theseearlysynchronousCPUsranatlowclockratescomparedtomodernmicroelectronicdesigns.Clocksignal
frequenciesrangingfrom100kHzto4MHzwereverycommonatthistime,limitedlargelybythespeedofthe
switchingdevicestheywerebuiltwith.[24]

TransistorCPUs
ThedesigncomplexityofCPUsincreasedasvarioustechnologies
facilitatedbuildingsmallerandmorereliableelectronicdevices.Thefirst
suchimprovementcamewiththeadventofthetransistor.Transistorized
CPUsduringthe1950sand1960snolongerhadtobebuiltoutofbulky,
unreliable,andfragileswitchingelementslikevacuumtubesandrelays.[25]
WiththisimprovementmorecomplexandreliableCPUswerebuiltonto
oneorseveralprintedcircuitboardscontainingdiscrete(individual)
components.
In1964,IBMintroduceditsSystem/360computerarchitecturethatwas
usedinaseriesofcomputerscapableofrunningthesameprogramswith
differentspeedandperformance.[26]Thiswassignificantatatimewhen
mostelectroniccomputerswereincompatiblewithoneanother,eventhose
IBMPowerPC604eprocessor
madebythesamemanufacturer.Tofacilitatethisimprovement,IBM
utilizedtheconceptofamicroprogram(oftencalled"microcode"),which
stillseeswidespreadusageinmodernCPUs.[27]TheSystem/360architecturewassopopularthatitdominatedthe
mainframecomputermarketfordecadesandleftalegacythatisstillcontinuedbysimilarmoderncomputerslike
theIBMzSeries.[28][29]In1965,DigitalEquipmentCorporation(DEC)introducedanotherinfluentialcomputer
aimedatthescientificandresearchmarkets,thePDP8.[30]
Transistorbasedcomputershadseveraldistinctadvantagesovertheirpredecessors.Asidefromfacilitating
increasedreliabilityandlowerpowerconsumption,transistorsalsoallowedCPUstooperateatmuchhigherspeeds
becauseoftheshortswitchingtimeofatransistorincomparisontoatubeorrelay.[31]Theincreasedreliabilityand
https://en.wikipedia.org/wiki/Central_processing_unit

3/17

1/27/2017

CentralprocessingunitWikipedia

dramaticallyincreasedspeedoftheswitchingelements(whichwerealmost
exclusivelytransistorsbythistime),CPUclockratesinthetensof
megahertzwereeasilyobtainedduringthisperiod.[32]Additionallywhile
discretetransistorandICCPUswereinheavyusage,newhigh
performancedesignslikeSIMD(SingleInstructionMultipleData)vector
processorsbegantoappear.[33]Theseearlyexperimentaldesignslatergave
risetotheeraofspecializedsupercomputerslikethosemadebyCrayInc
andFujitsuLtd.

SmallscaleintegrationCPUs
Duringthisperiod,amethodofmanufacturingmanyinterconnected
transistorsinacompactspacewasdeveloped.Theintegratedcircuit(IC)
allowedalargenumberoftransistorstobemanufacturedonasingle
semiconductorbaseddie,or"chip".Atfirstonlyverybasicnonspecialized
digitalcircuitssuchasNORgateswereminiaturizedintoICs.CPUsbased
uponthese"buildingblock"ICsaregenerallyreferredtoas"smallscale
integration"(SSI)devices.SSIICs,suchastheonesusedintheApollo
guidancecomputer,usuallycontaineduptoafewscoretransistors.To
buildanentireCPUoutofSSIICsrequiredthousandsofindividualchips,
butstillconsumedmuchlessspaceandpowerthanearlierdiscrete
transistordesigns.
IBM'sSystem/370followontotheSystem/360usedSSIICsratherthan
SolidLogicTechnologydiscretetransistormodules.DEC'sPDP8/Iand
KI10PDP10alsoswitchedfromtheindividualtransistorsusedbythe
PDP8andPDP10toSSIICs,andtheirextremelypopularPDP11line
wasoriginallybuiltwithSSIICsbutwaseventuallyimplementedwithLSI
componentsoncethesebecamepractical.

LargescaleintegrationCPUs

FujitsuboardwithSPARC64VIIIfx
processors

CPU,corememory,andexternalbus
interfaceofaDECPDP8/I.Madeof
mediumscaleintegratedcircuits.

LeeBoyselpublishedinfluentialarticles,includinga1967"manifesto",
whichdescribedhowtobuildtheequivalentofa32bitmainframecomputerfromarelativelysmallnumberof
largescaleintegrationcircuits(LSI).[34][35]Atthetime,theonlywaytobuildLSIchips,whicharechipswitha
hundredormoregates,wastobuildthemusingaMOSprocess(i.e.,PMOSlogic,NMOSlogic,orCMOSlogic).
However,somecompaniescontinuedtobuildprocessorsoutofbipolarchipsbecausebipolarjunctiontransistors
weresomuchfasterthanMOSchipsforexample,DatapointbuiltprocessorsoutofTTLchipsuntiltheearly
1980s.[35]
Peoplebuildinghighspeedcomputerswantedthemtobefast,sointhe1970stheybuilttheCPUsfromsmall
scaleintegration(SSI)andmediumscaleintegration(MSI)7400seriesTTLgates.Atthetime,MOSICswereso
slowthattheywereconsideredusefulonlyinafewnicheapplicationsthatrequiredlowpower.[36][37]
Asthemicroelectronictechnologyadvanced,anincreasingnumberoftransistorswereplacedonICs,decreasing
thequantityofindividualICsneededforacompleteCPU.MSIandLSIICsincreasedtransistorcountsto
hundreds,andthenthousands.By1968,thenumberofICsrequiredtobuildacompleteCPUhadbeenreducedto
24ICsofeightdifferenttypes,witheachICcontainingroughly1000MOSFETs.[38]InstarkcontrastwithitsSSI
andMSIpredecessors,thefirstLSIimplementationofthePDP11containedaCPUcomposedofonlyfourLSI
integratedcircuits.[39]
https://en.wikipedia.org/wiki/Central_processing_unit

4/17

1/27/2017

CentralprocessingunitWikipedia

Microprocessors
Inthe1970s,thefundamentalinventionsbyFedericoFaggin(SiliconGate
MOSICswithselfalignedgatesalongwithhisnewrandomlogicdesign
methodology)changedthedesignandimplementationofCPUsforever.
Sincetheintroductionofthefirstcommerciallyavailablemicroprocessor
(theIntel4004)in1970,andthefirstwidelyusedmicroprocessor(theIntel
8080)in1974,thisclassofCPUshasalmostcompletelyovertakenall
othercentralprocessingunitimplementationmethods.Mainframeand
minicomputermanufacturersofthetimelaunchedproprietaryIC
developmentprogramstoupgradetheiroldercomputerarchitectures,and
eventuallyproducedinstructionsetcompatiblemicroprocessorsthatwere
backwardcompatiblewiththeirolderhardwareandsoftware.Combined
withtheadventandeventualsuccessoftheubiquitouspersonalcomputer,
thetermCPUisnowappliedalmostexclusively[a]tomicroprocessors.
SeveralCPUs(denotedcores)canbecombinedinasingleprocessing
chip.[40]

DieofanIntel80486DX2
microprocessor(actualsize:
126.75mm)initspackaging

PreviousgenerationsofCPUswereimplementedasdiscretecomponents
andnumeroussmallintegratedcircuits(ICs)ononeormorecircuit
boards.[41]Microprocessors,ontheotherhand,areCPUsmanufacturedon
averysmallnumberofICsusuallyjustone.[42]TheoverallsmallerCPU
size,asaresultofbeingimplementedonasingledie,meansfaster
switchingtimebecauseofphysicalfactorslikedecreasedgateparasitic
IntelCorei5CPUonaVaioEseries
capacitance.[43][44]Thishasallowedsynchronousmicroprocessorstohave
laptopmotherboard(ontheright,
clockratesrangingfromtensofmegahertztoseveralgigahertz.
beneaththeheatpipe)
Additionally,astheabilitytoconstructexceedinglysmalltransistorsonan
IChasincreased,thecomplexityandnumberoftransistorsinasingleCPU
hasincreasedmanyfold.ThiswidelyobservedtrendisdescribedbyMoore'slaw,whichhasproventobeafairly
accuratepredictorofthegrowthofCPU(andotherIC)complexity.[45]
Whilethecomplexity,size,construction,andgeneralformofCPUshavechangedenormouslysince1950,[46]itis
notablethatthebasicdesignandfunctionhasnotchangedmuchatall.AlmostallcommonCPUstodaycanbe
veryaccuratelydescribedasvonNeumannstoredprogrammachines.[b]AstheaforementionedMoore'slaw
continuestoholdtrue,[45]concernshavearisenaboutthelimitsofintegratedcircuittransistortechnology.Extreme
miniaturizationofelectronicgatesiscausingtheeffectsofphenomenalikeelectromigrationandsubthreshold
leakagetobecomemuchmoresignificant.Thesenewerconcernsareamongthemanyfactorscausingresearchers
toinvestigatenewmethodsofcomputingsuchasthequantumcomputer,aswellastoexpandtheusageof
parallelismandothermethodsthatextendtheusefulnessoftheclassicalvonNeumannmodel.

Operation
ThefundamentaloperationofmostCPUs,regardlessofthephysicalformtheytake,istoexecuteasequenceof
storedinstructionsthatiscalledaprogram.Theinstructionstobeexecutedarekeptinsomekindofcomputer
memory.NearlyallCPUsfollowthefetch,decodeandexecutestepsintheiroperation,whicharecollectively
knownastheinstructioncycle.

https://en.wikipedia.org/wiki/Central_processing_unit

5/17

1/27/2017

CentralprocessingunitWikipedia

Aftertheexecutionofaninstruction,theentireprocessrepeats,withthenextinstructioncyclenormallyfetching
thenextinsequenceinstructionbecauseoftheincrementedvalueintheprogramcounter.Ifajumpinstruction
wasexecuted,theprogramcounterwillbemodifiedtocontaintheaddressoftheinstructionthatwasjumpedto
andprogramexecutioncontinuesnormally.InmorecomplexCPUs,multipleinstructionscanbefetched,decoded,
andexecutedsimultaneously.Thissectiondescribeswhatisgenerallyreferredtoasthe"classicRISCpipeline",
whichisquitecommonamongthesimpleCPUsusedinmanyelectronicdevices(oftencalledmicrocontroller).It
largelyignorestheimportantroleofCPUcache,andthereforetheaccessstageofthepipeline.
Someinstructionsmanipulatetheprogramcounterratherthanproducingresultdatadirectlysuchinstructionsare
generallycalled"jumps"andfacilitateprogrambehaviorlikeloops,conditionalprogramexecution(throughthe
useofaconditionaljump),andexistenceoffunctions.[c]Insomeprocessors,someotherinstructionschangethe
stateofbitsina"flags"register.Theseflagscanbeusedtoinfluencehowaprogrambehaves,sincetheyoften
indicatetheoutcomeofvariousoperations.Forexample,insuchprocessorsa"compare"instructionevaluatestwo
valuesandsetsorclearsbitsintheflagsregistertoindicatewhichoneisgreaterorwhethertheyareequaloneof
theseflagscouldthenbeusedbyalaterjumpinstructiontodetermineprogramflow.

Fetch
Thefirststep,fetch,involvesretrievinganinstruction(whichisrepresentedbyanumberorsequenceofnumbers)
fromprogrammemory.Theinstruction'slocation(address)inprogrammemoryisdeterminedbyaprogram
counter(PC),whichstoresanumberthatidentifiestheaddressofthenextinstructiontobefetched.Afteran
instructionisfetched,thePCisincrementedbythelengthoftheinstructionsothatitwillcontaintheaddressof
thenextinstructioninthesequence.[d]Often,theinstructiontobefetchedmustberetrievedfromrelativelyslow
memory,causingtheCPUtostallwhilewaitingfortheinstructiontobereturned.Thisissueislargelyaddressedin
modernprocessorsbycachesandpipelinearchitectures(seebelow).

Decode
TheinstructionthattheCPUfetchesfrommemorydetermineswhattheCPUwilldo.Inthedecodestep,
performedbythecircuitryknownastheinstructiondecoder,theinstructionisconvertedintosignalsthatcontrol
otherpartsoftheCPU.
ThewayinwhichtheinstructionisinterpretedisdefinedbytheCPU'sinstructionsetarchitecture(ISA).[e]Often,
onegroupofbits(thatis,a"field")withintheinstruction,calledtheopcode,indicateswhichoperationistobe
performed,whiletheremainingfieldsusuallyprovidesupplementalinformationrequiredfortheoperation,suchas
theoperands.Thoseoperandsmaybespecifiedasaconstantvalue(calledanimmediatevalue),orasthelocation
ofavaluethatmaybeaprocessorregisteroramemoryaddress,asdeterminedbysomeaddressingmode.
InsomeCPUdesignstheinstructiondecoderisimplementedasahardwired,unchangeablecircuit.Inothers,a
microprogramisusedtotranslateinstructionsintosetsofCPUconfigurationsignalsthatareappliedsequentially
overmultipleclockpulses.Insomecasesthememorythatstoresthemicroprogramisrewritable,makingit
possibletochangethewayinwhichtheCPUdecodesinstructions.

Execute
Afterthefetchanddecodesteps,theexecutestepisperformed.DependingontheCPUarchitecture,thismay
consistofasingleactionorasequenceofactions.Duringeachaction,variouspartsoftheCPUareelectrically
connectedsotheycanperformallorpartofthedesiredoperationandthentheactioniscompleted,typicallyin

https://en.wikipedia.org/wiki/Central_processing_unit

6/17

1/27/2017

CentralprocessingunitWikipedia

responsetoaclockpulse.VeryoftentheresultsarewrittentoaninternalCPUregisterforquickaccessby
subsequentinstructions.Inothercasesresultsmaybewrittentoslower,butlessexpensiveandhighercapacity
mainmemory.
Forexample,ifanadditioninstructionistobeexecuted,thearithmeticlogicunit(ALU)inputsareconnectedtoa
pairofoperandsources(numberstobesummed),theALUisconfiguredtoperformanadditionoperationsothat
thesumofitsoperandinputswillappearatitsoutput,andtheALUoutputisconnectedtostorage(e.g.,aregister
ormemory)thatwillreceivethesum.Whentheclockpulseoccurs,thesumwillbetransferredtostorageand,if
theresultingsumistoolarge(i.e.,itislargerthantheALU'soutputwordsize),anarithmeticoverflowflagwillbe
set.

Structureandimplementation
HardwiredintoaCPU'scircuitryisasetofbasic
operationsitcanperform,calledaninstructionset.
Suchoperationsmayinvolve,forexample,adding
orsubtractingtwonumbers,comparingtwo
numbers,orjumpingtoadifferentpartofa
program.Eachbasicoperationisrepresentedbya
particularcombinationofbits,knownasthe
machinelanguageopcodewhileexecuting
instructionsinamachinelanguageprogram,the
CPUdecideswhichoperationtoperformby
"decoding"theopcode.Acompletemachine
languageinstructionconsistsofanopcodeand,in
manycases,additionalbitsthatspecifyarguments
fortheoperation(forexample,thenumberstobe
summedinthecaseofanadditionoperation).Going
upthecomplexityscale,amachinelanguage
programisacollectionofmachinelanguage
instructionsthattheCPUexecutes.

BlockdiagramofabasicuniprocessorCPUcomputer.Black
linesindicatedataflow,whereasredlinesindicatecontrolflow
arrowsindicateflowdirections.

Theactualmathematicaloperationforeach
instructionisperformedbyacombinationallogic
circuitwithintheCPU'sprocessorknownasthearithmeticlogicunitorALU.Ingeneral,aCPUexecutesan
instructionbyfetchingitfrommemory,usingitsALUtoperformanoperation,andthenstoringtheresultto
memory.Besidetheinstructionsforintegermathematicsandlogicoperations,variousothermachineinstructions
exist,suchasthoseforloadingdatafrommemoryandstoringitback,branchingoperations,andmathematical
operationsonfloatingpointnumbersperformedbytheCPU'sfloatingpointunit(FPU).[48]

Controlunit
ThecontrolunitoftheCPUcontainscircuitrythatuseselectricalsignalstodirecttheentirecomputersystemto
carryoutstoredprograminstructions.Thecontrolunitdoesnotexecuteprograminstructionsrather,itdirects
otherpartsofthesystemtodoso.ThecontrolunitcommunicateswithboththeALUandmemory.

Arithmeticlogicunit

https://en.wikipedia.org/wiki/Central_processing_unit

7/17

1/27/2017

CentralprocessingunitWikipedia

Thearithmeticlogicunit(ALU)isadigitalcircuitwithinthe
processorthatperformsintegerarithmeticandbitwiselogic
operations.TheinputstotheALUarethedatawordstobe
operatedon(calledoperands),statusinformationfromprevious
operations,andacodefromthecontrolunitindicatingwhich
operationtoperform.Dependingontheinstructionbeing
executed,theoperandsmaycomefrominternalCPUregistersor
externalmemory,ortheymaybeconstantsgeneratedbythe
ALUitself.
SymbolicrepresentationofanALUanditsinput

Whenallinputsignalshavesettledandpropagatedthroughthe
andoutputsignals
ALUcircuitry,theresultoftheperformedoperationappearsat
theALU'soutputs.Theresultconsistsofbothadataword,
whichmaybestoredinaregisterormemory,andstatusinformationthatistypicallystoredinaspecial,internal
CPUregisterreservedforthispurpose.

Memorymanagementunit
Mosthighendmicroprocessors(indesktop,laptop,servercomputers)haveamemorymanagementunit,
translatinglogicaladdressesintophysicalRAMaddresses,providingmemoryprotectionandpagingabilities,
usefulforvirtualmemory.Simplerprocessors,especiallymicrocontrollersusuallydon'tincludeanMMU.

Clockrate
MostCPUsaresynchronouscircuits,whichmeanstheyemployaclocksignaltopacetheirsequentialoperations.
Theclocksignalisproducedbyanexternaloscillatorcircuitthatgeneratesaconsistentnumberofpulseseach
secondintheformofaperiodicsquarewave.Thefrequencyoftheclockpulsesdeterminestherateatwhicha
CPUexecutesinstructionsand,consequently,thefastertheclock,themoreinstructionstheCPUwillexecuteeach
second.
ToensureproperoperationoftheCPU,theclockperiodislongerthanthemaximumtimeneededforallsignalsto
propagate(move)throughtheCPU.Insettingtheclockperiodtoavaluewellabovetheworstcasepropagation
delay,itispossibletodesigntheentireCPUandthewayitmovesdataaroundthe"edges"oftherisingandfalling
clocksignal.ThishastheadvantageofsimplifyingtheCPUsignificantly,bothfromadesignperspectiveanda
componentcountperspective.However,italsocarriesthedisadvantagethattheentireCPUmustwaitonits
slowestelements,eventhoughsomeportionsofitaremuchfaster.Thislimitationhaslargelybeencompensated
forbyvariousmethodsofincreasingCPUparallelism(seebelow).
However,architecturalimprovementsalonedonotsolveallofthedrawbacksofgloballysynchronousCPUs.For
example,aclocksignalissubjecttothedelaysofanyotherelectricalsignal.Higherclockratesinincreasingly
complexCPUsmakeitmoredifficulttokeeptheclocksignalinphase(synchronized)throughouttheentireunit.
ThishasledmanymodernCPUstorequiremultipleidenticalclocksignalstobeprovidedtoavoiddelayinga
singlesignalsignificantlyenoughtocausetheCPUtomalfunction.Anothermajorissue,asclockratesincrease
dramatically,istheamountofheatthatisdissipatedbytheCPU.Theconstantlychangingclockcausesmany
componentstoswitchregardlessofwhethertheyarebeingusedatthattime.Ingeneral,acomponentthatis
switchingusesmoreenergythananelementinastaticstate.Therefore,asclockrateincreases,sodoesenergy
consumption,causingtheCPUtorequiremoreheatdissipationintheformofCPUcoolingsolutions.
Onemethodofdealingwiththeswitchingofunneededcomponentsiscalledclockgating,whichinvolvesturning
offtheclocksignaltounneededcomponents(effectivelydisablingthem).However,thisisoftenregardedas
difficulttoimplementandthereforedoesnotseecommonusageoutsideofverylowpowerdesigns.Onenotable
https://en.wikipedia.org/wiki/Central_processing_unit

8/17

1/27/2017

CentralprocessingunitWikipedia

recentCPUdesignthatusesextensiveclockgatingistheIBMPowerPCbasedXenonusedintheXbox360that
way,powerrequirementsoftheXbox360aregreatlyreduced.[49]Anothermethodofaddressingsomeofthe
problemswithaglobalclocksignalistheremovaloftheclocksignalaltogether.Whileremovingtheglobalclock
signalmakesthedesignprocessconsiderablymorecomplexinmanyways,asynchronous(orclockless)designs
carrymarkedadvantagesinpowerconsumptionandheatdissipationincomparisonwithsimilarsynchronous
designs.Whilesomewhatuncommon,entireasynchronousCPUshavebeenbuiltwithoututilizingaglobalclock
signal.TwonotableexamplesofthisaretheARMcompliantAMULETandtheMIPSR3000compatible
MiniMIPS.
Ratherthantotallyremovingtheclocksignal,someCPUdesignsallowcertainportionsofthedevicetobe
asynchronous,suchasusingasynchronousALUsinconjunctionwithsuperscalarpipeliningtoachievesome
arithmeticperformancegains.Whileitisnotaltogetherclearwhethertotallyasynchronousdesignscanperformat
acomparableorbetterlevelthantheirsynchronouscounterparts,itisevidentthattheydoatleastexcelinsimpler
mathoperations.This,combinedwiththeirexcellentpowerconsumptionandheatdissipationproperties,makes
themverysuitableforembeddedcomputers.[50]

Integerrange
EveryCPUrepresentsnumericalvaluesinaspecificway.Forexample,someearlydigitalcomputersrepresented
numbersasfamiliardecimal(base10)numeralsystemvalues,andothershaveemployedmoreunusual
representationssuchasternary(basethree).NearlyallmodernCPUsrepresentnumbersinbinaryform,witheach
digitbeingrepresentedbysometwovaluedphysicalquantitysuchasa"high"or"low"voltage.[f]

Asixbitwordcontainingthebinary
encodedrepresentationofdecimal
value40.MostmodernCPUsemploy
wordsizesthatareapoweroftwo,
forexample8,16,32or64bits.

Relatedtonumericrepresentationisthesizeandprecisionofinteger
numbersthataCPUcanrepresent.InthecaseofabinaryCPU,thisis
measuredbythenumberofbits(significantdigitsofabinaryencoded
integer)thattheCPUcanprocessinoneoperation,whichiscommonly
called"wordsize","bitwidth","datapathwidth","integerprecision",or
"integersize".ACPU'sintegersizedeterminestherangeofintegervalues
itcandirectlyoperateon.[g]Forexample,an8bitCPUcandirectly
manipulateintegersrepresentedbyeightbits,whichhavearangeof256
(28)discreteintegervalues.

IntegerrangecanalsoaffectthenumberofmemorylocationstheCPUcandirectlyaddress(anaddressisan
integervaluerepresentingaspecificmemorylocation).Forexample,ifabinaryCPUuses32bitstorepresenta
memoryaddressthenitcandirectlyaddress232memorylocations.Tocircumventthislimitationandforvarious
otherreasons,someCPUsusemechanisms(suchasbankswitching)thatallowadditionalmemorytobeaddressed.
CPUswithlargerwordsizesrequiremorecircuitryandconsequentlyarephysicallylarger,costmore,andconsume
morepower(andthereforegeneratemoreheat).Asaresult,smaller4or8bitmicrocontrollersarecommonly
usedinmodernapplicationseventhoughCPUswithmuchlargerwordsizes(suchas16,32,64,even128bit)are
available.Whenhigherperformanceisrequired,however,thebenefitsofalargerwordsize(largerdatarangesand
addressspaces)mayoutweighthedisadvantages.ACPUcanhaveinternaldatapathsshorterthanthewordsizeto
reducesizeandcost.Forexample,eventhoughtheIBMSystem/360instructionsetwasa32bitinstructionset,the
System/360Model30andModel40had8bitdatapathsinthearithmeticlogicalunit,sothata32bitaddrequired
fourcycles,oneforeach8bitsoftheoperands,and,eventhoughtheMotorola68kinstructionsetwasa32bit
instructionset,theMotorola68000andMotorola68010had16bitdatapathsinthearithmeticlogicalunit,sothat
a32bitaddrequiredtwocycles.

https://en.wikipedia.org/wiki/Central_processing_unit

9/17

1/27/2017

CentralprocessingunitWikipedia

Togainsomeoftheadvantagesaffordedbybothlowerandhigherbitlengths,manyinstructionsetshavedifferent
bitwidthsforintegerandfloatingpointdata,allowingCPUsimplementingthatinstructionsettohavedifferentbit
widthsfordifferentportionsofthedevice.Forexample,theIBMSystem/360instructionsetwasprimarily32bit,
butsupported64bitfloatingpointvaluestofacilitategreateraccuracyandrangeinfloatingpointnumbers.[27]The
System/360Model65hadan8bitadderfordecimalandfixedpointbinaryarithmeticanda60bitadderfor
floatingpointarithmetic.[51]ManylaterCPUdesignsusesimilarmixedbitwidth,especiallywhentheprocessoris
meantforgeneralpurposeusagewhereareasonablebalanceofintegerandfloatingpointcapabilityisrequired.

Parallelism
Thedescriptionofthebasicoperationof
aCPUofferedintheprevioussection
describesthesimplestformthataCPU
cantake.ThistypeofCPU,usually
referredtoassubscalar,operatesonand
executesoneinstructionononeortwo
piecesofdataatatime,thatislessthan
oneinstructionperclockcycle(IPC<1).

ModelofasubscalarCPU,inwhichittakesfifteenclockcyclestocomplete
threeinstructions.

ThisprocessgivesrisetoaninherentinefficiencyinsubscalarCPUs.Sinceonlyoneinstructionisexecutedata
time,theentireCPUmustwaitforthatinstructiontocompletebeforeproceedingtothenextinstruction.Asa
result,thesubscalarCPUgets"hungup"oninstructionswhichtakemorethanoneclockcycletocomplete
execution.Evenaddingasecondexecutionunit(seebelow)doesnotimproveperformancemuchratherthanone
pathwaybeinghungup,nowtwopathwaysarehungupandthenumberofunusedtransistorsisincreased.This
design,whereintheCPU'sexecutionresourcescanoperateononlyoneinstructionatatime,canonlypossibly
reachscalarperformance(oneinstructionperclockcycle,IPC=1).However,theperformanceisnearlyalways
subscalar(lessthanoneinstructionperclockcycle,IPC<1).
Attemptstoachievescalarandbetterperformancehaveresultedinavarietyofdesignmethodologiesthatcausethe
CPUtobehavelesslinearlyandmoreinparallel.WhenreferringtoparallelisminCPUs,twotermsaregenerally
usedtoclassifythesedesigntechniques:
instructionlevelparallelism(ILP),whichseekstoincreasetherateatwhichinstructionsareexecutedwithin
aCPU(thatis,toincreasetheutilizationofondieexecutionresources)
tasklevelparallelism(TLP),whichpurposestoincreasethenumberofthreadsorprocessesthataCPUcan
executesimultaneously.
Eachmethodologydiffersbothinthewaysinwhichtheyareimplemented,aswellastherelativeeffectiveness
theyaffordinincreasingtheCPU'sperformanceforanapplication.[h]
Instructionlevelparallelism
Oneofthesimplestmethodsusedtoaccomplishincreasedparallelismistobeginthefirststepsofinstruction
fetchinganddecodingbeforethepriorinstructionfinishesexecuting.Thisisthesimplestformofatechnique
knownasinstructionpipelining,andisutilizedinalmostallmoderngeneralpurposeCPUs.Pipeliningallows
morethanoneinstructiontobeexecutedatanygiventimebybreakingdowntheexecutionpathwayintodiscrete
stages.Thisseparationcanbecomparedtoanassemblyline,inwhichaninstructionismademorecompleteat
eachstageuntilitexitstheexecutionpipelineandisretired.

https://en.wikipedia.org/wiki/Central_processing_unit

10/17

1/27/2017

CentralprocessingunitWikipedia

Pipeliningdoes,however,introducethepossibilityfora
situationwheretheresultofthepreviousoperationis
neededtocompletethenextoperationaconditionoften
termeddatadependencyconflict.Tocopewiththis,
additionalcaremustbetakentocheckforthesesortsof
conditionsanddelayaportionoftheinstructionpipelineif
Basicfivestagepipeline.Inthebestcasescenario,this
thisoccurs.Naturally,accomplishingthisrequires
pipelinecansustainacompletionrateofoneinstruction
additionalcircuitry,sopipelinedprocessorsaremore
perclockcycle.
complexthansubscalarones(thoughnotvery
significantlyso).Apipelinedprocessorcanbecomevery
nearlyscalar,inhibitedonlybypipelinestalls(aninstructionspendingmorethanoneclockcycleinastage).
Furtherimprovementupontheideaofinstruction
pipeliningledtothedevelopmentofamethodthat
decreasestheidletimeofCPUcomponentsevenfurther.
Designsthataresaidtobesuperscalarincludealong
instructionpipelineandmultipleidenticalexecution
units.[52]Inasuperscalarpipeline,multipleinstructions
arereadandpassedtoadispatcher,whichdecideswhether
ornottheinstructionscanbeexecutedinparallel
(simultaneously).Ifsotheyaredispatchedtoavailable
executionunits,resultingintheabilityforseveral
instructionstobeexecutedsimultaneously.Ingeneral,the
moreinstructionsasuperscalarCPUisabletodispatch
simultaneouslytowaitingexecutionunits,themore
instructionswillbecompletedinagivencycle.

Asimplesuperscalarpipeline.Byfetchingand
dispatchingtwoinstructionsatatime,amaximumof
twoinstructionsperclockcyclecanbecompleted.

MostofthedifficultyinthedesignofasuperscalarCPU
architectureliesincreatinganeffectivedispatcher.Thedispatcherneedstobeabletoquicklyandcorrectly
determinewhetherinstructionscanbeexecutedinparallel,aswellasdispatchtheminsuchawayastokeepas
manyexecutionunitsbusyaspossible.Thisrequiresthattheinstructionpipelineisfilledasoftenaspossibleand
givesrisetotheneedinsuperscalararchitecturesforsignificantamountsofCPUcache.Italsomakeshazard
avoidingtechniqueslikebranchprediction,speculativeexecution,andoutoforderexecutioncrucialto
maintaininghighlevelsofperformance.Byattemptingtopredictwhichbranch(orpath)aconditionalinstruction
willtake,theCPUcanminimizethenumberoftimesthattheentirepipelinemustwaituntilaconditional
instructioniscompleted.Speculativeexecutionoftenprovidesmodestperformanceincreasesbyexecutingportions
ofcodethatmaynotbeneededafteraconditionaloperationcompletes.Outoforderexecutionsomewhat
rearrangestheorderinwhichinstructionsareexecutedtoreducedelaysduetodatadependencies.Alsoincaseof
singleinstructionstream,multipledatastreamacasewhenalotofdatafromthesametypehastobeprocessed
,modernprocessorscandisablepartsofthepipelinesothatwhenasingleinstructionisexecutedmanytimes,
theCPUskipsthefetchanddecodephasesandthusgreatlyincreasesperformanceoncertainoccasions,especially
inhighlymonotonousprogramenginessuchasvideocreationsoftwareandphotoprocessing.
InthecasewhereaportionoftheCPUissuperscalarandpartisnot,thepartwhichisnotsuffersaperformance
penaltyduetoschedulingstalls.TheIntelP5PentiumhadtwosuperscalarALUswhichcouldacceptone
instructionperclockcycleeach,butitsFPUcouldnotacceptoneinstructionperclockcycle.ThustheP5was
integersuperscalarbutnotfloatingpointsuperscalar.Intel'ssuccessortotheP5architecture,P6,addedsuperscalar
capabilitiestoitsfloatingpointfeatures,andthereforeaffordedasignificantincreaseinfloatingpointinstruction
performance.

https://en.wikipedia.org/wiki/Central_processing_unit

11/17

1/27/2017

CentralprocessingunitWikipedia

BothsimplepipeliningandsuperscalardesignincreaseaCPU'sILPbyallowingasingleprocessortocomplete
executionofinstructionsatratessurpassingoneinstructionperclockcycle.[i]MostmodernCPUdesignsareat
leastsomewhatsuperscalar,andnearlyallgeneralpurposeCPUsdesignedinthelastdecadearesuperscalar.In
lateryearssomeoftheemphasisindesigninghighILPcomputershasbeenmovedoutoftheCPU'shardwareand
intoitssoftwareinterface,orISA.Thestrategyoftheverylonginstructionword(VLIW)causessomeILPto
becomeimplieddirectlybythesoftware,reducingtheamountofworktheCPUmustperformtoboostILPand
therebyreducingthedesign'scomplexity.
Tasklevelparallelism
Anotherstrategyofachievingperformanceistoexecutemultiplethreadsorprocessesinparallel.Thisareaof
researchisknownasparallelcomputing.[53]InFlynn'staxonomy,thisstrategyisknownasmultipleinstruction
stream,multipledatastream(MIMD).[54]
Onetechnologyusedforthispurposewasmultiprocessing(MP).[55]Theinitialflavorofthistechnologyisknown
assymmetricmultiprocessing(SMP),whereasmallnumberofCPUsshareacoherentviewoftheirmemory
system.Inthisscheme,eachCPUhasadditionalhardwaretomaintainaconstantlyuptodateviewofmemory.By
avoidingstaleviewsofmemory,theCPUscancooperateonthesameprogramandprogramscanmigratefromone
CPUtoanother.ToincreasethenumberofcooperatingCPUsbeyondahandful,schemessuchasnonuniform
memoryaccess(NUMA)anddirectorybasedcoherenceprotocolswereintroducedinthe1990s.SMPsystemsare
limitedtoasmallnumberofCPUswhileNUMAsystemshavebeenbuiltwiththousandsofprocessors.Initially,
multiprocessingwasbuiltusingmultiplediscreteCPUsandboardstoimplementtheinterconnectbetweenthe
processors.Whentheprocessorsandtheirinterconnectareallimplementedonasinglechip,thetechnologyis
knownaschiplevelmultiprocessing(CMP)andthesinglechipasamulticoreprocessor.
Itwaslaterrecognizedthatfinergrainparallelismexistedwithasingleprogram.Asingleprogrammighthave
severalthreads(orfunctions)thatcouldbeexecutedseparatelyorinparallel.Someoftheearliestexamplesofthis
technologyimplementedinput/outputprocessingsuchasdirectmemoryaccessasaseparatethreadfromthe
computationthread.Amoregeneralapproachtothistechnologywasintroducedinthe1970swhensystemswere
designedtorunmultiplecomputationthreadsinparallel.Thistechnologyisknownasmultithreading(MT).This
approachisconsideredmorecosteffectivethanmultiprocessing,asonlyasmallnumberofcomponentswithina
CPUisreplicatedtosupportMTasopposedtotheentireCPUinthecaseofMP.InMT,theexecutionunitsand
thememorysystemincludingthecachesaresharedamongmultiplethreads.ThedownsideofMTisthatthe
hardwaresupportformultithreadingismorevisibletosoftwarethanthatofMPandthussupervisorsoftwarelike
operatingsystemshavetoundergolargerchangestosupportMT.OnetypeofMTthatwasimplementedisknown
astemporalmultithreading,whereonethreadisexecuteduntilitisstalledwaitingfordatatoreturnfromexternal
memory.Inthisscheme,theCPUwouldthenquicklycontextswitchtoanotherthreadwhichisreadytorun,the
switchoftendoneinoneCPUclockcycle,suchastheUltraSPARCT1.AnothertypeofMTissimultaneous
multithreading,whereinstructionsfrommultiplethreadsareexecutedinparallelwithinoneCPUclockcycle.
Forseveraldecadesfromthe1970stoearly2000s,thefocusindesigninghighperformancegeneralpurposeCPUs
waslargelyonachievinghighILPthroughtechnologiessuchaspipelining,caches,superscalarexecution,outof
orderexecution,etc.Thistrendculminatedinlarge,powerhungryCPUssuchastheIntelPentium4.Bytheearly
2000s,CPUdesignerswerethwartedfromachievinghigherperformancefromILPtechniquesduetothegrowing
disparitybetweenCPUoperatingfrequenciesandmainmemoryoperatingfrequenciesaswellasescalatingCPU
powerdissipationowingtomoreesotericILPtechniques.
CPUdesignersthenborrowedideasfromcommercialcomputingmarketssuchastransactionprocessing,wherethe
aggregateperformanceofmultipleprograms,alsoknownasthroughputcomputing,wasmoreimportantthanthe
performanceofasinglethreadorprocess.
https://en.wikipedia.org/wiki/Central_processing_unit

12/17

1/27/2017

CentralprocessingunitWikipedia

Thisreversalofemphasisisevidencedbytheproliferationofdualandmorecoreprocessordesignsandnotably,
Intel'snewerdesignsresemblingitslesssuperscalarP6architecture.Latedesignsinseveralprocessorfamilies
exhibitCMP,includingthex8664OpteronandAthlon64X2,theSPARCUltraSPARCT1,IBMPOWER4and
POWER5,aswellasseveralvideogameconsoleCPUsliketheXbox360'striplecorePowerPCdesign,andthe
PS3's7coreCellmicroprocessor.
Dataparallelism
Alesscommonbutincreasinglyimportantparadigmofprocessors(andindeed,computingingeneral)dealswith
dataparallelism.Theprocessorsdiscussedearlierareallreferredtoassometypeofscalardevice.[j]Asthename
implies,vectorprocessorsdealwithmultiplepiecesofdatainthecontextofoneinstruction.Thiscontrastswith
scalarprocessors,whichdealwithonepieceofdataforeveryinstruction.UsingFlynn'staxonomy,thesetwo
schemesofdealingwithdataaregenerallyreferredtoassingleinstructionstream,multipledatastream(SIMD)
andsingleinstructionstream,singledatastream(SISD),respectively.Thegreatutilityincreatingprocessorsthat
dealwithvectorsofdataliesinoptimizingtasksthattendtorequirethesameoperation(forexample,asumora
dotproduct)tobeperformedonalargesetofdata.Someclassicexamplesofthesetypesoftasksinclude
multimediaapplications(images,video,andsound),aswellasmanytypesofscientificandengineeringtasks.
Whereasascalarprocessormustcompletetheentireprocessoffetching,decoding,andexecutingeachinstruction
andvalueinasetofdata,avectorprocessorcanperformasingleoperationonacomparativelylargesetofdata
withoneinstruction.Ofcourse,thisisonlypossiblewhentheapplicationtendstorequiremanystepswhichapply
oneoperationtoalargesetofdata.
Mostearlyvectorprocessors,suchastheCray1,wereassociatedalmostexclusivelywithscientificresearchand
cryptographyapplications.However,asmultimediahaslargelyshiftedtodigitalmedia,theneedforsomeformof
SIMDingeneralpurposeprocessorshasbecomesignificant.Shortlyafterinclusionoffloatingpointunitsstarted
tobecomecommonplaceingeneralpurposeprocessors,specificationsforandimplementationsofSIMDexecution
unitsalsobegantoappearforgeneralpurposeprocessors.SomeoftheseearlySIMDspecificationslikeHP's
MultimediaAccelerationeXtensions(MAX)andIntel'sMMXwereintegeronly.Thisprovedtobeasignificant
impedimentforsomesoftwaredevelopers,sincemanyoftheapplicationsthatbenefitfromSIMDprimarilydeal
withfloatingpointnumbers.Progressively,developersrefinedandremadetheseearlydesignsintosomeofthe
commonmodernSIMDspecifications,whichareusuallyassociatedwithoneISA.Somenotablemodernexamples
includeIntel'sSSEandthePowerPCrelatedAltiVec(alsoknownasVMX).[k]

VirtualCPUs
CloudcomputingcaninvolvesubdividingCPUoperationintovirtualcentralprocessingunits[56](vCPUs[57]).
Ahostisthevirtualequivalentofaphysicalmachine,onwhichavirtualsystemisoperating.[58]Whenthereare
severalphysicalmachinesoperatingintandemandmanagedasawhole,thegroupedcomputingandmemory
resourcesformacluster.Insomesystemsitispossibletodynamicallyaddandremovefromacluster.Resources
availableatahostandclusterlevelcanbepartitionedoutintoresourcespoolswithfinegranularity.

Performance
Theperformanceorspeedofaprocessordependson,amongmanyotherfactors,theclockrate(generallygivenin
multiplesofhertz)andtheinstructionsperclock(IPC),whichtogetherarethefactorsfortheinstructionsper
second(IPS)thattheCPUcanperform.[59]ManyreportedIPSvalueshaverepresented"peak"executionrateson
artificialinstructionsequenceswithfewbranches,whereasrealisticworkloadsconsistofamixofinstructionsand
applications,someofwhichtakelongertoexecutethanothers.Theperformanceofthememoryhierarchyalso
https://en.wikipedia.org/wiki/Central_processing_unit

13/17

1/27/2017

CentralprocessingunitWikipedia

greatlyaffectsprocessorperformance,anissuebarelyconsideredinMIPScalculations.Becauseoftheseproblems,
variousstandardizedtests,oftencalled"benchmarks"forthispurposesuchasSPECinthavebeendevelopedto
attempttomeasuretherealeffectiveperformanceincommonlyusedapplications.
Processingperformanceofcomputersisincreasedbyusingmulticoreprocessors,whichessentiallyisplugging
twoormoreindividualprocessors(calledcoresinthissense)intooneintegratedcircuit.[60]Ideally,adualcore
processorwouldbenearlytwiceaspowerfulasasinglecoreprocessor.Inpractice,theperformancegainisfar
smaller,onlyabout50%,duetoimperfectsoftwarealgorithmsandimplementation.[61]Increasingthenumberof
coresinaprocessor(i.e.dualcore,quadcore,etc.)increasestheworkloadthatcanbehandled.Thismeansthat
theprocessorcannowhandlenumerousasynchronousevents,interrupts,etc.whichcantakeatollontheCPU
whenoverwhelmed.Thesecorescanbethoughtofasdifferentfloorsinaprocessingplant,witheachfloor
handlingadifferenttask.Sometimes,thesecoreswillhandlethesametasksascoresadjacenttothemifasingle
coreisnotenoughtohandletheinformation.
DuetospecificcapabilitiesofmodernCPUs,suchashyperthreadinganduncore,whichinvolvesharingofactual
CPUresourceswhileaimingatincreasedutilization,monitoringperformancelevelsandhardwareutilization
graduallybecameamorecomplextask.[62]Asaresponse,someCPUsimplementadditionalhardwarelogicthat
monitorsactualutilizationofvariouspartsofaCPUandprovidesvariouscountersaccessibletosoftwarean
exampleisIntel'sPerformanceCounterMonitortechnology.[3]

Seealso
Addressingmode
AMDAcceleratedProcessingUnit
CISC
Computerbus
Computerengineering
CPUcorevoltage
CPUsocket
Digitalsignalprocessor
Hyperthreading
ListofCPUarchitectures

ListofCPUarchitectures
Microprocessor
Multicoreprocessor
Protectionring
RISC
Streamprocessing
TruePerformanceIndex
Waitstate

Notes
a.IntegratedcircuitsarenowusedtoimplementallCPUs,exceptforafewmachinesdesignedtowithstandlarge
electromagneticpulses,sayfromanuclearweapon.
b.Thesocalled"vonNeumann"memoexpoundedtheideaofstoredprograms,[47]whichforexamplemaybestoredon
punchedcards,papertape,ormagnetictape.
c.SomeearlycomputersliketheHarvardMarkIdidnotsupportanykindof"jump"instruction,effectivelylimitingthe
complexityoftheprogramstheycouldrun.Itislargelyforthisreasonthatthesecomputersareoftennotconsideredto
containaproperCPU,despitetheirclosesimilaritytostoredprogramcomputers.
d.Sincetheprogramcountercountsmemoryaddressesandnotinstructions,itisincrementedbythenumberofmemory
unitsthattheinstructionwordcontains.InthecaseofsimplefixedlengthinstructionwordISAs,thisisalwaysthesame
number.Forexample,afixedlength32bitinstructionwordISAthatuses8bitmemorywordswouldalwaysincrement
thePCbyfour(exceptinthecaseofjumps).ISAsthatusevariablelengthinstructionwordsincrementthePCbythe
numberofmemorywordscorrespondingtothelastinstruction'slength.
e.BecausetheinstructionsetarchitectureofaCPUisfundamentaltoitsinterfaceandusage,itisoftenusedasa
classificationofthe"type"ofCPU.Forexample,a"PowerPCCPU"usessomevariantofthePowerPCISA.Asystem
canexecuteadifferentISAbyrunninganemulator.

https://en.wikipedia.org/wiki/Central_processing_unit

14/17

1/27/2017

CentralprocessingunitWikipedia

f.Thephysicalconceptofvoltageisananalogonebynature,practicallyhavinganinfiniterangeofpossiblevalues.Forthe
purposeofphysicalrepresentationofbinarynumbers,twospecificrangesofvoltagesaredefined,oneforlogic'0'and
anotherforlogic'1'.Theserangesaredictatedbydesignconsiderationssuchasnoisemarginsandcharacteristicsofthe
devicesusedtocreatetheCPU.
g.WhileaCPU'sintegersizesetsalimitonintegerranges,thiscan(andoftenis)overcomeusingacombinationof
softwareandhardwaretechniques.Byusingadditionalmemory,softwarecanrepresentintegersmanymagnitudeslarger
thantheCPUcan.SometimestheCPU'sinstructionsetwillevenfacilitateoperationsonintegerslargerthanitcan
nativelyrepresentbyprovidinginstructionstomakelargeintegerarithmeticrelativelyquick.Thismethodofdealingwith
largeintegersisslowerthanutilizingaCPUwithhigherintegersize,butisareasonabletradeoffincaseswherenatively
supportingthefullintegerrangeneededwouldbecostprohibitive.SeeArbitraryprecisionarithmeticformoredetailson
purelysoftwaresupportedarbitrarysizedintegers.
h.NeitherILPnorTLPisinherentlysuperiorovertheothertheyaresimplydifferentmeansbywhichtoincreaseCPU
parallelism.Assuch,theybothhaveadvantagesanddisadvantages,whichareoftendeterminedbythetypeofsoftware
thattheprocessorisintendedtorun.HighTLPCPUsareoftenusedinapplicationsthatlendthemselveswelltobeing
splitupintonumeroussmallerapplications,socalled"embarrassinglyparallelproblems".Frequently,acomputational
problemthatcanbesolvedquicklywithhighTLPdesignstrategieslikesymmetricmultiprocessingtakessignificantly
moretimeonhighILPdeviceslikesuperscalarCPUs,andviceversa.
i.Bestcasescenario(orpeak)IPCratesinverysuperscalararchitecturesaredifficulttomaintainsinceitisimpossibleto
keeptheinstructionpipelinefilledallthetime.Therefore,inhighlysuperscalarCPUs,averagesustainedIPCisoften
discussedratherthanpeakIPC.
j.EarlierthetermscalarwasusedtocomparetheIPCcountaffordedbyvariousILPmethods.Herethetermisusedinthe
strictlymathematicalsensetocontrastwithvectors.Seescalar(mathematics)andVector(geometric).
k.AlthoughSSE/SSE2/SSE3havesupersededMMXinIntel'sgeneralpurposeprocessors,laterIA32designsstillsupport
MMX.ThisisusuallyaccomplishedbyprovidingmostoftheMMXfunctionalitywiththesamehardwarethatsupports
themuchmoreexpansiveSSEinstructionsets.

References
1.Weik,MartinH.(1961)."AThirdSurveyofDomesticElectronicDigitalComputingSystems".BallisticResearch
Laboratory.
2.Kuck,David(1978).ComputersandComputations,Vol1.JohnWiley&Sons,Inc.p.12.ISBN0471027162.
3.ThomasWillhalmRomanDementievPatrickFay(December18,2014)."IntelPerformanceCounterMonitorAbetter
waytomeasureCPUutilization".software.intel.com.RetrievedFebruary17,2015.
4.Liebowitz,Kusek,Spies,Matt,Christopher,Rynardt(2014).VMwarevSpherePerformance:DesigningCPU,Memory,
Storage,andNetworkingforPerformanceIntensiveWorkloads.Wiley.p.68.ISBN9781118008195.
5.Regan,Gerard.ABriefHistoryofComputing.p.66.ISBN1848000839.Retrieved26November2014.
6."BitByBit".HaverfordCollege.ArchivedfromtheoriginalonOctober13,2012.RetrievedAugust1,2015.
7."FirstDraftofaReportontheEDVAC"(PDF).MooreSchoolofElectricalEngineering,UniversityofPennsylvania.
1945.
8.StanfordUniversity."TheModernHistoryofComputing".TheStanfordEncyclopediaofPhilosophy.Retrieved
September25,2015.
9.Enticknap,Nicholas(Summer1998),"Computing'sGoldenJubilee",Resurrection,TheComputerConservationSociety
(20),ISSN09587403,retrieved19April2008
10."TheManchesterMark1".TheUniversityofManchester.RetrievedSeptember25,2015.
11."TheFirstGeneration".ComputerHistoryMuseum.RetrievedSeptember29,2015.
12."TheHistoryoftheIntegratedCircuit".Nobelprize.org.RetrievedSeptember29,2015.
13.Turley,Jim."Motoringwithmicroprocessors".Embedded.RetrievedNovember15,2015.
14."MobileProcessorGuideSummer2013".AndroidAuthority.RetrievedNovember15,2015.
15."ARM946Processor".ARM.RetrievedNovember15,2015.
16."KonradZuse".ComputerHistoryMuseum.RetrievedSeptember29,2015.
17."TimelineofComputerHistory:Computers".ComputerHistoryMuseum.RetrievedNovember21,2015.
18.White,Stephen."ABriefHistoryofComputingFirstGenerationComputers".RetrievedNovember21,2015.
19."HarvardUniversityMarkPaperTapePunchUnit".ComputerHistoryMuseum.RetrievedNovember21,2015.
20."WhatisthedifferencebetweenavonNeumannarchitectureandaHarvardarchitecture?".ARM.Retrieved
November22,2015.
21."AdvancedArchitectureOptimizestheAtmelAVRCPU".Atmel.RetrievedNovember22,2015.
https://en.wikipedia.org/wiki/Central_processing_unit

15/17

1/27/2017

CentralprocessingunitWikipedia

22."Switches,transistorsandrelays".BBC.Retrieved7February2016.
23."IntroducingtheVacuumTransistor:ADeviceMadeofNothing".IEEESpectrum.Retrieved7February2016.
24."WhatIsComputerPerformance?".TheNationalAcademiesPress.RetrievedMay16,2016.
25."1953:TransistorizedComputersEmerge".ComputerHistoryMuseum.RetrievedJune3,2016.
26."IBMSystem/360DatesandCharacteristics".IBM.
27.Amdahl,G.M.Blaauw,G.A.Brooks,F.P.Jr.(April1964)."ArchitectureoftheIBMSystem/360".IBMJournalof
ResearchandDevelopment.IBM.8(2):87101.doi:10.1147/rd.82.0087.ISSN00188646.
28.Brodkin,John."50yearsago,IBMcreatedmainframethathelpedsendmentotheMoon".ArsTechnica.Retrieved
9April2016.
29.Clarke,Gavin."Whywon'tyouDIE?IBM'sS/360anditslegacyat50".TheRegister.Retrieved9April2016.
30."OnlinePDP8HomePage,RunaPDP8".PDP8.RetrievedSeptember25,2015.
31."Transistors,Relays,andControllingHighCurrentLoads".NewYorkUniversity.ITPPhysicalComputing.Retrieved
9April2016.
32.Lilly,Paul."ABriefHistoryofCPUs:31AwesomeYearsofx86".PCGamer.RetrievedJune15,2016.
33.Patterson,DavidA.Hennessy,JohnL.Larus,JamesR.(1999).Computerorganizationanddesign:the
hardware/softwareinterface(2.ed.,3rdprint.ed.).SanFrancisco:Kaufmann.p.751.ISBN1558604286.
34.RossKnoxBassett."TotheDigitalAge:ResearchLabs,StartupCompanies,andtheRiseofMOSTechnology"(https://
books.google.com/books?id=UUbB3d2UnaAC).2007.p.127128,256,and314.
35.KenShirriff."TheTexasInstrumentsTMX1795:thefirst,forgottenmicroprocessor"(http://www.righto.com/2015/05/th
etexasinstrumentstmx1795first.html).
36."Speed&PowerinLogicFamilies"(http://www.engin.brown.edu/faculty/daniels/ddzo/speed.html).
37.T.J.Stonham."DigitalLogicTechniques:PrinciplesandPractice"(https://books.google.com/books?id=UE6vFEnGP2k
C).1996.p.174.
38.R.K.Booher."MOSGPComputer"(http://www.computer.org/csdl/proceedings/afips/1968/5072/00/50720877.pdf).
afips,pp.877,1968ProceedingsoftheFallJointComputerConference,1968doi:10.1109/AFIPS.1968.126(https://dx.do
i.org/10.1109%2FAFIPS.1968.126)
39."LSI11ModuleDescriptions".LSI11,PDP11/03user'smanual(PDF)(2nded.).Maynard,Massachusetts:Digital
EquipmentCorporation.November1975.pp.43.
40.MargaretRouse(March27,2007)."Definition:multicoreprocessor".TechTarget.RetrievedMarch6,2013.
41.RichardBirkby."ABriefHistoryoftheMicroprocessor".computermuseum.li.RetrievedOctober13,2015.
42.Osborne,Adam(1980).AnIntroductiontoMicrocomputers.Volume1:BasicConcepts(2nded.).Berkeley,California:
OsborneMcGrawHill.ISBN0931988349.
43.Zhislina,Victoria."WhyhasCPUfrequencyceasedtogrow?".Intel.RetrievedOctober14,2015.
44."MOSTransistorElectricalEngineering&ComputerScience"(PDF).UniversityofCalifornia.RetrievedOctober14,
2015.
45."ExcerptsfromAConversationwithGordonMoore:Moore'sLaw"(PDF).Intel.2005.Archivedfromtheoriginal(PDF)
on20121029.Retrieved20120725.
46.Lilly,Paul."ABriefHistoryofCPUs:31AwesomeYearsofx86".MaximumPC.RetrievedDecember10,2015.
47.Aspray,William."Thestoredprogramconcept"(PDF).Spectrum,IEEE.RetrievedSeptember29,2015.
48.IanWienand(September3,2013)."ComputerSciencefromtheBottomUp,Chapter3.ComputerArchitecture"(PDF).
bottomupcs.com.RetrievedJanuary7,2015.
49.Brown,Jeffery(2005)."ApplicationcustomizedCPUdesign".IBMdeveloperWorks.Retrieved20051217.
50.Garside,J.D.Furber,S.B.Chung,SH(1999)."AMULET3Revealed".UniversityofManchesterComputerScience
Department.ArchivedfromtheoriginalonDecember10,2005.
51."IBMSystem/360Model65FunctionalCharacteristics"(PDF).IBM.September1968.pp.89.A2268843.
52.Huynh,Jack(2003)."TheAMDAthlonXPProcessorwith512KBL2Cache"(PDF).UniversityofIllinois,Urbana
Champaign.pp.611.Retrieved20071006.
53.Gottlieb,AllanAlmasi,GeorgeS.(1989).Highlyparallelcomputing.RedwoodCity,Calif.:Benjamin/Cummings.
ISBN0805301771.
54.Flynn,M.J.(September1972)."SomeComputerOrganizationsandTheirEffectiveness".IEEETrans.Comput.C21
(9):948960.doi:10.1109/TC.1972.5009071.
55."Parallelismexploitationinsuperscalarmultiprocessing"(PDF).IEEEXplore.Retrieved25April2016.
56.Anjum,BushraPerros,HarryG.(2015)."1:PartitioningtheEndtoEndQoSBudgettoDomains".Bandwidth
AllocationforVideoUnderQualityofServiceConstraints.FocusSeries.JohnWiley&Sons.p.3.
ISBN9781848217461.Retrieved20160921."[...]incloudcomputingwheremultiplesoftwarecomponentsrunina
virtualenvironmentonthesameblade,onecomponentpervirtualmachine(VM).EachVMisallocatedavirtualcentral
processingunit[...]whichisafractionoftheblade'sCPU."
https://en.wikipedia.org/wiki/Central_processing_unit

16/17

1/27/2017

CentralprocessingunitWikipedia

57.Fifield,TomFleming,DianeGentle,AnneHochstein,LorinProulx,JonathanToews,EverettTopjian,Joe(2014).
"Glossary".OpenStackOperationsGuide.Beijing:O'ReillyMedia,Inc.p.286.ISBN9781491906309.Retrieved
20160920."VirtualCentralProcessingUnit(vCPU)[:]SubdividesphysicalCPUs.Instancescanthenusethose
divisions."
58."VMwareInfrastructureArchitectureOverviewWhitePaper"(PDF).VMware.VMware.2006.
59."CPUFrequency".CPUWorldGlossary.CPUWorld.25March2008.Retrieved1January2010.
60."Whatis(a)multicoreprocessor?".DataCenterDefinitions.SearchDataCenter.com.Retrieved8August2016.
61."QuadCoreVs.DualCore".Buzzle.Retrieved26November2014.
62.Tegtmeier,Martin."CPUutilizationofmultithreadedarchitecturesexplained".Oracle.RetrievedSeptember29,2015.

Externallinks
HowMicroprocessorsWork(http://www.howstuffworks.com/microp
rocessor.htm)atHowStuffWorks.
25Microchipsthatshooktheworld(http://spectrum.ieee.org/25chip
s)anarticlebytheInstituteofElectricalandElectronicsEngineers.
Retrievedfrom"https://en.wikipedia.org/w/index.php?
title=Central_processing_unit&oldid=761358325"

WikimediaCommonshas
mediarelatedto
Microprocessors.
Wikiversityhaslearning
materialsabout
Introductionto
Computers/Processor

Categories: Centralprocessingunit
Thispagewaslastmodifiedon22January2017,at14:55.
TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionaltermsmayapply.
Byusingthissite,youagreetotheTermsofUseandPrivacyPolicy.Wikipediaisaregisteredtrademark
oftheWikimediaFoundation,Inc.,anonprofitorganization.

https://en.wikipedia.org/wiki/Central_processing_unit

17/17

Вам также может понравиться