cs 152 computer architecture and engineering cs252 ...cs152/sp20/... · and control, which...

38
CS 152 Computer Architecture and Engineering CS252 Graduate Computer Architecture Lecture 2 - Simple Machine Implementa=ons Krste Asanovic Electrical Engineering and Computer Sciences University of California at Berkeley http://www.eecs.berkeley.edu/~krste http://inst.eecs.berkeley.edu/~cs152

Upload: others

Post on 10-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

CS152ComputerArchitectureandEngineeringCS252GraduateComputerArchitecture

Lecture2-SimpleMachineImplementa=ons

KrsteAsanovicElectricalEngineeringandComputerSciences

UniversityofCaliforniaatBerkeley

http://www.eecs.berkeley.edu/~krstehttp://inst.eecs.berkeley.edu/~cs152

Page 2: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

LastTimeinLecture1§ ComputerArchitecture>>ISAsandRTL

–  CS152isaboutinteracGonofhardwareandsoIware,anddesignofappropriateabstracGonlayers

§  TechnologyandApplicaGonsshapeComputerArchitecture–  Historyprovideslessonsforthefuture

§  First130yearsofCompArch,fromBabbagetoIBM360–  Movefromcalculators(nocondiGonals)tofullyprogrammablemachines–  RapidchangestartedinWWII(mid-1940s),movefromelectro-mechanicaltopureelectronicprocessors

§ CostofsoIwaredevelopmentbecomesalargeconstraintonarchitecture(needcompaGbility)

§  IBM360introducesnoGonof“familyofmachines”runningsameISAbutverydifferentimplementaGons–  Sixdifferentmachinesreleasedonsameday(April7,1964)–  “Future-proofing”forsubsequentgeneraGonsofmachine

2

Page 3: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Instruc=onSetArchitecture(ISA)

§  ThecontractbetweensoIwareandhardware§  Typicallydescribedbygivingalltheprogrammer-visiblestate(registers+memory)plusthesemanGcsoftheinstrucGonsthatoperateonthatstate

§  IBM360wasfirstlineofmachinestoseparateISAfromimplementaGon(aka.microarchitecture)

§ ManyimplementaGonspossibleforagivenISA–  E.g.,Sovietsbuiltcode-compaGbleclonesoftheIBM360,asdidAmdahlaIerheleIIBM.

–  E.g.2.,AMD,Intel,VIAprocessorsruntheAMD64ISA–  E.g.3:manycellphonesusetheARMISAwithimplementaGonsfrommanydifferentcompaniesincludingApple,Qualcomm,Samsung,Huawei,etc.

§ WeuseRISC-VasstandardISAinclass(www.riscv.org)–  Manycompaniesandopen-sourceprojectsbuildRISC-VimplementaGons

3

Page 4: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

ISAtoMicroarchitectureMapping

§  ISAoIendesignedwithparGcularmicroarchitecturalstyleinmind,e.g.,Accumulator⇒hardwired,unpipelinedCISC ⇒microcodedRISC ⇒hardwired,pipelinedVLIW ⇒fixed-latencyin-orderparallelpipelinesJVM ⇒soIwareinterpretaGon

§ Butcanbeimplementedwithanymicroarchitecturalstyle–  IntelIvyBridge:hardwiredpipelinedCISC(x86)

machine(withsomemicrocodesupport)–  Spike:SoIware-interpretedRISC-Vmachine–  ARMJazelle:AhardwareJVMprocessor–  Thislecture:amicrocodedRISC-Vmachine

4

Page 5: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

WhyLearnMicroprogramming?

§ ToshowhowtobuildverysmallprocessorswithcomplexISAs§ TohelpyouunderstandwhereCISC*machinescamefrom§ BecausesGllusedincommonmachines(x86,IBM360,PowerPC)§ AsagentleintroducGonintomachinestructures§ TohelpunderstandhowtechnologydrovethemovetoRISC*

*“CISC”/”RISC”namesmuchnewerthanstyleofmachinestheyreferto.

5

Page 6: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

ControlversusDatapath

§  Processordesignscanbesplitbetweendatapath,wherenumbersarestoredandarithmeGcoperaGonscomputed,andcontrol,whichsequencesoperaGonsondatapath

6

§  Biggestchallengeforearlycomputerdesignerswasgejngcontrolcircuitrycorrect

§  MauriceWilkesinventedtheideaofmicroprogrammingtodesignthecontrolunitofaprocessorforEDSAC-II,1958-  ForeshadowedbyBabbage’s“Barrel”andmechanismsinearlierprogrammablecalculators

CondiGon?

Control

MainMemory

Address Data

ControlLines

Datapath

PC

Inst.R

eg.

Registers

ALU

InstrucGon

Busy?

Page 7: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

MicrocodedCPU

7

Datapath

MainMemory(holdsuserprogramwri?eninmacroinstruc@ons,e.g.,x86,RISC-V)

Address Data

Decoder

µPCMicrocodeROM(holdsfixedµcodeinstruc@ons)

NextState

ControlLines

Opcod

e

Cond

iGon

Busy?

Page 8: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

TechnologyInfluence

§ Whenmicrocodeappearedin1950s,differenttechnologiesfor:– Logic:VacuumTubes– MainMemory:MagneGccores– Read-OnlyMemory:Diodematrix,punchedmetalcards,…

§ LogicveryexpensivecomparedtoROMorRAM§ ROMcheaperthanRAM§ ROMmuchfasterthanRAM

8

Page 9: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

RISC-VISA

§ NewfiIh-generaGonRISCdesignfromUCBerkeley§ RealisGc&completeISA,butopen&small§ Notover-architectedforacertainimplementaGonstyle§ Both32-bit(RV32)and64-bit(RV64)address-spacevariants§ DesignedformulGprocessing§  EfficientinstrucGonencoding§  Easytosubset/extendforeducaGon/research§ RISC-VspecavailableonFoundaGonwebsiteandgithub§  IncreasingmomentumwithindustryadopGon

§  PleaseseeCS61CFall2017,Lectures5-7forRISC-VISAreview:http://inst.eecs.berkeley.edu/~cs61c/fa17/

9

Page 10: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

RV32ProcessorState

10

Programcounter(pc)32x32-bitintegerregisters(x0-x31)• x0alwayscontainsa032floaGng-point(FP)registers(f0-f31)• eachcancontainasingle-ordouble-precisionFPvalue(32-bitor64-bitIEEEFP)

FPstatusregister(fcsr),usedforFProundingmode&excepGonreporGng

Page 11: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

RISC-VInstruc=onEncoding

§ Cansupportvariable-lengthinstrucGons.§ BaseinstrucGonset(RV32)alwayshasfixed32-bitinstrucGonslowesttwobits=112

§ Allbranchesandjumpshavetargetsat16-bitgranularity(eveninbaseISAwhereallinstrucGonsarefixed32bits)

11

Page 12: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

RISC-VInstruc=onFormats

12

DesGnaGonReg.

Reg.Source1

Reg.Source27-bitopcodefield(butlow2bits=112)

AddiGonalopcodebits/immediate

Page 13: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Single-BusDatapathforMicrocodedRISC-V

13

MicroinstrucGonswrivenasregistertransfers:§ MA:=PCmeansRegSel=PC;RegW=0;RegEn=1;MALd=1§ B:=Reg[rs2]meansRegSel=rs2;RegW=0;RegEn=1;BLd=1§ Reg[rd]:=A+BmeansALUop=Add;ALUEn=1;RegSel=rd;RegW=1

CondiGon?

MainMemory

PC

Registers

ALU

32(P

C)

rd

rs1

rs2

RegisterRAM

Address

InDataOutInstrucGon

Reg.

Mem

.Add

ressB

AImmed

iate

ImmEn RegEn ALUEn MemEn

ALUOp

Mem

W

ImmSel

RegW

BLdInstLd

MALd

ALd

RegSel

Busy?Opcode

Page 14: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

RISC-VInstruc=onExecu=onPhases

§  InstrucGonFetch§  InstrucGonDecode§ RegisterFetch§ ALUOperaGons§ Op@onalMemoryOperaGons§ Op@onalRegisterWriteback§ CalculateNextInstrucGonAddress

14

Page 15: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

MicrocodeSketches(1)

15

InstrucGonFetch: MA,A:=PC PC:=A+4 waitformemory IR:=Mem dispatchonopcode

ALU: A:=Reg[rs1]

B:=Reg[rs2] Reg[rd]:=ALUOp(A,B) gotoinstruc@onfetch

ALUI: A:=Reg[rs1]

B:=ImmI//Sign-extend12bimmediate Reg[rd]:=ALUOp(A,B) gotoinstruc@onfetch

Page 16: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

MicrocodeSketches(2)

16

LW: A:=Reg[rs1] B:=ImmI//Sign-extend12bimmediate

MA:=A+B waitformemory Reg[rd]:=Mem gotoinstruc@onfetch

JAL: Reg[rd]:=A//Storereturnaddress A:=A-4//RecoveroriginalPC B:=ImmJ//Jump-styleimmediate PC:=A+B gotoinstruc@onfetch

Branch: A:=Reg[rs1] B:=Reg[rs2] if(!ALUOp(A,B))gotoinstruc@onfetch//Nottaken A:=PC//Microcodefallthroughifbranchtaken A:=A-4 B:=ImmB//Branch-styleimmediate PC:=A+B gotoinstruc@onfetch

Page 17: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

PureROMImplementa=on

17

§ Howmanyaddressbits?|µaddress|=|µPC|+|opcode|+1+1

§ Howmanydatabits?|data|=|µPC|+|controlsignals|=|µPC|+18

§  TotalROMsize=2|µaddress|x|data|

µPC

ROMAddress

Data

Opcode Cond? Busy?

NextµPC ControlSignals

Page 18: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

PureROMContents

18

Address | DataµPC OpcodeCond?Busy? |ControlLines NextµPCfetch0 X X X |MA,A:=PC fetch1fetch1 X X 1 | fetch1fetch1 X X 0 |IR:=Mem fetch2fetch2 ALU X X |PC:=A+4 ALU0fetch2 ALUI X X |PC:=A+4 ALUI0fetch2 LW X X |PC:=A+4 LW0….ALU0 X X X |A:=Reg[rs1] ALU1ALU1 X X X |B:=Reg[rs2] ALU2ALU2 X X X |Reg[rd]:=ALUOp(A,B) fetch0

Page 19: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Single-BusMicrocodeRISC-VROMSize

§ InstrucGonfetchsequence3commonsteps§ ~12instrucGongroups§ Eachgrouptakes~5steps(1fordispatch)§ Totalsteps3+12*5=63,needs6bitsforµPC

§ Opcodeis5bits,~18controlsignals

§ Totalsize=2(6+5+2)x(6+18)=213x24=~25KiB!

19

Page 20: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

ReducingControlStoreSize

§ ReduceROMheight(#addressbits)–  Useexternallogictocombineinputsignals–  Reduce#statesbygroupingopcodes

§ ReduceROMwidth(#databits)–  RestrictµPCencoding(next,dispatch,waitonmemory,…)–  Encodecontrolsignals(verGcalµcoding,nanocoding)

20

Page 21: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Single-BusRISC-VMicrocodeEngine

21

µPC

Decode

ROMAddress

Data

Opcode

Cond?Busy?

ControlSignals

+1

fetch0

µPCJumpLogic

µPCjump

µPCjump=next|spin|fetch|dispatch|Irue|ffalse

Page 22: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

µPCJumpTypes

§  nextincrementsµPC§  spinwaitsformemory§  fetchjumpstostartofinstrucGonfetch§  dispatchjumpstostartofdecodedopcodegroup§ Krue/ffalsejumpstofetchifCond?true/false

22

Page 23: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

EncodedROMContents

23

Address | DataµPC |ControlLines NextµPCfetch0 |MA,A:=PC nextfetch1 |IR:=Mem spinfetch2 |PC:=A+4 dispatchALU0 |A:=Reg[rs1] nextALU1 |B:=Reg[rs2] nextALU2 |Reg[rd]:=ALUOp(A,B) fetchBranch0 |A:=Reg[rs1] nextBranch1 |B:=Reg[rs2] nextBranch2 |A:=PC ffalseBranch3 |A:=A-4 nextBranch4 |B:=ImmB nextBranch5 |PC:=A+B fetch

Page 24: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

CS152Administrivia

§ GradingclarificaGons–  Youmustcomplete3/5labsorgetanautomaGcFregardlessofothergrades

§  Slipdays–  Problemsetshavenoslipdays–  Labshavetwofreeextensions(maxoneperlab)unGlnextclassaIerduedate

–  Nootherextensionswithoutdocumentedemergency

24

Page 25: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

CS252Administrivia

§ CS252ReadingsonWebsite–  MustusePiazzatosendprivatenoteoneachperpaperthreadtoinstructorsbeforemidnightSundaybeforeMondaydiscussioncontainingpaperreport:•  Writeoneparagraphonmaincontentofpaperincludinggood/badpointsofpaper

•  Also,1-3quesGonsaboutpaperfordiscussion•  Firsttwo“360Architecture”,“B5000Architecture”

§ CS252ProjectTimeline–  ProposalduestartofclassWedFeb26th–  OnepageinPDFformatincluding:

•  projectGtle•  teammembers(2perproject)•  whatproblemareyoutryingtosolve?•  whatisyourapproach?•  infrastructuretobeused•  Gmeline/milestones

25

Page 26: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Implemen=ngComplexInstruc=ons

26

Memory-memoryadd:M[rd]=M[rs1]+M[rs2]

Address | DataµPC |ControlLines NextµPCMMA0 |MA:=Reg[rs1] nextMMA1 |A:=Mem spinMMA2 |MA:=Reg[rs2] nextMMA3 |B:=Mem spinMMA4 |MA:=Reg[rd] nextMMA5 |Mem:=ALUOp(A,B) spinMMA6 | fetchComplexinstrucGonsusuallydonotrequiredatapathmodificaGons,onlyextraspaceforcontrolprogramVerydifficulttoimplementtheseinstrucGonsusingahardwiredcontrollerwithoutsubstanGaldatapathmodificaGons

Page 27: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Single-BusDatapathforMicrocodedRISC-V

27

DatapathunchangedforcomplexinstrucGons!

CondiGon?

MainMemory

PC

Registers

ALU

32(P

C)

rd

rs1

rs2

RegisterRAM

Address

InDataOutInstrucGon

Reg.

Mem

.Add

ressB

AImmed

iate

ImmEn RegEn ALUEn MemEn

ALUOp

Mem

W

ImmSel

RegW

BLdInstLd

MALd

ALd

RegSel

Busy?Opcode

Page 28: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

HorizontalvsVer=calµCode

28

§ HorizontalµcodehaswiderµinstrucGons–  MulGpleparalleloperaGonsperµinstrucGon–  FewermicrocodestepspermacroinstrucGon–  Sparserencoding⇒morebits

§ VerGcalµcodehasnarrowerµinstrucGons–  TypicallyasingledatapathoperaGonperµinstrucGon

§  separateµinstrucGonforbranches–  MoremicrocodestepspermacroinstrucGon–  Morecompact⇒lessbits

§ Nanocoding–  TriestocombinebestofhorizontalandverGcalµcode

#µInstrucGons

BitsperµInstrucGon

Page 29: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Nanocoding

29

§ Motorola68000had17-bitµcodecontainingeither10-bitµjumpor9-bitnanoinstrucGonpointer– NanoinstrucGonswere68bitswide,decodedtogive196controlsignals

µcodeROM

nanoaddress

µcodenext-state

µaddress

µPC(state)

nanoinstrucGonROMdata

Exploitsrecurringcontrolsignalpavernsinµcode,e.g.,ALU0 A←Reg[rs1]...ALUI0 A←Reg[rs1]...

Page 30: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

MicroprogramminginIBM360

30

§  Onlythefastestmodels(75and95)werehardwired

M30 M40 M50 M65Datapathwidth(bits) 8 16 32 64

µinstwidth(bits) 50 52 85 87

µcodesize(Kµinsts) 4 4 2.75 2.75

µstoretechnology CCROS TCROS BCROS BCROS

µstorecycle(ns) 750 625 500 200

memorycycle(ns) 1500 2500 2000 750

Rentalfee($K/month) 4 7 15 35

Page 31: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

IBMCard-CapacitorRead-OnlyStorage

31[IBMJournal,January1961]

PunchedCardwithmetalfilm

Fixedsensingplates

Page 32: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

MicrocodeEmula=on

32

§  IBMiniGallymiscalculatedtheimportanceofsoIwarecompaGbilitywithearliermodelswhenintroducingthe360series

§ HoneywellstolesomeIBM1401customersbyofferingtranslaGonsoIware(“Liberator”)forHoneywellH200seriesmachine

§  IBMretaliatedwithopGonaladdiGonalmicrocodefor360seriesthatcouldemulateIBM1401ISA,laterextendedforIBM7000series–  onepopularprogramon1401wasa650simulator,sosomecustomersranmany650programsonemulated1401s

–  i.e.,650simulatedon1401emulatedon360

Page 33: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Microprogrammingthrivedin‘60sand‘70s

33

§  SignificantlyfasterROMsthanDRAMswereavailable§  ForcomplexinstrucGonsets,datapathandcontrollerwerecheaperandsimpler

§ NewinstrucGons,e.g.,floaGngpoint,couldbesupportedwithoutdatapathmodificaGons

§  Fixingbugsinthecontrollerwaseasier§  ISAcompaGbilityacrossvariousmodelscouldbeachievedeasilyandcheaply

Exceptforthecheapestandfastestmachines,allcomputersweremicroprogrammed

Page 34: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Microprogramming:early1980s

34

§  EvoluGonbredmorecomplexmicro-machines–  ComplexinstrucGonsetsledtoneedforsubrouGneandcallstacksinµcode

–  Needforfixingbugsincontrolprogramswasinconflictwithread-onlynatureofµROM

– èWritableControlStore(WCS)(B1700,QMachine,Inteli432,…)

§ WiththeadventofVLSItechnologyassumpGonsaboutROM&RAMspeedbecameinvalidàmorecomplexity

§ BevercompilersmadecomplexinstrucGonslessimportant.§ Useofnumerousmicro-architecturalinnovaGons,e.g.,pipelining,cachesandbuffers,mademulGple-cycleexecuGonofreg-reginstrucGonsunavracGve

Page 35: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

VAX11-780Microcode

35

Page 36: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

WritableControlStore(WCS)

36

§  ImplementcontrolstoreinRAMnotROM–  MOSSRAMmemoriesnowalmostasfastascontrolstore(corememories/DRAMswere2-10xslower)

–  Bug-freemicroprogramsdifficulttowrite

§ User-WCSprovidedasopGononseveralminicomputers–  Alloweduserstochangemicrocodeforeachprocessor

§ User-WCSfailed–  Livleornoprogrammingtoolssupport–  DifficulttofitsoIwareintosmallspace–  MicrocodecontroltailoredtooriginalISA,lessusefulforothers–  LargeWCSpartofprocessorstate-expensivecontextswitches–  ProtecGondifficultifusercanchangemicrocode–  Virtualmemoryrequiredrestartablemicrocode

Page 37: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Microprogrammingisfarfromex=nct

§  PlayedacrucialroleinmicrosoftheEighGes•  DECuVAX,Motorola68Kseries,Intel286/386

§  PlaysanassisGngroleinmostmodernmicros–  e.g.,AMDZen,IntelSkyLake,IntelAtom,IBMPowerPC,…–  MostinstrucGonsexecuteddirectly,i.e.,withhard-wiredcontrol–  Infrequently-usedand/orcomplicatedinstrucGonsinvokemicrocode

§  Patchablemicrocodecommonforpost-fabricaGonbugfixes,e.g.Intelprocessorsloadµcodepatchesatbootup–  IntelhadtoscrambletoresurrectmicrocodetoolsandfindoriginalmicrocodeengineerstopatchMeltdown/Spectresecurityvulnerabilites

37

Page 38: CS 152 Computer Architecture and Engineering CS252 ...cs152/sp20/... · and control, which sequences operaons on datapath 6 § Biggest challenge for early computer designers was geng

Acknowledgements

§  Theseslidescontainmaterialdevelopedandcopyrightby:–  Arvind(MIT)–  KrsteAsanovic(MIT/UCB)–  JoelEmer(Intel/MIT)–  JamesHoe(CMU)–  JohnKubiatowicz(UCB)–  DavidPaverson(UCB)

§ MITmaterialderivedfromcourse6.823§ UCBmaterialderivedfromcourseCS252

38