2016-11-27 2 views
1

У меня возникли проблемы с пониманием того, как определить бит тега/индекса/смещения, потому что формулировка вопросов меня путает. Чтобы уточнить, слово в архитектуре - 64 бита. Вот первый вопрос:Как узнать размер блока/смещения блока в дизайне кеша?

кэши имеют важное значение для обеспечения иерархии памяти высокой производительности процессорами. Ниже приведен список ссылок на 64-разрядные адреса памяти, , заданные как адреса слов. 0x03, 0xb4, 0x2b, 0x02, 0xBF, 0x58, 0xbe, 0x0E, 0xb5, 0x2c, 0xBA, 0xfd

Для каждой из этих ссылок, определить двоичное слово адрес, тег, индекс, и смещение с учетом прямого кэша с двухсловными блоками и общим размером восьми блоков. Также укажите, является ли ссылка хитом или пропуском, предполагая, что кеш изначально пуст.

Решение указывает, что смещение составляет 1 бит, так как оно принимает 1 бит для представления двух разных «слов» блока. Поэтому я пытаюсь визуализировать блок, разбитый на 2 раздела (смещения). Откуда я знаю, что вы должны разделить блоки на слова (почему бы не байты)? Ясно, что секции в блоке определяют количество смещенных битов, необходимых для представления секций блоков. Но 2 слова - 16 байт, так почему же блок не разбит на 16 разделов, чтобы указать байты вместо 2 разделов для обозначения слов? Если блок был разделен на 16 разделов (для всех байтов из 2-х слов), не было бы 4 смещенных бита, чтобы определить 16 различных байтовых секций в блоке? Я изо всех сил стараюсь узнать, как определить размер блока. Возможно ли, что вопрос, говорящий о «блоках из двух слов», должен визуализировать блоки, разделенные на слова? Является ли блок из 2 слов таким же, как 16-байтовый блок? (слово равно 8 байтам)

Следующий вопрос упоминает байт-адресацию, и это меня сбивает с толку. Как это соотносится ?:

По соглашению, кэш назван в соответствии с количеством данных, которые он содержит (т.е. 4 KiB кэш может содержать 4 KiB данных); однако в кэшах также требуется SRAM для хранения метаданных, таких как теги и действительные биты. В упражнении вы рассмотрите, как конфигурация кэша влияет на общий объем SRAM, необходимый для его реализации, а также на производительность кэша . Для всех частей предположим, что кеши являются байтами, адресуемыми, а адреса и слова - 64 бита.

Рассчитать общее количество бит, необходимых для реализации кеша 32 KiB с двухсловными блоками.

Оба вопросы от компьютерной организации и дизайна Дэвид Паттерсон и Джон L Hennessy

+0

Пахнет домашней работой. –

+0

@TurboJ Если бы вы прочитали дальше, вы увидите, что у меня есть решения. «Решение указывает ...» Вы даже прочитали сообщение? Нигде я не спросил, как это сделать. Я смущен, как известно, когда создавать смещенные биты на целое слово или байт. –

+0

«У меня возникли проблемы с пониманием этого двусмысленно написанного вопроса», вероятно, должно быть направлено на того, кто написал вопрос. Не смотря ни на что, сопутствующий материал курса для контекста, трудно сделать вывод о том, что предполагается предположить. Тот факт, что он дает адреса слов и запрашивает адреса слов, несколько подсказывает адресный адресный кеш, хотя ... – Notlikethat

ответ

2

Как я знаю, что вы должны разделить блоки на слова (почему не байт)?

Поскольку у вас есть адреса слов, а не байтовые адреса. т. е. ваша память адресована по адресам с адресами этой формы.

Чтобы получить адреса байтов с адресов слов, вы должны добавить 3 нуля.

Является ли блок из 2 слов таким же, как 16-байтовый блок?

Да, размер строки кеша составляет 16 байт.

+0

Возможно, это поможет OP, если вы представите свой ответ, указав, что по дизайну каждое расположение кэша должно хранить копию содержимого ячейки памяти. (Я подозреваю, что это фрагмент контекста, который был опущен при переводе учебного курса в учебник.) – dcorking

+1

@dcorking: Как насчет того, чтобы мы просто ссылались на https://en.wikipedia.org/wiki/CPU_cache для супер-базовых материалов как это. Я не хочу загромождать ответ с догадками о том, что OP может не понять. Этот ответ, по-видимому, был понят OP без дополнительных вопросов, поэтому я не уверен, что больше можно сказать о пользе OP. Если у вас есть идеи, которые, по вашему мнению, помогут будущим читателям извлечь из этого больше пользы, сделайте предлагаемое редактирование. –

Смежные вопросы