Штраф за промах кеша в глубоком конвейере RISC - PullRequest
1 голос
/ 11 мая 2011

Почему штраф за промах в кеше выше в глубоко конвейерном процессоре?

Это потому, что период задержки будет больше, если промах произойдет на какой-то поздней стадии трубопровода? Или потому, что в конвейере слишком много инструкций?

1 Ответ

4 голосов
/ 28 июня 2011

Обычно вы реализуете более глубокий конвейер, чтобы уменьшить время цикла каждой ступени конвейера.

Рассмотрим две заказные микроархитектуры конвейерного процессора с одним выпуском.

uA1 имеет 5-ступенчатый конвейер ивремя цикла 2 нс.uA2 имеет 10-ступенчатый конвейер и время цикла 1 нс.

Полная ошибка кэша должна (как минимум) загрузить всю строку кэша из DRAM.Предположим, что это занимает 100 нс, включая активацию строки, пакетное чтение слов строки и предварительную зарядку строки.

Когда uA1 принимает ошибку в кэше, он останавливается на 100 нс, например, 50 тактов, например, 50 временных интервалов выдачи.Когда uA2 принимает промах кэша, он останавливается на 100 нс, например, 100 тактов, например, 100 временных интервалов выдачи.

Здесь штраф за промах кэша (выраженный в пропущенных интервалах выдачи инструкций) в два раза большеглубоко конвейерный процессор.

...