Архитектура ЭВМ. Процессоры корпорации Intel с динамическим выполнением команд

обязателен предварительный анализ потока команд для выявления зависимостей по данным (конфликтов по данным). В табл. 1 зави­ симости по данным указаны стрелками между командами 3-1, 5-4, 9-8, 11-10. 2.1. Выполнение команд в сунерскаляре 2-го уровня Заметим, что время выполнения представленных команд при строго последовательном выполнении занимает 19 тактов (12 ко­ манд плюс дополнительные задержки на один такт при выполнении двухтактной команды 4 и два раза по три такта за счет кэш-промаха при выполнении команд 3 и 10). Число выполненных команд на один такт (IPC - Instructions Per Clock) в случае просто скалярного процессора составил бы величину 0,63. В табл. 1 в нижней строке представлена динамика изменения величины IPC по тактам. В первом такте выполнены две команды и IPC = 2, во втором такте происходит задержка (кэш-промах) при выполнении команды 3 и значение IPC падает. На третьем такте выполнены три команды, но IPC продолжает падать, так как IPC определяется по числу выполненных команд, результаты которых зафиксированы. Незафиксированные результаты выполненных ко­ манд могут быть аннулированы при некоторых событиях, таких как переход на обработку прерываний или неправильное предсказание ветвлений. Рост величины IPC начинается с пятого такта после фикса­ ции результатов выполнения команд 3 и 4. Но с восьмого такта IPC вновь падает из-за задержки (кэш-промах) при выполнении коман­ ды 10. При использовании суперскаляра 2-го уровня можно было бы ожидать ускорения выполнения программы в два раза. Но в табл. 2 14

RkJQdWJsaXNoZXIy MTY0OTYy