nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 25 Apr 2024 17:14



Reply to topic  [ 413 posts ]  Go to page Previous  1 ... 16, 17, 18, 19, 20, 21, 22 ... 28  Next
nedoPC-580 (SMP на 5 процессорах КР580ВМ80А) 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
и всё-таки твой CEDAR в этом конкретном топике - скорее оффтоп :roll:
у него из процов только Z80 и тот не 100% сэмулён...

Ну подскажи, где Z80 на 100% сэмулён? Я с удовольствием попробую!

Это не оффтоп - я предлагаю от разговоров перейти к моделям на конкретной платформе.
Но готов выслушать и другие предложения...

Иначе практически в этой ветке есть только рассчет железки Хардычем,
сделанный тоже больше года назад.
Расчет всем понравился - вот я и предлагаю потихоньку начать моделировать схему...
В процессе будем наглядно утрясать все решения. Это конкретно - и сразу станут видны
достоинства н недостатки тех или иных предрожений.

На CEDAR-е свет клином не сошелся, но в "Протезусе", к примеру, моделей
процессоров Z80 и i8080 - нет.
А в других симуляторах и вовсе никаких процев нет...

_________________
iLavr


12 Aug 2012 08:43
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22584
Location: Silicon Valley
Reply with quote
Post 
Логику от Хардыча сэмулить можно в чём угодно - а дальше?
Симуляция этой логики "в лоб" бесполезна без 100% детальной модели процессора!
Поэтому намного проще и логичнее не симулировать систему на уровне гейтов, а эмулировать более абстрактно - типа перехватывать обращения к памяти процессороа A и менять соответствующие байты в памяти процессора Б...
Либо сразу паять живую железяку...

P.S. Про модель Z80 в CEDAR уже писали в другой ветке - регенерация у него не работает, и я подозреваю что не только она одна...

_________________
:dj: https://mastodon.social/@Shaos


12 Aug 2012 09:01
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Логику от Хардыча сэмулить можно в чём угодно - а дальше?
Симуляция этой логики "в лоб" бесполезна без 100% детальной модели процессора!
Поэтому намного проще и логичнее не симулировать систему на уровне гейтов, а эмулировать более абстрактно - типа перехватывать обращения к памяти процессороа A и менять соответствующие байты в памяти процессора Б...

P.S. Про модель Z80 в CEDAR уже писали в другой ветке - регенерация у него не работает, и я подозреваю что не только она одна...

Во-первых в чём угодно нет процессоров, а аппаратную модель надо совмещать
с программой, где у нас конь тоже не валялся!

Во-вторых регенерация Z80 нам никаким боком нам не нужна, при наличии
быстрого статического ОЗУ - с чем все согласились...
Да сам-то ты проверил регенерацию? Я - тоже нет... Мало ли что говорят... :wink:

В-третьих, обратимся к старту топика: "Задумали мы тут с тов. Шаосом,
многопроцессурную систем на NedoPC-580-M.
"
Там и далее идёт речь о конкретной системе, и никто не заикался "эмулировать
более абстрактно
".
Я лично предпочитаю конкретный язык схем и программ. Абстракции здесь
на 19 уже страницах, на мой взгляд, - более чем предостаточно! :-?


PS. Паять живую железяку по "абстракциям" ещё никто не пробовал.
Да и некогда нам всем паять во главе с тобой.
Смоделировать - единственный практический выход на мой взгляд.
Смоделировать - на уровне схем и программ...

_________________
iLavr


12 Aug 2012 09:11
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22584
Location: Silicon Valley
Reply with quote
Post 
Ещё раз - смоделировать систему, в которой несколько древних процессоров разнесённых по времени в пределах одного такта - НЕВОЗМОЖНО...

P.S. ...за разумное время разумными силами либо с помощью доступных программных продуктов с разумной ценой...

_________________
:dj: https://mastodon.social/@Shaos


Last edited by Shaos on 12 Aug 2012 11:07, edited 1 time in total.



12 Aug 2012 10:00
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Ещё раз - смоделировать систему, в которой несколько древних процессоров разнесённых по времени в пределах одного такта - НЕВОЗМОЖНО...

Во-первых - голословно... Never Say Never Again.
Во-вторых - ну и что такого, что "разнесённых по времени в пределах одного такта"?
Тактируются-то они от одного задающего...

Батенька, да не торопись же со мной спорить... :wink:
Я ж тоже только хорошего тут хочу. Думай прежде чем написать! :roll:

Если синхронизация у процессоров разная - это как раз труднее смоделировать.
Хотя я моделировал в "Протезусе" систему на 2-х PIC-ах, поэтому немного знаю,
о чем говорю...

А то, что процессоры "древние", они что от старости перестали работать по тактам? :o
Синхронные системы моделируются как раз легче, чем паяются, поскольку модели
учитывают лишь задержки распространения, а не особенности переходных процессов...

Да я и не настаиваю упрямо... Предлагай сам - "моделируем вот здесь и вот так,
а программируем - вот эдак и вот это...
"

_________________
iLavr


12 Aug 2012 10:34
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
Lavr wrote:
Асабливая здесь неприятность, что прототип - "Специалист" - система сильно связанная. К примеру, опрос клавиатуры жестко завязан на процессор и без него даже скан-код не формируется. А многопроцессорные машины в теории - слабосвязанные. То есть, имеем налицо все проблемы Виндавоза с устройствами ВВ - они общие для всех процессоров.
догмы и стереотипы пораждают заблуждения. если надо всякие ништяки вроде мышей, фоновой печати и даже дисковых операций - запилите уже прерывания на спец и будет вам счастье. на сраном спектруме умудрялись играть музыку, мигать спрайтами и подгружать данные с флопа "одновременно".
истинно параллельные задачи это обсчет хэшей(биткоин, например) и моделирование процессов. тут и распарралелить достаточно просто.


12 Aug 2012 18:08
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
Post 
Quote:
На CEDAR-е свет клином не сошелся, но в "Протезусе", к примеру, моделей
процессоров Z80 и i8080 - нет.
А в других симуляторах и вовсе никаких процев нет...

А у меня есть (в proteuse) 2шт z80 и перефирия....
А вот чем компилить? Вроде слышал что был IAR для этого дела?


12 Aug 2012 18:29
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
aav8 wrote:
А у меня есть (в proteuse) 2шт z80 и перефирия....

Точно в proteuse??? :o Ты точно уверен, что рабочие модели z80 в proteuse??? :o

Ну поделись!!! А??? Я их столько искал!!!...

И здесь спрашивал, и на Казусе... :(



PS. А ты не обращал внимание, "Сверху, над моделью, в верхнем правом
углу есть надпись "No simulation model". ?
А то "картинки" z80 и у меня есть...

_________________
iLavr


Last edited by Lavr on 12 Aug 2012 19:11, edited 1 time in total.



12 Aug 2012 18:34
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
MC68k wrote:
если надо всякие ништяки вроде мышей, фоновой печати и даже дисковых операций -
запилите уже прерывания на спец и будет вам счастье.

Кокой ви слоу... :( Слоупок, такой слоупок... :-?

Давным давно "запилили", кому надо было:
Lavr 03 Июня 2011 wrote:
...я не люблю нецелевое использование вывода INTE, поскольку в "Спец"
можно ввести вектор прерывания RST 7, впаяв всего 8 резисторов 10 К на шину
данных. Я у себя это прерывание использовал - удобно в программе АОН под
"Специалистом" реагировать аппаратно на телефонный звонок.
Но если юзаешь прерывание - то с EI, DI приходится быть более аккуратным.

_________________
iLavr


Last edited by Lavr on 12 Aug 2012 19:12, edited 1 time in total.



12 Aug 2012 18:41
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
Lavr wrote:
MC68k wrote:
если надо всякие ништяки вроде мышей, фоновой печати и даже дисковых операций -
запилите уже прерывания на спец и будет вам счастье.

Кокой ви слоу... :( Слоупок, такой слоупок... :-?

Давным давно "запилили", кому надо было:
Lavr 03 Июня 2011 wrote:
...я не люблю нецелевое использование вывода INTE, поскольку в "Спец"
можно ввести вектор прерывания RST 7, впаяв всего 8 резисторов 10 К на шину
данных. Я у себя это прерывание использовал - удобно в программе АОН под
"Специалистом" реагировать аппаратно на телефонный звонок.
Но если юзаешь прерывание - то с EI, DI приходится быть более аккуратным.

прерывание и прерывания - почувствуй разницу.


12 Aug 2012 18:53
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
MC68k wrote:
прерывание и прерывания - почувствуй разницу.

Воц ап оффисер? :o Да нет проблем - просто мне одно прерывание было нужно -
реагировать на телефонный звонок.
Поэтому я не заморочился, а взял аппаратную реализацию как в "ЮТ-88".

Но если кому надо больше прерываний их весьма просто "запилить" по простой
схеме из этой книжки...
Причем без контроллера прерываний...

Я где-то на форуме схему эту даже вывешивал, но желающих "запилить" оказалось
беконечно... мало. :lol:

_________________
iLavr


12 Aug 2012 19:09
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
Post 
Quote:
PS. А ты не обращал внимание, "Сверху, над моделью, в верхнем правом
углу есть надпись "No simulation model". ?
А то "картинки" z80 и у меня есть...

Точно, так и есть.
А жаль...


12 Aug 2012 20:23
Profile
Senior
User avatar

Joined: 21 Jul 2012 15:56
Posts: 126
Location: Zürich, Switzerland
Reply with quote
Post 
Товарищь Lavr слёзно просил поделится соображениями по многопроцессорной системе на КР580. Что-ж, не могу отказать.

Основные идеи:
1) Симметричную многопроцессорность на КР580 реализовать хоть и можно, но бесполезно. Смысла запускать более 2-3 потоков на этих процессорах нет.
2) Вешать более 4-8 процессоров на одну память затруднительно.
3) Для поддержки более современных видеорежимов также хотелось бы иметь память по-шире (Чтобы 720p60 пролазил например)
4) Работать по схеме "каждый процессор имеет свою личную память" и "обвязка каждого процессора реализована на CPLD" - получится дороговато, т.к. 5-и вольтовые CPLD нынче по 10$. 16 процессоров - уже 160$.
5) Настоящего многопоточного софта нет и не будет - его мало того что его сложно писать, так почти никто на самом деле и не умеет :-)

В первом приближении решение такое:
1) Конфигурация - 4*4+1, т.е. 4 модуля по 4 процессора, у каждого модуля своя память. В пределах модуля процессоры видят в первом приближении одну и ту же память. +1 - это основной процессор, на котором в однопоточном режиме и выполняется основная задача.
2) Видеопамять разделена так, чтоб первая колонка - в первом модуле, вторая - во втором, пятая - снова в первом. Таким образом легче обеспечить требуемый поток 55-165Мб/сек для отображения видео (720p60), и обеспечивается больше возможностей по распарралеливанию отрисовки.
3) Основной принцип работы - центральный процессор для ускорения работы запускает задачи сразу на всех процессорах. Примеры функций - отрисовка на экране, математика, перемещение данных.
4) Организация памяти : в пределах модуля - грубо говоря нижние 16кб индивидуальной памяти процессора (тут и стек и код), 16кб общей в рамках подуля, 32кб - переключаемая страница, в основном для доступа к видеопамяти. С учетом видео памяти понадобится достаточно много памяти, до 1Мб на модуль.

Вся эта логика с переключаемыми страницами, совместным доступом памяти, и запуском подпрограмм на модулях - все в CPLD, отлаживать все это на дискретной логике будет слишком долго.

Для уменьшения количества и многоногости CPLD - думаю о работе с КР580 через сдвиговые регистры. Само собой частота их работы будет высокой, но тут проблем нет. Точная конфигурация модулей - это еще вопрос. Может быть и 8 процессоров можно будет в один модуль впихнуть. Соответственно и модулей может быть больше 4.

Поднимать общее количество прцоессоров выше 64 затруднительно из-за очень уж большого суммарного тепловыделения.

Ну и появляется возможность реализовать режим программной обратной совместимости с некоторыми из советских компьютеров (особенно это касается текстовых режимов).

Также, рассчитываю на штатный разгон всех процессоров с их отбором.

Также можно думать о выделенных процессорах для работы с перефирией.


24 Aug 2012 08:21
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
стена текста звучит как "Ане замахнуться ли нам, так сказать, на Вильяма Шекспира".
любая конструкция начинается с чего? правильно, с блока питания. если вам еще не расхотелось питать и обдувать 64 замечательных ВМ80 и их обвязку, тогда можно продолжить. а то развели тут теорию...


25 Aug 2012 20:06
Profile
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Reply with quote
Post 
Lavr wrote:
Честно говоря мне слегка другого хотелось. Есть задача, супервизор как-то
разделяет её между процессорами и они начинают молотить свои части параллельно,
после выполнения идёт обмен результатами и супервизор как-то осуществляет
синхронизацию. Собственно в этом видится выигрышь - не шибко мощные процы
достигают большей производительности решая задачу одновременно частями.
Таков был, как мне кажется, принцип конвееров ещё у Генри Форда...
расчет хэшей каких-нибудь? вроде как было, кульные хацкеры даже на ололо атмегах чего-то там мутили. только чтобы выигрыш почувствовать процессоров надо не 2 и даже не 10. сотню это так для затравки.


25 Aug 2012 20:54
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 413 posts ]  Go to page Previous  1 ... 16, 17, 18, 19, 20, 21, 22 ... 28  Next

Who is online

Users browsing this forum: No registered users and 99 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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.