Расчет коэффициента пропадания кэша - установить ассоциативный - PullRequest
0 голосов
/ 31 мая 2018

Кусок кода MIPS:

.data
first-node : .word 10,next-node
next-node: .......
.text
la $s0,first-node
move $s1,$zero
loop:
la $t0,0($s0)
add $s1,$s1,$t0
lw $s0,4($s0)
bne $s0,$zero,loop

мы получили список из 4096 узлов,

Кэш-память в одну сторону

16 набор

Размер блока: 128 байт

Виртуальная память с размером страницы 4 КБ

1) Определение скорости пропуска кэша

  • Скорость пропускапервая 16 операция?** Ответ: ** 4/4 + 2 (4, потому что в цикле 4 экземпляра и 2 в цикле перед циклом) - 4/6 = 66%
  • частота промаха 17-й итерации Ответ:

1/6 (1, потому что оно загружает новое дерево (я думаю), а 6 - общее количество экземпляров) = 17%

  • Коэффициент промаха 18-й- 32-я итерация? Ответ:

0/6 (я не понял, почему 0, если нам нужно загрузить следующее дерево) = 0%

  • И общее количество пропущенных? Ответ: 4 * 16 + 1 * 15/16 * 16 * 6 = 5% (эту часть я не могу понять)

2) Сколько ошибок страниц было выполнено? Ответ: Ошибка 9 страниц

3) Какова частота пропусков в TLB? Ответ: 9/6 * 4096 0,03%

Мы ответили на все эти вопросы в классе, но многие из них я не понял, может кто-нибудь объяснить мне?

Также Какая разница между односторонним и двухсторонним?Если оно больше, должно быть меньше промахов, да?проблема в том, как рассчитать?

...