Конвейер_вычисл.pptx
- Количество слайдов: 38
Конвейерный принцип обработки информации как основной метод повышения производительности компьютеров
ПРОЦЕССОР- это устройство для реализации процесса выполнения программы; Это устройство, обеспечивающее преобразование информации и управление другими устройствами компьютера ( «мозг» компьютера) Ø Устройство управления (УУ) - управляет работой всех устройств ЭВМ по заданной программе (дирижер в оркестре, программа-партитура). Ø Арифметико-логическое устройство (АЛУ) - выполняет арифметические и логические операции по командам программы (основа АЛУ – сумматор, логическая схема). Ø Регистры процессорной памяти - ячейки внутренней быстродействующей памяти МП для временного хранения информации прохождении данных через МП (черновик МП). У каждого типа процессора свой состав регистров. Основной цикл работы МП: 1. Считывание очередной команды из оперативной памяти. 2. Выполнение операций по этой команде.
Характеристики процессора
Производительность – количество элементарных операций, выполняемых за одну секунду. Производительность определяет быстродействие компьютера в целом.
Разрядность – размер минимальной порции информации, обрабатываемой процессором за один такт. Эта порция информации, часто называемая машинным словом, представлена последовательностью двоичных разрядов (бит). Процессор в зависимости от его типа может иметь одновременный доступ к 8, 16, 32, 64 битам.
Тактовая частота – количество тактов в секунду (Такт – чрезвычайно малый промежуток времени, измеряемый микросекундами, в течении которого может быть выполнена элементарная операция). Единица измерения тактовой частоты – Гц (герц) Для современных компьютеров тактовая частота измеряется от сотен мегагерц (1 МГц=1000 Гц) до нескольких гигагерц ( 1 ГГц=1000 МГц)
Темп работы компьютера задается генератором тактовых импульсов (метроном). Такт – интервал времени между началами тактовых импульсов Последовательность импульсов генератора тактовой частоты: Импульсы электрического тока t(c) такт 1 секунда
Основные принципы разработки современных компьютеров 1. 2. 3. 4. 5. Все команды непосредственно выполняются аппаратным обеспечением (исключение составляют особо сложные команды, которые разбиваются на несколько частей и как следствие снижают скорость) Компьютер одновременно начинает выполнение большого числа команд – параллелизм (некоторые команды даже могут выполняться не в том порядке, в котором они расположены) Команды должны легко декодироваться К памяти должны обращаться только команды загрузки и сохранения Должно быть большое количество регистров Параллелизм на уровне команд осуществляется за счет выполнения сразу нескольких команд (или их частей) на одном процессоре одновременно
Чтобы увеличить быстродействие процессора, впервые в ВТ конвейерную организацию предложил использовать Лебедев А. С. в 1956 году для сокращения длительности цикла выполнения команды и применил это в ЭВМ-20.
Основная проблема высокой скорости выполнения команд – их вызов из памяти! В систему добавляют специальный набор регистров – буфер упреждения, в который команды вызываются из памяти заранее, до того как они будут нужны. Когда какая-либо команда становилась нужной, то она вызывается не непосредственно из памяти, а из буфера. Основная идея – разделение команды на два этапа: выборка и выполнение. Эта стратегия была более развита в конвейерной архитектуре. Теперь команды подразделяются не на два а на более этапов, каждая из которых выполняются определенной частью аппаратного обеспечения. Причем все эти части могут работать параллельно.
Конвейерный подход. Процессор, выполняющий каждую команду за четыре такта (выбор команды, декодирование и выбор операндов, исполнение, запись результата) обеспечивает работой исполнительное устройство только в такте «исполнение» . Для увеличения столь низкой (25 %) эффективности используется конвейерная организация: такты последовательно выбираемых команд совмещаются во времени так, что в каждый период одна из команд обязательно находится на этапе «исполнение» , загружая исполнительское устройство. Для организации конвейера требуется дополнительная аппаратура, но выигрыш в производительности это оправдывает. Правда, реализация глубокого конвейера дает неприятные побочные эффекты.
BKi PKi BКi+1 PКi+1 BКi+2 PКi+2 Рис. 1 - Временная диаграмма работы конвейера
Выполнение типичной команды можно разделить на следующие этапы: - выборка команд из памяти (ВК); 2. - декодирование команды (ДК); 3. исполнение команды 1. 1 t 1 2 3 4 5 1 t 2 t 3 t 4 t 5 t 1 (вычисление адресов операндов, выборка операндов, непосредственное исполнение tц Этапы выполнения команды ; (ВА, ВО, ИК) 4. - запись результата (ЗР); 5. - переход к п. 1 Рабочий цикл по своему содержанию одинаков для всех ЭВМ команды)
Возможно ли одна команда в один такт? Выполнение каждой команды складывается из ряда последовательных этапов (шагов, стадий), суть которых не меняется от команды к команде. С целью увеличения быстродействия процессора и максимального использования всех его возможностей в современных микропроцессорах используется конвейерный принцип обработки информации. Неконвейерное выполнение
Что такое конвейер? v КОНВЕЙЕР – это метод внутренней обработки команд, при котором исполнение команды разбивается на несколько ступеней, причем каждой соответствует свой модуль в структуре процессора. v Конвейеризация улучшает пропускную способность процессора, но если инструкции зависят от результата предыдущих инструкций, то возникают задержки. Т. е. польза от конвейеризации определяется уровнем параллелизма инструкций.
КОНВЕЙЕРНАЯ ОБРАБОТКА — это, когда на каждом рабочем месте конвейера выполняется один шаг производственного процесса, а на всех рабочих местах в одно и то же время обрабатываются различные изделия на всевозможных стадиях. По такому принципу устроено арифметико-логическое устройство суперкомпьютера.
Неконвейерное выполнение
выполнение девяти команд заняло бы 9 х 6 = единицы времени. позволяет значительно сократить время обработки.
С 1 С 2 К 1 С 4 С 5 Блок декодирования Блок выборки команд С 3 Блок выборки операндов: (ВА, ВО) Блок исполнения команд Блок возврата ВК ВА ВО ИК ЗР ВК ДК ВА ВО ИК ЗР ВК К 2 ДК ДК ВА ВО ИК ЗР 5 6 7 8 9 10 К 3 К 4 К 5 1 2 3 4
Каков выигрыш? Пусть каждая стадия занимает t нс, а конвейер содержит k стадий. Тогда время выполнения на простом компьютере будет: T 1 = t * k * n, где n – кол-во команд. На компьютере с конвейером мы получим другую формулу: T 2 = t * n + l, где l – время загрузки конвейера. При постоянной работе процессора n . Тогда перейдя к пределу мы получаем прирост производительности равный k. Но это идеальная модель!
Проблемы 1. 2. Почти никогда не бывает, чтобы время выполнения каждой ступени конвейера было одинаковым. Зато частота синхронизации конвейера – единица постоянная. Отсюда следствие время выполнения любой из ступеней конвейера становится равным времени выполнения самой длительной из них. Таким образом, конвейер не только не увеличивает время выполнения одной инструкции, а даже уменьшает его. Кроме того, так каждая ступень конвейера является отдельной аппаратной единицей, то возникает необходимость хранить промежуточный результат. Для этого используют так называемые регистровые станции, что, в свою очередь, замедляет выполнение одной инструкции на 5 – 10%. Вывод: конвейер хорош только при его постоянной загруженности! Конфликты: 1. 2. 3. Структурные конфликты – невозможно выполнение команд из-за неразделяемости ресурсов. Например: оперативная память предоставляет только один порт ввода-вывода. Но на стадиях С 1 и C 3 требуется обращение к ОП. Возникает конфликт. Одной из команд придется выждать один цикл синхронизации. Конфликты по данным – результат работы одной команды нужен для работы другой (риск по данным). Конфликты управления – неоднозначность при выборе следующей команды в случае команд перехода (риск по управлению).
– это увеличение числа конвейеров, что позволяет МП выполнять более чем одну команду. Например: у 486 процессора был один конвейер, а у Pentium – их уже два. С 2 С 3 С 4 С 5 С 1 С 2 С 3 С 4 С 5 увеличение числа ступеней (наличие в конвейере более 6 ступеней), или ступеней разбиение конвейера на большое число стадий, позволяет делать за один цикл меньше, притом, что снаружи все выглядит так, что процессор делает все тот же объем работы за один цикл.
Один конвейер хорошо, а два лучше Микропроцессоры, имеющие один конвейер называются , а более одного —. Микропроцессор Pentium имеет два конвейера, и поэтому может выполнять 2 команды за машинный такт. В нем исполнительный блок был реализован в виде двух параллельных конвейеров (U и V). U мог исполнять все инструкции, в то время как V – простейшие наиболее часто выполняемые инструкции.
Суперскалярные архитектуры (первоначально Sun SPARC, начиная с Pentium использованы в семействе x 86). Распараллеливание исполнения команд между несколькими устройствами исполнения, причем решение о параллельном исполнении двух или более команд принимается аппаратурой процессора на этапе исполнения. Эффективное использование такой архитектуры требует специальной оптимизации машинного кода в компиляторе для генерации пар независимых (результат одной не является входом другой) команд. Суперскалярность - Способность выполнения нескольких машинных инструкций за один такт процессора. Появление этой технологии привело к существенному увеличению производительности. Суперскалярность — архитектура вычислительного ядра, использующая несколько декодеров команд, которые могут нагружать работой множество исполнительных блоков. Планирование исполнения потока команд является динамическим и осуществляется самим вычислительным ядром.
Суперскалярный процессор – это процессор выполнять несколько операций за один такт. способный Несколько исполнительных устройств в АЛУ: Основными компонентами суперскалярного процессора являются устройства для интерпретации команд, снабженные логикой, позволяющей определить, являются ли команды независимыми, и достаточное число исполняющих устройств. В исполняющих устройствах могут быть конвейеры. Выигрыш от суперскалярности также определяется уровнем параллелизма инструкций, т. е. насколько последующая инструкция зависит от результатов выполнения предыдущей.
С 1 С 2 С 3 С 4 С 5 Блок выборки команд Блок декодирования Блок выборки операндов Блок выполнения команд Блок возврата К 1 ВК 2 ВА 1 ВА 2 ВО 1 ВО 2 ИК 1 ИК 2 ЗР 1 ЗР 2 ВК 1 ВК 2 ДК 1 ДК 2 ВА 1 ВА 2 ВО 1 ВО 2 ИК 1 ИК 2 ЗР 1 ЗР 2 ВК 1 ВК 2 ДК 1 ДК 2 ВА 1 ВА 2 ВО 1 ВО 2 ИК 1 ИК 2 ЗР 1 ЗР 2 5 6 7 8 9 10 К 3 К 4 К 5 1 2 3 4
Упрощенная модель процессора Шина ввода-вывода Оперативная память (RAM) Внешняя память Устройство взаимодействия с внешней памятью Суперскалярность Вычислительное устройство Вычислительное (ALU) устройство (ALU) Система кэшей Управляющее устройство (CU) Регистры Упреждающая выборка Конвейеризация, предсказание переходов
Суперконвейеризация q позволяет выполнять несколько команд в один такт q возрастает вероятность конфликтов; очистка большего числа ступеней; усложняется логика взаимодействия ступеней
процессором считается , конвейер команд которого включает в себя восемь ступеней
PENTIUM 4 Имеет 4 конвейера и 20 ступеней. Исполнитель ная часть ядра процессора представляет собой базовый конвейер
Особенности ЭВМ PENTIUM Intel Р 6 Активно метод конвейеризации стал применяться в архитектуре Р 6. P 6 — архитектура, разработанная компанией Intel.
Тип микропроцессора Количество ступеней в конвейере команд MIPS R 4400 8 Ultra. SPARC 1 9 Pentium 3 10 Itanium 10 Ultra. SPARC 3 14 Pentium 4 20
AMD Athlon XP Pentium III Pentium 4 Количество операций за такт 9 5 6 Количество целочисленных конвейеров 3 2 4
q Увеличивает быстродействие процессора q Максимально использует возможности процессора q Увеличивает скорость обработки команд q Сокращает время выполнения команд q Содержит больше аппаратной логики q Позволяет нескольким внутренним блокам процессора работать одновременно q Увеличивает пропускную способность процессора
q В основе всех суперкомпьютеров лежит метод q Intel, начиная с процессоров Pentium, стала применять конвейер не только в целочисленных, но и в вещественных операциях q В ВС наряду с конвейером команд используется и конвейер данных. q С развитием происходила эволюция процессора q КЭШ-память является также элементом широко применяется во всех современных быстродействующих процессорах. q Конвейерная обработка наиболее удобный, дешёвый и выгодный метод q
Конвейер_вычисл.pptx