Буфер асоціативної трансляції

Бу́фер асоціати́вної трансля́ції (англ. Translation lookaside buffer, TLB) — це спеціалізований кеш центрального процесора, що використовується для прискорення трансляції адреси віртуальної пам'яті на адресу фізичної пам'яті.[1][2] TLB використовується всіма сучасними процесорами з підтримкою сторінкової організації пам'яті. TLB містить фіксований набір записів (від 8 до 4096) і є асоціативної пам'яттю. Кожен запис містить відповідність адреси сторінки віртуальної пам'яті адресі фізичної пам'яті. Якщо адреса відсутня в TLB, процесор обходить таблиці сторінок і зберігає отриману адресу в TLB, що займає в 10-60 разів більше часу, ніж отримання адреси з запису, яка вже закешувалася TLB. Ймовірність промаху TLB невисока і складає в середньому від 0,01% до 1%.

Схема, що показує трансляцію адрес за участі TLB.

Перемикання завдань

Якщо цільове завдання при перемиканні контексту використовує відмінний від попереднього контекст пам'яті (каталог сторінок і таблиці сторінки), відбувається очищення TLB, таким чином при наступних зверненнях в пам'ять, знижується продуктивність процесора (необхідне підвантаження записів таблиці сторінок в порожній TLB). Існує декілька стратегій боротьби з очищенням:

  • збереження TLB в оперативній пам'яті;
  • специфікація приналежності запису TLB до певного адресного простору.

Багаторівневі TLB

У сучасних процесорах може бути реалізовано кілька рівнів TLB з різною швидкістю роботи і розміром. Самий верхній рівень TLB буде містити невелику кількість записів, але буде працювати з дуже високою швидкістю, аж до декількох тактів. Наступні рівні стають повільніші, але, разом з тим і більші.

Іноді верхній рівень TLB розділяється на 2 буфери, один для сторінок, що містять виконуваний код, і інший - для оброблюваних даних.

Див. також

Джерела

  1. Mittal, Sparsh (2017). A survey of techniques for architecting TLBS. Concurrency and Computation: Practice and Experience 29 (10): e4061. doi:10.1002/cpe.4061.
  2. Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014). Faster Translations (TLBs). Operating Systems: Three Easy Pieces. Arpaci-Dusseau Books.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.