23
Spring 2006 Lillevik 437s06- l5 1 University of Portland School of Engineering EE 437 Advanced Computer Architecture Lecture 5 Slave bus agent ROM example I/O write port example

Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Embed Size (px)

DESCRIPTION

Spring EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Decoding Inputs –Address bus –Control bus Fully decoded: unique address/function found Implementation (LS138) –Two levels: address, control –Use output of first level to enable second

Citation preview

Page 1: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 1University of Portland School of Engineering

EE 437

Advanced ComputerArchitecture

Lecture 5

Slave bus agentROM example

I/O write port example

Page 2: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 2University of Portland School of Engineering

EE 437

Slave block diagram

Decode

Data Source

Data Sink

Tri State

Tri State

AC

D

AckLS138 LS244

LS244

Device

Page 3: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 3University of Portland School of Engineering

EE 437

Decoding

• Inputs– Address bus– Control bus

• Fully decoded: unique address/function found• Implementation (LS138)

– Two levels: address, control– Use output of first level to enable second

Page 4: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 4University of Portland School of Engineering

EE 437

Decoding block diagram

LS138

LS138

A

C

Correct address

Correct address and function

First and second level may be reversed

Page 5: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 5University of Portland School of Engineering

EE 437

Decoding for I/O write to 0xf

Page 6: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 6University of Portland School of Engineering

EE 437

ROM block diagram

Decode

Data Source

Tri State

Tri State

AC

D

AckLS138 LS244

ROM

Page 7: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 7University of Portland School of Engineering

EE 437

ROM example requirements

• Address range 0x00 – 0x0f, 16 words• CPU executes read memory instructions• Data of ROM (f, e, d, …, 2, 1, 0)• One master: Breq = Bgnt• No interrupts: Int = gnd

Page 8: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 8University of Portland School of Engineering

EE 437

ROM system schematic

Page 9: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 9University of Portland School of Engineering

EE 437

ROM memory schematic ?

Page 10: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 10University of Portland School of Engineering

EE 437

ROM data filesPr

ogra

mR

OM

contents

Page 11: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 11University of Portland School of Engineering

EE 437

ROM timing

CPU driving A, C ROM driving D

Page 12: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 12University of Portland School of Engineering

EE 437

ROM timing, continued.

CPU driving A, C ROM driving D

Page 13: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 13University of Portland School of Engineering

EE 437

Changes for RAM

• Address bus: same• Control bus: same• Decoding: must look for memory read and

memory write• Data bus: connected to both RAM data in and

data out• ACK: same

Page 14: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 14University of Portland School of Engineering

EE 437

I/O write port block diagram

Decode Tri StateAC

D

AckLS138 LS244

Octal D’s

Data SinkV

Page 15: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 15University of Portland School of Engineering

EE 437

I/O write port requirements

• Port address 0x10• CPU executes I/O write instructions• Data: 1, 2, 4, 8, 10, 20, 40, 80• One master: Breq = Bgnt• No interrupts: Int = gnd

Page 16: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 16University of Portland School of Engineering

EE 437

I/O write port system schematic

Page 17: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 17University of Portland School of Engineering

EE 437

Write port schematic ?

Page 18: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 18University of Portland School of Engineering

EE 437

Write port data files

Program

Page 19: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 19University of Portland School of Engineering

EE 437

Write port timing

Write 0x01 to Port 10 Write 0x02 to Port 10

Page 20: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 20University of Portland School of Engineering

EE 437

Changes for I/O read

• Address bus: same• Control bus: same• Decoding: look for I/O read instruction• Data bus: must drive with tri-state devices• ACK: same

Page 21: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 21University of Portland School of Engineering

EE 437

Page 22: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 22University of Portland School of Engineering

EE 437

ROM memory schematic ?

Page 23: Spring 2006 1 EE 437 Lillevik 437s06-l5 University of Portland School of Engineering Advanced Computer Architecture Lecture 5 Slave bus agent ROM example

Spring 2006

Lillevik 437s06-l5 23University of Portland School of Engineering

EE 437

Write port schematic ?