Я бы сказал так значительны, но это на самом деле не так просто:
Фактическое время переключения контекста является просто вопросом количества циклов команд, необходимых для выполнения переключателя, как что-либо в программном обеспечении он может быть закодирован эффективно или может не быть. С другой стороны, при прочих равных условиях процессор с большим набором регистров потребует больше циклов команд для сохранения контекста; но наличие большого набора регистров может сделать другой код намного более эффективным.
Процессор также может иметь архитектуру, которая напрямую поддерживает быстрое переключение контекста. Например, скромный 8-битный 8051 имеет четыре дублирующих банка регистров; поэтому переключатель контекста - это немного больше, чем переключатель банка регистров (если у вас не более четырех потоков), и учитывая, что Silicon Labs производит устройства на основе 8051 на 100MIPS, это может быть очень быстро!
Более сложные процессоры и операционные системы могут использовать MMU для обеспечения защиты потоковой памяти, это дополнительные служебные расходы коммутатора контекста, но с преимуществами, которые могут отменить это. Также, конечно, такие процессоры, как правило, также имеют высокие тактовые частоты, что помогает.
В целом, скорость процессора, архитектура процессора, качество реализации RTOS и функциональность, предоставляемая RTOS, могут повлиять на время переключения контекста. Но в итоге самый простой способ улучшить время переключения - это, безусловно, увеличение тактовой частоты.
Хотя приятно иметь больше запаса прочности, если время переключения контекста является проблемой для вашего проекта на любом уважаемом RTOS, вы должны учитывать пригодность вашего оборудования или вашего дизайна. Вы должны стремиться к дизайну, который минимизирует контекстные переключатели. Например, если преобразование АЦП принимает 6us, а переключатель контекста принимает значение 20us, то вам лучше заняться оживлением, чем использовать прерывание с полным завершением; лучше использовать передачи DMA, чтобы избежать переключения контекста на отдельные элементы данных, где это возможно.
@Alexandre: Fixed - благодаря. Разумеется, вы могли отредактировать его самостоятельно. – Clifford
Вам нужно как минимум 2k rep отредактировать обычный пост. –
@Alexandre: моя ошибка. – Clifford