Разработка контроллера встроенного интерфейса AXI в составе системы на кристалле «Эльбрус-S2» Студент: Поляков Н.Ю., ФРТК, 515 гр. Научный руководитель: д.т.н. Сахин Ю.Х.
Система на кристалле «Эльбрус-S2» DSP-кластер ГУП НПЦ «ЭЛВИС» универсальная часть ЗАО «МЦСТ»
4-процессорная конфигурация системы на кристалле «Эльбрус-S2»
Взаимодействие DSP c процессорными ядрами ЭЛЬБРУС (универсальной частью, УЧ) IO-обмен (Input/Output) : DSP-slave редкие короткие запросы DMA-обмен (Direct Memory Access) : DSP-master передача больших массивов данных AMBA 3.0 AXI
Функциональное разделение AXI-контроллера непрерывная передача пакета 32 байта без маски 32 байта с маской 64 байта без маски произвольная длина пакета останов передачи после любой посылки
Требования: обеспечить минимальные задержки передачи данных DMA-обмена при максимальной загруженности канала обеспечить минимальное время выполнения коротких IO-обменов Постановка задачи: Разработать AXI-контроллер для включения DSP в состав системы на кристалле «Эльбрус-S2»
Структурная схема контроллера (SIC IFace) DMA IO
Модуль выполнения DMA-записей (DMAWR) Этапы выполнения записи: буферизация заявок от DSP передача данных в коммутатор данных (Data Box) без буферизации отправка заявки на запись в контроллеры линков Достоинство: отсутствие буфера данных CPU1 CPU3 CPU2 CPU0
Модуль выполнения DMA-чтений (DMARD) Этапы выполнения чтения: буферизация запросов от DSP формирование и отправка запросов на DMA-чтение в УЧ сбор и буферизация когерентных ответов от кэшей выдача ответов с данными в AXI IFace отправка в УЧ сообщения о завершении DMA-чтения Достоинство: Очередь ответов о завершении операции позволяет освободить ячейку буфера данных раньше, чем отправится сообщение
Структурная схема контроллера (SIC IFace) IO
Модуль обработки IO-запросов (Input/Output Requests Execution, IORE) Этапы обработки запроса: прием запросов от SC во входную очередь запросов выдача запроса в исполнительные устройства и постановка в очередь ответов отправка команд исполняющим устройствам «выдать ответ» Достоинство: раздельные входные очереди для запросов на запись и чтение
Разделение входных очередей t
Исполнительные устройства IO-обмена IO-чтениеIO-запись Основная функция модулей – сбор и выдача данных
Оптимизация использования буфера данных Применяется в модулях IORD и IOWR 64 байта 32 байта
Оптимизации Оптимизация форматного IO-чтения AXI Запрос на 2 слова чтение 1 слова (1 такт) чтение 2 слов (2 такта) чтение 4 слов (4 такта) Буфер данных IORD Применяется в модуле IORD
Фактические характеристики Максимальная загруженность канала Одиночные запросы
Результаты Разработано Verilog-описание контроллера встроенного интерфейса AXI, позволяющего минимизировать задержки передачи данных DMA-обмена при максимальной загруженности канала и обеспечивающего минимальное время выполнения коротких IO-обменов Пройдено автономное тестирование, позволившее проверить не только работу модуля AXI Box, но и правильность выполнения DSP-кластером обмена данными Модуль встроен в систему на кристалле Эльбрус-S2 Модуль встроен в систему на кристалле Эльбрус-S2