- •Предисловие
- •Глава 1. Общие сведения о микропроцессорах
- •1.1 Классификация микропроцессоров
- •1.2 Характеристики микропроцессоров
- •1.2.1 Тактовая частота
- •1.2.2 Архитектура процессора
- •1.2.3 Технологический процесс производства
- •1.2.4 Частота системной шины
- •1.2.5 Размер кэша
- •1.3 Типы архитектур микропроцессоров
- •1.4 Структурная схема микропроцессоров
- •1.4.1 Микропроцессор Фон-Неймана
- •1.4.2 Конвейер
- •1.4.3 Зависимость между частотой и количеством ступеней конвейера
- •1.5 Представление информации в эвм
- •1.5.1 Двоичное представление целых чисел
- •1.5.2 Представление символьной информации
- •Глава 2. Архитектура микропроцессоров ia-32
- •2.1 Состав и функции регистров
- •2.1.1 Основные регистры
- •2.1.2 Регистры дополнительных функциональных модулей
- •2.2 Типы адресации
- •2.3 Система команд
- •2.3.1 Классификация команд
- •2.3.2 Формат команды
- •2.3.3 Однобайтовые команды
- •2.3.4 Непосредственно заданные операнды
- •2.3.5 Команды с регистровыми операндами
- •2.3.7 Команды с операндами, расположенными в памяти
- •Глава 3. Организация многоуровневой памяти
- •3.1 Принцип построения многоуровневой памяти
- •3.2 Организация кэш-памяти
- •3.3 Протоколы когерентности памяти микропроцессоров
- •3.4 Страничная организация памяти
- •Глава 4. Режимы работы процессоров ia-32
- •4.1 Обзор режимов работы
- •4.2 Реальный режим адресации
- •4.3 Защищённый режим
- •4.3.1 Дескрипторные таблицы
- •4.3.2 Дескрипторные регистры
- •4.3.3 Дескриптор
- •4.3.4 Односегментная модель памяти
- •4.3.5 Многосегментная модель памяти
- •Глава 5. Страничная организация памяти в процессорах ia‑32
- •5.1 Каталог страниц
- •5.2 Таблица страниц
- •5.3 Страничная переадресация
- •5.4 Диспетчер виртуальных машин системы Microsoft Windows
- •Глава 6. Архитектура процессоров с параллелизмом уровня команд
- •6.1 Подходы к использованию ресурса транзисторов в микропроцессорах
- •6.2 Суперскалярные процессоры и процессоры с длинным командным словом
- •6.3 Зависимости между командами, препятствующие их параллельному исполнению
- •6.4 Предварительная выборка команд и предсказание переходов
- •6.5 Условное выполнение команд в vliw-процессорах
- •6.6 Декодирование команд, переименование ресурсов и диспетчеризация
- •6.7 Исполнение команд
- •6.8 Завершение выполнения команды
- •6.9 Направления развития архитектуры процессоров с параллелизмом уровня команд
- •Глава 7. Мультитредовые микропроцессоры
- •7.1 Основы мультитредовой архитектуры
- •7.2 Выявление тредов
- •7.3 Мультитредовые процессоры с тредами, выявляемыми путем анализа потоков управления программы
- •7.3.1 Мультитредовая модель выполнения программы
- •7.3.2 Мультитредовые программы
- •7.3.3 Аппаратные средства мультитредовой архитектуры
- •7.3.4 Преимущества мультитредовой архитектуры
- •7.4 Мультитредовые процессоры с тредами, выявляемыми путем анализа потоков данных программы
- •7.5 Специфика мультитредовых моделей распараллеливания
- •Глава 8. Модуль обработки вещественных чисел
- •8.1 Представление чисел с плавающей запятой
- •8.2 Состав модуля fpu
- •Глава 9. Основы 64-разрядной архитектуры
- •9.1 Состав и назначение регистров микропроцессора ia-64
- •9.2 Особенности архитектуры epic
- •9.3 Архитектура x86-64
- •9.4 Структура одноядерного процессора
- •9.5 Многоядерные процессоры
- •9.6 Зачем нужны “лишние” разряды?
- •Глава 10. Современные 64-разрядные микропроцессоры корпораций Intel и amd
- •10.1 Архитектура Intel Core 2
- •10.1.1 Intel Wide Dynamic Execution
- •10.1.2 Intel Intelligent Power Capability
- •10.1.3 Intel Advanced Smart Cache
- •10.1.4 Intel Smart Memory Access
- •10.1.5 Intel Advanced Digital Media Boost
- •10.1.6 Логическая схема процессора
- •10.2 Архитектура Intel Core i7
- •10.2.1 Технология Hyper-Threading в архитектуре Nehalem
- •10.2.2 Иерархия кэш-памяти в архитектуре Nehalem
- •10.3 Хронология развития семейств микропроцессоров с архитектурой Nehalem
- •10.4 Архитектура amd Athlon 64
- •10.4.1 Ядро процессора
- •10.4.3 Контроллер памяти
- •10.4.4 Контроллер HyperTransport
- •10.5 Архитектура amd k10
- •10.4.1 Технология amd Memory Optimizer Technology
- •10.5.2 Ядро процессора
- •10.5.3 Предвыборка данных и инструкций
- •10.5.4 Выборка из кэша
- •10.5.5 Предсказание переходов и ветвлений
- •10.5.6 Процесс декодирования
- •10.5.7 Диспетчеризация и переупорядочение микроопераций
- •10.5.8 Выполнение микроопераций
- •10.5.9 Технологии энергосбережения
- •10.5.10 Шина HyperTransport 3.0
- •10.5.11 Семейство процессоров Barcelona
- •10.5.12 Семейство процессоров Phenom
- •Глава 11. Технологии, поддерживаемые современными микропроцессорами
- •11.1 Технологии тепловой защиты
- •11.1.1 Технология Thermal Monitor
- •11.1.2 Технология Thermal Monitor 2
- •11.1.3 Режим аварийного отключения
- •11.2 Технологии энергосбережения
- •11.2.1 Технология Enhanced Intel SpeedStep
- •11.2.2 Технология Cool'n'Quiet
- •11.3 Технология расширенной памяти
- •11.4 Технология антивирусной защиты
- •11.5 Технология виртуализации
- •11.6 Реализация технологий в современных микроархитектурах
- •11.6.2 Em64t – NetBurst
- •11.6.3 Intel Core
- •11.6.4 Intel Atom
- •11.6.5 Nehalem
- •11.6.6 Xeon
- •Глава 12. Графические микропроцессоры
- •12.1 Основные термины и определения
- •12.2 Технологии построения трёхмерного изображения
- •12.2.1 Технологии повышения реалистичности трехмерного изображения
- •12.3 Шейдерный процессор
- •12.4 Особенности современных графических процессоров
- •Глава 13. Однокристальные микроконтроллеры
- •13.1 Общая характеристика микроконтроллеров
- •13.2 Микроконтроллеры семейства avr
- •Почему именно avr?
- •13.3 Общие сведения об омк avr
- •13.4 Характеристики avr-микроконтроллеров
- •Глава 14. Технология производства микропроцессоров
- •14.1 Особенности производства процессоров
- •14.2 Новые технологические решения
- •14.3 Технология производства сверхбольших интегральных схем
- •I. Выращивание кристалла кремния
- •II. Создание проводящих областей
- •III. Тестирование
- •IV. Изготовление корпуса
- •V. Доставка
- •14.4 Перспективы производства сбис
- •Англо-русский словарь терминов и аббревиатур
- •Библиографический список
- •Интернет-ссылки
- •350072. Краснодар, ул. Московская, 2, кор. А.
4.3.5 Многосегментная модель памяти
(для 16-битных приложений)
При использовании многосегментной модели памяти для каждой программы выделяется собственная таблица сегментных дескрипторов, которая называется таблицей локальных дескрипторов (Local Descriptor Table, или LDT). При этом появляется возможность для каждого процесса создать собственный набор сегментов, которые никак не пересекаются с сегментами других процессов, даже если значения их дескрипторов, находящиеся в сегментных регистрах, совпадают.
В результате каждый сегмент находится в изолированном адресном пространстве. На рисунке 4.4 показано, что каждый элемент таблицы локальных дескрипторов определяет различные сегменты памяти. В каждом дескрипторе сегмента указывается его точная длина.
Смещение адреса данных в каждом сегменте не должно превышать его размер. За этим следит менеджер памяти, являющийся частью ядра операционной системы.
На практике используется комбинированная модель памяти, когда 32-разрядные приложения регистрируются в глобальной таблице дескрипторов, а 16-разрядные приложения – в локальных. При этом адреса локальных таблиц дескрипторов хранятся в глобальной таблице дескрипторов.
Вопросы для самопроверки
Какова основная режимы работы процессоров IA-32?
Для чего используется реальный режим адресации микропроцессоров?
Какой основной режим работы процессоров IA-32?
В чём заключается отличие логического и линейного адреса при защищённом режиме работы?
В каких регистрах хранится селектор сегмента?
Какую информацию хранит дескриптор сегмента?
Для чего служат дескрипторные таблицы?
Какие поля содержит дескриптор сегмента?
В чём заключается отличие линейного и физического адреса при защищённом режиме работы?
Каков принцип доступа к ячейкам памяти в односегментной модели памяти?
Дл чего служит флаг гранулярности в дескрипторе сегмента?
Какие бывают типы сегментов?
Для чего используется бит номера привилегий в дескрипторе сегмента?
В каких случаях используется многосегментная модель памяти?
Глава 5. Страничная организация памяти в процессорах ia‑32
Основной особенностью процессоров семейства IA-32 является поддержка страничной организации памяти. При ее использовании операционная система может предоставить в распоряжение прикладных программ такой объем оперативной памяти, какой им требуется для работы, независимо от объема физической памяти, установленной в компьютере. При этом суммарный объем памяти, используемый всеми приложениями, может превышать объем физической памяти компьютера. Это стало возможным благодаря тому, что при выполнении программы в физической памяти компьютера находятся только те участки программы, к которым процессор обращается в текущий момент времени. Все остальные участки программы хранятся на диске и загружаются в физическую память компьютера по мере того, как в них возникает потребность. Вся область памяти, используемой программой, разбивается на участки небольшой длины (как правило, 4 Кбайт каждый), называемых страницами. Во время выполнения программы процессор выгружает из памяти на диск те страницы, к которым долго не было обращения и загружает на их место другие страницы, к которым нужно немедленно получить доступ.
Для отслеживания всех страниц памяти, используемых программами, в операционной системе создается специальный набор таблиц, состоящий из страничного каталога и ряда таблиц страниц. При обращении в программе к участку памяти, его линейный адрес автоматически преобразовывается процессором в физический адрес. Этот процесс преобразования называется страничной переадресацией. Если страница, к которой происходит обращение, не находится в памяти, в процессоре возникает специальное прерывание из-за отсутствия страницы (page fault). Во время обработки данного прерывания операционная система находит нужную страницу на диске, загружает ее в свободный участок памяти, изменяет соответствующим образом содержимое таблицы страниц и возобновляет выполнение программы. Страничная переадресация и прерывание из-за отсутствия страницы происходят совершенно не заметно для прикладной программы.