Классификация архитектур вычислительных систем

Автор работы: Пользователь скрыл имя, 07 Января 2013 в 18:44, реферат

Описание работы

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

Содержание работы

Список сокращений 3
Классификации архитектур вычислительных систем 4
Классификация вычислительных систем по Флинну 5
Дополнения Ванга и Бриггса к классификации Флинна 7
Классификация Фенга 8
Классификация Шора 9
Классификация Хендлера 11
Классификация Хокни 14
Классификация Шнайдера 15
Классификация Джонсона 18
Классификация Базу 18
Классификация Кришнамарфи 20
Классификация Скилликорна 23
Классификация Дазгупты 25
Классификация Дункана 29
Список использованной литературы 32

Файлы: 1 файл

Классификация вычислительных систем по Флинну 2.docx

— 223.62 Кб (Скачать файл)

Несмотря на то, что классификация  Е. Кришнамарфи построена лишь на четырех признаках, она позволяет выделить и описать такие "нетрадиционные" параллельные системы, как систолические массивы, машины типа dataflow и wavefront. Однако эта же простота является и основной причиной ее недостатков: некоторые архитектуры нельзя однозначно отнести к тому или иному классу, например, компьютеры с архитектурой гиперкуба и ассоциативные процессоры. Для более точного описания таких машин потребуется ввести еще целый ряд характеристик, таких, как размещение задач по процессорам, способ маршрутизации сообщений, возможность реконфигурации, аппаратная поддержка языков программирования и другие. Вместе с тем ясно, что эти признаки формализовать гораздо труднее, поэтому есть опасность вместо ясности внести в описание лишь дополнительные трудности.

 

 

Классификация Скилликорна

В 1989 году была сделана очередная попытка  расширить классификацию Флинна и, тем самым, преодолеть ее недостатки. Д.Скилликорн разработал подход, пригодный для описания свойств многопроцессорных систем и некоторых нетрадиционных архитектур, в частности 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;
    • выполняет команду;
    • запоминает результат в DM;
    • возвращает в IP информацию о состоянии после выполнения команды.

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

Это один из самых простых видов архитектуры, не содержащих переключателей. Для  описания параллельных вычислительных систем автор зафиксировал четыре типа переключателей, без какой-либо явной  связи с типом устройств, которые они соединяют:

    • 1-1 - переключатель такого типа связывает пару функциональных устройств;
    • n-n - переключатель связывает i-е устройство из одного множества устройств с i-м устройством из другого множества, т.е. фиксирует попарную связь;
    • 1-n - переключатель соединяет одно выделенное устройство со всеми функциональными устройствами из некоторого набора;
    • nxn - каждое функциональное устройство одного множества может быть связано с любым устройством другого множества, и наоборот.

Примеров подобных переключателей можно привести очень много. Так, все матричные процессоры имеют  переключатель типа 1-n для связи  единственного процессора команд со всеми процессорами данных. В компьютерах  семейства Connection Machine каждый процессор данных имеет свою локальную память, следовательно, связь будет описываться как n-n. В тоже время, каждый процессор команд может связаться с любым другим процессором, поэтому данная связь будет описана как nxn.

Классификация Д.Скилликорна состоит из двух уровней. На первом уровне она проводится на основе восьми характеристик:

    1. количество процессоров команд (IP);
    2. число запоминающих устройств (модулей памяти) команд (IM);
    3. тип переключателя между IP и IM;
    4. количество процессоров данных (DP);
    5. число запоминающих устройств (модулей памяти) данных (DM);
    6. тип переключателя между DP и DM;
    7. тип переключателя между IP и DP;
    8. тип переключателя между DP и DP.

Рассмотрим упомянутый выше компьютер Connection Machine 2. В терминах данных характеристик его можно описать:

(1, 1, 1-1, n, n, n-n, 1-n, nxn),

а условное изображение архитектуры  приведено на  рисунке 16.

Для сильно связанных мультипроцессоров (BBN Butterfly, C.mmp) ситуация иная. Такие системы состоят из множества процессоров, соединенных с модулями памяти с помощью динамического переключателя. Задержка при доступе любого процессора к любому модулю памяти примерно одинакова. Связь и синхронизация между процессорами осуществляется через общие (разделяемые) переменные. Описание таких машин в рамках данной классификации выглядит так:

(n, n, n-n, n, n, nxn, n-n, нет),

а саму архитектуру можно изобразить так, как рисунке 17.

Используя введенные характеристики и предполагая, что рассмотрение количественных характеристик можно  ограничить только тремя возможными вариантами значений: 0, 1 и n (т.е. больше одного), можно получить 28 классов  архитектур.

В классах 1-5 находятся компьютеры типа dataflow и reduction, не имеющие процессоров команд в обычном понимании этого слова. Класс 6 это классическая фон-неймановская последовательная машина. Все разновидности матричных процессоров содержатся в классах 7-10. Классы 11 и 12 отвечают компьютерам типа MISD классификации Флинна и на настоящий момент, по мнению автора, пусты. Классы с 13-го по 28-й занимают всесозможные варианты мультипроцессоров, причем в 13-20 классах находятся машины с достаточно привычной архитектурой, в то время, как архитектура классов 21-28 пока выглядит экзотично.

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

В конце данного описания имеет смысл привести сформулированные автором три цели, которым должна служить хорошо построенная классификация:

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

Классификация Дазгупты

Одним из последних исследований по классификации архитектур, по-видимому, является работа С. Дазгупты (S.Dasgupta), вышедшая в 1990 году. Автор использовал позитивные идеи работы Скилликорна, которая была рассмотрена ранее в данном обзоре. Пытаясь расширить описательные возможности классификации, он разработал иерархическую систему для классификации архитектур. Изложим ее основные идеи.

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

Базовые элементы архитектуры:

    • iM - память с расслоением - память, из которой можно выбрать несколько единиц информации за один цикл памяти;
    • sM - простая память - память, из которой можно выбрать единицу информации за цикл памяти;
    • C - программируемая или непрограммируемая кэш-память. Буферные регистры, подобные регистрам CRAY-1, также описываются, как кэш-память;
    • sI - простой (неконвейерный) процессор для подготовки команды к исполнению;
    • pI - конвейерный процессор для подготовки команды к исполнению;
    • sX - простой процессор для исполнения команды;
    • pX - конвейерный процессор для исполнения команды.

Заметим, что функции процессора для подготовки команды к исполнению (I) эквивалентны тем, которые выполняет процессор команд (IP) по классификации Скилликорна, с дополнительной возможностью обращения к кэш-памяти. Аналогично, функции процессора для исполнения команд (X) совпадают с функциями процессора данных (DP) у Скилликорна, включая дополнительно работу с кэш-памятью.

Если  архитектура содержит N элементов типа A, которые могут работать в системе параллельно и независимо (обозначим эту возможность AN), то Aбудем называть сложным элементом типа A. Считается, что составляющие сложного элемента не имеют между собой физической связи. Например:

sM- три блока простой памяти, к которым можно обращаться параллельно и независимо;

sI- четыре неконвейерных процессора, которые могут параллельно и независимо подготовить к исполнению команды из четырех потоков команд.

Назовем кэш-процессором CP объединение C-элемента с I, X или другими CP.

Например,

C.sI, C.(C2.pI)2

Обозначение Ä1.A2" подразумевает последовательное соединение элемента A1 с элементом A2.

Например, процессор команд с кэш-памятью:

 
C.sI                   C --- sI

 

Назовем кэш-процессором с памятью MCP объединение M-элемента с I, X, CP или другими MCP.

Например,

 

iM.(C.sI2)k, sM.iM.C.pIn

 
Процессором для подготовки команд I" назовем MCP, который представляет собой законченную подсистему подготовки команды к исполнению.

Процессором для исполнения команд X" назовем MCP, который представляет собой законченную подсистему для выполнения команды.

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

Полным  описанием архитектуры может  служить одиночная или повторяющаяся  последовательность, составленная из I" и X" процессоров.

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

Каждая  формула служит описанием некоторой  структуры. Введем два оператора, устанавливающих  соответствие между формулой и структурой.

    1. Пусть R - формула. Тогда оператор Rep(R) описывает следующую структуру:

Другими словами, если R = AN, то структура описывается оператором Rep(R).

    1. Пусть R = R1.R2. ... .Rn - формула, где Ri может быть базовым или сложным элементом, простым или сложным процессором. Обозначим head(R) = R1 - самую левую составляющую в формуле; tail(R) = Rn - самую правую составляющую в формуле.

Введем второй оператор Link. Пусть R1 и R2 - формулы. Тогда Link(R1, R2):

а) если tail(R1) и head(R2) - простые составляющие, то

б) если tail(R1) простая, а head(R2) - сложная составляющая вида Zn, то

в) если tail(R1) - сложная составляющая вида Wn, а head(R2) - простая, то

г) если tail(R1) - сложная составляющая вида Wn, а head(R2) - сложная составляющая вида Zm, то

Легко понять, что оператор Link явно описывает связи между элементами архитектуры. В классификации Скилликорна этим целям служили переключатели четырех типов (см. классификацию Д.Скилликорна ).

В таблице 2 приведены примеры описания широко известных архитектур.

 

Таблица 2

ILLIAC IV

(sM64.sI)(sM.sX)64

CM2

(iM.C.pI)(sM.sX)64k

CRAY X-MP

(iMm.(C.pI)n)(iMm.(Cr.pXs)q)


 

Выпишем формулы еще для  некоторых архитектур, которые также  упоминались в нашем обзоре.

CRAY-1

(iM.C.pI)(iM.C.pX)

AP-120B

(sM.sI)(iM.sM.pX)

FPS-164

(iM.C.sI)(iM.sM.pX)

TI ASC

(iM.pI)(iM.pX)


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

Информация о работе Классификация архитектур вычислительных систем