250 likes | 384 Views
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?
E N D
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)
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)
Asyn 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)
Asyn 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.
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
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
CSP Specification of MMU Load Store load from sr register load from sw register load from memory write to sr register write to sw register write to memory
Optimizing CSP Specification • Logic: • Time:
Process Decomposition • Control path:
Process Decomposition • Datapath: • A. comparator: • B. Registers:
Handshaking Expansion • Reshuffling
Production Rule Expansion • Load data from sr register: Guard Strengthening: Make the order of transitions confirm with CSP specification.
Handshaking Expansion:datapath • Datapath: • Reshuffling:
PR Implementation: datapath • PADIN: • single-rail memory address => dual-rail memory address
PR Implementation: datapath • determines if bits ma15-ma1 are all high.
PR Implementation: datapath • determines if bits ma15-ma1 are all high.