Введение в архитектуру персонального компьютера. Соппа И.В. - 86 стр.

UptoLike

Составители: 

памяти в системах на базе МП 80386 позволяет увеличить коэффициент удачных обращений до
0,95.
Обращение к памяти в ПК, как правило, носит не случайный характер, что позволяет
построить работу КЭШ-памяти по принципу предсказания следующего адреса обращения. Это
вполне возможно, поскольку программы чаще всего обращаются к последовательным ячейкам
памяти. Если спроектировать контроллер КЭШ-памяти таким образом, чтобы вместо одиночных
выборок выбирать данные из памяти блоками, то вероятность удачных обращений неизбежно
возрастает. Действительно, при разделении главной памяти на блоки и возможности пересылки
таких блоков из главной памяти в КЭШ и обратно, в следующем обращении микропроцессора к
памяти будет ссылка на тот же самый блок, что и в текущем обращении. Если запрашиваемая
информация не обнаружена в КЭШ-памяти, то контроллер обновит весь блок целиком и т.д.
Размер блока существенно влияет на коэффициент удачных обращений. В целом,
существует такая зависимость, согласно которой чем больше размер блока, тем выше
коэффициент. Однако следует отметить, что уменьшение количества блоков в КЭШ-памяти
снижает этот коэффициент.
Архитектура КЭШ-памяти определяется тем, каким образом основная память большая по
объему отображается на сравнительно небольшой КЭШ-блок. Существуют три типа организации
КЭШ-памяти. Самой простой организацией обладает КЭШ-память с прямым отображением. В
этом случае адрес памяти полностью определяет используемую строку КЭШа. Таким образом,
один или несколько блоков динамической памяти строго соответствуют одной строке КЭШа,
однако, поскольку занимать ее в одно и тоже время может только один из них, то для каждой
строки используется специальный признактег (tag). Более подробно работа КЭШ-памяти с
прямым отображением рассмотрена на схеме, которая изображена на рисунке 4.2.
От процессора
Тег Строка Смещение
0010 001 100
214
1
2
3
4
5
6
7
0
123 45670Тег
К процессору
Данные
КЭШ
2
Рис. 4.2. Организация КЭШа с прямым отображением
Допустим, что гипотетический микропроцессор использует 10-разрядный адрес, размер
КЭШа составляет 8 строк, а длина каждой строки – 8 байт. В какой-то момент времени
микропроцессор хочет прочитать два байта информации, хранимой в оперативной памяти, с
адреса 0010001100. Для КЭШ-памяти этот адрес подразделяется на три части. В данном случае
три младших разряда называются смещением и полностью определяют положение каждого из
восьми байт в строке. Средние три разряда позволяют однозначно выбрать одну из восьми строк
КЭШа. Оставшиеся старшие разряды несут информацию о теге. И только в том случае, если тег
строки КЭШа совпадает со значением, определяемым старшими разрядами адреса, байты
информации считываются из КЭШ-блока. В противном случае чтение должно идти из основной
памяти в системах на базе МП 80386 позволяет увеличить коэффициент удачных обращений до
0,95.
       Обращение к памяти в ПК, как правило, носит не случайный характер, что позволяет
построить работу КЭШ-памяти по принципу предсказания следующего адреса обращения. Это
вполне возможно, поскольку программы чаще всего обращаются к последовательным ячейкам
памяти. Если спроектировать контроллер КЭШ-памяти таким образом, чтобы вместо одиночных
выборок выбирать данные из памяти блоками, то вероятность удачных обращений неизбежно
возрастает. Действительно, при разделении главной памяти на блоки и возможности пересылки
таких блоков из главной памяти в КЭШ и обратно, в следующем обращении микропроцессора к
памяти будет ссылка на тот же самый блок, что и в текущем обращении. Если запрашиваемая
информация не обнаружена в КЭШ-памяти, то контроллер обновит весь блок целиком и т.д.
       Размер блока существенно влияет на коэффициент удачных обращений. В целом,
существует такая зависимость, согласно которой чем больше размер блока, тем выше
коэффициент. Однако следует отметить, что уменьшение количества блоков в КЭШ-памяти
снижает этот коэффициент.
       Архитектура КЭШ-памяти определяется тем, каким образом основная память большая по
объему отображается на сравнительно небольшой КЭШ-блок. Существуют три типа организации
КЭШ-памяти. Самой простой организацией обладает КЭШ-память с прямым отображением. В
этом случае адрес памяти полностью определяет используемую строку КЭШа. Таким образом,
один или несколько блоков динамической памяти строго соответствуют одной строке КЭШа,
однако, поскольку занимать ее в одно и тоже время может только один из них, то для каждой
строки используется специальный признак – тег (tag). Более подробно работа КЭШ-памяти с
прямым отображением рассмотрена на схеме, которая изображена на рисунке 4.2.

         От процессора

   Тег      Строка   Смещение
   0010      001     100


    2          1         4


                     0
                     1       2                                              К процессору
                     2
                     3
                     4
                     5
                     6
                     7
                             Тег   0   1   2     3        4   5   6   7
                                                     Данные
                                               КЭШ
          Рис. 4.2. Организация КЭШа с прямым отображением

       Допустим, что гипотетический микропроцессор использует 10-разрядный адрес, размер
КЭШа составляет 8 строк, а длина каждой строки – 8 байт. В какой-то момент времени
микропроцессор хочет прочитать два байта информации, хранимой в оперативной памяти, с
адреса 0010001100. Для КЭШ-памяти этот адрес подразделяется на три части. В данном случае
три младших разряда называются смещением и полностью определяют положение каждого из
восьми байт в строке. Средние три разряда позволяют однозначно выбрать одну из восьми строк
КЭШа. Оставшиеся старшие разряды несут информацию о теге. И только в том случае, если тег
строки КЭШа совпадает со значением, определяемым старшими разрядами адреса, байты
информации считываются из КЭШ-блока. В противном случае чтение должно идти из основной