Выпускная квалификационная работа Разработка коммутатора сообщений блока регистров и прерываний в кластере «Эльбрус-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 МГц. Ведется тестирование коммутатора