Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Translation lookaside buffer
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Virtualization and x86 TLB== With the advent of virtualization for server consolidation, a lot of effort has gone into making the x86 architecture easier to virtualize and to ensure better performance of virtual machines on x86 hardware.<ref>{{cite journal|author1=D. Abramson|author2=J. Jackson|author3=S. Muthrasanallur|author4=G. Neiger|author5=G. Regnier|author6=R. Sankaran|author7=I. Schoinas|author8=R. Uhlig|author9=B. Vembu|author10=J. Wiegert|title=Intel Virtualization Technology for Directed I/O|journal=Intel Technology Journal|volume=10|issue=3|pages=179β192}}</ref><ref>Advanced Micro Devices. AMD Secure Virtual Machine Architecture Reference Manual. Advanced Micro Devices, 2008.</ref> Normally, entries in the x86 TLBs are not associated with a particular address space; they implicitly refer to the current address space. Hence, every time there is a change in address space, such as a context switch, the entire TLB has to be flushed. Maintaining a tag that associates each TLB entry with an address space in software and comparing this tag during TLB lookup and TLB flush is very expensive, especially since the x86 TLB is designed to operate with very low latency and completely in hardware. In 2008, both [[Intel]] ([[Nehalem (microarchitecture)|Nehalem]])<ref>{{cite journal|author1=G. Neiger|author2=A. Santoni|author3=F. Leung|author4=D. Rodgers|author5=R. Uhlig|title=Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization|journal=Intel Technology Journal|volume=10|issue=3}}</ref> and [[AMD]] ([[Secure Virtual Machine|SVM]])<ref>Advanced Micro Devices. [[AMD]] [[Secure Virtual Machine]] Architecture Reference Manual. Advanced Micro Devices, 2008.</ref> have introduced tags as part of the TLB entry and dedicated hardware that checks the tag during lookup. Not all operating systems made full use of these tags immediately, but Linux 4.14 started using them to identify recently used address spaces, since the 12-bits PCIDs (4095 different values) are insufficient for all tasks running on a given CPU.<ref>{{cite web |url=https://kernelnewbies.org/Linux_4.14#Longer-lived_TLB_Entries_with_PCID |title=Longer-lived TLB Entries with PCID |date=30 December 2017 |website=Kernelnewbies |access-date=31 July 2023}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)