РАЗВИТИЕ АППАРАТНЫХ СРЕДСТВ ТЕЛЕКОММУНИКАЦИОННЫХ СИСТЕМ

Совершенствование процессов обработки ДАННЫХ

Одной из основных тенденций развития вычислительных систем является повышение производительности вычислений т.е. увеличение числа операций, выполняемых МПр в единицу времени, как правило, за 1 секунду.

Значение ускорения вычислений (в разах) определяется выражением:

где

Ti — время решения задачи на однопроцессорной вычислительной системе,

Т„ — время решения той же задачи на п- процессорной системе;

п - количество процессоров.

Пусть W = Wck + Wnp,

где

W— общее число операций в задаче;

Wnp — число операций, которые можно выполнять параллельно;

WCK — число скалярных (нераспараллеливаемых, выполняемых исключительно последовательно) операций. Далее обозначим через t время выполнения одной операции. Используем эмпирический закон Амдала, который определяет значение ускорения вычисления R при использовании многопроцессорных систем. Используем следующую форму записи данного закона:

где

R - прирост производительности вычислительной системы;

N - количество процессоров;

С= Wck /W — удельный вес скалярных операций в общем числе операций.

Тогда с учетом введенного времени t, получаем значение R в следующем виде:

Здесь c= a = Wck /W — удельный вес скалярных операций в общем числе операций. Закон Амдала определяет принципиально важные для параллельных вычислений положения:

  • 1. Ускорение вычислений зависит как от потенциального параллелизма программной задачи (величина 1-а), так и от параметров средства вычислительной техники (число процессоров п).
  • 2. Предельное ускорение вычислений определяется свойствами программной задачи.

Пусть а = 0,2 (что является реальным значением), тогда ускорение R не может превосходить 5 при любом числе процессоров. Иными словами, максимальное ускорение вычислений задается прежде всего потенциальным параллелизмом задачи а не количеством имеющихся процессоров. Очевидной является чрезвычайно высокая чувствительность ускорения R к изменению величины а.

Выражение (13.3) определяет ускорение только одного уровня вычислительной системы. Однако реальные системы являются многоуровневыми как с точки зрения программных конструкций, так и по аппаратной реализации. Реальные параллельные ЭВМ обычно используют параллелизм на нескольких уровнях и полное ускорение такой ЭВМ можно в первом приближении описать выражением:

где

М — число вложенных уровней вычислений, используемых для распараллеливания;

п — собственное ускорение уровня i, определяемое параллелизмом соответствующих данному уровню объектов: независимых задач, программ, ветвей алгоритма, итераций цикла, групп операторов.

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

Команда №1 - находится на стадии 3;

Команда №2 - находится на стадии 1.

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

Пример разбиения команды «Считывание данных из ОЗУ в регистр» при конвейерной обработке данных

Рис. 13.1 - Пример разбиения команды «Считывание данных из ОЗУ в регистр» при конвейерной обработке данных

Конвейеры можно разделить на две группы: векторные и скалярные конвейеры. Векторные конвейеры выполняют одну операцию над группами разных данных, называемых векторами (например, строка в двумерном массиве). Под вектором понимается, например, одномерный массив, который образуется из многомерного массива, если зафиксирован только один из номеров строки или столбца. Такие конвейеры, как правило, являются арифметическими; области применения векторных операций над массивами: цифровая обработка сигналов (цифровые фильтры); оптимизация; расчеты электрических характеристик СБИС. Наличие векторных конвейеров позволяет реализовать ЭВМ, в которых выполняется единственная программа, но каждая ее команда обрабатывает много чисел. МПр с поддержкой векторных конвейеров относятся к классу SIMD — один поток команд, много потоков данных.

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

Скалярный конвейер может выполнять векторные операции, для чего необходимо на вход последней, в каждом такте, стадии подавать один и тот же код операции. Наличие скалярных конвейеров позволяет реализовать ЭВМ, в которых выполняется несколько программ, причём каждая команда обрабатывает одни и те же данные (единое пространство данных). Такие процессоры относятся к классу MISD (Multiple Instruction Single Data) — много потоков команд, один поток данных.

Не всегда для выполнения данной команды нужны все без исключения стадии. Возникает ситуация, при которой стадии может быть не нужна и поэтому пропущена. Такая стадия называется ненагруженной. Для снижения ненагруженных стадий, оптимизации вычислений путём обеспечения параллельного исполнения двух и более команд, в современных МПр используются два и более конвейеров. Суть суперскалярной архитектуры - наличие параллельной обработки данных с помощью двух или более конвейеров, как правило скалярных. Это позволяет оптимизировать загрузку АЛУ, уменьшить потерю производительности, в результате появления пустых/ненагруженных стадий («пузырьков»). В современных МПр данные каждого конвейера могут обрабатываться собственным АЛУ.

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

где

к — число выполненных задач;

Zi — число выполненных в i-й задаче команд;

Тк — время решения к задач.

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

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