MMU имеется в следующих процессорах 680ХХ семейства: 68030, 68040, 68060. Есть также так называемые
EC версии этих
процессоров, которые не имеют
MMU. Например, A4000/030 имеет процессор 68EC030. На
акселераторах сторонних призводителей , управление MMU
может быть различно,
для получения информации нужно читать соответствующую
документацию по конкретному акселератору, чтобы узнать
как работает MMU. Насколько я знаю,
все модели 68040/68060's, когда-либо встроенные в
Amiga - содержат MMU (потому что
burstmode и Zorro III требуют MMU
для функций IO). Различие между полным центральным процессором и версией EC не может
быть устранено программным обеспечением. Поэтому пользователь должен
сам установить соответствующие опции
right_options для
WHDLoad.
Для 68020 есть внешний MMU, называемый 68851, но
это в настоящее время не поддерживается WHDload.
Главная цель MMU состоит в том, чтобы переводить логические адреса на физические. Это требуется для виртуальной памяти чтобы отделять адресное пространство (например в системе защищенной от каких-то процессов). Другая особенность состоит в том, чтобы указывать свойства как способ " Supervisor Only ", защита от записи и свойства "Cache" для каждого отдельного участка памяти (WHDLoad использует размер таблицы равный 4096 байтов). WHDLoad не использует перевод логических адресов к физическим. Но зато использует MMU для защиты памяти, cache managment и некоторых специальных возможностей (Snooping, resload_Protect *?).
При запуске, WHDLoad просматривает память, вносит в список и будет строить дерево перевода, которое включает всю доступную память, отмечает следующие адреса как действительные и доступные: 0 $... BaseMem (получает информацию из Slave-а), $dff000... $dff200 (Custom registers), $bfd000... $bff000 (регистры Cia) и память, используемые Slave-ом и WHDLoad. Если отладчик найден в памяти, память используемая отладчиком будет также доступной. Вся другая память отмечается как недоступная, и поэтому каждый доступ к такой области (чтение или запись), создаст Исключение / Ошибка Доступа, которое закончится соответствующим запросчиком WHDLoad.
Для 68030, способ по умолчанию является disable MMU. На процессорах 68040/68060 по умолчанию - использование MMU. Есть два варианта, чтобы управлять состоянием MMU. MMU/S включает в WHDLoad использование MMU и требуется для того чтобы включть дополнительные возможности MMU на 68030. NoMMU/S отключает использование MMU в WHDLoad (игнорирование MMU).
An Enforcer hit is an Enforcer hit, period. (Michael Sinz)