Зачем процессору конвейер

Издания, посвященные компьютерной тематике, читают люди далеко не глупые. Другое дело, что знать абсолютно все невозможно - это факт. Ну и, конечно, читать намного интереснее, если понимаешь, о чем хочет сказать в своем материале автор. Если пролистать "КВ", то практически в каждом номере вы найдете такие слова, как "конвейер", "FPU", "южный мост", "RAMDAC", "Z-Buffer", "теневая маска" и т.д., и т.п. А вот объяснить смысл многих слов и выражений, в таком изобилии встречающихся в газете, может далеко не каждый читатель. Эти размышления и привели к написанию цикла небольших статей, в которых будет рассказываться о том многом, что может таить в себе понятие "современный компьютер". Ну а о чем речь пойдет сегодня, думаю, понятно из заголовка.

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

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

Первые конвейеры, обладателями которых стали 486-е компьютеры, были пятиступенчатыми. В современных процессорах этапы стандартного пятиступенчатого конвейера делят еще на более мелкие части (например, у Pentium II конвейер имеет 10 ступеней, у Pentium 4 - 20). С увеличением числа ступеней в конвейере на каждый шаг приходится меньше работы, а, следовательно, и меньше аппаратной логики. Упрощение логики, в свою очередь, позволяет повысить рабочую частоту процессора. Именно этот факт позволил Pentium 4 достичь таких высоких рабочих частот. Добавлю, что наличие более 5 ступеней в конвейере носит название "суперконвейеризация".

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

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

Сергей ШИРКО,
S_Shirko@tut.by

Версия для печатиВерсия для печати

Номер: 

03 за 2003 год

Рубрика: 

Hardware
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Аватар пользователя FET
Можно узнать сколько у Athlon'a ХР конвееров, ступенек... и т.д. и т.п. и сколько всего у Пня4(последнего вышедшего)???
Аватар пользователя false
Хороший цикл. Сейчас не часто встретишь хорошие статьи в компьютерной прессе. Большинство ориентируется на users, but not Advanced Users! tnx...
Аватар пользователя Инкогнито
Так держать :)
Аватар пользователя Сергей Ширко
to FET

Длины целочисленных конвейеров у Athlon XP и Pentium 4 равны соответственно 10 и 20 ступеням. Оба процессора в отношении целочисленных конвейров имеют суперскалярную архитектуру.

FPU в обойх процессорах конвейерного типа. Но у Ahlon'а он к тому же выполнен по суперскалярной архитектуре (грубо говоря, имеет три параллельных конвейера для операций с плавающей точкой), что позволяет говорить о том, что в плане вещественных чисел процессор от AMD помощнее.