![](https://konspekta.net/studopediainfo/baza2/150599353026.files/image015.emz)
На рис. 1.16 показана схема алгоритма выполнения запроса на чтение в системе памяти с двухуровневым кэш. Сначала делается попытка обнаружить данные в кэш первого уровня. Если произошел промах, поиск продолжается в кэш второго уровня. Если же нужные данные отсутствуют и здесь, тогда происходит считывание данных из основной памяти. Очевидно,что время доступа к данным оказывается минимальным, когда кэш- попадание происходит уже на первом уровне, несколько большим - приобнаружении данных на втором уровне. И самое большое время доступа составляет обращение к оперативной памяти, если нужных данных нет ни в том, ни в другом кэш. При считывании данных из оперативной памяти происходит их копирование в кэш второго уровня, а если данные считываются из кэш второго уровня, то они копируются в кэш первого уровня.
При работе такой иерархической организованной памяти необходимо обеспечить непротиворечивость данных на всех уровнях. Кэш разных уровней могут согласовывать данные разными способами. Пусть, например, кэш первого уровня использует сквозную запись, а кэш второго уровня - обратную запись. (Именно такая комбинация алгоритмов согласования применена в процессоре Pentium при одном из возможных вариантов его работы.
![](https://konspekta.net/studopediainfo/baza2/150599353026.files/image016.emz)
На рис. 1.17 приведена схема выполнения запроса на запись в такой