Как регистры быстро хранят и извлекают данные при переключении контекста?

Регистры - это самый быстрый тип памяти. При переключении контекста регистры должны где-то сохранять свои данные, а затем загружать нужные данные в регистры для этого конкретного контекста. Это может быть медленным процессом, если регистры не хранят и не извлекают данные из других регистров.

Но я не уверен, какие регистры используются для хранения и извлечения данных для переключения контекста. Я не думаю, что они используют другие регистры. Что они используют?

Также о том, как часто происходит переключение контекста?


person node ninja    schedule 23.10.2011    source источник
comment
По крайней мере, зависит от архитектуры.   -  person    schedule 24.10.2011
comment
Вы быстро ошибаетесь. Переключение контекста - это совсем не то.   -  person millimoose    schedule 24.10.2011


Ответы (1)


Немного поискав в Google, можно получить эту довольно подробную вики статью о переключении контекста.

Как часто это происходит, зависит от операционной системы; в Linux это зависит от того, какой алгоритм планировщика в моде на этой неделе, и с какими параметрами он был скомпилирован.

person millimoose    schedule 23.10.2011
comment
В этой статье говорится, что информация сохраняется в TSS. Что это за аппаратное обеспечение? Это реестр? - person node ninja; 24.10.2011
comment
Фраза TSS в статье связана с другой страницей. Вы можете щелкнуть, чтобы узнать больше о TSS. - person Raymond Chen; 24.10.2011
comment
@ z-buffer Это имя структуры данных, представляющей контекст. Сегмент имени подразумевает, что он хранится в памяти. - person millimoose; 24.10.2011
comment
@ z-buffer Очевидно, что ничто не мешает вам сохранять состояние регистров в другие регистры, за исключением того, что у ЦП действительно нет резервной памяти регистров для хранения копии обычных регистров для каждого запущенного процесса. - person millimoose; 24.10.2011
comment
@ z-buffer Связанная статья также явно упоминает передачу значений регистров в стек (который находится в памяти) для метода переключения контекста программного обеспечения, который они описывают. - person millimoose; 24.10.2011