русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Архитектура NetBurst


Дата добавления: 2015-08-14; просмотров: 554; Нарушение авторских прав


В основу микроархитектуры NetBurst от Intel вошли все перспективные наработки, применявшееся ранее в архитектуре процессоров семейства P6, но и инноваций тоже предостаточно.

Минимизация влияния ошибочно предсказанных переходов Единственной возможностью обеспечить гиперконвейерную архитектуру непрерывной работой является выполнение команд с изменением последовательности выполнения (out-of-order execution) и выполнение команд, находящихся после команды перехода до получения реального адреса перехода, т.е. по предположению (speculative execution). При такой схеме работы процессор использует внутренний алгоритм предсказания переходов, который, естественно, не всегда точно предсказывает ветвь, по которой пойдет работа программы. Более того, чем длиннее конвейер, тем более долгое время займет его очистка и перезапуск по правильной ветви программы. Вот какие решения были применены для оптимизации данной схемы.

Для минимизации неправильных переходов в процессоре Willamette применен большой, объемом 4 Кбайта (у P6 - 512 байт), буфер адреса перехода (BTB - branch target buffer), который хранит более подробную историю предыдущих переходов, нежели P6. Также применен еще более продвинутый алгоритм предсказания переходов, позволяющий с большей степенью точности предсказывать правильность переходов. Данные меры позволили добиться существенного увеличения точности по сравнению с семейством Р6 - приблизительно на треть, таким образом, для процессора Pentium 4 вероятность удачного предсказания составляет порядка 93-94 процентов.

Для обеспечения блока выполнения микрокомандами, станцию-резервуар (Reservation Station), называемую в новом процессоре окном команд (Instruction Window), но не меняющей от этого своей сути и назначения, сделали значительно больше, расширив до 126 инструкций - теперь у процессора есть значительно большая свобода в выборе микрокоманд для внеочередного исполнения.



Два вышеописанных нововведения являются частью Advanced Dynamic Execution Engine - усовершенствованного механизма динамического исполнения.

Для обеспечения увеличенного потока микрокоманд и быстрого восстановления конвейера в случае выбора неправильной ветви программы служит Execution Trace Cache - трассирующий кэш команд. Это принципиально новый подход к организации кэша команд первого уровня - кэш находится после дешифраторов и содержит микрокоманды, готовые к исполнению, благодаря чему исключается простой конвейера, вызванный долгой дешифрацией сложных команд. При этом микрокоманды в кэше упорядочиваются в соответствии с несколькими предсказанными ветвями программы, т.е. подряд кэшируется весьма длинный кусок программы - так называемая трасса. Проще говоря, при выполнении заранее упорядоченные в кэше микрокоманды - трассы выбираются подряд, независимо от своих адресов. Благодаря этому обеспечивается увеличенный поток микрокоманд и оптимальное использование пространства кэша, вмещающего около 12 тысяч микрокоманд.



<== предыдущая лекция | следующая лекция ==>
Процессоры Pentium 4 | Инструкции Streaming SIMD Extensions 2


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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