Advanced RISC Machines

Автор: Пользователь скрыл имя, 27 Февраля 2013 в 23:59, реферат

Описание работы

Процессоры ARM поддерживаются многими программными продуктами как самой компании, так и других производителей. Эти продукты образовали солидную инфраструктуру ПО и средств разработки. Среди них - отладчики, компиляторы С++, внутрисхемные эмуляторы, таблицы разработки, операционные системы реального времени, драйверы низкого уровня, а также программные применения высокого уровня. Accelerated Technology, Enea OSE Systems, ISI, JavaSoft, JMI, Microtec, Microsoft, Perihelion, Psion, Wind River и другие компании обеспечивают совместимость своих ОС и средств разработки с процессорами ARM.

Работа содержит 1 файл

Advanced RISC Machines.doc

— 565.00 Кб (Скачать)

 

Семейство ARM9E

 

    Развитие техники, перефразируя известный тезис, идет по спирали. Так и фирма 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 возможности:

  1. Операции 16x16 и 32x16 перемножения/аккумулирования (MAC), выполняемые за один тактовый цикл, с добавлением в систему команд процессора новых команд
  2. Дробная арифметика без насыщения, также с добавлением новых команд
  3. Эффективный доступ к 16-разрядным величинам, обеспечивающий использование полной 32-разрядной полосы памяти
  4. Новая команда CLZ улучшает производительность операции деления.

 

    Все эти новые  возможности обеспечивают трехкратное увеличение производительности 16-разрядных алгоритмов сервоуправления, вычисляя 10-элементное скалярное произведение за 125 нс, на частоте 160 МГц.    

Полностью дуплексный G.732.1 кодер речи использует менее 25% от полной производительности на 160 МГц, оставляя 75% производительности для других приложений.    

Блок-схема совмещенного однопроцессорного  решения ядра ARM9E представлена на Рис.3.

Рис. 3. Блок-схема ядра ARM9E

 

    Совмещенное однопроцессорное решение ядра ARM9E, представляющее сочетание возможностей микроконтроллера и DSP, обеспечивает значительные выгоды, по сравнению с традиционными решениями, в которых используются отдельные DSP и процессор управления.

  1. Уменьшен размер кристалла, снижена его сложность
  2. Исключены средства межпроцессорной связи и синхронизации.
  3. Исключено дублирование ресурсов во встроенных: системе памяти, организации шин, отладке, и трассировке.
  4. Организован быстрый отклик на прерывания и контекстное переключение
  5. Распределение производительности между кодами DSP и контроллера может динамически изменяться, в соответствии с требованиями системы.
  6. Весь код имеет доступ к DSP умножителю и использует преимущества ортогональной RISC архитектуры с линейным 32-разрядным адресным пространством
  7. Понижена сложность программирования
  8. Используется единое унифицированное окружение разработки программного обеспечения и отладки
  9. Расширенная система команд является превосходным объектом для компиляторов C и C++

 

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

Ядра ARM946E и ARM966E являются макроядрами, реализованными на основе ядра ARM9E и  предназначенными для интеграции в ASIC, ASSP и приборы класса SOC.    

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

  1. Ассоциативный кэш (4 версии объема) - возможность выбора размера кэш позволяет гибко изменить размер кристалла, при изменении размера кэш перепроектирование минимально
  2. Модули защиты обеспечивают разбиение памяти на разделы и контроль атрибутами (кэширование, разрешения доступа) каждого раздела.
  3. Адресное пространство команд и данных может иметь 8 разделов переменного размера.
  4. Сопроцессорный интерфейс, в обеспечение дополнительных функциональных возможностей, тесно связан с ядром процессора.
  5. Буфер записи минимизирует нагрузку системы.

 

 

   

Рис. 4. Блок-схема макроядра ARM946E

Рис. 5. Блок-схема макроядра ARM966E


 

    В макроядре 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.

Семейство ARM10 Thumb

 

    Всего через  год после обнародования сведений о разработке процессоров семейства ARM9 Thumb были обнародованы (октябрь 1998 года) сведения о разработке процессоров  нового еще более производительного семейства - семейства ARM10 Thumb, обеспечивающего производительность свыше 400 MIPS. Однако главной, пожалуй, особенностью нового семейства нужно считать наличие векторного сопроцессора вычислений с плавающей точкой, явного свидетельства современной тенденции к объединению в одном приборе управляющих целочисленных процессоров и процессоров цифровой обработки сигналов. Другим подтверждением этой тенденции являются процессоры ARM9E, о которых говорилось выше и о разработке которых фирмой ARM сообщила в августе 1999 года.    

Хотя сведения о процессорах  семейства 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.

Рис. 6. Блок-схема конвейера ядра ARM10T

 

    Уровни конвейера  целочисленного процессора 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, класса система на кристалле.

Рис. 7. Блок-схема макроядра ARM1020T

 

    Сопроцессор векторных  вычислений с плавающей точкой VFP10 (Vector Floating Point - VFP) интегрируется на тот же кристалл что и процессор ARM1020T в тех применениях, для которых он необходим. Сопроцессор VFP10 - первая реализация новой архитектуры VFPV1 процессоров вычислений с плавающей точкой фирмы ARM. Сопроцессор VFP10 обеспечивает высокопроизводительные IEEE вычисления с плавающей точкой одиночной и двойной точности, занимая на кристалле площадь малого размера и при его реализации был использован RISC подход, заключающийся в том, что простые, наиболее часто используемые операции реализуются в кремнии (аппаратно) а для обработки редких исключительных случаев используются программные решения. Векторные операции хорошо использовать для обеспечения потребностей целевых применений и они обеспечивают существенный параллелизм при простой схемотехнике.     

Векторный характер архитектуры VFP, с  одним потоком команд и многими  потоками данных (SIMD - single-instruction, multiple-data), позволяет одиночной команде  оперировать с множеством элементов  данных, что позволяет сразу выполнять  многоадресные команды и существенно увеличивает производительность в применениях с интенсивными операциями с плавающей точкой.    

Некоторое представление о сопроцессоре векторных вычислений с плавающей  точкой может дать схема конвейера VFP10.

Рис. 8. Блок-схема конвейера VFP10

 

    В конвейере  вычислений с плавающей точкой VFP10 используется два конвейера - пятиуровневый  конвейер команд загрузки и памяти и семиуровневый конвейер арифметических команд. Эти конвейеры совместно  используют два первых уровня, что  ограничивает количество выполняемых команд одной командой, но из-за векторного характера архитектуры VFP в параллель могут быть выполнены команда векторной арифметики и векторной загрузки или команда сохранения.    

Конвейером отслеживаются пять уровней загрузки и хранения. В случае выполнения множественных пересылок уровень памяти конвейера используется многократно для каждого элемента данных. За каждый цикл могут быть перемещены два значения одиночной точности или одно значение двойной точности.    

Информация о работе Advanced RISC Machines