Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭВМиПУ (ОргЭВМ) / Конспекты лекций / Конспект_ОргЭВМ_8.docx
Скачиваний:
50
Добавлен:
27.04.2015
Размер:
2.02 Mб
Скачать

Лекция 8 Организация конвейерной обработки

План

1. Классификация конвейеров.

2. Операционный конвейер.

3. Конвейер команд.

3.1. Конфликты в конвейере команд.

3.2. Суперконвейерные процессоры.

3.3. Суперскалярные процессоры.

1. Классификация конвейеров

Совершенствование элементной базы уже не приводит к кардинальному росту производительности ВМ. Более перспективными в этом плане представляются архитектурные приемы, среди которых один из наиболее значимых — конвейери­зация.

Принцип совмещения операций ак. С.А. Лебедева:

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

Если конвейер обрабатывает аналогичные, но не тождественные данные, то это – последовательный конвейер (конвейер команд всегда последовательный); если все данные одинаковы, то это – векторный конвейер.

Конвейерное устройство, выполняющее одну определенную функцию, называется однофункциональным конвейером (например, устройство умножения). Многофункциональный конвейер должен иметь схемы настройки, и может перестраиваться при переходе от одной группы заданий к другой.

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

Если конвейер работает в принудительном темпе и для выполнения любого этапа выделено одно и то же время tт (такт конвейера), то такой конвейер называется синхронным. На рис. 8.1 показана временная диаграмма выполнения команд на 3-х позиционном (трех ступенчатом) синхронном конвейере.

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

Управление передачей информации между соседними блоками в асинхронном конвейере осуществляется с помощью 2-х триггеров (рис. 8.2) – готовности блока (ТГБ) (сигнализирует о завершении операции в блоке) и освобождения последующего блока (ТОБ).

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

2. Операционный конвейер

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

Временной интервал в операционном конвейере между моментами загрузки его очередными элементами данных называется тактом конвейера.

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

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

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

Рассмотрим для примера векторно-конвейерную вычислительную систему (рис. 8.7), в состав которой входит векторный процессор (рис. 8.8). Векторно-конвейерные системы получили более широкое распространение по сравнению с векторно-параллельными. В их основе лежит конвейерный принцип выполнения операций. Такие системы являются синхронными параллельными СОД. Они чаще всего обладают мелкоблочной структурой и используют горизонтальный тип параллелизма объектов. Чаще всего структура такой ВС включает скалярные (СкП) и векторные (ВП) процессоры, которые могут работать параллельно. Процессор команд определяет последовательность выполнения команд, подготавливает команды к исполнению и направляет готовые к исполнению команды в СкП и ВП.

Зацепление – это такой способ вычислений, когда одновременно над векторами выполняется несколько операций путем перестройки схемы процессора.

На рис. 8.10 приведены структуры операционных конвейеров с плавающей точкой процессора АР-120В (процессор со сверхдлинным командным словом).

Примеры конвейерных систем: GRAY, CYBER 205, HEP, VP-200, S-810.