3.3.1 Карта памяти процессора — модель памяти MIPS

Предыдущая  Содержание  Следующая V*D*V

Адресное пространство процессора для 32-х разрядных процессоров MIPS (4 Гб) разделено на четыре области, как это показано на Рисунке 3.3.

 

Рисунок 3.3 Карта памяти MIPS.

Рисунок 3.3 Карта памяти MIPS.

 

KSEG0: диапазон адресов этого сегмента от 0x80000000 до 0x9fffffff. Эти адреса отображаются на 512 Мб физической памяти. Трансляция виртуального в физический адрес происходит простым выключением самого старшего бита виртуального адреса. Это адресное пространство всегда идёт в кэш и оно должно быть создано только после того, как кэш правильно проинициализирован. Также это адресное пространство не доступно через TLB; поэтому ядро Linux использует это адресное пространство.

KSEG1: адресный диапазон этого сегмента от 0xA0000000 до 0xBFFFFFFF. Эти адреса также отображаются на 512 Мб физической памяти; они отображаются путём сбрасывания последних трёх битов виртуального адреса. Тем не менее, разница между KSEG0 и KSEG1 в том, что KSEG1 не использует кэш. Следовательно, это адресное пространство используется сразу после сброса, когда системные кэши находятся в неопределённом состоянии. (Вектор сброса MIPS 0xBFC00000 лежит в этом диапазоне адресов.) Также это адресное пространство используется для привязки периферии ввода-вывода, поскольку оно обходит кэш.

KUSEG: адресное пространство этого сегмента от 0x00000000 до 0x7FFFFFFF. Это адресное пространство, выделенное для пользовательских программ. Они транслируются в физические адреса через TLB.

KSEG2: адресное пространство этого сегмента от 0xC0000000 до 0xFFFFFFFF. Это адресное пространство, которое доступно через ядро, но получает трансляцию через TLB.

 

Предыдущая  Содержание  Следующая