Рубрики

ВОРОТА | GATE 2017 MOCK II | Вопрос 48

Конвейер инструкций имеет 4 этапа: извлечение инструкций (IF), декодирование инструкций (ID), выполнение команд (Ex), обратная запись (WB). Все инструкции проходят все этапы и занимают 4 такта. Инструкции ветвления не перекрываются, то есть инструкции после ветвления не выбираются до тех пор, пока ветвь не станет известна. Ветвь известна в фазе выполнения. Предположим, что 20% инструкций являются условными, а 80% — безусловными. Рассчитать скорость до 100 инструкций (до 2 десятичных знаков). Не обращайте внимания на то, что ветка не может быть взята.
(А) 2,86
(В) 3.21
(С) 1,65
(D) 2,57

Ответ: (А)
Пояснение: Предположим, что каждый этап занимает 1 с.
20 условных — 20 * 3 с (количество циклов на инструкцию для условных инструкций равно 3, поскольку ветвление известно на третьем этапе)
80 безусловных — 80 с (количество циклов на инструкцию для безусловных равно 1)

Таким образом, общее время, затраченное на конвейер = 20 * 3 + 80
= 140 с

Время, взятое без конвейера = 4 * 100 (цикл на инструкцию для всех равен 4)
Ускорение = 400/140 = 2,86

Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE 2017 MOCK II | Вопрос 48

0.00 (0%) 0 votes