Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 35

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 29 30 31 32 33 34 < 35 > 36 37 38 39 40 41 .. 528 >> Следующая

Сегментация памяти обеспечивается при любом режиме работы процессора.
Сегментация реализуется путем разбиения адресного пространства на
отдельные блоки - сегменты, доступ к которым производится в соответствии
с определенными правилами. Сегментированная память представляет собой
набор блоков, характеризуемых определенными атрибутами, такими как
расположение, размер, тип (стек, программа, данные), характеристика
защиты. В системе на основе процессора Р6 каждой задаче доступны до 8192
сегментов величиной до 4 Гбайт каждый. Таким образом обеспечивается
возможность использования до 64 Тбайт виртуальной памяти. Для обращения к
ячейке сегментированной памяти используется составной (логический) адрес,
который состоит из селектора, задающего базовый адрес сегмента (начало),
и относительного адреса ячейки (байта, слова) в сегменте. Арифметическое
сложение базового и относительного адреса дает физический (линейный)
адрес байта или слова (одинарного, двойного или счетверенного). Правила
определения базового адреса сегмента зависят от режима работы
микропроцессора (реальный или защищенный). Формирование относительного
адреса определяется заданным методом адресации.
Страничная организация памяти обеспечивается только в защищенном режиме.
Для ее реализации необходимо с помощью команды LMSW или MOV CRO
установить в регистре CR0 значение бита страничной адресации PG = 1. При
этом сегменты делятся на отдельные страницы емкостью 4 Кбайт или 4 Мбайт,
размещаемые в различных позициях адресного пространства ОЗУ. Страницы
могут группироваться в разделы. Размещение разделов и страниц в ОЗУ
производится диспетчером памяти, входящим в состав операционной системы.
Диспетчер задает базовые адреса разделов и страниц, которые хранятся в
памяти в виде адресных таблиц. При использовании страничной организации
блоки трансляции адреса, входящие в состав процессора, преобразуют адрес,
сформированный MIU (при выборке операнда) или блоком выборки-
декодирования (при выборке команды), в реальный физический адрес байта
или слова. В процессе этого преобразования, который называется страничной
трансляцией адреса, блок трансляции обращается к хранящимся в ОЗУ
адресным таблицам. Чтобы уменьшить число таких обращений и повысить,
таким образом, производительность процессора, базовые адреса 32 страниц
памяти команд и данных, к которым выполнялись последние обращения,
записываются во внутренние буферы трансляции адреса (TLB). При обращении
к этим страницам их базовые адреса считываются из буфера, поэтому
формирование физического адреса происходит существенно быстрее.
Страничная трансляция позволяет расширить объем адресуемой памяти до 64
Гбайт, используя 36-разрядную шину адреса. Такая возможность реализуется,
если установить в регистре управления CR4 значение бита РАЕ = 1. При этом
в адресных таблицах задаются 36-разрядные базовые адреса разделов и
страниц, а размер страниц может составлять 4 Кбайт или 2 Мбайт.
2.1.3. РЕГИСТРОВАЯ МОДЕЛЬ
Регистровая модель процессоров Р6 содержит набор регистров, большинство
из которых входят в состав более ранних моделей семейства Intel
80x86/Pentium. Эти регистры составляют следующие группы.
53
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
1. Основные функциональные регистры:
регистры общего назначения ЕАХ.ЕВХ, ECX.EDX.ESP.EBP.ESI.EDI;
указатель команд EIP;
регистр флагов EFLAGS;
регистры сегментов CS,SS,DS,ES,FS,GS.
2. Регистры блока обработки чисел с плавающей точкой (регистры FPU):
регистры данных R7-0 (ST7-0); регистр тегов TW; регистр состояния FPSR;
регистр управления FPCR;
регистры-указатели команды и операнда FIP, FDP.
3. Регистры обработки пакетов чисел с плавающей точкой (регистры SSE):
регистры пакетов данных ХММ7-0; регистр управления состояния MXCSR.
4. Системные регистры:
регистры управления режимом CR4-0;
регистры системных адресов GDTR, LDTR, IDTR, TR;
регистры отладки DR7-0.
5. Служебные (модельно-специфические) регистры.
Регистры первых трех групп используются при выполнении прикладных
программ, регистры 4-й группы - при выполнении системных программ и
отладке, регистры 5-й группы - при тестировании микропроцессора и
контроле эффективности выполнения программ. Системные и служебные
регистры доступны только программам с высшим уровнем привилегий 0.
Номенклатура и содержимое служебных (модельно-специфических) регистров
MSR (Model-Specific Registers) определяется конкретной моделью
процессора. Запись и чтение их содержимого производится с помощью команд
WRMSR и RDMSR. Обращение к некоторым из них может вызвать исключение,
если эти регистры отсутствуют в данной модели. Регистры MSR используются
в процессе отладки систем, содержат информацию о процессе выполнения
программы (число декодированных команд, полученных запросов прерывания,
число загрузок в кэш-память и т. п.), обеспечивают различные режимы
работы кэш-памяти при обращении к определенным областям основной памяти
Предыдущая << 1 .. 29 30 31 32 33 34 < 35 > 36 37 38 39 40 41 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed