Технология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 (applicationsspecific 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-разрядных систем.
Список литературы
Дляподготовки данной работы были использованы материалы с сайта www.gaw.ru/