ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
1098360 Топик полностью
Boвa (07.05.2021 10:47, просмотров: 200) ответил LightElf на Если общую конструкцию MMU подсмотреть у MIPS-ов, то не особо сложно и весьма гибко можно было сделать.
Если эмулировать сегментацию в стиле 286 то получится сложна потому как регистры сегментов снаружи не доступны, а что туда грузится ведомо только процессору. (Хотя подсмотреть имя используемого сегментного регистра конечно же можно). 

Но можно в потоке команд ловить команды модификации сегментов по принципу работы сопроцессора 8087 и вместо них подставлять что-то

другое однобайтовое делающее джамп на подпрограмму обработки "защищенного режима". Также надо ловить команды не поддержанные 86 процессором.



Если же просто добавить memory paging то это очень просто. Нужно поставить небольшую память транслирующую адреса на страницы, но сделать так чтобы любая команда вне режима ОС модифицирующая эту память или память ОС вызывала NMI, а запись/чтение блокировались.

Для входа в режим ОС можно использовать внешний тригер взводящийся при начале обработки NMI и програмно сбрасываемый при входе в режим юзера. Но конечно на NMI следует повесить критически важные прерывания и т.п. В общем мы получим уже совсем не аналог РС XT.