Компьютерная архитектура. Математика, не принимая во внимание коэффициент пропусков инструкций при расчете вторичной, но коэффициент пропусков данных для обоих уровней: первичного и вторичного?

Вопрос или проблема

Предположим, у вас есть процессор, который использует 4-ступенчатый конвейер и вторичную кэш-память. В этом процессоре критическое значение параметра составляет 4 нс. Штраф за промах в кэше для первичного и вторичного кэша составляет 15 и 20 тактов соответственно. Коэффициенты промахов для инструкций, данных и вторичного кэша составляют 10%, 20% и 30% соответственно. Предположим, что 22% инструкций обращаются к памяти для различных операций. Сравните производительность этого процессора с производительностью процессора с такой же конфигурацией, но без использования конвейерной архитектуры, и определите, какой из них работает лучше на основе пропускной способности. (((здесь кэш данных учитывается как для первичного, так и для вторичного))) не кэш инструкций

Не следует ли мне учитывать кэш инструкций при расчете штрафа за промах вторичного кэша?

Промахи L1I-кэша также могут промахнуться в L2-кэше, поэтому вам нужно учитывать коэффициент попадания L2 при вычислении как задержек из-за промахов в кэше данных, так и задержек из-за промахов в кэше выборки инструкций.

Вам не сказали, что происходит, когда обоие кэша L1i и L1d промахиваются в одном цикле, получает ли один приоритет доступа к L2 или является ли L2 двусторонним портом или что-то еще. Хотя, догадываюсь, что двусторонний порт L2 и DRAM подразумевается штрафами за промахи в 15 и 20 циклов…

Также, только 20 циклов штрафа за промах для L2? Это в дополнение к штрафу за промах L1? В противном случае это всего лишь 5 дополнительных циклов для доступа к основной памяти. Не то чтобы это имело значение, реалистичны ли эти задержки для современных ЦП с тактовыми частотами около 250 МГц, хотя вам нужно знать, что они имеют в виду, чтобы получить ответ, который они ожидают.

Ответ или решение

Архитектура компьютеров: Математика вычислений с учетом кэширования

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

Исходные данные

  1. Конфигурация процессора:
    • Степени конвейера: 4
    • Временные параметры: 4 нс на цикл
    • Параметры промахов кэша:
      • Первичный кэш (L1) для данных: 15 тактовых циклов
      • Вторичный кэш (L2) для данных: 20 тактовых циклов
    • Коэффициенты промахов:
      • Инструкции: 10%
      • Данные: 20%
      • Вторичный кэш: 30%
    • Процент инструкций, обращающихся к памяти: 22%

Анализ промахов кэша

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

Промахи в первичном кэше (L1)

Допустим, что из 100 обращений к памяти:

  • 22% обращаются к памяти (инструкции).
  • Из 22 обращений, 20% являются промахами данных.
  • Это дает 4.4 промаха L1 для данных на 100 тактов.

Промахи во вторичном кэше (L2)

Из тех 4.4 L1 промаха, 30% приведут к промахам в L2:

  • 30% от 4.4 = 1.32 промаха L2 на 100 тактов.

Теперь рассчитаем временные задержки на промахи:

  1. Задержка из-за L1:

    • Промах L1 = 15 тактов = 15 * 4 выполнений = 60 нс.
  2. Задержка из-за L2:

    • Промах L2 = 20 тактов = 20 * 4 выполнений = 80 нс.

Общая задержка:

  • Задержка всего из-за промахов: 60 + 80 = 140 нс на каждые 100 обращений к памяти.

Сравнение с неблокированным процессором

Процессор без конвейеризации будет выполнять инструкции последовательно. Поэтому, при фиксированной временной задержке в 140 нс на 100 инструкций, основной коэффициент производительности будет зависеть от того, сколько из них обращаются к памяти.

Потоковая пропускная способность

В условиях с конвейером на 4 стадии, процессор может выполнять 4 инструкции одновременно. Это приводит к увеличению пропускной способности по сравнению с неблокированным процессором. Рассмотрим разницу:

  • С конвейером:

    • Время обработки: 140 нс на каждые 100 тактов.
    • Возможные инструкции: 100 инструкций за 140 нс.
    • Пропускная способность: ~714 инструкций в секунду.
  • Без конвейера:

    • Время обработки: 140 нс на 1 инструкцию (поскольку они выполняются последовательно).
    • Пропускная способность: ~7.14 инструкций в секунду.

Заключение

Производительность процессора на основе архитектуры с конвейером заметно превосходит таковой у процессора без конвейеров. Несмотря на потери из-за промахов в кэше, благодаря более эффективному управлению ресурса, увеличенному потоку инструкций и разграничению задержек, конвейерный процессор демонстрирует впечатляющую производительность.

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

Оцените материал
Добавить комментарий

Капча загружается...