linux-mips
[Top] [All Lists]

Re: TLB dimensioning

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: TLB dimensioning
From: Dominic Sweetman <dom@mips.com>
Date: Thu, 2 Sep 2004 12:53:45 +0100
Cc: Johannes Stezenbach <js@convergence.de>, Dominic Sweetman <dom@mips.com>, Emmanuel Michon <em@realmagic.fr>, linux-mips@linux-mips.org
In-reply-to: <20040902103137.GB19884@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1094033224.20643.1402.camel@nikita.france.sdesigns.com> <16693.52862.859233.198626@doms-laptop.algor.co.uk> <20040902101957.GA7728@convergence.de> <20040902103137.GB19884@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
Johannes asked

> > "...the 4Kc core contains a 3-entry instruction TLB (ITLB), a 3-entry
> > data TLB(DTLB), and a 16 dual-entry joint TLB (JTLB) with variable page
> > sizes."
> > 
> > What exactly does that mean, and how does it rate performancewise?
> > I'm just curious ;-)

I'd like to believe that if the manual mentions the ITLB and DTLB it
also says, somewhere, what they do...

But as Ralf says they're tiny caches of translation entries,
automatically refilled from the main TLB when required.  They work
faster than the main TLB (being smaller) and prevent translations for
loads/stores getting in the way of translations for instruction
fetches.  Usually there's a mysterious 1-clock extra delay when the
translation you need isn't in the ITLB/DTLB, but it's only one clock
and doesn't happen very often, so the performance effect is usually
somewhere between unmeasurable and tiny.

> Probably most MIPS implementations since at least the R4600 had ITLB
> and DTLB.

Even the very first MIPS architecture chip (R2000) had an I-side
"uTLB".  It had just one entry, but then instructions tend to be
sequential...

--
Dominic Sweetman
MIPS Technologies


<Prev in Thread] Current Thread [Next in Thread>