2015-11-19 7 views
0

Извините, если я задаю слишком глупый вопрос! но я googled и не мог найти ответ на то же самое. Что именно означает состояние регистрации в программировании на языке ассемблера.Что означает состояние регистрации?

+1

«состояние» - текущие условия некоторой среды. например «после беспорядков стадион оказался в ужасном состоянии». register state = текущие значения набора регистров в некоторый момент времени. –

+0

Спасибо! Я получаю это сейчас. – PeaceOut

+0

В общем контексте «состояние регистрации» обычно означает статус и значения всех регистров компьютеров (и обычно текущие флаги). –

ответ

0

Register states:

СТС может содержать сохраненные значения всех регистров x86. Это используется для переключения задач. Операционная система может загружать TSS со значениями регистров, которые необходимы новой задаче, и после выполнения аппаратного переключения задачи (например, с инструкцией IRET) процессор x86 загрузит сохраненные значения из TSS в соответствующие регистры. Обратите внимание, что некоторые современные операционные системы, такие как Windows и Linux 1, не используют эти поля в TSS при реализации переключения программных задач.

0

Возможно, вы имеете в виду регистр состояния или слово состояния.

Во многих процессорах есть несколько однобитовых значений, которые влияют на поведение. Например, обычно есть бит «carry», бит «overflow», бит «zero», «отрицательный» бит и так далее. Этот бит состояния может, например, изменяться в зависимости от последней математической операции или проведенного сравнения и может влиять на поведение условных скачков.

Могут также быть биты, которые более «липкие», то есть они могут изменять только с помощью явных инструкций набора и влияют на поведение процессора (например, бит «десятичный» или бит разрешения прерывания).

Все эти однобитовые значения обычно хранятся в одном регистре.

+0

Спасибо, это помогло! – PeaceOut

0

Я не слышал термин «состояние регистрации». Это звучит как подмножество, или, может быть, синоним, Architectural state. Один из способов описать это: все, что необходимо сохранить/восстановить в контекстном коммутаторе. Это содержимое регистров целого/общего назначения, указатель инструкции (следующий insn для выполнения), регистр флагов, регистры FPU, векторные регистры и любые/все «специальные» регистры, где код может устанавливать или очищать биты до изменить работу ЦП.

Это не включает в себя содержимое кешей или содержимое основной памяти.

ISA для машины определяется с точки зрения того, что каждая инструкция выполняет для архитектурного состояния. (например, add r32, r/m32 добавляет src (регистр или память) в регистр dest и устанавливает флаги в соответствии с результатом. Он также может генерировать исключение при определенных условиях. Например, см. руководства Intel для , связанные с тэгом wiki .

Фактическое выполнение конвейерных реализаций и даже запуск нескольких инструкций одновременно, но отслеживание вещей таким образом, чтобы дать одинаковые результаты выполнению каждой инструкции в порядке программы. (VLIW architectures, где машинный код представляет собой набор инструкций, которые выполняются вместе являются исключением из этого правила.)

Intel SandyBridge использует файл физического регистра из 160 целых регистров для переименования регистров, но архитектор (или 8, в 32-битном режиме), 16 или 8 векторных регистров и т. д. и т. д.

Смежные вопросы