Тестирование размера кода
Патентованными методами сжатия кода, концепция Thumb привносит 32-разрядную производительность в 16-разрядные системы при обеспечении 16-разрядной стоимости систем. Эталонное тестирование размера кода, отслеживает эффективность этого решения в обеспечении разработчиков минимальным, возможным в 8/16-разрядных системах, размером кода.
Принимаемый подход был использован Micrologic Solutions для получения результатов для Espresso, Xlisp и Eqntott. Эти подпрограммы были взяты из SPECint набора программ эталонного тестирования. Значения для четырех популярных конкурирующих процессоров были получены с от третьих поставщиков. Данные для ARM7TDMI Thumb-ориентированного ядра были сгенерированы с использованием C компилятора ARM Thumb, описанного в Software Development Route.
Таблица 4: Размер кода пользователя в байтах для трех эталонных тестов Источник: Micrologic Solutions
Процессор |
Eqntott |
Xlisp |
Espresso |
ARM7TDMI |
10608 |
26388 |
72596 |
ARM7 ядро |
16768 |
40768 |
109932 |
Intel 386 |
17640 |
28097 |
125686 |
Intel 8088 |
19106 |
29401 |
137194 |
Moto 68020 |
20542 |
46746 |
131854 |
Sparc 2 |
22256 |
44648 |
142752 |
Для обеспечения честного сравнения фирма ARM использовала также значения размеров кодов, публично доступные для конкурирующих решений и добавляла данные по ARM7TDMI Thumb-ориентированному ядру. Указанные в байтах размеры кода, являются данными в Dhrystone 1.1, поскольку эти данные свободно доступны.
Рисунок 15: Нормализованный размер кода Dhrystone для модели с памятью большой емкости
Таблица 5: Нормализованный размер кода Dhrystone для модели с памятью большой емкости Источник: Microprocessor Forum 1993 и данные поставщиков
Процессор |
Размер кода (Байты) |
Соотношение |
ARM7TDMI |
1032 |
1,00 |
H8/500 |
1097 |
1,06 |
CPU32 |
1254 |
1,22 |
68000 |
1268 |
1,23 |
I386 |
1280 |
1,24 |
I960 |
1280 |
1,24 |
SH7032 |
1384 |
1,34 |
H8/300H |
1530 |
1,48 |
MC68HC11 |
1558 |
1,51 |
29000 |
2296 |
2,22 |
Z80 |
3201 |
3,10 |
32-разрядный RISC код архитектуры фирмы ARM всегда считался исключительно плотным кодом. Действительно, результаты показывают, что плотность естественного кода ARM близка к плотности кодов традиционных 16-разрядных процессоров, оставляя другие 32-разрядные ядра RISC далеко позади. Это результат новых возможностей системы команд ARM, таких как условное выполнение каждой команды и опции обратной записи регистра.
Ведущая в отрасли плотность кода
Результаты показывают, что сформированная на фирме ARM концепция Thumb, позволяющая получить на 30 % лучшую плотность кода, чем у конкурентов, обеспечивает ведущую в отрасли плотность кода, что и является тем средством, посредством которого разработчики, ориентировавшиеся ранее на 8 и 16-разрядные контроллеры, с тем, чтобы сократить объем памяти кодов системы, могут теперь переходить к мощным 32-разрядных ядрам ARM и использовать уменьшение размера кода системы. Концепция Thumb предоставляет им возможность или уменьшать объем памяти, или использовать высвобожденное пространство памяти для программного обеспечения с новыми возможностями.
|