CS 151 DIGITAL Systems Design Lecture 34 Datapath Analysis.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

9-6 The Control Word Fig The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse.
Chapter 10- Instruction set architectures
Processor System Architecture
1.21 Introduction to microprocessors KUEU 2135 / KBEB 2193 Mikropemproses dan Sistemnya.
ENGIN112 L34: Datapath Analysis November 24, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 34 Datapath Analysis.
Introduction to Microprocessors Number Systems and Conversions No /6/00 Chapter 1: Introduction to 68HC11 The 68HC11 Microcontroller.
L18 – Pipeline Issues 1 Comp 411 – Spring /03/08 CPU Pipelining Issues Finishing up Chapter 6 This pipe stuff makes my head hurt! What have you.
L17 – Pipeline Issues 1 Comp 411 – Fall /1308 CPU Pipelining Issues Finishing up Chapter 6 This pipe stuff makes my head hurt! What have you been.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
CPEN Digital System Design Chapter 10 – Instruction SET Architecture (ISA) © Logic and Computer Design Fundamentals, 4 rd Ed., Mano Prentice Hall.
CS 151 Digital Systems Design Lecture 30 Random Access Memory (RAM)
ENGIN112 L33: Arithmetic Logic Units November 21, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 33 Arithmetic Logic Unit (ALU)
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
CPEN Digital System Design Chapter 9 – Computer Design
CS 151 Digital Systems Design Lecture 33 Arithmetic Logic Unit (ALU)
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Computer Organization
Computer Programming I. Today’s Lecture  Components of a computer  Program  Programming language  Binary representation.
Computer Systems Organization CS 1428 Foundations of Computer Science.
1 Lecture 32 Datapath Analysis. 2 Overview °Datapaths must deal with input and output data values Implement with tri-state buffers °Necessary to control.
Microcode Source: Digital Computer Electronics (Malvino and Brown)
How Computers Work Lecture 5 Page 1 How Computers Work Lecture 5 Memory Implementation.
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
Computer Organization - 1. INPUT PROCESS OUTPUT List different input devices Compare the use of voice recognition as opposed to the entry of data via.
General Concepts of Computer Organization Overview of Microcomputer.
A Simple Computer Architecture Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
Execution of an instruction
Computer Organization & Assembly Language © by DR. M. Amer.
PHY 201 (Blum)1 Microcode Source: Digital Computer Electronics (Malvino and Brown)
Computer Organization and Design Building a Computer!
CDA 3101 Fall 2013 Introduction to Computer Organization
Lecture 11: 10/1/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
 Lecture 2 Processor Organization  Control needs to have the  Ability to fetch instructions from memory  Logic and means to control instruction sequencing.
CHAPTER 6 Instruction Set Architecture 12/7/
Computer Architecture CSE 3322 Lecture 3 Assignment: 2.4.1, 2.4.4, 2.6.1, , Due 2/3/09 Read 2.8.
HOW a Computer Works ? Anatomy of Microprocessor.
ALU (Continued) Computer Architecture (Fall 2006).
Programmable Logic Controllers LO1: Understand the design and operational characteristics of a PLC system.
How Computers Work Lecture 3 Page 1 How Computers Work Lecture 3 A Direct Execution RISC Processor: The Unpipelined BETA.
1 The Instruction Set Architecture September 27 th, 2007 By: Corbin Johnson CS 146.
Princess Sumaya Univ. Computer Engineering Dept Digital Logic Design Lecture 26 Arithmetic Logic Unit Princess Sumaya Univ. Computer Engineering.
L17 – Pipeline Issues 1 Comp 411 – Fall /23/09 CPU Pipelining Issues Read Chapter This pipe stuff makes my head hurt! What have you been.
1 To write any register, we need register address and a write signal A 3-bit write address is decoded if write signal is present One of the eight registers.
CHAPTER 2 Instruction Set Architecture 3/21/
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني Arithmetic Logic Unit (ALU)
Datapath and control Dr. ir. A.B.J. Kokkeler 1. What is programming ? “Programming is instructing a computer to do something for you with the help of.
STUDY OF PIC MICROCONTROLLERS.. Design Flow C CODE Hex File Assembly Code Compiler Assembler Chip Programming.
CS161 – Design and Architecture of Computer Systems
Gunjeet Kaur Dronacharya Group of institutions
Instruction Set Architecture
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Microprocessor Systems Design I
Chap 7. Register Transfers and Datapaths
Microprocessor Systems Design I
Lecture on Microcomputer
Prof. Sirer CS 316 Cornell University
Computer Organization and Design Building a Computer!
Building a Computer I wonder where this goes? MIPS Kit ALU 1
How Computers Work Lecture 13 Details of the Pipelined Beta
Building a Computer I wonder where this goes? MIPS Kit ALU 1
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Overview Last lecture Digital hardware systems Today
Prof. Sirer CS 316 Cornell University
8-6 The Control Word The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse Fig
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Building a Computer! Don Porter Lecture 14.
Computer Architecture Assembly Language
Instruction Set Architecture
Presentation transcript:

CS 151 DIGITAL Systems Design Lecture 34 Datapath Analysis

Overview °Datapaths must deal with input and output data values Implement with tri-state buffers °Necessary to control external interfaces Perform repetitive operations °Some datapaths require decision making Control outputs implemented in ROM °Moving towards software Control implemented as a series of instructions °Understanding the data and control path

Datapath I/O °A wire can be driven by only one tri-state at a time If InPass is active, AluPass must be inactive If AluPass is active, InPass must be inactive Function X YLoadYLoadX ALU InPassOutPass AluPass

Datapath I/O °Two values enter from the left (A and B) Need to perform (A+B)+A In -> X (Load A) In -> Y (Load B) A+B -> Y (A+B)+A -> Out Function XYLoadYLoadX ALU InPassOutPass AluPass In Out Four steps and then repeat

Implementing the Control ROM °Two values enter from the left (A and B) Need to perform (A+B)+A In -> X (Load A) - State 00 In -> Y (Load B) - State 01 A+B -> Y - State 10 (A+B)+A -> Out - State 11 PS NS Function LoadX LoadY InPass AluPass OutPass PS NS ROM Control outputs Addr

More Complicated Example °Can we compute (A+B). (A-B)? °Currently, no place for intermediate storage °Solution: Add RAM to datapath. Function X YLoadYLoadX ALU InPassOutPass AluPass

More Complicated Example °Can we compute (A+B). (A-B)? Need to add intermediate storage. °Typical sizes (1MB – 2GB) Function X YLoadY LoadX ALU InPassOutPass AluPass RAM Addr Read Write Add RAM to the Datapath

Implementing the Control ROM °Two values enter from the left (A and B) Need to perform (A+B). (A-B) In -> X (Load A) - State 000 In -> Y (Load B) - State 001 A+B -> RAM[4] - State 010 A-B -> X - State 011 RAM[4] ->Y - State 100 (A+B). (A-B) ->Out - State 101 PS NS Function LoadX LoadY InPass AluPass OutPass Addr Read Write

Does the Value of the Data Matter? °Problem: Add A to itself until overflow occurs Amount of steps depends on A Function X YLoadY LoadX ALU InPassOutPass AluPass RAM Addr Read Write How can we determine if overflow occurred? OF

Implementing the Control ROM using Conditions °One value enters from the left Add A to itself until overflow occurs In -> X, Y (Load A, B) - State 0 - Next state 1 X+Y -> Out, X - State 1 - Next state (1 if no overflow, 0 if overflow) Include overflow (OF) bit as a ROM input Note that it doubles the size of the ROM PS OF NS Function LoadX LoadY InPass AluPass OutPass Addr Read Write Bits in the ROM Each row indicates a ROM word

Implementing the Control ROM with Conditionals °Control path may have many inputs Overflow, carry out, zero °Used to perform conditional operations °If statements and loops in programming languages Addr NS ROM Control outputs OF 2 PS OF NS Function LoadX LoadY InPass AluPass OutPass Addr Read Write

One More Example °Read two values from RAM (locations 0 and 1) and store to location 2. Very common operation for microprocessor Function X YLoadY LoadX ALU InPassOutPass AluPass RAM Addr Read Write

Implementing the Control ROM °Perform memory reads and writes RAM[0] -> X - State 00 RAM[1] -> Y - State 01 X+Y -> RAM[2] - State 10 PS NS Function LoadX LoadY InPass AluPass OutPass Addr Read Write No interaction with outside interfaces (In, Out) is required Very similar to microprocessor operations This slide marks the end of required material for this lecture!

Processor Construction Kit Subproblem 1: DATA PATHS Subproblem 2: CONTROL

Processor Compilation °Software engineer writes C program °Compiler software converts C to assembly code °Assembler converts assembly code to binary format main () { int A, B, C; C = A + B; } C program Compile LD R1, A ; load A to Reg R1 LD R2, B ; load B to Reg R2 ADD R3, R1, R2 ; Add R1, R2 -> R3 ST R3, C ; Store result in C Assembly program A, B, and C are storage locations in main memory (DRAM)

Data Memory RD WD Adr R/W WDSEL WA Rc Y PCSEL PC IF BT +4 Instruction Memory A D Rb: Ra RA2SEL Rbc + C: Register File RA1RA2 RD1RD2 BSEL 01 Z ALU AB BT C: Op Fn: ASEL WA WD WE A Microprocessor Architecture (similar to HP Alpha)

Summary °Datapaths are important components of computer systems °Interaction between control and data path determines execution time °Each sequence of operations can be represented with a ROM program Each row in the state table corresponds to a word in the ROM °Multiple rows for each state if the ROM has a control input (e.g. ALU overflow) °Next time: Notation to represent the data and control paths