- •1. Современное состояние и тенденции развития в области проектирования и разработки программно-аппаратных комплексов
- •3. Задачи, функции и классификация программно-аппаратных комплексов
- •4. Основные принципы создания программно-аппаратных комплексов
- •5. Системно-ориентированный подход к проектированию и разработке программно-аппаратных комплексов. Основные определения и принципы системного подхода
- •6. Блочно-иерархический подход к созданию сложных программно-аппаратных комплексов, преимущества и недостатки подхода.
- •7. Датчики программно-аппаратных комплексов, их классификация. Энкодеры и интеллектуальные датчики, примеры их использования.
- •8. Исполнительные устройства программно-аппаратных комплексов. Место исполнительных устройств в системе управления.
- •9. Архитектура программного и аппаратного обеспечения. Основные понятия и определения. Архитектура по составу и сложности команд cisc, risc и vliw. Их преимущества и недостатки.
- •11. Архитектура системы команд по месту хранения операндов. Аккумуляторные, регистровые, и стековые архитектуры, примеры их использования в программно-аппаратных комплексах.
- •10. Архитектура системы команд как интерфейс между программным и аппаратным обеспечением. Классификация архитектур системы команд.
- •13. Операционные системы реального времени, используемые в программно-аппаратных комплексах, их особенности, преимущества и недостатки.
- •15. Информационные и информационно-управляющие системы. Понятие устойчивости системы. Пид регуляторы, порядок их настройки.
- •16. Вычислительная система программно-аппаратных комплексов, основные понятия и определения. Особенности программируемых систем и систем на «жесткой логике».
- •17. Аналого-цифровое и цифро-аналоговое преобразование сигналов в программно-аппаратных комплексах, их назначение, основные свойства.
- •18. Базовые принципы организации вычислительных систем программно-аппаратных комплексов. Классическая и шинная структура связей, достоинства и недостатки.
- •19. Организация процессов выборки и исполнения команд в вычислительных системах программно-аппаратных комплексов. Гарвардская архитектура, особенности и преимущества архитектуры.
- •20. Микропроцессоры программно-аппаратных комплексов и их классификация по функциональному признаку. Вычислительный конвейер, блок предсказания переходов, их преимущества и недостатки.
- •21. Микроконтроллеры и микропроцессоры семейства arm и Cortex, их принципиальные отличия и примеры использования в программно-аппаратных комплексах.
- •22. Промышленные контроллеры, их базовые компоненты и классификация. Типовые структуры промышленных контроллеров.
- •24. Программируемые логические контроллеры, обобщённая их структурная схема. Рабочий цикл программируемых логических контроллеров. Человеко-машинный интерфейс.
- •25. Программирование программируемых логических контроллеров. Особенности языков программирования стандарта мэк 61131-3.
- •26. Среды программирования для программируемых логических контроллеров. Показатели систем программирования, основанных на мэк 61131-3.
- •27. Графические и текстовые языки программирования программируемых логических контроллеров, их преимущества и недостатки.
- •29. Интерфейсы uart, i2c, spi. Сопряжение микроконтроллера с периферийными устройствами с использованием этих интерфейсов.
- •31. Протоколы Modbus, Profibus, hart их особенности, схема подключения, сравнительная оценка.
- •32. Понятия аналоговые и цифровые сигналы, модуляция. Беспроводные технологии, используемые в программно-аппаратных комплексах, их классификация и особенности.
- •33*. Программно-аппаратные комплексы распределённой обработки данных и управления. Их особенности, преимущества и недостатки.
- •34. Диспетчерское управление и сбор данных. Scada система, основные функции и структурные компоненты.
- •35. Аппаратные и программные средства scada систем. Удалённые терминалы, каналы связи и Диспетчерские пункты управления. Основные возможности современных scada пакетов.
- •36. Семейство программных технологий, предоставляющих единый интерфейс для управления объектами автоматизации и технологическими процессами. Стандарты opc.
- •37. Основные требования к scada системам. Особенности scada систем как процесса управления. Программные технологии opc и tsn.
- •38. Программно-аппаратные комплексы с элементами облачных технологий. Основы клиент-серверных технологий. Система управления базами данных на примере MySql.
- •39. Средства создания программ. Текстовый редактор, программа-компилятор и библиотеки стандартных функций.
- •40. Инструментальные средства разработки программно-аппаратных комплексов. Система программирования. Компоненты системы программирования.
- •41. Средства программирования, отладки и тестирования. Интегрированные среды разработки программного обеспечения для микроконтроллеров программно-аппаратных комплексов.
- •42. Интегрированные среды разработки Keil uVision, stm32CubeMx, stm32CubeIde для микроконтроллеров stm32 и их особенности.
- •43. Интегрированная среда разработки Keil uVision. Назначение, основные компоненты среды и стандартная библиотека периферийных устройств.
- •44. Основные возможности современных интегрированных сред для микроконтроллеров. Отличительные особенности интегрированных сред Keil uVision и stm32Cube ide
- •45. Особенности программирования микроконтроллеров в интегрированной среде Arduino ide
- •46. Модельно-ориентированное проектирование программно-аппаратных комплексов. Система автоматизированного проектирования Proteus, ее особенности и недостатки.
- •47. Надежность программно-аппаратных комплексов. Основные понятия и показатели надежности программно-аппаратных комплексов.
- •48. Особенности программного обеспечения как объекта надежности. Ошибки программного обеспечения. Принципы проектирования надёжного программного обеспечения программно-аппаратных комплексов.
- •49. Факторы, влияющие на надёжность программно-аппаратных комплексов. Процесс проверки программной системы на надёжность.
- •50. Требования к безопасности, надежности и качеству программного и аппаратного обеспечения программно-аппаратных комплексов.
10. Архитектура системы команд как интерфейс между программным и аппаратным обеспечением. Классификация архитектур системы команд.
Архитектура системы команд (ISA) - это интерфейс между программным обеспечением и аппаратным обеспечением компьютера. Она определяет набор инструкций, которые процессор может выполнять, и их формат.
По месту хранения операндов: - Аккумуляторные
- Регистровые
- Стековые
По составу и сложности команд
- С полным набором команд (CISC)
- С сокращенным набором команд (RISC)
- С длинными машинными командами (VLIW)
- С безоперандным набором команд (ROSC)
Классификация:
- Фон Неймановская архитектура: Использует единую память для хранения как программ, так и данных.
Преимущества : Простота конструкции, гибкость в программировании.
Недостатки: Возможность возникновения проблемы узкого места (bottleneck) при одновременном доступе к памяти для инструкций и данных.
- Гарвардская архитектура: Разделяет память для программ и данных, что позволяет параллельно обращаться к ним.
Преимущества : Высокая скорость выполнения инструкций за счет параллельного доступа к памяти.
Недостатки: Более сложная и дорогая реализация.
- Линейная структура: Группа линий связи, по которым передаются сигналы.
11. Архитектура системы команд по месту хранения операндов. Аккумуляторные, регистровые, и стековые архитектуры, примеры их использования в программно-аппаратных комплексах.
Архитектура системы команд по месту хранения операндов:
· Аккумуляторные
· Регистровые
· Стековые
Архитектура ВМ на базе аккумулятора.
Аккумулятор – выделенный регистр для хранения одного из операндов арифметической или логической операции.
Алгоритм работы:
· Изначально оба операнда хранятся в основной памяти;
· До выполнения операции один из операндов загружается в аккумулятор;
· Для выполнения операции в АЛУ производится считывание второго операнда из памяти в регистр данных;
· После выполнения команды обработки, результат остается в аккумуляторе и, если он не является операндом для последующей команды, его требуется сохранить в ячейке памяти.
Достоинства - короткие команды и простота декодирования команд.
Недостаток - наличие всего одного регистра порождает многократные обращения к основной памяти.
Пример: ранние версии вычислительных систем IBM 7090, DEC PDP-8, MOS 6502.
Архитектура на базе регистров
Алгоритм работы:
· Выбор регистра первого операнда;
· Определение расположения второго операнда (память или регистр);
· Подача на вход АЛУ операндов и выполнение операции;
· Выбор регистра результата и занесение в него результата операции из АЛУ.
Достоинства:
· Компактность получаемого кода;
· Высокая скорость вычислений за счет замены обращений к основной памяти на обращения к быстрым регистрам.
Недостатки - данная архитектура требует более длинных инструкций по сравнению с аккумуляторной архитектурой
Архитектура ВС на базе стека.
Особенность – входные, промежуточные и результирующие данные хранятся в памяти данных с последовательным доступом.
Алгоритм работы:
· Для выполнения операции на вход АЛУ подастся информация, считанная из двух верхних ячеек стека (при этом содержимое стека продвигается на две позиции вверх, то есть операнды из стека удаляются);
· Результат операции заталкивается в вершину стека. Возможен вариант, когда результат сразу же переписывается в память с помощью автоматически выполняемой операции рор х.
Достоинства:
· Простота аппаратной реализации;
· Простота записи алгоритмов вычисления.
Недостатки:
· Cтек - запоминающее устройство с последовательным доступом, обладающее медленной скоростью работы. Данная архитектура не позволяет производить расширения или дополнения для увеличения мощности.
Примеры:
В вычислительных машинах 1960-х годов в ВМ фирмы Burroughs (B5500, B6500) или фирмы Hewlett-Packard (HP 3000/70),
Современные BM со стековой AСK - JEM 1 и JEM 2 компании AJILESYSTEMS; CLIP фирмы IMSYS; IGNITE компании Patriot Scientist
12. Системное и прикладное программное обеспечение программно-аппаратных комплексов. Многозадачность в программно-аппаратных комплексах, преимущества и недостатки использования операционных систем реального времени в них. Схемы выделения памяти при создании задач в FreeRTOS.
Многозадачность в программно-аппаратных комплексах:
Преимущества применения ОСРВ:
· Многозадачность (программисту не нужно заботиться о переключении между задачами: за него это сделает ОСРВ в соответствии с алгоритмом работы планировщика);
· Временная база (программный интерфейс для отсчёта интервалов времени и выполнения каких-либо действий в определенные моменты времени);
· Обмен данными между задачами (используется очередь, которая гарантирует, что сообщения дойдут до адресата в том объёме и в той последовательности, в которой были отправлены);
· Синхронизация (мьютексы или критические секции).
Недостатки применения ОСРВ:
· Дополнительный расход памяти программ для хранения ядра ОСРВ.
· Дополнительный расход памяти данных для хранения стека каждой задачи, семафоров, очередей, мьютексов и других объектов ядра операционной системы.
· Дополнительные затраты времени процессора на переключение между задачами.
Схемы выделения памяти:
Распределение памяти кучи при использовании схемы heap_1.c используют, когда задачи в программе никогда не уничтожаются.
Блок памяти, выделяемый задаче:
1. Стека задачи (при создании задачи)
2. Блока управления задачей (Task Control Block) - содержит служебную информацию, используемую ядром.
heap_1.c
Распределение памяти кучи при использовании схемы heap_2.c используют, когда задачи в программе могут уничтожаться.
Размер структуры ТСВ зависит от:
- настроек FreeRTOS;
- платформы, на которой она выполняется;
- используемого компилятора.
heap_2.c
