🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.arch
Article #2401

Re: Caching virtual addresses (was: How Many Virtual Spaces)

#2401
From: hansen
Date: Mon, 21 Apr 1986 22:51
34 lines
2368 bytes
> > How do you make sure that, whenever you re-use a process-id, all old
> > data is flushed from the cache?
> 
> This problem comes up in almost any cache environment; the answer is that
> you need some form of selective flushing.  The only exception is if the
> cache is caching physical addresses *and* sees all i/o activity (say,
> by watching the bus) so that memory data can't change underfoot.  Note
> that this applies both to data/instruction caches and to TLBs, which
> are just specialized caches.
> 
> The process-ids found in caches generally are fairly short, on the
> assumption that processor activity shows fair locality in the process-id
> space.  Examples are the MIPS TLB (six bits of pid, I think it was) and
> the ISI and SUN 68020 MMUs (three bits of pid).
> -- 
> Support the International
> League For The Derision		Henry Spencer @ U of Toronto Zoology
> Of User-Friendliness!		{allegra,ihnp4,decvax,pyramid}!utzoo!henry

I just wanted to clarify that while the MIPS R2000 TLB contains six bits of
process-id, the caches are entirely physical.  Thus, when a pid must be
reused, the TLB must be flushed, but the cache need not be flushed.  As to
whether the flushing should be selective or not, let me suggest that
selective flushing will only free up a single pid, while a wholesale flush
will free up all pids. (And a non-selective flush is usually faster, too.)
Of course, in counting the performance effect, you should take into account
the time required to refill the TLB and/or cache with useful data again.
Note that flushing a TLB is less expensive than flushing a cache.

-- 

Craig Hansen			|	 "Evahthun' tastes
MIPS Computer Systems		|	 bettah when it
...decwrl!mips!hansen		|	 sits on a RISC"
Technical Details
Message-ID: <448@mips.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!glacier!mips!hansen
References: <5100037@ccvaxa> <5100040@ccvaxa> <6581@utzoo.UUCP> <909@umd5.UUCP>, <6877@boring.UUCP> <6605@utzoo.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!glacier!mips!hansen
From: hansen@mips.UUCP
Newsgroups: net.arch
Subject: Re: Caching virtual addresses (was: How Many Virtual Spaces)
Message-ID: <448@mips.UUCP>
Date: Mon, 21-Apr-86 17:51:55 EST
Article-I.D.: mips.448
Posted: Mon Apr 21 17:51:55 1986
Date-Received: Wed, 23-Apr-86 21:37:08 EST
References: <5100037@ccvaxa> <5100040@ccvaxa> <6581@utzoo.UUCP> <909@umd5.UUCP>, <6877@boring.UUCP> <6605@utzoo.UUCP>
Organization: MIPS Computer Systems, Sunnyvale, CA
Lines: 34