Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Состав регистрового файла на примере AVR-контроллера.

Основные функции и структура арифметико-логического устройства (АЛУ)

Состав регистрового файла на примере AVR-контроллера.

 

АЛУ – это комбинационный цифровой автомат, имеющий два входа и один выход. АЛУ выполняет арифметические и логические операции с двумя входными сигналами, каждый из которых представляет собой набор из 8-ми двоичных разрядов.

Возможность проводить все вычисления на основе только арифметических (ADD +, SUB -) и логических (NOT, OR, AND, XOR, Left Shift, Right Shift, и т.д.) операций позволяет резко упростить схему микропроцессора.

В качестве примера, операция сдвига влево всех бит одного байта – соответствует умножению на 2. Соответственно сдвиг вправо – соответствует делению на 2.

Умножение на произвольное число выполняется комбинациями сдвига влево и сложением промежуточных результатов (аналогично умножению столбиком). Деление на произвольное число выполняется аналогично делению столбиком, с использованием операций умножения, вычитания.

Регистром является устройство для хранения 8-ми разрядного двоичного числа. Оно состоит из восьми триггеров, каждый из которых может хранить один двоичный разряд.

Первая подобласть состоит из 32 регистров, которые имеют двоякую адресацию: по имени регистра (R0-R31) или по ее числовому адресу ( или от до ). Они используются для оперативного хранения результатов промежуточных вычислений.

3.2. Следующей подобластью ОЗУ являются регистры ввода/вывода, предназначенные для обмена информацией с периферийными устройствами (таймеры, компараторы, АЦП, порты дискретного ввода/вывода информации). Регистры ввода/вывода также как и регистры имеют двойную адресацию: по имени регистра ввода/вывода и по его числовому адресу. Числовой адрес регистра ввода/вывода также имеет двойное представление. Если регистр ввода/вывода используется в командах in или out, то адреса регистров ввода/вывода находятся в диапазоне с по или с по . Эти команды принадлежат к группе команд передачи данных. Если к регистрам ввода/вывода обращаются другие команды языка ассемблера, то используется адресация в диапазоне от до или от до .

Содержимое регистров и регистров ввода/вывода, определенное их именами, мы можем наблюдать в окне «Workspace». В этом окне приведена также двойная числовая адресация регистров ввода/вывода. Содержимое регистров и регистров ввода/вывода, определенное их числовыми адресами, мы можем наблюдать в окнах Memory, Register, I/O.

Область «Data». В этой области расположены ячейки памяти ОЗУ, которые используются для оперативного хранения результатов промежуточных операций. Эти ячейки имеют лишь числовую адресацию. Адрес младшей ячейки этой области или , размер этой области определяется типом контроллера.

При работе в пакете AVR Studio при установке курсора на любую ячейку памяти ОЗУ появляется всплывающая «подсказка», в которой расположено 4 элемента, разделенных знаком двоеточие. Слева от двоеточия стоит адрес ячейки памяти в 16-ой системе исчисления, а справа – содержимое ячейки памяти в 16-ой, 10-ой, 2-ой системах исчисления.

Регистровый файл AVR-контроллера состоит из 32 однобайтных регистров, имеющих имена R0-R31 и сквозные адреса в пространстве ОЗУ 0-31. Шесть регистров R26-R27, R28-R29, R30-R31 выступают как парные адресные регистры X, Y, Z. Они могут работать как в паре, так и независимо. Эти парные регистры предназначены для хранения адресов ячеек памяти.

Регистр РС - программный счетчик, хранит двухбайтный адрес ячейки памяти, где расположен первый байт команды, которая будет выполняться микропроцессором на следующем шаге. Пример: при включении микропроцессора РС=0016, после считывания первого байта первой команды, определяется длина команды, которая складывается с содержимым регистра РС. Таким образом, после выполнения команды в регистре РС находится адрес первого байта следующей команды.

Регистр SP – указатель стека предназначен для управления специализированной областью стековой памяти, адресация в которой осуществляется по содержимому регистра SP. Стековая память расположена по старшим адресам области ОЗУ (Область «Data» в пакете «AVRStudio»).

Содержимое регистров PC и SP можно наблюдать в окне Workspace\IO\Processor.

РП – регистр признаков, флаговый регистр, или регистр статуса (Рис. 4, 5). Этот регистр предназначен для хранения результатов контроля выполнения команды. Он состоит из 8 информационных двоичных разрядов.

Регистры ввода-вывода расположены в ОЗУ ниже регистров R0-R31, и занимают 64 байт. Эти регистры используются в качестве буфера при связи микропроцессора с устройствами ввода-вывода.

Например, для порта А имеются три байта, которые обеспечивают связь с портом А:

DDRA=0xFF; // настройка порта А на вывод, FF – это установка в 1 всех битов порта, можно сделать 0b11111111 в бинарной системе. Или задействовать не все, а только лишь часть 0x49, т.е. 0b01001001;

PORTA=0x49; // вывод числа 0x49 на порт А.

R16 = PINA; // чтение состояний ножек порта А.

<== предыдущая лекция | следующая лекция ==>
Состав микропроцессорной системы | Основные биты регистра признаков.




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.