Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора UNIX.doc
Скачиваний:
29
Добавлен:
15.06.2014
Размер:
530.43 Кб
Скачать

Основные направления совершенствования структуры

Совершенствование логической структуры сводится к минимизации сбоев конвейера и обеспечению получения результата в каждом машинном цикле и идёт по следующим направлениям:

  1. Расширение КЭШ памяти

  2. Быстрое преобразование адресов

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

  4. Рассредоточение микропрограмм по определенным устройствам

  5. Применение встроенных матричных и арифметических процессоров

  6. Распараллеливание операций в операционном устройстве

Системы с параллельным выполнением операций. Параллельные процессы.

С точки зрения организации обработки параллельные процессоры занимают промежуточное положение между системами ОКОД и ОКМД.

Различают два типа параллельных процессов:

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

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

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

Схемы типа окмд

  • ЛП  локальная память

  • ПЭ  процессорный элемент

  • УУ  управляющее устройство

О архитектуре ОКМД команда выделяемая УУ одновременно передается множеству операционных блоков с одинаковой структурой, и все операционные блоки выполняют одну и ту же операцию на основании информации о состоянии флага SF каждого ПЭ. Выполнение операций разрешается только тем ПЭ, в которых выполняются определенные условия, т.к. поток команд является одиночным, в случае необходимости перехода по результатам проверки выполнения условия, заданные операции выполняются только теми ПЭ, для которых результат проверки подтверждает выполнение условий, а затем только теми ПЭ для которых результаты проверки не выполняются. УУ контролирует взаимосвязь между всеми операционными блоками и управляет обращениями к общей памяти.

Особенности организации процессоров по принципу окмд (одиночный поток команд – множественный поток данных)

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

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

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

  4. Утверждается, что применение принципа ОКМД для высокоскоростной обработки целесообразно в тех случаях, когда алгоритм обработки четко определен, а связи между процессорными элементами имеют сравнительно простой характер.

Для примера рассмотрим организацию взаимодействия процессорных элементов и памяти в процессоре BSP (Burroughs Scientific Processor). Содержит 16 процессорных элементов, выполняющих арифметические операции, которые через сеть координатной коммутации соединены с памятью, состоящей из 17 банков. Устройство управления, декодируя машинные команды, преобразует их в микрокоманды длиной 128байт. Микрокоманды поступают на процессорные элементы, в каждом из которых находятся одни и те же операции. Чтобы все процессорные элементы работали без простоев, необходимо непрерывно подавать на них данные из памяти и предотвращать возникновение конфликтов при обращении к памяти. Число банков больше, чем число процессорных элементов, обеспечивает возможность одновременного считывания элементов строк, столбцов и диагоналей матричных данных. Рассмотрим для примера распределение по матрице 6 процессорных элементов из 7 банков памяти.

a11 a12 a13 a14 a15

a21 a22 a23 a24 a25

a31 a32 a33 a34 a35

a41 a42 a43 a44 a45

Банк памяти: (Процессорные элементы)

Системы с операционным конвейером

Пример такой структуры рассмотрим на принципе машины изображений, которая имеет следующую структуру:

Один из способов обработки изображений – фильтрация. Элементы изображения F, начиная с левого верхнего угла, последовательно через одну микросекунду подаются в строчный буфер. Когда в строчный буфер поступает 7 строк по 512 элементов +1, с его выхода выделяется вектор F1. затем через такт в 1 микросекунду будет выдаваться вектор F1, F2 и т.д. В ходе выполнения пространственной фильтрации над векторами F необходимо вычислять такое выражение: Fiw1 + Fi+1w2 + Fi+2w3 +…+ Fi+8w8. когда в текущий момент на выходе строчного буфера находится Fi, через каждые 125 наносекунд с выхода буфера весовых коэффициентов на элементы умножения выдаются вектора w1, w2, …, w8, и получаются значения частичных произведений:

Fiw1 Fiw2 … Fiw7 Fiw8

Fi+1w1 Fi+!w2 … Fi+1w7 Fi+!w8

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