КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Команды ветвления
Теперь рассмотрим причины из за которых архитектурная производительность суперконвейерного процессора падает, из за которых может падать не только архитектурная, но и производительность процессора. То есть рассмотрим недостатки слишком длинного конвейера, и причины по которым суперконвейерные процессоры так и не получили большого распространения. Суперконвейерный процессор. В последние годы число ступеней конвейерных процессоров увеличивалось, вплоть до тех пор, пока для большей части команд не стало выполняться условие n < N, то есть вплоть до тех пор, пока большая часть команд не стала исполняться без задержек (без блокирования конвейера). Архитектурная производительность конвейерных процессоров приблизилась к теоретическому пределу IPC=1. Далее появились и так называемые «суперконвеерные» процессоры. Сначала специализированные, а затем и универсальные (Pentium-4). В суперконвейерном процессоре длинна конвейера ещё более увеличивается, и заметно превышает число микроопераций выполняемых при выполнении большинства команд. Увеличение числа ступеней используется следующим образом: выполнение микроопераций разделяется между несколькими ступенями конвейера, так что выполнение микрооперации начинается на одной, а заканчивается уже на другой ступени конвейера. Каждая из ступеней выполняет только часть работы по выполнению микрооперации, работа выполняемая на ступени снижается, а значит появляется возможность сократить время выполнения микрооперации и поднять тактовую частоту. Таким образом для суперконвейерного процессора производительность (P=IPC*Fт) растёт уже не за счёт роста архитектурной производительности (более того, из за некоторых причин, часть из которых будет рассмотрена далее для суперконвейерного процессора IPC даже несколько падает), а за счёт роста тактовой частоты Fт. Если в программе встречается команда условного перехода (или какие то другие команды ветвления), заранее, до завершения выполнения команды ветвления, процессору неизвестно - какую именно команду выполнять далее. Толи команду следующую после команды перехода (ветвления), то ли команду указываемую адресом перехода. Значит не известно какую команду следует загружать в конвейер далее, после команды перехода (ветвления). Аппаратура процессора тут может только пытаться угадывать, на основе каких-то косвенных признаков, анализируя ход выполнения программы, пытаться угадывать какую команду загружать в конвейер следующей, после загрузки команды перехода (так называемая «технология предсказания ветвлений» – используется в современных процессорах).
Но если аппаратура процессора не угадает, тогда процессору приходится очищать конвейер (удалять из него уже частично выполненные команды) и загружает в него новую порцию команд, следует так называемая «перезагрузка конвейера». Причем первый результат выполнения команды после перезагрузки на выходе конвейера появиться только через N тактов (где N – длинна конвейера). Мы будем иметь задержку в выполнении программы, причём тем большую чем больше длинна конвейера. Говорят «цена ошибки предсказания перехода для процессоров с большей длинной конвеера – большая».
Большая цена ошибки предсказания перехода сказывается при выполнении многих программ (приводит к снижению производительности), и особенно при выполнении так называемых «алгоритмически сложных программ», то есть таких для характерно значительное число команд ветвления. Алгоритмическая сложность программ измеряется средним числом команд передачи управления на тысячи команд машинного кода. Типичные алгоритмически сложные задачи (более 100 переходов): 1. Системы искусственного интеллекта экспертные системы и другие программы, моделирующие поведение человека. 2. Ситуативно-логическое моделирование процессов в электронных, механических устройствах, в экономике и другие программы, выдающие результат в результате логического анализа возможных сценариев развития событий. 3. Информационно-управляющие задачи. 4. Системы синтаксического анализа текста, переводчики. 5. Операционные системы, причем операционная система, участвуя в выполнении любых программ, добавляет сложность в любую программу.
Задачи средней сложности: 1. Базы данных. 2. Поисковые системы. 3. Алгоритмически простые задачи: 1. Программы моделирования процессов, описываемых системами математических уравнений. 2. 3D-графика.
Дата добавления: 2014-01-07; Просмотров: 721; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |