Ядро процессора

Ядро процессора ADSP_2106x состоит из трех вычислительных устройств, программного автомата, двух генераторов адреса данных, таймера, кэша команд и регистрового файла данных.

1.3.1.1. Вычислительные устройства

Процессор ADSP_2106x содержит три независимых вычислительных устройства: арифметико_логическое устройство (ALU), умножитель с аккумулятором с фиксированной точкой и устройство сдвига. Вычислительные устройства обрабатывают данные в трех форматах: 32_разрядном с фиксированной точкой, 32_разрядном и 40_разрядном с плавающей точкой. Операции с плавающей точкой – одиночной точности стандарта IEEE. 32_разрядный формат с

плавающей точкой соответствует стандарту IEEE, а 40_разрядный формат стандарта IEEE повышенной точности имеет восемь дополнительных младших разрядов мантиссы.

ALU выполняет стандартный набор арифметических и логических операций в форматах и с плавающей, и с фиксированной точкой. Умножитель выполняет умножение с фиксированной и с плавающей точкой, а также операции умножение/сложение и умножение/вычитание с фиксированной точкой.

Устройство сдвига выполняет логические и арифметические сдвиги, операции с битами, внесение поля битов и его извлечение, а также операцию нахождения порядка 32_разрядных операндов.

Вычислительные устройства выполняют операции за один цикл; нет вычислительного конвейера. Они соединяются между собой параллельно. Выход любого устройства может быть входом любого другого в следующем цикле. При многофункциональных вычислениях ALU и умножитель выполняют операции независимо и одновременно.

1.3.1.2. Регистровый файл данных

Файл универсальных регистров данных используется для передачи данных между вычислительными устройствами и шинами данных, а также для хранения промежуточных результатов. Для быстрого контекстного переключения регистровый файл имеет два набора регистров (первичный и дополнительный) по шестнадцать регистров каждый. Все регистры 40_разрядные. Регистровый файл в процессоре обеспечивает непрерывный поток данных между

вычислительными устройствами и внутренней памятью.

1.3.1.3. Программный автомат и генераторы адреса данных

Два специальных генератора адреса и программный автомат обеспечивают адресацию при обращении программы к памяти. Программный автомат и генераторы адреса данных отвечают за выполнение вычислительных операций с максимальной эффективностью, поскольку сами вычислительные устройства занимаются исключительно обработкой данных. При помощи кэша команд процессор ADSP_2106x может одновременно выбирать команду (из кэша) и два операнда данных (из памяти). Генераторы адреса данных позволяют организовывать циклические буферы данных.

Программный автомат выполняет адресацию команд в памяти программы. Он управляет итерациями цикла и поддерживает условные команды. Благодаря внутреннему счетчику цикла и стеку цикла процессор выполняет программу цикла с нулевыми потерями. Не требуется никаких явных команд перехода для организации циклов или декремента и проверки счетчика.

Высокая скорость выполнения команд в процессоре достигается посредством последовательности циклов выборка, декодирование и выполнение. Если бы не имелось цикла декодирования, то при использовании внешней памяти для завершения обращения потребовалось бы больше времени.

Генераторы адреса данных (DAG) обеспечивают адресацию при передаче данных между памятью и регистрами. Два генератора адреса данных позволяют процессору одновременно выводить адреса для двух операндов при выполнении операций считывания или записи. DAG1 генерирует 32_разрядные адреса памяти данных. DAG2 генерирует 24_разрядные адреса памяти программы.

Каждый генератор содержит восемь регистров адреса, восемь регистров модификации и восемь регистров длины. Указатель, используемый для косвенной адресации, может модифицироваться значением определенного регистра перед обращением к памяти (предмодификация) или после обращения к памяти (постмодификация). Регистр длины используется для выполнения автоматической адресации по модулю для циклического буфера данных, причем циклический буфер может размещаться в произвольных границах в памяти.

Каждый регистр DAG имеет дополнительный регистр, который может быть активизирован для быстрого контекстного переключения.

Циклические буферы позволяют эффективно реализовывать линии задержки и другие структуры, которые требуются в цифровой обработке сигнала, и обычно используются в цифровых фильтрах и преобразованиях Фурье. Генераторы автоматически обрабатывают циклический переход указателя адреса, уменьшая затраты, увеличивая производительность и упрощая реализацию.

1.3.1.4. Кэш команд

Программный автомат имеет кэш команд размером 32 слова, который обеспечивает работу с тремя шинами для выборки команды и двух значений данных. Кэш избирателен – кэшируются только те команды, при выборке которых возникает конфликт с обращением к данным памяти программы. Это обуславливает высокое быстродействие при выполнении основных циклических операций типа умножения_накопления в цифровом фильтре и «бабочке» БПФ.

1.3.1.6. Таймер

Программируемый таймер обеспечивает периодическую генерацию прерываний. Когда таймер активизирован, значение 32_разрядного регистра счетчика уменьшается в каждом цикле. Когда значение регистра счетчика достигает нуля, генерируется прерывание и выставляется выходной сигнал TIMEXP. Затем регистр счетчика автоматически перезагружается из 32_разрядного регистра периода, после чего продолжается счет.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: