Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
Шаг 2. Переходим от цифровой техники к микропроцессору и микроконтроллеру 61 Рабочие регистры Кроме регистра адреса, любой микропроцессор обязательно имеет несколько рабочих регистров (так называемых регистров общего назна чения). Эти регистры наряду с ячейками памяти предназначены для хра нения промежуточных результатов вычислений. Преимущество внутрен них регистров для хранения данных перед памятью данных — в скорости доступа. При доступе к этим регистрам не нужно указывать адрес, как в случае с доступом к ячейке памяти. Так, команда записи в память состоит минимум из двух байт: кода операции и адреса ячейки памяти. Иногда для записи адреса одной ячейки не хватает. Если шина адреса процессора имеет 16 разрядов, то для адресации ячейки памяти потре буется два байта. Поэтому такая команда будет содержать не менее трех байт. Команды, работающие с внутренними регистрами микропроцес сора, обычно состоят из одного байта. Сам код операции содержит информацию о номере используемого регистра. Чтение и выполнение таких команд происходит гораздо быстрее. Кроме того, внешняя память часто сама имеет меньшее быстро действие, чем процессор. Наличие нескольких внутренних регистров с быстрым доступом позволяет оптимально использовать память. Часто используемые данные стараются помещать в рабочие регистры. Микроконтроллеры серии AVR для хранения программ используют отдельную память, каждая ячейка которой состоит из одного шестнад цатиразрядного слова. То есть каждая команда состоит минимум из двух байт. Эти два байта содержат и код операции, и параметры. Если двух байт не хватает, то добавляется еще два байта. То есть байты всегда чита ются парами. Команды микропроцессора Теперь остановимся подробнее на выполняемых командах. Весь набор команд любого микропроцессора можно разделить на несколько групп. Первая группа — это команды перемещения данных. Повинуясь этим командам, процессор копирует содержимое одной ячейки памяти в другую, копирует информацию из ячейки памяти в один из внутренних регистров либо, наоборот, копирует содержимое регистра в одну из ячеек памяти. Кроме того, данные могут копироваться из одного внутреннего регистра в другой. Следует заметить, что так называемые команды перемещения, по сути, не перемещают данные из ячейки в ячейку, а копируют эти данные. Операция перемещения в цифровой технике бессмысленна. В общепри нятом понимании переместить означает убрать из одного места и поме стить в другое. Но убрать данные из ячейки памяти невозможно!
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==