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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 139 140 141 142 143 144 < 145 > 146 147 148 149 150 151 .. 528 >> Следующая

память может быть идентифицирована путем использования старших битов
адреса или с помощью логики выбора микросхем памяти.
При конструировании систем, как правило, применяется некоторая комбинация
этих трех методов для уверенности в достоверности данных. Например, одна
система может использовать некэшируемую память для "медленных" задач
ввода/вывода, таких как вывод на печать, и аппаратную прозрачность для
критичных по времени операций ввода/ вывода, подобных разбиению на
страницы.
3.2. КЭШ-ПАМЯТЬ КОМАНД И ДАННЫХ
Включение в ЧИП МП кэш-памятей команд, данных и адресной трансляции
обеспечивает:
• низкую стоимость ЧИПа для подсистемы ЦП;
• большую ширину обмена процессор - кэш-память: 16 байт для данных, 8
байт для команд;
• быстроту обращений, не требующую сколько-нибудь значительного повышения
быстродействия системы. Быстрая схемотехника кэш-обращений скрыта в ЧИПе.
Внешняя магистраль может работать более медленно, без значительного
снижения производительности системы.
3.2.1. КЭШ-ПАМЯТЬ АДРЕСНОЙ ТРАНСЛЯЦИИ
Современные МП поддерживают или только 4-Кбайтные размеры страниц или как
4-Кбайтные так и 8-Мбайтные размеры страниц, и для каждого размера
страниц используются отдельные кэш-буферы (TLB) (TLB-буфер ассоциативной
трансляции или, в дальнейшем, буфер страничной трансляции). Буфер
страничной трансляции TLB в МП INTEL для 4-Кбайтных страниц имеет 64
записи (рис. 3.7), а TLB-буфер для 8-Мбайтных страниц (рис. 3.8.)
содержит 16 записей. Оба буфера используют 4 ассоциативных входа. Буферы
работают, если разрешена страничная трансляция. При первом обращении к
странице информация, связанная с трансляцией адреса, записывается в
соответствующий TLB буфер наряду с другими атрибутами страницы, такими
как права доступа и копируемость в кэшпамять. При каждой адресной
трансляции осуществляется обращение по линейному адресу одновременно в
оба TLB-буфера. Лишь в том случае, если необходимой информации
246
КЭШ-ПАМЯТЬ КОМАНД И ДАННЫХ
Виртуальный адрес 31 1615 1211
Страничный кадр
БАЙТ
(смещение)
Физический адрес
Рис. 3.7. Организация буфераTLB для 4-Кбайтных страниц (D - "грязь"; CD -
кэш-копирование разрешено; WT-сквозная запись; U/S-режим
пользователь/супервизор; R/W-разрешение
записи; V - корректность)
нет ни в одном из КЭШ-буферов, происходит обращение к таблицам страниц в
основной памяти. При обновлении записей используется алгоритм
псевдонормального распределения выбора того, какой из четырех входов
(блоков) должен замещаться.
Если линейный адрес команды обнаруживается в кэш-памяти команд,
трансляция виртуального адреса не производится, права доступа программы
не проверяются. Однако, если линейный адрес команды не обнаружен в кэш-
памяти команд, трансляция адреса осуществляется и проверяются все права
доступа. Линейные адреса данных всегда транслируются и всегда проверяются
на права доступа.
МП обычно предусматривают одновременное обращение и к кэш-памяти команд и
кэшпамяти данных, но TLB буферы могут обеспечить в данный момент времени
только одну трансляцию адреса. Если оба обращения нужны в одно и то же
время, трансляция адреса данного имеет приоритет в доступе к TLB-буферам
перед трансляцией адреса команды.
Любая ошибка обращения к данному или команде тотчас же останавливает
трансляцию адреса и TLB буфер не обновляется. Если чтение директории
вызывает ошибку обращения, таблица страниц вообще не читается.
Если блок страничной трансляции вырабатывает ошибку, например, разряд D
для первой записи на чистую страницу, соответствующая запись удаляется из
TLB-буфера.
247
ИСПОЛЬЗОВАНИЕ КЭШ-ПАМЯТИ И ОРГАНИЗАЦИЯ ОСНОВНОЙ ПАМЯТИ
Виртуальный адрес 31 24 23 22 21 О
Рис. 3.8. Организация буфера TLB для 8-Мбайтных страниц (D - "грязь"; CD
- кэш-копирование разрешено; WT-сквозная запись; U/S-режим
пользователь/супервизор; R/W-разрешение
записи; V - корректность)
3.2.2. ВНУТРЕННИЕ КЭШ-ПАМЯТИ КОМАНД И ДАННЫХ
В современных МП реализованы отдельные кэш-памяти для данных и команд.
Использование раздельных кэш-памятей для данных и команд обеспечивает
одновременные кэш-просмотры . До двух команд и до одного данного в
формате до 128 разрядов можно одновременно просмотреть в кэш-памятях.
Каждая кэш-память поддерживает до 16Кбайт. Строка может быть скопирована
из основной памяти в кэш-память за четыре обмена.
Кэш-памяти полностью прозрачны для прикладного ПО. Управление ад эесами в
обоих кэшпамятях обеспечивает кэш-согласование для мультипроцессорных
систем.
Каждая кэш-память имеет два ряда тегов; виртуальные теги для внутренних
обращений из МП и физические теги, используемые для обращений к основной
памяти (внешних обращений через магистраль). На рис. 3.9 показано, как
разряды виртуального и соответствующего ему физического адреса управляют
обращениями к кэш-памяти. Наличие виртуального и физического тегов
позволяет поставить один единственный физический адрес, полученный при
трансляции, через TLB-буфер в соответствие двум или более виртуальным
Предыдущая << 1 .. 139 140 141 142 143 144 < 145 > 146 147 148 149 150 151 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed