Top Banner
The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech
25

The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Dec 17, 2015

Download

Documents

Aron Malone
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

The Design of Asynchronous Memory Management Unit

Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech

Page 2: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Asynchronous Memory Management Unit• What is a MMU? 16 bit virtual address ==> a 24 bit physical address. ma (memory address) ra (real address)

Page 3: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Memory Management Unit

16 bit virtual address + 8-bit segmentation register ==> a 24 bit physical address. sr: Segementation Read register (FFFF) sw: Segementation Write register (FFFE)

Page 4: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Async Memory Management Unit• Six Operations: a. Read from/Write to sr (lower 8-bit data) b. Read from/Write to wr (lower 8-bit data) c. Read from/Write to memory (16-bit data)

Page 5: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Async Memory Management Unit

• 4 control signals: a. MDl: memory data load (mem or Seg Reg==>CPU) b. MDs: memory data store (CPU==>mem or Seg Reg) c. MSl: memory storage load. d. MSs: memory storage store.

Page 6: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Memory Load

• Wait for communication on MDl port • Do memory address comparison ma=FFFEh (load from wr) ma=FFFFh (load from sr) otherwise load from memory.• Put sr on real address bus (ra=sr) • Request memory load from Memory Interface (initiate a communication on MSl)• Wait until load is acknowledged then complete communication on MDl port

Page 7: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Store Seg. Read Register

• Wait for communication on MDs port • Do memory address comparison check ma=FFFFh • Put value from data bus into the sr register • Complete communication on MDs port

Page 8: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Design Flow

Page 9: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

CSP Specification of MMU

MDs]]MSs;sw;:rab3 []

MDsdata;:swb2 []

MDsdata;:srb1 [

FFFE));(maFFFF)(maFFFE),(maFFFF),(ma

:b3b2,(b1,MDs[ []

MDl]MSl;sr;:rab3 []

MDlsw;:datab2 []

MDlsr;:datab1 [

FFFE));(maFFFF)(maFFFE),(maFFFF),(ma

:b3b2,(b1,MDl[[*

Load

Store

load from sr register

load from sw register

load from memory

write to sr registerwrite to sw register

write to memory

Page 10: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Optimizing CSP Specification

• Logic:

• Time:ma0b3b2

ma0b3b1

FFFE)(maFFFF)(mab3

FFFE)(maFFFF)(mab3

)τMax(ττ

)τMax(ττ

ττ

τττ

rama,reg

rama,mem

mareg

ramamem

Page 11: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Optimizing CSP Specification

MDs]]MSs;b3 []

MDsdata;:swb2 []

MDsdata;:srb1 [

ma0));b3ma0,b3b2b1,

FFFE);(maFFFF)(ma:(b3||sw):((raMDs[ []

MDl]MSl;b3 []

MDlsw;:datab2 []

MDlsr;:datab1 [

ma0));b3ma0,b3b2b1,

FFFE);(maFFFF)(ma:(b3||sr):((raMDl[[*

Page 12: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Process Decomposition

• Control path:

Page 13: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Process Decomposition

• Datapath: A. comparator:

B. Registers:

Page 14: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Memory Data Load Cycle

Page 15: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Handshaking Expansion

Page 16: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Handshaking Expansion

Page 17: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Handshaking Expansion

Page 18: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Handshaking Expansion

Page 19: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Handshaking Expansion

• Reshuffling

Page 20: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Production Rule Expansion

• Load data from sr register:

Guard Strengthening: Make the order of transitions confirmwith CSP specification.

Page 21: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

PR Implementation

Page 22: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

Handshaking Expansion:datapath

• Datapath:

• Reshuffling:

Page 23: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

PR Implementation: datapath

• PADIN: single-rail memory address =>

dual-rail memory address

Page 24: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

PR Implementation: datapath

• determines if bits ma15-ma1 are all high.

Page 25: The Design of Asynchronous Memory Management Unit Chris Myers Alain Martin Computer System Lab. CS Dept. Stanford University Cal. Tech.

PR Implementation: datapath

• determines if bits ma15-ma1 are all high.