CSE 140 Lecture 14 System Designs

Slides:



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

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.
CS 140L Lecture 5 Professor CK Cheng CSE Dept. UC San Diego.
1 CS 140 Lecture 12 Standard Combinational Modules Professor CK Cheng CSE Dept. UC San Diego.
CS 140 Lecture 17 Professor CK Cheng 11/26/02. System Designs 1.Intro 2.Spec 3.Implementation.
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.
CS 140L Lecture 5: Counters 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.
1 CS 140 Lecture 18 Sequential Modules: Serial Adders, Multipliers Professor CK Cheng CSE Dept. UC San Diego.
CS 140 Lecture 19 Professor CK Cheng 12/05/02. Sequential Machine Standard Modules Combinational Sequential System Designs.
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.
1 Catalog of useful (structural) modules and architectures In this course we will be working mostly at the BEHAVIORAL and STRUCTURAL levels. We will rely.
Computer Architecture and Organization Introduction.
Chapter 1 Introduction. Objectives To explain the definition of computer architecture To discuss the history of computers To describe the von-neumann.
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
Abdullah Said Alkalbani University of Buraimi
CSE 140 Lecture 12 Combinational Standard Modules CK Cheng CSE Dept. UC San Diego 1.
Lecture 21: Registers and Counters (1)
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
SAP1 (Simple-As-Possible) Computer
REGISTER TRANSFER LANGUAGE (RTL)
CSE 140 Lecture 14 System Designs
CSE 140 Lecture 12 Combinational Standard Modules
Chap 7. Register Transfers and Datapaths
Register Transfer and Microoperations
Overview Instruction Codes Computer Registers Computer Instructions
Processor (I).
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
CS M51A/EE M16 Winter’05 Section 1 Logic Design of Digital Systems Lecture 15 March 9 W’05 Yutao He 4532B Boelter Hall
ECEG-3202 Computer Architecture and Organization
CSE 140 Lecture 17 System Design II
Computer Architecture and Design Lecture 6
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
CS 140 Lecture 16 Professor CK Cheng 11/21/02.
ECEG-3202 Computer Architecture and Organization
CSE 140 Lecture 14 System Design
CS 140 Lecture 19 Standard Modules
CS 140 Lecture 15 Sequential Modules
CSE 140 Lecture 16 System Designs II
A register design with parallel load input
COMS 361 Computer Organization
Overview Last lecture Digital hardware systems Today
Switching Theory and Logic Design Chapter 5:
Levels in Processor Design
CSE140: System Design Xinyuan Wang 05/31/2019.
William Stallings Computer Organization and Architecture 7th Edition
CSE 140 Lecture 11 Standard Combinational Modules
CSE 140 Lecture 16 System Designs
Presentation transcript:

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

System Designs Introduction Components Spec Implementation

Introduction Methodology Approach with success stories. Hierarchical designs with interface between the levels. 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 n=64 n=64 Data Subsystem Data Inputs Data Outputs Control Signals Conditions Control Subsystem Control Inputs Control Outputs Start/Request Done/Acknowledgement

Introduction 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

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

Components: Storage Modules, Register LD: Load CLR: Clear D LD CLR CLK 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

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)

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

Functional Modules CASE Op-Sel Is When F1, Z <= A op1 B . End CASE Operation selection 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 ….. R1 R2 R3 Rn Switches x x x x c c d S DEMUX S MUX 1 2 3 .. n 1 2 3 .. n y y R1 Rn R1 Rn

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

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 A B C If C1 then X  A Else X  B + C Endif If C2 then G  X Adder 1 0 C1 MUX C2 G CLK

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

Hand Shaking start t done t