Функционирование двухуровневой памяти

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

Чтобы выразить среднее время доступа, нужно учитывать не только ско­рость работы обоих уровней памяти, но и вероятность обнаружения требуемых данных вMl. В результате получим:


(1.1.)

 


где

TS — среднее (системное) время доступа,

T1 — время доступа к Ml (например, кэшу, дисковому кэшу),

T2 время доступа к М2 (например, основной памяти, диску),

Н результативность поиска (доля ссылок на данные в Ml).

На рис. 1.15 показано среднее время доступа как функция результативно­сти поиска.При высокой результативности среднее время доступа намного бли­же ко времени доступа к Ml, чем ко времени доступа к М2.