- •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.
25. Микроархитектурные особенности процессоров x86 I-V поколений.
Микроархитектурные особенности процессоров
Процессоры x86
Первое поколение
К нему относятся процессоры 8086 и 8088 и сопроцессор 8087.
МП 8086 по определению фирмы Intel является носителем базовой архитектуры x86. Выпущен в 1979г. Все современные МП семейства x86 совместимы с ним. Так называемый реальный режим работы современных процессоров x86 эмулирует работу именно процессора 8086. Имеется набор неравноправных 16-битных регистров, сегментная система адресации памяти, которая позволяет адресовать лишь 1Мбайт (разрядность адресной шины 20 бит). Имеется базовая конвейеризация – пока выполняется текущая инструкция, блок предварительной выборки выбирает из памяти следующую. Размер инструкции 1-6 байта. В однобайтовой инструкции либо весь байт является кодом операции, либо вместе с кодом операции содержит номер регистра, в котором должен находится операнд.
Среднее время выполнения одной инструкции – 12 тактов. Тактовая частота – 4.77 или 8 МГц.
Второе поколение
Процессор 80286 с сопроцессором 80287
Появился защищенный режим, и вместе с ним виртуальная память (до 1 Гбайт), пространство адресуемой памяти увеличилось до 16 Мбайт (разрядность адресной шины увеличена до 24 бит). Более усовершенствован конвейер. Регистры, в которых хранятся очереди команд, имеют общий размер 6 байт. На выполнение инструкций в среднем тратилось 4.5 такта. Естественно, увеличились тактовые частоты – 8-20 МГц. Появились дополнительные инструкции.
Третье поколение
Процессор 80386 (80387)
Осуществлен переход к архитектуре IA-32 (IA-16, конечно, тоже осталась). Разрядность шины данных увеличена до 32-бит. Появилась возможность работать с 32-разрядными данными. Для этого почти все программно-доступные регистры были расширены (EAX, EBX и т.д.) Объем адресуемой и виртуальной памяти также увеличился (до 4Гбайт и 64Тбайт соответственно). То есть разрядность адресной шины увеличена до 32 бит. Защищенный режим был усовершенствован (в частности, добавлен режим виртуальных машин), это привело к появлению многозадачности. Существенных изменений в плане организации выполнения инструкций не произошло, однако частоты выросли до 16-50 МГц.
Четвертое поколение
Процессор 80486
Архитектурная модель (то есть программно-видимая модель) не изменилась, однако на микроархитектурном уровне произошли значительные изменения. Во-первых, значительно усложнен конвейер. Каждая CISC-операция, задаваемая программистом, разбивается на микрооперации, которые выполняет RISC-ядро. При полной загрузке конвейер способен выдавать каждые два такта по одной выполненной инструкции, однако каждая инструкция теперь проходит весь конвейер за большее количество тактов, однако при полной загрузке конвейера это уже не важно. Производительность конвейера существенно оторвалась от скорости доставки инструкций из оперативной памяти, поэтому был введен прямо в процессор быстродействующий кэш первого уровня объемом 8 Кбайт. Тактовая частота увеличена до 25-100 МГц. От внешнего сопроцессора отказались. Теперь если он есть, то обязательно в самом процессоре, или его нет вообще.
Пятое поколение
Процессоры Pentium и K5
Появилась суперскалярная микроархитектура. Конвейерная система имеет пять стадий: предварительная выборка команд, декодирование, вычисление адресов операндов, выполнение операции, запись результатов. Первые две стадии выполняются на общем конвейере, следующие стадии могут выполняться на двух конвейерах АЛУ-V и АЛУ-U. АЛУ-U аналогичен АЛУ процессора 80486. АЛУ-У лишен некоторых внутренних регистров. Теоретически получается возможным с двумя конвейерами выпускать за каждый такт две инструкции (по одной с каждого конвейера), но на практике получается лишь одна инструкция на выходе за такт. Так как не все инструкции могут выполняться парно. Эффективность работы конвейера сильно зависит от программного кода. Имеется блок предсказания ветвлений. Для ускорения снабжения конвейеров данными и инструкциями шина данных расширена до 64 бит. Однако максимальная разрядность данных осталась 32 бита. Кэш-память имеет гарвардскую архитектуру, то есть кэш данных и инструкций разделены (каждый по 8 Кбайт).
В последних моделях поколения появилось расширение инструкций MMX. Представляющей собой набор SIMD-команд – то есть одна и та же операция выполняется одновременно над несколькими комплектами операндов.