2013-12-10 2 views
0

(a) Вам предоставляется система памяти с двумя уровнями кеша (L1 и L2). Ниже приведены технические характеристики: времяРасчет фактического/эффективного CPI для кэша 3 уровня

  • Хит кэша L1: цикл 2 часов
  • скорость Хит кэша L1: 92%
  • Miss штраф в кэш L2 (время L2 HIT): 8 тактов
  • скорость Hit кэша L2: 86%
  • Miss штраф в основную память: 37 тактов
  • Предположим, на данный момент, поразившего скорость оперативной памяти составляет 100%.

С учетом программы обучения 2000 года с инструкциями по передаче данных 37% (загрузки/хранения) вычислите CPI (циклы часов в инструкции) для этого сценария.

For this part, I calculated it like this (am I doing this right?): 

(m1: miss rate of L1, m2: miss rate of L2) 

AMAT = HitTime_L1 + m1*(HitTime_L2 + m2*MissPenalty_L2) 
CPI(actual) = CPI(ideal) + (AMAT - CPI(ideal))*AverageMemoryAccess 

(б) Теперь позволяет добавить еще один уровень кэша, т.е. L3-кэш между кэшем L2 и основной памятью. Рассмотрим следующее:

  • Мисс Штраф L3 кэш (HIT времени кэш-памяти L3): 13 циклов тактового сигнала
  • скорость Хит L3 кэша: 81%
  • промах в основную память: 37 циклов тактового сигнала
  • Другие технические характеристики остаются в части (а)

по той же программе 2000 команд (который имеет 37% инструкции по передаче данных), расчета ИПЦ.

(m1: miss rate of L1, m2: miss rate of L2, m3: miss rate of L3) 

AMAT = HitTime_L1 
     + m1*(HitTime_L2 + m2*MissPenalty_L2) 
      + m2*(HitTime_L3 + m3*MissPenalty_L3) 

Является ли эта формула правильной и где я могу добавить пропущенный штраф в основную память в этой формуле? Вероятно, он должен быть добавлен с пропуском L3, но я не уверен.

+1

связанная дискуссия - http://stackoverflow.com/questions/20200129/how-to-calculate-effective-cpi-for-a-3-level-cache-homework – Leeor

ответ

-1

(a) Расчет AMAT верен, если вы заметили, что параметр MissPenalty_L2 - это то, что вы назвали штрафом Miss в основной памяти.

CPI немного сложнее. Прежде всего, предположим, что процессор не конвейерный (последовательный процессор).

Доступен 1,37 обращения к памяти на каждую инструкцию (один доступ для извлечения команды и 0,37 из-за инструкций по передаче данных). Идеальным случаем является то, что все ячейки памяти попадают в кеш L1. Итак, зная, что:

CPI(ideal) = CPI(computation) + CPI(mem) = 
      CPI(computation) + Memory_Accesses_per_Instruction*HitTime_L1 = 
      CPI(computation) + 1.37*HitTime_L1 

С реальной памяти, среднее время доступа к памяти AMAT, так:

CPI(actual) = CPI(computation) + Memory_Accesses_per_Instruction*AMAT = 
       CPI(ideal) + Memory_Accesses_per_Instruction*(AMAT - HitTime_L1) = 
       CPI(ideal) + 1.37*(AMAT - HitTime_L1) 

(б) Ваш расчет AMAT неправильно. После промаха на L2 он следует за доступом к L3, который может быть ударом или промахом. Попытайтесь закончить упражнение самостоятельно.

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