Сеть ServerNet
ServerNet - быстрая, масштабируемая, надежная системная сеть, обеспечивающая
гибкость соединения большого числа ЦП и периферийных устройств в/в между
собой. Главными свойствами этой сети коммутации пакетов являются малая
задержка и высокая надежность передачи данных. Для уменьшения задержки
в сети применяется метод червячной маршрутизации, не требующий приема всего
пакета до его отсылки к следующему приемнику. Физический уровень ServerNet
образуют независимые каналы приема и передачи, каждый из которых имеет
9-битовое поле команд/данных и сигнал синхронизации. Поле команд/данных
обеспечивает кодирование 256 символов данных и до 20 символов команд. Символы
команд используются для управления уровнем звена, инициализации и сигнализации
об ошибках. Кодирование в одних и тех же линиях команд и данных сокращает
количество контактов и упрощает обнаружение ошибок в логике управления.
Система использует ServerNet для организации связей ЦП-ЦП, ЦП-В/В и
В/В-В/В. Пересылки между микропроцессором и памятью для каждого узла ЦП
остаются локальными.
Данные в сети ServerNet пересылаются со скоростью 50 Мбайт/с. Сегодня
максимальная длина линии связи ServerNet ограничена 30 м. В будущих адаптерах
предполагается увеличение расстояния между узлами ServerNet с помощью последовательных
оптоволоконных линий связи. Предполагается, что этот переход будет относительно
простым, поскольку все функции управления применяют одни и те же линии
команд/данных.
Пакеты ServerNet состоят из 8-байтного заголовка, дополнительного 4-байтного
адреса, поля данных переменного размера и поля контрольной суммы. Заголовок
определяет идентификаторы источника и приемника, объем передаваемых данных
и необходимую для выполнения операцию. 4-байтное адресное поле обеспечивает
4-гигабайтное окно в адресном пространстве узла назначения. В устройствах
в/в какие-либо механизмы преобразования адресов отсутствуют. ЦП преобразуют
адрес из пакета в адрес физической памяти с помощью таблицы удостоверения
и преобразования адреса (AVT - Address Validation and Translation Table).
AVT проверяет допустимость удаленных обращений к локальной памяти узла.
Каждый элемент таблицы обеспечивает доступ по чтению и/или записи одного
узла ЦП или узла в/в к данным внутри 4-килобайтного диапазона адресов локальной
памяти. С помощью нескольких элементов таблицы AVT узел ЦП может иметь
доступ к большим сегментам своей памяти или обеспечивать несколько узлов
доступом к одному и тому же сегменту. Неисправный узел может испортить
только те сегменты памяти, к которым ЦП предоставил ему доступ. AVT выполняет
также преобразование смежных адресов памяти в несмежные адреса страниц
физической памяти.
Все транзакции по сети ServerNet происходят в два этапа: выполнение
запроса и ожидание соответствующего ответа, который должен вернуться до
истечения заданного интервала времени. Все узлы поддерживают возможность
выдачи несколько исходящих запросов в другие узлы. Помимо стандартных действий
в соответствии с протоколом уровня передачи пакетов получатель определенной
транзакции может по своему усмотрению выполнить некоторые локальные действия.
Например, существующие сейчас узлы ЦП или В/В преобразуют транзакции записи
по определенным адресам в локальные прерывания.
В СБИС маршрутизатора ServerNet реализован матричный переключатель размерностью
6х6. Решение о направлении маршрутизации принимается на основе анализа
идентификатора приемника из заголовка пакета. В состав маршрутизаторов
входят входные буфера FIFO, логика арбитража и управления потоком данных,
реализованная с помощью ЗУПВ таблица маршрутизации и матричный переключатель
(см. рис. 4). Инициализация и реконфигурация сети выполняются программными
средствами путем загрузки соответствующих таблиц маршрутизации.
Рисунок 4.
СБИС 6-портового маршрутизатора ServerNet