- •Вопросы:
- •Часть I.
- •Часть II.
- •Часть III.
- •Часть I.
- •1.1. Алгебра логики, алгебра Буля. Основные аксиомы.
- •1.2. Законы алгебры Буля. Дистрибутивный, коммутативный, ассоциативный.
- •1.3. Законы алгебры Буля. Поглощения, двойного отрицания, исключения.
- •1.4. Законы алгебры Буля. Де Моргана, идемпотентности.
- •1.5. Условное графическое обозначение логических элементов (стандарты).
- •1.6. Способы минимизации логических функций. Правило составления карты Карно.
- •1.7. Способы минимизации логических функций. Правило составления диаграммы Вейча.
- •1.8. Комбинационная схема. Функция дешифратора.
- •1.9. Комбинационная схема. Функция шифратора.
- •1.10. Комбинационная схема. Функция мультиплексора.
- •1.11. Комбинационная схема. Функция демультиплексора.
- •1.12. Триггеры. Типы триггеров. Классификация Триггеров.
- •1.13. Регистры. Счетчики. Разновидность.
- •1.14. Архитектура Микроконтроллера. Структура типовой эвм.
- •1.15. Тактовая частота микроконтроллера. Изменения тактовой частоты.
- •1.16. Регистры общего назначения в микроконтроллерах.
- •1.17. Регистр признаков. Распиновка битов.
- •1.18. Регистры специального назначения. Регистр Программный счетчик.
- •1.19. Регистры специального назначения. Регистр указатель Стека.
- •1.20. Регистры специального назначения. Таймеры.
- •1.22. Регистры специального назначения. Ацп и цап.
- •1.23. Виды памяти в микроконтроллерах.
- •1.24. Преобразование последовательного кода в параллельный.
- •1.25. Преобразование параллельного кода в последовательный.
- •1.26. Язык Ассемблера. Синтаксис. Мнемокод.
- •1.27. Арифметические команды. Принцип работы.
- •1.28. Логические команды. Принцип работы.
- •Xor получатель, источник
- •1.29. Команды вызова подпрограммы, особенности.
- •1.30. Команды переходов в программе, особенности.
- •Часть II.
- •2.1. Доказать следующие законы: дистрибутивный, поглощения.
- •2.14. Реализовать rs триггер на элементах и-не.
- •2.15. Реализовать синхронный rs триггер.
- •2.16. Реализовать d триггер через rs.
- •2.17. Реализовать т триггер через rs.
- •2.18. Реализовать j-k триггер через rs.
- •2.19. Счетчик на j-k триггерах.
1.14. Архитектура Микроконтроллера. Структура типовой эвм.
https://www.youtube.com/watch?v=8V1DohH-d3Q
Основное назначение ядра процессора - это обеспечение правильного выполнения программы. Поэтому процессор должен быть в состоянии получать доступ к памяти, выполнять расчёты, управлять периферией и обрабатывать прерывания. (То, что вы видите на рисунке, это и есть ядро процессора).
Инструкции программы в памяти (блок Flash Program Memory, далее - FPM) выполняются с одноуровневой конвейеризацией. Пока одна инструкция выполняется, следующая инструкция программы предварительно считывается из памяти (из FPM). Эта концепция позволяет инструкции выполняться за один такт. Память программы (блок FPM) в системе - это перепрограммируемая флэш-память.
Блок регистров содержит 32 восьмиразрядных регистра общего назначения (далее - РОН) с быстрым доступом (на рисунке это 32 х 8 General Purpose Registrers). Доступ к регистру выполняется за один такт. Это позволяет арифметико-логическому устройству (АЛУ) - Arithmetic Logic Unit (ALU) также выполнять операции за один такт. В общем случае при выполнении операции АЛУ два операнда берутся из файлового регистра (Register File), выполняется операция, а результат записывается обратно в файловый регистр. И всё это за один такт.
Шесть из 32 регистров могут использоваться как 16-разрядные регистры косвенной адресации для указания на область адресов данных, обеспечивая эффективное вычисление адреса. На рисунке это показано стрелкой с надписью Indirect address (косвенная адресация). То есть 6 из 32 регистров общего назначения можно использовать как указатели адреса для доступа к данным в области Data SRAM.
Один из этих указателей адреса можно также использовать как указатель адреса для просмотра таблиц в программной памяти (FPM). Эти дополнительные функциональные регистры, которые являются 16-разрядными регистрами X-, Y- и Z-, будут описаны далее.
АЛУ поддерживает арифметические и логические операции между регистрами или между константой и регистром. Операция с одним регистром также может быть выполнена в АЛУ. После арифметической операции регистр состояния (Status Register) обновляется для отображения сведений о результате операции.
Выполнение программы обеспечивается условными и безусловными переходами и вызовами инструкций, способными непосредственно обращаться ко всему пространству адресов. Большинство инструкций AVR имеют формат одиночного 16-разрядного слова. Каждый адрес памяти программы содержит 16-или 32-разрядную инструкцию.
При генерации прерывания и вызове подпрограмм адрес возврата счетчика команд (Program Counter, сокращённо PC) сохраняется в стеке. Стек эффективно распределяется среди общих данных в SRAM, и, следовательно, размер стека ограничивается только общим размером SRAM и использованием SRAM. Все пользовательские программы должны инициализировать SP в подпрограмме сброса (перед выполнением подпрограмм или прерываний). Указатель стека (Stack Pointer, сокращённо SP) доступен для чтения и записи в пространстве ввода-вывода. К статическому ОЗУ данных можно легко получить доступ через пять различных режимов адресации архитектуры AVR.
Всё пространство памяти в архитектуре AVR является линейным и представляет собой обычные таблицы памяти.
Гибкий модуль прерываний содержит свои управляющие регистры в пространстве ввода-вывода (I/O space) с дополнительным битом глобального разрешения прерываний (Global Interrupt Enable) в регистре статуса (Status Register). Все прерывания имеют отдельный вектор прерываний (Interrupt Vector) в таблице векторов прерываний (Interrupt Vector table). Прерывания имеют приоритет в соответствии с их положением в таблице векторов прерываний. Чем ниже адрес вектора прерывания, тем выше приоритет.
Пространство памяти ввода-вывода содержит 64 адреса для периферийных функций центрального процессора (CPU) в качестве регистров управления (Control Registers), SPI и других функций ввода-вывода. Память ввода-вывода может быть доступна непосредственно, или как размещение пространства данных (Data Space), находящееся за регистром файла (Register File), 0x20 - 0x5F.
