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

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

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:ну сети из 8-биток в 90-е строили все кому не лень :)
И делали на них распределённые вычисления???! - НЕ ВЕРЮ! (с)Станиславский. :wink:
User avatar
Shaos
Admin
Posts: 24001
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote:
Shaos wrote:ну сети из 8-биток в 90-е строили все кому не лень :)
И делали на них распределённые вычисления???! - НЕ ВЕРЮ! (с)Станиславский. :wink:
Ну может кто и делал...

Про сеть на 8080 теперь в другом топике:
viewtopic.php?t=9621
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Lavr wrote:проблема многозадачности привлекательна и будоражит разные умы, как на нашем форуме, так и за его пределами.

Но несмотря на кучу усилий, идея так и не получила хотя бы убогого,
но реального воплощения в виде железного прототипа.
С воплощением в железе вообще всегда проблема, ибо по большому счёту for fun - недостаточный стимул для многодневного труда, другие же применения сомнительны. Многозадачность же хоть и привлекательна, но влечёт за собой массу проблем, как технических, так и организационных (если делать её правильно) - усложнение схем и программного обеспечения на порядок по сравнению с однозадачным режимом. Привилегии, защита памяти, планировщик задач... И в результате (ну предположим, мы этот путь осилим) получим НедоВиндовс... :)

Мне нравится книжка Э.Реймонда "Искусство программирования для UNIX". Хотя программирование и разработка железа - довольно разные вещи, но всё же некоторые базовые принципы верны и там, и там. Позволю себе процитировать некоторые "философские принципы разработки" :
- правило модульности: следует писать простые части, связанные ясными интерфейсами;
- правило ясности: ясность лучше, чем мастерство;
- правило простоты: необходимо проектировать простые программы и "добавлять сложность" только там, где это необходимо;
- правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации;
- правило разнообразия: не следует доверять утверждениям о "единственно верном пути";
- правило расширяемости: проектируйте с учётом изменений в будущем, поскольку будущее придёт скорее, чем кажется.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Правила программирования зело правильные, хотя и несколько пафосные...

А насчёт остального... можно я промолчу? - Не буду приумножать виртуальные
сущности... :wink:
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

А вот интересно: супер-пупер кампутер на базе одиннадцати процессоров Paralax Propeller
использует распределённые вычисления??
Или это 11 контроллеров Paralax Propeller, собраных в этажерочку?

Image

http://dlinyj.livejournal.com/382833.html
Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

Post by Shadovv13 »

Хотел бы я себе позволить такой супер компьютер собрать! :cry:

Насчет мультипроцессорного недоПС, он должен сохранить совместимость или это совсем новая архитектура будет?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shadovv13 wrote:Насчет мультипроцессорного недоПС, он должен сохранить совместимость или это совсем новая архитектура будет?
Да вот о таких вопросах мы в этом топике дискутируем и спорим...
Возможно, у тебя есть своё оригинальное мнение или примеры готовых конструкций?
Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

Post by Shadovv13 »

Мнение есть всегда!! Но не всегда правильное :wink:
Если совместимость на не нужна, тогда можно разогнаться на полную.
Допустим сопроцессоры будут в слоте расширения, то есть они не обязательны. У каждого есть 64к ОЗУ и оно может бить подключено к основному как страничная память. Так и основной процессор может разместить туда необходимую задачу, или взять все нужное(к примеру результат).
Как таким устройством управлять? Все просто!
Есть несколько идей и их надо обсудить.
К примеру, завершение программы на сопроцессорах, должно генерировать сигнал HALT, который будет записан в регистр состояния сопроцессоров. Таким образом основной при опросе(через порти вода- вывода) узнает о завершении вычислений. Но можно и генерировать прерывание(это кстати надо обсудить). Ну и конечно остается вопрос о старте сопроцессоров, давать им ПЗУ или делать окно в основном ОЗУ.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shadovv13 wrote:Мнение есть всегда!! Но не всегда правильное :wink:
Есть несколько идей и их надо обсудить.
Давай обсудим - но серьёзно. А то тема скользкая - с разбегу кажется, "да я щазз!", а потом начинаешь видеть кучу подводных камней, особенно со стороны софта, и "энтуазизъм" улетучивается.
Что я имею в виду "со стороны софта" - Венда заманила всех, не заставляя переписывать приложения ДОС.
Хотелось бы тоже сочинить такую не шибко сложную замауху.

Полярность мнений у нас здесь от "весь софт, батенька, придётся переписать!" до "софт переписывать неохота - пусть всем руководит отдельная программа-диспетчер".
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Может, устроить голосование? :)
Венда заманила всех, не заставляя переписывать приложения ДОС.
Ну, все мы знаем, что помимо достоинств совместимости, это потянуло за собой огромную массу проблем. В данном случае необходимости в совместимости лично я не вижу, ибо не с чем особо "совмещаться".
Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

Post by Shadovv13 »

Я полностью согласен! И думаю для начала нам надо обсудить направления.

1. Должно оно бить совместимым, если да то с чем?

Думаю все остальные вопросы, только после ответа на первый! :-?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

VituZz wrote:Может, устроить голосование? :)
В данном случае необходимости в совместимости лично я не вижу, ибо не с чем особо "совмещаться".
А я лично вижу с чем совмещаться и наш пример с "новым" "Специалистом МХ" - тому подтверждение.
Голосованием решают только на митингах, а у нас случай не тот...

Но я давно уже предложил - давайте конкретно и понятно рассмотрим одну реально работающую систему с разделением.
Пусть даже самую простую.
Есть такое мнение - если ты можешь объяснить работу сложной системы на пальцах без "умных" слов и отсылки к источникам, - то ты реально понимаешь принцип её работы.
До такого уровня мы ещё ни разу не дошли ни в одном из сценариев.
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Мне кажется, несимметричная схема с неравноценными (или неравноправными, или как вам угодно ещё) процессорами в реализации проще. Пусть будет один "главный" процессор и несколько подчинённых. Главный может общаться с подчинёнными посредством как общей памяти, так и с помощью обмена сообщениями через порты ввода-вывода посредством, к примеру, DMA. Второй вариант кажется мне более предпочтительным, поскольку из общей памяти всё равно нужно будет копировать в локальную, что с помощью DMA делается проще и естественней. Протокол обмена может напоминать POP/SMTP - текстовые сообщения (они обычно краткие) с "вложениями", если необходимо - собственно данные для обработки. Общая схема мне кажется довольно простой, но, как известно, "дьявол скрывается в деталях" :)

Если же брать в качестве цели именно распараллеливание даже одной задачи, то это кажется мне нерациональным с такими скромными ресурсами, как ВМ80. Гораздо эффективнее распараллеливать именно работу, раздавая свои задачи каждому процессору. Разумеется, если программа будет написана так, что сможет использовать несколько процессоров одновременно, она ДОЛЖНА будет так написана. Но на этом пути я вижу некоторые трудности, которые не так уж просто победить "малой кровью"... Правильный путь мне видится в том, чтобы максимально освободить главный процессор от рутины с помощью разумных периферийных процессоров, которым достаточно будет "намекнуть", что нужно сделать, и они без лишних слов всё сделают сами.
Но это, конечно, не то распараллеливание вычислений, которое обычно имеют в виду.
Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

Post by Shadovv13 »

Зачем старому ишаку новые подковы??? :wink:
Я склоняюсь к новой разработке, софт думаю можно частично переписать(самый-самый ), а остальной подтянуть.
Да симметричный вариант очень сложный и я склоняюсь к второму варианту.

VituZz
А какие сейчас легко доставаемые DMA??? :o
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Ну если речь о К580, так это К580ВТ57. К1810ВТ37 вроде бы тоже подходит, и даже вроде лучше, чем ВТ57, поскольку позволяет делать пересылки не только между ОЗУ и ВВ, но и между ОЗУ и ОЗУ. Но насчёт её совместимости с К580 нужно проверить, давно это было...