Реализация инженерного пульта в составе вычислительного

advertisement
Реализация инженерного пульта
в составе вычислительного
комплекса “Эльбрус-S2”
Выполнил: Иванов Сергей, гр.513
Научный руководитель: Костенко Виталий Олегович
Инженерный пульт
диагностическое оборудование микропроцессора
позволяет проводить отладку программного и аппаратного обеспечения с помощью
доступа к системным регистрам и к встроенному логическому анализатору
инженерный пульт
персональный компьютер,
подключенный к микропроцессору,
с которого ведётся управление и отладка
CORE
СБИС
CORE
JTAG
доступ к микропроцессору через
специализированный последовательный
порт JTAG (стандарт IEEE 1149.1)
Отладка многоядерного микропроцессора
Проблема
Необходимо обеспечить
одновременный доступ к
диагностическому
оборудованию всех ядер
Аппаратная реализация
• отсутствие изменений
структуры и количества
отладочных регистров
• идентичность построения
отладочного оборудования
для каждого из ядер
CORE2
CORE1
СБИС
CORE
JTAG
Задачи и требования
Требования:
•
•
поддержка различных
конфигураций многоядерного
процессора
минимальное время отклика
процессора на заданные команды
Задачи:
•
•
Разработка JTAG сервера,
предоставляющего полный
функционал для отладки ВК
Адаптация существующего
графического интерфейса
инженерного пульта для
возможности его подключения к
данному серверу
Принципы построения JTAG сервера

взаимодействие графических
клиентов с сервером –
однонаправленное

сервер исполняет
команды атомарно

сервер выполняет запросы
к различным ядрам
последовательно
Разработка структуры JTAG сервера
1.Введение интерфейсного класса BaseCPU
Функции:
GetConfiguration
cвязывание приложения
клиента с классом
конфигурации сервера
GetOutputStream
перенаправление потока
ввода/вывода
Functionality
централизованная точка
доступа графического
приложения к отладочным
средствам
Разработка структуры JTAG сервера
2.Разработка взаимодействия пользовательского
приложения с JTAG сервером
Проблемы:
•
•
Связь однонаправленная, но
результат выполнения каждой
команды должен
сопровождаться выводом
диагностического сообщения
Различные отладочные
функции должны
соответствовать единому
интерфейсу взаимодействия
Решения:
•
•
Перенаправление потока
вывода
Передача параметров через
единый буферный класс
Configuration
Разработка структуры JTAG сервера
3. Разработка средств синхронизации
межпроцессного доступа к JTAG серверу
Реализация - библиотека DLL
готовое программное решение
совместного использования
объектов C++
простота построения
приложения-клиента
ProcessID - идентификатор процесса,
который указывает в какую
из копий интерфейсного
класса BaseCPU идёт запрос
Configuration - указатель на буферный класс
Output Stream - указатель на выходной поток
Function Interface - интерфейс отладочных средств
NumberOfClients - полное число клиентов библиотеки
Схема синхронизации межпроцессного доступа
Результаты
Реализован инженерный пульт в составе
вычислительного комплекса “Elbrus-S2”
В настоящее время полученный продукт
проходит тестирование на прототипе “Elbrus-3S”
Download