Реферат: Архитектура IA-32
Инструкции SSE3 могут применяться в научных, видео и многопоточных приложениях.
Микроархитектура Intel NetBurst
В этом разделе описываются основные моменты микроархитектуры Intel NetBurst. Он дает техническую базу необходимую для понимания оптимизационных рекомендаций и правил кодирования процессоров Intel Pentium 4 и Intel Xeon.
Микроархитектура Intel NetBurst она спроектирована для достижения высокой производительности при целочисленных вычислениях и вычислениях операндов с плавающей точкой на высоких частотах. Она основывается на следующих моментах:
· гиперковейерная технология позволяющая работать на высоких частотах (до 10 ГГц)
· высокопроизводительный, четырехкратный шинный интерфейс для системной шины микроархитектуры Intel NetBurst
· скоростной движок для снижения задержек исполнения целочисленных инструкций
· спекулятивное разупорядоченное исполнение для поддержки параллелизма
· суперскалярная выдача для поддержки параллелизма
· поддержка аппаратного переименования регистров для исключения ограничений пространства имен
· 64-байтные нити КЭШа
· аппаратная предвыборка
Цели, для которых была разработана Микроархитектура Intel NetBurst
Цели, для которых была разработана Микроархитектура Intel NetBurst:
· для обеспечения наследственности приложений IA-32 и приложений основанных на SIMD на высокопроизводительных системах
· для оперирования на высоких тактовых частотах и для масштабирования высокой производительности и высоких тактовых частот в будущем
Преимущества микроархитектуры Intel NetBurst:
· многоконвейерный дизайн позволяющий работать на высоких тактовых частотах (различные части кристалла работают с различными тактовыми частотами)
· конвейер, оптимизированный для обработки часто исполняемых инструкций (часто исполняемые инструкции при обычных условиях эффективно декодируются и исполняются с меньшими задержками)
· внедрение специальных техник для исправления зависания конвейера. Среди них: параллельное выполнение, буферизация и спекуляция. Микроархитектура выполняет инструкции динамически и беспорядочно, так что время, которое необходимое для выполнения каждой отдельной инструкции не всегда может быть определено.
Обзор конвейера микроархитектуры Intel NetBurst
Конвейер микроархитектуры Intel NetBurst состоит из:
· блока начальной загрузки упорядоченных команд
· беспорядочного суперскалярного исполнительного ядра
· блок изъятия упорядоченных команд
Блок начальной загрузки поставляет инструкцию в программном порядке в беспорядочное ядро. Оно выбирает и декодирует инструкции IA-32. Декодированные инструкции переводятся в микрокоманды. Основная задача блока начальной загрузки состоит в доставлении непрекращающегося потока микрокоманд в исполнительное ядро в программном порядке.
Беспорядочное ядро жестко переупорядочивает микрокоманды, так что те микрокоманды, чьи входные данные готовы (и имеют доступные исполнительные ресурсы) могли бы быть выполнены как можно быстрее. Ядро может выдавать несколько микроопераций за цикл.
Секция изъятия убеждается, что результаты обработки произвелись в правильном порядке и что правильные архитектурные режимы обновлены.
Рисунок 3 отображает схему основных функциональных блоков конвейера микроархитектуры Intel NetBurst. Ниже перечисленные разделы проводят обзор каждого из блоков.