Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






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



 

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

Поток команд соответствует счетчику команд. Система с n процессорами имеет n счетчиков команд и, следовательно, n потоков команд.

Поток данных состоит из набора операндов.

Потоки команд и потоки данных в какой-то степени независимы, поэтому существует 4 базовых класса. Классификация архитектур компьютеров параллельного действия в соответствии с рисунком 1.

SISD (ОКОД) – (Single Instruction Single Date) один поток команд, один поток данных- это классический компьютер фон Неймана. Он содержит один поток команд и один поток данных и может выполнять только одно действие одномоментно.

SIMD (ОКМД) (Simple Instruction Multiply Data) – один поток команд, несколько (множество) потоков данных. Содержит один блок управления, выдающий по одной команде, но при этом есть несколько АЛУ, которые могут обрабатывать несколько наборов данных одновременно.

 

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

MISD (МКОД) (Multiple Instruction Single Data) – несколько потоков команд и один поток данных. Несколько потоков команд оперируют один потоком данных. Считается, что это машины с конвейерами. Вообще таких машин не существует.

MIMD (МКМД) (Multiple Instruction Multiple Data) – несколько потоков команд, несколько потоков данных. Здесь несколько независимых процессоров работают как часть большой системы.

 

MIMD распалась на мультипроцессоры (машины с памятью совместного использования) и мультикомпьютеры (машины с передачей сообщений).

Существует три типа мультипроцессоров. Они отличаются друг от друга по способу реализации памяти совместного использования.

UMA – (Uniform Memory Access) архитектура с однородным доступом к памяти. Каждый процессор имеет одно и то же время доступа к любому модулю памяти. Каждое слово памяти можно считать с той же скоростью, что и любое другое слово памяти. Если это технически не возможно, самые быстрые обращения замедляются, чтобы соответствовать самым медленным, поэтому программисты не увидят никакой разницы. Это и значит «однородный». Такая однородность делает производительность предсказуемой, а этот факт очень важен при написании эффективной программы.



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

 

Использование только одной шины ограничивает размер мультипроцессора UMA до 16 или 32 процессоров. Чтобы получить больший размер, требуется координатный коммутатор. Коммутатор в таких системах приобретает характер центрального устройства, обеспечивающего возможность установления связи любого процессора с любым модулем памяти и любым устройством управления вводом/выводом.

 

Мультипроцессор NUMA (Non Uniform Memory Access – с неоднородным доступом к памяти), напротив не обладает этим свойством. Обычно есть такой модуль памяти, который расположен ближе к каждому процессору, и доступ к этому модулю происходит гораздо быстрее, чем к другим. С точки зрения производительности очень важно, куда помешаются программа и данные. Доступ к удаленной памяти происходит медленнее, чем доступ к локальной памяти. Если время доступа к удаленной памяти не скрыто (кэш-память отсутствует), то такая система называется NC – NUMA (без кэширования). Если присутствуют согласованные КЭШи, то система называется CC – NUMA.



Машины COMA тоже с неоднородным доступом. Основная память каждого процессора используется как кэш-память.

Мультикомпьютеры не имеют памяти совместного использования на архитектурном уровне. ОС в процессоре мультикомпьютера не может получить доступ к памяти, относящейся к другому процессору. Ему приходится отправлять сообщение и ждать ответа. Так как мультикомпьютеры не имеют прямого доступа к отдаленным модулям памяти, они называются NORMA (NO Remote Memory Access – без доступа к отдаленным модулям памяти).

Мультикомпьютеры делят на две категории.

Процессоры MPP (Massively Parallel Processor – процессоры с массовым параллелизмом) дорогостоящие суперкомпьютеры, которые состоят из большого количества процессоров, связанных высокоскоростной коммуникационной сетью (IBM SP/2).

Вторая категория мультикомпьютеров включает рабочие станции, которые связываются с помощью уже имеющейся технологии соединения. Эти примитивные машины называются NOW (Network of Workstations – сеть рабочих станций) и COW (Cluster of Workstations – кластер рабочих станций). Он состоит из нескольких сотен ПК или рабочих станций, соединенных посредством сетевых плат. Преимущество системы COW в том, что она полностью состоит из доступных компонентов, корые можно купить.


 

 

Рисунок 1


Эта страница нарушает авторские права

allrefrs.ru - 2018 год. Все права принадлежат их авторам!