Você está na página 1de 8

09/09/2015

ComputerarchitectureWikipedia,thefreeencyclopedia

Computerarchitecture
FromWikipedia,thefreeencyclopedia

Incomputerengineeringandcomputerscience,[1]
computerarchitectureisasetofrulesandmethods
thatdescribethefunctionality,organizationand
implementationofcomputersystems.Some
definitionsofarchitecturedefineitasdescribingthe
capabilitiesandprogrammingmodelofacomputer
butnotaparticularimplementation.[2]Inother
descriptionscomputerarchitectureinvolves
instructionsetarchitecturedesign,microarchitecture
design,logicdesign,andimplementation.[3]

Contents

PipelinedimplementationofMIPSarchitecture.
Pipeliningisakeyconceptincomputer
architecture.

1History
2Subcategories
3TheRoles
3.1Definition
3.2Instructionsetarchitecture
3.3Computerorganization
3.4Implementation
4Designgoals
4.1Performance
4.2Powerconsumption
4.3Shiftsinconsumerdemand
5Seealso
6Notes
7References
8Externallinks

History
ThefirstdocumentedcomputerarchitecturewasinthecorrespondencebetweenCharlesBabbageand
AdaLovelace,describingtheanalyticalengine.Twootherearlyandimportantexampleswere:
JohnvonNeumann's1945paper,FirstDraftofaReportontheEDVAC,whichdescribedan
organizationoflogicalelementsand
AlanTuring'smoredetailedProposedElectronicCalculatorfortheAutomaticComputing
Engine,also1945andwhichcitedvonNeumann'spaper.[4]
ThetermarchitectureincomputerliteraturecanbetracedtotheworkofLyleR.Johnson,Mohammad
UsmanKhanandFrederickP.Brooks,Jr.,membersin1959oftheMachineOrganizationdepartmentin
IBMsmainresearchcenter.Johnsonhadtheopportunitytowriteaproprietaryresearchcommunication
abouttheStretch,anIBMdevelopedsupercomputerforLosAlamosScientificLaboratory.Todescribe
https://en.wikipedia.org/wiki/Computer_architecture

1/8

09/09/2015

ComputerarchitectureWikipedia,thefreeencyclopedia

thelevelofdetailfordiscussingtheluxuriouslyembellishedcomputer,henotedthathisdescriptionof
formats,instructiontypes,hardwareparameters,andspeedenhancementswereatthelevelofsystem
architectureatermthatseemedmoreusefulthanmachineorganization.
Subsequently,Brooks,aStretchdesigner,startedChapter2ofabook(PlanningaComputerSystem:
ProjectStretch,ed.W.Buchholz,1962)bywriting,
Computerarchitecture,likeotherarchitecture,istheartofdeterminingtheneedsoftheuser
ofastructureandthendesigningtomeetthoseneedsaseffectivelyaspossiblewithin
economicandtechnologicalconstraints.
BrookswentontohelpdeveloptheIBMSystem/360(nowcalledtheIBMzSeries)lineofcomputers,in
whicharchitecturebecameanoundefiningwhattheuserneedstoknow.Later,computerusers
cametousetheterminmanylessexplicitways.
Theearliestcomputerarchitecturesweredesignedonpaperandthendirectlybuiltintothefinal
hardwareform.[5]Later,computerarchitectureprototypeswerephysicallybuiltintheformofa
TransistorTransistorLogic(TTL)computersuchastheprototypesofthe6800andthePARISC
tested,andtweaked,beforecommittingtothefinalhardwareform.Asofthe1990s,newcomputer
architecturesaretypically"built",tested,andtweakedinsidesomeothercomputerarchitectureina
computerarchitecturesimulatororinsideaFPGAasasoftmicroprocessororbothbeforecommitting
tothefinalhardwareform.

Subcategories
Thedisciplineofcomputerarchitecturehasthreemainsubcategories:[6]
1. InstructionSetArchitecture,orISA.TheISAdefinesthemachinecodethataprocessorreadsand
actsuponaswellasthewordsize,memoryaddressmodes,processorregisters,anddataformats.
2. Microarchitecture,orcomputerorganizationdescribeshowaparticularprocessorwillimplement
theISA.[7]Thesizeofacomputer'sCPUcacheforinstance,isanorganizationalissuethat
generallyhasnothingtodowiththeISA.
3. SystemDesignincludesalloftheotherhardwarecomponentswithinacomputingsystem.These
include:
1. DataprocessingotherthantheCPU,suchasdirectmemoryaccess(DMA)
2. Otherissuessuchasvirtualization,multiprocessingandsoftwarefeatures.
SomearchitectsatcompaniessuchasIntelandAMDusefinerdistinctions:
Macroarchitecture:architecturallayersmoreabstractthanmicroarchitecture
InstructionSetArchitecture(ISA):asabovebutwithout:
AssemblyISA:asmartassemblermayconvertanabstractassemblylanguagecommontoa
groupofmachinesintoslightlydifferentmachinelanguagefordifferentimplementations
ProgrammerVisibleMacroarchitecture:higherlevellanguagetoolssuchascompilersmaydefine
aconsistentinterfaceorcontracttoprogrammersusingthem,abstractingdifferencesbetween
underlyingISA,UISA,andmicroarchitectures.E.g.theC,C++,orJavastandardsdefinedifferent
ProgrammerVisibleMacroarchitecture.
UISA(MicrocodeInstructionSetArchitecture)afamilyofmachineswithdifferenthardware
levelmicroarchitecturesmayshareacommonmicrocodearchitecture,andhenceaUISA.
PinArchitecture:Thehardwarefunctionsthatamicroprocessorshouldprovidetoahardware
platform,e.g.,thex86pinsA20M,FERR/IGNNEorFLUSH.Also,messagesthattheprocessor
https://en.wikipedia.org/wiki/Computer_architecture

2/8

09/09/2015

ComputerarchitectureWikipedia,thefreeencyclopedia

shouldemitsothatexternalcachescanbeinvalidated(emptied).Pinarchitecturefunctionsare
moreflexiblethanISAfunctionsbecauseexternalhardwarecanadapttonewencodings,or
changefromapintoamessage.Theterm"architecture"fits,becausethefunctionsmustbe
providedforcompatiblesystems,evenifthedetailedmethodchanges.

TheRoles
Definition
Thepurposeistodesignacomputerthatmaximizesperformancewhilekeepingpowerconsumptionin
check,costslowrelativetotheamountofexpectedperformance,andisalsoveryreliable.Forthis,
manyaspectsaretobeconsideredwhichincludesInstructionSetDesign,FunctionalOrganization,
LogicDesign,andImplementation.TheimplementationinvolvesIntegratedCircuitDesign,Packaging,
Power,andCooling.OptimizationofthedesignrequiresfamiliaritywithCompilers,OperatingSystems
toLogicDesignandPackaging.

Instructionsetarchitecture
Mainarticle:Instructionsetarchitecture
Aninstructionsetarchitecture(ISA)istheinterfacebetweenthecomputer'ssoftwareandhardwareand
alsocanbeviewedastheprogrammer'sviewofthemachine.Computersdonotunderstandhighlevel
languageswhichhavefew,ifany,languageelementsthattranslatedirectlyintoamachine'snative
opcodes.Aprocessoronlyunderstandsinstructionsencodedinsomenumericalfashion,usuallyas
binarynumbers.Softwaretools,suchascompilers,translatehighlevellanguages,suchasC,into
instructions.
Besidesinstructions,theISAdefinesitemsinthecomputerthatareavailabletoaprograme.g.data
types,registers,addressingmodes,andmemory.InstructionslocateoperandswithRegisterindexes(or
names)andmemoryaddressingmodes.
TheISAofacomputerisusuallydescribedinasmallbookorpamphlet,whichdescribeshowthe
instructionsareencoded.Also,itmaydefineshort(vaguely)mnenonicnamesfortheinstructions.The
namescanberecognizedbyasoftwaredevelopmenttoolcalledanassembler.Anassemblerisa
computerprogramthattranslatesahumanreadableformoftheISAintoacomputerreadableform.
Disassemblersarealsowidelyavailable,usuallyindebuggers,softwareprogramstoisolateandcorrect
malfunctionsinbinarycomputerprograms.
ISAsvaryinqualityandcompleteness.AgoodISAcompromisesbetweenprogrammerconvenience
(moreoperationscanbebetter),costofthecomputertointerprettheinstructions(cheaperisbetter),
speedofthecomputer(fasterisbetter),andsizeofthecode(smallerisbetter).Forexample,asingle
instructionISAispossible,inexpensive,andfast,(e.g.,subtractandjumpifzero.Itwasactuallyusedin
theSSEM),butitwasnotconvenientorhelpfultomakeprogramssmall.Memoryorganizationdefines
howinstructionsinteractwiththememory,andalsohowdifferentpartsofmemoryinteractwitheach
other.
Duringdesignemulationsoftwarecanrunprogramswritteninaproposedinstructionset.Modern
emulatorsrunningtestsmaymeasuretime,energyconsumption,andcompiledcodesizetodetermineif
aparticularinstructionsetarchitectureismeetingitsgoals.

Computerorganization
https://en.wikipedia.org/wiki/Computer_architecture

3/8

09/09/2015

ComputerarchitectureWikipedia,thefreeencyclopedia

Mainarticle:Microarchitecture
Computerorganizationhelpsoptimizeperformancebasedproducts.Forexample,softwareengineers
needtoknowtheprocessingabilityofprocessors.Theymayneedtooptimizesoftwareinordertogain
themostperformanceattheleastexpense.Thiscanrequirequitedetailedanalysisofthecomputer
organization.Forexample,inamultimediadecoder,thedesignersmightneedtoarrangeformostdatato
beprocessedinthefastestdatapath.
Computerorganizationalsohelpsplantheselectionofaprocessorforaparticularproject.Multimedia
projectsmayneedveryrapiddataaccess,whilesupervisorysoftwaremayneedfastinterrupts.
Sometimescertaintasksneedadditionalcomponentsaswell.Forexample,acomputercapableof
virtualizationneedsvirtualmemoryhardwaresothatthememoryofdifferentsimulatedcomputerscan
bekeptseparated.Computerorganizationandfeaturesalsoaffectpowerconsumptionandprocessor
cost.

Implementation
Onceaninstructionsetandmicroarchitecturearedescribed,apracticalmachinemustbedesigned.This
designprocessiscalledtheimplementation.Implementationisusuallynotconsideredarchitectural
definition,butratherhardwaredesignengineering.Implementationcanbefurtherbrokendowninto
several(notfullydistinct)steps:
LogicImplementationdesignstheblocksdefinedinthemicroarchitectureat(primarily)the
registertransferlevelandlogicgatelevel.
CircuitImplementationdoestransistorleveldesignsofbasicelements(gates,multiplexers,
latchesetc.)aswellasofsomelargerblocks(ALUs,cachesetc.)thatmaybeimplementedatthis
level,oreven(partly)atthephysicallevel,forperformancereasons.
PhysicalImplementationdrawsphysicalcircuits.Thedifferentcircuitcomponentsareplacedin
achipfloorplanoronaboardandthewiresconnectingthemarerouted.
DesignValidationteststhecomputerasawholetoseeifitworksinallsituationsandalltimings.
Onceimplementationstarts,thefirstdesignvalidationsaresimulationsusinglogicemulators.
However,thisisusuallytooslowtorunrealisticprograms.So,aftermakingcorrections,
prototypesareconstructedusingFieldProgrammableGateArrays(FPGAs).Manyhobbyprojects
stopatthisstage.Thefinalstepistotestprototypeintegratedcircuits.Integratedcircuitsmay
requireseveralredesignstofixproblems.
ForCPUs,theentireimplementationprocessisoftencalledCPUdesign.

Designgoals
Theexactformofacomputersystemdependsontheconstraintsandgoals.Computerarchitectures
usuallytradeoffstandards,powerversusperformance,cost,memorycapacity,latency(latencyisthe
amountoftimethatittakesforinformationfromonenodetotraveltothesource)andthroughput.
Sometimesotherconsiderations,suchasfeatures,size,weight,reliability,andexpandabilityarealso
factors.
Themostcommonschemedoesanindepthpoweranalysisandfiguresouthowtokeeppower
consumptionlow,whilemaintainingadequateperformance.

Performance

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

4/8

09/09/2015

ComputerarchitectureWikipedia,thefreeencyclopedia

ModerncomputerperformanceisoftendescribedinIPC(instructionspercycle).Thismeasuresthe
efficiencyofthearchitectureatanyclockspeed.Sinceafasterclockcanmakeafastercomputer,thisis
auseful,widelyapplicablemeasurement.HistoriccomputershadIPCcountsaslowas0.1(See
instructionspersecond).Simplemodernprocessorseasilyreachnear1.Superscalarprocessorsmay
reachthreetofivebyexecutingseveralinstructionsperclockcycle.Multicoreandvectorprocessing
CPUscanmultiplythisfurtherbyactingonalotofdataperinstruction,whichhaveseveralCPUs
executinginparallel.
Countingmachinelanguageinstructionswouldbemisleadingbecausetheycandovaryingamountsof
workindifferentISAs.The"instruction"inthestandardmeasurementsisnotacountoftheISA'sactual
machinelanguageinstructions,butahistoricalunitofmeasurement,usuallybasedonthespeedofthe
VAXcomputerarchitecture.
Historically,manypeoplemeasuredacomputer'sspeedbytheclockrate(usuallyinMHzorGHz).This
referstothecyclespersecondofthemainclockoftheCPU.However,thismetricissomewhat
misleading,asamachinewithahigherclockratemaynotnecessarilyhavegreaterperformance.Asa
result,manufacturershavemovedawayfromclockspeedasameasureofperformance.
Otherfactorsinfluencespeed,suchasthemixoffunctionalunits,busspeeds,availablememory,andthe
typeandorderofinstructionsintheprogramsbeingrun.
Inatypicalhomecomputer,thesimplest,mostreliablewaytospeedperformanceisusuallytoadd
randomaccessmemory(RAM).MoreRAMincreasesthelikelihoodthatneededdataoraprogramisin
RAMsothesystemislesslikelytoneedtomovememorydatafromthedisk.Thediskisoftenten
thousandtimesslowerthanRAMbecauseithasmechanicalpartsthatmustmovetoaccessitsdata.
Therearetwomaintypesofspeed:latencyandthroughput.Latencyisthetimebetweenthestartofa
processanditscompletion.Throughputistheamountofworkdoneperunittime.Interruptlatencyisthe
guaranteedmaximumresponsetimeofthesystemtoanelectronicevent(e.g.whenthediskdrive
finishesmovingsomedata).
Performanceisaffectedbyaverywiderangeofdesignchoicesforexample,pipeliningaprocessor
usuallymakeslatencyworse(slower)butmakesthroughputbetter.Computersthatcontrolmachinery
usuallyneedlowinterruptlatencies.Thesecomputersoperateinarealtimeenvironmentandfailifan
operationisnotcompletedinaspecifiedamountoftime.Forexample,computercontrolledantilock
brakesmustbeginbrakingwithinapredictable,shorttimeafterthebrakepedalissensed.
Theperformanceofacomputercanbemeasuredusingothermetrics,dependinguponitsapplication
domain.AsystemmaybeCPUbound(asinnumericalcalculation),I/Obound(asinawebhosted
application)ormemorybound(asinvideoediting).Powerconsumptionhasbecomeimportantin
servers,laptops,andmobiledevices.
Benchmarkingtriestotakeallthesefactorsintoaccountbymeasuringthetimeacomputertakestorun
throughaseriesoftestprograms.Althoughbenchmarkingshowsstrengths,itmaynothelponeto
chooseacomputer.Oftenthemeasuredmachinessplitondifferentmeasures.Forexample,onesystem
mighthandlescientificapplicationsquickly,whileanothermightrenderpopularvideogamesmore
smoothly.Furthermore,designersmaytargetandaddspecialfeaturestotheirproducts,through
hardwareorsoftware,thatpermitaspecificbenchmarktoexecutequicklybutdon'toffersimilar
advantagestogeneraltasks.

Powerconsumption
https://en.wikipedia.org/wiki/Computer_architecture

5/8

09/09/2015

ComputerarchitectureWikipedia,thefreeencyclopedia

Mainarticle:lowpowerelectronics
Powerconsumptionisanothermeasurementthatisimportantinmoderncomputers.Powerefficiency
canoftenbetradedforspeedorlowercost.ThetypicalmeasurementinthiscaseisMIPS/W(millionsof
instructionspersecondperwatt).
Moderncircuitshavelesspowerpertransistorasthenumberoftransistorsperchipgrows.Therefore,
powerefficiencyhasincreasedinimportance.RecentprocessordesignssuchasIntel'sHaswell
(microarchitecture),putmoreemphasisonincreasingpowerefficiency.Also,intheworldofembedded
computing,powerefficiencyhaslongbeenandremainsanimportantgoalnexttothroughputand
latency.

Shiftsinconsumerdemand
Increasesinpubliclyreleasedclockspeedshaverelativelygrownslowlyoverthepastfewyears,with
respecttovastleapsinpowerconsumptionreductionandminiaturizationdemand.Comparedtothe
exponentialgrowthwithinthesameprecedingtimeframe,processingspeedshavesteadyincreased
between3GHz(2006)4GHz(2014).Astrongdemandfueledbymobiletechnologyhasshiftedfocus
intoimprovingprocessingtoachievelongerbatterylifeandreductionsinsize.Significantreductionsin
powerconsumption,asmuchas50%reportedbyIntelintheirreleaseoftheHaswell
(microarchitecture)wheretheydroppedtheirtargetdownto1020wattsvs3040wattsintheprevious
model.Inaddition,overallperformancehasimprovedthroughleveragingmulticoreparallelism
operationsthatcanaccomplishmoreresponsiveandefficient'systemwide'throughputwithlesssingle
corecycles.Bydividingtheworkamongmultiplecores,systemarchitecturesareachievingmuch
greater'perceivedperformance'withouttherequiring810GHzprocessors.

Seealso
ComparisonofCPUarchitectures
Computerhardware
CPUdesign
Floatingpoint
Harvardarchitecture
InfluenceoftheIBMPConthepersonalcomputermarket
Orthogonalinstructionset
Softwarearchitecture
vonNeumannarchitecture

Notes
JohnL.HennessyandDavidPatterson(2006).ComputerArchitecture:AQuantitativeApproach
(http://www.elsevierdirect.com/product.jsp?isbn=9780123704900)(Fourthed.).Morgan
Kaufmann.ISBN9780123704900.
Barton,RobertS.,"FunctionalDesignofComputers",CommunicationsoftheACM4(9):405
(1961).
Barton,RobertS.,"ANewApproachtotheFunctionalDesignofaDigitalComputer",
ProceedingsoftheWesternJointComputerConference,May1961,pp.393396.Aboutthe
designoftheBurroughsB5000computer.
Bell,C.GordonandNewell,Allen(1971)."ComputerStructures:ReadingsandExamples"
https://en.wikipedia.org/wiki/Computer_architecture

6/8

09/09/2015

ComputerarchitectureWikipedia,thefreeencyclopedia

(http://research.microsoft.com/en
us/um/people/gbell/Computer_Structures__Readings_and_Examples/contents.html),McGraw
Hill.
Blaauw,G.A.,andBrooks,F.P.,Jr.,"TheStructureofSystem/360,PartIOutlineoftheLogical
Structure"
(http://domino.research.ibm.com/tchjr/journalindex.nsf/d9f0a910ab8b637485256bc80066a393/95
dc427e3fd3024a85256bfa006859f7?OpenDocument),IBMSystemsJournal,vol.3,no.2,
pp.119135,1964.
Tanenbaum,AndrewS.(1979).StructuredComputerOrganization.EnglewoodCliffs,New
Jersey:PrenticeHall.ISBN0131485210.

References
1. CurriculumGuidelinesforUndergraduateDegreeProgramsinComputerEngineering
(http://www.acm.org/education/education/curric_vols/CEFinalReport.pdf)(PDF).AssociationforComputing
Machinery.2004.p.60."Computerarchitectureisakeycomponentofcomputerengineeringandthe
practicingcomputerengineershouldhaveapracticalunderstandingofthistopic..."
2. Clements,Alan.PrinciplesofComputerHardware(Fourthed.).p.1."Architecturedescribestheinternal
organizationofacomputerinanabstractwaythatis,itdefinesthecapabilitiesofthecomputerandits
programmingmodel.Youcanhavetwocomputersthathavebeenconstructedindifferentwayswithdifferent
technologiesbutwiththesamearchitecture."
3. Hennessy,JohnPatterson,David.ComputerArchitecture:AQuantitativeApproach(Fifthed.).p.11."This
taskhasmanyaspects,includinginstructionsetdesign,functionalorganization,logicdesign,and
implementation."
4. ReproducedinB.J.Copeland(Ed.),"AlanTuring'sAutomaticComputingEngine",OUP,2005,pp.369
454.
5. ACEunderwentsevenpaperdesignsinoneyear,beforeaprototypewasinitiatedin1948.[B.J.Copeland
(Ed.),"AlanTuring'sAutomaticComputingEngine",OUP,2005,p.57]
6. JohnL.HennessyandDavidA.Patterson.ComputerArchitecture:AQuantitativeApproach(Thirded.).
MorganKaufmannPublishers.
7. Laplante,PhillipA.(2001).DictionaryofComputerScience,Engineering,andTechnology.CRCPress.
pp.9495.ISBN0849326915.

Externallinks
ISCA:ProceedingsoftheInternationalSymposiumon
ComputerArchitecture(http://portal.acm.org/toc.cfm?

WikimediaCommonshas
mediarelatedtoComputer
architecture.

id=SERIES416&type=series&coll=GUIDE&dl=GUIDE&CFID=41492512&CFTOKEN=829224
78)
Micro:IEEE/ACMInternationalSymposiumonMicroarchitecture(http://www.microarch.org/)
HPCA:InternationalSymposiumonHighPerformanceComputerArchitecture
(http://www.hpcaconf.org/)
ASPLOS:InternationalConferenceonArchitecturalSupportforProgrammingLanguagesand
OperatingSystems(http://portal.acm.org/toc.cfm?
id=SERIES311&type=series&coll=GUIDE&dl=GUIDE&CFID=41492415&CFTOKEN=367684
7)
ACMTransactionsonComputerSystems(http://www.acm.org/tocs/)
ACMTransactionsonArchitectureandCodeOptimization(http://www.acm.org/taco/)
IEEETransactionsonComputers(http://www.computer.org/portal/web/tc/home)
ThevonNeumannArchitectureofComputerSystems
(http://www.csupomona.edu/~hnriley/www/VonN.html)
https://en.wikipedia.org/wiki/Computer_architecture

7/8

09/09/2015

ComputerarchitectureWikipedia,thefreeencyclopedia

Retrievedfrom"https://en.wikipedia.org/w/index.php?title=Computer_architecture&oldid=679211536"
Categories: Computerarchitecture Centralprocessingunit
Thispagewaslastmodifiedon3September2015,at04:21.
TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionalterms
mayapply.Byusingthissite,youagreetotheTermsofUseandPrivacyPolicy.Wikipediaisa
registeredtrademarkoftheWikimediaFoundation,Inc.,anonprofitorganization.

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

8/8

Você também pode gostar