1. Введение: сущность и назначение микропроцессорных систем
Микропроцессорная система (МПС) — программно‑управляемое электронное устройство на базе микропроцессора (MPU), предназначенное для обработки данных и управления процессами.
Ключевые характеристики:
- универсальность — перепрограммируемость под разные задачи;
- модульность — возможность наращивания функций;
- цифровая обработка — работа с дискретными сигналами;
- реальное время — детерминированная реакция на внешние события.
Области применения:
- встраиваемые системы (промышленность, транспорт, быт);
- персональные компьютеры и серверы;
- телекоммуникационное оборудование;
- робототехника и автоматика;
- медицинские приборы и измерительная техника.
2. Базовая архитектура микропроцессорной системы
2.1. Основные компоненты
- Микропроцессор (CPU) — ядро системы, выполняет команды и обрабатывает данные.
- Память:
- ОЗУ (RAM) — оперативное хранение данных и программ;
- ПЗУ (ROM, Flash) — постоянное хранение прошивки и констант.
- Устройства ввода‑вывода (I/O):
- порты GPIO;
- интерфейсы (UART, SPI, I²C, USB, Ethernet);
- АЦП/ЦАП.
- Системная шина:
- шина данных (Data Bus);
- шина адреса (Address Bus);
- шина управления (Control Bus).
- Генератор тактовых импульсов — задаёт темп работы системы.
- Схема сброса (Reset Circuit) — инициализация при включении.
- Источники питания и стабилизаторы.
2.2. Принцип взаимодействия
- CPU читает команды из памяти по шине адреса и данных;
- выполняет операции, записывает результаты в память или порты I/O;
- реагирует на прерывания от внешних устройств;
- поддерживает циклы «выборка‑декодирование‑исполнение» (fetch‑decode‑execute).
3. Принципы организации памяти
3.1. Иерархия памяти
- Регистры CPU — самый быстрый доступ (единицы тактов).
- Кэш‑память (L1, L2, L3) — буфер между CPU и ОЗУ.
- ОЗУ (RAM) — основное рабочее пространство.
- Флэш‑память/дисковые накопители — долговременное хранение.
3.2. Модели адресации
- Линейная адресация — единый массив адресов.
- Сегментированная память — разделение на сегменты с базовыми адресами.
- Виртуальная память — абстракция с трансляцией адресов (MMU).
3.3. Типы памяти
- SRAM — быстрая, без регенерации, дорогая.
- DRAM — ёмкая, требует регенерации, дешевле.
- Flash — энергонезависимая, ограниченное число циклов записи.
- EEPROM — побайтовая перезапись, медленная.
3.4. Защита памяти
- разграничение доступа (пользователь/супервизор);
- контроль границ сегментов;
- защита от выполнения данных (DEP).
4. Системная шина и интерфейсы
4.1. Функции шины
- передача данных между CPU, памятью и I/O;
- адресация устройств;
- управление циклами (чтение, запись, прерывания).
4.2. Типы шин
- Параллельные (например, шина данных 8086) — высокая пропускная способность, но много проводников.
- Последовательные (PCIe, USB) — меньше линий, масштабируемость.
- Мультиплексированные — адреса и данные по одним линиям в разные такты.
4.3. Стандарты шин
- AMBA (ARM) — для встраиваемых систем;
- PCI/PCIe — для периферийных устройств;
- AXI — высокопроизводительные соединения в FPGA;
- I²C, SPI, UART — низкоскоростные встроенные интерфейсы.
5. Организация ввода‑вывода
5.1. Способы обмена данными
- Программно‑управляемый ввод‑вывод — CPU напрямую читает/пишет порты.
- Прерывания (IRQ) — устройство сигнализирует о готовности данных.
- Прямой доступ к памяти (DMA) — передача данных без участия CPU.
5.2. Адресация портов
- Изолированное I/O — отдельные команды IN/OUT (x86).
- Отображение на память (Memory‑Mapped I/O) — порты как ячейки памяти.
5.3. Буферизация и FIFO
- аппаратные буферы для сглаживания потоков данных;
- снижение нагрузки на CPU.
6. Управление прерываниями и исключениями
6.1. Виды прерываний
- Аппаратные (от таймера, UART, GPIO);
- Программные (системные вызовы);
- Исключения (ошибки деления, страничные нарушения).
6.2. Механизм обработки
- Сохранение контекста (регистры, PC).
- Переход к обработчику прерывания (ISR).
- Выполнение ISR.
- Возврат к основной программе (RESTORE).
6.3. Приоритеты и векторы
- таблица векторов прерываний (IVT) — адреса ISR;
- контроллер прерываний (PIC, APIC) — управление приоритетами.
7. Тактирование и синхронизация
7.1. Источники тактового сигнала
- кварцевый генератор;
- ФАПЧ (PLL) — умножение частоты;
- встроенные RC‑генераторы.
7.2. Режимы тактования
- Синхронный — все компоненты по общему такту.
- Асинхронный — независимые тактовые домены (требует синхронизации).
7.3. Управление энергопотреблением
- динамическое изменение частоты (DVFS);
- режимы сна (Idle, Standby, Hibernate).
8. Начальная загрузка и прошивка
8.1. Этапы старта системы
- Сброс (Reset) → инициализация CPU.
- Чтение начального адреса из вектора сброса.
- Выполнение загрузчика (Bootloader).
- Инициализация памяти и периферии.
- Передача управления ОС или приложению.
8.2. Виды загрузчиков
- ROM‑Bootloader — встроено в чип.
- External Bootloader — загружается с внешнего носителя.
- U‑Boot, Coreboot — открытые реализации.
8.3. Обновление прошивки
- In‑System Programming (ISP) — через UART, USB, JTAG.
- Dual Bank Flash — безопасное обновление без потери работоспособности.
9. Принципы надёжности и отказоустойчивости
9.1. Аппаратные механизмы
- Watchdog Timer — сброс при зависании.
- ECC‑память — исправление ошибок.
- Резервирование (дублирование CPU, питания).
- Контроль напряжения и температуры.
9.2. Программные методы
- контроль целостности кода (CRC, хеш);
- сторожевые таймеры в ПО;
- обработка исключительных ситуаций.
10. Проектирование и отладка
10.1. Этапы разработки
- Спецификация требований.
- Выбор компонентов (CPU, память, интерфейсы).
- Разработка схемы и топологии платы.
- Программирование (загрузчик, драйверы, приложение).
- Тестирование и отладка.
10.2. Инструменты отладки
- JTAG/SWD — пошаговое выполнение, чтение регистров;
- Логический анализатор — захват сигналов шины;
- Осциллограф — анализ аналоговых параметров;
- Симуляторы и эмуляторы — моделирование до аппаратной реализации.
10.3. Критические параметры
- время реакции на прерывание;
- пропускная способность шины;
- энергопотребление;
- тепловыделение.
11. Современные тенденции
- Многоядерность — параллельная обработка (Cortex‑A, x86).
- Интеграция на кристалле (SoC) — CPU + GPU + DSP + периферия.
- Низковольтные технологии (1,8 В, 1,2 В) — снижение энергопотребления.
- Безопасность — аппаратные модули шифрования, доверенная загрузка.
- ИИ‑ускорители (NPU, TPU) — нейронные сети на краю сети.
- Гибкие архитектуры (RISC‑V) — настраиваемые CPU.
12. Примеры реализаций
- **Встраиваемая система на ARM



