vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2007-05-25 01:08 am

Сравнение архитектур процессоров

Берем простой, хотя и нетривиальный си-шный код, и сравниваем количество получившихся машинных команд. Компилятор 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;
}
Результаты:

АрхитектураКоманд в циклеВсего команд
ARM613
Thumb817
MIPS32917
Intel 386925
MIPS161017
Blackfin1122

Для MIPS и Blackfin компилятор не догадался заменить два арифметических сдвига на один циклический. Предположим, мы исправили компилятор. Тогда получится так:

АрхитектураКоманд в циклеВсего команд
ARM613
MIPS32715
MIPS16815
Thumb817
Blackfin819
Intel 386925

Хорошо видно, насколько архитектура Intel 386, она же Pentium, проигрывает RISC-процессорам.

[identity profile] troosh.livejournal.com 2008-02-12 12:40 pm (UTC)(link)
Да, он самый. На крышке стоит 1891ВМ4Я.
Документация есть, но она всё ещё не публичная,
хотя вроде были планы это изменить.

[identity profile] troosh.livejournal.com 2008-02-12 01:31 pm (UTC)(link)
Ага, жаль... Но думаю, что если какая контора попросит, то дадут нужную информацию. Во всяком случае уже столько народа со своими задачами приходили, что уже давно пора не усно всё пересказывать, а предоставлять готовую документацию для ознакомления. Хотя с другой стороны и не предполагается, что кто-то на стороне будет писать под Эльбрусы на asm. Время подвигов ушло. ;)

Оно работает. Даже прошли гос. испытания (http://www.mcst.ru/news.shtml#071029).

С Бабаяном лично знаком не был, так что позволю себе не комментировать последнее высказывание...

[identity profile] troosh.livejournal.com 2008-02-12 02:40 pm (UTC)(link)
Я так понимаю принят был процессор, машина на паре таких процессоров и весь софт под них. Должно быть доказали что соответствует ТЗ, я уж так подробно не вникал в это, - вроде явного негатива и проколов не было.

Понятно что сейчас мало кому нужно голое процессорное ядро, а E3M требует чипсета (северного моста), которого нет в кремнии, только в дорогом FPGA. Это основная проблема у E3M для вывода его на рынок. В этом году должны сделать E3S (кеш L2 не 256K, а уже 2М, два встроенных контроллера памяти и 3 межпроцессорных линка), - у него на много больше шансов быть реально востребованным.