Они транслируют 18-битный адрес в 22-битный. Идея та же, что и при трансляции диспетчером памяти - в зависимости от адреса от устройства выбирается одна из 31 пары регистров UMAP и содержимое пары складывается (с часть адреса), который выставило устройство. 31 пара потому что формально 32-пара отвечает за страницу в/в, а туда по прямому доступу в память записи нет. Детали не помню - читать надо - потому как в драйверах (по крайне мере RSX) большая часть делается за счёт стандартных процедур ядра - типа - загрузи в регистры то-то, вызови такую то процедуру, всё - инициируй запрос, я (ядро) уже усё подготовило. Устройство выставляет 18-ти битный адрес, но его обращение идёт через UMAP, а он преобразует 18-ти битный адрес в 22-ух


Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

