- •1. Вычислительный цикл процессора.
- •2. Вентили и логические элементы.
- •3. Понятие архитектуры и микроархитектуры. Классификация вычислительных средств по архитектуре (классификация Флинна).
- •4. Микропроцессор (мп). Состав и основные функции. Процессоры risc и cisc.
- •5. Архитектура ia-32. Режимы работы процессора.
- •6. Архитектура ia-32. Особенности представления информации.
- •7. Архитектура ia-32. Регистры общего назначения и сегментные регистры.
- •8. Архитектура ia-32. Регистры смещений и регистр флагов.
- •9. Архитектура ia-32. Организация памяти.
- •10. Архитектура ia-32. Организация прерываний.
- •11. Ассемблер. Области применения. Достоинства и недостатки.
- •12. Ассемблер. Структура программы. Модель памяти small.
- •13. Ассемблер. Основные типы предложений.
- •14. Ассемблер. Описание сегмента данных.
- •15. Ассемблер. Способы адресации памяти.
- •16. Ассемблер. Команды пересылки данных. Арифметические команды
- •17. Ассемблер. Команды переходов. Процедуры.
- •18. Ассемблер. Команды управления циклами. Команды прерывания.
- •19. Запоминающие устройства. Иерархичная организация памяти. Основные показатели быстродействия системы памяти.
- •20. Физические основы работы внутренней памяти. Энергозависимая память.
- •21. Внутренняя энергонезависимая память.
- •22. Аппаратно-программные методы ускорения обработки данных. Распараллеливание операции
- •23. Аппаратно-программные методы ускорения обработки данных. Кэширование памяти.
- •24. Кэш прямого отображения. Наборно-ассоциативный и ассоциативный кэш.
- •25. Микроархитектурные особенности процессоров x86 I-V поколений.
- •26. Микроархитектурные особенности процессоров x86 VI поколений.
- •27. Микроархитектура NetBurst и Intel Core.
- •28. Архитектура ia-64.
27. Микроархитектура NetBurst и Intel Core.
Микроархитектура NetBurst
Применяется в процессорах Pentium 4.
Конвейер состоит из трех частей:
-
Устройство предварительной обработки инструкций в порядке их следования в программном коде. Результатом его работы является последовательность микроопераций.
-
Исполнительное ядро, которое исполняет микрооперации в удобном для него порядке.
-
Блок упорядоченного завершения, отражающий результаты выполнения операции в изменениях состояния внешней памяти и портов.
Реализована гиперконвейерная архитектура. Число ступеней конвейера 20-30. У Pentium III (10-12 ступеней), а у Pentium всего 5. Удлинение конвейера позволяет упростить микрооперации, а упрощенная логика работает быстрее – более короткая цепочка логических элементов вносит меньшие задержки распространения сигнала. Это позволяет повысить тактовую частоту. Однако длинный конвейер увеличивает накладные расходы при его остановках. Поэтому применяются все рассмотренные технологии снижения простоя конвейера.
Вместо первичного КЭШа инструкций используется кэш трассы (12 Кбайт) хранятся уже декодированные инструкции. Это позволяет экономить время на декодирование, однако организация такого КЭШа значительно сложнее. Кэш трасс тесно связан с устройством предварительной выборки. Для предсказания ветвлений используется статический и динамический метод. Статический метод заключается в том, что считается, что условные переходы назад, скорее всего, сбудутся (это типовой цикл), а вперед – не сбудутся. Для динамического предсказания используется специальный буфер (4К), который накапливает статистику инструкций ветвлений. Можно даже программно «намекнуть» процессору куда, скорее всего, пойдет вычислительный процесс. Для этого введена пара новых префиксов, которые можно использовать в командах условных переходов.
Диспетчер выполнения может за один такт поместить до 6 инструкций в исполняющие блоки. При этом каждый исполняющий блок может быть помещено до 3 инструкций. Выполнение микроопераций может стартовать сразу же, как только появятся необходимые операнды. Блок завершения позволяет за каждый такт завершать до трех операций. Что, с учетом роста тактовой частоты, существенно увеличивает производительность. Весь этот комплекс мер, повышающих количество операций за такт, называется Advanced Dynamic Execution.
Таким образом, микроархитектура NetBurst особенно эффективна на приложениях с линейным или циклическим кодом. Это, как правило, потоковые приложения (обработка видеоинформации в реальном времени, трехмерная визуализация, распознавание речи, Интернет- телефония). На непредсказуемо ветвящихся программах (таких как офисные приложения), гиперконвейерная архитектура не так эффективна.
В некоторых моделях реализована технология HT (Hyper Threading) – многопотоковое исполнение программ. Которое уже соответствует MIMD архитектуре. То есть операционная система видит два процессора, вместо реального одного. Основная идея заключается в следующем. При многоконвейерной архитектуре несмотря на все ухищрения, часть аппаратных ресурсов все равно простаивает. Так вот идея заключается в том, чтобы использовать эти простаивающие ресурсы для выполнения другой программы. Архитектурно процессоры, поддерживающие HT имеют дополнительную группу регистров и дополнительные ресурсы по организацию прерываний для разных логических процессоров. Кроме того, требуется поддержка ОС. Использование четырехкратного увеличения пакета передачи, позволило передавать по 200 FSB.
Начиная с 2004 года Intel ввела новую трехзначную маркировку своих процессоров.
Базовая микроархитектура МП отображается старшим разрядом:
3ХХ – процессоры Celeron
5XX – для настольных и мобильных ПК
7ХХ – для процессоров Pentium M с низким и сверхнизким потреблением.
В настоящий момент эта система дополнилась:
Появились серии 4xx, 6xx, двухядерные процессоры Pentium D и Pentium XE.
Последние версии процессоров семейства x86, стали, по-сути, 64-битными. Эту архитектуру часто называют x86-64. В ней все регистры общего назначения расширены до 64-битных (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP), регистры указателя инструкций также 64-битный (RIP), соответственно, появились новые инструкции для работы с этими регистрами. Многократно увеличилось количество адресуемой и виртуальной памяти. Первыми эту архитектуру стали поддерживать процессоры фирмы AMD – Athlon 64. Сама AMD назвала эту архитектуру AMD64. Впоследствии фирма Intel выпустила процессоры с этой архитектурой, называв ее EM64T. Фирма Microsoft называет эту архитектуру x64. Естественно, для того, чтобы новая архитектура эффективно работала, необходимо писать для нее специальное программное обеспечение, которое уже не будет работать на процессорах, не поддерживающих x86-64..
К настоящему времени эту архитектуру поддерживают следующие процессоры:
AMD K8:
AMD Athlon 64
AMD Athlon 64 X2
AMD Athlon 64 FX
AMD Opteron
AMD Turion 64
AMD Sempron ("Palermo" E6 stepping and all "Manila" models)
Intel NetBurst (EM64T)
Intel Xeon (some models since "Nocona")
Intel Celeron D (some models since "Prescott")
Intel Pentium 4 (some models since "Prescott")
Intel Pentium D
Intel Pentium Extreme Edition
Intel Core microarchitecture (EM64T)
Intel Xeon ("Woodcrest")
Intel Core 2
Микроархитектура Intel Core
Гиперконвейерная технология в конце своего развития столкнулась с рядом проблем. Важнейшими из которых являются проблема тепловыделения и проблема остановки роста тактовых частот. Фирма Intel имела довольно успешный опыт в технологиях, направленных на решение проблемы тепловыделения, реализованных в процессорах для мобильных ПК Pentium-M. омимо этого, вносимые технологические доработки в микроархитектуру МП приводили к реальному повышению быстродействия на прикладных программах лишь тогда, когда производители ПО учитывали микроахитектурные особенности МП при разработке этих прикладных программ. Однако, по экономическим соображениям, сложившимся на рынке, производители ПО делали это не очень охотно. Все это привело к тому, что основным способом эффективного повышения производительности МП стало расширение суперскалярной технологии, но конвейеры должны были стать как можно более независимыми, чтобы иметь возможность эффективно распараллеливать вычислительный процесс. То есть, по-сути, наметилась тенденция к увеличению количества ядер процессора, переход к SIMD или даже MIMD архитектуре.
Характерные особенности:
1. Многоядерность;
2. Intel Advanced Smart Cache.
Физически общий для всех ядер L2 кэш, с возможностью динамического перераспределения его использования в зависимости от выполняемых задач, что, во-первых, выгоднее с энергетической точки зрения, чем раздельный кэш. Во-вторых, решается проблема, когда КЭШу одного ядра не хватает места, в то время как кэш другого ядра практически свободен.
Индивидуальный L1 кэш для каждого ядра, но с возможностью прямого доступа к L1 кэшу соседнего ядра;
3. Длинна конвейера составляет 14 стадий (12 у Pentium III 20-30 у Pentium 4).
4. Модернизирован ряд технологий, направленных на увеличение количества выполняемых за такт инструкций. Все эти технологии объединяются под общим названием Intel Wide Dynamic Execution.
Среди них:
- количество одновременно обрабатываемых инструкций каждым исполнительным блоком увеличено до 4-х;
- технология макрослияния (Macro-Fusion). Набор CISC-инструкций, задаваемых программистом (например пара инструкций CMP и JMP), теперь может рассматриваться как одна микро-инструкция, эта одна микроинструкция выполняется быстрее.
5. Комплекс мер, направленных на энергосбережение - Intel Intelligent Power Capability.
Представляет из себя схемотехнические новшества, позволяющие динамически (достаточно быстро) включать и отключать неиспользуемые блоки, без снижения общей производительности системы.