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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 85 86 87 88 89 90 < 91 > 92 93 94 95 96 97 .. 528 >> Следующая

адресуемой ячейки памяти.
2.6.8. КОМАНДЫ ПЕРЕСЫЛКИ ДАННЫХ С УПРАВЛЕНИЕМ КЭШИРОВАНИЕМ
Эта фуппа команд приведена в табл. 2.57. На их выполнение не влияет
значение бита ЕМ в регистре управления CR0 и значение бита OSFXSR в
регистре управления CR4.
Команда MASKMOVQ производит выборочную запись байтов из ММХ-регистра mm1
в память по адресу DS:[EDI], т. е. в ячейку памяти, адресуемую содержимым
регистра EDI, в сегменте данных DS. Второй операнд команды, выбираемый из
ММХ-регистра mm2, содержит маску, которая определяет, какие байты из
регистра mm1 будут записаны в память. Если старший бит какого-либо байта
в регистре mm2 содержит "1", то соответствующий байт из регистра mm1
посылается в память. Если старший бит байта в регистре mm2 содержит "О",
то запись в память соответствующего байта из mm1 не производится.
Команды MOVNTPS и MOVNTQ реализуют соответственно запись в адресуемую
ячейку памяти гп128 или гп64 содержимого SSE-регистра ХММ или ММХ-
регистра mm. При выполнении этих команд данные пересылаются
непосредственно в основную (системную) память, их запись в кэш-память
(кэширование) не производится.
Команды PREFETCHTO, PREFETCHT1, PREFETCHT2, PREFETCHNTA производят
предварительную выборку строки данных из системной памяти в кэш-память.
Выбирается строка (32 байта), содержащая байт с адресом т8, который
указан в команде. Выбранная строка поступает в кэш-память определенного
уровня в соответствии с мнемокодом команды. Данные команды рассчитаны на
реализацию в процессорах, имеющих кэш-память различного уровня, включая
самый нижний - "нулевой" уровень (L0). Кэш-память этого уровня
отсутствует в ныне выпускаемых моделях процессоров Pentium III, которые
содержат только кэш-память 1-го и 2-го уровней (L1 и L2). Полностью
возможности использования этих команд будут реализованы в последующих
моделях процессоров семейства Р6. Процессоры Pentium III при поступлении
команд PREFETCHT1 и PREFETCHT2 выполняют одинаковые действия, обеспечивая
загрузку строки в кэш-память 2-го уровня (L2).
Команды PREFETCH дают возможность произвести предварительную загрузку
данных в кэш-память до их непосредственного использования. Эффективное
применение этих команд позволяет избежать нежелательных остановок
конвейера, связанных с ожиданием загрузки данных.
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Таблица 2.57
Команды пересылки данных с управлением кэшированием
Синтаксис команды Операция
MASKMOVQ mm1,mm2 mm1(Bi) -> ds:[edi+l], если mm2[b7(Bi)J = 1; i = 0..7
MOVNTPS m128,xmm xmm -" m128
MOVNTQ m64,mm mm -> m64
PREFETCHTO m8 PREFETCHT1 m8 PREFETCHT2 m8 PREFETCHNTA m8 Предвыборка
данных в кэш-память всех уровней(В L1 и L2 для процессора Pentium III)
Предвыборка данных в кэш-память всех уровней кроме нулевого^ L2 для
процессора Pentium III) Предвыборка данных в кэш-память всех уровней
кроме нулевого и первого(В L2 для процессора Pentium III) Предвыборка
данных в "ближайший" к процессору кэш (В L1 для процессора Pentium III)
SFENCE Упорядочивание обращений к памяти
Команда SFENCE упорядочивает обращения к памяти в процессе записи.
Отметим, что процессоры семейства Р6 производят изменение
последовательности выполнения команд, заданной исходной программой, чтобы
обеспечить повышение производительности за счет сокращения числа тактов
простоя и ожидания при работе конвейера. При этом запись в память
результатов операций также может выполняться с нарушением заданной
программой последовательности. Данное обстоятельство вызывает
определенные трудности при работе систем, в которых допускается
одновременное обращение к основной памяти нескольких устройств. Команда
SFENCE позволяет избежать этих трудностей, обеспечивая выполнение записи
результатов операций в память в соответствии с порядком следования команд
в исходной программе.
2.7. РАБОТА ПРОЦЕССОРА В ЗАЩИЩЕННОМ И РЕАЛЬНОМ РЕЖИМАХ
Процессоры семейства Р6, как и другие микропроцессоры 80x86, имеют два
основных рабочих режима: защищенный и реальный.
Наиболее полно возможности процессора реализуются при работе в защищенном
режиме. При этом обеспечивается физическая адресация памяти объемом до 2
32 = 4 Гбайт и доступ к виртуальной памяти объемом до 2 46 = 64 Гбайт.
Помимо сегментации памяти в защищенном режиме может быть реализована
страничная организация. Этот режим позволяет использовать дополнительные
команды, введенные для поддержки многозадачных операционных систем. Кроме
того, обеспечивается защита пользовательских программ друг от друга и от
операционной системы, предотвращающая возможное взаимное вмешательство в
их работу.
При работе в реальном режиме возможности микропроцессора существенно
ограничиваются: сокращается до 1 Мбайт объем адресуемой памяти,
исключаются основные механизмы защиты, не реализуется страничная
организация памяти и многозадачное функционирование систем. Этот режим
обычно используется либо как промежуточный для перехода в защищенный
режим после инициализации микропроцессорной системы, либо для более
Предыдущая << 1 .. 85 86 87 88 89 90 < 91 > 92 93 94 95 96 97 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed