После двух дневного скитания по просторам интернета, после долгих раздумий пришло наконец-то понимание как должен работать МПМ и как он должен быть устроен. Блок схему модуля прилагаю вашему вниманию:
Изменений снова столько, что снова пришлось поменять архитектуру всей ЭВМ. Ну а заодно и решил название сменить (просто слово PC раздражало) теперь ЭВМ называется KC2Mxx (Kosmoflyko Computer 2 MHz где хх объем ОЗУ в кб)... вот.
МПМ теперь имеет 3 внешних шины:
- RAM Bus - доступ к внешней общей ОЗУ
- eSys Bus - доступ к внешним устройствам (HDD\VGA\Sound\Keyboard\LPT-порт и т.д.)
- DMA Bus - шина запросов прямого доступа к общему ОЗУ
и 1 внутреннюю SYS Bus - шина системной конфигурации и управления, через нее организуется управление хостами мастером, просмотр/редактирование ОЗУ хостов мастером, конфигурирование контроллера питания (Power).
При старте всегда первым стартует мастер, после своей инициализиции он включает питание определенным по умолчанию хостам, выдает на Sys Bus широковещательный запрос (т.е. для всех хостов) на запись в их ОЗУ. И одновременно пишет e-ядро ОС (уменьшенное) в их ОЗУ, после чего формирует задачу каждому хосту и запускает его на инициализацию и выполнение.
Вот и все... Как всегда все оказалось очень просто :)
Соответственно из-за изменения МПМ изменилась и общая блок схема, теперь она выглядит так:
Как видно устройства не изменились, однако теперь все они сидят на общей шине. А некоторые высокоскоростные имеют прямой доступ к общей ОЗУ. Например: видеокарта теперь может читать экран прямо из ОЗУ причем ей достаточно передать начало изображения, также звуковая карта может читать файлы из ОЗУ... Самое главное что для сокращения времени доступа к данным в общем ОЗУ лежит кеш винчестера, содержащий определенное число последних запрошенных секторов. Также как и было раньше в ПК типа Специалист возможно посылать в устройства байт данных на обработку, однако применяться это будет только к низкоскоростным устройствам.
2 комментария:
Думаю нужно подумать о технической основе. Ностальгические порывы - это, конечно, хорошо, но по-моему хорошо бы собрать таковую систему на новых 32-битных процессорах, таких как ARM, а лучше именно AVR32.
Я работал с 8-битными AVR и писал простую операционку для них.
Если хотите перейти от планирования к действиям, пишите, буду рад помочь.
Спасибо за ваше мнение... Да, собрать на новых компонентах будет действительно полезней и оптимальней, но... Есть такая вещь как мечта детства, вот Спец именно она :)
А так в планах есть "расширение", даже скорее полная переработка его под новое железо, но только после воссоздания старичка с его оригинальным софтом и переферией...
Отправить комментарий