Мои извинения, если это неправильный обмен стеками для этого; это просто казалось самым близким к месту, которое могло бы помочь компьютерной архитектуре. В качестве домашнего задания по компьютерным системам меня попросили:
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 типа :обязательные, дееспособные и конфликтные. Как я узнаю, что является обязательным промахом, если я не знаю, что уже находится в кеше? Как я могу определить емкость кеша с учетом форматов тегов?
Спасибо за любые подсказки или подсказки.