Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Является ли существенным преимуществом микроконтроллера возможность с точностью до такта рассчитать время выполенения любого отрезка программного кода ?

Отправлено CD_Eater 06 февраля 2007 г. 22:52


Тут пробегала мысль о том, что рост быстродействия АВРок сдерживается скоростью чтения программного кода из флеш-памяти. С одной стороны, ядро способно на большее, с другой стороны, АВР без флешки на фиг не нужен.
Вероятно, в недалёком будущем атмельцы (и не только), движимые желанием остаться конкурентоспособными, вынуждены будут поднять тактовую частоту АВРок. Вероятно, сделают чтение флеша не пословным, а поблочным, что приведёт к обусловленным буферизацией задержкам чтения при jmp-ах, call-ах, вызовах обработчиков прерываний, чтения данных из флеш-памяти и т.п. Дело не в том, что эти задержки будут заметно больше 1 такта, а то, что их длительность не будет константой и будет сложно предсказуема.
Простой пример. Блоки флеш-памяти будут выравнены на границу, кратную 2^N байт, а вот некоторый цикл в программе может либо попасть внутрь одного такого блока, либо пересечь границу блокораздела и постоянно "свопиться", увеличивая время выполнения кода. Или при чтении байта из флеш-памяти время доступа будет зависеть от того, из какого адреса был считан предыдущий байт данных, что тоже сложно предсказать. Короче, обычные тонкости кеширования. Возможно, для больших компьютеров это не имеет особенного значения, но эмбеддеры живут в своём мирке :)

Хочу спросить, а насколько лично Вам важно, чтобы время работы кода можно было точно рассчитать ? Ведь не секрет, что многие программы для АВРок (и не только) существенно учитывают растактовку команд, используя её для генерирования маленьких промежутков времени (вроде бы, софтовая реализация USB-интерфейса именно так и делает).

Что бы Вы предпочли: МК с фиксированным временем выполнения каждой инструкции или чуть более быстрый МК, но с непредсказуемой растактовкой ?


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru