И делали на них распределённые вычисления???! - НЕ ВЕРЮ! (с)Станиславский.Shaos wrote:ну сети из 8-биток в 90-е строили все кому не лень
nedoPC-580 (SMP на 5 процессорах КР580ВМ80А)
Moderator: Shaos
-
Lavr
- Supreme God
- Posts: 16808
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
Shaos
- Admin
- Posts: 24578
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Ну может кто и делал...Lavr wrote:И делали на них распределённые вычисления???! - НЕ ВЕРЮ! (с)Станиславский.Shaos wrote:ну сети из 8-биток в 90-е строили все кому не лень
Про сеть на 8080 теперь в другом топике:
viewtopic.php?t=9621
-
VituZz
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
С воплощением в железе вообще всегда проблема, ибо по большому счёту for fun - недостаточный стимул для многодневного труда, другие же применения сомнительны. Многозадачность же хоть и привлекательна, но влечёт за собой массу проблем, как технических, так и организационных (если делать её правильно) - усложнение схем и программного обеспечения на порядок по сравнению с однозадачным режимом. Привилегии, защита памяти, планировщик задач... И в результате (ну предположим, мы этот путь осилим) получим НедоВиндовс...Lavr wrote:проблема многозадачности привлекательна и будоражит разные умы, как на нашем форуме, так и за его пределами.
Но несмотря на кучу усилий, идея так и не получила хотя бы убогого,
но реального воплощения в виде железного прототипа.
Мне нравится книжка Э.Реймонда "Искусство программирования для UNIX". Хотя программирование и разработка железа - довольно разные вещи, но всё же некоторые базовые принципы верны и там, и там. Позволю себе процитировать некоторые "философские принципы разработки" :
- правило модульности: следует писать простые части, связанные ясными интерфейсами;
- правило ясности: ясность лучше, чем мастерство;
- правило простоты: необходимо проектировать простые программы и "добавлять сложность" только там, где это необходимо;
- правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации;
- правило разнообразия: не следует доверять утверждениям о "единственно верном пути";
- правило расширяемости: проектируйте с учётом изменений в будущем, поскольку будущее придёт скорее, чем кажется.
-
Lavr
- Supreme God
- Posts: 16808
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
Lavr
- Supreme God
- Posts: 16808
- Joined: 21 Oct 2009 08:08
- Location: Россия
А вот интересно: супер-пупер кампутер на базе одиннадцати процессоров Paralax Propeller
использует распределённые вычисления??
Или это 11 контроллеров Paralax Propeller, собраных в этажерочку?

http://dlinyj.livejournal.com/382833.html
использует распределённые вычисления??
Или это 11 контроллеров Paralax Propeller, собраных в этажерочку?

http://dlinyj.livejournal.com/382833.html
-
Shadovv13
- Novelist
- Posts: 40
- Joined: 06 Jul 2011 11:19
- Location: 95.135.142.82
-
Lavr
- Supreme God
- Posts: 16808
- Joined: 21 Oct 2009 08:08
- Location: Россия
-
Shadovv13
- Novelist
- Posts: 40
- Joined: 06 Jul 2011 11:19
- Location: 95.135.142.82
Мнение есть всегда!! Но не всегда правильное
Если совместимость на не нужна, тогда можно разогнаться на полную.
Допустим сопроцессоры будут в слоте расширения, то есть они не обязательны. У каждого есть 64к ОЗУ и оно может бить подключено к основному как страничная память. Так и основной процессор может разместить туда необходимую задачу, или взять все нужное(к примеру результат).
Как таким устройством управлять? Все просто!
Есть несколько идей и их надо обсудить.
К примеру, завершение программы на сопроцессорах, должно генерировать сигнал HALT, который будет записан в регистр состояния сопроцессоров. Таким образом основной при опросе(через порти вода- вывода) узнает о завершении вычислений. Но можно и генерировать прерывание(это кстати надо обсудить). Ну и конечно остается вопрос о старте сопроцессоров, давать им ПЗУ или делать окно в основном ОЗУ.
Если совместимость на не нужна, тогда можно разогнаться на полную.
Допустим сопроцессоры будут в слоте расширения, то есть они не обязательны. У каждого есть 64к ОЗУ и оно может бить подключено к основному как страничная память. Так и основной процессор может разместить туда необходимую задачу, или взять все нужное(к примеру результат).
Как таким устройством управлять? Все просто!
Есть несколько идей и их надо обсудить.
К примеру, завершение программы на сопроцессорах, должно генерировать сигнал HALT, который будет записан в регистр состояния сопроцессоров. Таким образом основной при опросе(через порти вода- вывода) узнает о завершении вычислений. Но можно и генерировать прерывание(это кстати надо обсудить). Ну и конечно остается вопрос о старте сопроцессоров, давать им ПЗУ или делать окно в основном ОЗУ.
-
Lavr
- Supreme God
- Posts: 16808
- Joined: 21 Oct 2009 08:08
- Location: Россия
Давай обсудим - но серьёзно. А то тема скользкая - с разбегу кажется, "да я щазз!", а потом начинаешь видеть кучу подводных камней, особенно со стороны софта, и "энтуазизъм" улетучивается.Shadovv13 wrote:Мнение есть всегда!! Но не всегда правильное![]()
Есть несколько идей и их надо обсудить.
Что я имею в виду "со стороны софта" - Венда заманила всех, не заставляя переписывать приложения ДОС.
Хотелось бы тоже сочинить такую не шибко сложную замауху.
Полярность мнений у нас здесь от "весь софт, батенька, придётся переписать!" до "софт переписывать неохота - пусть всем руководит отдельная программа-диспетчер".
-
VituZz
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
-
Shadovv13
- Novelist
- Posts: 40
- Joined: 06 Jul 2011 11:19
- Location: 95.135.142.82
-
Lavr
- Supreme God
- Posts: 16808
- Joined: 21 Oct 2009 08:08
- Location: Россия
А я лично вижу с чем совмещаться и наш пример с "новым" "Специалистом МХ" - тому подтверждение.VituZz wrote:Может, устроить голосование?
В данном случае необходимости в совместимости лично я не вижу, ибо не с чем особо "совмещаться".
Голосованием решают только на митингах, а у нас случай не тот...
Но я давно уже предложил - давайте конкретно и понятно рассмотрим одну реально работающую систему с разделением.
Пусть даже самую простую.
Есть такое мнение - если ты можешь объяснить работу сложной системы на пальцах без "умных" слов и отсылки к источникам, - то ты реально понимаешь принцип её работы.
До такого уровня мы ещё ни разу не дошли ни в одном из сценариев.
-
VituZz
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
Мне кажется, несимметричная схема с неравноценными (или неравноправными, или как вам угодно ещё) процессорами в реализации проще. Пусть будет один "главный" процессор и несколько подчинённых. Главный может общаться с подчинёнными посредством как общей памяти, так и с помощью обмена сообщениями через порты ввода-вывода посредством, к примеру, DMA. Второй вариант кажется мне более предпочтительным, поскольку из общей памяти всё равно нужно будет копировать в локальную, что с помощью DMA делается проще и естественней. Протокол обмена может напоминать POP/SMTP - текстовые сообщения (они обычно краткие) с "вложениями", если необходимо - собственно данные для обработки. Общая схема мне кажется довольно простой, но, как известно, "дьявол скрывается в деталях" 
Если же брать в качестве цели именно распараллеливание даже одной задачи, то это кажется мне нерациональным с такими скромными ресурсами, как ВМ80. Гораздо эффективнее распараллеливать именно работу, раздавая свои задачи каждому процессору. Разумеется, если программа будет написана так, что сможет использовать несколько процессоров одновременно, она ДОЛЖНА будет так написана. Но на этом пути я вижу некоторые трудности, которые не так уж просто победить "малой кровью"... Правильный путь мне видится в том, чтобы максимально освободить главный процессор от рутины с помощью разумных периферийных процессоров, которым достаточно будет "намекнуть", что нужно сделать, и они без лишних слов всё сделают сами.
Но это, конечно, не то распараллеливание вычислений, которое обычно имеют в виду.
Если же брать в качестве цели именно распараллеливание даже одной задачи, то это кажется мне нерациональным с такими скромными ресурсами, как ВМ80. Гораздо эффективнее распараллеливать именно работу, раздавая свои задачи каждому процессору. Разумеется, если программа будет написана так, что сможет использовать несколько процессоров одновременно, она ДОЛЖНА будет так написана. Но на этом пути я вижу некоторые трудности, которые не так уж просто победить "малой кровью"... Правильный путь мне видится в том, чтобы максимально освободить главный процессор от рутины с помощью разумных периферийных процессоров, которым достаточно будет "намекнуть", что нужно сделать, и они без лишних слов всё сделают сами.
Но это, конечно, не то распараллеливание вычислений, которое обычно имеют в виду.
-
Shadovv13
- Novelist
- Posts: 40
- Joined: 06 Jul 2011 11:19
- Location: 95.135.142.82
-
VituZz
- God
- Posts: 1343
- Joined: 13 Nov 2010 04:06
