Программирование на JAVA

(Это не реалистичные параметры, но они удобны для нашего примера.) Для замены блоков в кэше используется алгоритм LRU.

Давайте проанализируем изменения в кэше данных, вызванные выполнени­ем следующей задачи. Массив чисел А размером 4 х 10, в котором каждое число занимает одно слово, хранится в основной памяти по шестнадцатеричным адре­сам от 7А00 до 7А27. Элементы этого массива хранятся в порядке следования столбцов. На рис. 8.7 показано, как выделяются теги из адресов памяти при раз­ных технологиях отображения. Обратите внимание, что в нашем примере нет спе­циальных битов, используемых для идентификации слова внутри блока, как на рис. 8.4, 8.5, 8.6, поскольку мы предполагаем, что каждый блок содержит только одно слово. Приложение нормализует значения элементов первой строки масси­ва А относительно среднего значения элементов этой строки. Таким образом, нам нужно вычислить среднее значение элементов строки и разделить на него значе­ние каждого из элементов. Эту задачу можно выразить так:


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


<< назад вперед >>