Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!mit-eddie!genrad!decvax!ucbvax!sdcsvax!darrell From: darrell@sdcsvax.UUCP Newsgroups: comp.os.research,mod.os Subject: Re: Life with TLB and no PT Message-ID: <3028@sdcsvax.UCSD.EDU> Date: Wed, 22-Apr-87 15:38:13 EST Article-I.D.: sdcsvax.3028 Posted: Wed Apr 22 15:38:13 1987 Date-Received: Fri, 24-Apr-87 03:47:49 EST Sender: darrell@sdcsvax.UCSD.EDU Organization: Carnegie-Mellon University Lines: 37 Approved: mod-os@sdcsvax.uucp Xref: utgpu comp.os.research:6 mod.os:135 First a question: isn't this what an AMD29000 is like? It has a 32 line, 2 way set associative TLB. On a TLB miss, it takes a trap and lets you do whatever you wish. Theoretically, traps are extremely fast. The processor doesn't save any context for you, and it has enough registers that you can dedicate a few of them of them to the TLB trap handler. The TLB entries are also tagged with an 8 bit Task ID which must match the PID in the configuration register for a TLB hit. I don't think the TLB is big enough though. I think that TLB reload from a two level page table could be done in 15-20 cycles or so assuming all pages are in memory. I think somebody mentioned that the MIPS chip does at least part of its TLB reload in software, anybody care to comment? My interest in this subject is a lightweight process model operating system for single user workstations. Being able to design your own protection mechanisms into the paging scheme makes doing this efficiently a lot easier. There is also a lot of flexibility to be gained in shared memory and paging algorithms. You aren't satisfied with the reference bits in the page table? Go add some more... I hadn't thought much about servers and their effects on the TLB. I am more interested in what happens when a user has 10 different interactive processes going at once and the mouse tracks through five of them on its way from the editor to the shell... Of course, in such a system there should be enough sharing that most of the same code is being called. The same applies to server code. With lots of sharing, not that many TLB entries would be needed. (Of the N megs of code in memory on my machine, how much of it is redundant?) We are already starting to see useful systems for this kind of research. The VICE filesystem operates outside of the kernel. MACH supposedly allows user specified paging code. Perhaps this could be used to record paging activity in detail. Sincerely, Zalman Stern Information Technology Center Carnegie Mellon University Arpanet: zs01#@andrew.cmu.edu