2011-gre-cs-practice-book.pdf/Q33

Материал из DISCOPAL
Перейти к: навигация, поиск

Вопрос: Q33-08c765

Что из перечисленного обычно происходит при выполнении вызова процедуры на процессоре?

  • I. Обновляется программный счетчик.
  • II. Обновляется указатель стека.
  • III. Кэш данных очищается для предотвращения проблем с псевдонимами.


Ответы

  • Правильный ответ: I, II и III
  • Только I
  • Только II
  • Только I и II
  • Только I и III


Объяснение

  • 1. Программный счетчик (Program Counter) действительно обновляется, когда выполняется вызов процедуры. Это необходимо для того, чтобы после завершения процедуры выполнение программы продолжилось с правильного места.
  • 2. Указатель стека (Stack Pointer) также обновляется. При вызове процедуры данные могут помещаться в стек (например, аргументы функции), поэтому указателю стека нужно измениться.
  • 3. Кэш данных может быть очищен, чтобы избежать проблем с псевдонимами (aliasing). Псевдонимизация возникает, когда одна и та же область памяти имеет разные имена, и очистка кэша помогает гарантировать, что все изменения, сделанные до этого момента, будут записаны обратно в память перед выполнением новой процедуры.

Таким образом, все три пункта (I, II и III) могут происходить при вызове процедуры.

Исходники — вопрос 33 на 31 странице книги «2011-gre-cs-practice-book.pdf»

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.