[an error occurred while processing this directive]
|
Кроме целочисленных есть и DSP с плавающей запятой, хотя номенклатура целочисленных и шире, да и наиболее быстрые целочисленные.
Понятно, что на плавающих меньше чисто вычислительных проблем. Хотя не всегда есть поддержка double, например.
На целочисленных их, в общем, больше. Как правило требуется какая-то адаптация алгоритма к числам с фиксир. запятой, чтобы максимально использовать возможности DSP. Сложным это дело назвать нельзя, но все таки. Тут разные способы имеются.
Ну и напоследок. Поскольку задача распознавания, то наверняка имеется в ней вычисление расстояний, евклидовых, или каких еще, между какими-то векторами. Т.е. что-то типа summa(a[i]*b[i]), скалярного произведения. По времени выполнения этой суммы. Оно равно, в самых простых случаях, числу членов суммы, умноженному на процессорный такт. В каких-то DSP может быть лучше, за счет параллелизма например, но и за счет усложнения програмки, вычисляющей эту сумму. Подразумеваются, что данные соответствуют типу DSP, а програмка ассемблерная. DSP-шные C даже такую простую операцию могут довольно витиевато изобразить.
Что еще. Очень часто требуется указывать линкеру где что размещать.
Это следует из наличия в DSP разной памяти и опять же эффективности выполнения программы.
Многого не написал, но за работу пора.
E-mail: info@telesys.ru