Я хочу знать, правильно ли я решил эту проблему с кешем с прямым отображением. Мне нужно рассчитать положение блока в кеше и найти его тег.
Учитывая, что CACHE имеет 1024 BLOCK и что в каждом блоке 64 байта, в какой позиции CACHE будет храниться адрес 5C892D0 (hex)?
Адрес 5C892D0 в двоичном коде:
101 1100 1000 1001 0010 1101 0000.
Поскольку в каждом блоке 512 бит, я знаю, что самые правые 9 бит (2 ^ 9 = 512) - это позиция в ГЛАВНОЙ ПАМЯТИ, а предыдущие 10 бит (2 ^ 10 = 1024) - это позиция в CACHE. , Остальные биты образуют тег.
Таким образом, позиция блока в CACHE этого адреса равна 0001001001
или 73-му BLOCK в CACHE, а TAG равен 10111001
.