计算机专业文献翻译微处理器.docx
《计算机专业文献翻译微处理器.docx》由会员分享,可在线阅读,更多相关《计算机专业文献翻译微处理器.docx(13页珍藏版)》请在冰豆网上搜索。
![计算机专业文献翻译微处理器.docx](https://file1.bdocx.com/fileroot1/2023-2/25/04f4c0d7-5f14-4cc9-8b23-2c3d83e165e1/04f4c0d7-5f14-4cc9-8b23-2c3d83e165e11.gif)
计算机专业文献翻译微处理器
Microprocessors
Amicroprocessorisacomputationenginethatisfabricatedonasinglechip.ThefirstmicroprocessorwastheIntel4004,introducedin1971.The4004wasnotverypowerful–allitcoulddowasaddandsubtract,anditcouldonlydothat4bitsatatime.Butitwasamazingthateverythingwasononechip.Priortothe4004,engineersbuiltcomputerseitherfromcollectionsofchipsorfromdiscretecomponents.The4004poweredoneofthefirstportableelectroniccalculators.
ThefirstmicroprocessortomakeitintoahomecomputerwastheIntel8080,acomplete8-bitcomputeronthechip,introducedin1974.ThefirstmicroprocessortomakearealsplashinthemarketwastheIntel8088,introducedin1979andincorporatedintotheIBMPC.ThePCmarketmovedfromthe8088tothe80286tothe80386tothe80486tothePentiumtothePentiumIItothePentiumIIItothePentium4.AllofthesemicroprocessorsaremadebyIntelandallofthemareimprovementsonthebasicdesignofthe8088.ThePentium4canexecuteanypieceofcodethatranontheoriginal8088,butitdoesitabout5,000timesfaster!
ThefollowingtableshowsthedifferencesbetweenthedifferentprocessorsthatIntelhasintroducedovertheyears.
Table1.2
Name
Date
Transistors
Micron[1]
Clock
speed
Datawidth[2]
MIPS[3]
8080
1974
6,000
6
2MHz
8bits
0.64
8088
1979
29,000
3
5MHz
16bits
8-bitbus
0.33
80286
1982
134,000
1.5
6MHz
16bits
1
80386
1985
275,000
1.5
16MHz
32bits
5
80486
1989
1,200,000
1
25MHz
32bits
20
Pentium
1993
3,100,000
0.8
60MHz
32bits
64-bitbus
100
Pentium
1997
7,500,000
0.35
233MHz
32bits
64-bitbus
~300
Pentium
1999
9,500,000
0.25
450MHz
32bits
64-bitbus
~510
Pentium4
2000
42,000,000
0.18
1.5GHz
32bits
64-bitbus
~1,700
Fromthistableyoucanseethat,ingeneral,thereisarelationshipbetweenclockspeedandMIPS.Themaximumclockspeedisafunctionofthemanufacturingprocessanddelayswithinthechip.ThereisalsoarelationshipbetweenthenumberoftransistorsandMIPS.Forexample,the8088clockedat5MHzbutonlyexecutedat0.33MIPS(aboutoneinstructionper15clockcycles).Modernprocessorscanoftenexecuteatarateoftwoinstructionsperclockcycle.Thatimprovementisdirectlyrelatedtothenumberoftransistorsonthechip.
InsideaMicroprocessorAmicroprocessorexecutesacollectionofmachineinstructionsthattelltheprocessorwhattodo.Basedontheinstruction,amicroprocessordoesthreebasicthings:
1.UsingitsALU(Arithmetic/LogicUnit),amicroprocessorcanperformmathematicaloperationslikeaddition,subtraction,multiplicationanddivision.ModernMicroprocessorscontaincompletefloatingpointprocessorsthatcanperformextremelysophisticatedoperationsonlargefloatingpointnumbers.
2.Amicroprocessorcanmovedatafromonememorylocationtoanother.
3.Amicroprocessorcanmakedecisionsandjumptoanewsetofinstructionsbasedonthosedecisions.
Thesemaybeverysophisticatedthingsthatamicroprocessordoes,butthoseareitsthreebasicactivities.Thefollowingdiagramshowsanextremelysimplemicroprocessorcapableofdoingthosethreethings:
Thismicroprocessorhasanaddressbusthatsendsanaddresstomemory,adatabusthatcansenddatatomemoryorreceivedatafrommemory,anRD(read)andWR(write)linetotellthememorywhetheritwantstosetorgettheaddressedlocation,aclocklinethatletsaclockpulsesequencetheprocessorandareset[4]linethatresetstheprogramcountertozero(orwhatever)andrestartsexecution.Andlet’sassumethatboththeaddressanddatabusesare8bitswidehere.
Herearethecomponentsofthissimplemicroprocessor(Figure1.1):
Figure1.1
1.RegistersA,BandCaresimplylatchesmadeoutofflip–flops.
2.TheaddresslatchisjustlikeregistersA,BandC.
3.Theprogramcounterisalatchwiththeextraabilitytoincrementby1whentoldtodoso,andalsotoresettozerowhentoldtodoso.
4.TheALUcouldbeassimpleasan8-bitadder,oritmightbeabletoadd,subtract,multiplyanddivide8–bitvalues.Let’sassumethelatterhere.
5.ThetestregisterisaspeciallatchthatcanholdvaluesfromcomparisonsperformedintheALU.AnALUcannormallycomparetwonumbersanddetermineiftheyareequal,ifoneisgreaterthantheother,etc.Thetestregistercanalsonormallyholdacarrybitfromthelaststageoftheadder.Itstoresthesevaluesinflip-flopsandthentheinstructiondecodercanusethevaluestomakedecisions.
6.Therearesixboxesmarked“3-State”inthediagram.Thesearetri-statebuffers[5].Atri-statebuffercanpassa1,a0oritcanessentiallydisconnectitsoutput.Atri-statebufferallowsmultipleoutputstoconnecttoawire,butonlyoneofthemtoactuallydrivea1ora0ontotheline.
7.Theinstructionregisterandinstructiondecoderareresponsibleforcontrollingalloftheothercomponents.
Althoughtheyarenotshowninthisdiagram,therewouldbecontrollinesfromtheinstructiondecoderthatwould:
1.TelltheAregistertolatchthevaluecurrentlyonthedatabus
2.TelltheBregistertolatchthevaluecurrentlyonthedatabus
3.TelltheCregistertolatchthevaluecurrentlyonthedatabus
4.Telltheprogramcounterregistertolatchthevaluecurrentlyonthedatabus
5.Telltheaddressregistertolatchthevaluecurrentlyonthedatabus
6.Telltheinstructionregistertolatchthevaluecurrentlyonthedatabus
7.Telltheprogramcountertoincrement
8.Telltheprogramcountertoresettozero
9.Activateanyofthesixtri-statebuffers(sixseparatelines)
10.TelltheALUwhatoperationtoperform
11.TellthetestregistertolatchtheALU’stestbibs
12.ActivatetheRDline
13.ActivatetheWRline
Comingintotheinstructiondecoderarethebitsfromthetestregisterandtheclockline,aswellasthebitsfromtheinstructionregister.
RAMandROMtheaddressanddatabuses,aswellastheRDandWRlinesconnecteithertoRAMorROM-generallyboth.Inoursamplemicroprocessor,wehaveanaddressbus8bitswideandadatabus8bitswide.Thatmeansthatthemicroprocessorcanaddress(28)256bytesofmemory,anditcanreadorwrite8bitsofthememoryatatime.Let’sassumethatthissimplemicroprocessorhas128bytesofROMstartingataddress0and128bytesofRAMstartingataddress128.
ROMstandsforread-onlymemory.AROMchipisprogrammedwithapermanentcollectionofpre-setbytes.TheaddressbustellstheROMchipwhichbytetogetandplaceonthedatabus.WhentheRDlinechangesstate,theROMchippresentstheselectedbyteontothedatabus.
RAMstandsforrandom-accessmemory.RAMcontainsbytesofinformation,andthemicroprocessorcanreadorwritetothosebytesdependingonwhethertheRDorWRlineissignaled.Oneproblemwithtoday’sRAMchipsisthattheyforgeteverythingoncethepowergoesoff.ThatiswhythecomputerneedsROM.
Bytheway,nearlyallcomputerscontainsomeamountofROM(itispossibletocreateasimplecomputerthatcontainsnoRAM-manymicrocontrollersdothisbyplacingahandfulofRAMbytesontheprocessorchipitself-butgenerallyimpossibletocreateonethatcontainsnoROM).OnaPC,theROMiscalledtheBIOS(BasicInput/OutputSystem).Whenthemicroprocessorstarts,itbeginsexecutinginstructionsitfindsintheBIOS.TheBIOSinstructionsdothingsliketestthehardwareinthemachine,andthenitgoestotheharddisktofetchthebootsector.Thisbootsectorisanothersmallprogram,andtheBIOSstoresitinRAMafterreadingitoffthedisk.Themicroprocessorthenbeginsexecutingthebootsector’sinstructionsfromRAM.ThebootsectorprogramwilltellthemicroprocessortofetchsomethingelsefromtheharddiskintoRAM,whichthemicroprocessorthenexecutes,andsoon.Thisishowthemicroprocessorloadsandexecutestheentireoperatingsystem.
MicroprocessorInstructionsEventheincrediblysimplemicroprocessorshownherewillhaveafairlylargesetofinstructionsthatitcanperform.Thecollectionofinstructionsisimplementedasbitpatterns,eachoneofwhichhasadifferentmeaningwhenloadedintotheinstructionregister.Humansarenotparticularlygoodatrememberingbitpatterns,soasetofshortwordsaredefinedtorepresentthedifferentbitpatterns.Thiscollectionofwordsiscalledtheassemblylanguageoftheprocessor.Anassemblercantranslatethewordsintotheirbitpatternsveryeasily,andthentheoutputoftheassemblerisplacedinmemoryforthemicroprocessortoexecute.IfyouuseClanguageprogramming,aCcompilerwilltranslatestheCcodeintoassemblylanguage.
Sonowthequestionis,“HowdoalloftheseinstructionslookinROM?
”Eachoftheseassemblylanguageinstructionsmustberepresentedbyabinarynumber.Thesenumbersareknownasopcodes.Theinstructiondecoderneedstoturneachoftheopcodesintoasetofsignalsthatdrivethedifferentcomponentsinsidethemicroprocessor.Let’staketheADDinstructionasanexampleandlookatwhatitneedstodo:
Duringthefirstclockcycle,weneedtoactuallyloadtheinstruction.Thereforetheinstructiondecoderneedsto:
Activatethetri-statebufferfortheprogramcounter
ActivatetheRDline
Activatethedata-intri-statebuffer
Latchtheinstructionintotheinstructionregister
Duringthesecondclockcycle,theADDinstructionisdecoded.Itneedstodoverylittle:
SettheoperationoftheALUtoaddition
LatchtheoutputoftheALUintotheCregister
Duringthethirdclockcycle,theprogramcounterisincremented(intheorythiscouldbeoverlappedintothesecondclockcycle).
Everyinstru