Skip TLB

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
Post Reply
telenn
Posts: 3
Joined: Wed Oct 03, 2012 1:55 pm

Skip TLB

Post by telenn »

Hi all,

That's a crazy question : is there anybody here that would have heard of some architecture with a "skip TLB" feature, as well as the OS able to handle that of course ? :shock:
I was thinking to - not small - embedded systems : all critical code & data (including kernel space) would be accessed via the "skip TLB" unlikely stuff, while other more standard apps would be addressed via the good old TLB hit.

Telenn
gerryg400
Member
Member
Posts: 1801
Joined: Thu Mar 25, 2010 11:26 pm
Location: Melbourne, Australia

Re: Skip TLB

Post by gerryg400 »

telenn wrote:Hi all,

That's a crazy question : is there anybody here that would have heard of some architecture with a "skip TLB" feature, as well as the OS able to handle that of course ? :shock:
I was thinking to - not small - embedded systems : all critical code & data (including kernel space) would be accessed via the "skip TLB" unlikely stuff, while other more standard apps would be addressed via the good old TLB hit.

Telenn
The TLB is a cache for page translations. By 'skipping' the TLB you slow down page translations. Is this what you really want ?

Perhaps by 'skip TLB' you mean that some entries are more likely to remain in the TLB and aren't removed when the TLB is flushed ?
If a trainstation is where trains stop, what is a workstation ?
telenn
Posts: 3
Joined: Wed Oct 03, 2012 1:55 pm

Re: Skip TLB

Post by telenn »

Well actually, page translations slow down the system, as a piece of this Rube Goldberg contraption that we call Virtual Memory...

...Ok, ok, stop throw it away. It does sound for sure provocative, retrograde, or whatever you want. Virtual Memory of course have many many advantages, but actually it does not always match your performance needs. From small embedded systems without MMU, to ZeptoOs which provides a big hugepage backed memory area that eliminates TLB misses, many systems already avoid or minimize the overhead of the Virtual Memory machinery... with some drawbacks of course.

So I was thinking to an hypothetic solution (OS + hardware) able to mix both of the two worlds, let's say for the need of a not so small embedded system :
- the MMU would always be enabled, as usual,
- standard non critical apps would be mapped as usual,
- but specialized critical apps (as well as the kernel) would be addressed directly without any translation : a big contiguous memory area would be reserved, for which virtual addresses would have a direct equivalence to physical ones, and thus for which the MMU would have been able to "skip the TLB".

Also, I guess some ELF change would be necessary...

Mad, innit ?

Telenn
User avatar
bluemoon
Member
Member
Posts: 1761
Joined: Wed Dec 01, 2010 3:41 am
Location: Hong Kong

Re: Skip TLB

Post by bluemoon »

I see the embed electronics improve in speed every day, and the need for squeeze out the last cycle (if it actually out-weight the induced complexity, but usually not) is increasing at the negative time direction.

Anyway, you may want to look into ARM, that you have total control on the TLB.

If you want to skip page translation instead, no, it means to have different behavior on different address zone and is usually lead to system design troubles.
telenn
Posts: 3
Joined: Wed Oct 03, 2012 1:55 pm

Re: Skip TLB

Post by telenn »

I see the embed electronics improve in speed every day
Do you think to any system [hardware+OS] in particular ?

Thanks,
Telenn
User avatar
bluemoon
Member
Member
Posts: 1761
Joined: Wed Dec 01, 2010 3:41 am
Location: Hong Kong

Re: Skip TLB

Post by bluemoon »

telenn wrote:Do you think to any system [hardware+OS] in particular ?
Yes. any ARM based dev-boards running embed linux or android.
Post Reply