45
CS 110 Computer Architecture Synchronous Digital Systems Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University 1 Slides based on UC Berkley's CS61C

CS 110 Computer Architecture - MARS Lab

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS 110 Computer Architecture - MARS Lab

CS110ComputerArchitecture

SynchronousDigitalSystems

Instructor:SörenSchwertfeger

http://shtech.org/courses/ca/

School of Information Science and Technology SIST

ShanghaiTech University

1Slides based on UC Berkley's CS61C

Page 2: CS 110 Computer Architecture - MARS Lab

LevelsofRepresentation/Interpretation

lw $t0,0($2)lw $t1,4($2)sw $t1,0($2)sw $t0,4($2)

HighLevelLanguageProgram(e.g.,C)

AssemblyLanguageProgram(e.g.,MIPS)

MachineLanguageProgram(MIPS)

HardwareArchitectureDescription(e.g.,blockdiagrams)

Compiler

Assembler

MachineInterpretation

temp=v[k];v[k]=v[k+1];v[k+1]=temp;

0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111

LogicCircuitDescription(CircuitSchematicDiagrams)

ArchitectureImplementation

Anythingcanberepresentedasanumber,

i.e.,dataorinstructions

2

Page 3: CS 110 Computer Architecture - MARS Lab

• ParallelRequestsAssignedtocomputere.g.,Search“Katz”

• ParallelThreadsAssignedtocoree.g.,Lookup,Ads

• ParallelInstructions>[email protected].,5pipelinedinstructions

• ParallelData>[email protected].,Addof4pairsofwords

• HardwaredescriptionsAllgates@onetime

• ProgrammingLanguages3

SmartPhone

WarehouseScale

Computer

SoftwareHardware

HarnessParallelism&AchieveHighPerformance

LogicGates

Core Core…

Memory(Cache)

Input/Output

Computer

CacheMemory

Core

InstructionUnit(s) FunctionalUnit(s)

A3+B3A2+B2A1+B1A0+B0

Today

YouareHere!

Page 4: CS 110 Computer Architecture - MARS Lab

HardwareDesign• Nextseveralweeks:howamodernprocessorisbuilt,

startingwithbasicelementsasbuildingblocks• Whystudyhardwaredesign?

– UnderstandcapabilitiesandlimitationsofHWingeneralandprocessorsinparticular

– Whatprocessorscandofastandwhattheycan’tdofast(avoidslowthingsifyouwantyourcodetorunfast!)

– Backgroundformorein-depthHWcourses– Hardtoknowwhatyou’llneedfornext30years– Thereisonlysomuchyoucandowithstandardprocessors:you

mayneedtodesignowncustomHWforextraperformance– Evensomecommercialprocessorstodayhavecustomizablehardware!

4

Page 5: CS 110 Computer Architecture - MARS Lab

SynchronousDigitalSystems

5

Synchronous:• Alloperationscoordinatedbyacentralclock

§ “Heartbeat”ofthesystem!

Digital:• Representallvalues bydiscretevalues• Twobinarydigits:1and0• Electricalsignalsaretreatedas1’sand0’s

• 1and0arecomplementsofeachother• High /low voltagefortrue /false,1 /0

Hardwareofaprocessor,suchastheMIPS,isanexampleofaSynchronousDigitalSystem

Page 6: CS 110 Computer Architecture - MARS Lab

A Z

Switches:BasicElementofPhysicalImplementations

• Implementingasimplecircuit(arrowshowsactionifwirechangesto“1”orisasserted):

Z º A

A Z

6

On-switch(ifAis“1”orasserted)turns-onlightbulb(Z)

Off-switch(ifAis“0”orunasserted)turns-offlightbulb(Z)

Page 7: CS 110 Computer Architecture - MARS Lab

AND

OR

Z º A and B

Z º A or B

A B

A

B

Switches(cont’d)

• Composeswitchesintomorecomplexones(Booleanfunctions):

7

Page 8: CS 110 Computer Architecture - MARS Lab

HistoricalNote

• Earlycomputerdesignersbuiltadhoccircuitsfromswitches

• Begantonoticecommonpatternsintheirwork:ANDs,ORs,…

• Master’sthesis(byClaudeShannon,1940)madelinkbetweenworkand19th CenturyMathematicianGeorgeBoole– Calledit“Boolean”inhishonor

• Couldapplymathtogivetheorytohardwaredesign,minimization,…

8

Page 9: CS 110 Computer Architecture - MARS Lab

Transistors• Highvoltage(Vdd)represents1,ortrue

– Inmodernmicroprocessors,Vdd ~1.0Volt• Lowvoltage(0Voltor Ground)represents0,orfalse• Pickamidpointvoltagetodecideifa0ora1

– Voltagegreaterthanmidpoint=1– Voltagelessthanmidpoint=0– Thisremovesnoiseassignalspropagate– abigadvantageof

digitalsystemsoveranalogsystems• If oneswitchcancontrolanotherswitch,wecanbuilda

computer!• Ourswitches:CMOStransistors

9

Page 10: CS 110 Computer Architecture - MARS Lab

CMOSTransistorNetworks• ModerndigitalsystemsdesignedinCMOS– MOS:Metal-OxideonSemiconductor– Cforcomplementary: usepairsofnormally-on andnormally-off switches

• CMOStransistorsactasvoltage-controlledswitches– Similar,thougheasiertoworkwith,thanelectro-mechanicalrelayswitchesfromearlierera

– Useenergyprimarilywhenswitching

10

Page 11: CS 110 Computer Architecture - MARS Lab

n-channel transitoroff when voltage at Gate is low

on when:voltage(Gate) > voltage (Threshold)

p-channel transistoron when voltage at Gate is low

off when:voltage(Gate) > voltage (Threshold)

CMOSTransistors• Threeterminals: source,gate,anddrain– Switchaction:ifvoltageongateterminalis(someamount)higher/lowerthansourceterminalthenconductingpathestablishedbetweendrainandsourceterminals(switchisclosed)

Gate

Source Drain

Gate

Source Drain

11

Notecirclesymboltoindicate“NOT”or“complement”

Gate

DrainSource

field-effecttransistor(FET)=>CMOScircuitsuseacombinationofp-typeandn-typemetal–oxide–semiconductorfield-effecttransistors=>

MOSFET

Page 12: CS 110 Computer Architecture - MARS Lab

12

GordonMooreIntelCofounder

#oftran

sistorsonan

integrated

circuit(IC)

Year

#2:Moore’sLaw

Predicts:2XTransistors/chip

every2years

Modernmicroprocessorchipsincludeseveralbilliontransistors

Page 13: CS 110 Computer Architecture - MARS Lab

Intel14nmTechnology

13Planviewoftransistors

Sideviewofwiringlayers

Page 14: CS 110 Computer Architecture - MARS Lab

SenseofScale

14

Source:MarkBohr,IDF14

Page 15: CS 110 Computer Architecture - MARS Lab

CMOSCircuitRules• Don’tpassweakvalues=>UseComplementaryPairs– N-typetransistorspassweak1’s(Vdd - Vth)– N-typetransistorspassstrong0’s(ground)– UseN-typetransistorsonlytopass0’s(Nfornegative)– ConverseforP-typetransistors:Passweak0s,strong1s

• Passweak0’s(Vth),strong1’s(Vdd)• UseP-typetransistorsonlytopass1’s(Pforpositive)

– UsepairsofN-typeandP-typetogetstrongvalues• Neverleaveawireundriven– Makesurethere’salwaysapathtoVdd orGND

• NevercreateapathfromVdd toGND(ground)– Thiswouldshort-circuitthepowersupply!

15

Page 16: CS 110 Computer Architecture - MARS Lab

1V

X

Y 0Volt(GND)

X Y

1 Volt(Vdd)

0V

whatistherelationship

betweenxandy?

CMOSNetworks

16

p-channel transistoron when voltage at Gate is low

off when:voltage(Gate) > voltage (Threshold)

n-channel transitoroff when voltage at Gate is low

on when:voltage(Gate) > voltage (Threshold) Calledaninverterornotgate

1 Volt(Vdd)

0Volt(GND)

Page 17: CS 110 Computer Architecture - MARS Lab

whatistherelationship betweenx,y andz?

Two-InputNetworks

1V

X Y

0V

Z

17

X Y Z

0Volt

1Volt

0Volt

1Volt

0Volt

0Volt

1Volt

1Volt

1Volt

1Volt

1Volt

0Volt

CalledaNANDgate(NOTAND)

Page 18: CS 110 Computer Architecture - MARS Lab

X Y

0Volt

1Volt

0Volt

1Volt

0Volt

0Volt

1Volt

1Volt

Clickers/PeerInstruction

1V

X Y

0v

Z

18

Volts

Volts

Volts

Volts

Z

0 0 1

0 1 0

0 1 0 1

1 1 0 0

A B C

Page 19: CS 110 Computer Architecture - MARS Lab

• Commoncombinationallogicsystemshavestandardsymbolscalledlogicgates

– Buffer,NOT

– AND,NAND

– OR,NOR

CombinationalLogicSymbols

Z

AB Z

Z

A

AB

Invertingversions(NOT,NAND,NOR)easiest

toimplement withCMOStransistors (the

switcheswehaveavailableandusemost)

19

1V

X Y

0V

1V

XY

0V

Page 20: CS 110 Computer Architecture - MARS Lab

Remember…

•AND•OR

20

Page 21: CS 110 Computer Architecture - MARS Lab

Admin

• Project1.1willbepublishedsoon– SendyourLabTAyouradditionalemail– youwillnotbeabletosubmityourprojecttogradebotwithout!

• MidtermI:April6th!– Allowedmaterial:1hand-writtenEnglishdouble-sidedA4cheatsheet.

–MIPSgreencardprovidedbyus!– Content:Numberrepresentation,C,MIPS– ReviewsessiononMarch30th.

21

Page 22: CS 110 Computer Architecture - MARS Lab

BooleanAlgebra

• Useplus“+”forOR– “logicalsum” 1+0=0+1=1(True);1+1=2(True);0+0=0(False)

• UseproductforAND(a�b orimpliedviaab)– “logicalproduct”0*0=0*1=1*0=0(False);1*1=1(True)

• “Hat”tomeancomplement(NOT)• Thusab +a+c

= a�b +a+c= (aANDb)ORaOR(NOTc )

22

Page 23: CS 110 Computer Architecture - MARS Lab

TruthTablesforCombinationalLogic

23

F Y

AB

CD

0

Exhaustivelistoftheoutputvaluegeneratedforeachcombinationofinputs

HowmanylogicfunctionscanbedefinedwithNinputs?

Page 24: CS 110 Computer Architecture - MARS Lab

TruthTableExample#1:y=F(a,b):1iff a≠b

a b y0 0 00 1 11 0 11 1 0

24

Y=AB+AB

Y=A+B

XOR

Page 25: CS 110 Computer Architecture - MARS Lab

TruthTableExample#2:2-bitAdder

25

HowManyRows?

+ C1

A1A0

B1B0

C2

C0

Page 26: CS 110 Computer Architecture - MARS Lab

TruthTableExample#3:32-bitUnsignedAdder

26

HowManyRows?

Page 27: CS 110 Computer Architecture - MARS Lab

TruthTableExample#4:3-inputMajorityCircuit

27

Y=ABC+ABC+ABC+ABC

Y=BC+A(BC+BC)

Y=BC+A(B+C)

ThisiscalledSumofProductsform;JustanotherwaytorepresenttheTTasalogicalexpression

Moresimplifiedforms(fewergatesandwires)

Page 28: CS 110 Computer Architecture - MARS Lab

BooleanAlgebra:Circuit&AlgebraicSimplification

28

Page 29: CS 110 Computer Architecture - MARS Lab

RepresentationsofCombinationalLogic(groupsoflogicgates)

TruthTable

GateDiagramBooleanExpression

SumofProducts,ProductofSumsMethods

EnumerateInputs

EnumerateInputs

UseEquivalencybetweenbooleanoperatorsand

gates

Page 30: CS 110 Computer Architecture - MARS Lab

LawsofBooleanAlgebra

30

XX=0X0=0X1=XXX=XXY=YX

(XY)Z=Z(YZ)X(Y+Z)=XY+XZ

XY+X=XXY+X=X+YXY=X+Y

X+X=1X+1=1X+0=XX+X=X

X+Y=Y+X(X+Y)+Z=Z+(Y+Z)X+YZ=(X+Y)(X+Z)

(X+Y)X=X(X+Y)X=XYX+Y=XY

ComplementarityLawsof0’sand1’s

IdentitiesIdempotentLawsCommutativityAssociativityDistribution

UnitingTheoremUnitingTheoremv.2DeMorgan’s Law

Page 31: CS 110 Computer Architecture - MARS Lab

BooleanAlgebraicSimplificationExample

31

Page 32: CS 110 Computer Architecture - MARS Lab

BooleanAlgebraicSimplificationExample

32

ab c y00000011010001111001101111011111

Page 33: CS 110 Computer Architecture - MARS Lab

Question

• SimplifyZ=A+BC+A(BC)

• A: Z=0• B: Z=A(1+BC)• C:Z=(A+BC)• D:Z=BC• E:Z=1

33

Page 34: CS 110 Computer Architecture - MARS Lab

News:OpenComputeProjectSummit:

Google&STMicroelectronics:48VtoChip• Point-of-Load-(PoL)Converter• 48Vto0.5V..1V..upto12V>300W@1V!• Efficiency:230VAC89.3%;48VDC92.1%

34

Page 35: CS 110 Computer Architecture - MARS Lab

35

Page 36: CS 110 Computer Architecture - MARS Lab

36

Page 37: CS 110 Computer Architecture - MARS Lab

SignalsandWaveformsan-1 an-1 a0

Noisy!Delay!

Page 38: CS 110 Computer Architecture - MARS Lab

SignalsandWaveforms:Grouping

Page 39: CS 110 Computer Architecture - MARS Lab

SignalsandWaveforms:CircuitDelay

2

3

3 4 5

10 0 1

5 13 4 6

Page 40: CS 110 Computer Architecture - MARS Lab

SampleDebuggingWaveform

Page 41: CS 110 Computer Architecture - MARS Lab

TypeofCircuits• SynchronousDigitalSystemsconsistoftwobasictypesofcircuits:• CombinationalLogic(CL)circuits

–Outputisafunctionoftheinputsonly,notthehistoryofitsexecution– E.g.,circuitstoaddA,B(ALUs)

• SequentialLogic(SL)• Circuitsthat“remember”orstoreinformation• aka“StateElements”• E.g.,memoriesandregisters(Registers)

41

Page 42: CS 110 Computer Architecture - MARS Lab

UsesforStateElements

• Placetostorevaluesforlaterre-use:– Registerfiles(like$1-$31inMIPS)–Memory(cachesandmainmemory)

• Helpcontrolflowofinformationbetweencombinationallogicblocks– Stateelementsholdupthemovementofinformationatinputtocombinationallogicblockstoallowfororderlypassage

42

Page 43: CS 110 Computer Architecture - MARS Lab

AccumulatorExample

Want: S=0; for (i=0;i<n;i++)

S = S + Xi

Whydoweneedtocontroltheflowofinformation?

Assume:• EachXvalueisappliedinsuccession,onepercycle• AfterncyclesthesumispresentonS

43

SUMXi S

Page 44: CS 110 Computer Architecture - MARS Lab

FirstTry:Doesthiswork?

44

No!Reason#1:Howtocontrolthenextiterationofthe‘for’loop?Reason#2:Howdowesay:‘S=0’?

Feedback

Page 45: CS 110 Computer Architecture - MARS Lab

SecondTry:HowAboutThis?

45

Roughtiming…

Registerisusedtoholdupthetransferofdatatoadder

Time

High(1)Low(0)

High(1)Low(0)

RoundedRectangleperclockmeanscouldbe1or0

High(1)Low(0)

Squarewaveclocksetswhenthingschange

Ximustbereadybeforeclockedgeduetoadderdelay