Развитие техники, перефразируя известный тезис, идет по спирали. Так и фирма ARM, разработавшая процессорное семейство ARM7 Thumb с базовым ядром, соответствующими макрокомпонентами и синтезируемым ядром, сделала очередной виток, расширив семейство ARM9 Thumb приборами с новым качеством - ядром ARM9E и реализованными на его основе макроядрами ARM946E и ARM966E. Процессорное ядро ARM9E - это процессор ARM9TDMI™, расширенный DSP возможностями и предназначенный для таких применений, в которых необходимо сочетание возможностей микроконтроллера и DSP. Использование совмещенного однопроцессорного решения позволяет существенно упростить кристалл, уменьшить его размеры и сократить " время выхода на рынок " конечной продукции.
Новое ядро - это 32-разрядный RISC процессор на базе ядра ARM9TDMI, с системой команд ARM, расширенной новыми командами цифровой обработки сигналов и встроенным блоком, выполняющим операцию 16x32 умножения/аккумулирования (MAC) в течение одного тактового цикла. Ядро является Thumb-ориентированным - работает с Thumb® системой команд, обеспечивающей превосходную плотность кода. В процессор ARM9E встроена EmbeddedICE - RT™ логика, и разработана расширенная версия EmbeddedICE™ JTAG средств отладки программного обеспечения, лучше отвечающая потребностям систем, работающих в реальном масштабе времени.
Основными областями применения ядра могут быть контроллеры HDD, DVD и других устройств массовой памяти; контроллеры устройств распознавания и синтеза речи, средств кодирования и распространения речи по сетям и через Internet; устройства Dolby AC3 и MPEG MP3; персональные информационные устройства (PDA), торговые терминалы, аппаратные и в особенности программные модемы, автомобильная техники и многое другое.
Главная особенность ядра ARM9E - это расширенные DSP возможности:
Операции 16x16 и 32x16 перемножения/аккумулирования (MAC), выполняемые за один тактовый цикл, с добавлением в систему команд процессора новых команд
Дробная арифметика без насыщения, также с добавлением новых команд
Эффективный доступ к 16-разрядным величинам, обеспечивающий использование полной 32-разрядной полосы памяти
Новая команда CLZ улучшает производительность операции деления.
Все эти новые возможности обеспечивают трехкратное увеличение производительности 16-разрядных алгоритмов сервоуправления, вычисляя 10-элементное скалярное произведение за 125 нс, на частоте 160 МГц.
Полностью дуплексный G.732.1 кодер речи использует менее 25% от полной производительности на 160 МГц, оставляя 75% производительности для других приложений.
Совмещенное однопроцессорное решение ядра ARM9E, представляющее сочетание возможностей микроконтроллера и DSP, обеспечивает значительные выгоды, по сравнению с традиционными решениями, в которых используются отдельные DSP и процессор управления.
Уменьшен размер кристалла, снижена его сложность
Исключены средства межпроцессорной связи и синхронизации.
Исключено дублирование ресурсов во встроенных: системе памяти, организации шин, отладке, и трассировке.
Организован быстрый отклик на прерывания и контекстное переключение
Распределение производительности между кодами DSP и контроллера может динамически изменяться, в соответствии с требованиями системы.
Весь код имеет доступ к DSP умножителю и использует преимущества ортогональной RISC архитектуры с линейным 32-разрядным адресным пространством
Понижена сложность программирования
Используется единое унифицированное окружение разработки программного обеспечения и отладки
Расширенная система команд является превосходным объектом для компиляторов C и C++
Существенные выгоды от совмещенного однопроцессорного решения могут получить системы, для которых в разные периоды времени необходимы различные соотношения производительности DSP и контроллера. Примерами могут служить устройства Internet телефонии, которые одним процессором организуют телефонную связь с Internet, работу броузера и программного модема. Вычислительная мощность может динамически распределяться между выполняемыми задачами.
Ядра ARM946E и ARM966E являются макроядрами, реализованными на основе ядра ARM9E и предназначенными для интеграци
Макроядро ARM946E, в котором ядро ARM9E объединено с ассоциативным кэш, буфером записи и устройством защиты памяти, предназначено для встраиваемых применений, работающих с операционными системами реального времени. Архитектура кэш дает возможность разработчикам изменять размер кэш в соответствии с требованиями применения.
Ассоциативный кэш (4 версии объема) - возможность выбора размера кэш позволяет гибко изменить размер кристалла, при изменении размера кэш перепроектирование минимально
Модули защиты обеспечивают разбиение памяти на разделы и контроль атрибутами (кэширование, разрешения доступа) каждого раздела.
Адресное пространство команд и данных может иметь 8 разделов переменного размера.
Сопроцессорный интерфейс, в обеспечение дополнительных функциональных возможностей, тесно связан с ядром процессора.
Буфер записи минимизирует нагрузку системы.
В макроядре ARM966E ядро ARM9E объединено с буфером записи и жестко присоединенной SRAM, и это макроядро ориентировано на применения "действительно реального времени", в которых высокая производительность и малое потребление обеспечиваются без использования кэш. Действительно, существует достаточное количество применений, для которых важны преимущества тесной связи памяти с процессором и достаточно сложная схема кэш в таких применениях будет всего лишь лишним потребителем.
Оба макроядра оснащены AHB AMBA интерфейсом. Шина AMBA используется в качестве каркаса при разработке ASIC и беспроблемно работает со средствами проектирования ведущих в отрасли разработчиков, обеспечивая высокое быстродействие шины и логический синтез для упрощения использования. Макроядра ARM946E и ARM966E сверху вниз совместимы на уровне кодов с процессорами семейств ARM7™ Thumb, ARM9™ Thumb и рядом других процессоров фирмы. Фирма ARM обеспечивает средства проверки правильности, гарантирующие полное согласование архитектуры системы команд ARM и непротиворечивое поведение от всех кремниевых партнеров ARM, предлагая OEM истинные множественные исходные возможности и допуская сильную поддержку третьих поставщиков.
Технические характеристики приборов семейства ARM9E
Ядро CPU | Занимаемая площадь | Количество вентилей (тыс.) | Тактовая частота | Производительность, удельная |
ARM9E 5-уровневый конвейер, интерфейс Гарвардской шины, ARM RISC ядро с Thumb и EmbeddedICE, одноцикловый MAC 32x16 |
2, 7 мм2 при 0, 25 мкм | 75 | 160 МГц при CMOS 0, 25 мкм >200 МГц при CMOS 0, 18 мкм | 1, 1 MIPS/МГц 1, 1 MMAC/МГц |
(характеристики предварительные)
Макроядро | Ядро CPU | Наличие кэш | Количество вентилей (тыс.) | Тактовая частота | Производительность, удельная |
ARM946E кэшированное процессорное макроядро |
ARM9E | 4 варианта емкости | 150 (без RAM) | 160 МГц при CMOS 0, 25 мкм >200 МГц при CMOS 0, 18 мкм | 1, 1 MIPS/МГц 1, 1 MMAC/МГц |
ARM966E процессорное макроядро с тесной связью с памятью |
ARM9E | нет | 90 - 100 (без RAM) | 160 МГц при CMOS 0, 25 мкм >200 МГц при CMOS 0, 18 мкм | 1, 1 MIPS/МГц 1, 1 MMAC/МГц |
Первые реализации макроядер процессоров ARM946E и ARM966E поставляются как синтезируемый RTL код, обеспечивающий быстрый переход к технологиям с различными топологическими нормами и таким новым технологиям как кремний-на-изоляторе. Синтезируемый код позволяет также использовать стандартный поток проектирования ASIC, способствующий сокращению " времени выхода на рынок ".
Кремниевые партнеры фирмы ARM рассчитывают выпустить первые приборы на базе новых макроядер где-то в первом квартале 2000 года. В частности, в августе 1999 года первую лицензию на использование макроядер ARM946E и ARM966E приобрела фирма LSI Logic.