Архитектура процессоров SHARC не допускает появления "бутылочного горлышка" при работе процессора, возникающих вследствие несоответствия между производительностью ядра, пропускной способностью процессора ввода-вывода, объемом встроенной памяти и набором встроенных периферийных устройств, как показано на рис. 7.30. Ядро поддерживает работу с 32-разрядными данными с плавающей и фиксированной точкой. Память вносит свой вклад в сбалансированность архитектуры своим большим размером и наличием двух портов. Ядро может осуществлять доступ через один порт, другой порт может использоваться для передачи данных процессором ввода-вывода. Процессор ввода-вывода передает данные между периферийными устройствами и внутренней памятью, используя DMA, без вмешательства процессорного ядра. Такая передача происходит одновременно с операциями, выполняемыми ядром процессора.
Процессор ADSP-21160 — первый представитель второго поколения 32-разрядных DSP компании Analog Devices. Архитектура его ядра показана на рис. 7.33.
Обратите внимание, что данная архитектура очень похожа на архитектуру ядра процессоров семейства ADSP-2106x, за исключением ширины шин и второго вычислительного блока с собственным умножителем, АЛУ, устройством сдвига и регистровым файлом. Такая архитектура носит название SIMD (одна инструкция — двойной набор данных) в противоположность архитектуре SISD (одна инструкция — один набор данных). Наличие второго вычислительного блока позволяет DSP обрабатывать два потока данных параллельно. Ядро может работать со скоростью до 100 MIPS. Работая на тактовой частоте 100 МГц, ядро свободно выполняет 400 MFLOPS (400 миллионов операций с плавающей точкой в секунду), а максимальное число операций может доходить до 600 MFLOPS. Архитектура SIMD является естественным шагом на пути повышения производительности DSP компании Analog Devices. Поскольку базовая архитектура DSP компании Analog Devices позволяет работать с двойным набором операндов, добавление второго вычислительного блока способствует обработке этого набора. Переход к архитектуре, построенной по принципу SIMD, позволяет получать новые, более производительные процессоры, сохраняя при этом программную совместимость с процессорами предыдущих поколений.
Архитектура SIMD процессора семейства ADSP-2116х включает в себя два вычислительных блока (РЕх, РЕу) и шины данных с удвоенным размером слова (DMD и PMD). Первый вычислительный блок РЕх всегда находится во включенном состоянии. Второй вычислительный блок РЕу может быть включен путем установки соответствующего бита в регистре управления. Шины данных удвоенной ширины обеспечивают каждый вычислительный блок собственным набором данных в каждом машинном цикле. При включенном режиме SIMD каждый вычислительный блок выполняет одну и ту же команду в каждом цикле (что соответствует первой части названия архитектуры "одна инструкция"), но при этом каждый вычислительный блок оперирует своим набором данных (что соответствует второй части названия архитектуры "двойной набор данных"). Использование архитектуры SIMD позволяет повысить эффективность вычислений при выполнении алгоритмов, которые могут быть оптимизированы путем разделения обрабатываемых данных на два параллельных потока. Для многих алгоритмов использование второго вычислительного блока уменьшает время, необходимое для выполнения программы, в два раза по сравнению с реализацией, использующей подход SISD.
КЛЮЧЕВЫЕ ОСОБЕННОСТИ ПРОЦЕССОРА SHARC ADSP-21160
• SIMD-архитектура (одна инструкция — много данных)
• Программная совместимость с процессорами семейства ADSP-2106x
• Ядро на 100 МГц / пиковая производительность 600 MFLOPS
• Тот же набор периферийных устройств, что и у процессоров семейства ADSP-2106X