Интернет-журнал "Домашняя лаборатория", 2007 №8
Шрифт:
Для передачи данных между вычислительными блоками и шинами данных и для запоминания промежуточных результатов используется регистровый файл общего назначения. Регистровый файл имеет два набора регистров (первичный и альтернативный) каждый из которых включает 16 регистров для быстрого переключения контекста, например, при обработке прерываний. Все регистры являются 40-разрядными. Наличие регистрового файла общего назначения и гарвардская архитектура ядра процессора позволяют осуществлять без ограничений перемещение данных между вычислительными блоками процессора и внутренней памятью.
Процессор SHARC семейства ADSP-2106x
Устройство управления выполнением команд включает в себя КЭШ-память инструкций глубиной в 32 слова, которая позволяет производить выборку двух операндов и кода команды в одном машинном цикле. Занесение инструкций в КЭШ-память носит избирательный характер: в память заносятся только те команды, которые требуют двух операндов при выполнении выборки из памяти. Такая организация устройства управления выполнением команд позволяет производить умножение с накоплением и выполнение базовой операции "бабочка" при БПФ с весьма высокой скоростью.
КЛЮЧЕВЫЕ ОСОБЕННОСТИ ПРОЦЕССОРА SHARC
• 100МГц ядро / пиковая производительность 300 MFLOPS
• Параллельная работа: умножителя, АЛУ, двух генераторов адреса (DAG) и секвенсера
? Отсутствует арифметический конвейер; все вычисления — за один цикл
• Высокая точность и расширенный динамический диапазон
? 32/40-разрядный формат IEEE с плавающей точкой
? 32-разрядное умножение с фиксированной точкой с 64-разрядным результатом и накоплением в 80-разрядном аккумуляторе
• Обмен с двухпортовой памятью осуществляется за один цикл
? Осуществляется с помощью кэш-памяти и улучшенной Гарвардской архитектуры
• Возможность организации многопроцессорной системы без дополнительных микросхем
• Наличие порта JTAG для тестирования и эмуляции
• Контроллер DMA, последовательные порты, порты связи, внешняя шина, контроллер динамической памяти, таймеры
Рис. 7.31
SHARC® — ЛИДЕР СРЕДИ DSP С ПЛАВАЮЩЕЙ ТОЧКОЙ
• SHARC фактически является стандартом для многопроцессорных систем
• ADSP-21160 — это укрепление лидирующей позиции процессоров SHARC в области многопроцессорных систем ЦОС
• ADSP-21065L — это правильный выбор среди недорогих DSP-процессоров с плавающей точкой
СУПЕР ГАРВАРДСКАЯ АРХИТЕКТУРА:
Сбалансированные память, средства ввода-вывода и вычислительная мощь.
• Высокопроизводительный вычислительный блок
• Наличие четырех шин для:
? Выборки следующей команды
? Доступа к двум значениям данных
? Осуществления DMA для ввода/вывода
• Эффективная организация памяти
• DMA не замедляет работу
Рис. 7.32
Процессоры семейства ADSP-2106x выполняют все команды за один цикл синхронизации. Процессоры поддерживают 32-разрядный формат IEEE с плавающей точкой, 32-разрядный целочисленный и дробный форматы с фиксированной точкой (дополнительный код и беззнаковый формат) и 40-разрядный формат IEEE с плавающей точкой с повышенной точностью. Процессоры поддерживают
повышенную точность во всех своих вычислительных блоках, минимизируя ошибки промежуточного округления. При работе с данными внутри кристалла 32-разрядная мантисса расширенной точности может пересылаться между всеми вычислительными блоками. 40-разрядная шина данных может выводиться и за пределы кристалла, если существует такая необходимость. При работе с числами, представленными в формате с фиксированной точкой, используется 80-разрядный аккумулятор, который позволяет без ограничений производить вычисления с 32-разрядными числами с фиксированной точкой.Процессоры семейства ADSP-2106x построены по супергарвардской архитектуре, предполагающей наличие 10-портового регистрового файла данных. В каждом цикле синхронизации регистровый файл может поддерживать следующие операции: (1) два операнда могут записываться и считываться из регистрового файла, (2) два операнда могут подаваться на АЛУ, (3) два операнда могут подаваться на умножитель и (4) два результата могут быть получены от АЛУ и умножителя.
Система команд процессоров семейства ADSP-2106x обеспечивает большие возможности для программирования. Многофункциональные команды позволяют производить вычисления параллельно с пересылкой данных, а также умножение одновременно с арифметическими операциями в АЛУ.
Представитель семейства ADSP-2106X — процессор ADSP-21060 — содержит 4 Мбита SRAM, организованных в виде двух блоков по 2 Мбита каждый, которые могут быть сконфигурированы для хранения различных комбинаций программных модулей и модулей данных. Такие представители семейства, как ADSP-21062, ADSP-21061 и ADSP-21065, содержат по 2 Мбита, 1Мбиту и 544 Кбит SRAM соответственно. Каждый блок памяти имеет по два порта, предназначенных для независимого одновременного доступа к памяти со стороны процессорного ядра и со стороны процессора ввода-вывода или контроллера DMA. Двухпортовая память и набор независимых шин на кристалле позволяют за один цикл синхронизации осуществлять передачу в память или из памяти данных от процессорного ядра и от контроллера ввода-вывода или контроллера DMA.
Поскольку в каждом блоке памяти может храниться комбинация кодов и данных, работа с памятью становится более эффективной, если для обращения к одному блоку применяется шина программ, а для обращения к другому блоку используется шина данных. Наличие двух шин — программ и данных, — каждая из которых используется для доступа к одному из блоков памяти, позволяет производить вычисления с передачей двух операндов в одном цикле синхронизации. В этом случае код команды должен присутствовать в Кэшпамяти инструкций. Вычисления производятся за один цикл даже тогда, когда один из операндов находится во внешней памяти и передается на кристалл процессора или с кристалла процессора через внешний порт.
Внешний порт процессоров семейства ADSP-2106x обеспечивает интерфейс между процессором, внешней памятью и периферийными устройствами. Адресное пространство внешней памяти размером 4 Г слов включено в унифицированное адресное пространство процессоров семейства ADSP-2106x. Отдельные шины внутри кристалла, служащие для адресации памяти программ, передачи данных из памяти программ, адресации памяти данных, передачи данных из памяти данных, адресации шины ввода/вывода и передачи данных шины ввода/вывода мультиплексируются во внешнем порту образуя внешнюю унифицированную системную шину, с единой 32-разрядной шиной адреса и единой 48-разрядной шиной данных. Процессоры семейства ADSP-2106x обеспечивают возможность введения тактов ожидания и анализа готовности памяти для организации интерфейса с динамической памятью и с периферийными устройствами при различных требованиях к времени доступа и другим параметрам цикла шины.