После прочтения того, как процессоры используют конвейеры (из разных статей: википедии, SU и других местах), я немного запутался в некоторых частях прочитанного, поэтому я просто хотел бы поделиться тем, что я понял и если кто-то может просто уточнить, что следующее правильно (пожалуйста, дайте мне знать, если что-то из этого не так),
Сокращения:
цикл = тактовый цикл
ICR = уровень выполнения инструкций
ИТ = пропускная способность
IL = задержка инструкции
IL - это количество наносекунд, которое требуется одной инструкции для прохождения по всему конвейеру (поэтому, чем меньше IL, тем выше ICR).
Каждая стадия конвейера занимает один цикл.
Предполагая, что: конвейер не испытывает никаких "пузырей", ошибок кэша и т. Д .; конвейер имеет глубину 5 этапов, процессор работает с тактовой частотой 2 ГГц (это 0,5 наносекунды за такт).
Процессор сможет обрабатывать 800 000 000 инструкций за одну секунду (игнорируя тот факт, что конвейер должен сначала заполниться инструкциями, чтобы достичь своего максимального значения IT).
Если конвейер имеет глубину 10 этапов, IL будет иметь 10 циклов.
Максимальное значение ИТ, которое может получить одноядерный процессор, не являющийся суперскалярным, составляет 1 инструкцию на цикл.
Период цикла процессора определяется самой медленной стадией его конвейера.
Чем короче период времени, в течение которого каждая стадия конвейера поднимается, тем выше IT & ICR.
Идеальный конвейер имеет: низкий IL, высокую глубину конвейера (но предотвращает "пузыри", ошибки кэширования и т.д.), Высокую тактовую частоту, высокую IT и высокую ICR.