Главная » Микроконтроллеры
Призовой фонд
на октябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Похожие статьи:


Арифметико-логическое устройство

Арифметико-логическое устройство (АЛУ) выполняет все вычислительные операции в микропроцессорной системе. Непосредственно к АЛУ подключены 32 РОНа (регистровый файл), как показано на рис.8.

Арифметико-логическое устройство
Рис.8 Арифметико-логическое устройство

В большинстве операций любой из этих регистров может использоваться в качестве источника входных данных либо приемника результата. При этом все арифметические и логические команды над РОНми имеют вид подобный add Rd,Rs. За названием мнемоники, которая описывает действие (addition – сложение), следуют два параметра (операнда). В данном случае это регистры  Rd (destination – приемник) и Rs (source – источник),  содержимое которых необходимо сложить между собою. Сумма будет размещена по адресу регистра Rd.

Таким образом, сложить любые два регистра можно двумя разными способами: add R16,R17 (сложить R16 с R17 и поместить сумму в R16) или add R17,R16 (сложить R17 с R16 и поместить сумму в R17). Причем выборка содержимого регистров, сложение и сохранение результата займет всего 1 период тактовой частоты.

Что касается, арифметических и логических действий над регистром и константой, то в целом они подобны действиями между РОНми. Однако в этих целях могут использоваться только старшая половина регистрового файла. Например, в команде вычитания константы из регистра subi Rd,K в качестве Rd могут выступать только регистры R16…R31. 

В состав АЛУ микроконтроллеров семейства ATmega входит также 2-тактный аппаратный умножитель 8x8 бит, который способен работать как с беззнаковыми так и со знаковыми числами представленными в дополнительном коде. Во всех разновидностях операции умножения, 16-разрядное произведение помещается в регистры R1 (старший байт) и R0 (младший байт).

Регистры R26…R31 у AVR имеют двойное предназначение. Они могут быть использованы как три 16-разрядных указателя, которые имеют символьные имена X (XH:XL = R27:R26), Y (YH: YL = R29:R28), Z (ZH: ZL = R31:R30) и применяются для задания адресов ячеек SRAM в различных командах пересылки данных (ld Rd,X/Y/Z, st X/Y/Z,Rd и т.д.). Указатель Z, кроме этого, необходим инструкциям lpm/spm при чтении/записи FLASH-память программ. Регистры X и Y отсутствуют в некоторых устаревших моделях ATtiny.

АЛУ любого микропроцессора неразрывно связано с регистром флагов программы (регистр состояния программы), который у AVR имеет название SREG (Status Register) и расположен в пространстве РВВ. Описание битов SREG приведено в табл.4. Все флаги SREG доступны как для чтения, так и для записи.

Табл.4. Флаги регистра состояния программы SREG:

Номер бита
в регистре

Название флага

Описание

0

C

Флаг переноса. Устанавливается в 1 если в результате операции произошел выход за границы байта.

1

Z

Флаг нуля. Устанавливается в 1 если результат операции равен нулю.

2

N

Флаг отрицательного результата. В этот флаг копируется содержимое 7-мого MSB результата операции.

3

V

Флаг переполнения в дополнительном коде. Устанавливается в 1 при переполнении разрядной сетки знакового результата.

4

S

Флаг знака. Содержимое флага определяется как N XOR V.

5

H

Флаг половинного переноса. Устанавливается в 1 если в результате операции сложения/вычитания произошел перенос/заем из 3-тего бита в 4-тый.

6

T

Флаг хранения копируемого бита. Флаг используется в качестве источника и приемника командами копирования битов bld и bst соответственно.

7

I

Флаг глобального разрешения прерываний. При установке в 1 этого флага происходит разрешение всех немаскируемых прерываний.

Флаг Z является показателем нулевого результата во всех вычислительных операциях. Флаги С и H используются преимущественно для связи байтов в процессе сложения/вычитания (флаг С также в сдвиговых операциях). Биты N,S и V необходимы для знаковых вычислений. Флаг T – источник и приемник в командах копирования битов bld/bst, но может быть использован и как дополнительная ячейка для хранения любой пользовательской информации (флаг пользователя). Последний флаг I, в отличие от всех остальных, не связан с результатами вычислительных операций либо операций пересылок и предназначен для глобального разрешения/запрета прерываний.

Перейти к следующей части:

Теги:

Котов Игорь Юрьевич Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Тестер ESR, полупроводников, резисторов, индуктивностей Конструктор УНЧ 60 Вт на LM3886
вверх