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

Сокращения:

цикл = тактовый цикл
ICR = уровень выполнения инструкций
ИТ = пропускная способность
IL = задержка инструкции

  1. IL - это количество наносекунд, которое требуется одной инструкции для прохождения по всему конвейеру (поэтому, чем меньше IL, тем выше ICR).

  2. Каждая стадия конвейера занимает один цикл.

  3. Предполагая, что: конвейер не испытывает никаких "пузырей", ошибок кэша и т. Д .; конвейер имеет глубину 5 этапов, процессор работает с тактовой частотой 2 ГГц (это 0,5 наносекунды за такт).

    Процессор сможет обрабатывать 800 000 000 инструкций за одну секунду (игнорируя тот факт, что конвейер должен сначала заполниться инструкциями, чтобы достичь своего максимального значения IT).

  4. Если конвейер имеет глубину 10 этапов, IL будет иметь 10 циклов.

  5. Максимальное значение ИТ, которое может получить одноядерный процессор, не являющийся суперскалярным, составляет 1 инструкцию на цикл.

  6. Период цикла процессора определяется самой медленной стадией его конвейера.

  7. Чем короче период времени, в течение которого каждая стадия конвейера поднимается, тем выше IT & ICR.

  8. Идеальный конвейер имеет: низкий IL, высокую глубину конвейера (но предотвращает "пузыри", ошибки кэширования и т.д.), Высокую тактовую частоту, высокую IT и высокую ICR.

1 ответ1

2

ICR = IT

1) На самом деле это больше связано с тем, как долго протекает конвейер. Для сравнения, интернет с высокой задержкой не обязательно должен иметь низкую пропускную способность.

2) Да, хотя иногда инструкция не может покинуть конкретную стадию конвейера, когда мы этого хотим (потеря кэша и т.д.).

3) Нет, он обработает 2 000 000 000 инструкций. На каждом этапе конвейера в любое время будет другая инструкция, поэтому наличие 5 этапов не замедлит ее в идеальной вселенной, где ничего не пузырится или отсутствует кэш.

4) Звучит правильно. В некоторых процессорах, сколько этапов проходит инструкция, зависит от инструкции.

5) Звучит правильно.

6) Все они должны работать на одних и тех же часах, но когда вы разрабатываете один, да, тот, который когда-либо не сможет синхронизировать самый высокий, становится ограничивающим фактором.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .