Берем простой, хотя и нетривиальный си-шный код, и сравниваем количество получившихся машинных команд. Компилятор GCC 4.1.2, оптимизация -O1. Исходный код такой:
unsigned long rot13_hash (unsigned char *str, unsigned int len)
{
unsigned long hash = 0;
while (len-- > 0) {
hash += *str++;
hash -= (hash << 13) | (hash >> 19);
}
return hash;
}
Результаты:
Архитектура | Команд в цикле | Всего команд |
---|
ARM | 6 | 13 |
Thumb | 8 | 17 |
MIPS32 | 9 | 17 |
Intel 386 | 9 | 25 |
MIPS16 | 10 | 17 |
Blackfin | 11 | 22 |
Для MIPS и Blackfin компилятор не догадался заменить два арифметических сдвига на один циклический. Предположим, мы исправили компилятор. Тогда получится так:
Архитектура | Команд в цикле | Всего команд |
---|
ARM | 6 | 13 |
MIPS32 | 7 | 15 |
MIPS16 | 8 | 15 |
Thumb | 8 | 17 |
Blackfin | 8 | 19 |
Intel 386 | 9 | 25 |
Хорошо видно, насколько архитектура Intel 386, она же Pentium, проигрывает RISC-процессорам.
no subject
Date: 2008-02-12 14:00 (UTC)По тексту: "Комиссия... в составе 43 человек... заключила, что микропроцессор «Эльбрус» и ВК «Эльбрус-3М1»... являются оригинальной отечественной разработкой". Похоже на полный провал. Сорок три человека собрались в кучу только для того, чтобы объявить Эльбрус оригинальной разработкой? Приняла ли комиссия изделие? Рекомендовала ли к применению? Непонятно.
Может быть и не на asm, но почему бы не выпустить микропроцессор в народ? Наверняка на коммерческом рынке он нашёл бы свою нишу.
no subject
Date: 2008-02-12 14:40 (UTC)Понятно что сейчас мало кому нужно голое процессорное ядро, а E3M требует чипсета (северного моста), которого нет в кремнии, только в дорогом FPGA. Это основная проблема у E3M для вывода его на рынок. В этом году должны сделать E3S (кеш L2 не 256K, а уже 2М, два встроенных контроллера памяти и 3 межпроцессорных линка), - у него на много больше шансов быть реально востребованным.
no subject
Date: 2008-02-18 10:32 (UTC)