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 Кб (Скачать)

Решение от фирмы ARM

 

    Для решения  проблемы большого объема кода фирма ARM использовала сочетание программных и аппаратных средств. Изящное и простое решение, использованное фирмой ARM, обеспечило реальные преимущества:

  1. Ведущее в отрасли соотношение производительность/потребление (MIPS/Watt)
  2. Превосходную плотность кода
  3. Малый размер кристалла
  4. Признание и активную поддержку большим количеством фирм-разрабочиков специализированных ИС для различных применений

Концепция Thumb

 

    Технология Thumb - дополнительное расширение к архитектуре ARM. Система команд Thumb содержит 36 команд, производных от стандартной 32-разрядной системы команд ARM, перекодированных в 16-разрядные коды. Такой подход обеспечил очень высокую плотность кода, поскольку команды Thumb составляют половину ширины формата команд ARM. В процессе выполнения эти новые 16-разрядные Thumb коды декомпрессируются процессором в соответствующие эквивалентные команды ARM, которые затем и выполняются ядром ARM обычным способом.

Рисунок 1: Команды Thumb как кодированное подмножество системы команд ARM

Уникальное преимущество

 

    Технология Thumb - это не только смешанная система  команд. Thumb-ориентированные ядра имеют  две отдельных системы команд - уникальное достоинство, позволяющее  разработчику использовать всю мощность 32-разрядной системы команд ARM при  использовании преимуществ малого размера кода системы команд Thumb. Тот факт, что две системы команд являются совершенно отдельными, говорит о том, что средства декодирующей логики также чрезвычайно просты, что в свою очередь, сохраняет малым размер кристалла и сохраняет лучшее в отрасли соотношение производительность/потребление.

Размер и критичные к производительности подпрограммы

 

    Так как Thumb -ориентированные  ядра способны выполнять и стандартную ARM систему команд и новые команды Thumb, разработчик, при переходе от подпрограммы к подпрограмме, может находить компромисс между размером кода и производительностью, подготавливая критичные к размеру подпрограммы в коде Thumb и критичные к производительности подпрограммы в кодах ARM.

32-разрядная RISC производительность

 

    Thumb -ориентированные  ядра типа ARM7TDMI имеют полную 32-разрядную  архитектуру ARM, так что разработчик  сохраняет 32-разрядную производительность RISC архитектуры. Комбинация двух  систем команд, выполняющихся на 32-разрядном Thumb -ориентированном ядре, обеспечивает эффективное решение проблемы больших размеров кода и проблемы невысокой производительности 16-разрядных систем.

Улучшение плотности кода на 30 %

 

    Полученные к  настоящему времени результаты показали улучшение плотности кода на 30%, по сравнению с кодом ARM, что позволяет считать Thumb -ориентированные процессоры лучшими по плотности кода в сравнении и с традиционными CISC процессорами.

Рисунок 2: Ядро ARM7TDMI и расположение декомпрессора команд Thumb

Поддержка полуслов

 

    Кроме введения новых Thumb команд, фирма ARM добавила к системам команд и ARM и Thumb поддержку формата полуслов (16-разрядных данных). Следовательно архитектура ARM теперь полностью поддерживает 8, 16 и 32-разрядные данные. Были добавлены и для Thumb и ARM ядер операции со знаками для поддержки ими 8 и 16-разрядных операций с данными со знаками.

Расширение возможностей комплекта  средств разработки программного обеспечения ARM

 

    омплект средств  разработки программного обеспечения ARM также был расширен, чтобы обеспечить поддержку разработки кодов Thumb. Комплект позволяет программисту писать и размещать в памяти системы коды ARM, коды Thumb или оба вместе.

Рисунок 3: Последовательность этапов проектирования программного обеспечения  для Thumb -ориентированного ядра

Примеры конфигурации системы

Данные конфигурации показывают Thumb-ориентированное  ядро в системе

  1. Пример 1

 

    Достоинство этой системы в использовании внешней  шины и памяти узкого формата, что  соответствует требованиям недорогих  встраиваемых применений.

Рисунок 4: Недорогой контроллер с 16-разрядной системой памяти

 

    В контроллере  интегрированы заданные заказчиком встроенные периферийные устройства и  небольшие по объему быстрые 32-разрядные ROM или RAM, используемые для хранения критичного к быстродействию кода. Когда Thumb-ориентированное ядро переключается в состояние ARM для получения максимальной производительности, например, обработки прерывания, коды ARM выполняются из этой области быстродействующей памяти. Внешняя 16-разрядная ROM используется для хранения кодов и констант, а 8-разрядная RAM содержит сверхоперативные данные.

  1. Пример 2

 

    Эта конфигурация показывает, как Thumb-ориентированное  ядро может использоваться с медленной, недорогой 32-разрядной ROM.

Рисунок 5: Система с недорогой 32-разрядной ROM

 

    В данной конфигурации в ROM сохраняется смесь подпрограмм 32-разрядного кода ARM, с одной командой на 32-разрядное слово, и подпрограмм  кода Thumb с двумя командами на каждое слово. Каждая внешняя выборка  выбирает или 32-разрядную ARM команду или две 16-разрядные команды Thumb. Команды ARM поступают в основной конвейер обычным способом. Однако, в состоянии Thumb, в то время когда одна команда Thumb поступает в конвейер, другая сохраняется в 16-разрядной защелке, которая является буфером выборок команд с упреждением. При следующей выборке, эта сохраненная команда немедленно становится доступной ядру.    

Моделирование показало, что в этой конфигурации с 200 нс ROM, технология Thumb превосходит по быстродействию стандартное  ядро ARM на10 - 20%, в зависимости от тактовой частоты процессора и кода. Это связано с тем, что ядру ARM для выбора каждой команды из ROM необходимы состояния ожидания, в то время как Thumb-ориентированное ядро находится в состоянии ожидания только один раз на каждые две команды.    

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

  1. Пример 3

 

    Данная конфигурация представляет последнее Thumb -ориентированное решение перед переходом к стандартному ARM ядру, обеспечивающему наивысшую производительность 32-разрядной системы.

Рисунок 6: Высокопроизводительная 32-разрядная  система

 

    При использовании  быстродействующей ROM и встроенном кэш, эта система обеспечивает самую высокую производительность для Thumb-ориентированного ядра, поскольку 32-разрядные ARM команды могут выполняться непосредственно из быстродействующей памяти. Размер кода и стоимость системы, естественно, больше чем у недорогих 16-разрядных шины и системы памяти.

Превосходная плотность кода

 

    Система команд Thumb дает превосходную плотность кода, по сравнению с 32-разрядными ядрами и 8 и 16-разрядными процессорами, обычно используемыми во встраиваемых применениях. Объем памяти и, как следствие, стоимость системы уменьшаются.

16-разрядные команды

 

    Команды Thumb - 16-разрядные  и шина передачи данных системы тоже должна быть только 16-разрядной. Это  уменьшает, и потребляемую мощность и размеры печатной платы, что ведет к меньшей стоимости системы и меньшему потреблению системой мощности.

Самая маленькая площадь, занимаемая ядром на кристалле

 

    Thumb-ориентированные  ядра имеют почти самые маленькие  в отрасли размеры кристалла  (площадь, занимаемая ядром ARM7TDMI, при топологических нормах 0,6 мкм, менее 5 мм2). Следовательно разработчик ASSP (application specific standard product) и ASIC (applications specific integrated circuit), использующий Thumb-ориентированные ядра, получит кристалл системы уменьшенного размера за счет меньшего размера ядра, по сравнению с 16/32-разрядными CISC ядрами, и за счет меньшего размера встроенной ROM программ. В сочетании с упрощенным и, следовательно более дешевым, тестированием, по сравнению с тестированием CISC ядер, малым выделением тепла, что позволяет размещать прибор в пластиковом корпусе, все это позволяет получить прибор меньшей стоимости чем стандартные решения.

Полная 32-разрядная архитектура

 

    Команды Thumb выполняются  на полной 32-разрядной RISC архитектуре ARM. Разработчик, следовательно, способен использовать быструю 32-разрядную математику и простую несегментированную карту памяти с адресным пространством 4 Гбайта - колоссальное пространство даже для наиболее сложных из встраиваемых управляющих применений.     

Стандартная архитектура, в сочетании с новыми средствами разработки программ, способными компилировать ARM коды, коды Thumb или сочетания обоих, гарантируют прямую совместимость с существующим 32-разрядным семейством ARM. Все это обеспечивает разработчика 16-разрядной системы возможностью перехода к уже существующим семействам 32-разрядных ядер.

Размер кода и производительность

 

    Thumb-ориентированные  ядра типа ARM7TDMI выполняют и 32-разрядные  команды ARM и новые 16-разрядные  команды Thumb. Разработчики могут смешивать подпрограммы в кодах Thumb и в кодах ARM в одном и том же адресном пространстве, что позволяет программисту от подпрограммы к подпрограмме находить компромисс между размером кода и производительностью так, как это требуется применением.

Комплект средств разработки программного обеспечения фирмы ARM с расширенными возможностями

 

    Новые команды Thumb полностью поддерживаются Thumb -ориентированным  комплектом инструментальных средств  фирмы ARM. Этот комплект инструментальных средств включает работает в среде Windows, поддерживает Kanji и обеспечивает беспроблемное взаимодействие между состояниями ARM и Thumb.

Защита вложенных средств

 

    Средства, вложенные  в разработку уже эксплуатируемого ARM программного обеспечения, затрачены  не впустую, поскольку Thumb-ориентированные ядра выполняют ARM код. Для использования этих кодов в Thumb состоянии, исходные тексты достаточно только перекомпилировать.

Основа достоинств технологии Thumb - достоинства архитектуры ARM

 

    Новое семейство Thumb-ориентированных ядер использует традиционные достоинства архитектуры ARM: чрезвычайно малое потребление мощности, наилучшее в отрасли соотношение производительность/потребление (MIPS/Watt) и малая площадь, занимаемая ядром, при интеграции на кристалл.    

Подводя итог можно утверждать: архитектура Thumb позволяет разработчикам 16-разрядных получить производительность 32-разрядных ARM ядер по цене 16-разрядных систем.

Thumb -ориентированные ядра и их  развитие

Высокая производительность, великолепная плотность кода

 

    Рынок встраиваемого управления обслуживается  в настоящее время 8 и 16-разрядными приборами от большого количества поставщиков. Однако, в перспективных применениях  с высокими функциональными возможностями, эти приборы часто не обеспечивают требуемой производительности. Вот почему для таких применений необходима 32-разрядная производительность процессоров RISC, объединенная с высокой плотностью кода, характерной для 16-разрядных процессоров CISC. Технология Thumb обеспечивает обе эти потребности, наводя мосты между 16-разрядными системами и завтрашними 32-разрядными системами.

Высокая производительности без добавочной стоимости

 

    Фирма ARM считает, что Thumb-ориентированные ядра будут  особенно успешно использоваться в  применениях с относительно ограниченными возможностями, т.е. в тех, в которых сегодня используют 8-разрядные и 16-разрядные контроллеры и которым необходима большая производительность без дополнительных затрат.

Рисунок 7: Thumb-ориентированные ядра и занимаемая ими область производительности

Совместимость Исходного текста

 

    Так как Thumb-ориентированные  ядра - просто расширение архитектуры ARM, разработчик может компилировать  коды Thumb, коды ARM или смесь обоих. Эта совместимость исходного  текста между Thumb-ориентированными ядрами и ядрами ARM, обеспечивает беспроблемный путь к будущим обновлениям до 32-разрядных уже находящихся в эксплуатации систем, что делает Thumb-ориентированные ядра гарантированным вложением капитала в будущее.    

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

Рисунок 8: Прикладные области для Thumb-ориентированного ядра

ARM7TDMI

 

    Первым Thumb-ориентированным  ядром стало ядро ARM7TDMI. Это ядро семейства ARM7 располагающее:

  1. Встроенной макроячейкой EmbeddedICE™, поддерживающей отладку встроенного ядра
  2. 32-разрядным аппаратным умножителем
  3. Декомпрессором Thumb
  4. 32-разрядной производительностью в 8- и 16-разрядных управляющих применениях

 

    Ядро ARM7TDMI пополнило  стандартный ряд 32-разрядных ядер ARM, обеспечив возможность выхода на рынок встраиваемого управления, привнося 32-разрядную производительность в 8 и 16-разрядные применения управления. Первый Thumb-ориентированный прибор в кремнии был выпущен во второй половине 1995.    

Ядро ARM7TDMI используется как лицензионная макроячейка ASIC ARM, предназначенная  использования при создании стандартных  приборов специального назначения .    

Thumb версии стандартных ядер  фирмы ARM, уже разработанных и находящихся в разработке, способны принести еще более высокую производительность в 8 и 16-разрядный мир встраиваемого управления. Технология уплотнения кода Thumb в сочетании с уникальной производительностью StrongARM обеспечит уникальные по производительности решения для применений со встраиваемым управлением, требующих производительности на уровне рабочей станции.

Аппаратные аспекты

 

    Основное добавление к архитектуре ARM, обеспечивающее поддержку  системы команд Thumb - декомпрессор Thumb. Первым ядром ARM, оснащенным декомпрессором, стало ядро ARM7TDMI.

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