Попов И.И., Матвеев А.А., Максимов Н.В. Архитектура электронно-вычислительных машин и систем (2004) (1186255), страница 23
Текст из файла (страница 23)
Если же дляинициации команды определяющими являются такие факторы, как,например, готовность данных, то попадаем в класс машин сасинхронным управлением. Наиболее характерными представителямисистем с асинхронным управлением являются data-driven и demanddriven компьютерыКлассификация ДунканаР.Дункан определяет тот набор требований, на который можетопираться искомая классификация:Из класса параллельных машин должны быть исключены те, вкоторых параллелизм заложен лишь на самом низком уровне, включая:— конвейеризацию на этапе подготовки и выполнения команды(instruction pipelining), т.е.
частичное перекрытие таких этапов, какдешифрация команды, вычисление адресов операндов, выборкаоперандов, выполнение команды и сохранение результата;— наличие в архитектуре нескольких функциональных устройств,работающих независимо, в частности, возможность параллельноговыполнения логических и арифметических операций;— наличие отдельных процессоров ввода/вывода, работающихнезависимо и параллельно с основными процессорами.Причины исключения перечисленных выше особенностей авторобъясняет следующим образом.
Если рассматривать компьютеры,использующие только параллелизм низкого уровня, наравне со всемиостальными, то, во-первых, практически все существующие системыбудут классифицированны как "параллельные" (что заведомо не будетпозитивным фактором для классификации), и, во-вторых, такие машиныбудут плохо вписываться в любую модель или концепцию, отражающуюпараллелизм высокого уровня.Классификация должна быть согласованной с классификациейФлинна, показавшей правильность выбора идеи потоков команд иданных.Классификация должна описывать архитектуры, которыеоднозначно не укладываются в систематику Флинна, но, тем не менее,134относятся к параллельным архитектурам (например, векторноконвейерные).Учитываявышеизложенныетребования,Дункандаетнеформальное определение параллельной архитектуры, причем именнонеформальность дала ему возможность включить в данный класскомпьютеры, которые ранее не вписывались в систематику Флинна.Итак, параллельная архитектура - это такой способ организациивычислительной системы, при котором допускается, чтобы множествопроцессоров (простых или сложных) могло бы работать одновременно,взаимодействуя по мере надобности друг с другом.
Следуя этомуопределению, все разнообразие параллельных архитектур Дункансистематизирует так, как показано на рисунке:По существу систематика очень простая: процессоры системыработают либо синхронно, либо независимо друг от друга, либо вархитектуру системы заложена та или иная модификация идеи MIMD.На следующем уровне происходит детализация в рамках каждого изэтих трех классов. Дадим небольшое пояснение лишь к тем из них,которые на сегодняшний день не столь широко известны.Систолические архитектуры (их чаще называют систолическимимассивами) представляют собой множество процессоров, объединенныхрегулярным образом (например, система WARP).
Обращение к памятиможет осуществляться только через определенные процессоры награнице массива. Выборка операндов из памяти и передача данных помассиву осуществляется в одном и том же темпе. Направление передачиданных между процессорами фиксировано. Каждый процессор заинтервалвременивыполняетнебольшуюинвариантнуюпоследовательность действий.Гибридные MIMD/SIMD архитектуры, dataflow, reduction иwavefront вычислительные системы осуществляют параллельнуюобработку информации на основе асинхронного управления, как и135MIMD системы.
Но они выделены в отдельную группу, поскольку всеимеют ряд специфических особенностей, которыми не обладаютсистемы, традиционно относящиеся к MIMD.MIMD/SIMD - типично гибридная архитектура. Она предполагает,что в MIMD системе можно выделить группу процессоров,представляющую собой подсистему, работающую в режиме SIMD(PASM, Non-Von).
Такие системы отличаются относительнойгибкостью, поскольку допускают реконфигурацию в соответствии сособенностями решаемой прикладной задачи.Остальные три вида архитектур используют нетрадиционныемодели вычислений. Dataflow используют модель, в которой командаможет выполнятся сразу же, как только вычислены необходимыеоперанды. Таким образом, последовательность выполнения командопределяется зависимостью по данным, которая может быть выражена,например, в форме графа.Модель вычислений, применяемая в reduction машинах иная исостоит в следующем: команда становится доступной для выполнениятогда и только тогда, когда результат ее работы требуется другой,доступной для выполнения, команде в качестве операнда.Wavefront array архитектура объединяет в себе идеюсистолической обработки данных и модель вычислений, используемой вdataflow. В данной архитектуре процессоры объединяются в модули ификсируются связи, по которым процессоры могут взаимодействоватьдруг с другом.
Однако, в противоположность ритмичной работесистолических массивов, данная архитектура использует асинхронныймеханизм связи с подтверждением (handshaking), из-за чего "фронтволны" вычислений может менять свою форму по мере прохождения повсему множеству процессоров.Классификация КришнамарфиЕ.Кришнамарфидляклассификациипараллельныхвычислительныхсистемпредлагаетиспользоватьчетырехарактеристики, похожие на характеристики классификации А.Базу:— степень гранулярности;— способ реализации параллелизма;— топология и природа связи процессоров;— способ управления процессорами.Принцип построения классификации очень прост. Для каждойстепени гранулярности будем рассматривать все возможные способыреализации параллелизма. Для каждого полученного таким образомварианта рассмотрим все комбинации топологии связи и способовуправления процессорами. В результате получим дерево (см.
pисунок), в136котором каждый ярус соответствует своей характеристике, каждый листпредставляет отдельную группу компьютеров в данной классификации,а путь от вершины дерева однозначно определяет значения указанныхвыше характеристик. Разберем характеристики подробнее.Первые два уровня практически один к одному повторяют А.Базу,поэтому останавливаться подробно на них мы не будем. Третий уровеньклассификации, топология и природа связи процессоров, тесно связан совторым. Если был выбран аппаратный способ реализации параллелизма,то надо рассмотреть топологию связи процессоров (матрица, линейныймассив, тор, дерево, звезда и т.п.) и степень связности процессоровмежду собой (сильная, слабая или средняя), которая определяетсяотносительной долей накладных расходов при организациивзаимодействия процессоров.
В случае комбинированной реализациипараллелизма, помимо топологии и степени связности, надодополнительно учесть механизм взаимодействия процессоров: передачасообщений, разделяемые переменные или принцип dataflow (поготовности операндов).Наконец, последний, четвертый уровень - способ управленияпроцессорами, определяет общий принцип функционирования всейсовокупности процессоров вычислительной системы: синхронный,dataflow или асинхронный.На основе выделенных четырех характеристик нетрудноопределить место наиболее известных классов архитектур в даннойсистематике.137Векторно-конвейерные компьютеры:— гранулярность - на уровне данных;— реализация параллелизма - аппаратная;— связь процессоров - простая топология со средней связностью;— способ управления - синхронный.Классические мультипроцессоры:— гранулярность - на уровне задач— реализация параллелизма - комбинированная;— связь процессоров - простая топология со слабой связностью ииспользованием разделяемых переменных;— способ управления - асинхронный.Матрицы процессоров:— гранулярность - на уровне данных;— реализация параллелизма - аппаратная;— связь процессоров - двумерные массивы с сильной связностью;— способ управления - синхронный.Систолические массивы:— гранулярность - на уровне данных;— реализация параллелизма - аппаратная;— связь процессоров - сложная топология с сильной связностью;— способ управления - синхронный.Архитектура типа wavefront:— гранулярность - на уровне данных;— реализация параллелизма - аппаратная;— связь процессоров - двумерная топология с сильной связностью;— способ управления - dataflow.Архитектура типа dataflow:— гранулярность - на уровне команд;— реализация параллелизма - комбинированная;— связь процессоров - простая топология с сильной либо среднейсвязностью и использованием принципа dataflow;— способ управления - асинхронно-dataflow.Несмотря на то, что классификация Е.
Кришнамарфи построеналишь на четырех признаках, она позволяет выделить и описать такие"нетрадиционные" параллельные системы, как систолические массивы,машины типа dataflow и wavefront. Однако эта же простота является иосновной причиной ее недостатков: некоторые архитектуры нельзяоднозначно отнести к тому или иному классу, например, компьютеры сархитектурой гиперкуба и ассоциативные процессоры. Для более138точного описания таких машин потребуется ввести еще целый рядхарактеристик, таких, как размещение задач по процессорам, способмаршрутизации сообщений, возможность реконфигурации, аппаратнаяподдержка языков программирования и другие.
Вместе с тем ясно, чтоэти признаки формализовать гораздо труднее, поэтому есть опасностьвместо ясности внести в описание лишь дополнительные трудности.Классификация СкилликорнаД.Скилликорн разработал подход, пригодный для описаниясвойств многопроцессорных систем и некоторых нетрадиционныхархитектур, в частности dataflow и reduction machine.Предлагается рассматривать архитектуру любого компьютера, какабстрактную структуру, состоящую из четырех компонент:— процессор команд (IP - Instruction Processor) - функциональноеустройство, работающее, как интерпретатор команд; в системе,вообще говоря, может отсутствовать;— процессор данных (DP - Data Processor) - функциональное устройство,работающее как преобразователь данных, в соответствии сарифметическими операциями;— иерархия памяти (IM - Instruction Memory, DM - Data Memory) запоминающее устройство, в котором хранятся данные и команды,пересылаемые между процессорами;— переключатель - абстрактное устройство, обеспечивающее связьмежду процессорами и памятью.Функции процессора команд во многом схожи с функциямиустройств управления последовательных машин и, согласноД.Скилликорну, сводятся к следующим:— на основе своего состояния и полученной от DP информации IPопределяет адрес команды, которая будет выполняться следующей;— осуществляет доступ к IM для выборки команды;— получает и декодирует выбранную команду;— сообщает DP команду, которую надо выполнить;— определяет адреса операндов и посылает их в DP;— получает от DP информацию о результате выполнения команды.Функции процессора данных делают его , во многом, похожим наарифметическое устройство традиционных процессоров:— DP получает от IP команду, которую надо выполнить;— получает от IP адреса операндов;— выбирает операнды из DM;— выполняет команду;139— запоминает результат в DM;— возвращает в IP информацию о состоянии после выполнениякоманды.В терминах таким образом определенных основных частейкомпьютера структуру традиционной фон-неймановской архитектурыможно представить в следующем виде:Это один из самых простых видов архитектуры, не содержащихпереключателей.