Реферат: Концепция Thumb
Реферат: Концепция 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
Превосходная
плотность кода
Система
команд 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-разрядных систем.
Список литературы
Для
подготовки данной работы были использованы материалы с сайта http://www.gaw.ru/
|