![]() |
Странные мысли
от acidrain'а. =) Есть у меня в моем КПК "сборник" записочек и мыслей об Амиге и спектруме, оси и других моих интересах. Тут недавно прочел одну заметку свою и решил ею поделиться.
Code:
Semi-MMUА вот зачем это - другой вопрос ;) |
Quote:
Quote:
Quote:
|
Quote:
- регистр базового адреса. - сумматор (который будет вычислять физический адрес памяти по следующему алгоритму "базовый адрес памяти" + "смещение"(значение адресной шины)). Таким образом адреса памяти становятся полностью виртуальными. Неважно сколько у тебя памяти, неважно с какого конкретно адреса лежит программа в физической памяти - перед запуском записал правильное значение в регистр базового адреса - и вперед. Лучше всего иметь для каждой банки в 16К отдельный регистр базового адреса. Размер физической памяти, определяется разрядностью регистра базового адреса, которую можно сделать любой. Думайте в общем - виртуальность штука полезная :) |
Quote:
|
Quote:
|
Quote:
Я это и пытался объяснить - например 24 бита будут выглядеть так: 8бит - номер банки, 16 бит - обычное з80 адресное пространство. Вот и считай - 256*65536 = 16 метров =) Программист просто будет запрашивать адрес, скажем в таком виде $203f4, а плисина будет открывать соответствующие физические адреса. |
Quote:
Ничего плохого не вижу в том, что я предложил. Если тебя устраивает переключение банок, то ради Бога, преключай. Я б предпочел такой вариант, как было предложено выше =) |
Quote:
|
Quote:
2. Зачем изобретать велосипед (Z180)? 3. Если всё-таки Z180 - то Zilog Developer Studio c ассемблером и Си, где есть макросы для работы с MMU. 4. Если всё-таки Z180 - есть портированые под него СР/М и UZIX. |
Quote:
А это доработка к ныне существующим клонам ;) |
| All times are GMT +4. The time now is 17:15. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.