[comp.arch] Virtual Busses & Distributed MMUs

heymann@ztivax (01/07/88)

(Sorry, if this is the second copy, our "send" didn't work right)



Dear "Computer Architects"


I'm currently working on "hardware support for garbage collection" (Ph.D.
thesis). The main goal is to design a memory system which does the 
garbage collection (GC) completely in the background and let the CPU just 
ask for storage (malloc's) and manipulate pointers. Of course the GC will 
run in parallel with the CPU and bother about fragmentation etc. .

So far I said nothing new. But when I want to keep the GC-overhead from the 
system-bus things get much more complicated, especially in the context of 
multiprocessor systems with virtual memory, multiple (virtual) caches, virtual
address bus etc.

MAIN QUESTION: What are the constraints, problems and trade-offs for:
--------------

1. A "VIRTUAL ADDRESS BUS", which implies
2. "DISTRIBUTED MMUs" ?

Relevant issues are e.g. context switches, multiprocessing/ -tasking (how deal
with the multiple address spaces?), MMU/ TLB consistency (like cache
consistency), reverse-translation (physical -> virtual address), bus-load etc. 


Can anyone give me references to books/articles/reports on these topics? I'd
appreciate direct comments and discussions very much. 
If you have references, please mail directly to me. I'll post a summary of all
responses I got some time lateron.

Thanks.

Juergen Heymann (Siemens Munich). UUCP: ...!unido!ztivax!heymann