nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 16 Dec 2017 14:23



Reply to topic  [ 130 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9  Next
PC на Z80! 
Author Message
Senior
User avatar

Joined: 09 Aug 2012 12:20
Posts: 176
Location: 95.135.174.189
Reply with quote
Post 
А если заюзать двух портовую ОЗУ, правда как з наличием и ценами пока не знаю.....

_________________
Хочу стать всезнайкой ;-)


15 Aug 2012 10:38
Profile
Doomed

Joined: 10 Mar 2012 17:21
Posts: 506
Location: РФ
Reply with quote
Post 
Все, здравствуйте !
Судари уважаемые, а зачем вообще разделять память ?
Ведь распараллеливание вычислений можно (и даже желательнее) организовывать "а-ля" инмос-транспьютер, то есть собираем к-мерный гиперкуб из 8 , 16 или более процессоров и переписываем компилятор "Оккама" под их систему комманд. :wink:
Ну разве что малюсенькое "окошечко" этак на 4Кб оставить для системных нужд.
P.S. Прошу сильно не горячиться по поводу данной идеи - ведь в каждой шутке есть доля шутки. (Если кто-нибудь что-нибудь не понял - я не виноват.)


15 Aug 2012 18:06
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 15910
Location: Colorado
Reply with quote
Post 
транспьютеры ущербны во многи смыслах - в первую очередь из-за того, что связывались они ПОСЛЕДОВАТЕЛЬНЫМИ каналами связи, ну а во вторую - топология их соединений как правило была статическая и проограммы писались под конкретную схему - что не есть гуд...

_________________
:eugeek: https://twitter.com/Shaos1973


15 Aug 2012 18:54
Profile WWW
Senior
User avatar

Joined: 09 Aug 2012 12:20
Posts: 176
Location: 95.135.174.189
Reply with quote
Post 
как сказал Shaos, Транспьютеры связывались ПОСЛЕДОВАТЕЛЬНЫМИ каналами связи, а это очень не гуд.
К примеру взять 2 ЦПУ 33 мгц ОЗУ 1мб, ну и вся периферия, как ето все соединить через последовательную шину, не водя процы в ожидание??

Луче уж как в пропеллере!!!

_________________
Хочу стать всезнайкой ;-)


16 Aug 2012 07:02
Profile
Senior
User avatar

Joined: 09 Aug 2012 12:20
Posts: 176
Location: 95.135.174.189
Reply with quote
Post 
Долго с другом обсуждали варианты сопряжения двух ЦПУ, и пришли к выводу что самый оптимальный и продуктивный вариант, вариант пред-выборки команд для каждого из ЦПУ, иными словами получается типа мост. :roll:
Но к сожалению построить данное чудо на расыпухе мне трудно представимо, так что надо прерваться на некоторое время для ознакомления с ПЛИС. :(

_________________
Хочу стать всезнайкой ;-)


17 Aug 2012 06:59
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
He3HauKo wrote:
...вариант пред-выборки команд для каждого из ЦПУ...

А как вы надумали их различать? - Какие команды - для одного процессора, а какие - для другого?

И как они будут работать параллельно и многозадачно? Потому как если из очереди
насовывать команды для одного процессора, то второй - тупо стоит...

Но рациональное звено я одно увидел... чтобы не переписывать заново
уже сущестующее ПО,
а я упрямо хочу именно этого, можно попробовать ввести в готовую программу
флаги-префиксы распараллеливания...

Тоже не решит проблему в целом, но как вариант - обдумать можно...

_________________
iLavr


17 Aug 2012 16:11
Profile
Doomed

Joined: 26 May 2003 07:57
Posts: 599
Reply with quote
Post 
Lavr wrote:
А как вы надумали их различать? - Какие команды - для одного процессора, а какие - для другого?

Ну, есть много вариантов. Вот на вскидку:
1. После аппаратного сброса работает только один процессор, остальные спят.
2. Либо есть порт, при чтении из которого возвращается номер процессора.
3. Либо после сброса у каждого процессора в адресном пространстве своя страница ПЗУ.
4. Тут мог быть ваш вариант :)

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


18 Aug 2012 01:07
Profile WWW
Senior
User avatar

Joined: 09 Aug 2012 12:20
Posts: 176
Location: 95.135.174.189
Reply with quote
Post 
Quote:
4. Тут мог быть ваш вариант


4. Запуском ЦПУ как раз и будет управлять схема пред-выборки!

Так как при запуске надо знать поведение ЦП для подальшего кеширования команд.

Quote:
1. После аппаратного сброса работает только один процессор, остальные спят.

Спят оба, в зависимости от программы в "ПЗУ" будет произведен запуск того или иного ЦП.

Quote:
2. Либо есть порт, при чтении из которого возвращается номер процессора.
Ну как без этого :)

Quote:
3. Либо после сброса у каждого процессора в адресном пространстве своя страница ПЗУ.

Ну это сильно расходится с совместимостью которою преследует Lavr, мне совместимость не нужна, но и не мешает, так что думаю придерживать большинства.

_________________
Хочу стать всезнайкой ;-)


18 Aug 2012 06:08
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
b2m wrote:
Lavr wrote:
А как вы надумали их различать? - Какие команды - для одного процессора, а какие - для другого?

Ну, есть много вариантов. Вот на вскидку:
1. После аппаратного сброса работает только один процессор, остальные спят.

И как же он в свете вопроса различает: Какие команды - для одного процессора, а какие - для другого?

b2m wrote:
2. Либо есть порт, при чтении из которого возвращается номер процессора.

И кто пишет в этот порт?

Если я правильно понимаю, какой-то процессор (супервизор ?) при старте под
управлением своей программы
должен по сути парсить основную программу и
управлять остальными процессорами?

_________________
iLavr


18 Aug 2012 09:14
Profile
Senior
User avatar

Joined: 09 Aug 2012 12:20
Posts: 176
Location: 95.135.174.189
Reply with quote
Post 
Lavr, вы все правильно понимаете, "Супервизор" или "Мост", "Чипсет" одним словом ПЛИС.

Quote:
И как же он в свете вопроса различает: Какие команды - для одного процессора, а какие - для другого?

Вы наверное имеете виду при старте?
Ну не теряя совместимости, думаю нужна сделать что стартовал один ЦП, после через порт управления передавался адрес запуска второго. Ну или что то в этом роде.

_________________
Хочу стать всезнайкой ;-)


18 Aug 2012 09:49
Profile
Doomed

Joined: 26 May 2003 07:57
Posts: 599
Reply with quote
Post 
Lavr wrote:
И как же он в свете вопроса различает: Какие команды - для одного процессора, а какие - для другого?

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

Lavr wrote:
И кто пишет в этот порт?

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

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


18 Aug 2012 12:08
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
b2m wrote:
Lavr wrote:
И как же он в свете вопроса различает: Какие команды - для одного процессора, а какие - для другого?

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

Откуда этот первый процессор "знает" - что и кому подставлять с нуля?

_________________
iLavr


18 Aug 2012 12:12
Profile
Senior
User avatar

Joined: 09 Aug 2012 12:20
Posts: 176
Location: 95.135.174.189
Reply with quote
Post 
Quote:
Откуда этот первый процессор "знает" - что и кому подставлять с нуля?


Я думаю имелось виду не первый процессор а "Супервизор". В нем прошито кто первый кто второй. :-?

_________________
Хочу стать всезнайкой ;-)


18 Aug 2012 12:23
Profile
Senior
User avatar

Joined: 09 Aug 2012 12:20
Posts: 176
Location: 95.135.174.189
Reply with quote
Post 
Я приставляю это следующим образом:
Запускаются 2 ЦП с активным сигналом сброса, супервизор извлекает команды из ПЗУ помещает их в буфер первого ЦП(0), снимает сигнал сброса.
В программе при необходимости через порт управления подается адрес с которого должен запустится второй ЦП(1).
Супервизор вносит в буфер второго ЦП команду типа JP xxxx, а также все последующие команды лежащие по адресу xxxx, и снимает сигнал сброса с второго ЦП(1).

Как то так :-?

_________________
Хочу стать всезнайкой ;-)


18 Aug 2012 12:31
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
А зачем им сбрасываться всякий раз? Можно после общего сброса удерживать их по hold.
А на адрес переводить по INT через RST0.

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

Я подозреваю, что вы это навскидку придумали, без глубокого осмысления...

_________________
iLavr


18 Aug 2012 12:43
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 130 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9  Next

Who is online

Users browsing this forum: No registered users and 1 guest


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.