CSE 140 Lecture 14 System Designs CK Cheng CSE Dept. UC San Diego - - PowerPoint PPT Presentation

cse 140 lecture 14 system designs
SMART_READER_LITE
LIVE PREVIEW

CSE 140 Lecture 14 System Designs CK Cheng CSE Dept. UC San Diego - - PowerPoint PPT Presentation

CSE 140 Lecture 14 System Designs CK Cheng CSE Dept. UC San Diego 1 System Designs Introduction Components Spec Implementation 2 Digital Designs vs Computer Architectures Instruction Set (H.Chapter 6, CSE141)


slide-1
SLIDE 1

CSE 140 Lecture 14 System Designs

CK Cheng CSE Dept. UC San Diego

1

slide-2
SLIDE 2

System Designs

  • Introduction
  • Components
  • Spec
  • Implementation

2

slide-3
SLIDE 3

Digital Designs vs Computer Architectures

  • Instruction Set (H.Chapter 6, CSE141)

– Bottleneck: Silicon Area, Power

  • Data Path (H.Chapter 7.1-7.3)
  • Control Subsystem (H.Chapter 7.1-7.3)
  • Memory Management (Chapter 8, CSE141)

– Bottleneck: IO, Memory Latency

3

slide-4
SLIDE 4

Introduction

4

  • 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 or

more in complexity

  • Data subsystem carries out the data
  • perations and transports
  • Control system sequences the data

subsystem and itself.

slide-5
SLIDE 5
  • I. Introduction

Data Subsystem Control Subsystem Conditions Control Signals n=64 n=64 Data Inputs Control Inputs Data Outputs Control Outputs Start/Request Done/Acknowledgement

5

slide-6
SLIDE 6

Data Subsystem Control Subsystem 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

6

Introduction

slide-7
SLIDE 7

Data Subsystem Components

  • Storage
  • Operator
  • Interconnect

7

slide-8
SLIDE 8

Components: Storage Modules, Register

LD CLR D Q CLK Q(t+1) = (0, 0, .. , 0) if CLR = 1 = D if LD = 1 and CLR = 0 = Q(t) if LD = 0 and CLR = 0

8

LD: Load CLR: Clear

slide-9
SLIDE 9

Storage Component: Registers, Array of Registers

LD C R D

Register Array: If C then R  Daddress Sharing connections and controls

LD R D

Decoder

address

9

Registers: If C then R  D

C

slide-10
SLIDE 10

Decoder

RAM

Address

Size of RAM larger than registers Performance is slower

FIFO (First in first out) LIFO (Last in first out: Stack)

10

Storage Components: RAM, FIFO, LIFO

RAM

slide-11
SLIDE 11

Functional Modules

A B Z

Operation selection CASE Op-Sel Is When F1, Z <= A op1 B When F2, Z <= A op2 B . . End CASE

11

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

slide-12
SLIDE 12

Functional Modules

A B Z

F CASE F Is When F=0, Z <= A When F=1, Z <= B End CASE

12

iClicker: The above function can be implemented by A.A vector of decoders B.A vector of multiplexers C.A RAM D.None of the above

slide-13
SLIDE 13

Interconnect Modules (Wires and Switches)

  • 1. Single line (shifting, time sharing)

13

  • Single Lines
  • Band of Wires
  • Shared Buses
  • Crossbar

Shift Register Shift Register

slide-14
SLIDE 14
  • 2. Band of Wires (BUS)
  • 3. Shared Bus

R1 R2 R3 Rn ….. c y x x y c d 1 2 3 .. n 1 2 3 .. n

MUX

DEMUX 14

Switches

switch switch switch switch S S x x R1 Rn R1 Rn

slide-15
SLIDE 15
  • 4. Crossbar (Multiple buses running horizontally)

m simultaneous transfers are possible, but more expensive.

15

MUX1 MUX2 MUXn … Bus 1 64 Bus n R1 Rn

slide-16
SLIDE 16

Program:

  • 1. Objects (Registers, Outputs of combinational logic)
  • 2. Operation (Logic, Add, Multiplication, DSP, and etc)
  • 3. Assignment
  • 4. Sequencing

Example: Signal S1, S2, R[15:0]: FFs, Registers Z  A + B: Registers, Adder, Interconnect R1  R2: Registers and Interconnect Begin, End: Control if ( ) then ( ), ENDIF: Control

16

slide-17
SLIDE 17
  • Ex. If C then R1 S1

Else R2  S2 Endif;

R1

LD

R2 S2 S1 C

If C1 then X  A Else X  B + C Endif If C2 then G  X Endif

MUX

1 0

Adder B C A G C1 C2 CLK

17

slide-18
SLIDE 18

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.

18