Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
default.docx
Скачиваний:
10
Добавлен:
13.09.2019
Размер:
2.43 Mб
Скачать
  1. Понятие конвейерной обработки. Организация конвейера.

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

Конвейеризация обработки – это общий метод повышения пропускной способности систем, выполняющих повторяющиеся операции.

Основа этого метода состоит в следующем:

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

2) входная информация для данной подфункции является выходной информацией для той подфункции, которая предшествует данной в последовательности выполнения функции;

3) никаких других взаимосвязей, кроме обмена входными и выходными данными, между подфункциями нет;

4) каждая подфункция может быть выполнена аппаратными блоками;

5) длительности выполнения аппаратными блоками своих подфункций приблизительно равны.

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

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

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

1. В зависимости от числа типов операций, которые они выполняют, конвейеры

могут быть однофункциональными или многофункциональными.

Однофункциональный конвейер – это конвейер, способный выполнять операцию только одного типа.

Многофункциональный конвейер – это конвейер, способный вычислять

операции различных типов.

2. Многофункциональные конвейерные устройства должны обладать способностью к перенастройке. Перенастройка может быть статической или динамической.

Если конвейер способен лишь относительно редко изменять тип исполняемой операции, то говорят, что конвейер имеет статическую конфигурацию.

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

3 . Конвейерные устройства могут быть линейными или нелинейными. В линейных конвейерах данные могут перемещаться только строго по порядку ступеней: от ступени i к ступени i + 1, как показано на рис. 9, а. В нелинейных конвейерах допускаются так называемые обходы, которые представляют собой прямые (опережающие) или обратные связи, как показано на рис. 9, б.

4. В зависимости от уровня компьютерной системы, на котором используется конвейеризация, различают командный конвейер и арифметический (операционный) конвейер.

Командный конвейер охватывать исполнение команд на машинном уровне.

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

5. В зависимости от используемой формы параллелизма конвейеры можно также разделить на две большие группы: скалярные и векторные конвейеры.

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

Векторный конвейер выполняет одну операцию над группами данных, называемых векторами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]