Принцип работы буфера быстрой трансляции адресов (TLB) заключается в хранении информации о последних используемых переводах виртуальных адресов в физические. www.scaler.com dzen.ru
Когда программа запрашивает доступ к памяти, сначала проверяется TLB. www.scaler.com Если в нём есть необходимый перевод, это приводит к быстрому извлечению данных (попадание в TLB, TLB hit). www.scaler.com
Процесс работы при попадании в TLB: www.scaler.com
- Процессор генерирует адрес виртуальной памяти, обычно в рамках инструкции загрузки или сохранения. www.scaler.com
- Процессор проверяет соответствие между сгенерированным виртуальным адресом и записями, хранящимися в TLB. www.scaler.com
- Процессор извлекает соответствующий физический адрес из записи TLB. www.scaler.com
- Этот физический адрес используется для доступа к фактическим данным, хранящимся в основной памяти (ОЗУ). www.scaler.com
Если в TLB нет необходимого перевода, происходит промах (TLB miss). www.scaler.com В этом случае операционная система и аппаратное обеспечение должны выполнить дополнительные шаги, чтобы получить необходимый перевод. www.scaler.com
Процесс работы при промахе TLB: www.scaler.com
- Программа или процесс инициирует операцию доступа к памяти, генерируя адрес виртуальной памяти. www.scaler.com
- Процессор проверяет TLB на соответствие между сгенерированным виртуальным адресом и записями, хранящимися в TLB. www.scaler.com
- В случае промаха TLB подходящей записи не найдено в TLB. www.scaler.com
- Процессор обращается к таблице страниц, которая является структурой данных в основной памяти, поддерживаемой операционной системой. www.scaler.com
- Процессор извлекает запись таблицы страниц, соответствующую виртуальному адресу. www.scaler.com
- Процессор обновляет TLB новой информацией о переводе. www.scaler.com
- С информацией о переводе из записи таблицы страниц процессор вычисляет физический адрес, соответствующий исходному виртуальному адресу. www.scaler.com
- Теперь процессор может использовать вычисленный физический адрес для доступа к данным, хранящимся в основной памяти (ОЗУ). www.scaler.com