Understanding Engineers #2

Similar documents
Controller Implementation--Part I. Cascading Edge-triggered Flip-Flops

ICS 151 Final. (Last Name) (First Name)

Solutions. ICS 151 Final. Q1 Q2 Q3 Q4 Total Credit Score. Instructions: Student ID. (Last Name) (First Name) Signature

Exam #2 EE 209: Fall 2017

Chapter 9. sequential logic technologies

Chapter 9. sequential logic technologies

RISC Central Processing Unit

Design of Microprogrammed Control Units (MCU) using VHDL Description. Arvutitehnika erikusus

EECS150 - Digital Design Lecture 28 Course Wrap Up. Recap 1

Combinatorial Logic Design Multiplexers and ALUs CS 64: Computer Organization and Design Logic Lecture #14

Learning Outcomes. Spiral 2 3. DeMorgan Equivalents NEGATIVE (ACTIVE LO) LOGIC. Negative Logic One hot State Assignment System Design Examples

CS 110 Computer Architecture Lecture 11: Pipelining

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON

Computer Architecture and Organization: L08: Design Control Lines

Computer Elements and Datapath. Microarchitecture Implementation of an ISA

2014 Paper E2.1: Digital Electronics II

SRV ENGINEERING COLLEGE SEMBODAI RUKMANI VARATHARAJAN ENGINEERING COLLEGE SEMBODAI

EE 280 Introduction to Digital Logic Design

Course Overview. Course Overview

Lecture 3: Logic circuit. Combinational circuit and sequential circuit

Lecture Topics. Announcements. Today: Pipelined Processors (P&H ) Next: continued. Milestone #4 (due 2/23) Milestone #5 (due 3/2)

Pipelined Architecture (2A) Young Won Lim 4/10/18

Finite State Machines CS 64: Computer Organization and Design Logic Lecture #16

Pipelined Architecture (2A) Young Won Lim 4/7/18

Department of Electronics and Communication Engineering

LOGIC DIAGRAM: HALF ADDER TRUTH TABLE: A B CARRY SUM. 2012/ODD/III/ECE/DE/LM Page No. 1

ECE 241 Digital Systems. Basic Information

Datapath Components. Multipliers, Counters, Timers, Register Files

Chapter 3 Digital Logic Structures

Lecture 0: Introduction

Implementing Logic with the Embedded Array

Gomoku Player Design

Data Logger by Carsten Kristiansen Napier University. November 2004

Lecture 18. BUS and MEMORY

LECTURE 8. Pipelining: Datapath and Control

LIST OF EXPERIMENTS. KCTCET/ /Odd/3rd/ETE/CSE/LM

Computer Architecture

DELD MODEL ANSWER DEC 2018

Single-Cycle CPU The following exercises are taken from Hennessy and Patterson, CO&D 2 nd, 3 rd, and 4 th Ed.

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

Introduction. BME208 Logic Circuits Yalçın İŞLER

Lecture 02: Digital Logic Review

EECS 270 Schedule and Syllabus for Fall 2011 Designed by Prof. Pinaki Mazumder

Asanovic/Devadas Spring Pipeline Hazards. Krste Asanovic Laboratory for Computer Science M.I.T.

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Keyword: Stop Watch, 555 Timer, logic gate IC, Multisim, PSPICE

Midterm Exam ECE 448 Spring Thursday Section. (15 points)

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

Digital Integrated CircuitDesign

First Name: Last Name: Lab Cover Page. Teaching Assistant to whom you are submitting

ENGR-4300 Electronic Instrumentation Quiz 3 Spring 2011 Name Section

CS 61C: Great Ideas in Computer Architecture Finite State Machines, Functional Units

A-PDF Split DEMO : Purchase from to remove the watermark 114 FSM

Memory Basics. historically defined as memory array with individual bit access refers to memory with both Read and Write capabilities

Computer Architecture and Organization:

VLSI Design 11. Sequential Elements

Exam II. EECS150 - Digital Design Lecture 19 Review. Finite State Machines (FSMs) Lecture 9 - Finite State Machines 1

EE 308 Spring 2006 FINAL PROJECT: INTERFACING AND MOTOR CONTROL WEEK 1 PORT EXPANSION FOR THE MC9S12

Pipelined Processor Design

ECE473 Computer Architecture and Organization. Pipeline: Introduction

EC4205 Microprocessor and Microcontroller

Java Bread Board Introductory Digital Electronics Exercise 2, Page 1

1. The decimal number 62 is represented in hexadecimal (base 16) and binary (base 2) respectively as

In this lecture: Lecture 8: ROM & Programmable Logic Devices

CMSC 611: Advanced Computer Architecture

CONTENTS Sl. No. Experiment Page No

Digital Circuits Laboratory LAB no. 12. REGISTERS

Pipelining A B C D. Readings: Example: Doing the laundry. Ann, Brian, Cathy, & Dave. each have one load of clothes to wash, dry, and fold

3.1 There are three basic logic functions from which all circuits can be designed: NOT (invert), OR, and

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC 180A DIGITAL SYSTEMS I Winter 2015

6.111 Lecture # 19. Controlling Position. Some General Features of Servos: Servomechanisms are of this form:

Instruction Level Parallelism. Data Dependence Static Scheduling

ENGR-4300 Fall 2008 Test 3. Name. Section 1(MR 8:00) 2(TF 2:00) (circle one) Question I (20 points) Question II (15 points) Question III (20 points)

Electronic Instrumentation

DIGITAL INTEGRATED CIRCUITS A DESIGN PERSPECTIVE 2 N D E D I T I O N

Lecture 20: Several Commercial Counters & Shift Register

Lecture 9: Clocking for High Performance Processors

Data Sheet. HCTL-2000 Quadrature Decoder/Counter Interface ICs HCTL-2000, HCTL-2016, HCTL-2020

Notes. 1. Midterm 1 Thursday February 24 in class.

Digital Design and System Implementation. Overview of Physical Implementations

Selected Solutions to Problem-Set #3 COE 608: Computer Organization and Architecture Single Cycle Datapath and Control

CS302 Digital Logic Design Solved Objective Midterm Papers For Preparation of Midterm Exam

RISC Design: Pipelining

Run-Length Based Huffman Coding

Disseny físic. Disseny en Standard Cells. Enric Pastor Rosa M. Badia Ramon Canal DM Tardor DM, Tardor

Microprocessor & Interfacing Lecture Programmable Interval Timer

EECS 461, Winter 2009, Problem Set 2 1

EECS150 - Digital Design Lecture 2 - Synchronous Digital Systems Review Part 1. Outline

7/11/2012. Single Cycle (Review) CSE 2021: Computer Organization. Multi-Cycle Implementation. Single Cycle with Jump. Pipelining Analogy

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences

EE382V-ICS: System-on-a-Chip (SoC) Design

! Sequential Logic. ! Timing Hazards. ! Dynamic Logic. ! Add state elements (registers, latches) ! Compute. " From state elements

Types of Control. Programmed Non-programmed. Program Counter Hardwired

EE 457 Homework 5 Redekopp Name: Score: / 100_

IES Digital Mock Test

A B C D. Ann, Brian, Cathy, & Dave each have one load of clothes to wash, dry, and fold. Time

I hope you have completed Part 2 of the Experiment and is ready for Part 3.

LM12L Bit + Sign Data Acquisition System with Self-Calibration

DIGITAL DESIGN WITH SM CHARTS

Transcription:

Understanding Engineers #! The graduate with a Science degree asks, "Why does it work?"! The graduate with an Engineering degree asks, "How does it work?"! The graduate with an Accounting degree asks, "How much will it cost?"! The graduate with an Arts degree asks, "Do you want fries with that?" CS 5 - Spring 27 Lec #8 Mid #2 Review - Understanding Engineers #2! MS CS -- Soft-ware! MS EE -- Hard-ware! MBA -- Un-a-ware! MFA -- No-ware CS 5 - Spring 27 Lec #8 Mid #2 Review - 2

Midterm II! THIS Thursday, 22 March (that is TWO days from today!), 2: -- 3:3+, CS 5 Lab! Lectures,, 2, (no lecture 3!), 4, 5, 6; Labs #4 and #5 (Debugging/Logic Analyzers) + Checkpoints # and # (SDRAM + Video Encoder)! Don t forget: Spring 5/Fall 5 exams are on-line!! 5 x point questions, mostly design-oriented! Closed book, open crib sheet; PENCIL, not pen!! Two review sessions: Tu 8 PM and W 8 PM in the lab! NOTE: Discussion sections and lab lecture cancelled this week CS 5 - Spring 27 Lec #8 Mid #2 Review - 3 Sequential Logic Implementation! Models for representing sequential circuits " Mealy, Moore, and synchronous Mealy machines " Verilog specifications for state machines! Finite state machine design procedure " Deriving state diagram from word specifications " Deriving state transition table " Determining next state and output functions " Implementing combinational logic CS 5 - Spring 27 Lec #8 Mid #2 Review - 4

SDRAM Memory Controller! Static RAM Technology " 6T Memory Cell " Memory Access Timing! Dynamic RAM Technology " T Memory Cell " Memory Access Timing! Theory in lecture, but practical detailed memory system organization and timing in Lab Checkpoint # CS 5 - Spring 27 Lec #8 Mid #2 Review - 5 Two-way Video Conferencing Project! Project Concept and Background! SDRAM Controller (Checkpoint #)! Video Encoder/Display System (Checkpoint #) CS 5 - Spring 27 Lec #8 Mid #2 Review - 6

Videoconferencing System Concept Video Decoder Multiport SDRAM Memory System Video Encoder Camera SDRAM (Checkpoint #) Display Video Decoder Videostream Multiport Arbitration Video Encoder (Checkpoint #) Checkpoint #2 Checkpoint #4 Wireless Transceiver (Checkpoint #3) CS 5 - Spring 27 Lec #8 Mid #2 Review - 7 Computer Organization! Computer design as an application of digital logic design procedures! Computer = processing unit + memory system! Processing unit = control + datapath! Control = finite state machine " Inputs = machine instruction, datapath conditions " Outputs = register transfer control signals, ALU operation codes " Instruction interpretation = instruction fetch, decode, execute! Datapath = functional units + registers " Functional units = ALU, multipliers, dividers, etc. " Registers = program counter, shifters, storage registers CS 5 - Spring 27 Lec #8 Mid #2 Review - 8

Register Transfer A B C! A Sel D E C Sel Sel Sel! ; Ld! C! B Sel! ; Ld! Bus Ld C Clk Clk Sel A on Bus B on Bus Ld CS 5 - Spring 27 Lec #8 Mid #2 Review - 9 Ld C from Bus? Register Transfer! Point-to-point connection " Dedicated wires " Muxes on inputs of each register! Common input from multiplexer " Load enables for each register " Control signals for multiplexer! Common bus with output enables " Output enables and load enables for each register MUX rs rs MUX rt MUX rd MUX R4 rt rd R4 MUX rs rt rd R4 CS 5 - Spring 27 Lec #8 Mid #2 Review - BUS

State Machine Implementation! Alternative controller FSM implementation approaches based on: " Classical Moore and Mealy machines " Time state: Divide and Counter " Jump counters " Microprogramming (ROM) based approaches # branch sequencers # horizontal microcode # vertical microcode CS 5 - Spring 27 Lec #8 Mid #2 Review - Time State (Divide & Conquer) Time State FSM Most instructions follow same basic sequence Differ only in detailed execution sequence Time State FSM can be parameterized by opcode and AC states Instruction State: stored in IR<5:4> Condition State: stored in AC<5> = = IR = = LD ST ADD BRN AC < AC<5>= AC?" T T T2 T3 T4 T5 T6 T7 AC<5>= CS 5 - Spring 27 Lec #8 Mid #2 Review - 2 BRN AC! / (LD + ST + ADD) BRN + (ST Wait)/ (LD + ADD) Wait

Jump Counters Pure Jump Counter Inputs Count, Load, Clear Logic Jump State Logic NOTE: No inputs to jump state logic Clear Load Count CLOCK Synchronous Counter State Register Logic blocks implemented via discrete logic, PLAs, ROMs CS 5 - Spring 27 Lec #8 Mid #2 Review - 3 Jump Counters Hybrid Jump Counter Inputs Count, Load, Clear Logic Load Count Clear CLOCK Jump State Logic Synchronous Counter State Register Load inputs are function of state and FSM inputs CS 5 - Spring 27 Lec #8 Mid #2 Review - 4

Jump Counters CLR, CNT, LD implemented via Mux Logic CLR = CLRm + Reset CLR = CLRm + Reset /CLRm /Reset Reset Wait /CLR Jump State IR5 IR<5> IR4 IR<4> /Reset /Wait 3 2 CNT /LD /CLR P T CLK D C B A LOAD CLR 63 RCO QD QC QB QA G2 G D C B A 54 5 4 3 2 9 8 7 6 5 4 3 2 \S3 \S2 \S \S \S9 \S8 \S7 \S6 \S5 \S4 \S3 \S2 \S \S Active Lo outputs: hi input inverted at the output Note that CNT is active hi on counter so invert MUX inputs! S3 S2 S S G E5 5 E4 + E3 + E2 E E E9 E8 E7 E6 E5 E4 E3 Wait E2 /Wait E E S3 S2 S S G G E5 5 E5 5 E4 E4 E3 E3 E2 E2 E E E E /Wait E9 E9 EOUT E8 E8 EOUT CNT /CLRm EOUT E7 E6 E5 E4 E3 E2 E E + S3 S2 S S E7 E6 E5 E4 E3 E2 E E /LD CS 5 - Spring 27 Lec #8 Mid #2 Review - 5 Branch Sequencers 4 Way Branch Sequencer I n p u t s Mux Mux # $ a a a2 a3 a4 a5 x x x x 64 Word ROM Z Y X W C o n t r o l S i g n a l s N $ # $ # $ # $ # W X Y Z state Current State selects two inputs to form part of ROM address These select one of four possible next states (and output sets) Every state has exactly four possible next states CS 5 - Spring 27 Lec #8 Mid #2 Review - 6

Branch Sequencers! and " MUX Control Alternative Horizontal Implementation! "! "! "! " A A A2 A3 n- n- n- n- Datapath Control Signals I N P U T S M U M X U X! " bit n-... 2 3 2 3 4: MUX 4: MUX bit bit n bit state register Input MUX controlled by encoded signals, not state Much fewer inputs than unique states! In example FSM, input MUX can be 2:! Adding length to ROM word saves on bits vs. doubling words Vertical format: (4 + 4) x 64 = 52 ROM bits Horizontal format: (4 + 4 x 4 + 2) x 6 = 52 ROM bits CS 5 - Spring 27 Lec #8 Mid #2 Review - 7 Vertical Microprogramming Branch Jump Compare indicated signal to or Branch Jump Format Type Condition Select Condition Compare 2 6 Next Address = Wait = AC<5> = IR<5> = IR<4> Register Transfer Source, Destination, Operation ROM Bits Register Transfer Format : NO OP : PC! ABUS : IR! ABUS : MBR! MBUS : MAR! M : AC! RBUS : ALU Res! RBUS 3 3 3 Source Destination Operation : NO OP : RBUS! AC : MBUS! IR : ABUS! MAR : M! MBR : RBUS! MBR : ABUS! PC : MBR! M CS 5 - Spring 27 Lec #8 Mid #2 Review - 8 : NO OP : ALU ADD : ALU PASS B :! PC : PC +! PC : Read : Write

Vertical Programming Controller Block Diagram Address ROM T SRC DST OP 3:8 DEC Enb 3:8 DEC Enb Reset ALU ADD ALU PASS B 2 3 4 PC +! PC 5 Read 6 Write 7 2 3 4 5 6 7 RBUS! AC ABUS! IR ABUS! MAR M! MBR RBUS! MBR ABUS! PC MBR! M! PC Read/Write Request Wait AC<5> IR<5> IR<4> Cond Logic LD CLR µpc CNT PC! ABUS IR! ABUS 2 3:8 3 MBR! ABUS DEC 4 MAR! M 5 AC! RBUS 6 ALU Res! RBUS Enb 7 Reset Clk CS 5 - Spring 27 Lec #8 Mid #2 Review - 9 Design/Reverse Engineering! Design Procedure: Specification --> Abstract Design --> Concrete Implementation " E.g., What the state machine is supposed to do to state diagram to jump counter implementation! Reverse Engineering: Concrete Implementation --> Abstract Design --> Specification " E.g., Jump counter implementation to state diagram to what the state machine is supposed to do CS 5 - Spring 27 Lec #8 Mid #2 Review - 2