[an error occurred while processing this directive]
|
Универсальные процессоры делаются под С-компиляторы
А вот под специализированные процессоры (к коим относят DSP) уже наоборот, надо писать сами С-компиляторы.
Допустим, если Вы используете аккумулятор, а это 40 бит, то как Вы определите к ниму тип переменной? Не 32 и не 64...
Чуть сложнее задача - у Вас на борту в проце два (или не дай Бог 4) перемножителя, которые могут работать одновременно. И как бедному компилятору распараллелить исходный код? С теми компиляторами, что я работал, было все очень просто. Они второй перемножитель игнорировали.
Ну и то, что надо бы было давно уже исправить в этих компиляторах. Я имею ввиду временные переменные. Допустим в ф-ции
fff()
{
int x, y;
.................
}
x и y компилятор обязательно засунет в стек и будет работать с ними через память, вытаскивая и засовывая их туда снова и снова. Я же, постараюсь разместить эти переменные в регистрах.
И т.д. и т.п.
E-mail: info@telesys.ru