Подходы для решения проблемы большого размера кода

Архитектура с расширенными возможностями

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

В этом кратком обзоре описывается технология Thumb фирмы ARM.
Существует несколько подходов, решающих проблему размера кода:

  • Написание кода вручную на ассемблере
  • Для получения минимального размера кода программист может писать коды вручную - на ассемблере. Однако, этот процесс может занять непрактично большое время и в результате может быть получен код, который трудно поддерживать и всего лишь на 10-20% более компактный чем код, полученный при использовании хорошего компилятора. Корень проблемы, неэффективность кода, все еще не решается.
  • Использование улучшенного компилятора
  • Технология компилирования может улучшить код, но опять таки меньшим размер кода будет при ручном кодировании на ассемблере .
  • Использование компрессированного кода
  • Одним из вариантов может быть использование некоторой формы сжатого кода, который разворачивается во время выполнения. Однако, быстрая декомпрессия, которая не будет снижать производительность процессора при выполнении этого кода, достаточно сложна и требует использования дополнительных ресурсов системы.

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


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

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