Автор: Пользователь скрыл имя, 27 Февраля 2013 в 23:59, реферат
Процессоры ARM поддерживаются многими программными продуктами как самой компании, так и других производителей. Эти продукты образовали солидную инфраструктуру ПО и средств разработки. Среди них - отладчики, компиляторы С++, внутрисхемные эмуляторы, таблицы разработки, операционные системы реального времени, драйверы низкого уровня, а также программные применения высокого уровня. Accelerated Technology, Enea OSE Systems, ISI, JavaSoft, JMI, Microtec, Microsoft, Perihelion, Psion, Wind River и другие компании обеспечивают совместимость своих ОС и средств разработки с процессорами ARM.
Развитие техники, перефразируя известный тезис, идет по спирали. Так и фирма 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 и других
устройств массовой памяти; контроллеры
устройств распознавания и
Главная особенность ядра ARM9E - это расширенные DSP возможности:
Все эти новые возможности обеспечивают трехкратное увеличение производительности 16-разрядных алгоритмов сервоуправления, вычисляя 10-элементное скалярное произведение за 125 нс, на частоте 160 МГц.
Полностью дуплексный G.732.1 кодер речи использует менее 25% от полной производительности на 160 МГц, оставляя 75% производительности для других приложений.
Блок-схема совмещенного однопроцессорного решения ядра ARM9E представлена на Рис.3.
Совмещенное однопроцессорное решение ядра ARM9E, представляющее сочетание возможностей микроконтроллера и DSP, обеспечивает значительные выгоды, по сравнению с традиционными решениями, в которых используются отдельные DSP и процессор управления.
Существенные выгоды от совмещенного однопроцессорного решения могут получить системы, для которых в разные периоды времени необходимы различные соотношения производительности DSP и контроллера. Примерами могут служить устройства Internet телефонии, которые одним процессором организуют телефонную связь с Internet, работу броузера и программного модема. Вычислительная мощность может динамически распределяться между выполняемыми задачами.
Ядра ARM946E и ARM966E являются макроядрами, реализованными на основе ядра ARM9E и предназначенными для интеграции в ASIC, ASSP и приборы класса SOC.
Макроядро ARM946E, в котором ядро ARM9E объединено с ассоциативным кэш, буфером записи и устройством защиты памяти, предназначено для встраиваемых применений, работающих с операционными системами реального времени. Архитектура кэш дает возможность разработчикам изменять размер кэш в соответствии с требованиями применения.
Рис. 4. Блок-схема макроядра ARM946E |
Рис. 5. Блок-схема макроядра ARM966E |
В макроядре ARM966E ядро ARM9E объединено с буфером записи и жестко присоединенной SRAM, и это макроядро ориентировано на применения действительно реального времени, в которых высокая производительность и малое потребление обеспечиваются без использования кэш. Действительно, существует достаточное количество применений, для которых важны преимущества тесной связи памяти с процессором и достаточно сложная схема кэш в таких применениях будет всего лишь лишним потребителем.
Оба макроядра оснащены AHB AMBA интерфейсом. Шина AMBA используется в качестве каркаса при разработке ASIC и беспроблемно работает со средствами проектирования ведущих в отрасли разработчиков, обеспечивая высокое быстродействие шины и логический синтез для упрощения использования. Макроядра ARM946E и ARM966E сверху вниз совместимы на уровне кодов с процессорами семейств ARM7™ Thumb, ARM9™ Thumb и рядом других процессоров фирмы. Фирма ARM обеспечивает средства проверки правильности, гарантирующие полное согласование архитектуры системы команд ARM и непротиворечивое поведение от всех кремниевых партнеров ARM, предлагая OEM истинные множественные исходные возможности и допуская сильную поддержку третьих поставщиков.
Ядро CPU |
Занимаемая площадь |
Количество вентилей (тыс.) |
Тактовая частота |
Производительность, удельная |
ARM9E |
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.
Всего через
год после обнародования
Хотя сведения о процессорах семейства ARM10 Thumb были обнародованы еще в конце 1998 года, эти сведения нельзя считать окончательными, поскольку, как это отмечает фирма ARM, еще продолжаются.
В основе процессоров семейства ARM10 Thumb целочисленное ядро ARM10TDMI(TM), использующее ARM® 32-разрядную RISC систему команд, сжатую 16-разрядную систему команд Thumb и расширенные Multi-ICE средства отладки программного обеспечения. Ядро процессора ARM10TDMI - первая реализация ARMV5T Архитектуры Системы команд (Instruction Set Architecture - ISA). Архитектура ARMV5T - некоторая комбинация архитектуры ARMV4 ISA, используемой StrongARM процессорами (о них разговор еще впереди), и ARMV4T ISA используемой процессорами семейств ARM7 Thumb и ARM9 Thumb.
Ядро ARM10TDMI оснащено пятиуровневым конвейером, реализует параллельное выполнение команд, предсказание переходов и способно продолжать работу при неудачном обращении к кэш, обеспечивая высокую производительность в реальных применениях. Блок-схема конвейера ядра ARM10TDMI представлена на Рис. 6.
Уровни конвейера целочисленного процессора ARM10TDMI.
F: |
Выборка команды и предсказание перехода |
D: |
Декодирование команды и чтение регистра |
E: |
Выполнение (Сдвиг и ALU), вычисление адреса и умножение |
M: |
Обращение к памяти и умножение |
W: |
Запись в регистры |
Процессор ARM10T обеспечивает производительность 400 Dhrystone 2.1 MIPS на частоте 300 МГц, а векторное устройство операций с плавающей точкой, обеспечивает производительность 600 MFLOPS. Такие уровни целочисленной и с плавающей точкой производительности необходимы для применений, оснащенных сложными интерфейсами с 2- и 3-мерной графикой, типа игровых видео плееров и высокопроизводительных принтеров, при сохранении доступных потребительских цен.
Разработанные, для реализации по высокопроизводительной CMOS технологии (0,25 мкм, 0,18 мкм и менее), ядра процессора ARM10T будут предоставляться на лицензионной основе кремниевым партнерам фирмы ARM.
В настоящее время в семейство входит ARM1020T™ - кэшированное макроядро процессора, сформированное на основе ядра ARM10TDMI и оснащенное встроенными кэш команд и данных емкостью по 32 Кбайт, MMU, поддерживающим виртуальную память с подкачкой страниц по требованию, буфером записи, и широкополосным шинным интерфейсом AMBA, класса система на кристалле.
Сопроцессор векторных вычислений с плавающей точкой VFP10 (Vector Floating Point - VFP) интегрируется на тот же кристалл что и процессор ARM1020T в тех применениях, для которых он необходим. Сопроцессор VFP10 - первая реализация новой архитектуры VFPV1 процессоров вычислений с плавающей точкой фирмы ARM. Сопроцессор VFP10 обеспечивает высокопроизводительные IEEE вычисления с плавающей точкой одиночной и двойной точности, занимая на кристалле площадь малого размера и при его реализации был использован RISC подход, заключающийся в том, что простые, наиболее часто используемые операции реализуются в кремнии (аппаратно) а для обработки редких исключительных случаев используются программные решения. Векторные операции хорошо использовать для обеспечения потребностей целевых применений и они обеспечивают существенный параллелизм при простой схемотехнике.
Векторный характер архитектуры VFP, с одним потоком команд и многими потоками данных (SIMD - single-instruction, multiple-data), позволяет одиночной команде оперировать с множеством элементов данных, что позволяет сразу выполнять многоадресные команды и существенно увеличивает производительность в применениях с интенсивными операциями с плавающей точкой.
Некоторое представление о сопроцессоре векторных вычислений с плавающей точкой может дать схема конвейера VFP10.
В конвейере вычислений с плавающей точкой VFP10 используется два конвейера - пятиуровневый конвейер команд загрузки и памяти и семиуровневый конвейер арифметических команд. Эти конвейеры совместно используют два первых уровня, что ограничивает количество выполняемых команд одной командой, но из-за векторного характера архитектуры VFP в параллель могут быть выполнены команда векторной арифметики и векторной загрузки или команда сохранения.
Конвейером отслеживаются пять уровней загрузки и хранения. В случае выполнения множественных пересылок уровень памяти конвейера используется многократно для каждого элемента данных. За каждый цикл могут быть перемещены два значения одиночной точности или одно значение двойной точности.