CS470: Computer Architecture. AMD Quad Core

Similar documents
Lecture 22 Chapters 3 Logic Circuits Part 1

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

( c) Give logic symbol, Truth table and circuit diagram for a clocked SR flip-flop. A combinational circuit is defined by the function

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS

Fundamentals of Boolean Algebra

211: Computer Architecture Summer 2016

DIGITAL LOGIC CIRCUITS

Review for Test 1 : Ch1 5

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6201 DIGITAL PRINCIPLES AND SYSTEM DESIGN

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

This form sometimes used in logic circuit, example:

Principles of Computer Architecture. Appendix B: Reduction of Digital Logic. Chapter Contents

SAU1A FUNDAMENTALS OF DIGITAL COMPUTERS

DIGITAL LOGIC CIRCUITS

Reg. No. Question Paper Code : B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER Second Semester. Computer Science and Engineering

Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic

Digital Logic Appendix A


KUMARAGURU COLLEGE OF TECHNOLOGY COIMBATORE

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

CS/COE0447: Computer Organization

Chapter 4: Designing Combinational Systems Uchechukwu Ofoegbu

Chapter 7 Logic Circuits

Lecture 5: NAND, NOR and XOR Gates, Simplification of Algebraic Expressions

Week-I. Combinational Logic & Circuits

Logic. Combinational. inputs. outputs. the result. system can

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

Boolean Algebra. Digital Logic Appendix A. Postulates, Identities in Boolean Algebra How can I manipulate expressions?

CS/COE0447: Computer Organization

Sample Test Paper - I

3 Logic Function Realization with MSI Circuits

CHAPTER1: Digital Logic Circuits Combination Circuits

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

For smaller NRE cost For faster time to market For smaller high-volume manufacturing cost For higher performance

Chapter 2 : Boolean Algebra and Logic Gates

Number System. Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary

Lecture A: Logic Design and Gates

Boolean Algebra. Digital Logic Appendix A. Boolean Algebra Other operations. Boolean Algebra. Postulates, Identities in Boolean Algebra

Chapter 2 Boolean Algebra and Logic Gates

CPE100: Digital Logic Design I

Fundamentals of Digital Design

CSC9R6 Computer Design. Practical Digital Logic

Combinatorial Logic Design Principles

Vidyalankar S.E. Sem. III [EXTC] Digital Electronics Prelim Question Paper Solution ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD = B

Combinational Logic Design Combinational Functions and Circuits

Karnaugh Maps (K-Maps)

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

Unit 9. Multiplexers, Decoders, and Programmable Logic Devices. Unit 9 1

CS/COE1541: Introduction to Computer Architecture. Logic Design Review. Sangyeun Cho. Computer Science Department University of Pittsburgh

L4: Karnaugh diagrams, two-, and multi-level minimization. Elena Dubrova KTH / ICT / ES

Boolean Algebra, Gates and Circuits

Programmable Logic Devices

Unit 2 Session - 6 Combinational Logic Circuits

ELCT201: DIGITAL LOGIC DESIGN

Ex: Boolean expression for majority function F = A'BC + AB'C + ABC ' + ABC.

Lecture 2 Review on Digital Logic (Part 1)

EC-121 Digital Logic Design

ALU A functional unit

Philadelphia University Student Name: Student Number:

COMBINATIONAL LOGIC FUNCTIONS

II. COMBINATIONAL LOGIC DESIGN. - algebra defined on a set of 2 elements, {0, 1}, with binary operators multiply (AND), add (OR), and invert (NOT):

Cs302 Quiz for MID TERM Exam Solved

Review. EECS Components and Design Techniques for Digital Systems. Lec 06 Minimizing Boolean Logic 9/ Review: Canonical Forms

Adders, subtractors comparators, multipliers and other ALU elements

Review for B33DV2-Digital Design. Digital Design

Fundamentals of Computer Systems

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

on candidate s understanding. 7) For programming language papers, credit may be given to any other program based on equivalent concept.

Combinational Logic Fundamentals

Chap 2. Combinational Logic Circuits

CPE/EE 422/522. Chapter 1 - Review of Logic Design Fundamentals. Dr. Rhonda Kay Gaede UAH. 1.1 Combinational Logic

Adders, subtractors comparators, multipliers and other ALU elements

Combinational Logic Design/Circuits

COSC3330 Computer Architecture Lecture 2. Combinational Logic

Midterm1 Review. Jan 24 Armita

Systems I: Computer Organization and Architecture

CS/COE0447: Computer Organization and Assembly Language

Logic Design. Chapter 2: Introduction to Logic Circuits

CMPE12 - Notes chapter 1. Digital Logic. (Textbook Chapter 3)

CPS311 Lecture: Introduction to Combinatorial Logic

Combinational vs. Sequential. Summary of Combinational Logic. Combinational device/circuit: any circuit built using the basic gates Expressed as

CS311 Lecture: Introduction to Digital Logic

SIR C.R.REDDY COLLEGE OF ENGINEERING ELURU DIGITAL INTEGRATED CIRCUITS (DIC) LABORATORY MANUAL III / IV B.E. (ECE) : I - SEMESTER

Synchronous Sequential Circuit

Introduction to Computer Engineering. CS/ECE 252, Fall 2012 Prof. Guri Sohi Computer Sciences Department University of Wisconsin Madison

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

Combinational Logic. Mantıksal Tasarım BBM231. section instructor: Ufuk Çelikcan

UNIT 5 KARNAUGH MAPS Spring 2011

CPS311 Lecture: Introduction to Digital Logic

UNIT 8A Computer Circuitry: Layers of Abstraction. Boolean Logic & Truth Tables

Propositional Logic. Logical Expressions. Logic Minimization. CNF and DNF. Algebraic Laws for Logical Expressions CSC 173

Chapter 2 Combinational logic

CPE100: Digital Logic Design I

DIGITAL LOGIC DESIGN

UNIVERSITY OF WISCONSIN MADISON

KP/Worksheets: Propositional Logic, Boolean Algebra and Computer Hardware Page 1 of 8

Transcription:

CS470: Computer Architecture Yashwant K. Malaiya, Professor malaiya@cs.colostate.edu AMD Quad Core 1

Architecture Layers Building blocks Gates, flip-flops Functional bocks: Combinational, Sequential Instruction set architecture Assembly/machine level Implementation using blocks Systems Processor + memory hierarchy 2

Optimization Objectives Reduce cost, complexity and power Combinational & sequential minimization Enhance performance Faster technology More Parallelism (of different types) Higher performance with lower cost Memory hierarchy Reliability Testing and verification Redundancy What else? 3

Combinational Circuits Gates & Boolean Algebra Functional blocks: Decoder, MUX, Adder Minimization Programmable logic Interlocking building blocks Propagation delays 4

Logic Design: Outline Gates, boolean algebra and truth tables Combinational logic and functional blocks (MUX, decoders, Adders, PLAs) Flip-flops, registers and memories Timing analysis Finite state machines Use of software packages for simulation 5

Basic hardware building blocks 6

OR and NOR A B OR 0 0 0 0 1 1 1 0 1 1 1 1 Inputs: 2 or more A B NOR 0 0 1 0 1 0 1 0 0 1 1 0 Output=A+B Output=A+B 7

AND and NAND A B AND 0 0 0 0 1 0 1 0 0 1 1 1 Inputs: 2 or more A B NAND 0 0 1 0 1 1 1 0 1 1 1 0 Output = A.B Output = A.B 8

Boolean Algebra x 0 0 x 1 x x x 0 x.0 = 0 x.1 = x x.x = 0 x 0 x x 1 1 x x 1 X+0 = x x+1 = 1 x+x = 1 9

Boolean Algebra (2) Commutative A+B = B+A Associative A+(B+C)=(A+B)+C A.(B.C)=(A.B).C Distributive A.(B+C)=A.B+A.C A+(B.C)=(A+B).(A+C) A.B = B.A 10

Boolean Algebra (3) DeMorgan s Law A.B = A+B A+B = A.B A B C = A B C A B A B AN D C 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 11

Some Useful Identities AB+AB = A AB+AB =A(B+B) =A A+AB = A A+AB =A(1+B) =A 12

Decoder A=0 B=1 0 1 0 0 Input Outputs A,B 00 1 0 0 0 01 0 1 0 0 10 0 0 1 0 11 0 0 0 1 13

MUX Multiplexer: selects one of the inputs and connects it to the output. A B A B A B C D S=1 S 1 1 1 1 2 S 1 0 B C 4 input MUX B 2-to-1 MUX 14

Tri-State Lines Tri-state: 0, 1 and high z (disconnected) Used for implementing buses Input A Control C Tri-state buffer Output Y = A if C = 1 High Z if C = 0 15

Boolean Functions A B C S 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 S=A.B.C + A.B.C + A.B.C + A.B.C A B C S 16

Simplification Some rules for simplification: A + A = A A A = A [Prove them] AB +AB = A [Use for joining or breaking] Proof: AB +AB = A(B +B) = A A+AB = A [Use for absorption] Proof: A+AB = A(1+B) = A 17

Karnaugh maps Objective: minimize literals. Based on set-theory Visual representation of algebraic functions Allow algorithmic minimization of boolean functions in sum-ofproducts form Note: ABC+ABC = AB(C+C )=AB Thus ABC and ABC are two pieces of AB. Minterms For n-variables, there are 2 n minterms, corresponding to each row of truth table. 18

Minterms A B C in C out 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 1 C out = A BC in + AB C in + ABC in + ABC in Involves four minterms 19

Combining Minterms Combining minterms F(a,b,c) = a b c +a b c+a bc +a bc minterms a b c +a b c combine to give a b minterms a bc +a bc combine to give a b Terms a b and a b combine to give a Two Adjacent terms: differ in only one variable, complemented in one, uncomplemented on the other. They combine to drop that variable. 20

Visualization of Boolean Functions Each box is a minterm. Adjacent minterms can be combined 2-variable maps X: lower half Y: right half 0 x y 0 1 x y 1 xy xy X 0 1 0 1 1 1 1 X Y = x+y Y 21

3-variable Kmaps B 00 01 11 10 0 1 1 1 1 1 1 A C F(A,B,C) = C +A B B 00 01 11 10 0 1 x 1 1 x 1 A C F(A,B,C) = AC +A B All 1 s must be covered. Don t cares (x) can be taken as either 0 or 1 Columns arranged so that adjacent terms are visually adjacent. Sometimes the solution is not unique 22

3-variable Kmaps B 00 01 11 10 0 1 1 1 1 1 1 1 A C B 00 01 11 10 0 1 1 1 1 1 1 1 A C F(A,B,C) = B C +A C+AB F(A,B,C) = A B +BC+AC 23

4-variable Kmaps / Design C 00 01 11 10 00 1 1 01 1 A 11 10 1 1 D F(A,B,C,D)=ABC +A C D+ A BC+ACD+? B F(A,B,C,D)=B D + C 00 01 11 10 00 1 01 1 1 1 A 11 1 1 1 10 1 B D 24

Combinational Logic Optimization Design steps: Get truth table Do minimization (K-map, Quine-McCluskey etc) as applicable Get Boolean expression Get logic diagram. Automated methods: computer based implementation. Example: http://electronics-course.com/karnaugh-map Multi-output circuits: Many functions have multiple outputs Often implemented as PLAs Objective: minimize product terms Adjacent product terms: with same output combinations 25

Full Adder A i B i C i C i+ S 1 i 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 A i B i C i C i+1 S 26

4-bit Adder A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 Full Full Full Full 0 adder adder adder adder C 4 C C 2 3 C 1 S 3 S 2 S 1 S 0 Note that propagation delay add for each stage. 27

Two-level logic: SOP form A combinational functional can be implemented using a two-level implementation Sum-of-products (SOP)form F(A,B,C) = B C +A B AND-OR A B C F 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 B 00 01 11 10 0 1 1 1 1 1 A C 28

Two-level logic: POS form Product of Sums (POS) form: Step: 1. Minimize F (i.e. 0s) is SOP form. 2. Complement both sides 3. Use DeMorgan s for RHS F (A,B,C) = B C+AB F(A,B,C) = (B+C )(A +B ) OR-AND A B C F 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 B 00 01 11 10 0 1 0 1 1 1 1 0 0 0 A C 29

Programmable Logic Arrays (PLAs) A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 30

PLAs A B C D E F 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 Logical equivalent This is closer to physical layout 31

PLA Minimization Main objective: minimize product terms 1. Some product terms do not need to be implemented 2. Two product terms can be combined if They have exactly same values for all outputs They differ in only one variable, complmented in one, uncomplemented in the other Best to start with product terms in minterm form 32

PLA Minimization Ex1 Inputs Outputs A B C D E F 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 Inputs Outputs A B C D E F 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 x 1 1 1 33

PLA Minimization Ex2 Inputs Outputs A B C D E F 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 x 1 0 0 1 1 x 1 0 1 1 1 x 1 1 0 1 1 x 1 1 1 1 1 x Inputs Outputs A B C D E F 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 x 1 1 1 1 x 1 x x 1 1 x 3,7 (?) 4,5,6,7 34

Field Programmable PLA Can be programmed in the field by specifying the AND and the OR array connections. FPLA concept developed into FPGAs: can contain logic blocks of various functionality. 35

ROMS: Fully decoded with 2 n addresses Address Contents A2 A1 A0 D2 D1 D0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 36

Programmable ROM Programmed: Last manufacturing step Programmable ROM: PROM with fuses Erasable UV light erasable PROM Electrically erasable PROM EEPROM Flash memories: based on EEPROM! 37

Address vs Data Some lines/registers contain data Some lines/registers contain addresses used for selection 38

Full Adder A i B i C i C i+ S 1 i 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 A i B i C i C i+1 Could have minimized it. S 39

Arrays of Logic Elements 40

Cascadable Logic blocks A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 Full Full Full Full 0 adder adder adder adder C C 2 3 C 1 S 3 S 2 S 1 S 0 41

Selecting Data Using MUX to bus Multiple sources, one destination MUX with appropriate select lines 2 PC PCMUX +1 2 to bus MARMUX + 2/1/2016 Comp Org YKM 42

Selecting Data Using MUX 2 Assume: MUX: 0:C, 1:B ALU: 00 ADD 01 AND 10 NOTA 11 PassA C B MUX 2 ALU A 2/1/2016 Comp Org YKM 43

Delays in Combinational Circuits Each gate responds with some delay termed propagation delay pd. pd depends on Diagram on the board Technology (transistor size etc) Load on a gate Fan-out Interconnection length Can not be exactly controlled Need to wait until all transitions have settled down. Longest combinational path 44

Delays: Example Delays can depend on levels of logic Other factors like load Nanosec (10-9 sec) and picosec (10-12 sec) 45

Synchronized updating: clock Combinatorial elements hold no state ALU, caches, multiplier, multiplexers, etc. State elements are clocked devices Flip flops, etc In edge triggered clocking, state elements are only updated on the (rising) edge of the clock pulse. 46

Clock frequency Unit: GHz Clock frequency (in cycles/sec or Hz) is inverse of propagation delays (in sec). 2 GHz implies 0.5 nanosec or 500 picosec. 47

Power Consumption Dynamic component: depends on frequency, Number of nodes that switch, voltage Quiescent component: small steady current More later 48