Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
Навигация
Для хранения суммы и среднего значения предназначены переменные SUM и AVE. Эти переменные, равно как и индексные переменные i и j, при вычислениях хранятся в регистрах процессора.

Рис. 8.7. Массив, хранящийся в основной памяти

Рис. 8.8. Код для примера
Кэш с прямым отображением
На рис. 8.9 показано, как изменяется содержимое кэша с прямым отображением. В столбцах таблицы приведено содержимое кэша после проходов по двум циклам программы, представленной на рис. 8.8. Например, после второго прохода по первому циклу (j = 1) в кэше содержатся элементы А(0,0) и А(0,1). Они хранятся в блоках 0 и 4 с учетом значений трех младших разрядов их адресов. На следующем проходе элемент А(0,0) заменяется элементом А(0,2), имеющим тот же адрес блока. Обратите внимание, что элементы массива соответствуют только двум блокам кэша, а остальные блоки остаются неизменными — в конце процесса нормализации они содержат те же данные, что до его начала.
Позиция блока
0 1 2 3 4 5 6 7
|
Содержимое кэша данных после прохода по циклу:
|
||||||||
j=1
|
j=3
|
j=5
|
j=7
|
j=9
|
i=6
|
i=4
|
i=2
|
i=0
|
|
А(0,0)
|
А(0,2)
|
А(0,4)
|
А(0,б)
|
А(0,8)
|
А(0,6)
|
А(0,4)
|
А(0,2)
|
А(0,0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А(0,1)
|
А(0,3)
|
А(0,5)
|
А(0,7)
|
А(0,9)
|
А(0,7)
|
А(0,5)
|
А(0,3)
|
А(0,1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 8.9. Содержимое кэша данных с прямым отображением
После десяти проходов по первому циклу (j = 9) в кэше хранятся элементы А(0,8) и А(0,9). Поскольку при выполнении
<< назад вперед >>