- •Предисловие
- •Введение
- •1. Системный анализ задачи - выделяются процессы и функции, реализация которых будет возложена на мк или ип.
- •Алгоритмизация процессов и функций - разрабатываются алгоритмы решения задачи.
- •Области использования мк
- •Глава 1основы микропроцессорной техники
- •1.1. Классификация микропроцессоров, основные варианты их архитектуры и структуры
- •1.2. Общая структура и принципы функционирования микропроцессорных систем
- •1.3. Система команд и способы адресации операндов
- •Начиная с младшего байта («Little-Endian»);
- •Начиная со старшего байта («Big-Endian»).
- •1.4. Интерфейсы микропроцессорных систем
- •1.4.1. Основные понятия
- •1.4.2. Магистраль vme
- •Verbs находит широкое применение в:
- •VmEbus обеспечивает наилучшее соотношение цена - производительность для системы в целом и предоставляет практически неограниченные возможности наращивания всех ресурсов.
- •1.5. Шина usb
- •На их основе
- •2.1. Структура и функционирование процессоров intel p6
- •2.1.1. Суперскалярная архитектура и организация конвейера команд
- •2.1.2. Режимы работы процессора и организация памяти
- •2.1.3. Регистровая модель
- •1. Функциональные основные регистры:
- •Iopl -уровень привилегий ввода/вывода, задает максимальную величину уровня привилегий текущей программы, при котором разрешается выполнение команд ввода/вывода;
- •2.3 Режимы работы процессора
- •2.1.4. Внутренняя кэш-память
- •8 Зон по 64 Кбайт, занимающих диапазон адресов 0-7fffFh (512 Кбайт);
- •16 Зон по 16 Кбайт, занимающих диапазон адресов 80000h-8ffffh (256 Кбайт);
- •8 Зон размером от 4 Кбайт до максимального размера физической памяти, которые могут размещаться в любой позиции адресного пространства.
- •2.1.5. Форматы команд и способы адресации
- •Содержимого базового регистра евр (вр) или евх (вх);
- •Содержимого индексного регистра esi (si) или edi (di);
- •Disp команды (см. Рис. 2.11).
- •2.2. Система команд: операции над целыми числами
- •Пересылка данных и адресов
- •Xchg - Обмен между регистрами или памятью и регистром
- •Xlat-Преобразование кодов
- •Imul-Знаковое (целочисленное) умножение аам- ascii-коррекция результата умножения
- •Idiv-Знаковое (целочисленное) деление
- •2.2.1. Команды пересылки
- •2.2.2. Команды арифметических операций
- •2.2.3. Команды логических операций и сдвигов
- •2.2.4. Команды битовых и байтовых операций
- •2.2.5. Команды операций со строками символов
- •2.3. Система команд: операции управления
- •Управление программой
- •Прерывания
- •Int3 - Прерывание в контрольной точке
- •Iret-Возврат из подпрограммы обслуживания прерывания
- •2.3.1. Команды управления программой
- •2.3.3. Команды организации защиты памяти
- •2.3.4. Команды управления процессором
- •2.3.5. Префиксные байты
- •2.4. Система команд: операции над числами с плавающей точкой
- •2.4.3. Команды пересылки данных
- •2.4.4. Команды арифметических операций
- •2.4.6. Команды специальных операций
- •2.4.7. Команды управления fpu
- •Команды преобразования
- •Арифметические команды
- •Inub'- Нахождение меньшего значения (беззнаковые байты) Команды сравнения
- •Команды логических операций
- •2.5.1. Форматы представления данных и выполнение операций
- •2.5.2. Команды пересылки и преобразования данных
- •1 2.5.3. Команды арифметических операций '
- •2.5.4. Команды логических операций и сдвигов
- •2.5.5. Команды сравнения и нахождения максимума/минимума
- •2.6. Система команд: операции sse
- •Команды пересылки данных
- •Команды преобразования данных
- •Арифметические команды
- •Команды нахождения максимума и минимума.
- •Команды преобразования формата чисел.
- •Команды управления
- •2.6.1. Форматы представления данных и выполнение операций
- •2.6.2. Команды пересылки и преобразования данных
- •2.6.3. Команды арифметических операций
- •2.6.6. Команды преобразования формата чисел
- •2.6.7. Команды управления
- •2.6.8. Команды пересылки данных с управлением кэшированием
- •2.7. Работа процессора в защищенном и реальном режимах
- •2.7.1. Сегментация памяти в защищенном режиме
- •2.7.2. Страничная организация памяти
- •2.7.3. Защита памяти
- •2.7.4. Поддержка многозадачного режима
- •2.7.5. Реализация режима виртуального 8086 (v86)
- •2.7.6. Функционирование процессора в реальном режиме
- •2.8. Реализация прерываний и исключений. Обеспечение тестирования и отладки
- •2.8.1. Виды прерываний и исключений, реализация их обслуживания
- •2.8.2. Причины возникновения исключений
- •2.8.3. Средства обеспечения отладки
- •2.8.4. Реализация тестирования и контроля функционирования
- •2.9. Risc-микропроцессоры и risc-микроконтроллеры семейств powerpc (мрс60х, мрс50х)
- •2.9.1. Risc-микропроцессоры семейства мрс60х (powerpc)
- •I (invalid) - недостоверное (аннулированное) содержимое строки.
- •2.9.2. Risc-микроконтроллеры семейства мрс5хх ( power pc)
- •3.1. Общие принципы организации кэш-памяти
- •3.1.1. Понятия тега, индекса и блока
- •3.1.2. Механизм кэш-памяти с прямым отображением данных
- •3.1.3. Механизм кэш-памяти
- •3.1.4. Обновление информации в кэш-памяти
- •1.5. Согласованность кэш-памяти
- •3.2.2. Внутренние кэш-памяти команд и данных
- •3.2.3. Алгоритм кэш-замещений
- •3.2 4. Состояния кэш-памяти данных
- •1.При блокированном чтении:
- •3.2.5. Согласованность внутренних кэш-памятей
- •1) Хранить таблицы страниц и директорий в не копируемой в кэш-память области основной памяти или использовать режим сквозной записи страниц;
- •Процессор может быть заменен (возможен upgraded) без изменения памяти и других подсистем мп вс;
- •Без особого снижения общих характеристик системы могут быть использованы более медленные и менее емкие устройства памяти и устройства ввода/вывода.
- •3.3. Функционирование памяти
- •1) Трансляция сегмента, при которой логический адрес, состоящий из селектора сегмента и смещения (относительного адреса внутри сегмента), преобразуется в линейный адрес.
- •3.3.1. Трансляция сегментов
- •Глобальной таблице дескрипторов (gdt);
- •Локальной таблице дескрипторов (ldt).
- •3.3.2. Адресация физической памяти
- •3.3.4. Комбинирование сегментной и страничной трансляции
- •3.4. Защита памяти
- •3.4.1. Зачем нужна защита?
- •Устанавливает различие между разными форматами дескрипторов;
- •Специфицирует функциональное назначение сегмента.
- •1 Поле предела называют также полем границы.
- •2 Байты сегмента размещены в оп в порядке возрастания адресов памяти или в обратном порядке. Такое размещение также называют соответственно по принципу «младший» и «старший крайний».
- •Cpl (текущий уровень привилегий);
- •Rpl (уровень привилегий источника обращений к сегменту) из селектора, используемый для спецификации сегмента назначения;
- •3)Dpl дескриптора сегмента назначения.
- •Загрузить регистр сегмента данных селектором несогласованного, с разрешением чтения кодового сегмента;
- •Загрузить регистр сегмента данных селектором кодового сегмента, который является согласованным и разрешенным для чтения;
- •Использовать префикс переопределения cs, чтобы прочитать разрешенный для чтения кодовый сегмент, селектор которого уже загружен в cs регистр.
- •Для команды call (или для команды jmp для согласованного сегмента) должны быть выполнены следующие правила привилегий:
- •Привилегированные команды, которые нужны для систем управления вычислительным процессом;
- •Чувствительные команды (Sensitive Instructions), которые используются для ввода/вы вода и для действий, связанных с вводом/выводом.
- •1) Проверка того, имеет ли назначение, специфицированное указателем право доступа к
- •Проверка того, соответствует ли тип сегмента заданному использованию;
- •Проверка указателя на соответствие границе сегмента.
- •Verw (Verify for Writing) - проверка доступности по записи обеспечивает те же самые возможности, что и verr для проверки доступности по чтению.
- •3.4.4. Уровень защиты страниц
- •1) Ограничение адресуемой области; 2) проверка типа страницы.
- •3.4.5. Комбинирование защиты сегментов и страниц
- •Глава 4
- •4.1. Структура современных 8-разрядных микроконтроллеров
- •4.1.1. Модульный принцип построения
- •Tiny avr - mk в 8-выводном корпусе низкой стоимости;
- •Classic avr - основная линия мк с производительностью до 16 mips, Flash память программ объемом до 8 Кбайт и статическим озу данных 128. ..512 байт;
- •Mega avr - мк для сложных приложений, требующих большого объема памяти (Flash пзу до 128 Кбайт), озу до 4 Кбайт, производительностью до 6 mips.
- •4.1.4. Резидентная память мк
- •4.1.5. Порты ввода/вывода
- •Однонаправленные порты, предназначенные в соответствие со спецификацией мк только для ввода или только для вывода информации.
- •Двунаправленные порты, направление передачи которых (ввод или вывод) определяется в процессе инициализации системы.
- •4.1.6. Таймеры и процессоры событий
- •Импульсную последовательность с выхода управляемого делителя частоты fBijs;
- •Внешнюю импульсную последовательность, поступающую на один из входов мк.
- •Простое увеличение числа модулей таймеров; этот путь характерен для части мк компаний «Pfilips» и «Atmel» со структурой msc-51, для мк компаний «Mitsubishi» и «Hitachi».
- •Изменение логического уровня с 0 на 1 (нарастающий фронт сигнала);
- •Изменение логического уровня с 1 на 0 (падающий фронт сигнала);
- •Любое изменение логического уровня сигнала.
Глобальной таблице дескрипторов (gdt);
Локальной таблице дескрипторов (ldt).
Таблица дескрипторов - это просто массив из 8 байтовых записей, которые содержат дескрипторы, как показано на рис. 3.16. Таблица дескрипторов имеет переменную длину и может содержать до 8192 (213) дескрипторов. Однако первая запись GDT (ИНДЕКС = 0) не используется для размещения дескриптора.
Процессор размещает GDT и текущую LDT в памяти посредством регистров GDTR и LDTR. Эти регистры хранят базовые адреса таблиц в линейном адресном пространстве, а также пределы сегментов таблиц. Команды LGDT и SGDT обеспечивают доступ к регистру GDTR, команды же LLDT и SLDT - доступ к LDTR
Селекторы. Область селектора из логического адреса задает дескриптор, специфицируя таблицу дескрипторов и индексируя дескриптор внутри этой таблицы. Селекторы могут быть «видны» прикладным программам как поле внутри изменяющихся указателей команд, но значения селекторов обычно вырабатываются редакторами связей и загрузчиками. На рис. 3.17. представлен формат селектора.
Индекс: задает один из 8192 дескрипторов в таблице дескрипторов. Процессор просто умножает значение индекса на 8 (длина дескриптора) и прибавляет этот результат к базовому адресу таблицы дескрипторов для доступа к соответствующему дескриптору сегмента в таблице.
Индикатор таблицы (TI): определяет, на какую таблицу дескрипторов ссылается селектор: нуль указывает GDT, единица -текущую LDT.
Запрашиваемый уровень привилегий: используется механизмом защиты.
Так как первая запись GDT не используется процессором, селектор с индексом «О» и нулевым указателем таблицы (т. е. селектор, который определяет первую запись GDT), может быть использован как нуль-селектор. При загрузке сегментного регистра (кроме CS или SS) нуль-селектором процессор не вырабатывает исключения. Это свойство полезно при инициализации неиспользованных сегментных регистров как средство обнаружения случайных ссылок. Если сегментный регистр используется для обращения к памяти, будет выработано исключение.
Регистры сегментов. МП сохраняет информацию из дескрипторов в сегментных регистрах, поэтому нет необходимости обращаться к таблице дескрипторов при каждом обращении к памяти.
Каждый регистр сегмента имеет «видимую» и «скрытую» часть, как показано на рис. 3.18. Видимыми частями этих регистров манипулируют программы, как если бы эти регистры были просто 16-разрядными регистрами. Скрытые части контролируются процессором. Операции, которые загружают регистры, реализуются обычными командами программы.
Так как большинство команд обращаются к данным в сегментах, селекторы которых уже загружены в сегментные регистры, процессор может прибавить относительный адрес из команды к базовому адресу из скрытого регистра, не прибегая к процедуре обращения к памяти, которая описана вы
3.3.2. Адресация физической памяти
Адресуемыми единицами физической памяти являются отдельные байты. Физическое Адресное пространство, разбитое на страничные кадры, содержит 232 байт. Команды и данные могут размещаться в любом месте этого адресного пространства.
Обычно многобайтовые данные размещаются в физической памяти в формате «младший крайний», т. е. младший байт формата - это байт с наименьшим адресом памяти (данное размещено в порядке адресов памяти и задано адресом своего младшего байта). ПО в режиме «супервизор» может динамически выбирать вариант упорядочения байтов. Вариант упорядочения определяется состоянием специального разряда в одном из управляющих регистров МП. МП обеспечивает также режим «старшего крайнего», при котором самый старший байт элемента данных является байтом с самым младшим адресом.
Программы всегда строятся с адресацией по принципу «младший крайний». Адреса последовательных команд возрастают в памяти. Это подразумевает, что команды при обращениях к командам как к данным в режиме «старший крайний», появляются в порядке, отличном от естественного. Фирма «Intel» рекомендует, чтобы дисассемблеры, выполняющие систему конвертирования команд в режиме «старший крайний», читали их как данные в порядке, обратном порядку «младший крайний», а представляли их в приведенном здесь формате «младший крайний
Таблицы страничных директорий и таблицы страниц также доступны в порядке адресов памяти (режим «младший крайний»).
Практически во всех МП необходимо следующее выравнивание адресов на адреса целочисленных границ (любое несоответствие вызывает ловушку обращения к данным):
128-разрядные значения должны быть размещены в памяти по адресу, соответствующему целочисленной границе для 16-байтового формата (т. е. четыре младших разряда адреса должны быть нулевыми);
64-разрядные данные должны размещаться в памяти по адресу, соответствующему целочисленной границе для 8-байтового формата (т. е. по адресу, кратному 8, три младших разряда адреса должны быть нулевыми);
• 32-разрядные данные размещаются по адресу целочисленной границы для 4-байтового
формата (т. е. по адресу, кратному 4, два младших разряда адреса нулевые);
• 16-разрядные данные выравниваются по целочисленной границе для 2-байтового форма-
та (т. е. их адреса должны быть кратны 2, младший разряд адреса нулевой).
Программы, получающие на вход программу в машинном коде или в виде загрузочных и объектных модулей и выдающие на выходе эквивалентные программы на языке Ассемблера. (т. е. без обращения к резидентной таблице дескрипторов).
директорий содержит до 1К записей, которые адресуют или таблицы страниц второго уровня или 4-Мбайтные страничные кадры. Могут использоваться или только 4-Кбайт-ные или только 4-Мбайтные страницы, или некоторая комбинация тех и других. Одна таблица страничных директорий может перекрыть все 4-Гбайтное физическое адресное пространство (1К записей страничных директорий 4 Мбайта страницы или 1К записей страничных директорий 1К записей таблицы страниц соответствующей страничной директории 4 Кбайта страницы).
Физический адрес текущей таблицы страничных директорий находится в поле DTB управляющего регистра МП. ПО управления памятью может предусмотреть одну таблицу страничных директорий на все процессы, одну таблицу страничных директорий на каждый процесс или некоторую комбинацию этих двух подходов.
Записи таблиц страниц. На рис.3.21 представлены форматы записей таблиц страниц (PTEs - Page table entries).
Адрес страничного кадра. Поле адреса страничного кадра специфицирует физический начальный адрес страничного кадра. В записи страничной директории адрес страничного кадра является или адресом таблицы страниц второго уровня или адресом 4-Мбайтного страничного кадра, который содержит требуемый операнд памяти. В таблице страниц второго уровня, адрес страничного кадра - это адрес 4-Кбайтного страничного кадра, содержащего требуемый операнд памяти.
Разряд присутствия. Разряд присутствия Р (Present) указывает на то, может ли запись таблицы страниц использоваться при страничной трансляции. Значение Р = 1 свидетельствует о возможности использования записи. Если Р = 0 в записях таблиц страниц любого уровня, запись не корректна для адресной трансляции и остаток записи может использоваться ПО. Ни один из оставшихся разрядов записи не проверяется аппаратурой.
Если Р = 0 в записях таблиц страниц любого уровня и делается попытка использовать запись для адресной трансляции, процессор вырабатывает сигнал ошибки при обращении к данным или ошибки при обращении к команде. В системах страничной виртуальной памяти обработчик ловушки может перенести запрашиваемую страницу в физическую память.
Заметим, что для самой таблицы страничных директорий не существует разряд Р. Таблица страничных директорий может и отсутствовать, пока связанный с ней процесс находится в состоянии ожидания, но ОС перед запуском процесса должна удостовериться, что таблица страничных директорий, специфицированная содержимым регистра базового адреса таблицы страничных директорий и связанная с процессом, присутствует в физической памяти.
Разряды «Право записи» и «Пользователь/супервизор». Разряды «право записи» R/W и «пользователь» U/S предназначены для защиты уровня страниц, которую МП реализует в процессе трансляции адреса. Концепция привилегий реализуется для страниц путем отнесения каждой страницы к одному из двух уровней:
уровень супервизора (U/S=0) - для программ ОС и других систем ПО и связанных сними данных;
уровень пользователя (и/3=1)-для прикладных программ и данных.
Разряд U в регистре psr указывает на то, в каком режиме («пользователь» или «супервизор») работает процессор. МП изменяет содержимое разряда U регистра psr следующим образом:
сбрасывает разряд U регистра psr, чтобы инициировать уровень «супервизора», при возникновении ловушки в том числе, если ловушка вызвана командой ловушки trap («ловушка»); предыдущее значение U копируется в разряд PU (Prior user);
переписывает содержимое разряда PU регистра psr в разряд U этого регистра, если выполняется косвенная передача управления и один из разрядов ловушек установлен; если PU содержал единицу, МП переходит на уровень «пользователя». С помощью разряда U из регистра psr и разрядов U/S и R/W из записей таблиц страниц МП осуществляет следующие правила защиты:
с уровня «пользователь» попытка чтения или записи страницы уровня «супервизор» приводит к ловушке;
с уровня «пользователь» попытка записи в страницу, для которой разряд R/W не установлен, приводит к ловушке;
с уровня «пользователь» запись в основную память содержимого некоторых управляющих регистров по команде сохранения игнорируется;
на уровне «пользователь», привилегированные команды не работают.
При работе МП на уровне «супервизор» все страницы доступны для чтения. Возможность записи в какую-либо страницу зависит от режима защиты по записи, индицируемого разрядом WP регистра epsr: WP = 0 - запись возможна во все страницы WP = 1 - запись в страницу, разряд W которой не установлен, вызывает ловушку.
Если МП работает на уровне «пользователь», только страницы, принадлежащие уровню «пользователь» и с правом записи (R/W = 1) -действительно доступны для записи. С уровня «пользователь» страницы, принадлежащие уровню «супервизор», недоступны ни для записи, ни для чтения.
Разряд сквозной записи (WT -Write-Through). МП реализуют алгоритмы обратной записи и сквозной записи для кэш-памятей команд и данных, размещенных в кристалле МП. Если разряд WT установлен, то используется алгоритм сквозной записи для данных из соответствующей страницы. Если разряд WT = 0, то для данных из этой страницы используется алгоритм обычной обратной записи.
Для 4-Мбайтных страниц используется разряд WT из записи страничной директории. Для 4-Кбайтных страниц используется только разряд WT из записи таблицы страниц второго уровня.
Значение разряда WT управляет уровнем потенциала на выходном контакте МП PWT. Это позволяет использовать для кэш-памяти второго уровня тот же алгоритм обновления основной памяти, что и для кэш-первого уровня.
Разряд «кэш-память запрещена» (отключена). Если разряд CD (cache disable - кэшпамять отключена) установлен, то данные из страницы не размещаются в кэш-памятях команд или данных (безотносительно к значению разряда WT). При нулевом содержимом разряда CD процессор помещает данные во внутренние кэш-памяти.
Для 4-Мбайтных страниц используется разряд CD из записи страничной директории. Для 4-Кбайтных страниц используется только разряд из записи таблицы страниц второго уровня.
Значение разряда CD управляет уровнем на внешнем контакте PCD, так что возможность копирования во внутренних и внешней КЭШ-памятях одинакова.
Разряды «Доступа» и «Грязи». Разряды «Доступа» A (accessed) и «Грязи» D (dirty) обеспечивают операционную систему данными об обращениях к странице в таблицах страниц обоих уровней.
МП устанавливает разряд А до записи или чтения при обращении к странице. Для 4-Кбайтных страниц МП устанавливает разряды А в записях таблиц страниц обоих уровней.
Процессор проверяет разряд «грязи» D перед записью и при некоторых условиях вырабатывает ловушки. Обработчик ловушки затем может проанализировать соответствующие значения разрядов «грязи». Для 4-Мбайтных страниц используется разряд D из записи страничной директории, а для 4-Кбайтных страниц - разряд D только из записи таблицы страниц второго уровня.
ОС, поддерживающая страничную память, может воспользоваться разрядами D и А для выбора страниц, подлежащих удалению из физической памяти, когда запросы на память превышают возможности физической памяти. Разряды D и А обычно сбрасываются в «О» по инициативе ОС. Процессор устанавливает разряд А при обращении к странице при операции записи или чтения. Если при обращении к данным происходит ошибка и выполняется разрешенная запись, обработчик ловушки устанавливает разряд D, затем повторно выполняет команду.
ОС несет ответственность за координацию обновлений этих разрядов центральным процессором или другими процессорами, которые могут разделять эти страницы.
Алгоритм адресной трансляции. Процесс трансляции линейного адреса в физический проходит по следующему алгоритму. Положим, что «Директория» (DIR), «Страница» (PAGE) и «Смещение» (OFFSET) являются полями линейного адреса; пусть PFA1 и PFA2 являются соответственно адресными полями страничных кадров из записей таблиц страниц первого и второго уровней (PDE и РТЕ); DTB - базовый адрес таблицы страничных директорий, содержащийся в регистре базового адреса таблицы страничных директорий (в МП «Intel» -управляющий регистр CR3).
Читается запись страничной директории (PDE) по физическому адресу, сформированному по полям DTB:DIR:OO.
Если в PDE разряд Р равен нулю, генерируется ошибка обращения к данному или команде.
Если в PDE разряд R/W равен нулю, выполняется запись, и, если или разряд U в регистре psr установлен или разряд WP установлен, то генерируется ошибка обращения к данному.
Если в PDE разряд U/S в нуле и установлен разряд U в регистре psr, генерируется ошибка доступа к данному или команде.
Если в PDE разряд доступа А нулевой и имеет место кэш-промах при обращении к буферу ассоциативной трансляции TLB в блокированной последовательности, генерируется ошибка доступа к данному или команде. (Данная ловушка позволяет ПО установить разряд А в «1» и осуществить рестарт последовательности. Это помогает аппарату ре внешней магистрали недвусмысленно установить тот факт, что адрес cсоответствует закрытому семафору).
Если в PDE разряд 7 находится в единице (4-Мбайтная страница) и выполняется операция записи, и в PDE разряд «грязи» 0 = 0, генерируется ошибка доступа к данному.
Если в PDE разряд А = 1, перейти к шагу 11, в противном случае возбуждается сигнал на контакте LOCK#.
Выполняется чтение PDE подобно тому, как это делалось на шаге 1, и проверяются разряды Р, W, U аналогично шагам со 2-го по 4-й.
Записывается PDE с разрядом доступа А, равным единице.
Снимается сигнал блокировки на контакте LOCK#. .....
Если в PDE разряд 7 в единице (4-Мбайтная страница), формируется физический адрес из полей PFA1 :OFFSET и осуществляется выход из алгоритма страничной трансляции. В этом случае поле PFA1 является 10-разрядным, а поле OFFSET - 22-разрядным.
Остальные шаги выполняются для 4-Кбайтных страниц. Если в PDE разряд доступа А был перед началом трансляции нулевым, возбуждается сигнал блокировки на контакте LOCK#.
Выбирается запись страничной директории РТЕ по физическому адресу, сформированному по полям: PFA1 :PAGE:OO.
Выполняются проверки разрядов А, Р, W, итак же как это делалось в шагах со 2-го по 5-й только по записи РТЕ таблицы страниц второго уровня. Если в РТЕ разряд А в нуле и имел место кэш-промах в блокированной последовательности, вырабатывается ошибка доступа к данному или команде. Сигнал на контакте LOCK# остается активным.
При операции записи и нулевом значении разряда D в РТЕ генерируется ошибка доступа к данному.
Если разряд доступа А в PDE до того как началась трансляция уже установлен и разряд А в РТЕ уже также установлен, осуществляется переход к шагу 20.
Если контакт LOCK# уже не активен, он возбуждается и повторно выбирается запись РТЕ.
Делаются проверки разрядов U, W, P и установка разряда А в РТЕ подобно тому как, это делается в шагах 8-9. Делается блокированное обновление записи РТЕ, чтобы разблокировать магистраль, даже если разряд доступа А в РТЕ уже в единице.
Сбрасывается сигнал на контакте LOCK#.
Формируется физический адрес из полей PFA2:OFFSET. В этом случае поле PFA2 - 20-разрядное, а поле OFFSET- 12-разрядное.
Во время трансляции МП обращается только к основной памяти для доступа к страничным директориям и таблицам страниц. Обращений к кэш-памяти данных нет. Поэтому любая программа, которая изменяет страничные директории или таблицы страниц второго уровня, должна поддерживать их вне кэш-памяти. Таблицы должны храниться или в не поддерживаемой кэш-памятью основной памяти, или в страницах со сквозной записью, или должны быть стерты в кэш-памяти.
МП предполагает, что страничные директории и таблицы страниц представлены в основной памяти в формате «младший крайний» (в порядке возрастания адресов памяти с заданием адреса формата адресом младшего байта). ОС должна перевести эти таблицы в формат «младший крайний» или путем установки в «О» разряда BE (Big endian) при манипуляциях с таблицами или путем дополнения двойкой 32-разрядного адреса при загрузке или сохранении записей).
Ошибки адресной трансляции. Ошибка адресной трансляции может возникнуть вследствие или ошибки доступа к команде, или ошибки доступа к данному.
Команда, вызвавшая ошибку, может быть повторно выполнена при возврате из обработчика ловушки.