Skip to main content

Что такое прямое картирование?

Прямое сопоставление - это метод хранения информации для легкого доступа к компьютеру. Недавно использованная информация хранится в кэше, поэтому компьютер может быстро найти информацию в следующий раз, когда она понадобится. В компьютерном программировании кеш - это небольшой раздел оперативной памяти (ОЗУ), который выделяется для облегчения извлечения данных. При прямом сопоставлении каждому фрагменту данных в памяти назначается место в кеше, которое оно разделяет с другими фрагментами данных. Данные кэша постоянно перезаписываются по мере необходимости новых данных.

Кеш организован в строки. Каждая строка достаточно велика для хранения одного блока данных и тега, чтобы определить, откуда поступили данные. Когда пользователь запрашивает часть данных, компьютер сначала сканирует кэш, чтобы увидеть, есть ли информация. Если это так, информация возвращается пользователю. Это известно как попадание в кэш, которое быстрее, чем извлечение данных из исходного местоположения.

Процент запросов, которые приводят к попаданиям в кеш, называется частотой обращений. Если запрошенные пользователем данные отсутствуют в кэше, компьютер найдет их в памяти. Копия данных будет помещена в кэш, чтобы ее можно было быстро найти в следующий раз, когда пользователь запросит ее, что теоретически увеличит частоту обращений. Все это происходит за кулисами. Пользователь не знает, поступили ли полученные данные из кеша или памяти.

Прямое сопоставление - это один из методов принятия решения о том, где блоки памяти будут храниться в кеше. Каждому блоку памяти назначается определенная строка в кеше. Поскольку кеш меньше памяти, несколько блоков будут совместно использовать одну строку в кеше. Если строка уже заполнена, когда в нее необходимо записать новый блок, старый блок будет перезаписан.

Хотя прямое сопоставление является очень простым и легким способом создания кэша, оно создает некоторые проблемы. Если программа постоянно обращается к нескольким блокам данных, которые совместно используют одну и ту же строку в кеше прямого отображения, строка будет часто переписываться. Это приводит к большому количеству промахов, потому что данные, которые нужны компьютеру, с меньшей вероятностью будут данными, которые на самом деле находятся в этой строке кэша в данный момент. Таким образом, прямое сопоставление имеет более низкую частоту обращений, чем другие модели сопоставления кэша.