В микропроцессор MC68030, в отличие от микропроцессора Motorola MC68020, добавлено устройство управления памятью (Memory Management Unit, MMU). Для поддержки MMU дополнительно введены регистры CRP, SRP, TCR, TTR0, TTR1 и MMUSR, доступ к которым открыт только в режиме супервизора. Данное устройство предназначено для преобразования логического адреса микропроцессора в физический адрес байта, слова или двойного слова, размещенной на определенной странице в ОЗУ.
При включении MMU сформированные адреса воспринимаются как логический адрес, отдельные поля которого служат для получения физического адреса с помощью размещенных в памяти таблиц трансляций (рисунок E.6.)
Рис. E.6
Поле PS логического адреса определяет относительный адрес (смещение) требуемого байта или слова в таблице. Обращение к этой таблице осуществляется с использованием нескольких промежуточных уровней трансляций: A, B, C, D, определяемые полями логического адреса DA, DB, DC, DD и FC. Кроме того, логический адрес может содержать не транслируемые биты IS, игнорируемые MMU. На рисунке E.7. показан пример трансляции адреса с использованием трех уровней: FC, A и B.
Рис. E.7.
Микропроцессор допускает использование страниц размером 256, 512, 1К, 2К,4К, 8К, 16К и 32К, поэтому поле PS содержит от восьми до 15 разрядов. Максимальное число разрядов каждого из полей может достигать 15 - при этом общее число разрядов всех полей логического адреса должно быть равным 32. При нарушении этого условия подается прерывание (особая ситуация) на микропроцессор.
Рис. E.11.
Управление разбиением логического адреса на страницы задается 32-х разрядным регистром управления трансляциями TCR. Его значения:
E=1 разрешение трансляции адреса MMU.
SRE = 0 CRP используется и в режиме пользователя, и в режиме супервизора.
SRE = 1 CRP используется в режиме пользователя, а SRP - в режиме супервизора.
FLC = 1 разрешение использования верхнего уровня FLC.
FLC = 0 верхним уровнем трансляции назначается уровень A.
IS, TIA, TIB, TIC, TID 4-х битовые поля, задающие число разрядов в полях IS, DA, DB, DC и DD соответственно.
PS поле разряда страниц:
1000 256
1001 512
1010 1К
1011 2К
1100 4К
1101 8К
1110 16К
1111 32К.
| |