Разработка коммутатора сообщений блока регистров и

advertisement
Выпускная квалификационная работа
Разработка коммутатора
сообщений блока регистров и
прерываний в кластере
«Эльбрус-S»
Выполнил: Петроченков М. В. 613 гр.
Научный руководитель: Зайцев А.И.
Кластер «Эльбрус-S»
Кластер состоит из четырех
процессоров, соединенных по
схеме «каждый с каждым».
Кластер соединен с другими
кластерами посредством
межкластерных коммутаторов.
Конфигурационные регистры
задают:
1. Состояние узлов (процессоров и
межкластерных коммутаторов).
2. Конфигурацию линков узлов.
3. Границы областей памяти,
принадлежащей процессорам и
кластерам.
Каждый узел хранит копии
регистров, задающих его
конфигурацию, и их адреса в
общем блоке регистров.
Прерывания
Если источник и приемник
прерывания находится в разных
кластерах, то прерывание перед
отправкой в другой кластер и
при приеме из него, должно
быть обработано в системном
контроллере прерываний –
SAPIC (System Advanced
Programmable Interrupt
Controller).
Постановка задачи
1. Разработать коммутатор для обеспечения доступа каждого
узла кластера к конфигурационным регистрам всех узлов.
2. Разработать коммутатор, обеспечивающий пересылку
прерываний между узлами.
3. Обеспечить работу коммутаторов на частоте 250 МГц.
Принципиальное решение
Поскольку операции доступа к регистрам и прерываний достаточно редки, предлагается
реализовать единый коммутатор данных на базе узкой однонаправленной кольцевой шины
шириной 9 бит: 8 бит данных и 1 бит служебной информации.
Схема кольцевой шины
В элемент кольца могут быть записаны либо данные предыдущего элемента, либо данные, которые
абонент, соответствующий данному элементу кольца, желает передать. Разрешение на запись в
кольцо дается общим арбитром шины.
Абонентами являются процессоры, межкластерные коммутаторы и объединенный блок
конфигурационных регистров/SAPIC.
Передача сообщений
отправителем
Данные от отправителей передаются в формате пакетов e3s. Чтобы
сократить время выполнения операций, следует выполнить сжатие
исходных пакетов e3s в формат сообщения, фиксированный для
различных операций.
Головной байт содержит данные для
коммутации — адрес приемника в кольце и
код выполняемой операции. Он
сопровождается установленным в 1 битом
служебной информации.
Передача сообщений реализуется путем записи последовательности
байтов в свой элемент кольца.
Передача сообщений по шине
Движение сообщения по кольцевой шине :
Время прохода сообщения по кольцу складывается из времени
прохождения головного байта по кольцу и времени приема сообщения,
которое равно количеству байтов в нем.
Принципиальная схема арбитража
Сеанс связи (общий алгоритм)
В общем случае, выполнение требуемой
операции не ограничивается отправкой
единственного сообщения.
Сеанс связи состоит из серии сообщений:
1. Запрос к арбитру (1 бит по линии связи с
арбитром).
2. Передача сообщений по шине
3. Завершение сеанса связи (1 бит по линии
связи с арбитром).
В зависимости от необходимости ответа,
сеанс завершается передатчиком или
приемником. Кольцо при этом
освобождается для следующего
передатчика.
Чтение регистров, запись регистров и
отправка прерываний реализуются в рамках
трех соответствующих типов сеансов.
Чтение
• Формат сообщения запроса
чтения – 3 байта: 1 байт
заголовка и 2 байта адреса
• Запрос чтения доставляется в
блок регистров/SAPIC, который
отправляет ответные данные – 5
байт.
• По получении ответа отправитель
завершает сеанс.
Запись
• Формат сообщения – 7 байт: 1 байт
– заголовок, 2 байта – адрес и 4
байта – данные.
• Запрос доставляется в блок
конфигурационных регистров и во
все локальные копии в узлах.
• При наличии в узле копии регистра
с принятым адресом, в неё
записываются данные.
• После приема отправленного
сообщения, отправитель завершает
сеанс
Прерывания
• Формат сообщения о прерывании
– 7 байтов: 1 байт заголовка, 2
байта адреса и 4 байта данных.
• При успешной передаче, приемник
завершает сеанс, при неуспехе отправляет сообщение с
требованием повторной
пересылки – однобайтовая
посылка.
• Получив сообщение о повторной
передаче, отправитель завершает
сеанс.
Элементы распределенного
коммутатора
Абоненты: процессор и межкластерный коммутатор
Элементы распределенного
коммутатора
Абонент блок регистров/SAPIC
Алгоритм арбитража при
нескольких запросах
Результаты
1.
2.
3.
Разработано Verilog-описание единого коммутатора для:
 Запросов чтения из конфигурационных регистров
 Операций записи в конфигурационные регистры
 Пересылки прерываний между узлами
Обеспечена работа коммутатора на частоте 250 МГц.
Ведется тестирование коммутатора
Download