Архитектура ЭВМ. Процессоры корпорации 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
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy