CSE 140 Lecture 16 System Designs

Slides:



Advertisements
Similar presentations
CS 140 Lecture 16 System Designs Professor CK Cheng CSE Dept. UC San Diego 1.
Advertisements

Lecture 23: Registers and Counters (2)
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
1 CS 140L Lecture 8 System Design Professor CK Cheng CSE Dept. UC San Diego.
Verilog - 1 Writing Hardware Programs in Abstract Verilog  Abstract Verilog is a language with special semantics  Allows fine-grained parallelism to.
1 CS 140 Lecture 12 Standard Combinational Modules Professor CK Cheng CSE Dept. UC San Diego.
CS 140 Lecture 11 Professor CK Cheng 5/09/02. Part III - Standard Modules Decoder, Encoder, Mux, DeMux, Shifter, Adder, Multiplexer Interconnect: Decoder,
1 CS 140 Lecture 19 Sequential Modules Professor CK Cheng CSE Dept. UC San Diego.
CS 140 Lecture 16 System Designs Professor CK Cheng CSE Dept. UC San Diego 1.
CSE 140L Lecture 4 Flip-Flops, Shifters and Counters Professor CK Cheng CSE Dept. UC San Diego.
CS 140 Lecture 13 Combinational Standard Modules Professor CK Cheng CSE Dept. UC San Diego 1.
CS 140 Lecture 17 System Designs III Professor CK Cheng CSE Dept. UC San Diego 1.
CS 140 Lecture 17 System Designs III Professor CK Cheng CSE Dept. UC San Diego 1.
Chapter 7. Register Transfer and Computer Operations
CS 140 Lecture 12 Professor CK Cheng 11/07/02. Part III - Standard Modules Decoder, Encoder, Mux, DeMux, Shifter, Adder, Multiplexer Interconnect: Decoder,
CS 140 Lecture 18 Professor CK Cheng 12/3/02. Standard Sequential Modules 1.Register 2.Shift Register 3.Counter.
Lecture 1: Introduction to Digital Logic Design CK Cheng Tuesday 4/1/02.
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
CSE 140 Lecture 15 System Designs Professor CK Cheng CSE Dept. UC San Diego 1.
CS 140L Lecture 4 Professor CK Cheng 10/22/02. 1)F-F 2)Shift register 3)Counter (Asynchronous) 4)Counter (Synchronous)
1 CSE 140 Lecture 12 Standard Combinational Modules Professor CK Cheng CSE Dept. UC San Diego.
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
CSE 140 Lecture 12 Combinational Standard Modules CK Cheng CSE Dept. UC San Diego 1.
Lecture 21: Registers and Counters (1)
EKT 221 : Chapter 4 Computer Design Basics
1 CSE 140 Lecture 11 Standard Combinational Modules CK Cheng CSE Dept. UC San Diego.
CSE 140 Lecture 13 Combinational Standard Modules Professor CK Cheng CSE Dept. UC San Diego 1.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
CSE 140 Lecture 12 Combinational Standard Modules CK Cheng CSE Dept. UC San Diego 1.
CSE 140 Lecture 15 System Design II CK Cheng CSE Dept. UC San Diego 1.
CSE 140 Lecture 13 System Designs
CSE 140 Lecture 8 Sequential Networks
Catalog of useful (structural) modules and architectures
SAP1 (Simple-As-Possible) Computer
REGISTER TRANSFER LANGUAGE (RTL)
CSE 140 Lecture 14 System Designs
CSE 140 Lecture 14 System Designs
Control & Execution Finite State Machines for Control MIPS Execution.
CSE 140 Lecture 12 Combinational Standard Modules
Chap 7. Register Transfers and Datapaths
Overview Instruction Codes Computer Registers Computer Instructions
Processor (I).
Instructor: Alexander Stoytchev
CSE 140 Lecture 16 System Designs
CSE 140 Lecture 12 Combinational Standard Modules
Number Representations and Basic Processor Architecture
CSE 140 Lecture 11 Standard Combinational Modules
CSE 140 Lecture 15 System Designs
CSE 140 Lecture 17 System Design II
INTERCONNECTION NETWORKS
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
Some Fundamental Concepts
CS 140 Lecture 16 Professor CK Cheng 11/21/02.
CSE 140 Lecture 14 System Design
CS 140 Lecture 19 Standard Modules
CS 140 Lecture 15 Sequential Modules
22 October 3 classes before 2nd exam! Control 1/16/2019
CSE 140 Lecture 16 System Designs II
Fundamental Concepts Processor fetches one instruction at a time and perform the operation specified. Instructions are fetched from successive memory locations.
A register design with parallel load input
COMS 361 Computer Organization
Levels in Processor Design
Overview Last lecture Digital hardware systems Today
Levels in Processor Design
Switching Theory and Logic Design Chapter 5:
Levels in Processor Design
Digital Circuits and Logic
CSE140: System Design Xinyuan Wang 05/31/2019.
CSE 140 Lecture 11 Standard Combinational Modules
Presentation transcript:

CSE 140 Lecture 16 System Designs CK Cheng CSE Dept. UC San Diego

System Designs Introduction Components Specification Implementation Methodology and Framework Components Specification Implementation

Introduction Methodology Approach with success stories. Hierarchical designs with interface between the modules (BSV). Data Subsystem and Control Subsystem For n-bit data, each operation takes n times or more in hardware complexity. Data subsystem carries out the data operations and transports. Control system sequences the data subsystem and itself.

I. Introduction: Framework Data Subsystem Control Conditions Signals n=128 n=64 Inputs Outputs Start/Request Done/Acknowledgement

I. Introduction: Handshaking Data Subsystem Control Conditions Signals n=128 n=64 Inputs Outputs Start/Request Done/Acknowledgement Master that calls module S X Y start module S X Y Z done Z start done

Handshaking start t done t

Handshaking

Handshaking: iClicker The master module that calls module S controls the following signals Signal start Signal done Signals start and done None of the above

II. Components Components Storage Modules Operators Interconnections Sequential machines Functions Data storage Data operations Data transport Control of data operations Control of data transports Control of the sequential system Data Subsystem Control

II. Data Subsystem Components Storage: Register, RAM, FIFO, LIFO, Counter, Shifter Operator: ALU, Floating Point Operators Interconnect: Wire, Buses, Crossbars

II. Components: Storage Modules, Register LD: Load CLR: Clear D LD CLR LD CLR D CLK Q Q Q(t+1) = (0, 0, .. , 0) if CLR = 1 = D if LD = 1 and CLR = 0 = Q(t) if LD = 0 and CLR = 0

Modulo-n Counter D CNT TC LD Clk CLR Q Q (t+1) = (0, 0, .. , 0) if CLR = 1 = D if LD = 1 and CLR = 0 = (Q(t)+1)mod n if LD = 0, CNT = 1 and CLR = 0 = Q (t) if LD = 0, CNT = 0 and CLR = 0 TC = 1 if Q (t) = n-1 and CNT = 1 = 0 otherwise

Storage Component: Registers, Array of Registers LD C R D Registers: If C then R  D Register Array: If C then Raddress  D Sharing connections and controls R D Decoder address LD C

Storage Components: RAM, FIFO, LIFO Decoder RAM Address Size of RAM larger than registers Performance is slower FIFO (First in first out) LIFO (Last in first out: Stack)

Functional Modules CASE Op-Sel Is When F1, Z <= A op1 B . End CASE Operation selection Op-Sel OpA OpB Z Z Example: CASE Op-Set Is Z <= (A + B)mod 2n if Op-Sel=addition, Z <= (A - B)mod 2n if Op-Sel=subtraction End CASE

Interconnect Modules (Wires and Switches) Single Lines Band of Wires Shared Buses Crossbar 1. Single line (shifting, time sharing) Shift Register Shift Register

2. Band of Wires (BUS) 3. Shared Bus Switches switch switch switch ….. R0 R1 R2 Rn-1 Switches x x x x c c d S DEMUX S MUX 0 1 2 .. n-1 0 1 2 .. n-1 y y R0 Rn-1 R0 Rn-1

4. Crossbar (Multiple buses running horizontally) m simultaneous transfers are possible, but more expensive. MUX0 MUX1 MUXn-1 … Bus 0 64 Bus n-1 R0 Rn-1

Crossbar Switches: VLSI Design

Multistage Network: Clos Network

Multistage Networks: Benes and Omega Networks Blocking: Previous assignment can block the next route.

III. Specification: Program Objects (Registers, Outputs of combinational logic) Operation (Logic, Add, Multiplication, DSP, and etc.) Assignment Sequencing Example: Signal S1, S2, R[15:0]: FFs, Registers, wires Z  A + B: Registers, Adder, Interconnect R1  R2: Registers and Interconnect Begin, End: Control if ( ) then ( ), ENDIF: Control

Ex. If C then R1 S1 Else R2  S2 Endif; If C1 then X  A LD C S2 R2 LD A B C If C1 then X  A Else X  B + C Endif If C2 then Rg  X Adder 1 0 MUX C1 C2 Rg CLK

System Designs Introduction Components Specification Implementation Methodology and Framework Components Specification Implementation

VI. Implementation Example Handshaking Datapath Subsystem Request and Acknowledgement Datapath Subsystem Data Operators Data Transporters Control Subsystem One Hot Machine Design

VI. Implementation: Example AddModule(X, Y, Z, start, done) { Input X[15:0], Y[15:0] type bit-vector, start type Boolean; Local-Object A[15:0], B[15:0] type bit-vector; Output Z[15:0] type bit-vector, done type Boolean; S0: If start’ goto S0 || done 1; S1: A  X || B  Y || done 0; S2: Z  Add(A, B) || goto S0; } Exercise: Go through the handshaking, data subsystem and control subsystem designs.

AddModule(X,Y,start,done) Call AddModule X Y Z start done AddModule X Y Z done start

iClicker Suppose that each step (Si) takes one clock cycle. How many clock cycles does the AddModule take to complete one handshaking iteration? One cycle Two cycles More than two cycles