Адаптация буферизующего коммутатора данных МП «Эльбрус-S2» Студент: Рогов А.С., ФРТК, 613 гр. Научный руководитель: Костенко В.О. Выпускная квалификационная работа
МП «Эльбрус-S2» Введение МП «Эльбрус-S2» - СБИС МП обработки цифровой сигнальной информации Коммутатор данных (DataBox) МП «Эльбрус S2» разработан на основе DataBox МП «Эльбрус-S» МП «Эльбрус-S» построен на ядре архитектуры «Эльбрус» МП «Эльбрус-S2» состоит из двух ядер архитектуры «Эльбрус» и 4-х ядерного DSP- кластера ГУП НПЦ «ЭЛВИС»
Абоненты DataBox: 1.IOCOM – коммутатор устройств ввода- вывода; 2.MC – контроллер памяти; 3.SC – системный коммутатор; 4.CIC – межъядерный коммутатор; MAU – устройство доступа к памяти МП «Эльбрус-S2» Упрощённая структурная схема
Требования Согласовать пропускные способности каналов DataBox и его абонентов (IOCOM, SC, MC, CIC/MAU) Минимизировать задержки передачи данных Обеспечить работу DataBox на номинальной частоте МП 500МГц Постановка задачи Доработать DataBox с целью выполнения следующих требований:
Абоненты DataBox IOCOM Каналы выдачи данных по IO-чтению и DMA-записи составляют единый канал выдачи данных из IOCOM в DataBox шириной 64 бит (4ГБ/с)
Канал IO-чтения Исходные данные Редкие короткие обмены В зависимости от запросчика (локальный или удаленный МП) данные направляются в MAU (локальное IO-чтение) или межпроцессорные линки (SC) (удаленное IO-чтение) Темп выдачи данных из IOCOM: 4ГБ/с
*Произведены соответствующие изменения протокола обмена DataBox-MAU Решение Расширение шины передачи данных в MAU с 16 бит до 64 бит* Устранение задержки* Проблема Несоответствие пропускных способностей IOCOM (4ГБ/с) и MAU (1ГБ/с) Наличие задержки передачи данных в 2 такта Локальное IO-чтение Проблемы и решения
Локальное IO-чтение Структурная схема 16 64
Передача больших массивов данных В зависимости от запросчика (локальный или удаленный МП) данные направляются в SC (локальная DMA-запись) или межпроцессорные линки (SC) (удаленная DMA-запись) Темп выдачи данных из IOCOM: 4ГБ/с Размер буфера DMA-записи: 4x(32Б/64Б) Канал DMA-записи Исходные данные
Проблема Несоответствие пропускных способностей IOCOM (4ГБ/с) и SC (2ГБ/с) Решение Расширение шины передачи данных в SC с 32 бит до 64 бит* *Произведены соответствующие изменения протокола обмена DataBox-SC Локальная DMA-запись Проблемы и решения
Локальная DMA-запись Структурная схема 32 64
Буфер DMA-записи Проблемы и решения Проблема Наличие задержки передачи данных за счет частых блокировок буфера. Причина - недостаточный размер буфера: 4x(32Б/64Б) Решение Увеличение размера буфера до 16x(32Б/64Б) *Проблема и соответствующее решение определены по результатам тестирования RTL-модели МП (тесты на DMA- обмен)
Удаленное IO-чтение / Удаленная DMA-запись Пропускная способность данного канала ограничена пропускной способностью межпроцессорных линков и составляет 2ГБ/с. Доработка невозможна
1.IO-чтение (IOCOM -> DataBox -> SC(линки)). Проходящий комбинационный путь 2.39ns (slack: -0.49ns) устранен путем реализации «непрозрачной» очереди вместо «прозрачной» Увеличение рабочей частоты Устранение критических путей
2.Чтение из памяти (DataBox -> SC(линки)). Критический путь 2.14ns (slack: -0.24ns) устранен путем реализации байпаса блочной памяти через 2-элементную регистровую очередь без внесения дополнительных тактовых задержек +0.95ns
Исправление ошибок В процессе работы были обнаружены и исправлены ошибки RTL-описания DataBox (выявлено 14 ошибок, 3 ошибки – в других модулях, 11 исправлено) В частности, одна ошибка была выявлена при верификации системы e3s: данные IO-чтения портятся другим (спекулятивным) IO-чтением. Причина: некорректная обработка признака «spec» для данных
Результаты Выполнены необходимые доработки Verilog- описания DataBox, позволившие: –согласовать пропускные способности каналов DataBox и его абонентов; –минимизировать задержки передачи данных; –Обеспечить работу DataBox на номинальной частоте МП 500МГц. Исправлены обнаруженные ошибки Произведено тестирование в составе RTL- модели МП «Эльбрус-S2» В настоящее время производится тестирование прототипа на ПЛИС
Спасибо за внимание!