This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Faster compilation speed
From: Richard Earnshaw <rearnsha@arm.com>
Date: Thu, 22 Aug 2002 09:53:19 +0100
> How expensive is a TLB miss, anyway? I hadn't expected it would occur
> often enough in gcc to be significant. Note the IPC ratio stays constant,
> but as I understand it, TLB is handled in software, so maybe those cycles
> are counted by iprobe?
A cache miss probably takes about twice as long if we also miss in the
TLB, assuming tlb walking is done in hardware -- if you have a soft-loaded
TLB, then it could take significantly longer.
A soft-loaded TLB miss on UltraSPARC can be serviced in ~38 processor
cycles. At least this is how fast the Linux software TLB miss handler
is. This includes all of the overhead associated with entering and
leaving the trap. It also assumes that the TLB miss handler hits the
L2 cache for the page table entry load (there is only one memory
access necessary to service a TLB miss, bonus points to those who know
how this is accomplished without looking at the sources :-).