Параллельный умножитель 16-разрядных чисел состоит из трех узлов: входного регистра Т, регистра произведения Р и матричного умножителя. Чтобы использовать умножитель, сначала необходимо загрузить множимое в регистр Т из памяти данных, а затем выполнить команду умножения, при этом в качестве множителя может быть число из ОЗУ данных или константа, извлекаемая из команды непосредственного умножения.
Процессор содержит два устройства сдвига: быстродействующее устройство последовательного сдвига для пересылки слов из ОЗУ данных в АЛУ, позволяющее получить сдвиг влево на 0…15 разрядов, и параллельное сдвигающее устройство для пересылки данных из аккумулятора в ОЗУ данных со сдвигом влево на 0, 1, 4 разряда.
Используются два способа адресации памяти данных: прямой и косвенный. Для формирования адреса ячейки памяти при прямой адресации семь младших разрядов слова команды объединяются с содержимым указателя страницы (DP) памяти данных, т.е. реализуется следующая схема разделения памяти на страницы:
DP Номера ячеек памяти
0 0…127
1 128…144
В режиме косвенной адресации в качестве адреса памяти данных используются восемь младших разрядов одного из вспомогательных регистров (AR0 или AR1), при этом нет необходимости разделения памяти данных на страницы. Текущий вспомогательный регистр выбирается с помощью указателя вспомогательного регистра ARP. При выполнении любой команды с косвенной адресацией вспомогательный регистры можно установить в режим автоинкремента/автодекремента (увеличить/уменьшить значение вспомогательного регистра на 1), а также изменить содержимое указателя вспомогательного регистра (ARP). Содержимое вспомогательного регистра и ARP изменяются после окончания выполнения текущей команды.
Вспомогательные регистры могут быть использованы для выполнения трех функций: временного хранения данных, косвенной адресации памяти данных и для управления циклами, для чего существует команда перехода по ненулевому состоянию вспомогательного регистра.
Программный счетчик (РС) и стек предоставляют возможность пользователю организовать переходы, вызовы подпрограмм, прерывания. Программный счетчик представляет собой 12-разрядный регистр, содержащий текущий адрес ячейки программной памяти, в которой записана команда, выполняемая следующей. После подачи сигнала «Сброс» на вход программный счетчик обнуляется. Стек представляет собой четыре 12-разрядных регистра, что определяет глубину вложений подпрограмм не более четырех. Система команд позволяет при необходимости расширить емкость стека за счет ОЗУ данных.
Система команд
Основные команды TMS 32010 приведены в приложении 4.
Формат команд с прямой адресацией:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Код операции 0 Прямой адрес памяти
Седьмой разряд (Р7=0) определяет режим прямой адресации
Формат команд с косвенной адресацией:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Код операции 1 0 INC DEC APR 0 0 APR
Седьмой разряд (Р7 = 1) определяет режим косвенной адресации. В разрядах 6 –0 содержатся биты управления косвенной адресацией.
Если третий разряд нулевой (Р3=0), то содержимое нулевого разряда (Р0) загружается в АКЗ. Если в третьем разряде содержится единица (Р3=1), то содержимое ARP остается прежним. Если в пятом разряде содержится единица (Р5=1), то содержимое текущего вспомогательного регистра увеличивается на единицу после выполнения текущей команды. Если Р4=1, то содержимое текущего вспомогательного регистра уменьшится на единицу. Если в четвертом и пятом разрядах нули. То операции инкремента/декремента не выполняются. Разряды 6, 2, 1 являются резервными и должны всегда содержать нули. Прямая и косвенная адресации могут быть использованы со всеми командами, использующими операнды данных, за исключением команд, обрабатывающих непосредственные операнды. Существуют четыре команды, использующие непосредственные операнды (LDPK, LARK, MPYK и LACK). Эти команды извлекают операнд непосредственно из кода команды.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.