1.07k likes | 1.45k Views
William Stallings Computer Organization and Architecture 9 th Edition. Chapter 11. Digital Logic. Boolean Algebra. Mathematical discipline used to design and analyze the behavior of the digital circuitry in digital computers and other digital systems Named after George Boole
E N D
William Stallings Computer Organization and Architecture9th Edition
Chapter 11 Digital Logic
Boolean Algebra • Mathematical discipline used to design and analyze the behavior of the digital circuitry in digital computers and other digital systems • Named after George Boole • English mathematician • Proposed basic principles of the algebra in 1854 • Claude Shannon suggested Boolean algebra could be used to solve problems in relay-switching circuit design • Is a convenient tool: • Analysis • It is an economical way of describing the function of digital circuitry • Design • Given a desired function, Boolean algebra can be applied to develop a simplified implementation of that function
Boolean Variables and Operations • Makes use of variables and operations • Are logical • A variable may take on the value 1 (TRUE) or 0 (FALSE) • Basic logical operations are AND, OR, and NOT • AND • Yields true (binary value 1) if and only if both of its operands are true • In the absence of parentheses the AND operation takes precedence over the OR operation • When no ambiguity will occur the AND operation is represented by simple concatenation instead of the dot operator • OR • Yields true if either or both of its operands are true • NOT • Inverts the value of its operand
Table 11.1Boolean Operators (a) Boolean Operators of Two Input Variables (b) Boolean Operators Extended to More than Two Inputs (A, B, . . .)
Table 11.2Basic Identities of Boolean Algebra Table 11.2 Basic Identities of Boolean Algebra
Boolean Function of Three Variables Table 11.3 A Boolean Function of Three Variables
Algebraic Simplification • Involves the application of the identities of Table 11.2 to reduce the Boolean expression to one with fewer elements
Karnaugh Map A convenient way of representing a Boolean function of a small number (up to four) of variables
Example Karnaugh Maps
Overlapping Groups
Table 11.4Truth Table for the One-Digit Packed Decimal Incrementer Table 11.4 Truth Table for the One-Digit Packed Decimal Incrementer
Figure 11.10
Quine-McCluskey MethodAn Example 1. Find all the prime implicants Group the minterms according to the number of 1s in the minterm. This way we only have to compare minterms from adjacent groups. group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II Combining group 0 and group 1: CMPUT 329 - Computer Organization and Architecture II
0,1 000- group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II Combining group 0 and group 1: CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 Combining group 0 and group 1: CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II Does it make sense to no combine group 0 with group 2 or 3? 0,1 000- 0,2 00-0 0,8 -000 No, there are at least two bits that are different. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II Does it make sense to no combine group 0 with group 2 or 3? 0,1 000- 0,2 00-0 0,8 -000 No, there are at least two bits that are different. Thus, next we combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- Combine group 1 and group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 Again, there is no need to try to combine group 1 with group 2. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 Again, there is no need to try to combine group 1 with group 3. Lets try to combine group 2 with group 23. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 Combine group 2 and group 3. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 Combine group 2 and group 3. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 6,7 011- Combine group 2 and group 3. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 6,7 011- 6,14 -110 Combine group 2 and group 3. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 6,7 011- 6,14 -110 Combine group 2 and group 3. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 6,7 011- 6,14 -110 Combine group 2 and group 3. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 6,7 011- 6,14 -110 Combine group 2 and group 3. CMPUT 329 - Computer Organization and Architecture II
group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 6,7 011- 6,14 -110 10,14 1-10 We have now completed the first step. All minterms in column I were included. We can divide column II into groups. CMPUT 329 - Computer Organization and Architecture II
Column I Column II 0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 6,7 011- 6,14 -110 10,14 1-10 group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example CMPUT 329 - Computer Organization and Architecture II
0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 6,7 011- 6,14 -110 10,14 1-10 group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II Column III CMPUT 329 - Computer Organization and Architecture II
0,1 000- 0,2 00-0 0,8 -000 1,5 0-01 1,9 -001 2,6 0-10 2,10 -010 8,9 100- 8,10 10-0 5,7 01-1 6,7 011- 6,14 -110 10,14 1-10 group 0 0 0000 1 0001 2 0010 8 1000 group 1 5 0101 6 0110 9 1001 10 1010 group 2 7 0111 14 1110 group 3 Quine-McCluskey MethodAn Example Column I Column II Column III CMPUT 329 - Computer Organization and Architecture II