Приносим извинения, если это неправильный стек для этого; он просто казался самым близким к месту, которое могло бы помочь в компьютерной архитектуре. Для задачи домашних заданий в компьютерных системах я был задан вопрос:Direct Mapped Cache Hit/Miss
Consider three direct mapped caches X, Y, and Z each interpreting an
8-bit address slightly differently according to the {tag:setIdx:byteOffset}
format specified. For each address in the reference stream, indicate whether the
access will hit (H) or miss (M) in each cache.
C1 C2 C3
Address Formats: {2:2:4} {2:3:3} {2:4:2}
Address References in Binary: 00000010, 00000100...
Я должен сказать, является ли каждая из ссылок адреса приведет к наудачу, но я не знаю, с чего начать.
Для форматов я думал, что тег означает тег данных в блоке кеша, setIdx означает количество бит, заданных для представления различных блоков в кеше, а смещение - это конкретный байт в блоке, который вы можно выбрать из.
Я чувствую, что не понимаю, что такое хит или промах. Я думал, что существует 3 типа: обязательный, потенциал и конфликт. Как я узнаю, что является обязательной ошибкой, если я не знаю, что уже находится в кеше? Как я могу указать емкость кэша с учетом форматов тегов?
Спасибо за любые советы и подсказки.
Что байтовое смещение тогда? – KWJ2104
смещение байта - как большой один блок. Например, используя ту же ссылку, что и выше, при условии, что C1 имеет {00 00 0010}, загруженный в блок {00}, этот блок содержит память {00 00 0000} до {00 00 1111}. Однако, если вы попытаетесь найти {01 00 0010}, это будет ошибкой, потому что тег отличается. (Также я предполагаю, что это однонаправленное ассоциативно-ассоциативное отображение) –