Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
То есть, если я правильно понял, симметричная мультипроцессорная система
на К580 (или пусть Z80) не имела известных решений в России.
(За исключением соединения двух "Специалистов" по методу Шурика...
Хорошо, что я сам не взялся делать такое, хотя представлялось мне довольно
просто - отдельные процессоры со своей памятью и один процессор сверху,
с программой супервизором, который всё организует и распаралелит. Был
только один сложный вопрос - кто мне ОСь напишет...)
Но
Может поделишься мыслями, уважаемый?
|
22 Feb 2011 13:22 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
Супервизор не обязательно выделять, это как бы больше в задачи ОСи входит.
Из достаточного: монопольная память на каждый проц в одном окне проецирования + общая память в другом окне проецирования. Теоретически можно использовать для любого количества процессоров, но с увеличением будет падение эффективности использования общей памяти, причем, навскидку - в геометрической прогрессии.
Подразумеваем, что видеоконтроллера нет, или он зацеплен на монопольную память одного из процессоров.
Можно сделать и полностью общее поле памяти, но тогда частота обращения к оной будет кратна количеству процессоров, при этом неизбежны конфликты на шине, что отрицательно скажется на пиковой производительности как каждого процессора, так и системы в целом.
Реализаций симметричных систем на 580 и z80 не встречал.
Сам делал некое подобие на mcs51 с выделенным арбитром и связью по последовательной шине. Задачка была специфическая по входным данным.
|
22 Feb 2011 23:02 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
2_jdigreze
В теории я тоже неплохо всё представляю и книжки вумные на этот повод читал.
Но взглянуть на что-то "живое", покопаться в нём - это обычно стократ
полезнее, на мой взгляд...
|
23 Feb 2011 10:59 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
Согласен! Я пока свое чудо-юдо о 4-х процах не собрал, тоже много чего недопонимал. Да и сейчас в принципе не специалист по многопроцессорности.
|
23 Feb 2011 21:02 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Я в своем SpecSVGA юзаю быструю статику. Она на 1/4 времени занята синхрогенератором. Т.е., 1/4 времени такта процессора память ему недоступна, но учитывая, что в эту часть времени оно ему и не надо, то он даже и не замечает. Я думаю, что используя данную технологию я могу зацепить 2 ВМ80 на одну память с абсолютным прозрачным арбитражем. Если увеличить скорость ОЗУ в 2 раза а такты процессоров сместить по фазе - то 4 процессора. Да, я такой. :3
Чисто теоретически. Если взять шлюзовый сегмент в 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, и первым делом считывал бы свой номер а потом согласно номеру прыгал бы на свою ветку. Так-то! Дискасс!
Last edited by HardWareMan on 05 Jan 2014 07:12, edited 2 times in total.
|
23 Feb 2011 21:43 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да ты прям просто маладесс! Но как говорит один мой знакомый телемастер:
и мы люди неглупые, и мы книжки читаем, и мы знаем, как троллейбус работает,
одного не поймём - как бензин по проводам течёт...
И чем у тебя 4 процессора управляются? ОСь какая? Или 4 монитора от "Специалиста" справятся?
|
23 Feb 2011 21:53 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Ну я без сарказма говорил. Я просто описал возможный арбитраж памяти, который исключает конфликты и такты ожидания на шине. Уверен, что и для Z80 можно сделать то же самое. Только изза его 2хфронтовом обращении количество процессоров наверное будет меньшим для той же по производительности памяти.
Last edited by HardWareMan on 05 Jan 2014 07:13, edited 1 time in total.
|
23 Feb 2011 22:02 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
И я без сарказма. Варианты схемотехники в книжках приводятся. В этом проблем сильных вроде как нет. Но как ты задачу распараллелишь программно - вот что интересно?! И Шаос молчит что-то о своих древних задумках... PS.
На 3,5МГц он пахал не чихая в "Корвете". В керамике (военная приёмка)
были сведения и до 4МГц его гнали. Дело в теплоотводе...
|
23 Feb 2011 22:09 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Мы говорим про экземпляры для простых смертных, не?
Last edited by HardWareMan on 05 Jan 2014 07:13, edited 1 time in total.
|
23 Feb 2011 22:18 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Все микросхемы без буквы "К" - военной приемки. Посмотри - мож и у тебя
такие микрухи валяются. "К" - признак ширпотреба... Да:3
Но это не сподвигает нас к распараллеливанию задач...
Last edited by Lavr on 23 Feb 2011 22:47, edited 1 time in total.
|
23 Feb 2011 22:24 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22536 Location: Silicon Valley
|
ну для круглого счёта можно ведь и 10 процов забабахать
а управлять ими будет просто - в особенности если они друг-другу не мешают и чётко знают где чей кусок памяти и куда можно лезть, а куда нельзя
|
23 Feb 2011 22:28 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну поскольку наблюдаю за тобой устойчивую манеру облекать мысли в коды,
рассказал бы что-нибуть на простом примере...
(Имеем в виду 580 и Z80 где встроенных механизмов нет)
|
23 Feb 2011 22:35 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22536 Location: Silicon Valley
|
дык имея шареную память - можно сымитировать любые способы межпроцессного взаимодействия - хоть евенты, хоть каналы, да всё что угодно!
|
23 Feb 2011 22:43 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну давай что-нибуть простое рассмотрим, если есть. Я такого опыта просто
не имею - но интересно!
Тем более - сколько лет тема кисла...
2_HardWareMan
А может поставить в твоём "Спеце" Z80 и К580 рядом? Это тебе схемотехники
не испортит - а тут попробуем мультипроцессорный софт?
Last edited by Lavr on 24 Feb 2011 00:09, edited 1 time in total.
|
23 Feb 2011 22:51 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Если бы не синхрогенератор - то легко. Хотя, чисто теоретически, я могу сдвинуть ВМ80 во 3/4, где у Z80 нет дел. Тогда можно и одновременно. :3 Т.е., у памяти 4 слота, 1 для синхрогенератора, 1 для ВМ80 (у него все циклы одинаковые) и 2 для Z80 (из-за его особенности хавать опкод и данные по разным фронтам).
Касаемо мультипроцессорного кода я тебе скажу, что опыт имеется. На Сеге. :3
Last edited by HardWareMan on 05 Jan 2014 07:13, edited 1 time in total.
|
23 Feb 2011 23:48 |
|
|