Я изо всех сил пытаюсь решить этот вопрос, я осмотрелся, но все похожие вопросы более сложны, чем мои, с использованием журналов они более продвинуты, чем мы делали в нашем классе. Вот вопрос:
Предположим, у вас есть 4-сторонний ассоциативный кэш, который имеет в общей сложности 4096 байт кэш-памяти, а каждая строка кеша имеет размер 128 байт. Сколько наборов есть в этом кеше? Если память имеет байтовую адресацию, а адреса - 16 бит, то сколько байтов используется для тега?
Вот что у меня есть на данный момент:
4096/128 = num lines
4096/128/4 = 8 = num sets
(каждый набор состоит из 4 строк в 4-полосной ассоциации наборов)
Итак, нужно 3 бита, чтобы выбрать набор (2^3=8)
У нас осталось 16-3 = 13 bits
для тега и слова.
Поскольку в вопросе говорится, что память имеет байтовую адресацию, я думаю, что это означает, что длина слова составляет 8 бит (= 1 байт), и, следовательно, длина тега составляет 16-3-8 = 5
бит.
Хотя я в этом не совсем уверен. Есть ли у кого-нибудь решение этой проблемы?