- •Михайличенко А. В. – Москва, 2009. – 82 стр.
- •Оглавление
- •Раздел 1. Общие требования, предъявляемые к современным компьютерам.
- •Глава 1.1. Отношение стоимость/производительность.
- •Глава 1.2. Надежность и отказоустойчивость.
- •Глава 1.3. Маштабируемость.
- •Глава 1.4. Совместимость и мобильность программного обеспечения.
- •Раздел 2. Классификация вычислительных систем по областям применения.
- •Глава 2.1. Персональные компьютеры и рабочие станции.
- •Глава 2.2. Сервера.
- •Глава 2.3. Мейнфреймы.
- •Глава 2.4. Кластерные архитектуры.
- •Раздел 3. Оценка производительности вычислительных систем.
- •Глава 3.1. Общие замечания.
- •Глава 3.2. MIPS.
- •Глава 3.3. MFLOPS.
- •Глава 3.4. SPECint, SPECfp
- •Раздел 4. Архитектура вычислительных систем и компонентов.
- •Глава 4.1. Определение понятия «архитектура»
- •Глава 4.2. Архитектура системы команд. Классификация процессоров (CISC и RISC).
- •Структура процессоров Alpha: 21064, 21264
- •Сравнительные характеристики Alpha 21164 и 21264
- •Глава 4.3. Методы адресации и типы данных.
- •Глава 4.4. Команды машинного уровня.
- •Команды управления потоком команд
- •Глава 4.5. Конвейеризация.
- •Глава 4.6. Суперскалярная архитектура
- •Глава 4.7. Особенности архитектуры суперскалярных процессоров.
- •Глава 4.8. Процессоры с архитектурой 80x86 и Pentium
- •4.8.1. Архитектура ЦП 8086: основные регистры, организация памяти
- •4.8.2 Архитектура ЦП 80286: основные регистры, режимы работы, адресация памяти
- •Режимы работы
- •Формирование линейного адреса без участия селекторов
- •Формирование линейного адреса в защищенном режиме
- •4.8.3. Структура микропроцессоров IA-32
- •4.8.4. Регистры
- •4.8.5. Формат команды микропроцессора IA-32
- •4.8.6. Режимы работы
- •Реальный режим (Real Mode)
- •Режим системного управления (System Management Mode)
- •Защищенный режим (Protected Mode)
- •Раздел 5. Организация ввода/вывода.
- •Глава 5.1. Введение.
- •Глава 5.2. Системные и локальные шины.
- •Литература
30
селектора в регистре LDTR.
Процессоры i486SX и i486DX - это 32-битовые процессоры с внутренней кэшпамятью емкостью 8 Кбайт и 32-битовой шиной данных. Основное отличие между ними заключается в том, что в процессоре i486SX отсутствует интегрированный сопроцессор плавающей точки.
Появившийся в 1993 году процессор Pentium ознаменовал собой новый этап в развитии архитектуры x86, связанный с адаптацией многих свойств процессоров с архитектурой RISC. Процессор Pentium по сравнению со своими предшественниками обладает целым рядом улучшенных характеристик. Главными его особенностями являются:
∙двухпотоковая суперскалярная организация, допускающая параллельное выполнение пары простых команд;
∙наличие двух независимых двухканальных множественно-ассоциативных кэшей для команд и для данных, обеспечивающих выборку данных для двух операций в каждом такте;
∙динамическое прогнозирование переходов;
∙конвейерная организация устройства плавающей точки с 8 ступенями;
∙двоичная совместимость с существующими процессорами семейства 80x86.
4.8.3. Структура микропроцессоров IA-32
Базовую структуру микропроцессоров (МП) IA-32 можно рассмотреть на примере Intel-386 (рис). В структуре Intel-386 можно выделить шесть основных блоков, работающих параллельно: блок интерфейса с магистралью, блок предварительной выборки команд, блок декодирования команд, исполнительный блок, блок управления сегментами и блок страничной трансляции.
30
31
Рис. Структура микропроцессора Intel-386
Блок интерфейса с магистралью содержит драйвер адреса, схемы управления размером адреса и конвейером, мультиплексор, приемопередатчики и др. Этот блок обеспечивает интерфейс между МП и его окружением. Он принимает внутренние запросы для выборки команд от блока предварительной выборки команд и для обмена данными с исполнительным блоком и устанавливает приоритет этих запросов. Одновременно он генерирует или обрабатывает сигналы для исполнения текущего цикла магистрали. К ним относятся сигналы адреса, данных и управления для обращения к внешней памяти и устройствам ввода-вывода. При помощи схемы арбитра запросов блок управляет интерфейсом с внешними задатчиками магистрали и сопроцессорами. В МП Intel-486 (рис) этот блок был дополнен схемой управления паритетом (выравниванием) и схемой управления пакетами. На основе последней был реализован специальный режим работы магистрали - режим пакетирования. В этом режиме при передаче 4 слов на магистрали выставляется только адрес первого, что позволяет существенно сократить время обмена данными с оперативной памятью или внешним кэшем.
32
Рис. Структура микропроцессора Intel-486
Таблица. Порядок передачи 4 слов (64 бита) на системной магистрали
Такт |
Конвейеризация Intel-286 |
Режим пакетирования Intel-486 |
|
|
|
|
|
|
1 |
Адрес 1 слова |
Адрес 1 слова |
|
|
|
2 |
Передача 1 слова |
--- |
|
|
|
3 |
Адрес 2 слова |
Передача 1 слова |
4 |
Передача 1 слова |
Передача 2 слова |
5 |
Адрес 3 слова |
Передача 3 слова |
6 |
Передача 1 слова |
Передача 4 слова |
7Адрес 4 слова
8Передача 1 слова
Для того чтобы заранее получать команды или данные перед их фактическим использованием, существует функция опережающего просмотра программы,
32
33
которую в Intel-386 выполняет блок предвыборки команд. Когда блок интерфейса с магистралью не занимает цикла магистрали для исполнения команды, блок предвыборки команд использует его для последовательной выборки из памяти байтов команд. Эти команды хранятся в 16-байтовой очереди команд в ожидании обработки блоком декодирования команд.
Блок декодирования команд преобразует байты команды из этой очереди в микрокод. Декодированные команды в ожидании обработки исполнительным блоком хранятся в очереди команд, работающей по принципу FIFO (First In First Out). В Intel386 эта очередь имеет размер 3 команды, а в Intel-486 - уже 5 команд, что позволяет этому МП при некоторых условиях выполнять по одной команде за цикл. Непосредственные данные и относительные адреса в коде операции также берутся из очереди команд.
Исполнительный блок выполняет команды из очереди команд и взаимодействует со всеми другими блоками, нужными для завершения выполнения команды. Для ускорения выполнения команд с обращением к памяти исполнительный блок приступает к их исполнению до завершения выполнения предыдущей команды. Так как команды с обращением к памяти встречаются очень часто, то благодаря такому перекрытию по времени производительность повышается. В МП Pentium исполнительный блок реализован в виде двух параллельных конвейеров (u и v), что позволяет ему выполнять до двух команд за такт. Это архитектурное решение названо суперскалярностью. Оно получило дальнейшее развитие в МП подсемейства P6 (Pentium Pro, Pentium II, Pentium III), где исполнительный блок представлен уже тремя конвейерами. Особенностью конвейеров P6 является динамическое выполнение (предсказание ветвлений, спекулятивное выполнение, изменение последовательности команд).
В исполнительный блок встроены регистры общего назначения (РОН), которые используются для таких операций, как двоичное сложение или вычисление и модификация адресов. Исполнительный блок содержит восемь 32-разрядных РОНов, применяемых как для вычисления адресов, так и для операций с данными. Этот блок содержит также 64-разрядный регистр, необходимый для ускорения операций сдвига, циклического сдвига, умножения и деления.
Интеграция в МП i486DX блока вычислений с плавающей точкой (Floating Point Unit) резко повысила производительность вещественной арифметики. В МП Pentium MMX был добавлен набор команд, позволяющий использовать регистры блока FPU для параллельной обработки пакета целочисленных данных: SIMD - "одна инструкция - несколько операндов". В МП Pentium III эта технология была расширена, за счет добавленияем блока XMM, позволяющего параллельно обрабатывать пакет вещественных данных: SSE - потоковое расширение SIMD.
Блоки сегментации и страничной трансляции образуют устройство управления памятью.
Блок сегментации преобразует логические адреса в линейные по запросу исполнительного блока. Для ускорения этого преобразования текущие дескрипторы сегментов помещаются во встроенную кэш-память. Во время трансляции адресов блок управления сегментами проверяет, нет ли нарушения сегментации. Эти проверки выполняются отдельно от проверок нарушений статической сегментации, осуществляемых механизмом проверки защиты. Блок сегментации обеспечивает четыре уровня защиты (от 0 до 3) с целью изоляции и защиты друг от друга прикладных программ и операционной системы. Этот компонент также позволяет