Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KS_LK_AllInOne.docx
Скачиваний:
133
Добавлен:
23.11.2019
Размер:
28.78 Mб
Скачать

5. Управление потоком

Управление предусматривает: арбитраж, предотвращение дедлоков, борьбу с заторами и переполнениями.

Для предотвращения блокировок всем узлам предоставляется право доступа к интерфейсу. Это означает, что все возможные 64 К устройств могут начать передачу одновременно.

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

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

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

Для борьбы с заторами используются протоколы назначений (allocation protocols). Среди них выделяются протоколы распределения пропускной способности и протоколы распределения очередей.

Первые протоколы способны запрещать передачу пакетов от совокупности узлов в случае, если один из узлов не может передать свой пакет.

Вторые — используются для распределения объема входной очереди в случае, если несколько узлов посылают пакеты одному узлу.

Это может быть реализовано как отказ от приема пакета с посылкой эхо-пакета "занято" и дальнейшим резервированием места в очереди для приема пакета при одной из повторных его передач.

Архитектура SCI

1. Структура адресного пространства

В SCI принимается 64-разрядная архитектура с 64-битным адресным пространством. Старшие 16 битов задают адрес узла и используются для маршрутизации SCI пакетов между узлами системы. Остальные 48 битов — адресация внутренней памяти узла. SCI ориентирован на поддержку строк размером 64 байта. Другие размеры строк автоматически поддерживаются в многоуровневых кэш-памятях. Структура адресного пространства показана на рис. 1.

2. Регистры управления и состояния

Предполагается наличие в узлах регистров управления и состояния (РУС). Существует подстандарт IEEE Std 1212-1991, регламентирующий РУС.

Рис 1. Структура адресного пространства

3. Форматы пакетов

Упрощенный формат пакета показан на рис. 2. Пакет состоит из трех частей: заголовка, адресной и информационной части, а также кодов обнаружения и коррекции ошибок.

Рис. 2. Формат пакета

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

Во втором 16-битовом символе поле "управление потоком" заголовка пакета задает режим прохождения пакета, содержит тип транзакции и длину пакета. Поле управления потоком может изменяться при прохождении пакета и поэтому не учитывается при подсчете циклического избыточного кода пакета.

Поле "команда" содержит команду, которую должен выполнить узел-получатель. Командное поле в пакете запроса определяет действие — чтение 00, чтение sb, запись sb и другие, в пакете ответа командное поле извещает о количестве возвращаемых данных, а в пакете-эхо это поле указывает, был ли принят посланный пакет.

Третий 16-битовый символ заголовка содержит адрес sourceid узла, отправившего сообщение. Все пакеты содержат 6-разрядный порядковый номер, который позволяет различать пакеты одного отправителя.

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

время смерти — время, когда пакет должен быть уничтожен;

начальный относительный 48-разрядный адрес;

статус — 48-разрядное поле, возвращающее статус от получателя к источнику;

расширенный заголовок — пакет может содержать дополнитель ные 16 байтов заголовка, что указывается в командном поле. Пакет может содержать 0,16,64 байта данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]