Сколько битов находится в поле адреса для непосредственно отображенного кэша?

886
committedandroider

Вот проблема, над которой я работаю:
Проблема: «Высокоскоростная рабочая станция имеет 64-битные слова и 64-битные адреса с разрешением адресов на уровне байтов. Предполагая, что кэш прямого отображения с 8192 64-байтовыми строками определяет количество бит в каждой из них. из следующих полей адреса для кеша? 1) байт 2) индекс 3) тег? "

Сначала я определил термины в этой задаче и использовал другой вопрос Stack Overflow Direct Mapped Cache и мой другой вопрос о кэшировании в качестве ссылок (Пожалуйста, исправьте меня, если какое-либо из моих определений неверно)

  • 64-битные слова - процессор может обрабатывать 64-битные одновременно
  • 64-битные адреса с адресацией на уровне байтов - в ОЗУ имеется 2 ^ 64 ячеек памяти, и каждая ячейка памяти хранит байт.
  • Кэш высокоскоростной и разбит на строки кеша
  • Непосредственно сопоставленный кэш - это место, где блок оперативной памяти отображается в одну строку кэша (не уверен в значимости этого

Теперь работа с Direct Mapped Cache в качестве ссылки

  1. Байт - поскольку байтовая строка состоит из 64 байтов, вам нужно 6 бит, чтобы идентифицировать один байт в этой байтовой строке
  2. Индекс - поскольку имеется 8192 «строки» байтовых строк, вам нужно как минимум 10 бит для идентификации каждой строки

Теперь вот та часть, где я застрял. В другом посте говорилось: «Все остальные биты являются битами TAG». в то время как в этом лекционном сообщении говорилось: «Каждая строка имеет тег, который указывает адрес в M, с которого была скопирована строка». Я предполагаю, что М означает ОЗУ.

Здесь все остальные биты будут 64 - 6 - 10 = 48 бит. Но разве вам не нужны все 64 бита в TAG, чтобы указать, из какой области памяти в ОЗУ поступили данные в кеше? Может кто-то прояснить путаницу у меня здесь?

0
Насколько большой кеш в этом вопросе? (Обратите внимание, что, например, кэш-память размером 256 КБ подразумевает 18 бит где-то в ваших вычислениях :)). Hennes 8 лет назад 0
Я правильно понял две другие части? Поскольку каждая строка кэша имеет 64 байта, а их 8192, кэш состоит из 524288 байтов. Чтобы идентифицировать один байт, вам нужно 19 бит. Так тэг всего 3 бита ?? Это кажется слишком маленьким, чтобы определить, из какого блока оперативной памяти пришла строка кэша committedandroider 8 лет назад 0

0 ответов на вопрос

Похожие вопросы