Реализация инженерного пульта в составе вычислительного комплекса “Эльбрус-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”