мне кажецо, что мультипроцессорность с одной стороны хорошо, но сдругой стороны нет ниадной проги которая бы поддердживала такое...а писать чтото под "это" щас никто не будет...
Одного всегда достаточно
Интересно в качестве эксперимента
Оптимально 2 процессора
Оптимально 4 процессора
Оптимально 8 процессоров
Желательна возможность добавить сколько нужно
Пусть хоть один такой спек будет создан
Уже есть в природе
Лучше не z80
Сомневаюсь в целесообразности
мне кажецо, что мультипроцессорность с одной стороны хорошо, но сдругой стороны нет ниадной проги которая бы поддердживала такое...а писать чтото под "это" щас никто не будет...
Мультипроцессорность жжёт! Самое главное я вижу в том, чтобы сделать не симметричную архитектуру как на оффтопе, а ассиметричную, то есть чтобы был мастер-процессор, который будет управлять остальными.
Причём фишка в том, что если нет управления портом (пусть тем же #00) то программа запускается на одном процессоре в режиме монозадачности, и это будет legacy-спекк с точки зрения программы и все примочки будут молчать. Если же есть спец. код в порт, то соотвественно речь идёт про то, что работает мастер процессор, который будет управлять задачами/процессорами. Это позволит поддержать аппаратно мультизадачность, причём не придётся городить огород так как каждое ж приложение будет работать будто бы непрерывно и независимо.
Насчёт памяти - для 50 мгц можно статику воткнуть, там и чтение и запись почти без задержек будет, теоретически проблем не должно быть. На такие частоты статика не будет дорогой, зато перспективы безграничны. Насчёт DMA в классической конфигурации - не уверен.
Даже наоборот, уверен что в классической оно не нужно, потому как не поддержано. В is-dos это очень нужно, так как там всё через драйвер идёт, да и прирост в этом случае будет колоссальный. DMA USC под тырдос не получил признания, да и не было там DMA для устройств-накопителей.
Сколько будет процессоров - считаю что сколько угодно, но обязательно 1 мастер-процессор + подчинённые процессоры. Картинка такая - если есть 2 подчинённых процессора - то 2хзадачный спекк, если 3 - 3хзадачный и т.д.
То есть физически каждый процесс/поток будет задаваться на отдельный процессор (вот каламбур то вышел - процесс на процессор %) )
Вообще маленький ZX это однозначно круто! Чтобы можно было с собой носить и программить даже в поезде!
"Чтобы можно было с собой носить и программить даже в поезде!"
Уже есть - эльасус ёёё ...
"Интересно в качестве эксперимента
Оптимально 4 процессора
Лучше не z80
Сомневаюсь в целесообразности"
Точнее поддержу GriV'а. Если всё-таки делать это на Z80, то логично к спеку128 прилепить ещё 4 числогрызных со своей памятью. Так будет достаточно мультипроцессорно и не так сложно,как >=8. Память SPU будет банковаться в пространство CPU при этом, скорее всего, SPU будет получать либо другую банку, либо WAIT. Самым сложным наверное при таком раскладе будет контроллер памяти. От него ж будет 5 шин... Но при наличии отсутствия кеша у Z80, это наверное самый жизнеспособный вариант. При такой архитектуре и разделении внешнего общения по SPU DMA становится вроде и не нужен =)
имха, баян. уже многие пытались вымутить много процессорность. при этом уже как говорили многие, всё упрёца в одновременный доступ к памяти. на спекке она слишком медленная и ждать поа второй проц доделает свои операции, для первого осного проца будет опущением. памяти для каждого проца можно впихнуть не более 64к, это если как вариант делать кэш без организации страниц. если будет общий доступ к памяти, то появляется вопрос "монопольности" использования данного пространства. на пц всё реается более быстрой памятью/шиной. тут так не проканает. да и зачем это всё. главное делать код более быстрым, а это лучше всего чтото типа акселя..тот же ДМА или иную железку. которая будет брать на себя выполнение каких то команд, которые занимают больше времени, чем например, 10 тактов. с другой стороны, всяките "монстры" уже давно померли, нгапример, тот же спринтер...аааууу..где он щас?!? нету...и смысл мутить эту мультипроцессорность. имха снова, лучше сделать нормальную карту ускорения доступа к памяти - воткнул в слот и живи спокойно!
Это про что высказывание?
Человек спросил ему ответили, а то тут кое кто жаловался какой депрессняк в спекке - так вот не мешай творить человеку!
Насчёт разделяемого - вот что думаю. Память - нижние 128 к должны поддвергаться эмуляции, то есть чтобы была возможность каждому процессору маппить (указанием мастер-процессора) индивидуальную область 128 к, тогда никаких пересечений не будет, а кроме того каждый подчинённый проц будет работать "не зная" что есть другие.
В силу сложности эмуляции всех 128 к (порты вся фигня) можно было бы сделать хотя бы эмуляцию "чистого" 48к - то есть давать в распоряжение 64к памяти каждому процу, без пересечений. Естественно мастер-проц будет назначать и какой экран будет активный и откуда, но это кардинально меняет архитектуру ZX...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Софта нет, и не будет ... Можно не париться ...
У меня это 0й и только Z80, т.к. тут стандартные порты ввода вывода. Остальные пристяжные, могут быть Z или eZ, ну это я уже писал еще в "Наладонник", хотя там только один eZ. Надо учитывать минимальные доработки, лучшее враг хорошего, как подтверждает практика спектрума. eZ может код Z, основная разница в портах, т.е. у него свои, многочисленные порты на всякую шнягу.
Мультипроцессорность уже подразумевает многозадачность, хотя твой подход интересен.
Согласен, только память и на 100МГц будет равносильна по цене.
Подключившись контроллером к ней (оторвав процы) можно считывать все что нужно на 100МГц, это особенно актуально для 20МГц z80.
Вот именно, кто-то должен ими рулить и быть совместимым с базовым.
Тут еще больше вариаций.
1.привязка к прерыванию, т.е. выполнил задание, жди следующее и не рыпайся .
2.выполнил, доложи в 0й порт/память (хоть запись в защищенную ячейку в начале ппзу), т.е. тот же детектор.
3.отрыв от шины или останов тактовой по мере надобности.
Можно продолжать до бесконечности, главное, при том минимальное отклонение от базовой.
Кстати, кстати, а можно, я думаю, на eZ'тах вообще формировать изображение, хоть sVGA, калькулировал мипсы с полгода тому и высказывался в наладоннике хз когда, но это уже программирование в коем я не силен. Выставить значения в порт в зависимости от.., ldir'нуть чтонить, это я могу, но не видеокарту по сути, это еще на год.
Дороговат он получается, особенно когда дорожка не протоптана, да еще и в одно рыло.
В класике будет проще, что я и собрался доказать к концу года.
Вообще, надо ускориться, чтобы отлаживать, а не разглагольствовать.
Последний раз редактировалось Пётр; 22.04.2008 в 19:36. Причина: продолжаю
GriV
никаму я немешаю, хочет пусть делает. кроме того, ни я ни ты ничего не изменят, если человек уже выработал какой то план и есть уже какие то мысли на бумаге, то уже делол идёт. но моё личное мнение, что мультипроцессорность тут ненужна, считаю, что скорость работы команд и работы с памятью являются более важными...покрайней мере на данный момент. это моя имха, никаму ничего не навязываю..дело добровольное.
Зачем изобретать велосипед? В приставках ставили "несимметричный кластер"ARM7+z80, можно вместо ARM ставить что угодно, например Blackfin (ADSP-BF548) или Da Vinci ( TMS320DM355=ARM9+видеоаксель).
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)