penn ese534 spring2014 -- dehon 1 ese534: computer organization day 3: february 3, 2014 arithmetic...
TRANSCRIPT
![Page 1: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/1.jpg)
Penn ESE534 Spring2014 -- DeHon1
ESE534:Computer Organization
Day 3: February 3, 2014
Arithmetic
Work preclass exercise
![Page 2: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/2.jpg)
Penn ESE534 Spring2014 -- DeHon2
Last Time
• Boolean logic computing any finite function
• Saw gates…and a few properties of logic
![Page 3: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/3.jpg)
Penn ESE534 Spring2014 -- DeHon3
Today
• Addition– organization– parts of design space– parallel prefix– area and time requirements
![Page 4: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/4.jpg)
Penn ESE534 Spring2014 -- DeHon4
Why?
• Start getting a handle on – Complexity
• Area and time• Area-time tradeoffs
– Parallelism– Regularity
• Arithmetic underlies much computation– grounds out complexity
![Page 5: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/5.jpg)
Preclass
Penn ESE534 Spring2014 -- DeHon5
![Page 6: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/6.jpg)
Circuit 1
• Can the delay be reduced?• How?• To what?
Penn ESE534 Spring2014 -- DeHon6
![Page 7: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/7.jpg)
Tree Reduce AND
Penn ESE534 Spring2014 -- DeHon7
![Page 8: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/8.jpg)
Circuit 2
• Can the delay be reduced?
Penn ESE534 Spring2014 -- DeHon8
![Page 9: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/9.jpg)
Circuit 3
• Can the delay be reduced?
Penn ESE534 Spring2014 -- DeHon9
![Page 10: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/10.jpg)
Brute Force Multi-Output AND
• How big?• ~38 here • … in general about N2/2
Penn ESE534 Spring2014 -- DeHon10
![Page 11: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/11.jpg)
Brute Force Multi-Output AND
• Can we do better?
Penn ESE534 Spring2014 -- DeHon11
![Page 12: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/12.jpg)
Circuit 4
• Can the delay be reduced?
Penn ESE534 Spring2014 -- DeHon12
![Page 13: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/13.jpg)
Addition
Penn ESE534 Spring2014 -- DeHon13
![Page 14: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/14.jpg)
Penn ESE534 Spring2014 -- DeHon14
C: 00A: 01101101010B: 01100101100S: 0
C: 000A: 01101101010B: 01100101100S: 10
C: 0000A: 01101101010B: 01100101100S: 110
C: 10000A: 01101101010B: 01100101100S: 0110
C: 010000A: 01101101010B: 01100101100S: 10110
C: 1010000A: 01101101010B: 01100101100S: 010110
C: 11010000A: 01101101010B: 01100101100S: 0010110
C: 011010000A: 01101101010B: 01100101100S: 10010110
C: 1011010000A: 01101101010B: 01100101100S: 010010110
C: 11011010000A: 01101101010B: 01100101100S: 1010010110
C: 11011010000A: 01101101010B: 01100101100S: 11010010110
Example: Bit Level Addition• Addition
– Base 2 example– Work together
A: 01101101010B: 01100101100S:
C: 0A: 01101101010B: 01100101100S:
![Page 15: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/15.jpg)
Penn ESE534 Spring2014 -- DeHon15
Addition Base 2• A = an-1*2(n-1)+an-2*2(n-2)+... a1*21+ a0*20
= (ai*2i)
• S=A+B
• What is the function for si … carryi?
• si= carryi xor ai xor bi
• carryi = ( ai-1 + bi-1 + carryi-1) 2
= ai-1*bi-1+ai-1*carryi-1 + bi-1*carryi-1
= MAJ(ai-1,bi-1,carryi-1)
![Page 16: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/16.jpg)
Penn ESE534 Spring2014 -- DeHon16
Ripple Carry Addition• Shown operation of each bit
• Often convenient to define logic for each bit, then assemble:– bit slice
![Page 17: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/17.jpg)
Penn ESE534 Spring2014 -- DeHon17
Ripple Carry Analysis
• Area: O(N) [6n]
• Delay: O(N) [2n]
What is area and delay for N-bit RA adder? [unit delay gates]
![Page 18: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/18.jpg)
Penn ESE534 Spring2014 -- DeHon18
Can we do better?
• Lower delay?
![Page 19: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/19.jpg)
Penn ESE534 Spring2014 -- DeHon19
Leading Question
• Do we have to wait for the carry to show up to begin doing useful work?– We do have to know the carry to get the
right answer.– How many values can the carry take on?
![Page 20: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/20.jpg)
Penn ESE534 Spring2014 -- DeHon20
Idea
• Compute both possible values and select correct result when we know the answer
![Page 21: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/21.jpg)
Penn ESE534 Spring2014 -- DeHon21
Preliminary Analysis
• Delay(RA) --Delay Ripple Adder
• Delay(RA(n)) = k*n [k=2 this example]
• Delay(RA(n)) = 2*(k*n/2)=2*DRA(n/2)
• Delay(P2A) -- Delay Predictive Adder
• Delay(P2A)=DRA(n/2)+D(mux2)
• …almost half the delay!
![Page 22: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/22.jpg)
Penn ESE534 Spring2014 -- DeHon22
Recurse
• If something works once, do it again.
• Use the predictive adder to implement the first half of the addition
![Page 23: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/23.jpg)
Recurse
Penn ESE534 Spring2014 -- DeHon23
![Page 24: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/24.jpg)
Penn ESE534 Spring2014 -- DeHon24
Recurse
Redundant (can share)
N/4
![Page 25: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/25.jpg)
Penn ESE534 Spring2014 -- DeHon25
Recurse
• If something works once, do it again.
• Use the predictive adder to implement the first half of the addition
• Delay(P4A(n))=Delay(RA(n/4)) + D(mux2) + D(mux2)
• Delay(P4A(n))=Delay(RA(n/4))+2*D(mux2)
![Page 26: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/26.jpg)
Penn ESE534 Spring2014 -- DeHon26
Recurse• By know we realize we’ve been using the wrong
recursion– should be using the Predictive Adder in the recursion
• Delay(PA(n)) = Delay(PA(n/2)) + D(mux2)– Contrast: Delay(P2A)=DRA(n/2)+D(mux2)
• Every time cut in half we add a D(mux2). • How many times cut in half?
• Delay(PA(n))=log2(n)*D(mux2)+C
– C = Delay(PA(1)) • if use FA for PA(1), then C=2
![Page 27: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/27.jpg)
Conclude
• Can perform addition in delay logarithmic in width of operands.
Penn ESE534 Spring2014 -- DeHon27
![Page 28: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/28.jpg)
Penn ESE534 Spring2014 -- DeHon28
Another Way
(Parallel Prefix)
![Page 29: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/29.jpg)
Penn ESE534 Spring2014 -- DeHon29
CLA
• Think about each adder bit as a computing a function on the carry in– C[i]=g(c[i-1])– Particular function f will
depend on a[i], b[i]– g=f(a,b)
![Page 30: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/30.jpg)
Penn ESE534 Spring2014 -- DeHon30
Functions
• What are the functions g(c[i-1])?– g(c)=carry(a=0,b=0,c)– g(c)=carry(a=1,b=0,c)– g(c)=carry(a=0,b=1,c)– g(c)=carry(a=1,b=1,c)
![Page 31: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/31.jpg)
Penn ESE534 Spring2014 -- DeHon31
Functions
• What are the functions g(c[i-1])?– g(x)=1 Generate
• a[i]=b[i]=1
– g(x)=x Propagate• a[i] xor b[i]=1
– g(x)=0 Squash• a[i]=b[i]=0
![Page 32: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/32.jpg)
Penn ESE534 Spring2014 -- DeHon32
Combining
• Want to combine functions– Compute c[i]=gi(gi-1(c[i-2]))
– Compute compose of two functions
• What functions will the compose of two of these functions be?– Same as before
• Propagate, generate, squash
![Page 33: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/33.jpg)
Penn ESE534 Spring2014 -- DeHon33
Compose Rules(LSB MSB)
• GG• GP • GS• PG• PP• PS
• SG• SP• SS
[work on board]
![Page 34: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/34.jpg)
Penn ESE534 Spring2014 -- DeHon34
Compose Rules (LSB MSB)
• GG = G• GP = G• GS = S• PG = G• PP = P• PS = S
• SG = G• SP = S• SS = S
![Page 35: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/35.jpg)
Penn ESE534 Spring2014 -- DeHon35
Combining
• Do it again…
• Combine g[i-3,i-2] and g[i-1,i]
• What do we get?
![Page 36: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/36.jpg)
Penn ESE534 Spring2014 -- DeHon36
Reduce Tree
![Page 37: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/37.jpg)
Penn ESE534 Spring2014 -- DeHon37
Reduce Tree
• Sq=/A*/B
• Gen=A*B
• Sqout=Sq1+/Gen1*Sq0
• Genout=Gen1+/Sq1*Gen0
![Page 38: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/38.jpg)
Penn ESE534 Spring2014 -- DeHon38
Reduce Tree
• Sq=/A*/B• Gen=A*B
• Sqout=Sq1+/Gen1*Sq0
• Genout=Gen1+/Sq1*Gen0
• Delay and Area?
![Page 39: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/39.jpg)
Penn ESE534 Spring2014 -- DeHon39
Reduce Tree
• Sq=/A*/B• Gen=A*B
• Sqout=Sq1+/Gen1*Sq0
• Genout=Gen1+/Sq1*Gen0
• A(Encode)=2
• D(Encode)=1
• A(Combine)=4
• D(Combine)=2
• A(Carry)=2
• D(Carry)=1
![Page 40: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/40.jpg)
Penn ESE534 Spring2014 -- DeHon40
Reduce Tree: Delay?
• D(Encode)=1
• D(Combine)=2
• D(Carry)=1
Delay = 1+2log2(N)+1
![Page 41: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/41.jpg)
Penn ESE534 Spring2014 -- DeHon41
Reduce Tree: Area?
• A(Encode)=2
• A(Combine)=4
• A(Carry)=2
Area= 2N+4(N-1)+2
![Page 42: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/42.jpg)
Penn ESE534 Spring2014 -- DeHon42
Reduce Tree: Area & Delay
• Area(N) = 6N-2
• Delay(N) = 2log2(N)+2
![Page 43: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/43.jpg)
How Relate?
Penn ESE534 Spring2014 -- DeHon43
![Page 44: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/44.jpg)
Need
Penn ESE534 Spring2014 -- DeHon44Need PG[i:0] forall i
![Page 45: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/45.jpg)
Intermediates
• Can we compute intermediates efficiently?
Penn ESE534 Spring2014 -- DeHon45
![Page 46: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/46.jpg)
Intermediates
• Share common terms
Penn ESE534 Spring2014 -- DeHon46
![Page 47: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/47.jpg)
Penn ESE534 Spring2014 -- DeHon47
Reduce Tree
• While computing PG[N,0] compute many PG[i,j]’s – PG[1,0], PG[3,0], PG[7,0] ….
![Page 48: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/48.jpg)
Penn ESE534 Spring2014 -- DeHon48
Prefix Tree• While computing PG[N,0] only get
– PG[2n-1,0]
• How fillin holes?
![Page 49: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/49.jpg)
Penn ESE534 Spring2014 -- DeHon49
Prefix Tree• Look at Symmetric stage (with respect
to middle=PG[N,0] stage) and combine to fillin
![Page 50: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/50.jpg)
Penn ESE534 Spring2014 -- DeHon50
Prefix Tree
![Page 51: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/51.jpg)
Penn ESE534 Spring2014 -- DeHon51
Prefix Tree
![Page 52: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/52.jpg)
Penn ESE534 Spring2014 -- DeHon52
Prefix Tree
• Bring in Carry and compute each intermediate carry-in
![Page 53: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/53.jpg)
Penn ESE534 Spring2014 -- DeHon53
Prefix Tree• Note: prefix-tree
is same size as reduce tree– Always matched
same number of elements in symmetric stage
![Page 54: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/54.jpg)
Parallel Prefix Area and Delay?
• Roughly twice the area/delay• Area= 2N+4N+4N+2N
= 12N
• Delay = 4log2(N)+2
• Conclude:can add in log timewith linear area.
Penn ESE534 Spring2014 -- DeHon54
![Page 55: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/55.jpg)
Penn ESE534 Spring2014 -- DeHon55
Parallel Prefix
• Important Pattern• Applicable any time operation is associative– Or can be made assoc. as in MAJ case
• Examples of associative functions?– Non-associative?
• Function Composition is always associative
![Page 56: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/56.jpg)
Penn ESE534 Spring2014 -- DeHon56
Note: Constants Matter
• Watch the constants• Asymptotically this Carry-Lookahead Adder
(CLA) is great• For small adders can be smaller with
– fast ripple carry
– larger combining than 2-ary tree
– mix of techniques
• …will depend on the technology primitives and cost functions
![Page 57: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/57.jpg)
Penn ESE534 Spring2014 -- DeHon57
Two’s Complement
• positive numbers in binary
• negative numbers
– subtract 1 and invert
– (or invert and add 1)
![Page 58: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/58.jpg)
Penn ESE534 Spring2014 -- DeHon58
Two’s Complement
• 2 = 010
• 1 = 001
• 0 = 000
• -1 = 111
• -2 = 110
![Page 59: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/59.jpg)
Penn ESE534 Spring2014 -- DeHon59
Addition of Negative Numbers?
• …just works
A: 111B: 001S: 000
A: 110B: 001S: 111
A: 111B: 010S: 001
A: 111B: 110S: 101
![Page 60: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/60.jpg)
Penn ESE534 Spring2014 -- DeHon60
Addition of Negative Numbers?
• …just works
A: 111B: 001S:
A: 110B: 001S:
A: 111B: 010S:
A: 111B: 110S:
What does addition give (binary bits).Then what is addition saying (in normal integers).
![Page 61: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/61.jpg)
Penn ESE534 Spring2014 -- DeHon61
Subtraction• Negate the subtracted input and use adder
– which is:
• invert input and add 1• works for both positive and negative input
–001 110 +1 = 111–111 000 +1 = 001–000 111 +1 = 000–010 101 +1 = 110–110 001 +1 = 010
![Page 62: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/62.jpg)
Penn ESE534 Spring2014 -- DeHon62
Subtraction (add/sub)
• Note: you can use the “unused” carry input at the LSB to perform the “add 1”
![Page 63: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/63.jpg)
Penn ESE534 Spring2014 -- DeHon63
Overflow?
• Overflow=(A.s==B.s)*(A.s!=S.s)
A: 111B: 001S: 000
A: 110B: 001S: 111
A: 111B: 010S: 001
A: 111B: 110S: 101
A: 001B: 001S: 010
A: 011B: 001S: 100
A: 111B: 100S: 011
![Page 64: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/64.jpg)
Penn ESE534 Spring2014 -- DeHon64
Big Ideas[MSB Ideas]
• Can build arithmetic out of logic
![Page 65: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/65.jpg)
Penn ESE534 Spring2014 -- DeHon65
Big Ideas[MSB-1 Ideas]
• Associativity
• Parallel Prefix
• Can perform addition – in log time– with linear area
![Page 66: Penn ESE534 Spring2014 -- DeHon 1 ESE534: Computer Organization Day 3: February 3, 2014 Arithmetic Work preclass exercise](https://reader035.vdocument.in/reader035/viewer/2022070415/5697bf781a28abf838c81f5c/html5/thumbnails/66.jpg)
Admin
• HW1 due Wednesday
• Office Hours Tuesday 4:15pm—5:30pm
• HW2 out today
• Reading for Wednesday online
Penn ESE534 Spring2014 -- DeHon66