2015-12-15 5 views
0

Ваш аппарат имеет кэш L1 и память со следующими свойствами.Определение информации о кеше

  • адресного пространство памяти: 24 битых
  • Cache размер блока: 16 байт
  • Cache ассоциативности: прямое отображением размер
  • кэшей: 256 байт

Я прошу определите следующее: 1. количество битов тега. 2. количество бит индекса наличности. 3. количество бит для размера кэша.

  1. бит маркеров = т - (S + б)

    м = 24. S = log2 S, S = С/(В * Е). E = 1 из-за его прямого отображения. поэтому S = 256/16 = 16. s = log2 16 = 4. B = 16 (размер блока кэша) b = log2 B; который равен log2 16 = 4. так что s = 4, b = 4, m = 24. t = 24- (4 + 4) = 16 общих битов тега.

  2. Я не уверен, как это понять.

  3. Я считаю, что количество битов для размера кэша просто C * (число бит/байт) = 256 * 8 = 2048.

Может кто-нибудь помочь мне выяснить, 2., и если определить логика в 1. & 3. верны?

+1

Если общее адресное пространство составляет 24 бита, тогда количество бит бита должно быть меньше 24. Другими словами, я не уверен, где вы получили 'm = 32'. – user3386109

+0

Я неверно истолковал вопрос, м должен быть 24. – bkennedy

+0

Для вашей будущей информации: Пожалуйста, [не размещайте тот же вопрос на нескольких сайтах] (http://meta.stackexchange.com/q/64068). У каждого сообщества должен быть честный ответ на вопрос, если никто не будет потрачен впустую. Если вы не получите удовлетворительного ответа через неделю или около того, не стесняйтесь отмечать для миграции. Спасибо! –

ответ

1

1) Это верно для m = 32 (не 24?).

2) Число индексных бит: количество бит для адресации блока в кеше при его прямом отображении, поскольку оно идентифицирует набор (который в этом случае состоит только из одного блока). Если бы это было 2-way, для индекса (и добавлено к битам-меткам) понадобилось бы 1 бит меньше. Для этой проблемы. Поскольку существует 16 наборов, вам нужны 16 индексных битов, которые могут быть представлены в 4 битах индекса.

3) Непонятно, как интерпретировать этот вопрос. Я бы понял это как количество бит, необходимое для обращения к кешу, которое в этом случае было бы 4? Если, по вашему мнению, количество бит в кеше означало, вам нужно было бы добавить 16 * 16 бит для битов тегов в ваше решение.

+0

Как вы определяете, сколько бит необходимо для обращения к кешу? – bkennedy

+0

Чтобы обратиться к келине, вам нужны биты log2 (cachesize/blocksize). Однако я не совсем уверен, что имеется в виду. Вы переводили его самостоятельно на английский? – Ctx

+0

Нет, это точная копия вопроса, который предоставляется на моей заключительной практике для класса Computer Architecture, @ctx – bkennedy