2011-gre-cs-practice-book.pdf/Q33 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
{{reserve-task|[[Участник:Ydanyok|Ydanyok]] 15:03, 19 декабря 2024 (UTC)}}== Вопрос: Q33-08c765 ==
+
== Вопрос: Q33-08c765 ==
 +
Что из перечисленного обычно происходит при выполнении вызова процедуры на процессоре?
  
<i>Тут вставьте перевод вопроса.
+
* I. Обновляется программный счетчик. 
Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 возможности разметки],
+
* II. Обновляется указатель стека.
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz .
+
* III. Кэш данных очищается для предотвращения проблем с псевдонимами.
Если код — теги «code-pascal», «code-c» или «code-python».
+
  
Старайтесь нетривиальные понятия, особенно незнакомые вам, найти ссылку на википедию и вставить (нейросети лажают!).
 
Это важно, чтобы найти корректный перевод (то, что в википедии, или на худой конец — точно массово гуглится).
 
 
Потом конечно сотрите инструкции, которые тут курсивом.</i>
 
  
 
=== Ответы ===
 
=== Ответы ===
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
 
(префикс «Правильный ответ:» — это дословно, для правильного ответа, неважно, какой он будет в списке)</i>
 
  
* Правильный ответ: тут реально правильный ответ
+
* Правильный ответ: I, II и III
* неправильный ответ
+
* Только I
* еще какой-то неправильный ответ
+
* Только II
* еще какой-то неправильный ответ
+
* Только I и II
* еще какой-то неправильный ответ
+
* Только I и III
  
<i>Если ответы длинные, многострочные, или там графы, используйте
 
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
 
Но такое очень редко встречается. </i>
 
  
  
 
=== Объяснение ===
 
=== Объяснение ===
<i>Сначала заполните номер страницы с этим вопросом
 
{{cstest-source|2011-gre-cs-practice-book.pdf|тут-номер-страницы-с-вопросом-33|33}}
 
  
Если все сделаете правильно, по ссылке выше будет открываться правильная страница в правильном PDFе.
+
* 1. Программный счетчик (Program Counter) действительно обновляется, когда выполняется вызов процедуры. Это необходимо для того, чтобы после завершения процедуры выполнение программы продолжилось с правильного места.
 +
* 2. Указатель стека (Stack Pointer) также обновляется. При вызове процедуры данные могут помещаться в стек (например, аргументы функции), поэтому указателю стека нужно измениться.
 +
* 3. Кэш данных может быть очищен, чтобы избежать проблем с псевдонимами ([https://en.wikipedia.org/wiki/Aliasing_(computing) aliasing]). Псевдонимизация возникает, когда одна и та же область памяти имеет разные имена, и очистка кэша помогает гарантировать, что все изменения, сделанные до этого момента, будут записаны обратно в память перед выполнением новой процедуры.
 +
 
 +
Таким образом, все три пункта (I, II и III) могут происходить при вызове процедуры.
  
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный, а [[2004-gre-cs-practice-book.pdf/Q16|неправильные варианты — неправильны]].
+
{{cstest-source|2011-gre-cs-practice-book.pdf|31|33}}
Тут тоже могут быть полезны [[2004-gre-cs-practice-book.pdf/Q03|ссылки на википедию]],
+
решение вами [[2004-gre-cs-practice-book.pdf/Q12|рекуррентных уравнений в sympy]].
+
  
</i>
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 15:44, 19 декабря 2024 (UTC)}}
  
{{question-ok|}}
+
[[Категория:Системное программирование]]
 +
[[Категория:Процессорная архитектура]]

Текущая версия на 15:47, 19 декабря 2024

Вопрос: 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»