Координация работ исполнительных элементов (арифметико-логических устройств, регистров и т.п.), страница 10

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

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

SMP – симметричный мультипроцессор.


ПРОТОКОЛ MESI

1.    Invalid — элемент кэш-памяти содержит недействительные данные.

2.    Shared — несколько кэшей могут содержать данную строку; основная память обновлена.

3.    Exclusive — никакой другой кэш не содержит эту строку; основная память обновлена.

4.     Modified — элемент действителен; основная память недействительна; копий элемента не существует.

Протокол MESI используется в процессорах для слежения за шиной.
UMA С КОММУТИРУЕМОЙ СТРУКТУРОЙ

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

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

На рисунке а) три узла закрыты, благодаря чему одновременно устанавливается связь между следующими пара­ми процессор-память (001, 000), (101, 101) и (ПО, 010).

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

Худшее свойство перекрестной коммутации : число узлов растет как п2.
СС-NUMA

При большем количестве устройств в коммутации структура усложняется.

Доступ становится неоднородным, т.е. доступ к удаленным элементам будет больше.

Система состоит из 256 узлов, в которой каждый узел состоит из одного процессора и 16-мегабайтного ОЗУ, связанного с процес­сором локальной шиной. Общий объем памяти составляет 232 байт. Она разделе­на на 226 строк кэша по 64 байт каждая. Память статически распределена по уз­лам: адреса 0-16 М располагаются в узле 0, адреса 16-32 М — вузле 1 и т. д. Узлы связаны коммуникационной сетью. Сеть может быть реализо­вана в виде решетки, гиперкуба или иметь другую топологию.

Сначала процессор, выдав­ший команду, передает ее диспетчеру памяти, который транслирует ее, чтобы по­лучить физический адрес. Диспетчер памяти разделяет этот адрес на три части (рисунок б). В десятичной системе счис­ления эти три части представляют собой узел 36, строку 4 и смещение 8. Диспет­чер памяти видит, что слово памяти, к которому производится обращение, на­ходится в узле 36, а не в узле 20, поэтому посылает запрос через сеть в узел 36, где находится нужная строка, узнает, есть ли строка 4 в кэше, и если да, то где именно.

Когда запрос приходит в узел 36, он направляется в устройство каталога. Уст­ройство проверяет таблицу из 218 элементов (один элемент на каждую строку кэ­ша) и извлекает элемент 4. На рисунке в) видно, что строка отсутствует в кэше, поэтому устройство вызывает строку 4 из локального ОЗУ, отправляет ее узлу 20 и обновляет элемент каталога 4, показывая, что эта строка находится в кэше узла 20.

АЛГОРИТМ КОГЕРЕНТНОГО КЭШИРОВАНИЯ SCI

Роль узлов:

1.  Разделяющие читатели

2.  Исключительные писатели

3.  Аннулирование при записи

4.  Ведение учета

Состояние данных:

1.  Сырые – после того, как считались.

2.  Свежие – только что считанные.

3.  Устаревшие – модифицированные.

SCI – расширяемый связной интерфейс. Алгоритм остановок на каталогах, в которых хранится 2-х уровневая система информации кэш-строк.