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

Similar documents
Introduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison

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

Chapter 3 Digital Logic Structures

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

CMPE12 - Notes chapter 2. Digital Logic. (Textbook Chapters and 2.1)"

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

Lecture 22 Chapters 3 Logic Circuits Part 1

Organisasi dan Arsitektur Komputer L#1: Fundamental Concepts Amil A. Ilham

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

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

UNIVERSITY OF WISCONSIN MADISON

Chapter 7. Sequential Circuits Registers, Counters, RAM

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

Latches. October 13, 2003 Latches 1

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

Floating Point Representation and Digital Logic. Lecture 11 CS301

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

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

Topics. Dynamic CMOS Sequential Design Memory and Control. John A. Chandy Dept. of Electrical and Computer Engineering University of Connecticut

Memory, Latches, & Registers

ALU A functional unit

DIGITAL LOGIC CIRCUITS

MODEL ANSWER SUMMER 17 EXAMINATION Subject Title: Principles of Digital Techniques

Semiconductor Memory Classification

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

Chapter Overview. Memory Classification. Memory Architectures. The Memory Core. Periphery. Reliability. Memory


University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

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

ELCT201: DIGITAL LOGIC DESIGN

Sequential Logic. Rab Nawaz Khan Jadoon DCS. Lecturer COMSATS Lahore Pakistan. Department of Computer Science

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) ELECTRICAL & ELECTRONICS ENGINEERING EXAMINATION SEMESTER /2017

DE58/DC58 LOGIC DESIGN DEC 2014

EE241 - Spring 2000 Advanced Digital Integrated Circuits. References

Digital Integrated Circuits A Design Perspective

CMPEN 411 VLSI Digital Circuits Spring Lecture 21: Shifters, Decoders, Muxes

Lecture 7: Logic design. Combinational logic circuits

! Charge Leakage/Charge Sharing. " Domino Logic Design Considerations. ! Logic Comparisons. ! Memory. " Classification. " ROM Memories.

Sample Test Paper - I

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.

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

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

Digital Integrated Circuits A Design Perspective. Semiconductor. Memories. Memories

Semiconductor Memories

Unit II Chapter 4:- Digital Logic Contents 4.1 Introduction... 4

CMOS Digital Integrated Circuits Lec 13 Semiconductor Memories

Semiconductor memories

Fundamentals of Digital Design

S.Y. Diploma : Sem. III [CO/CM/IF/CD/CW] Digital Techniques

Digital Electronics II Mike Brookes Please pick up: Notes from the front desk

1.10 (a) Function of AND, OR, NOT, NAND & NOR Logic gates and their input/output.

Lecture 34: Portable Systems Technology Background Professor Randy H. Katz Computer Science 252 Fall 1995

Intro To Digital Logic

Lecture 3 Review on Digital Logic (Part 2)

Combinational Logic Trainer Lab Manual

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

DIGITAL LOGIC CIRCUITS

SUMMER 18 EXAMINATION Subject Name: Principles of Digital Techniques Model Answer Subject Code:

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

CS470: Computer Architecture. AMD Quad Core

Lecture 25. Semiconductor Memories. Issues in Memory

Semiconductor Memories

Adders allow computers to add numbers 2-bit ripple-carry adder

11.1 As mentioned in Experiment 10, sequential logic circuits are a type of logic circuit where the output of

EE141- Fall 2002 Lecture 27. Memory EE141. Announcements. We finished all the labs No homework this week Projects are due next Tuesday 9am EE141

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

CS/COE0447: Computer Organization

CprE 281: Digital Logic

Fundamentals of Computer Systems

Decoding A Counter. svbitec.wordpress.com 1

S.Y. Diploma : Sem. III [DE/ED/EI/EJ/EN/ET/EV/EX/IC/IE/IS/IU/MU] Principles of Digital Techniques

Computer Science. 19. Combinational Circuits. Computer Science COMPUTER SCIENCE. Section 6.1.

CMPEN 411. Spring Lecture 18: Static Sequential Circuits

Combinational Logic Design Combinational Functions and Circuits

Fundamentals of Boolean Algebra

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

MM74C912 6-Digit BCD Display Controller/Driver

University of Toronto Faculty of Applied Science and Engineering Final Examination

Magnetic core memory (1951) cm 2 ( bit)

SEMICONDUCTOR MEMORIES

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS

The Design Procedure. Output Equation Determination - Derive output equations from the state table

S No. Questions Bloom s Taxonomy Level UNIT-I

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

Logic. Basic Logic Functions. Switches in series (AND) Truth Tables. Switches in Parallel (OR) Alternative view for OR

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) State any two Boolean laws. (Any 2 laws 1 mark each)

Sequential Logic. Handouts: Lecture Slides Spring /27/01. L06 Sequential Logic 1

Digital Logic Appendix A

CHW 261: Logic Design

Dynamic Combinational Circuits. Dynamic Logic

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

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

GMU, ECE 680 Physical VLSI Design 1

CS/COE0447: Computer Organization

The Digital Logic Level

Written reexam with solutions for IE1204/5 Digital Design Monday 14/

ECE 250 / CPS 250 Computer Architecture. Basics of Logic Design Boolean Algebra, Logic Gates

Hw 6 and 7 Graded and available Project Phase 2 Graded Project Phase 3 Launch Today

Switches: basic element of physical implementations

Transcription:

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

Chapter 3 Digital Logic Structures Slides based on set prepared by Gregory T. Byrd, North Carolina State University

Transistor: Building Block of Computers Microprocessors contain millions of transistors Intel Pentium II: 7 million Compaq Alpha 21264: 15 million Intel Pentium III: 28 million Logically, each transistor acts as a switch Combined to implement logic functions AND, OR, NOT Combined to build higher-level structures Adder, multiplexer, decoder, register, Combined to build processor LC-3 3-3

Simple Switch Circuit Switch open: No current through circuit Light is off V out is +2.9V Switch closed: Short circuit across switch Current flows Light is on V out is 0V Switch-based circuits can easily represent two states: on/off, open/closed, voltage/no voltage. 3-4

N-type MOS Transistor MOS = Metal Oxide Semiconductor two types: N-type and P-type N-type when Gate has positive voltage, short circuit between #1 and #2 (switch closed) when Gate has zero voltage, open circuit between #1 and #2 (switch open) Gate = 1 Gate = 0 Terminal #2 must be connected to GND (0V). 3-5

P-type MOS Transistor P-type is complementary to N-type when Gate has positive voltage, open circuit between #1 and #2 (switch open) when Gate has zero voltage, short circuit between #1 and #2 (switch closed) Gate = 1 Gate = 0 Terminal #1 must be connected to +2.9V. 3-6

Logic Gates Use switch behavior of MOS transistors to implement logical functions: AND, OR, NOT. Digital symbols: recall that we assign a range of analog voltages to each digital (logic) symbol assignment of voltage ranges depends on electrical properties of transistors being used typical values for "1": +5V, +3.3V, +2.9V, +1.1V for purposes of illustration, we'll use +2.9V 3-7

CMOS Circuit Complementary MOS Uses both N-type and P-type MOS transistors P-type Attached to + voltage Pulls output voltage UP when input is zero N-type Attached to GND Pulls output voltage DOWN when input is one For all inputs, make sure that output is either connected to GND or to +, but not both! 3-8

Inverter (NOT Gate) Truth table In Out 0 V 2.9 V 2.9 V 0 V In Out 0 1 1 0 3-9

NOR Gate Note: Serial structure on top, parallel on bottom. A B C 0 0 1 0 1 0 1 0 0 1 1 0 3-10

OR Gate A B C 0 0 0 0 1 1 1 0 1 1 1 1 Add inverter to NOR. 3-11

NAND Gate (AND-NOT) Note: Parallel structure on top, serial on bottom. A B C 0 0 1 0 1 1 1 0 1 1 1 0 3-12

AND Gate A B C 0 0 0 0 1 0 1 0 0 1 1 1 Add inverter to NAND. 3-13

Basic Logic Gates 3-14

More than 2 Inputs? AND/OR can take any number of inputs. AND = 1 if all inputs are 1. OR = 1 if any input is 1. Similar for NAND/NOR. Can implement with multiple two-input gates, or with single CMOS circuit. 3-15

Practice Implement a 3-input NOR gate with CMOS. 3-16

Logical Completeness Can implement ANY truth table with AND, OR, NOT. A B C D 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 1. AND combinations that yield a "1" in the truth table. 2. OR the results of the AND gates. 3-17

Practice Implement the following truth table. A B C 0 0 0 0 1 1 1 0 1 1 1 0 3-18

DeMorgan's Law Converting AND to OR (with some help from NOT) Consider the following gate: A B A B A B A B 0 0 1 1 1 0 0 1 1 0 0 1 To convert AND to OR (or vice versa), invert inputs and output. 1 0 0 1 0 1 1 1 0 0 0 1 Same as A+B! 3-19

Summary MOS transistors are used as switches to implement logic functions. N-type: connect to GND, turn on (with 1) to pull down to 0 P-type: connect to +2.9V, turn on (with 0) to pull up to 1 Basic gates: NOT, NOR, NAND Logic functions are usually expressed with AND, OR, and NOT Properties of logic gates Completeness can implement any truth table with AND, OR, NOT DeMorgan's Law convert AND to OR by inverting inputs and output 3-20

Building Functions from Logic Gates We've already seen how to implement truth tables using AND, OR, and NOT -- an example of combinational logic. Combinational Logic Circuit output depends only on the current inputs stateless Sequential Logic Circuit output depends on the sequence of inputs (past and present) stores information (state) from past inputs We'll first look at some useful combinational circuits, then show how to use sequential circuits to store information. 3-21

Decoder n inputs, 2 n outputs exactly one output is 1 for each possible input pattern 2-bit decoder 3-22

Multiplexer (MUX) n-bit selector and 2 n inputs, one output output equals one of the inputs, depending on selector 4-to-1 MUX 3-23

Full Adder Add two bits and carry-in, produce one-bit sum and carry-out. A B C in S C out 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 3-24

Four-bit Adder 3-25

Combinational vs. Sequential Combinational Circuit always gives the same output for a given set of inputs ex: adder always generates sum and carry, regardless of previous inputs Sequential Circuit stores information output depends on stored information (state) plus input so a given input might produce different outputs, depending on the stored information example: ticket counter advances when you push the button output depends on previous state useful for building memory elements and state machines 3-26

R-S Latch: Simple Storage Element R is used to reset or clear the element set it to zero. S is used to set the element set it to one. 1 1 0 1 1 1 0 1 0 0 0 1 1 1 If both R and S are one, out could be either zero or one. quiescent state -- holds its previous value note: if a is 1, b is 0, and vice versa 3-27

Clearing the R-S latch Suppose we start with output = 1, then change R to zero. 1 0 1 1 1 1 0 0 Output changes to zero. 1 1 0 1 0 0 1 0 Then set R=1 to store value in quiescent state. 3-28

Setting the R-S Latch Suppose we start with output = 0, then change S to zero. 1 1 0 0 1 1 Output changes to one. 0 0 1 1 1 0 Then set S=1 to store value in quiescent state. 3-29

R-S Latch Summary R = S = 1 hold current value in latch S = 0, R=1 set value to 1 R = 0, S = 1 set value to 0 R = S = 0 both outputs equal one final state determined by electrical properties of gates Don t do it! 3-30

Gated D-Latch Two inputs: D (data) and WE (write enable) when WE = 1, latch is set to value of D S = NOT(D), R = D when WE = 0, latch holds previous value S = R = 1 3-31

Register A register stores a multi-bit value. We use a collection of D-latches, all controlled by a common WE. When WE=1, n-bit value D is written to register. 3-32

Representing Multi-bit Values Number bits from right (0) to left (n-1) just a convention -- could be left to right, but must be consistent Use brackets to denote range: D[l:r] denotes bit l to bit r, from left to right 15 A = 0101001101010101 0 A[14:9] = 101001 A[2:0] = 101 May also see A<14:9>, especially in hardware block diagrams. 3-33

Memory Now that we know how to store bits, we can build a memory a logical k m array of stored bits. Address Space: number of locations (usually a power of 2) k = 2 n locations Addressability: number of bits per location (e.g., byte-addressable) m bits 3-34

2 2 x 3 Memory address word select word WE input bits write enable address decoder output bits 3-35

More Memory Details This is a not the way actual memory is implemented. fewer transistors, much more dense, relies on electrical properties But the logical structure is very similar. address decoder word select line word write enable Two basic kinds of RAM (Random Access Memory) Static RAM (SRAM) fast, maintains data without power Dynamic RAM (DRAM) slower but denser, bit storage must be periodically refreshed Also, non-volatile memories: ROM, PROM, flash, 3-36

State Machine Another type of sequential circuit Combines combinational logic with storage Remembers state, and changes output (and state) based on inputs and current state State Machine Inputs Combinational Logic Circuit Outputs Storage Elements 3-37

Combinational vs. Sequential Two types of combination locks 4 1 8 4 25 20 30 15 5 10 Combinational Success depends only on the values, not the order in which they are set. Sequential Success depends on the sequence of values (e.g, R-13, L-22, R-3). 3-38

State The state of a system is a snapshot of all the relevant elements of the system at the moment the snapshot is taken. Examples: The state of a basketball game can be represented by the scoreboard. Number of points, time remaining, possession, etc. The state of a tic-tac-toe game can be represented by the placement of X s and O s on the board. 3-39

State of Sequential Lock Our lock example has four different states, labelled A-D: A: The lock is not open, and no relevant operations have been performed. B: The lock is not open, and the user has completed the R-13 operation. C: The lock is not open, and the user has completed R-13, followed by L-22. D: The lock is open. 3-40

State Diagram Shows states and actions that cause a transition between states. 3-41

Finite State Machine A description of a system with the following components: 1. A finite number of states 2. A finite number of external inputs 3. A finite number of external outputs 4. An explicit specification of all state transitions 5. An explicit specification of what causes each external output value. Often described by a state diagram. Inputs may cause state transitions. Outputs are associated with each state (or with each transition). 3-42

The Clock Frequently, a clock circuit triggers transition from one state to the next. 1 0 One Cycle time At the beginning of each clock cycle, state machine makes a transition, based on the current state and the external inputs. Not always required. In lock example, the input itself triggers a transition. 3-43

Implementing a Finite State Machine Combinational logic Determine outputs and next state. Storage elements Maintain state representation. State Machine Inputs Combinational Logic Circuit Outputs Clock Storage Elements 3-44

Storage: Master-Slave Flipflop A pair of gated D-latches, to isolate next state from current state. During 1 st phase (clock=1), previously-computed state becomes current state and is sent to the logic circuit. During 2 nd phase (clock=0), next state, computed by logic circuit, is stored in Latch A. 3-45

Storage Each master-slave flipflop stores one state bit. The number of storage elements (flipflops) needed is determined by the number of states (and the representation of each state). Examples: Sequential lock Four states two bits Basketball scoreboard 7 bits for each score, 5 bits for minutes, 6 bits for seconds, 1 bit for possession arrow, 1 bit for half, 3-46

Complete Example A blinking traffic sign No lights on 1 & 2 on 1, 2, 3, & 4 on 1, 2, 3, 4, & 5 on 1 3 4 5 (repeat as long as switch is turned on) 2 DANGER MOVE RIGHT 3-47

Traffic Sign State Diagram Switch off Switch on State bit S 1 State bit S 0 Outputs Transition on each clock cycle. 3-48

Traffic Sign Truth Tables Outputs (depend only on state: S 1 S 0 ) Next State: S 1 S 0 (depend on state and input) S 1 S 0 Z Y X 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 Lights 1 and 2 Lights 3 and 4 Light 5 Switch Whenever In=0, next state is 00. In S 1 S 0 S 1 S 0 0 X X 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 3-49

Traffic Sign Logic Master-slave flipflop 3-50

From Logic to Data Path The data path of a computer is all the logic used to process information. See the data path of the LC-2 on next slide. Combinational Logic Decoders -- convert instructions into control signals Multiplexers -- select inputs and outputs ALU (Arithmetic and Logic Unit) -- operations on data Sequential Logic State machine -- coordinate control signals and data movement Registers and latches -- storage elements 3-51

LC-2/LC-3 Data Path 3-52