[an error occurred while processing this directive]
|
По работе с VLIW процессорами - гда над ассемблером голову сломаешь - почти согласен. Писать надо всю математику и прочие критичные по времени моменты на асме, а все остальное - на С.
Насчет 64хх vs 62xx. Естественно в систему команд для 64хх ввели порядочно очень ценных команд и удвоили кол-во регистров. Это не может так сильно увеличить производительность без вкорне переделанного С. А С их не умеет (по крайней мере 62хх/67хх) оптимизировать линейный код. Вообще не умеет. Там где невооруженным взглядом видно, что можно сделать в параллель он и не пытается делать.
Приведенные Вами примеры (в частности - G723.1) это imho уловка техаса. Глянул я на внутренности G723.1 для 62хх - так там можно ужать раза в три примерно по времени. Тоже самое - G726. С этим сам возился - их (техасовский) требует 4 мипс. В два раза реально увеличить быстродействие только за счет грамотного переписывания. А за счет некоторой хитрости - параллельно с вычислением предиктора и дельты следующего канала досчитывать квантование и апдейт от предыдущего - еще в 1.5. Так что не такие-то уж и плохие процессоры 62х/67х.
Насчет положенного болта на компилеры для 62хх - так это не будущее, это по моему уже давно. А неумение оптимизировать линейный код (где нет циклов) делает писание на С практически невозможным, делая из проца с 8-ю юнитами простой среднего пошиба МП.
E-mail: info@telesys.ru