- •«Пермский национальный исследовательский политехнический университет»
- •«Встроенные микропроцессорные системы»
- •Составитель о.В. Гончаровский
- •Оглавление
- •2. Программное обеспечение встроенных систем ……….
- •Введение
- •Аппаратные средства встроенных систем
- •Организация аппаратных средств встроенных
- •1.2. Элементы архитектуры процессоров встроенных систем
- •1.2.1. Множество команд
- •1.2.3.1. Адресное пространство
- •1.2.3.2. Порядок байт
- •1. 2.3.3. Когерентность памяти
- •1. 2.3.4. Защита памяти
- •1. 2. 4. Модель прерываний
- •1.2. 5.Модель управления памятью
- •1.2.5.1. Страничная организация памяти
- •1.2.5.2. Сегментация памяти
- •1.3. Типы процессоров
- •1.4. Формы параллелизма в процессорах
- •1.4.1. Конвейеризация
- •1.4.2. Параллелизм уровня команд
- •1.5.Технологии памяти
- •1.5.1. Оперативная память
- •1.5.1. 1. Статическое озу
- •1.5.2. Постоянное запоминающее устройство (rom)
- •1.6. Иерархия памяти
- •1.6.1. Распределение или карта памяти
- •1.6.2. Блокнотная и кэш память
- •1.6.2.2. Ассоциативная по множеству кэш-память
- •1.6.2.3. Обновление кэш-памяти.
- •1.6.2.4. Протокол когерентности кэширования с обратной записью
- •1.7. Магистраль микропроцессорной системы
- •1.8. Базовые устройства ввода-вывода встроенных систем
- •1.8.1. Порты ввода-вывода общего назначения
- •1.7.2. Таймер-счетчик
- •1.8.3. Импульсно-кодовая модуляция.
- •1.8.4. Многоканальный аналого-цифровой преобразователь
- •1.9. Базовые последовательные интерфейсы ввода-вывода
- •1.9.2. Последовательный интерфейс spi
- •1.9.4.1. Введение в usb
- •1.9.4.2. Интерфейс Open Host Controller для usb
- •Вопросы для самопроверки
- •Модуль 2
- •1.10. Язык проектирования аппаратуры vhdl
- •1.10.2. Введение в vhdl
- •1.10.2.1. Программирование на vhdl для моделирования и синтеза [22]
- •1.10.2.3. Операторы присваивание и process [22]
- •1.10.2.4. Цикл моделирования vhdl
- •1.10.2.5. Многозначная логика и стандарт ieee 1164
- •1.11. Проектирование устройств ввода-вывода и контроллеров
- •1.12. Интегрированная среда разработки аппаратных средств
- •Вопросы для самопроверки
- •Модуль 3
- •2. Программное обеспечение встроенных систем
- •2.1 Модель вычислений
- •2.2 Автомат с конечным числом состояний
- •2.3. Асинхронный язык проектирования sdl
- •2.4. Синхронный язык проектирования Lustre
- •2.5. Многозадачность.
- •2.5.1. Язык программирования Си
- •2.5.2. Потоки
- •2.5.2.1. Реализация потоков
- •2.5.2.2. Взаимное исключение
- •2.5.2.3. Взаимная блокировка
- •2.5.2.4. Модели непротиворечивости памяти
- •2.5.2.5. Проблемы с потоками
- •2.5.3. Процессы и передача сообщений
- •2.6. Интегрированная среда разработки прикладного программного
- •2.6.2. Комплект программ Telelogic Tau sdl Suite
- •2.6.3. Средства разработки программного обеспечения
- •2.7.1. Моделирование, эмуляция и макетирование
- •2.7.2. Формальная верификация
- •2.7.3. Оценка производительности
- •2.7.3.1. Оценка wcet
- •2.7.3.2. Исчисление реального времени
- •2.7.4. Модели энергии и мощности
- •2.7.5. Тепловая модель
- •Задания
- •1. Конвейеризация
- •2. Иерархия памяти
- •3. Базовые устройства ввода-вывода встроенных систем
- •5. Многозадачность
- •6. Валидация и оценка проекта
- •Заключение
- •Библиографический список
- •Встроенные микропроцессорные системы
6. Валидация и оценка проекта
1. Представим состояние кэш в случае сходящегося потока управления. На рис. Показано состояние строки 4-входовой кэш в точке схождения для каждого из двух путей.
Что получится в результате анализа необходимости и возможности состояния кэш?
2. Рассмотрим пульсирующий поток событий. Поток периодический с периодом p. В начале каждого периода два события поступают с интервалом в d единиц времени. Построить кривые поступления для этого потока на интервале от 0 до 3*p.
3. Представим, что обработкой потока занимается процессор с максимальной производительностью b.
а) На что похожи кривые обслуживания, если производительность ухудшится до величины b’ из-за конфликтов в кэш?
б) Как изменятся кривые обслуживания, если некоторый таймер будет прерывать задачи каждые 100 ms и если обслуживание прерывания выполняется 10 ms? Предполагается, что нет конфликтов в кэш.
в) На что похожи кривые обслуживания, если рассматривать конфликты в кэш как в а) и прерывания как в б)?
Результирующие кривые должны быть построены на интервале от 0 до 300 ms.
Заключение
В учебном пособии раскрываются особенности встроенных систем, область применения и последовательность их проектирования. Рассмотрены основные компоненты аппаратного обеспечения встроенных систем: процессор, память, устройства ввода вывода и интерфейсы их взаимодействия. Выбор процессоров для встроенных систем имеет важное последствие для программистов. Программисту может потребоваться использовать ассемблер для того чтобы воспользоваться скрытыми возможностями процессора. Для приложений требующих точных временных реакций управление временем в программах может оказаться трудной задачей из-за сбоев конвейера и необходимости учета работы других параллельных ресурсов процессора.
В результате освоения тем учебного пособия разработчик встроенных систем будет знать архитектуру памяти целевого процессора и модель памяти языка программирования, а также то, что некорректное использование памяти может привести к экстремально трудно уловимым ошибкам, которые не обнаруживаются при тестировании. Эти ошибки проявляются только в окончательном изделии и могут оказаться роковыми как для пользователей, так и для поставщиков оборудования.
Разработчик будет знать, какая часть адресного пространства относится к зависимой и энергонезависимой памяти, а также технологии основной памяти и архитектуру кэш памяти, что необходимо для понимания времени выполнения программ. Разработчикам также будет знать модель памяти языка программирования, чтобы избежать чтения данных, которые могут быть недействительными, а также как обходиться с динамическим выделением памяти в частности для встроенных систем работающих длительное время. Израсходование доступной памяти может привести к аварийному отказу системы или нежелательному поведению.
Разработчик будет знать аппаратный и программный механизм, используемый для получения процессором данных от датчиков и формирование команд для исполнительных механизмов. В фокусе этого знания лежит мост между последовательной природой программы и параллельным физическим миром. Поэтому рассмотрен интерфейс аналого-цифрового преобразователя в перспективе цифровой обработки сигналов с учетом квантования, дискретизации и шумов.
В учебном пособии рассмотрены вопросы проектирования аппаратных средств на программируемой логике, используемой для реализации компонент встроенной системы, которые нельзя реализовать на стандартных элементах или необходимо их высокопроизводительное решение. Изучение соответствующих тем даст знания по разработке компонент ввода вывода по модели программно-управляемого автомата на языке проектирования аппаратуры VHDL.
В учебном пособии рассмотрены абстракции промежуточного уровня программного обеспечения для одновременных программ находящиеся выше уровня прерываний и параллельной аппаратуры, но ниже модели одновременных вычислений. Конкретно объяснены потоки, как последовательные программы, выполняемые одновременно и разделяющие переменные, взаимное исключение и семафоры. Показаны трудности написания многопоточных программ. Схема передачи сообщений преодолевает некоторые из них, но те все.
Рассмотрен также верхний уровень абстракции программного обеспечения – модели вычислений, позволяющие разрабатывать как спецификации систем, так и их модели для последующей автоматической генерации объектного кода приложения. Модель вычислений позволяет на ранних стадиях проектирования обнаруживать некорректное задание требований и их реализацию. Рассмотрены как синхронные, так и асинхронные модели одновременного поведения. Изучение этих вопросов сформирует знания по эффективной методологии проектирования, основанной на модели.
В последней части учебного пособия рассмотрены вопросы валидации и оценки проекта. Показаны такие инструменты валидации как моделирование, эмуляция, макетирование и формальная верификация. В качестве составляющих оценки проекта показаны оценка производительности, модели энергии и мощности и тепловая модель.
Итог освоение сод … позволяет приобр необх квалих в сфере.