Article View: net.arch
Article #2401Re: Caching virtual addresses (was: How Many Virtual Spaces)
From: hansen
Date: Mon, 21 Apr 1986 22:51
Date: Mon, 21 Apr 1986 22:51
34 lines
2368 bytes
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!hansenReferences:
<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