[an error occurred while processing this directive]
Переключение задач=переключение стеков. Если стек в ОЗУ - достаточно перегрузить указатель(и) стека (ов).
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено kons 05 июля 2002 г. 16:41
В ответ на: Вопрос: а какая связь между многозадачностью и стеком? З.Ы. x86 имеют аппаратную защиту сегмента стека -> это практически аналог "аппаратного стека" отправлено bam 05 июля 2002 г. 12:52

Если стек отдельный(из того, с чем работаю - ADSP)- то его весь надо сбрасывать в ОЗУ, а оттуда доставать содержимое стека другой задачи.
Это долго и криво.
AVR в этом плане лучше, но тоже не идеал: компилятор поддерживает два стека - возвратов и данных, соотв. на каждую задачу приходится отводить по 2 стековых области. К тому же нет аппаратного переключения на отдельный стек прерываний, поэтому эти области для каждой задачи приходится отводить с запасом на случай прерываний. ОЗУ расходуется непроизводительно.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru