Подтвердить что ты не робот

Является ли стек в CPU или RAM?

У меня есть несколько вопросов о стеке.

  • Является ли стек в CPU или RAM?
  • Является ли стек местом для запуска OPcode?
  • Является ли EIP в CPU или RAM?
4b9b3361

Ответ 1

Стек всегда находится в ОЗУ. Существует указатель стека, который хранится в регистре в ЦП, который указывает на вершину стека, т.е. Адрес местоположения в верхней части стека.

Ответ 2

Стек находится в ОЗУ, а не внутри ЦП. Сегмент предназначен для стека, как показано на следующей диаграмме:

enter image description here

От Wiki:

Область стека содержит стек программы, структуру LIFO, обычно расположенный в верхних частях памяти.

Ответ 3

О каком процессоре вы говорите?

  • Некоторые могут содержать память, которая используется для вызовов, в некоторых из которых содержится память, которая может использоваться для вызовов, но требует, чтобы ОС реализовала код управления стоп-костом, а другие вообще не содержат записываемой памяти. Например, архитектура x86 имеет один или несколько кэшей и кэши данных данных, встроенных в CPU.

  • Некоторые процессоры или ОС реализуют операции, которые делают определенные области памяти неисполняемыми. Например, для предотвращения переполнения буфера на основе стека многие операционные системы используют аппаратное и/или программное предотвращение выполнения данных, что может помешать стековой памяти из исполняемый как код. Некоторые этого не делают; Вполне возможно, что строка кэша данных процессора x86 может использоваться для хранения как стоп-кода, так и кода, который будет выполняться в более быстрой памяти.

  • EIP звучит как регистр для архитектуры процессора IA32. Если вы имеете в виду IA-32, то да, это операция ЦП, хотя многие операционные системы будут переключать ее в/из ОЗУ для эмуляции многозадачности.