realization of binary operations
TRANSCRIPT
![Page 1: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/1.jpg)
REALIZATION OF BINARY
OPERATIONSLecture 6.
![Page 2: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/2.jpg)
• Binary operations are realized in the ALU, that can be structured in:
• serial form:
• the operations are performed bitwise, from the lowest local value toward to the higher local value,
• parallel form:
• all the operations are performed in one step in every local values,
• mixed form:
• generally used.
• Every type of artithmetic operations can be realized by addition:
• substraction,
• multiplication,
• division.
18/10/2018 147
ALU
Realization of Arithmetic Operations
![Page 3: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/3.jpg)
• ALU:
18/10/2018 148
ALU
Realization of Arithmetic Operations
source: M. Rafiquzzaman, Fundamentals of Digital Logic and Microcomputer Design, 5th Edition
![Page 4: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/4.jpg)
• Due to the importance of the addition, the time required to add numbers plays an
important role in determining the speed of the ALU,
• Main types of the 1-bit adders:
• full-adder:
• half-adder:
18/10/2018 149
Adder
Realization of Arithmetic Operations
+
A i
B i
S i
C i
C i-1
1/2+
A i
B i
S i
C i
![Page 5: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/5.jpg)
• If we add three (2+CY) bits:
02 02 02 12 12
+02 +12 +02 +02 +12
02 12 12 102 112
• full adder: adds binary numbers and accounts for valuescarried in as well as out,
• a one-bit full adder adds three one-bit numbers, where Ai and Bi
are the operands and Ci-1 is a bit carried in form the previousless-significant stage,
• a full adder is usually a component of adders, which adds 8, 16, 32, 64, etc bits binary numbers.
18/10/2018 150
Adder
Realization of Arithmetic Operations
+
A i
B i
S i
C i
C i-1
CYCYCY CYCY CYCY CY CYCY
![Page 6: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/6.jpg)
• Thruth table of a one-bit full-adder:
18/10/2018 151
Adder
Realization of Arithmetic Operations
+
A i
B i
S i
C i
C i-1
![Page 7: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/7.jpg)
• Karnaugh maps:
18/10/2018 152
Adder
Realization of Arithmetic Operations
+
A i
B i
S i
C i
C i-1
1 1
1 1Ai
Bi
Ci-1
Si
1
1 1 1Ai
Bi
Ci-1
Ci
![Page 8: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/8.jpg)
• Logical functions:
• 𝑆𝑖 = 𝐴𝑖 ⊕𝐵𝑖 ⊕𝐶𝑖−1 (XOR)
• 𝐶𝑖 = 𝐴𝑖𝐵𝑖 + 𝐶𝑖−1(𝐴𝑖 + 𝐵𝑖)
18/10/2018 153
Adder
Realization of Arithmetic Operations
1 1
1 1Ai
Bi
Ci-1
Si
1
1 1 1Ai
Bi
Ci-1
Ci
![Page 9: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/9.jpg)
• Realization:
• 𝑆𝑖 = 𝐴𝑖 ⊕𝐵𝑖 ⊕𝐶𝑖−1 (XOR)
• 𝐶𝑖 = 𝐴𝑖𝐵𝑖 + 𝐶𝑖−1(𝐴𝑖 + 𝐵𝑖)
18/10/2018 154
Adder
Realization of Arithmetic Operations
![Page 10: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/10.jpg)
• If we add two bits:
02 02 12
+02 +12 +12
02 12 102
• full adder: adds two single binary digits,
• a one-bit half-full adder adds two one-bit numbers, where Ai and Bi
are the operands,
• it has two outputs, where the carry represents an overflow in to the
next digit.
18/10/2018 155
Adder
Realization of Arithmetic Operations
CYCY CY
1/2+
A i
B i
S i
C i
![Page 11: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/11.jpg)
• Thruth table of a one-bit half-adder:
18/10/2018 156
Adder
Realization of Arithmetic Operations
1/2+
A i
B i
S i
C i
![Page 12: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/12.jpg)
• Logical functions and realization:
• 𝑆𝑖 = 𝐴𝑖 ⊕𝐵𝑖 (XOR)
• 𝐶𝑖 = 𝐴𝑖𝐵𝑖
18/10/2018 157
Adder
Realization of Arithmetic Operations
![Page 13: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/13.jpg)
• Complex Adders:
• to add more digits,
• Serial Adder:
• the result will be in the
operand A,
• it is slow.
18/10/2018 158
Adder
Realization of Arithmetic Operations
A
+
A i
BB i
S i
C i
C i-1
storage
stepper (CU, shifter)
![Page 14: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/14.jpg)
• Complex Adders:
• to add more digits,
• Riple-Carry Adder (paralell adder):
• to add N-bits,
• in this case, the adder is simple, that allows fast design time,
• the ripple-carry adder is relative slow, because each full-adder must wait for the carry bit, calculated
from the previous adder, this is called the gate-daley (∆t),
• if the gate delay of a full-adder is 3*∆t, the result will be correct in time: n* ∆t, e.g the total gate
delay in a case of addition of two 32 bits number: 31*3* ∆t (full adders) + 1* ∆t (half-adder), the
total delay=94* ∆t
• if this time is not acceptable, it must to accelerate the addition
18/10/2018 159
Adder
Realization of Arithmetic Operations
![Page 15: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/15.jpg)
• Riple-Carry Adder (paralell adder):
18/10/2018 160
Adder
Realization of Arithmetic Operations
+
A3 B3
+ +
S2
AN-1 BN-1
C2
A2 B2
S3SN-1
C3CN-1
1/2+
S0
C 0
A0 B0
+
S1
C1
A1 B1
CN-2
…
![Page 16: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/16.jpg)
• Riple-Carry Adder (paralell adder):
• it is possible to build smaller units – 4-bit Riple-Carry Adder (or carry-prpagated adder, CPA) -,
because the carry is propagated serially through each full adder.
18/10/2018 161
Adder
Realization of Arithmetic Operations
source: M. Rafiquzzaman, Fundamentals of Digital Logic and Microcomputer Design, 5th Edition
![Page 17: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/17.jpg)
• Riple-Carry Adder (paralell adder):
• 16-bits CPA:
18/10/2018 162
Adder
Realization of Arithmetic Operations
source: M. Rafiquzzaman, Fundamentals of Digital Logic and Microcomputer Design, 5th Edition
![Page 18: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/18.jpg)
• Carry-lookahead adder:
• Idea: it is needed to determine the carry before the addition
• carry-look ahead logic uses the concept of generating and propagating carries,
• in the case of binary addition, A+B generates carry, if, and only if both A and B are 1.
• G(A,B)=A*B
• the addition of two 1-digit inputs A and B is said to be propagate, if the addition will carry
whenever there is an input carry,
• in the case of binary addition, A+B propagates a carry, if and only if at least one of A or B is 1
• P(A,B)=A+B
18/10/2018 163
Adder
Realization of Arithmetic Operations
![Page 19: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/19.jpg)
• Recursive Transfer Training method:
• 𝐶𝑖 = 𝐺𝑖 + 𝑃𝑖 ∗ 𝐶𝑖−1
• 𝐶0 = 𝐺0 = 𝐴0𝐵0• 𝐶1 = 𝐺1 + 𝑃1𝐶0 = 𝐴1𝐵1 + (𝐴1 + 𝐵1)𝐴0𝐵0• 𝐶2 = 𝐺2 + 𝑃2𝐶1 = 𝐴2𝐵2 + 𝐴2 + 𝐵2 𝐴1𝐵1 + 𝐴1 + 𝐵1 𝐴0𝐵0 =
• = 𝐴2𝐵2 + 𝐴2 + 𝐵2 𝐴1𝐵1 + 𝐴0𝐴1𝐵0 + 𝐴0𝐵0𝐵1 =
• = 𝐴2𝐵2 + 𝐴1𝐴2𝐵1 + 𝐴0𝐴1𝐴2𝐵0 + 𝐴0𝐴2𝐵0𝐵1 + 𝐴1𝐵1𝐵2 + 𝐴0𝐴1𝐵0𝐵2 + 𝐴0𝐵0𝐵1𝐵2• …
• It means a complicated 2-levels combinational logical network, and contains the gate delays
• e.g. a standard 16 bit adder would take 46 gate delays, with this method it is just 5 (2+3) gate delays
18/10/2018 164
Adder
Realization of Arithmetic Operations
![Page 20: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/20.jpg)
• Carry-lookahead adder:
18/10/2018
Adder
+
A
Operands
+ +
S i-1
B
S iS i+1
C i C i-1 C i-2
carry generating combinational network
Realization of Arithmetic Operations 165
![Page 21: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/21.jpg)
• Carry-lookahead adder:
• 4-bits CLA, e.g.
• BA: Basic-Adder
18/10/2018
Adder
166
source: M. Rafiquzzaman, Fundamentals of Digital Logic and Microcomputer Design, 5th Edition
Realization of Arithmetic Operations
![Page 22: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/22.jpg)
• BCD Adder:
• Truth Table (see earlier):
• we have to create an addition
if the result is beetween
9<Res<16,
• if the result is bigger then
15, it is needed to create the
decimal adjust
• C=Z4*Z8+Z2*Z8 +Ch
18/10/2018 167
Adder
Realization of Arithmetic Operations
Ai+Bi
wrong ResZ8 Z4 Z2 Z1
good ResS8 S4 S2 S1
DA correction
0 0000 0000
No DA Not necessary
1 0001 0001
2 0010 0010
3 0011 0011
4 0100 0100
5 0101 0101
6 0110 0110
7 0111 0111
8 1000 1000
9 1001 1001
10 1010 0000
No DA, it has to generate it
+6 (+0110)
11 1011 0001
12 1100 0010
13 1101 0011
14 1110 0100
15 1111 0101
16 (1)0000 0110
it generates17 (1)0001 0111
18 (1)0010 1000
![Page 23: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/23.jpg)
• BCD adder for two tetrades:
18/10/2018
Adder
Realization of Arithmetic Operations 168
![Page 24: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/24.jpg)
• Multiplication by 2:
• or with 2x
• Division by 2:
• or with 2x
18/10/2018 169
Shifting
Realization of Arithmetic Operations
![Page 25: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/25.jpg)
• Multiplication by
leftforward shihting,
4x4 Array Multiplier:
18/10/2018 170
Multiplication
Realization of Arithmetic Operations
source: M. Rafiquzzaman, Fundamentals of Digital Logic and Microcomputer Design, 5th Edition
![Page 26: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/26.jpg)
• https://www.youtube.com/watch?v=K79wfflmLNo
• https://www.youtube.com/watch?v=1I5ZMmrOfnA
• https://www.youtube.com/watch?v=fpnE6UAfbtU
• https://www.youtube.com/watch?v=FZGugFqdr60
18/10/2018 171
ALU
Realization of Arithmetic Operations
![Page 27: REALIZATION OF BINARY OPERATIONS](https://reader031.vdocuments.site/reader031/viewer/2022020622/61ee78bb6f69305c6340a0b3/html5/thumbnails/27.jpg)
End of Lecture 6.
Thank you for your attention!