# AVR ассемблер * [Занятие 1 - Архитектура AVR. Устройство АЛУ](https://hackmd.io/@assasinfil/SyNKnAywY) * Занятие 2 - Введение в AVR ассемблер ## Занятие 1 ### Введение В данном курсе мы будем рассматривать отладочную плату arduino nano с чипом atmega328p. Данная плата представляет из себя кусок текстолита с 30 выводами, 6 выводами для программирование при помощи программатор ISP, USB порт через который можно загружать прошивку, если установлен загрузчик. Также на плате имеется 4 светодиода, два для UART (TX/RX), индикатор питания и пользовательский светодиод. ![](https://i.imgur.com/4jqmZhX.jpg) ### Архитектура AVR ![](https://i.imgur.com/4BkOFFB.png) Микроконтроллер состоит из нескольких вычислительных блоков: * **Арифметико-логическое устройство** (АЛУ) (англ. arithmetic logic unit, ALU) — блок процессора, который под управлением устройства управления служит для выполнения арифметических и логических преобразований над данными. * **Блок управления процессором** (УУ) (control unit, CU) — блок, устройство, компонент аппаратного обеспечения компьютеров. Представляет собой конечный дискретный автомат. Структурно устройство управления состоит из: дешифратора команд (операций), регистра команд, узла формирования (вычисления) текущего исполнительного адреса, счётчика команд. УУ современных процессоров обычно реализуются в виде микропрограммного автомата и в этом случае УУ включает в себя ПЗУ микрокоманд. УУ предназначено для формирования сигналов управления для всех блоков машины. * **Сумматорами** называют логические устройства, выполняющие арифметические суммирование кодов двоичного числа Основной из них - это ALU (Арифметико логическое устройство). ![](https://i.imgur.com/yjNn9DG.png) Ниже можно увидеть блок схему устройства микроконтроллера: ![Блок схема архитектуры AVR](https://i.imgur.com/amccZGr.jpg) #### Структура микроконтроллера Микроконтроллер состоит из различных компонентов. Главным из них является транзистор. Это основной элемент из которого строятся логические схемы. ![](https://i.imgur.com/5fGb0z6.jpg) Ток в транзисторе течет от коллектора к эммитеру. Управление транзистором происходит путем подачи тока на базу транзистора. Каждый блок в процессоре состоит из таких транзисторов. #### Логические элементы ![NAND](https://i.imgur.com/YGhxYrI.gif) Из NAND можно собрать остальные логические элементы. Разновидности элементов, составленные из NAND ![](https://i.imgur.com/AHZdFYf.gif) Полусумматор ![](https://i.imgur.com/fHREkqo.png) Полусумматор суммирует 2 бита. На выходе бит результат и бит переполнения. Из полусумматора можно собрать сумматор любой битности. Необходимо подключать выход бита переполнения через логический элемент ИЛИ. Полный сумматор ![](https://i.imgur.com/oUqj0sz.png) ## Домашнее задание Пройти блок Arithmetics полностью на сайте: https://nandgame.com/ ![](https://i.imgur.com/MCs9DtO.png)