hardware for arithmetic
play

HARDWARE FOR ARITHMETIC Mahdi Nazm Bojnordi Assistant Professor - PowerPoint PPT Presentation

HARDWARE FOR ARITHMETIC Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 3810: Computer Organization Overview Past lectures High-level stuff mostly on ISA, Assembly, and number representation This


  1. HARDWARE FOR ARITHMETIC Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 3810: Computer Organization

  2. Overview ¨ Past lectures ¤ High-level stuff mostly on ISA, Assembly, and number representation ¨ This lecture ¤ Basics of logic design ¤ Hardware for arithmetic

  3. Fundamentals of Digital Design ¨ Binary logic: two voltage levels ¤ high and low; 1 and 0; true and false ¨ Binary arithmetic ¤ Based on a 3-terminal device that acts as a switch V V 0 V V 0 Conducting Non-conducting 0 0

  4. Logic Blocks ¨ A logic block comprises binary inputs and binary outputs ¤ Combinational: the output is only a function of the inputs ¤ Sequential: the block has some internal memory (state) that also influences the output ¨ Gate: a basic logic block that implements AND, OR, NOT, etc. Binary Binary Logic Block Inputs Outputs … …

  5. Logic Blocks: Truth Table ¨ A truth table defines the outputs of a logic block for each set of inputs ¤ Example: consider a block with 3 inputs A, B, C and an output E that is true only if exactly 2 inputs are true A B C E 0 0 0 0 0 0 1 0 A 0 1 0 0 Logic 0 1 1 1 B E Block 1 0 0 0 C 1 0 1 1 1 1 0 1 1 1 1 0

  6. Boolean Algebra ¨ Three primary operators are used to realize Boolean functions ¨ Boolean operations ¤ OR (symbol +) n X = A + B : X is true if at least one of A or B is true ¤ AND (symbol .) n X = A . B : X is true if both A and B are true ¤ NOT (symbol ) n X = A : X is the inverted value of A

  7. Pictorial Representation ¨ Logic gates AND OR NOT ¨ What function is the following?

  8. Boolean Algebra Rules ¨ Identity law ¨ Commutative laws ¤ A + 0 = A ¤ A + B = B + A ¤ A . 1 = A ¤ A . B = B . A ¨ Zero and One laws ¨ Associative laws ¤ A + 1 = 1 ¤ A + (B + C) = (A + B) + C ¤ A . 0 = 0 ¤ A . (B . C) = (A . B) . C ¨ Inverse laws ¨ Distributive laws ¤ A . A = 0 ¤ A . (B + C) = (A . B) + (A . C) ¤ A + A = 1 ¤ A + (B . C) = (A + B) . (A + C)

  9. DeMorgan’s Law ¨ A + B = A . B = ¨ A . B = A + B =

  10. Example: Boolean Equation ¨ Consider the logic block that has an output E that is true only if exactly two of the three inputs A, B, C are true ¨ Multiple correct equations ¤ Two must be true, but all three cannot be true n E = ((A . B) + (B . C) + (A . C)) . (A . B . C) ¤ Identify the three cases where it is true n E = (A . B . C) + (A . C . B) + (C . B . A)

  11. Implementing Boolean Functions ¨ Can realize any logic block with the AND, OR, NOT ¤ Draw the truth table ¤ For each true output, represent the corresponding inputs as a product ¤ The final equation is a sum of these products A B C E 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0

  12. Implementing Boolean Functions ¨ Can realize any logic block with the AND, OR, NOT ¤ Draw the truth table ¤ For each true output, represent the corresponding inputs as a product ¤ The final equation is a sum of these products A B C E 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 A.B.C 1 0 0 0 A.B.C 1 0 1 1 1 1 0 1 A.B.C 1 1 1 0

  13. Implementing Boolean Functions ¨ Can realize any logic block with the AND, OR, NOT ¤ Draw the truth table ¤ For each true output, represent the corresponding inputs as a product ¤ The final equation is a sum of these products A B C E Sum of Products 0 0 0 0 E = (A.B.C) + (A.B.C) + (A.B.C) 0 0 1 0 0 1 0 0 0 1 1 1 A.B.C 1 0 0 0 A.B.C 1 0 1 1 1 1 0 1 A.B.C 1 1 1 0

  14. Universal Gates ¨ Universal gate is a logic that can be used to implement any complex function ¤ NAND n Not of AND n A nand B = A.B ¤ NOR n Not of OR n A nor B = A+B

  15. Common Logic Block ¨ An n-input decoder takes n inputs, based on which only one out of 2 n outputs is activated I 0 I 1 I 2 O 0 O 1 O 2 O 3 O 4 O 5 O 6 O 7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 3-to-8 I 0-2 O 0-7 0 1 1 0 0 0 1 0 0 0 0 Decoder 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1

  16. Common Logic Block ¨ A multiplexer (or selector) reflects one of n inputs on the output depending on the value of the select bits ¤ Example: 2-input mux

  17. Common Logic Block ¨ A full adder generates the sum and carry for each bit position 1 0 0 1 0 1 0 1 Sum A B C in Sum C out Cout 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

  18. Common Logic Block ¨ A full adder generates the sum and carry for each bit position 1 0 0 1 0 1 0 1 1 1 1 0 Sum A B C in Sum C out Cout 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

  19. Common Logic Block ¨ A full adder generates the sum and carry for each bit position 1 0 0 1 0 1 0 1 1 1 1 0 Sum A B C in Sum C out Cout 0 0 0 1 0 0 0 0 0 0 0 1 1 0 Equations: 0 1 0 1 0 Sum = 0 1 1 0 1 C in .A.B + B.C in .A + A.C in .B + A.B.C in 1 0 0 1 0 Cout = 1 0 1 0 1 A.B.C in + A.B.C in + A.C in .B + B.C in .A = 1 1 0 0 1 A.B + A.C in + B.C in 1 1 1 1 1

  20. Common Logic Block ¨ A full adder generates the sum and carry for each bit position 1 0 0 1 0 1 0 1 1 1 1 0 Sum Cout 0 0 0 1 Equations: Sum = C in .A.B + B.C in .A + A.C in .B + A.B.C in Cout = A.B.C in + A.B.C in + A.C in .B + B.C in .A = A.B + A.C in + B.C in

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend