ЭУМК по дисциплине "Проектирование проблемно-ориентированных вычислительных средств" › Теория › Тема 3. Операционное устройство процессоров платформы с5000

# Электронный учебно-методический
комплекс по дисциплине
"Проектирование проблемно-ориентированных вычислительных средств"

для специальности

1-40 02 02 «Электронные вычислительные средства»

Оглавление | Программа | Теория | Практика | Контроль знаний | Об авторах

3.6. Аккумуляторы, их загрузка, сохранение и сдвиги
3.6.1. Аккумуляторы, как регистры, отображаемые на память

Аккумуляторы A и B используются в качестве приемников результата при работе умножителя и АЛУ. Каждый аккумулятор разбивается на 3 части (регистры с отображением на память) как показано на рис. 3.13.

######

######

###### Рисунок 3.13 – Аккумуляторы А и В

AG, BG, AH, BH, AL и BL – регистры с отображением на память, которые могут быть сохранены в стеке и восстановлены командами PSHM и POPM.
3.6.2. Сохранение аккумуляторов

Вы можете сохранить содержимое аккумуляторов в память с помощью команд STH, STL, STLM, DST и SACCD. При сохранении со сдвигом в память сохраняется старшая или младшая часть аккумулятора после выполнения сдвига (при этом состояние самих аккумуляторов не меняется).
Следующий пример показывает результат действия команд сохранения, если в аккумуляторе А находится число 0FF 4321 1234h.

STH A,8,TEMP ; TEMP = 2112h
STH A,-8,TEMP ; TEMP = FF43h
STL A,8,TEMP ; TEMP = 3400h
STL A,-8,TEMP ; TEMP = 2112h

3.6.3. Режим насыщения при сохранении

Режим насыщения при сохранении в процессоре TMS320VC5402 задается битом SST в регистре PMST.

Бит SST в регистре PMST задает режим насыщения при записи аккумулятора в память. Данный режим используется в следующих командах:
STH ST || ADD ST || MPY
STL ST || LD ST || SUB
STLM ST || MAC[R]
DST ST || MAS[R]
Пример использования бита SST
STH A, -4, *AR1+; SXM = 1, SST = 1

|  | До команды |  |  |  | После команды
A |  | 7FFFFF0000h |  | A |  | 7FFFFF0000h
AR1 |  | 100h |  | AR1 |  | 101h
Память Данных |  |  |  | Память Данных |  |
100h |  | 5555h |  | 100h |  | 7FFFh

DST B, *AR3-; SXM = 0, SST = 1

|  | До команды |  |  |  | После команды
B |  | 8FFFFF0000h |  | B |  | 8FFFFF0000h
AR3 |  | 103h |  | AR1 |  | 101h
Память Данных |  |  |  | Память Данных |  |
102h |  | 1234h |  | 102h |  | FFFFh
103h |  | 5678h |  | 103h |  | FFFFh

3.6.4. Сдвигатель

Циклический сдвигатель позволяет выполнять следующие действия:

- Предварительное масштабирование входного операнда из памяти данных перед операцией в АЛУ
- Выполнение арифметического или логического сдвига аккумулятора
- Нормализация аккумулятора
- Масштабирование при записи содержимого аккумулятора в память

40-битный сдвигатель подключается следующим образом (рис. 3.14):

######

###### Рисунок 3.14 – Функциональная схема сдвигателя

- Вход подключается к:

- Шине DB для 16-битного входного операнда
- Шине DB и CB для 32-битного входного операнда
- К одному из двух 40-битных аккумуляторов

- Выход подключается к:

- К одному из входов АЛУ
- К шине EB через устройство выбора MSW/LSW

Следующие команды выполняют различного типа сдвиги содержимого аккумулятора через бит С:

SFTA (арифметический сдвиг)
SFTL (логический сдвиг)
SFTC (условный сдвиг)
ROL (циклический сдвиг влево)
ROR (циклический сдвиг вправо)
ROLTC (циклический сдвиг влево через TC

Оглавление | Программа | Теория| Практика | Контроль знаний | Об авторах
© БГУИР , 2012