на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Исследование архитектуры современных микропроцессоров и вычислительных систем
p align="left">- nxn - каждое функциональное устройство одного множества может быть связано с любым устройством другого множества, и наоборот.

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

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

- количество процессоров команд (IP);

- число запоминающих устройств (модулей памяти) команд (IM);

- тип переключателя между IP и IM;

- количество процессоров данных (DP);

- число запоминающих устройств (модулей памяти) данных (DM);

- тип переключателя между DP и DM;

- тип переключателя между IP и DP;

- тип переключателя между DP и DP.

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

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

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

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

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

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

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

- подсказывать новые пути организации архитектур - речь идет о тех классах, которые в настоящее время по разным причинам пусты;

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

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

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

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

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

- iM - память с расслоением - память, из которой можно выбрать несколько единиц информации за один цикл памяти;

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

- C - программируемая или непрограммируемая кэш-память. Буферные регистры, подобные регистрам CRAY-1, также описываются, как кэш-память;

- sI - простой (неконвейерный) процессор для подготовки команды к исполнению;

- pI - конвейерный процессор для подготовки команды к исполнению;

- sX - простой процессор для исполнения команды;

- pX - конвейерный процессор для исполнения команды.

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

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

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

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

Назовем кэш-процессором 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);

2) Пусть 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 явно описывает связи между элементами архитектуры. В классификации Скилликорна этим целям служили переключатели четырех типов (см. классификацию Д.Скилликорна ).

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

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

Множество свойств, которые являются определяющими при отнесении объекта к какому-либо классу, назовем классификационными характеристиками (TC - taxonomic characters). В нашем случае введенные выше базовые элементы архитектуры определяют эти классификационные характеристики.

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

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

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

Итак, автор предлагает следующую иерархию категорий:

1) Самый низкий уровень - категория КЭШ-процессора с памятью MCP (memory-cache processor).

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

2) Более высокий уровень - категория КЭШ-процессора (СP). Множество классов этой категории получается путем удаления из классов категории CP составляющих, описывающих память.

3) Самый высокий уровень - категория процессора (P). Классы получают удалением кэш-составляющих из классов категории CP.

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

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

Две архитектуры принадлежат к одному классу в CP категории, если совпадают их описания процессоров и кэш-памяти. Если две архитектуры сходны только по описанию процессоров команд, то они попадают в один класс процессорной категории.

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

1.13 Классификация Дункана

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

1) Из класса параллельных машин должны быть исключены те, в которых параллелизм заложен лишь на самом низком уровне, включая:

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

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

- наличие отдельных процессоров ввода/вывода, работающих независимо и параллельно с основными процессорами.

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

2) Классификация должна быть согласованной с классификацией Флинна, показавшей правильность выбора идеи потоков команд и данных.

3) Классификация должна описывать архитектуры, которые однозначно не укладываются в систематику Флинна, но, тем не менее, относятся к параллельным архитектурам (например, векторно-конвейерные).

Учитывая вышеизложенные требования, Дункан дает неформальное определение параллельной архитектуры, причем именно неформальность дала ему возможность включить в данный класс компьютеры, которые ранее не вписывались в систематику Флинна. Итак, параллельная архитектура - это такой способ организации вычислительной системы, при котором допускается, чтобы множество процессоров (простых или сложных) могло бы работать одновременно, взаимодействуя по мере надобности друг с другом. Следуя этому определению, все разнообразие параллельных архитектур Дункан систематизирует так, как показано на рис. 1.16:

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.