Мультипроцессоры UMA с координатными коммутаторами
Недостатком координатных коммутаторов является сравнительно быстрое увеличение узлов с ростом числа линий. Коммутатор с квадратной матрицей 1000×1000 содержит миллион узлов. Поэтому коммутаторы применяются в мультипроцессорах средних размеров. Рассмотрим пример такого мультипроцессора. Координатный коммутатор 16×16 (Gigaplane-XB), предназначенный для перемещения данных между основной памятью… Читать ещё >
Мультипроцессоры UMA с координатными коммутаторами (реферат, курсовая, диплом, контрольная)
Координатные коммутаторы
Их использование позволяет увеличить количество процессорных элементов (ПЭ) в мультипроцессоре. Координатный коммутатор представляет собой матрицу (рис. 18.5,а), в которой:
• строками являются исходящие линии, подсоединенные к ПЭ;
Рис. 18.5. Координатный коммутатор (а); обозначения закрытого (б) и открытого (в) узлов.
• столбцы используются в качестве входящих линий, подключенных к модулям памяти (МП).
В каждом пересечении входящей и исходящей линий находится управляемое соединение (Crosspoint — точка пересечения), которое сохраняет разрыв (рис. 18.5,б) или устанавливает контакт (рис. 18.5,в) между горизонтальной и вертикальной линиями. На рис. 18.5,а выделенные точками контакты обеспечивают связь между следующими парами процессор о память: (001, 100), (011, 111) и (100, 010). Координатный коммутатор относится к неблокируемым сетям. Это значит, что между процессорным элементом с нужным модулем памяти может быть установлена связь даже в том случае, когда какая-то линия или узел уже заняты. Например, если уже установлено семь произвольных связей, оставшийся процессорный элемент всегда можно связать с оставшимся модулем памяти. При использовании координатных коммутаторов не требуется предварительного планирования по прокладке маршрута.
Недостатком координатных коммутаторов является сравнительно быстрое увеличение узлов с ростом числа линий. Коммутатор с квадратной матрицей 1000×1000 содержит миллион узлов. Поэтому коммутаторы применяются в мультипроцессорах средних размеров. Рассмотрим пример такого мультипроцессора.
Sun Enterprise 10 000. Состав. Мультипроцессор содержит (рис. 18.6):
- • 64 процессорных элемента, в качестве которых используются процессоры UltraSPARC на 333 МГц;
- • 64 модуля памяти, каждый из которых представляет собой ОЗУ на 1 Гбайт;
- • блок передачи с кэш-памятью размером 64 байта. Так как длина строки кэша составляет 64 байта, а ширина канала связи — 16 байтов, для перемещения строки затрачивается 4 цикла;
- • координатный коммутатор 16×16 (Gigaplane-XB), предназначенный для перемещения данных между основной памятью и блоками кэш-памяти. На его плате расположено по 8 гнезд с каждой стороны, в которые устанавливается 16 плат. Каждая плата содержит 4 процессорных элемента и 4 модуля памяти;
- • 4 адресные шины, предназначенные для отслеживания строк в кэшпамяти. Каждая шина используется для ¼ физического адресного пространства, а для выбора шины — два адресных бита. В случае промаха кэш-памяти при считывании процессорный элемент обращается к соответствующей адресной шине, чтобы узнать, нет ли нужной строки в блоках кэш-памяти других ПЭ. Одновременно все 16 плат отслеживают 4 адресные шины, и если затребованная строка не найдена в кэш-памяти, ее вызывают из основной памяти. Функциональные характеристики. Каждая адресная шина может отслеживаться в каждом цикле любой другой шины. Цикл шины составляет 12 нс (83,3 МГц), т. е. возможно 167 млн отсле-
Рис. 18.6. Структура мультипроцессора Sun Enterprise 10 000.
живаний/с. Каждое отслеживание может потребовать передачи строки кэш-памяти в 64 байта, поэтому узел способен передавать 9,93 Гбайт/с (так как 1 Гбайт=1,0737?109байт). Строка кэш-памяти в 4 байта передается через узел за 4 цикла шины (48 нс) при пропускной способности 1,24 Гбайт/с за одну передачу. Узел способен обрабатывать 16 передач одновременно, поэтому его максимальная пропускная способность составляет 19,87 Гбайт/с, что достаточно для поддержания скорости отслеживания, даже при конфликтных ситуациях.
Для более существенного увеличения количества процессорных элементов используются другие подходы. Рассмотрим один из таких подходов.