Архитектура RISC фирмы ARM обеспечивает как малое потребление мощности и малый размер кристалла так и высокую производительность, необходимые во встраиваемых применениях. Фирма ARM расширила возможности этой архитектуры, с точки зрения решения проблемы размера кодов, разработав новую технологию - новую систему команд Thumb.
В этом кратком обзоре описывается технология Thumb фирмы ARM.
Существует несколько подходов, решающих проблему размера кода:
Написание кода вручную на ассемблере
Для получения минимального размера кода программист может писать коды вручную - на ассемблере. Однако, этот процесс может занять непрактично большое время и в результате может быть получен код, который трудно поддерживать и всего лишь на 10-20% более компактный чем код, полученный при использовании хорошего компилятора. Корень проблемы, неэффективность кода, все еще не решается.
Использование улучшенного компилятора
Технология компилирования может улучшить код, но опять таки меньшим размер кода будет при ручном кодировании на ассемблере .
Использование компрессированного кода
Одним из вариантов может быть использование некоторой формы сжатого кода, который разворачивается во время выполнения. Однако, быстрая декомпрессия, которая не будет снижать производительность процессора при выполнении этого кода, достаточно сложна и требует использования дополнительных ресурсов системы.
Решение от фирмы ARM
Для решения проблемы большого объема кода фирма ARM использовала сочетание программных и аппаратных средств. Изящное и простое решение, использованное фирмой ARM, обеспечило реальные преимущества:
Ведущее в отрасли соотношение производительность/потребление (MIPS/Watt)
Превосходную плотность кода
Малый размер кристалла
Признание и активную поддержку большим количеством фирм-разрабочиков специализированных ИС для различных применений