Рассмотрим 16-килобайтный кэш прямого отображения с размером блока 16 байтов (4 слова).Каждая из следующих инструкций ассемблера содержит одну ссылку на память.Каждая ссылка на 4-байтовое слово.Инструкции выполняются в указанном порядке.
movl $0x11F0, 0x0
movl 0x8, %r8
movl $0x22F0, 0x10000
movl 0x0, %r9
movl $0x33F0, 0x10000
Проблема состоит в том, чтобы определить, читается или записывается каждый вызов инструкции, пропущена ли ссылка на память в кеше или нет, или нетзапись в кэше ссылок была недействительной или несоответствие тега
Я работал над каждой инструкцией и получил следующие ответы о том, пишется она или читается, но я не знаю, как узнать, пропущена ли она илиХит?
- магазин (запись)
- чтение
- хранение
- чтение
- хранение
Мне полагалось, что 1 промах, 2 промаха, 3 промаха, 4 попадания, 5 попаданий.
Кроме того, после того, как все инструкции были выполнены, каково содержимое кеша, то есть для каждого блока, укажите его действительность, его тег и его содержимое.