Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

khor32

.pdf
Скачиваний:
26
Добавлен:
29.02.2016
Размер:
8.16 Mб
Скачать

3.4. Кон цептуальное понятие и классификация архитектур

B энциклопедическое понятие системы (от греч. systema целое, со-

ставленное из частей; соединение) вкладывается множество элементов, нахо-

двшихся в отношениях и связях друг c другом, которое образует определеннyю целостность, единство. При определении понятия системы необходимо

учить вать теснейшyю взаимосвязь его c понятиями целостности, структуры,

связи, элемента, подсистемы и др. Авторы книги [5] дают следующее определение: «Системой называется совокупность взаимосвязанных элементов, реализация фушщий которыми и функциональное взаимодействие между которьпми позволяют оптимальным образом достичь общей цели». Понятие системы имеет чрезвычайно широкую область применен-поя: практически каждый объект может рассматриваться как система, исктлочением не являются и средства вычислительной техники, в частности ЭВМ и микропроцессорные БИС. Конкретизируем понятие вычислительной системы, считая его частным по отношеш о к приведенным.

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

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

чески настраиваться и перестраиваться c целью достижения адекватности между своей структурно-функциональной организацией и структурой

и характеристиками решаемой задачи.

3.4.2. Классификация архитектур BC

Модель коллектива вычиcлитeлeй (3.1)—(3.7) есть диалектическое

обобщение модели вычиcлитeля (2.1)—(2.4), следовательно, BC в сравнении ЭВМ Д,нc. фон Heймaнa являются принципиально новыми средствами тex-c

ники обработки информации, средствами c качественно новыми aplcитeктypными возможностями. B самом деле, в архитектурном плане выделяют четыре класса архитектур вычислительных средств: SISD, MISD, SIMD, MIMD (ОКОД, MKOД, OKMД, MKMД). Только первый класс, a именно SISD (Single Instruction stream / Single Data stream) или ОКОД (Одиночный

поток Команд и Одиночный поток Данных) относится к ЭВМ. Под потоком команд понимается любая их последовательность, поступающая для иcпoл-

143

Конвейерные ВС

3. Архитектура вычислительн 5тх систем

нения вычислительным средством (ЭВМ или ярофессором, в случае SISDархитектуры). При выполнении команд потока требуются операнды (дан-

ные), следовательно, поток команд «порождает» поток данных. Итак, SISD-

архитектура предопределяет такое функционг:рование ЭВМ, при котором один поток команд управляет обработкой одного потока данных (см. разд. 2.3.2 и рис. 2.2).

Архитектуры MISD, SIMD , MIMD откос атся к ВС. B этих архитекту-

рах имеет место множественность потоков или (и) команд, или (и) данных.

Множественность характеризуется количество одновременно реализуемых

потоков команд или (и) данных. Архитектура MISD (Multiple Instruction stream I Single Data stream) или МКОД (Множественный поток Команд и

Одиночный поток Данных) позволяет нескольким потокам команд обраба-

тывать один поток данных. Архитектура SIMD (Single Instruction stream I (Одиночный лоток Команд и МножественMultipleDatastream)илиОКМД

ный поток Данных) предоставляет возможносг,ь одному потоку команд об-

рабатывать несколько потоков данных . Архитектура MIMD (Multiple Instruction stream I Multiple Data stream ) или М КМД (Множественный поток

Команд и Множественный поток Данных) дог ускает обработку несколькими потоками команд нескольких потоков данньх.

Приведенная классификация архитектур средств обработки информации была предложена профессором Стенфо рдского университета США

М. Дж. Флинном (M.J. Flynn ) в 1966 г. и получил t широкое распространение. B архитектурах классов MISD , SIMD, MIMD (рис. 3.7) допустимо по-

строение нескольких типов ВС, среди которых для целей данной книги наибольший интерес представляют: конвейерные ВС, матричные ВС, мультипроцессорные ВС, распределенные ВС и ВС c п>>ограммируемой структурой.

системы, архитектура которых является предельным вариантом эволюционного развития последовательной ЭВМ и простейшей версией модели коллектива вычисли"елей. B основе таких систем лежит конвейерный (или цепочечный) способ обработки информации, a их функциональная структура представляется в виде последовательности связанных элементарных блоков обработки (ЭБО) информации. Все блоки работают параллельно, но каждый из них реализует лишь свою операцию над данными одного и того же потока. Сказанное юзволяет относить конвейерные ВС к MISD-системам (см. рис. 3.7). Реальные промышленные высокопроизводительные ВС являются, как правило, мультиконвейерными. B них единое управляющее устройство (управляющая подсистема или ЭВМ

Host computer, контроллер и т. п.) формирует седин поток команд и несколь-

ко параллельных потоков данных на подсистемы-конвейеры. Последнее обстоятельство позволяет относить такие мульти конвейерные ВС к системам c

архитектурой SIMD.

144

3.4. Концептуальное понятие и классификация архитектур

SISD-архитектура; ЭВМ

 

MISD-архитектура;

Процессор

 

 

конвейерные ВС

 

Г

 

 

 

 

 

 

Устройство

ooc^j ^

Конвейер

 

управления

 

 

 

 

 

 

i

 

ЭБО1 =

... =ф ЭБО;

 

АЛУ

 

 

 

 

 

 

 

 

Поток данных

 

Поток результатов

V

 

 

 

 

Память

 

 

Память

 

 

 

•о^

 

 

SIMD-архитектура;

 

MIMD-архитектура;

матричные ВС

 

распределенкые мультипроцессорные ВС,

Устройство управления

ВС c программируемой структурой

 

 

 

i

 

 

 

ЭП 12

 

ЭП 1n

 

ЭП 1л

эп22 Ё

эпZП J...

 

 

 

 

wc^

 

эпп2

 

 

ЭМп 1

ЭМпг

Рис. 3.7. Развитие архитектуры вычислительных средств:

АЛУ — арифмeтико-логическое устройство; ЭБО — элементарный блок обработки; ЭП — элементарный процессор; ЭМ — элементарная машина; ЛП — локальная память; ЛК — локaльный коммyтатор; -* — поток команд; b — поток данных; оф — направление трансформации архитектуры

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

Каждый ЭП представляет собой композицию из арифмeтико-логического

устройства (АЛУ) и локальной памяти (ЛП); последняя предназначается для

145

3. Архитектура вычислительных систем

хранения части данных (но не части программы или параллельной ветви ! ). Поток команд на матрицу ЭП формируется устройством управления (следовательно, оно имеет в своем составе память для хранения программ обработки данных). Такие ВС рассчитаны, в частности, на решение задач матричной алгебры. Они имеют SIMD-архитектуру в классическом виде.

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

тектурой MIMD.

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

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

Распределенные ВС мультипроцессорныые ВС c MIMD -архитекту-

рой, в которых нет единого ресурса (общей памяти). Распределенная ВС основывается на принципах модульности и бли2 кодействия (см. разд. 3.2.1). Основные компоненты распределенной ВС (такие, как коммутатор, устройство управления, арифметико-логическое устройство или процессор, память) допускают представление в виде композп щии из одинаковых элементов (локальных коммутаторов и устройств упr авления, локальных процессоров и модулей памяти).

Примером промышленной реализации распределенных ВС являются тpанспьютерные системы. Транспьютерная ВС композиция из одинаковых взаимосвязанных микропроцессоров, Называемых транспьютерами. в состав тpанспьютера входят локальные процессор и память, a также ло-

кальные средства коммутации и линки (Link связь), позволяющие

организовать взаимодействия c другими транспьютерами.

Вычислительные системы c программz4руемой структурой полностью основываются на модели коллектива вычислителеи., и являются композицией взаимосвязанных элементарных машин: (ЭМ). Каждая ЭМ в своем составе обязательно имеет локальный коммун атор (ЛК), процессор и память; может иметь также внешние устройства. Локальная память ЭМ предназначается для хранения и части данных, и, -,лавное, ветви параллельной программы. Архитектура ВС c программируемой структурой относится к

типу MIMD. Такие ВС по своим потенциальным архитектурным возможно-

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

146

3.4. Кон цептуальное понятие и классификация архитектур

ном способе обработки данных на ВС полностью используются возможности MiVD-архитектуры. При конвейерном и матричном способах обработки данных архитектура М]МD виртуально трансформируется соответственно в архитектуру MISD и SIMD. Системы c программируемой структурой рассчи-

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

вычислительной сети.

Концепция ВС c прогpаммируемой структурой была сформулирована

в Сибирском отделении АН СССР, первая система («Mинск-222») была построена в 1965-1966 гг. (см. § 7.3 или [5]).

Кластерные ВС разновидность мультипроцессорных систем, ин-

туитивная оценка архитектурных возможностей которых вытекает из семан-

тики слова кластер (Cluster группа). Такие системы получили широкое

распространение уже в 90-x годах ХХ в. B списке Тор500, т. e. 500 наиболее мощных суперкомпьютеров мира, кластерные системы доминируют; например в 28-й и 29-й редакциях списка их количество составляет соответственно 361 и 373.

Термин «вычислительный кластер», по-видимому, был впервые вве-

ден DEC (Digital Equipment Corporation). По определению DEC, кластер

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

как единое средство обработки информации. Из приведенного определения

видно, что корпорация DEC, по сути, ввела синоним термину «ычислитель-

ная система», a не особый тип средств обработки информации. для создания

кластерных ВС используются и MISD-, и SIMD-, и МIМД-архитектуры, различные функциональные структуры и конструктивные решения.

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

нико-экономическую эффективность.

Начало XXI в. ознаменовалось созданием пространственно-распреде- ленных мультикластерных ВС как макpоколлективов (см. разд. 3.1.4) рассредоточенных кластеров, взаимодействующих между собой через локальные и глобальные сети (включая всемирную сеть Internet).

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

147

З. Архитектура вычислительных систем

стью и технико-экономической эффективностью) для фиксированного этапа

развития индустрии обработки информации. О ни могут быть основаны на любой из архитектурных парадигм. Совр менные суперкомпьютеры (10 12 ...1015 опер./c) являются вычислительными i системами c массовым параллелизмом и, если придерживаться терминол эгическои строгости, их сле-

дует называть суперВС.

Достигнутый уровень развития ВТ и интегральной технологии позво-

ляет производить персональные суперВС. Осенью 2006 г. компания Intel

продемонстрировала кремниевую пластину из 0 чинов, каждый из которых содержал по 80 ядер (80 процессорных элементов). B начале 2007 г. компания выпустила первый рабочий образец 80-ядерного микропроцессора. Данный микропроцессор обладает производители костью 10 12 операций c пла-

вающей запятой в секунду (1 TeraFLOPS) и скоростью обмена данными ме-

жду ядрами порядка нескольких терабит в секунду и характеризуется низким электроэнергопотреблением 62 Вт. Таким образом, микропроцессор сам по себе уже является суперВС.

Для оценки значимости достижений компании Intel отметим, что терафлопсный суперкомпьютер конца 90-x годов ХХ в. состоял примерно из

10 000 процессоров Intel Pentium Pro, характерезовался потребляемой мощ-

ностью 500 кВт и занимал площадь 185 м2

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

MISD, и как SIMD, и как MIMD. Таким образог4, можно констатировать, что

мультиархитектypа стала парадигмой при конструировании высокопроизводительных ВС.

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

платформу ВС c программируемой структурой.

4. КОНВЕЙЕРНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

Конвейерные ВС относились к числу самых популярных высокопроизводительных средств обработки информации в 70-x и 80-x годах ХХ в. Они обеспечивaли быстро действие порядка 10 8 ...109 опер./c, которое в то время вос-

принималось как рекордно высокое. Последнее позволяло называть конвейер-

ные ВС как суперЭВМ (Supereomputers). Конвейерные ВС имели аппаpатурно

реализованные команды, позволявшие выполнять операции над векторами данных. Поэтому такие ВС называли также векторными компьютерами

(Vector Computers).

B главе рассмотрена каноническая структура конвейерного процессора и промышленные ВС на ее основе. Описаны параллельно-векторные ВС (PVPсистемы), которые представляются связным множеством одновременно функционирующих конвейерных (векторных) процессоров, a также конвейерные ВС c массовым параллелизмом (МРР-системы).

Наконец, читателю будет предоставлена возможность изучить архитектуру сверхвысокопроизводительных ВС первого десятилетия ХХЧ в., кото-

рые основываются на достижениях u PVP-, u МРР-систем.

4.1. Каноническая функциональная структура

конвейерного процессора

B конвейерных ВС основной объем операций по обработке данных вы-

полняeтся одним или несколькими конвейерньпии процессорами (или кратко: конвейерами). Конвейеры оперируют c векторами данных, которые являются

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

мерной матрицы, либо матрица-столбец или матpица -стpока вида:

А = 11 А1, А2, ... , А1, ... , Ап II = (А1, А2, ... , А', ... , А),

где А' i-й компонент (или элемент, или элемент-операнд, или скaлярная величина, или просто «скалйр», или число), i =1, n.

149

4. Конвейерные вычислительны системы

B конвейере векторные операции реализуются аппаратурно, поэтому его называют также векторным процессором. При этом всегда предусматриваются операции покомпонентного сложения и покомпонентного умножения двух векторов, a также либо покомпонен твое деление векторов, либо формирование вектора из чисел, обратных компонентам данного вектора. Для более сложных операций (например, п^ компонентного извлечения

квадратного корня) могут быть введены свои векторные команды. B конвей-

еры может быть заложена возможность реализации триад (Linked Triad

сцепленных триад), т. e. операций вида

A+aB,

где A и В векторы данных; а скaляр; аВ вектор, компоненты которого равны соответствующим компонентам В, умноженным на a. Возможны и другие разновидности триады, например:

(A + a)B,

где A + а вектор, получаемый из A путем п-пибавления числа a к каждому компоненту.

B основу функциональной организации конвейера положен принцип сегментирования арифметико-логического усГ ройства на «специализированные» части. Каждая из таких частей-сегментов должна быть ориентирована на реализацию вполне определенной опер ации ( макроили микрооперации, в частности) над парой скaляров-операм ядов (каждый из которых яв- ляется элементом своего вектора).

Конвейер (Pipeline) организуется, в общем случае, как цепочка из элементарных блоков обработки информации (ЭЬО 1) и памяти (ЭБП,), i =1, n (рис. 4.1). Каждый из блоков ЭБО 1, i =1, п, осе гществляет частичное преобрaзование 9 (А, В) компонентов векторов-операндов:

А = IIАi , Аг, ..., Ат, ..., Апii, В llВi , Вг, ..., В1, ..., В„II.

Конвейер в целом обеспечивает реализацию достаточно сложного преобразования (А, В ), являющегося результатом цепочки преобразований :

A, B --* cp1 (A, B) — ... —+ 1(А, B) ....— v„(A, B) = и(A, B)•

Блоки ЭБП1 (i =1, п —1) и блок ЭБПп используются для хранения промежуточных результатов (р г (A, В) и иском его результата (р(А, В). Конструктивно блоки ЭБП1, i = 1, п, могут быть объединены в единое целое: в оперативную память либо в векторные регистре а.

150

4.1. Каноническая функциональная структура конвейерного процессора

Каноннческа.я структура

3Б01

в ) У

ЭБП1

ЭБОг

ЭБПг

А, В --> ^Р1(А,

ф1(А, В)

рi-1(A, в) -ip1(A, в) ф

р,(& В)

Фopowниe

ЭБО„

ф

ЭБП„

фп-1(А. в) -->ср(А, В)

 

(Р(А, В )

A1 ,B1 -Pi(A1,в1)

Aг, Bг --^ qP 1(Aг, $2)

...

 

Ai, В1 - 1Р1(Ai, Вг)

...

 

 

1 ^

А11, В6'

1P1(Ai +1,

Вг+1) •••

 

 

. .

А, В

1 (А, В)

...

.

 

. ,

 

 

 

 

1

‚- 1 (А в1)

--> фi (A1, В1)

I

 

 

^Pi- 1 (А2, В2)

-+ ^Р, (Аг^ Вг) ...

 

.

 

 

. .

 

^Pi-1(Ап -i +1, В1+1)

...

1(А1, Bt)

(А1, В 1)

-- ф i (An -i +1, В_1)

 

 

 

Ап +1, Вп+1 --^ 1Р1(Ап +1, Вп +1) ...

^Pi- 1 (Ап -i +2, Вп -i +2)

... (РΡп -1 (А2, в2)

...

--> <Pi (Ап -i+2, Вп-г +2)

...

 

Рис. 4.1. Конвейерный процессор:

ЭБО — элементарный блок обработки информации; ЭБП — элементарный блок памяти;

A, B — векторы-операнды; (, (A, В) — частичное преобразование векторов A, B

B простейшем случае элементарные блоки обработки конвейера могут реализовывать отдельные фазы операций (например, арифметических или вычисления элементарных функций), т. e. выполнять микрооперации. Например, при сложении двух вещественных (рациональных) чисел, представленных в форме c плавающей запятой, выполняются следующие микрооперации: сравнение порядков, выравнивание порядков, сложение мантисс, нормализация и т. п. B более общем случае блоки ЭБО; могут вычислять

промежуточные результаты (р1 (А, В) (i =1, п), являющиеся, например, или

суммой, или разностью, или произведением, или частным для компонентов векторов A, В. Как правило, преобразование (р(А, В) осуществляет одну из

арифметических операций над элементами векторов A, В.

Элементы векторов подаются в конвейер в дискретные моменты времени и в соответствии c их расположением в векторах. На каждом временном шаге в ЭБО 1 конвейера заносится новая пара элементов-операндов те-

кyщих векторов A и В, a в ЭБО (i = 2, п)

информация из ЭБПг_1 и в об-

щем случае извне.

Процесс вычисления (А, В) для пары элементов векторов A и В раз-

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

151

через пг омежутки времени, равные

4. Конвейерные вычислительныi? системы

операнды в фиксированный момент времени. О чевидно, что время обработки на конвейере конкретных элементов векторов равно суммарному време-

ни их пребывания во всех ЭБО! (i = 1, п). Выдача результатов из «напол-

ненного» конвейера осуществляется времени выполнения самого медленного этапа. Таким образом, параллелизм

в работе блоков конвейера в принципе позволяя ^т достичь производительно-

сти, недоступной ЭВМ, базирующимся на модели вычислителя. Необходимость использования конвейеризации была осознана разра-

ботчиками ЭВМ к концу 1950-x годов. Так, например, в советской ЭВМ M-20 (см. разд. 1.4.3), введенной в эксплуатацию в 1958 г., было реализовано совмещение работы арифметического устройства c выборкой очередной

команды. далее, в машине второго поколения АTLAS, разработанной в 1963 г.

в Манчестерском университете США, выполнен Сие команды было разбито на четыре этапа: выборку команды, вычисление а4;реса операнда, выборку операнда и выполнение операции. Конвейеризаци я позволила достичь в ЭВМ

ATLAS времени выполнения операции, равного) 1,6 мкс (в то время как для

последовательной ЭВМ оно было бы равно б мкс). Машина БЭСМ-6 (см. разд. 1.4.6), разработанная в 1966 г., характеризуется параллелизмом в работе устройств и конвейерной структурой процесс -ора.

4.2. Конвейерные системы типа <;память-память»

Фирма CDC (Control Data Corporation о^жована в 1957 г. Сеймором

Креем и Уильямсом Норрисом) начиная c 197; г. выпустила ряд конвейерных ВС, архитектура которых относится к тип у «память-память» (рис. 4.2). В таких ВС элементы-операнды векторов A и Е;, необходимые для выполнения векторных команд, выбираются непосредственно из оперативной памяти и результат (р(А, B) записывается в ту же п.iмять. В качестве преобразо-

вания (А, B) может быть результат одной и з арифметических операций

над элементами векторов A и B.

 

Память

 

- А

Конвейер

Н В

ср(А,В)

 

--Ч р(А,В)

Рис. 4.2. Архитектура ВС типа «память-память»

152

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