Вопрос, как заявлено, не совсем отвечает. Слово было определено как 32 бита. Нам нужно знать, является ли система «адресуемой по байтам» (вы можете получить доступ к 8-битному фрагменту данных) или «адресуемой по слову» (наименьший доступный блок составляет 32 бита), или даже «адресуемой по половинному слову» ( наименьшая порция данных, к которой вы можете получить доступ, составляет 16 бит.) Это необходимо знать, чтобы знать, что говорит вам бит младшего разряда адреса.
Тогда вы работаете снизу вверх. Давайте предположим, что система является адресно- байтовой .
Тогда каждый блок кэша содержит 8 слов * (4 байта / слово) = 32 = 2 5 байтов, поэтому смещение составляет 5 бит.
Индекс для прямого отображения кэша является количество блоков в кэше (12 бит в этом случае, поскольку 2 12 = 4096) .
Тогда тег - это все оставшиеся биты, как вы указали.
Поскольку кэш становится более ассоциативным, но остается того же размера, меньше битов индекса и больше битов тега.