Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Упреждающее выполнение




Анализ потока команд

Динамическое выполнение

Этот метод сначала использовался в процессорах шестого поколения (Р6). Динамическое выполнение представляет собой комбинацию трех методов обработки данных в процессоре, таких как предсказание множественного перехода (ветвления), анализ потока команд и упреждающее выполнение. При динамическом выполнении более эффективно обрабатываются данные в процессоре, поскольку при этом учитывается логическая последовательность, а не просто обрабатывается поток команд.

Динамическое выполнение позволяет процессору не только динамически предсказывать порядок выполнения команд, но и при необходимости выполнять их внутри арифметико-логического устройства в другом порядке для повышения быстродействия. Динамическое выполнение - один из отличительных признаков всех процессоров шестого поколения.

Это средство анализирует и планирует выполнение команд в оптимальной последовательности, независимо от их первоначального порядка в программе. Процессор рассматривает декодируемые команды программного обеспечения и определяет, доступны ли они для обработки или же зависят от других команд, которые следует выполнить предварительно. Затем процессор определяет оптимальную последовательность обработки и выполняет команды наиболее эффективным способом.

Этот метод повышает эффективность с помощью опережающего просмотра счетчика команд и выполнения тех из них, к которым, вероятно, потребуется обратиться позже. Поскольку обработка команд программного обеспечения основана на предсказании ветвлений, результаты сохраняются в пуле (накопителе) и могут быть использованы в дальнейшем. Если в результате обработки потока команд окажется, что эти команды должны быть выполнены, то уже завершенные команды пропускаются, а их результаты записываются в основные регистры процессора в первоначальном порядке выполнения команд программы. Эта методика, по существу, позволяет процессору завершать команды заранее, а затем использовать уже вычисленные результаты по мере необходимости.

Одним из наиболее экстремальных случаев специализации кэшей можно считать кэш трасс (англ. trace cache), используемый в процессорах Intel Pentium 4. Кэш трасс — это механизм для увеличения пропускной способности загрузки инструкций и для уменьшения тепловыделения (в случае Pentium 4) за счет хранения декодированных трасс инструкций. Таким образом этот кэш исключал работу декодера при повторном исполнении недавно выполнявшегося кода.

Кэш трасс сохраняет декодированные инструкции либо после их декодирования либо после окончания их исполнения. Обобщая, инструкции добавляются в кэш трасс в группах, представляющих собой либо базовые блоки либо динамические трассы. Динамическая трасса (путь исполнения) состоит только из инструкций, результаты которых были значимы (использовались впоследствии) и удаляет инструкции, которые находятся в не исполняющихся ветвях, кроме того динамическая трасса может быть объединением нескольких базовых блоков.

Модуль предсказания переходов (прогнозирования ветвлений) (англ. Branch Prediction Unit) — устройство, входящее в состав микропроцессоров, имеющих конвейерную архитектуру, предсказывающее, будет ли выполнен условный переход в исполняемой программе. Предсказание ветвлений позволяет сократить время простоя конвейера, за счёт предварительной загрузки и исполнения инструкций после условного перехода. Прогнозирование ветвлений играет критическую роль, так как в большинстве случаев (точность предсказания переходов в современных процессорах превышает 90 %) позволяет оптимально использовать вычислительные ресурсы процессора

Без предсказания переходов конвейер должен дождаться выполнения инструкции условного перехода, чтобы произвести следующую выборку. Предсказатель переходов позволяет избежать траты времени, пытаясь выяснить ответвление. Ответвление выбирается по предыдущим результатам проверки условия. Предполагаемое ответвление затем загружается и частично выполняется. Если затем обнаруживается, что предсказание было выполнено неверно, отменяются результаты неверного ветвления и в конвейер загружается правильное ответвление, производя задержку. Величина задержки зависит от длины конвейера. Для Intel Core i7 глубина конвейера составляет 14 стадий.

 




Поделиться с друзьями:


Дата добавления: 2015-03-29; Просмотров: 2010; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.