ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.01.2025

Просмотров: 3651

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Путилин а.Б.

Введение

2. Классификация средств эвт

3. Поколения эвм

Принцип децентрализации управления

Принцип модульности построения

Принцип иерархичности построения структуры

Принцип иерархичности памяти

Мультипрограммные режимы

Перспективы развития структур эвм

6. Персональные эвм, как инструмент специалиста и их развитие.

Структуры вычислительных машин

Структуры вычислительных систем

8. Перспективы совершенствования архитектуры вм и вс

Тенденции развития больших интегральных схем

Тенденции развития элементной базы процессорных устройств

Тенденции развития полупроводниковых запоминающих устройств

Перспективные направления исследований в области архитектуры вс

Классификация архитектур системы команд

Классификация по составу и сложности команд

Классификация по месту хранения операндов

10. Стековая архитектура

11. Аккумуляторная архитектура системных команд

12. Регистровая архитектура вм

13. Архитектура вм с выделенным доступом к памяти

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

Арифметико-логическое устройство

Основная память

Модуль ввода/вывода

15. Реализация микроопераций и микропрограмм. Понятие о микрооперациях и микропрограммах

Способы записи микропрограмм

Языки микропрограммирования

16. Организация шин

Типы шин

Физическая реализация шин

Особенности передачи сигналов по шинам

Адресация шин и некоторые характеристики

17. Организация памяти эвм

Память с чередованием адресов

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

Модели архитектур совместно используемой памяти

Модели архитектур распределенной памяти

18. Характеристики систем памяти

19. Иерархия запоминающих устройств

Основная память

Блочная организация основной памяти

Расслоение памяти

20. Организация микросхем памяти

21. Основные направления в архитектуре процессоров

Конвейеризация вычислений

Синхронные линейные конвейеры

Метрики эффективности конвейеров

Нелинейные конвейеры

Конвейер команд

22. Построение однородно структурированных, континуальных вычислительных и управляющих систем Нейронные вычислительные системы Континуальные вычислительные и управляющие системы

Континуальной управляющей средой

Термины и определения (д.Б. По алфавиту)

Литература

Рис. 42. Общая память: а — объединение процессоров с помощью шины; б — система с локальными кэшами; в — производительность системы как функция от числа процессоров на шине; г — многопроцессорная BG с общей памятью, состоящей из отдельных модулей

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

К сожалению, архитектура UMA не очень хорошо масштабируется. Наиболее распространенные системы содержат 4-8 процессоров, значительно реже 32-64 процессора. Кроме того, подобные системы нельзя отнести к отказоустойчивым, так как отказ одного процессора или модуля памяти влечет отказ всей ВС.

Другим подходом к построению ВС с общей памятью является неоднородный доступ к памяти, обозначаемый как NUMA (Non-Uniform Memory Access). Здесь по-прежнему фигурирует единое адресное пространство, но каждый процессор i имеет локальную память. Доступ процессора к собственной локальной памяти производится напрямую, что намного быстрее, чем доступ к удаленной памяти через коммутатор или сеть. Такая система может быть дополнена глобальной памятью, тогда локальные запоминающие устройства играют роль быстрой кэш-памяти для глобальной памяти. Подобная схема может улучшить производительность ВС, но не в состоянии неограниченно отсрочить выравнивание прямой производитель­ности. При наличии у каждого процессора локальной кэш-памяти (рис. 42, б) существует высокая вероятность (р > 0,9) того, что нужные команда или данные уже находятся в локальной памяти. Разумная вероятность попадания в локаль­ную память существенно уменьшает число обращений процессора к глобальной памяти и, таким образом, ведет к повышению эффективности. Место излома кри­вой производительности (верхняя кривая на рис. 42, в), соответствующее точке, в которой добавление процессоров еще остается эффективным, теперь перемеща­ется в область 20 процессоров, а точка, где кривая становится горизонтальной, -в область 30 процессоров.


В рамках концепции NUMA реализуется несколько различных подходов, обо­значаемых аббревиатурами СОМА, СС-NUMA и NCC-NUMA.

В архитектуре только с кэш-памятью (СОМА, Cache Only Memory Archi­tecture) локальная память каждого процессора построена как большая кэш-память для быстрого доступа со стороны «своего» процессора [1]. Кэши всех процессо­ров в совокупности рассматриваются как глобальная память системы. Собственно глобальная память отсутствует. Принципиальная особенность концепции СОМА выражается в динамике. Здесь данные не привязаны статически к определенному модулю памяти и не имеют уникального адреса, остающегося неизменным в тече­ние всего времени существования переменной. В архитектуре СОМА данные пе­реносятся в кэш-память того процессора, который последним их запросил, при этом переменная не фиксирована уникальным адресом и в каждый момент времени может размещаться в любой физической ячейке. Перенос данных из одного ло­кального кэша в другой не требует участия в этом процессе операционной систе­мы, но подразумевает сложную и дорогостоящую аппаратуру управления памя­тью. Для организации такого режима используют так называемые каталоги кэшей. Отметим также, что последняя копия элемента данных никогда из кэш-памяти не удаляется.

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

Модель кэш-когерентного доступа к неоднородной памяти (CC-NUMA, Cache Coherent Non- Uniform Memory Architecture) принципиально отличается от модели СОМА. В системе CC-NUMA используется не кэш-память, а обычная физически распределенная память. Не происходит никакого копирования страниц или дан­ных между ячейками памяти. Нет никакой программно реализованной передачи сообщений. Существует просто одна карта памяти, с частями, физически связан­ными медным кабелем, и «умные» аппаратные средства. Аппаратно реализован­ная кэш-когерентность означает, что не требуется какого-либо программного обес­печения для сохранения множества копий обновленных данных или их передачи. Со всем этим справляется аппаратный уровень. Доступ к локальным модулям па­мяти в разных узлах системы может производиться одновременно и происходит быстрее, чем к удаленным модулям памяти.


Отличие модели с кэш-некогерентным доступом к неоднородной памяти (NCC-NUMA, Non-Cache Coherent Non-Uniform Memory Architecture) от CC-NUMA очевидно из названия. Архитектура памяти предполагает единое адресное простран­ство, но не обеспечивает согласованности глобальных данных на аппаратном уровне. Управление использованием таких данных полностью возлагается на программное обеспечение (приложения или компиляторы). Несмотря на это обстоятельство, пред­ставляющееся недостатком архитектуры, она оказывается весьма полезной при по­вышении производительности вычислительных систем с архитектурой памяти типа DSM, рассматриваемой в разделе «Модели архитектур распределенной памяти».

В целом, ВС с общей памятью, построенные по схеме NUMA, называют архи­тектурами с виртуальной общей памятью (virtual shared memory architectures). Данный вид архитектуры, в частности CC-NUMA, в последнее время рассматри­вается как самостоятельный и довольно перспективный вид вычислительных сис­тем класса MIMD, поэтому такие ВС ниже будут обсуждены более подробно.


Модели архитектур распределенной памяти

В системе с распределенной памятью каждый процессор обладает собственной памятью и способен адресоваться только к ней. Некоторые авторы называют этот тип систем многомашинными ВС или мультикомпьютерами, подчеркивая тот факт, что блоки, из которых строится система, сами) по себе являются небольшими вы­числительными системами с процессором и памятью. Модели архитектур с рас­пределенной памятью принято обозначать как архитектуры без прямого доступа к удаленной памяти (NORMA, No Remote Memory Access). Такое название следу­ет из того факта, что каждый процессор имеет доступ только к своей локальной памяти. Доступ к удаленной памяти (локальной памяти другого процессора) воз­можен только путем обмена сообщениями с процессором, которому принадлежит адресуемая память.

Подобная организация характеризуется рядом достоинств. Во-первых, при до­ступе к данным не возникает конкуренции за шину или коммутаторы — каждый процессор может полностью использовать полосу пропускания тракта связи с соб­ственной локальной памятью. Во-вторых, отсутствие общей шины означает, что нет и связанных с этим ограничений на число процессоров: размер системы огра­ничивает только сеть, объединяющая процессоры. В-третьих, снимается проблема когерентности кэш-памяти. Каждый процессор вправе самостоятельно менять свои данные, не заботясь о согласовании копий данных в собственной локальной кэш­памяти с кэшами других процессоров.

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

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

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

Структура системы с распределенной памятью приведена на рис. 43. В левой части (рис. 43, а) показан один процессорный элемент (ПЭ). Он включает в себя собственно процессор (Р), локальную память (М) и два контроллера ввода/вывода (К0и KJ. В правой части (рис. 43, б) показана четырехпроцессорная система, иллюстрирующая, каким образом сообщения пересылаются от одного процессора I к другому. По отношению к каждому ПЭ все остальные процессорные элементы молено рассматривать просто как устройства ввода/вывода. Для посылки сообщения в другой ПЭ процессор формирует блок данных в своей локальной памяти и извещает свой локальный контроллер о необходимости передачи информации на внешнее устройство. По сети межсоединений это сообщение пересылается на приемный контроллер ввода/вывода принимающего ПЭ. Последний находит место для сообщения в собственной локальной памяти и уведомляет процессор-источник о получении сообщения.


Рис. 43. Структура вычислительной системы с распределенной памятью:

а — процессорный элемент; б - объединение процессорных элементов

Интересный вариант системы с распределенной памятью представляет собой модель распределенной совместно используемой памяти (DSM, Distribute Shared Memory), известной также и под другим названием архитектуры с неоднородным доступом к памяти и программным обеспечением когерентности (SC-NUMA, Software-Coherent Non-Uniform Memory Architecture). Идея этой модели состоит в том, что ВС, физически будучи системой с распределенной памятью, благодаря операционной системе представляется пользователю как система с общей памятью. Это означает, что операционная система предлагает пользователю единое адресное пространство, несмотря на то что фактическое обращение к памяти «чужого» компьютера ВС по-прежнему обеспечивается путем обмена сообщениями.