M@ik (25.07.2007 21:08, просмотров: 1) ответил Aдикм на А можно узнать - что это за задача?
ИМХО Задача включает вычисление автокорреляционной функции,
статистики (мат. ожидание, дисперсия), умножение векторов и матриц ну и т.п.
Скажем, возведение элементов вектора в квадрат для dsPIC выглядит так:
<asm>
repeat w1
mac w4*w4,A,[w8]+=2,w4
</asm>
При этом результат накапливается в 40 битном аккумуляторе, аппаратно поддерживается арифметика насыщения и
контролируется нахождение указателя w8 в диапазоне адресов вектора.
Итого N+1 такт на вектор длиной N (ну плюс несколько подготовительных операций, включение режимов)
А сколько тактов это займет на MSP430 с его периферийным умножителем, в который еще надо операнды загрузить, а потом считать обратно?
К тому же, в MSP430 команды, использующие косвенную адрессацию выполняются тактов за 5!
Это только один пример, можно еще вспомнить аппаратное деление, определение масштаба числа за 1 такт (инструкция fbcl),
сдвиг аккумулятора за 1 такт в диапазоне -16...16.
Ну в общем, MSP430 не предназначен для таких вычислений, и для него эта задача будет много-мипсовой.
Для проверки, сколько именно мипс - программу влом для MSP430 переписывать:-)