2011-gre-cs-practice-book.pdf/Q64 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) |
|||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 2: | Строка 2: | ||
Рассмотрите следующую последовательность инструкций для гипотетического RISC-процессора: | Рассмотрите следующую последовательность инструкций для гипотетического RISC-процессора: | ||
− | + | ;T: R1 ← R2 + R3 | |
− | + | ;U: R4 ← R5 + R6 | |
− | + | ;V: R5 ← R7 + R8 | |
− | + | ;W: R9 ← R5 + R1 | |
− | + | ;X: R10 ← R4 + R1 | |
− | + | ;Y: R11 ← R10 + R1 | |
− | + | ;Z: R9 ← R1 + R4 | |
Какой из следующих вариантов представляет допустимый порядок выполнения инструкций на процессоре с переупорядочиванием, но без переименования регистров? | Какой из следующих вариантов представляет допустимый порядок выполнения инструкций на процессоре с переупорядочиванием, но без переименования регистров? | ||
Строка 21: | Строка 21: | ||
=== Объяснение === | === Объяснение === | ||
{{cstest-source|2011-gre-cs-practice-book.pdf|45|64}} | {{cstest-source|2011-gre-cs-practice-book.pdf|45|64}} | ||
+ | |||
Для правильного выполнения инструкций без переименования регистров важно учитывать зависимости между регистрами. Если инструкция использует значение регистра, которое обновляется другой инструкцией, она не может выполняться раньше этой инструкции. | Для правильного выполнения инструкций без переименования регистров важно учитывать зависимости между регистрами. Если инструкция использует значение регистра, которое обновляется другой инструкцией, она не может выполняться раньше этой инструкции. | ||
Строка 31: | Строка 32: | ||
* Z можно выполнить последней после U и T. | * Z можно выполнить последней после U и T. | ||
+ | [[Участник:StasFomin|StasFomin]] 21:47, 11 января 2025 (UTC): Тут бы граф с путем когда-нибудь нарисовать, ну ладно. | ||
+ | {{question-ok|[[Участник:StasFomin|StasFomin]] 21:47, 11 января 2025 (UTC)}} | ||
− | + | [[Категория:Процессорная архитектура]] | |
− | + |
Текущая версия на 21:49, 11 января 2025
Вопрос: Q64-08c765
Рассмотрите следующую последовательность инструкций для гипотетического RISC-процессора:
- T
- R1 ← R2 + R3
- U
- R4 ← R5 + R6
- V
- R5 ← R7 + R8
- W
- R9 ← R5 + R1
- X
- R10 ← R4 + R1
- Y
- R11 ← R10 + R1
- Z
- R9 ← R1 + R4
Какой из следующих вариантов представляет допустимый порядок выполнения инструкций на процессоре с переупорядочиванием, но без переименования регистров?
Ответы
- Правильный ответ: T, U, X, V, W, Z, Y
- T, U, X, V, Z, W, Y
- T, V, U, X, W, Y, Z
- U, T, V, Y, X, W, Z
- U, T, X, W, Y, Z, V
Объяснение
Исходники — вопрос 64 на 45 странице книги «2011-gre-cs-practice-book.pdf»
Для правильного выполнения инструкций без переименования регистров важно учитывать зависимости между регистрами. Если инструкция использует значение регистра, которое обновляется другой инструкцией, она не может выполняться раньше этой инструкции.
- T выполняется первой, так как записывает значение в R1.
- V можно выполнить сразу после T, чтобы подготовить R5.
- U можно выполнить, так как оно не зависит от других.
- X идет после T.
- W требует выполнения T и V.
- Y требует выполнения X.
- Z можно выполнить последней после U и T.
StasFomin 21:47, 11 января 2025 (UTC): Тут бы граф с путем когда-нибудь нарисовать, ну ладно.