Файл: Семейство микроконтроллеров MSP430X1XX, руководство пользователя (2004).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.06.2025

Просмотров: 2800

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

16-разрядное RISC CPU

Раздел III.

MSP430x1xxFamily

MSP430x1xxFamily

16-разрядное RISC CPU

В этом разделе описывается ЦПУ MSP430, режимы адресации и набор команд.

3.1. Введение в ЦПУ

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

ЦПУ обладает следующими возможностями:

RISC-архитектура с 27 командами и 7 режимами адресации;

Ортогональная архитектура, при которой каждая команда пригодна для каждого режима адресации;

Полный доступ ко всем регистрам, включая программный счетчик, регистры статуса и указатель стека;

Однотактные регистровые операции;

Большой 16-разрядные регистровый файл, уменьшающий количество обращений к памяти;

16-разрядная адресная шина, обеспечивающая прямой доступ и ветвление во всем диапазоне памяти;

16-разрядная шина данных, позволяющая напрямую манипулировать параметрами шириной в слово;

Генератор констант немедленно предоставляет шесть используемых наиболее часто значений, уменьшая размер кода;

Прямой обмен между ячейками памяти без промежуточной записи в регистр;

Команды и адресация в форматах «слово» и «байт».

Блок-схема ЦПУ показана на рис. 3.1.

3.2. Регистры ЦПУ

ЦПУ включает шестнадцать 16-разрядных регистров. Регистры R0, R1, R2 и R3 имеют специальное назначение. Регистры с R4 по R15 являются рабочими регистрами общего назначения.

3.2.1. Программный счетчик (PC)

16-разрядный программный счетчик (PC/R0) указывает на следующую команду, которая будет выполняться. Каждая команда состоит из четного числа

38

Библиотека Компэла


Раздел III.

16-разрядное RISC CPU

MAB

Рис. 3-1. Блок-схема ЦПУ

Библиотека Компэла

39

MSP430x1xxFamily

байтов (два, четыре или шесть), поэтому PC инкрементируется соответственно. Команды доступа в адресном пространстве 64 кБайт выполняются к границам слов, поэтому PC выравнивается к четным адресам. На рис. 3.2 показана организация программного счетчика.

Рис. 3-2. Программный счетчик

Программный счетчик PC может быть адресован всеми командами и во всех адресных режимах. Некоторые примеры:

MOV

#LABEL, PC

;Переход к адресу с меткой LABEL

MOV

LABEL, PC

;Переход к адресу, содержащемуся в пере-

менной LABEL

MOV

@R14, PC

;Косвенный переход по косвенному содер-

жимому R14

3.2.2. Указатель стека (SP)

Указатель стека (SP/R1) используется ЦПУ для хранения адресов возврата из подпрограмм и прерываний. Стек основан на предекрементной постинкрементной схеме. Кроме того, указатель стека SP может использоваться со всеми командами и во всех адресных режимах. На рис. 3.3 показана организация SP. Указатель стека SP инициализируется в ОЗУ пользователем и выравнивается к четным адресам.

Рис. 3-3. Указатель стека

MOV

2(SP),R6

;Элемент стека I2 в R6

MOV

R7,0(SP)

;Перезапись в вершину стека (TOS) содер-

жимого R7

PUSH

#0123h

;Помещение числа 0123h на вершину стека

(TOS)

POP

R8

;R8 = 0123h

Особенности использования «SP» в качестве аргумента команд PUSH и POP описаны и показаны на рис. 3.5.

40

Библиотека Компэла


Раздел III.

16-разрядное RISC CPU

Рис. 3-4. Использование стека

Рис. 3-5. Последовательность PUSH SP – POP SP

Указатель стека изменяется после выполнения команды PUSH SP.

Указатель стека не изменяется после команды POP SP. Команда POP SP помещает SP1 в указатель стека SP (SP2=SP1).

3.2.3. Регистр статуса (SR)

Регистр статуса (SR/R2), используемый как регистр источника или получателя, может адресоваться в регистровом режиме только с помощью командслов. Прочие комбинации режимов адресации используются для поддержки генератора констант. На рис. 3.6 показаны биты регистра статуса SR.

Рис. 3-6. Биты регистра статуса

Библиотека Компэла

41


MSP430x1xxFamily

В таблице 3.1 приведено описание битов регистра статуса.

Таблица 3.1. Описание битов регистра статуса

Бит

Описание

Бит переполнения.

Этот бит устанавливается, если результат арифметической операции имеет пере-

полнение в области знаковых переменных.

ADD(.B),

Устанавливается, когда:

Положительный + Положительный = Отрицательный

V

ADDC(.B)

Отрицательный + Отрицательный = Положительный

в противном случае сбрасывается

SUB(.B),

Устанавливается, когда:

Положительный – Отрицательный = Отрицательный

SUBC(.B),

Отрицательный – Положительный = Позитивный

CMP(.B)

в противном случае сбрасывается

SCG1

Системный тактовый генератор 1.

Когда этот бит установлен, SMCLK выключен.

Системный тактовый генератор 0.

SCG0

Когда этот бит установлен, генератор DCO выключен, если DCOCLK не используется

для MCLK или SMCLK.

Выключение осциллятора.

OSCOFF

Когда этот бит установлен, осциллятор LFXT1, использующий кристалл, выключен,

если LFXT1CLK не используется для MCLK или SMCLK.

CPUOFF

Выключение ЦПУ.

Когда этот бит установлен, ЦПУ выключено.

Общий бит разрешения прерываний.

GIE

Когда этот бит установлен, маскируемые прерывания разрешены. Когда сброшен,

все маскируемые прерывания запрещены.

Бит отрицательного результата.

Этот бит устанавливается, когда результат операции с байтом или словом отрица-

тельный и сбрасывается, когда результат не отрицательный.

N

Операции со словами:

N устанавливается по значению бита 15 результата

Операции с байтами:

N устанавливается по значению бита 7 результата

Бит нуля.

Z

Этот бит устанавливается, когда результат операции с байтом или словом равен «0»

и очищается, если результат не равен «0».

Бит переноса.

CЭтот бит устанавливается, когда результат операции с байтом или словом имеет перенос и очищается, когда переноса нет.

42

Библиотека Компэла