Tutorials #4-#5 Coltroller + dataPath design

Slides:



Advertisements
Similar presentations
1 The 2-to-4 decoder is a block which decodes the 2-bit binary inputs and produces four output All but one outputs are zero One output corresponding to.
Advertisements

CS 140 Lecture 16 System Designs Professor CK Cheng CSE Dept. UC San Diego 1.
Exercise (1).
Multiplication and Division
1 (Review of Prerequisite Material). Processes are an abstraction of the operation of computers. So, to understand operating systems, one must have a.
– © Yohai Devir 2007 Technion - IIT Tutorial #10 MIPS commands.
Revision.
Order Analysis of Algorithms Debdeep Mukhopadhyay IIT Madras.
Give qualifications of instructors: DAP
PSEUDOCODE & FLOW CHART
Put your group member’s name here, click on View -> Master -> Slide Master. ECE 408/CS483, University of Illinois, Urbana-Champaign Title Member Names.
Figure 1.1 Basic components of a simple computer system © 2003 Brooks/Cole Publishing / Thomson Learning™
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Introduction to VHDL VHDL Tutorial R. E. Haskell and D. M. Hanna T1: Combinational Logic Circuits.
CS 140 Lecture 17 Professor CK Cheng 11/26/02. System Designs 1.Intro 2.Spec 3.Implementation.
Tutorial #6 Controller + DataPath part II – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT.
Algorithm Design CS105. Problem Solving Algorithm: set of unambiguous instructions to solve a problem – Breaking down a problem into a set of sub- problems.
– © Yohai Devir 2007 Technion - IIT Tutorial #6 Controller + DataPath part II.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Written by: Haim Natan Benny Pano Supervisor:
Tutorials #4-#5 Controller + DataPath design – © Yohai Devir 2007 Technion - IIT.
Project title Team Members. Project Title Brief description of the project in bullet form.
Datapath and Control Andreas Klappenecker CPSC321 Computer Architecture.
Tutorial #6 Controller + DataPath part II – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT.
Tutorial #6 Controller + DataPath part II – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT.
COMPUTER ORGANIZATION CSCE 230 Final Project. OVERVIEW  Implemented RISC processor  VHDL  Test program created to demonstrate abilities.
CS 0004 –Lecture 8 Jan 24, 2011 Roxana Gheorghiu.
By: Oleg Schtofenmaher Maxim Fudim Supervisor: Walter Isaschar Characterization presentation for project Winter 2007 ( Part A)
Data Structures & AlgorithmsIT 0501 Algorithm Analysis I.
Programming with Visual C++: Concepts and Projects Chapter 2B: Reading, Processing and Displaying Data (Tutorial)
Conditionals CS 103 February 16, Blast from the Past: C14 Dating Problem Statement: Calculate the age of a fossil from its C-14 radioactivity Problem.
Basic problem solving CSC 111.
CS 240 – Computer Programming I Lab Kalpa Gunaratna –
EE204 L12-Single Cycle DP PerformanceHina Anwar Khan EE204 Computer Architecture Single Cycle Data path Performance.
CS 240 – Computer Programming I Lab Kalpa Gunaratna –
ICC Module 3 Lesson 1 – Computer Architecture 1 / 13 © 2015 Ph. Janson Information, Computing & Communication Computer Architecture Clip 2 – Von Neumann.
ICC Module 3 Lesson 1 – Computer Architecture 1 / 6 © 2015 Ph. Janson Information, Computing & Communication Computer Architecture Clip 3 – Instruction.
Programming. Exam Validation 1-10 Technical words such as Method of validation Do not use “Something”.
Course Description/001 Objectives in This Course 1. Understanding components in computer networks - What are the major network hardware components? - What.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
CS 241 – Computer Programming II Lab
Supplement on Verilog for Algorithm State Machine Chart
Array multiplier TU/e Processor Design 5Z032.
CS161 – Design and Architecture of Computer Systems
Tracker TriP-t Test Stand
Lab02 :Logic Gate Fundamentals:
Chap 7. Register Transfers and Datapaths
Numbering System TODAY AND TOMORROW 11th Edition
Muon Recording Studies and Progress for the MICE Tracker
RTL Design Methodology
Problem Solving and Programming CS140: Introduction to Computing 1 8/21/13.
Tutorial #10 MIPS commands
תרגול 6 בקר ומסלול נתונים חלק שני
Manual Example How to manually convert high-level code into circuit
Integer Square Root Lecture L8.0.
Lecture 18 SORTING in Hardware.
الفصل الثاني الخوارزمية
22 October 3 classes before 2nd exam! Control 1/16/2019
A register design with parallel load input
Register-Transfer Level Components in Verilog
Simple Implementation
Computer Science Sorting Pre-Test Discussion/program
-·.-...-· A. -.. ) ,.,.. -.,., · o# --·'1>,.. ·-·-. ·-· ;'/' : ,.,. - ' p ·-·- ·-- 'II"; -.-. t-.. p
Sorting Develop a sorting algorithm
Controllers and Datapaths
RTL Design Methodology
RTL Design Methodology
RTL Design Methodology
Fixed-point Analysis of Digital Filters
Computer Architecture
CS161 – Design and Architecture of Computer Systems
Presentation transcript:

Tutorials #4-#5 Coltroller + dataPath design 234262 Tutorials #4-#5 Coltroller + dataPath design 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! #1 – pseudo-Code i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (2) #2 – finding variables i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (3) #3 – operations i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (4) The universal switch Universal switch i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); Universal switch Can connect every output to every input Can produce any fixed number Control signals can resolve any condition in the algorithm Will be implemented later. 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (5) The Datapath i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (5) The Datapath i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); N 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (5) The Datapath i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); 1 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (6) Datapath Flow Chart – what operations can be done in parallel ? A = B + C D = A + C i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (6) Datapath Flow Chart – what operations can be done in parallel ? i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (6) Datapath Flow Chart – what operations can be done in parallel ? i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (6) Datapath Flow Chart – what operations can be done in parallel ? i = N; result = 1; while (i != 1) { result = result * i; i = i - 1; } done = 1; output(result); 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (7) Datapath – implementing the switch 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (8) CONTROL – flow chart 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (8) CONTROL – flow chart 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (8) CONTROL – flow chart 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (8) CONTROL – flow chart 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (8) CONTROL – flow chart 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (9) CONTROL – implementation 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (9) CONTROL – implementation CS 00 1 01 10 11 Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (10) CONTROL + DP 234262 – © Yohai Devir 2007 Technion - IIT

Computing N! (10) 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 2 4 5 6 7 8 N i res i-1 CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 2 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 2 4 5 6 7 8 N i res i-1 CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 2 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 2 4 5 6 7 8 N i res i-1 CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 iN; res 1 2 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 4 5 6 7 8 N i res i-1 CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 4 5 6 7 8 N i res i-1 CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 4 5 6 7 8 N i res i-1 CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 i=1? 4 5 6 7 8 N i CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 i=1? 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 Ø i=1? 4 5 6 7 8 N i CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 Ø i=1? 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 Ø i=1? 4 5 6 7 8 N i CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 Ø i=1? 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 Ø 10 i=1? 4 5 6 7 8 N CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 Ø 10 i=1? 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 Ø 10 i=1? 4 5 6 7 8 N CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 Ø 10 i=1? 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 Ø 10 i=1? 4 5 6 7 8 N CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 Ø 10 i=1? resi*res ii-1 4 5 6 7 8 234262 – © Yohai Devir 2007 Technion - IIT

DP signals Control signals Comment 1 3 ? 00 01 2 Ø 10 i=1? 4 6 5 11 7 CS Sel_i Load_i Sel_res Load_res Done 00 1 01 10 11 DP signals Control signals Comment N i res i-1 i*res zero CS NS seli selres loadi loadres done 1 3 ? 00 01 iN; res 1 2 Ø 10 i=1? resi*res ii-1 4 6 5 11 7 8 234262 – © Yohai Devir 2007 Technion - IIT

Another example 234262 – © Yohai Devir 2007 Technion - IIT

2nd example - hardware i = N; K = 2; while (i / K >= K) { If (i % K == 0) { i = i + 1; } else { K = K + 1; } done = 1; output (i); 234262 – © Yohai Devir 2007 Technion - IIT

2nd example - hardware i = N; K = 2; while (i / K >= K) { If (i % K == 0) { i = i + 1; } else { K = K + 1; } done = 1; output (i); 234262 – © Yohai Devir 2007 Technion - IIT

2nd example - hardware i = N; K = 2; while (i / K >= K) { If (i % K == 0) { i = i + 1; } else { K = K + 1; } done = 1; output (i); 234262 – © Yohai Devir 2007 Technion - IIT

i = N; K = 2; while (i / K >= K) { If (i % K == 0) { i = i + 1; } else { K = K + 1; } done = 1; output (i); 234262 – © Yohai Devir 2007 Technion - IIT

i = N; K = 2; while (i / K >= K) { If (i % K == 0) { i = i + 1; } else { K = K + 1; } done = 1; output (i); 234262 – © Yohai Devir 2007 Technion - IIT

i = N; K = 2; while (i / K >= K) { If (i % K == 0) { i = i + 1; } else { K = K + 1; } done = 1; output (i); 234262 – © Yohai Devir 2007 Technion - IIT

i = N; K = 2; while (i / K >= K) { If (i % K == 0) { i = i + 1; } else { K = K + 1; } done = 1; output (i); 234262 – © Yohai Devir 2007 Technion - IIT

i = N; K = 2; while (i / K >= K) { If (i % K == 0) { i = i + 1; } else { K = K + 1; } done = 1; output (i); 234262 – © Yohai Devir 2007 Technion - IIT

234262 – © Yohai Devir 2007 Technion - IIT

234262 – © Yohai Devir 2007 Technion - IIT