Пр о ц е с с о р TMS 3 2 0C4 x
46
Параллельные инструкции содержат четыре–шесть операндов. При вы-
полнении команды производится считывание всех операндов-источников на
уровне R конвейера (см. п.1.11), выполнение операции и запись в операнды-
приемники - на уровне E. Работу параллельной команды удобно пояснить на
примере.
Пример параллельной команды
MPYF3
∗
AR0++(0),
∗
AR0++(0),R0
||
ADDF3
R0,R2,R2
При выполнении команды содержимое ячейки памяти возводится в квад-
рат и результат записывается в регистр R0, а старое содержимое R0 прибавля-
ется к регистру R2 и результат записывается в R2. На уровне R командного
конвейера считывается содержимое ячейки памяти, адресуемой AR0, и по ши-
нам CPU1 и CPU2 поступает на умножитель. Содержимое регистров R0 и R2 по
шинам REG1 и REG2 поступает на ALU. Выполняется операция в умножителе
и операция сложения в ALU, результаты операций замещают старое содержи-
мое регистров R0 и R2, которое уже использовано. Предположим, что к момен-
ту выполнения команды
∗
AR0 = 5.0 , R0 = 4.0 и R2 = 11.0 После выполнения
команды будем иметь
∗
AR0 = 5.0 , R0 = 25.0 и R2 = 15.0 Список параллельных
команд и краткое описание их выполнения - в прил.
В 10
.
1.11. Конвейер команд
Высокая производительность процессора TMS320C4x обеспечивается
конвейерным выполнением команд и совмещением операций АЛУ и вво-
да/вывода. В системе управления процессора имеется пять функциональных
устройств (четырехуровневый конвейер команд и сопроцессор ПДП):
•
устройство выборки (F)
выбирает слово инструкции из памяти и изменяет
программный счетчик PC;
•
устройство декодирования (D)
декодирует инструкцию и выполняет гене-
рацию адреса операндов, управляет модификацией вспомогательных регист-
ров ARn в косвенных методах адресации и модификацией указателя стека SP
в операциях PUSH/POP;
•
устройство чтения (R)
считывает операнды из памяти, если этого требует
команда;
•
устройство выполнения (E),
если требуется, считывает операнды из регист-
рового файла, выполняет операцию и записывает результат в регистровый
файл, при необходимости, результат предыдущей операции записывается в
память;
•
сопроцессор ПДП (DMA)
выполняет операции считывания/записи памяти
(операции ввода/вывода).
При выполнении команды процессором реализуется четырехуровневый
конвейер, что иллюстрируется примером , где
W, X, Y, Z
- произвольные коман-
ды; F, D, R, E - функциональные (или операционные) устройства конвейера.