|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
nedoPC-580 (SMP на 5 процессорах КР580ВМ80А)
Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да вот так, уважаемый голуба, оно и происходит... И это чисто эмпирический факт. А злой - я не злой, а справедливый. Во флейме можно утопить любую тему. Ну и нефиг флеймить тогда было, нежный ты наш. У меня действительно несколько исходников Васика, а я не телепат. А страна советов уж 20 лет как померла. " не надо мне" дурацких советов " как-нибудь сам разберусь" и что считать буду, и что направить и в какое русло...
PS. Говорят, что эту притчу маршал Неделин рассказал академику Сахарову по испытанию ядерной бомбы...
Last edited by Lavr on 07 Aug 2011 14:23, edited 2 times in total.
|
07 Aug 2011 05:34 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22530 Location: Silicon Valley
|
Это нам HardWareMan обещал сделать
P.S. Видать придётся мне эмулятор этого дела писать и самому всё кодить...
|
07 Aug 2011 06:37 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
А что, Хардыч единственный инженер-схемотехник на этом форуме?
Last edited by HardWareMan on 05 Jan 2014 07:07, edited 1 time in total.
|
07 Aug 2011 08:05 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Shaos тоже кое-что здесь обещал: Видимо увидеть результаты посула мне помешал пресловутый " информационный фильтр", а в будущем - конечная продолжительность жизни... А между тем Хардыч свою идею свою идею параллельной работы не только изложил, но и подробно проиллюстритровал эпюрами таймингов.
PS. Да-да... я безусловно понимаю "когда-нибудь..." Ждать молча? Другие варианты реализации не обсуждать?
Last edited by Lavr on 07 Aug 2011 12:16, edited 1 time in total.
|
07 Aug 2011 08:24 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я позволю себе изложить свою точку зрения на проблему, чтобы это не выглядело как базарная перепалка, и не давало поводов для фразы "не ссорьтесь девочки"...
Конечно, сегодня это может быть не актуальным и даже вызывает вопросы типа, "а что вы собрались на такой системе считать?".
Так вот ответственно говорю, что посчитать серьёзно на "Специалисте" мне довелось и очень много.
Поэтому, возможно, я резко реагирую на VituZz-а и "Орион 128".
"Ориона 128" не было, а "Специалист" считал неделями не выключаясь.
Удивительно, но с постоянством 220В тогда было проще, чем сейчас.
И поскольку в результатах своих расчётов я был кровно заинтересован, а скажу я, что "Специалист" на Васике-интерпретаторе считал примерно с такой же скоростью, как и историческая "Т3-29", то я использовал все возможности, чтобы ускорить процесс.
Ну и поскольку "Специалист" как раз и был в отличие от "Т3-29" именно такой платформой, где можно было, как говорит MC68k, своей рукой всё делать по месту и невозбранно, то я тогда впервые задумался о многопроцессорности и распараллеливании процессов.
Никакой теоретической основы у меня не было, и на 10 процессоров я не замахивался, а хотел положить в основу "принципы Форда".
Если где-то процесс замедляется - его надо распараллелить.
И максимум, что я себе смог практически представить - это двухпроцессорную систему:
один процессор делает собственно математический расчёт и отдаёт результат другому процессору, который занимается всеми процессами вывода на экран, в то время как первый продолжает молотить расчётную задачу.
Вобщем-то я себе неплохо представил воплощение задачи, как аппаратно, так и программно.
Может быть я это и сделал бы, но IBM не позволила.
Если на моей первой IBM-совместимой "Искре-1030" все те же расчёты выглядели едва заметно быстрее и в графике проигрывали "Специалисту", то на 286 20 МГц EGA 640x480 расчет, занимавший на "Специалисте" неделю, пролетал за считанные минуты.
Собственно это и было причиной, почему от "Специалиста", как и от спаянного уже "Ориона-128", я решил на рубеже 1994-1995 годов отказаться.
И в дальнейшем использовал "Специалист" как удобную платформу для решения задач, связанных с аппаратным управлением.
Но желание "пощупать" самодельную многопроцессорную систему с распараллеливанием задачи у меня осталось.
Я этого не сделал - это чисто теоретически мне очень интересно.
Отсюда какой вывод? Может не будем замахиваться на 10-процессорную систему?
Объективно мы не сделаем её никогда.
Может быть - что-то более простое, но реально работающее?
А то основной итог по просмотру всей этой темы - это кто-то делал, кто-то рядом стоял, кто-то показывал пальцем на литературу и что-то похожее...
А конкретного и понятного, а тем паче работающего - ничего так и нет.
Я, конечно не умру от тоски, если ничего не случится, но и на личности беспричинно переходить - так же повода не вижу.
Я и сам это вполне умею.
Last edited by Lavr on 07 Aug 2011 12:18, edited 1 time in total.
|
07 Aug 2011 09:46 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22530 Location: Silicon Valley
|
Сдаётся мне что твой 286 был с сопроцессором, потому как такое ускороение можно было получить перейдя от бейсика на 8080 к компилируемой плавающей точке на 286 с сопроцессором 287, нет?
|
07 Aug 2011 11:44 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да, с сопроцессором IIT 287 - я его сразу докупил, т.к. знал что он мне зело нужен...
Хотя двойку сбирал по частям. Сначала материнку, клаву, Ягу-карту и флопп с картой.
А уже к 1997-му нормальный модный корпус "тауэр" купил и Яговый монитор поюзанный слегка.
И винт на 20 Мегов!
А так года два за совецкой " Электроникой 32 ВТЦ-202" отсидел.
Вот она гадина больше всего глаза портит...
PS. Впрочем, 286-й тоже не родной IBM был, а, кажется, HARRIS. Хотя эта двойка у меня и сейчас есть, где-то в стенном шкафу закопана...
PPS. И флопы были ещё 5-дюймовые "Teac"! А карта IBM их не шибко понимать изволила - они на 800, а IBM имела привычку стартовать с 360! Вот где был простор для творчества!
|
07 Aug 2011 12:09 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Слушай, я вот думаю - а не подойти ли к этому делу с позиций Шурика?
Раз уж мы делаем эту систему just for fun, не предвидя, естественно, никакой
коммерческой выгоды, и заранее мы знаем, что и с 10-ю i8080 мы, пожалуй, не
переплюнем "тройку", а то и "двойку", может имеет смысл положить в основу
однотипные старые компьютеры?
У меня два "Ориона 128" есть, хотя не знаю в каком уже состоянии.
У многих "Спектрумы" есть, и, возможно, не по одному...
Может так сориентироваться по железу?
Делать проект, который видимо будет не совместим по софту ни с чем с нуля,
вряд ли кому покажется интересным...
|
07 Aug 2011 13:34 |
|
|
MC68k
Retired
Joined: 25 Jul 2011 00:14 Posts: 1331 Location: WWW
|
|
07 Aug 2011 16:13 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Интересная ссылка, как " computer enthusiast Michael J. Mahon has built a parallel computer made out of 17 Apple IIe motherboards." MC68k - ну ты уж обиду не держи и в крайности не бросайся. А какое у тебя сложилось мнение? Если я правильно понял, то изложен принцип работы | | | | Quote: Since the Enhanced //e ROM has only $200 bytes available, a new "passive" boot protocol had to be devised. The new ROM code continuously monitors the network for a broadcast BOOTREQ control packet containing the load address and length of the immediately following boot code data. When the boot image has been correctly read from the network, control is passed to its starting address. This passive boot code only needs to read packets from the net, and so occupies just $190 bytes, which comfortably fits in place of the Enhanced //e ROM self-test code at $C600.
The new boot protocol capitalizes on the fact that boot code is sent as a broadcast transaction, so the machines being booted do not need IDs to receive boot code. A page of "second-stage boot" code is added at the front of the slave machine boot image. This code is given control immediately after the boot image is received, and, when enabled by the "GETID daisy chain", it sends a GETID request to the machine that &BOOTed it, making use of the code in the full NadaNet boot image to do so (see the BOOT2 code in the NADA.CRATE listing for details).
The GETID daisy chain functions just as it did in the AppleCrate I. The "first" machine is permanently enabled by connecting its PB2 to ground. AN2 of each machine is connected to PB2 of the "next" machine. The second-stage boot code running in each machine initially sets its AN2. Then it waits until it sees its PB2 go low, enabling it to send its GETID request. When its GETID is successful it drops its AN2, enabling the next machine. Then it clears its video display, writes a banner showing the machine ID, and enters its server loop. | | | | |
вот этой этажерки из 17 хитро-связанных "Эпплов":
|
07 Aug 2011 16:32 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22530 Location: Silicon Valley
|
| | | | Lavr wrote: Слушай, я вот думаю - а не подойти ли к этому делу с позиций Шурика? Раз уж мы делаем эту систему just for fun, не предвидя, естественно, никакой коммерческой выгоды, и заранее мы знаем, что и с 10-ю i8080 мы, пожалуй, не переплюнем "тройку", а то и "двойку", может имеет смысл положить в основу однотипные старые компьютеры? У меня два "Ориона 128" есть, хотя не знаю в каком уже состоянии. У многих "Спектрумы" есть, и, возможно, не по одному... Может так сориентироваться по железу? Делать проект, который видимо будет не совместим по софту ни с чем с нуля, вряд ли кому покажется интересным... | | | | |
Это тоже можно, но оно скорее для другого топика - который про сеть: http://www.nedopc.org/forum/viewtopic.php?t=9621т.к. тут мы вроде как системы с общей памятью обсуждаем - а как ты себе представляешь общую память у нескольких спектрумов или орионов?... Может тогда начать с зтого? Т.е. с прикручивания самодельного математического сопроцессора и его поддержки в басике? Сопроцессор можно сделать на SX-28 (который делаето до 75 миллионов пиковских команд в секунду). Либо для начала на AVR - чтобы на сях быстро набросать прослойку между внешними ногами и сишной либой...
Дык он эпюры Z80 продемонстрировал - а оно мне нафиг не упало
Мне надо 5-10 совецких 580ВМ80А вместе подружить
Last edited by Shaos on 07 Aug 2011 20:13, edited 1 time in total.
|
07 Aug 2011 18:51 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
С памятью довольно просто я представляю - на одной из плат от памяти просто отключаем стробы чтения и записи. А у обоих плат соединяем для начала шины.
Синхрогенератор работает на одной из плат. На другую - подаём его сигал с нужным нам сдвигом по фазе.
Конечно, различные дополнительные синхронизции и мультиплексирования также понадобятся - но это детали.
А оставшаяся память - может быть теневой страницей.
Да и память, мы решили, - ставим статику, чтоб с таймингами попроще было...
Примерно так я это представляю.
А вот с мат-сопроцессором я тебя несколько не понял...
Я, как и написал, представлял более простым разделить операции с графикой, как и говорили, - через общую область памяти.
Да - мат.сопр. всё ускорит, но... поясни лучше?
И почему басика ты решил начать? Просто для элементарного примера?
|
07 Aug 2011 20:13 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22530 Location: Silicon Valley
|
| | | | Lavr wrote: С памятью довольно просто я представляю - на одной из плат от памяти просто отключаем стробы чтения и записи. А у обоих плат соединяем для начала шины. Синхрогенератор работает на одной из плат. На другую - подаём его сигал с нужным нам сдвигом по фазе. Конечно, различные дополнительные синхронизции и мультиплексирования также понадобятся - но это детали. А оставшаяся память - может быть теневой страницей. Примерно так я это представляю. | | | | |
Ну тогда проще с нуля новую схему нагородить чем паяльником лезть в трухлявое старьё...
Простейший вариант - компьютер через порт(ы) даёт сопроцессору команду на посчитать и ждёт ответа (в любом случае будет быстрее чем на нём самом плавающую точку считать). Чуть более усложнённый вариант - компьютер через порт(ы) даёт сопроцессору команду на посчитать и идёт заниматься другим делом - ответ сопроцессора придёт в кору оса (например через прерывание), что вызовет переключение контекста обратно на задачу, ждущую ответа сопроцесоора. Совсем сложный вариант - процессор через общую память скармливает сопроцессору программу в кодах некой виртуальной машины, чтобы тот её посчитал и выдал результат опять же через общую память - всё это время главный процессор может считать другие процессы (ось, графика и т.д.).
|
07 Aug 2011 20:20 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Простейший вариант - когда проц. ждёт ответа не нравится совсем...
А вот два других надо обдумать. Меня смущает - как ты понимаешь через порты? Через какие?
|
07 Aug 2011 20:36 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Такая же печенька! Только, я ему МЦ-31 воткнул и имел полноценные PAL/SECAM при поддержке RGB... Собсно, вот, он все еще жив.
По теме: давайте определимся с типом памяти, ее объемом и процессором (что-то мне подсказывает, что это Z80, не?). Прошивку предлагаю делать универсальную с ветвлением по номеру процессора. Номер процессора аппаратно задать в порт (скажем, при чтении порта 0FFh).
Last edited by HardWareMan on 05 Jan 2014 07:08, edited 1 time in total.
|
07 Aug 2011 20:46 |
|
|
Who is online |
Users browsing this forum: No registered users and 26 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|