[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Silly question - a further one : TLB flush
Perry E. Metzger a écrit :
It is very application dependent. The AMD64 architecture has more
registers, and the registers are wider, so for some applications you
can get significant speedup. On the other hand, you also get wider
pointers and such, and those consume more cache and memory. You should
benchmark if you're doing any sort of performance critical application
to figure out which is better for your app.
Ok, that does not surprise me. However, if I had got the point of other
answers, switching from i386 to amd64 supposes recompiling all the
applications, because 32-bit userland under 64-bit kernel is still
According to a recent article published on appleinsider.com, Unises'
i386 kernels, although they can address the integrality of the 4 GiB
memory space, both in user- and kernel mode, suffer from a TLB cache
penalty each time a system call (trap) or interrupt is entered in,
because the OS has to switch the MMU between user- and kernel VM space,
and thus flush the TLB before reloading it. This penalty is not incured
by 64-bits kernels, because the whole VM space can safely be divided
between user and kernel space without any overlap, and thus the TLB can
hold "global" VM page translation infos (what 32bit-Windows versions
actually do, limiting user memory space to 2 or 3 GiB at most).
Main Index |
Thread Index |