nedoPC-580 (SMP на 5 процессорах КР580ВМ80А)

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Post by Mac Buster »

Больные люди делают страшные вещи, даже смешно. Я 10 лет назад в результате размышлений над подобной задачей (тоже как ни странно ОС, только для Спинтера) решил что наиболее эффективным будет создание виртуального 32-разрядного процессора, позволяющего включать в свой код вставки написанные на ассемблере Z80 и разрешал выполнять их в пределах 16к страницы памяти. По собственным тестам программа для виртуального процессора работал медленнее в два раза аналогичного, но написанного сразу в коде Z80. Зато скорость разработки выросла в 100500 раз - команды были реализованы в виде макросов для кросс-ассемблера. Надо бы код поискать.
Extreme Entertainment
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Mac Buster wrote:Больные люди
Александер - ну зачем уж так... :wink: самые классные вещи обычно и делают люди, которым не сказали что чего-то ЭТОГО сделать нельзя :-?
Mac Buster wrote:Надо бы код поискать.
А поищи - 10 лет спустя это действительно интересно!
User avatar
Shaos
Admin
Posts: 24039
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

А я наверное построю таки это монстрокомп когда-нибудь...
Пусть только HardWareMan поподробнее изложит свою идею параллельной работы 8080-х:
HardWareMan wrote: Чисто теоретически. Если взять шлюзовый сегмент в 64КБ (W24512-15), у нее время доступа 15нс, но можно удвоить для совместимости. Т.е. 30нс. Это означает примерно 33МГц. Если запустить ВМ80 на 2,5МГц (как бы ему больше и не осилить), то 2 проца это 5МГц, 4 проца это 10МГц, а 8 процов - это 20МГц. 20МГц это 50нс, что длиннее наших 30 с запасом. В итоге, делаем циклогенератор так, чтобы F2 у каждого процессора был строго в своей фазе (20МГц разделить на 8 фаз), а ОЗУ разрешать (гейтить) к каждому процессору на переднем фронте F2 с учетом его RD/WR (т.е., когда F2 0=>12, ОЗУ должно уже устаканить свой адрес и быть готово к обращению). Все, каждый процессор будет работать независимо, на своей частоте и не мешать другим (ну кроме содержимого ОЗУ). Останется только одному из процессоров подсунуть буткод и вывесить сбросы всех процов на регистр контроля. Хотя, если у каждого из процессоров сделать выделенный порт статуса, откуда он мог бы считать свой номер, то буткод мог бы быть общим в 0, и первым делом считывал бы свой номер а потом согласно номеру прыгал бы на свою ветку.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Куда уж конкретнее? Давай так, приведи исходные данные или ТЗ в целом (количество процессоров, их тактовая и т.д.).
Last edited by HardWareMan on 05 Jan 2014 07:10, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 24039
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

HardWareMan wrote:Куда уж конкретнее? Давай так, приведи исходные данные или ТЗ в целом (количество процессоров, их тактовая и т.д.).
Кол-во процессоров в одном модуле с общей памятью - от 5 до 10
Кол-во многопроцессорных модулей, соединённых каналами связи - любое
Ты мне растактовочку на пальцах разрисуй и схему генератора надо прикинуть ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

А почему предпочтение оказывается SMP? Для таких скромных аппаратных ресурсов надо что-то по-проще. К примеру, главный процессор, у которого 4...16 каналов DMA к подчинённым. Общая память не исключается, но мне кажется более простым в реализации эдакая "клиент-серверная" модель, когда процессоры обмениваются сообщениями по SMTP-подобному протоколу через порты. Как плюс этого решения - лёгкость в отладке, можно предусмотреть при проектировании простые отладочные средства. Подчинённые процессоры должны не только выполнять отдельные задачи, полученные от главного, но и быть, к примеру, "умными контроллерами", максимально освобождая главный процессор от рутины (клавиатура, диски...).
Старые компы на К580 требуют, как правило, слишком большой модернизации (ПДП, прерывания) для использования возможностей К580 по максимуму. С другой стороны, современные ПЗУ и статические ОЗУ позволяют собрать достаточно компактную схему. Это тот случай (по-моему), когда разумнее собрать новую схему, а не пытаться использовать старые. Но можно и нужно в новой схеме предусмотреть максимум возможностей по использованию имеющегося ПО.

Вот, ещё один крупный специалист-теоретик по многопроцессорным системам нарисовался... :D
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

VituZz wrote: Старые компы на К580 требуют, как правило, слишком большой модернизации (ПДП, прерывания) для использования возможностей К580 по максимуму. С другой стороны, современные ПЗУ и статические ОЗУ позволяют собрать достаточно компактную схему. Это тот случай (по-моему), когда разумнее собрать новую схему, а не пытаться использовать старые. Но можно и нужно в новой схеме предусмотреть максимум возможностей по использованию имеющегося ПО.

Вот, ещё один крупный специалист-теоретик по многопроцессорным системам нарисовался... :D
Ну поскольку проблема сама по себе интересная и неоднозначная, глядишь,
мы вместе что-то и порешаем. Не вижу вреда от ещё одного крупного специалиста-теоретика... :wink:
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Сложилось у меня впечатление, что вот по этому адресу
http://www.wasm.ru/forum/viewtopic.php?pid=428564
наш коллега Paguo_86PK (если это он) ещё одну многозадачную систему
изобрёл. А заодно и К580ВМ80 с защищённым режимом.

Какая притягательная задача многозадачности!!!:wink:
Paguo_86PK wrote:Думаю, из восьми битных процессоров тоже можно слепить настоящие многозадачные мозги!
User avatar
Shaos
Admin
Posts: 24039
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Как-то некузяво - общей памяти нету и т.д.
Мне идея HardWareMan-a больше нравится - про размазывание процессоров по времени с доступом к одной и той же памяти без вейтов...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:Как-то некузяво - общей памяти нету и т.д.
Няшно-ли, кузяво-ли... всё-равно это просто размышления на тему...
Есть наши, а есть и альтернативные. Я просто привёл пример...
User avatar
Shaos
Admin
Posts: 24039
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote:
Shaos wrote:Как-то некузяво - общей памяти нету и т.д.
Няшно-ли, кузяво-ли... всё-равно это просто размышления на тему...
Есть наши, а есть и альтернативные. Я просто привёл пример...
Про разные процы 8080 подцепленные вместе через некоторое подобие сети я ещё в 1997 году своим эмулятором эмулил - неинтересно...

Image
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:
Lavr wrote:
Shaos wrote:Как-то некузяво - общей памяти нету и т.д.
Няшно-ли, кузяво-ли... всё-равно это просто размышления на тему...
Есть наши, а есть и альтернативные. Я просто привёл пример...
Про разные процы 8080 подцепленные вместе через некоторое подобие сети я ещё в 1997 году своим эмулятором эмулил - неинтересно...
...
Ну а кому-нибудь может и интересно...
Я твою поделку образца 1997 года также впервые вижу.
Тем не менее, все раздумья и реминисценции никак не сдвигают с места сабж.
User avatar
Shaos
Admin
Posts: 24039
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote: Я твою поделку образца 1997 года также впервые вижу.
А я вижу её второй раз в жизни ;)
Я в 1997 запускал её только один раз и окончательный рабочий вариант судя по всему посеял - пришлось вчера обрабатывать напильником чудом сохранившийся полурабочий :)
Там крутится 2 экземпляра операционной системы ShaOS (кодовое наименование S004) и две программки: NETR (читалка сети) на одном узле и NETW (писалка сети) на другом узле, а внизу виден последовательный сигнал идущий по сети
P.S. По идее сеть для недокомпов тоже имеет право на существование...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16687
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Я, собственно, что хотел сказать, добавив эту ссылку, что проблема
многозадачности привлекательна и будоражит разные умы, как на нашем
форуме, так и за его пределами (т.к. эта ссылка не первая здесь)

Но несмотря на кучу усилий, идея так и не получила хотя бы убогого,
но реального воплощения в виде железного прототипа.
Сравнивать достоинства и недостатки умозрительных решений я не ставил
своей задачей...
User avatar
Shaos
Admin
Posts: 24039
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

ну сети из 8-биток в 90-е строили все кому не лень :)
Я тут за главного - если что шлите мыло на me собака shaos точка net