Пути повышения производительности ЭВМ

Распараллеливание и конвейеризация процессов

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

  • 1. Совершенствование технологии изготовления компонентов компьютера, позволяющее увеличивать их быстродействие за счет повышения тактовой частоты.
  • 2. Увеличение разрядности процессора. Очевидно, что при прочих равных условиях более многоразрядный процессор будет эффективнее производить вычислительные операции.
  • 3. Увеличение количества программно-доступных регистров (сверхоперативной памяти) процессора, позволяющее при выполнении программы уменьшить количество обращений к оперативному запоминающему устройству ЭВМ.
  • 4. Увеличение объема оперативной памяти ЭВМ, позволяющее в многозадачном режиме сократить частоту обмена страниц между оперативной и внешней физической памятью компьютера.
  • 5. Применение сверхоперативной кэш-памяти, буферизация, согласование производительности устройств памяти с разным быстродействием.

Рассматривая с самых общих позиций проблему повышения производительности решения человеком каких-либо задач, решение которых состоит в выполнении набора более элементарных операций, можно отметить два фундаментальных подхода. Это — распараллеливание операций и конвейеризация операций.

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

Параллельное выполнение операций

Рис. 15.1. Параллельное выполнение операций

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

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

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

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

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

Конвейер обработки данных

Рис. 15.2. Конвейер обработки данных

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >