PC на Z80!

Микропроцессоры и микроконтроллеры от фирмы Zilog, а также компьютеры на них построенные

Moderator: Shaos

User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

Post by He3HauKo »

А если заюзать двух портовую ОЗУ, правда как з наличием и ценами пока не знаю.....
Хочу стать всезнайкой ;-)
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

Все, здравствуйте !
Судари уважаемые, а зачем вообще разделять память ?
Ведь распараллеливание вычислений можно (и даже желательнее) организовывать "а-ля" инмос-транспьютер, то есть собираем к-мерный гиперкуб из 8 , 16 или более процессоров и переписываем компилятор "Оккама" под их систему комманд. :wink:
Ну разве что малюсенькое "окошечко" этак на 4Кб оставить для системных нужд.
P.S. Прошу сильно не горячиться по поводу данной идеи - ведь в каждой шутке есть доля шутки. (Если кто-нибудь что-нибудь не понял - я не виноват.)
User avatar
Shaos
Admin
Posts: 24094
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

транспьютеры ущербны во многи смыслах - в первую очередь из-за того, что связывались они ПОСЛЕДОВАТЕЛЬНЫМИ каналами связи, ну а во вторую - топология их соединений как правило была статическая и проограммы писались под конкретную схему - что не есть гуд...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

Post by He3HauKo »

как сказал Shaos, Транспьютеры связывались ПОСЛЕДОВАТЕЛЬНЫМИ каналами связи, а это очень не гуд.
К примеру взять 2 ЦПУ 33 мгц ОЗУ 1мб, ну и вся периферия, как ето все соединить через последовательную шину, не водя процы в ожидание??

Луче уж как в пропеллере!!!
Хочу стать всезнайкой ;-)
User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

Post by He3HauKo »

Долго с другом обсуждали варианты сопряжения двух ЦПУ, и пришли к выводу что самый оптимальный и продуктивный вариант, вариант пред-выборки команд для каждого из ЦПУ, иными словами получается типа мост. :roll:
Но к сожалению построить данное чудо на расыпухе мне трудно представимо, так что надо прерваться на некоторое время для ознакомления с ПЛИС. :(
Хочу стать всезнайкой ;-)
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

He3HauKo wrote:...вариант пред-выборки команд для каждого из ЦПУ...
А как вы надумали их различать? - Какие команды - для одного процессора, а какие - для другого?

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

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

Тоже не решит проблему в целом, но как вариант - обдумать можно...
iLavr
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

Lavr wrote:А как вы надумали их различать? - Какие команды - для одного процессора, а какие - для другого?
Ну, есть много вариантов. Вот на вскидку:
1. После аппаратного сброса работает только один процессор, остальные спят.
2. Либо есть порт, при чтении из которого возвращается номер процессора.
3. Либо после сброса у каждого процессора в адресном пространстве своя страница ПЗУ.
4. Тут мог быть ваш вариант :)
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

Post by He3HauKo »

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

Так как при запуске надо знать поведение ЦП для подальшего кеширования команд.
1. После аппаратного сброса работает только один процессор, остальные спят.
Спят оба, в зависимости от программы в "ПЗУ" будет произведен запуск того или иного ЦП.
2. Либо есть порт, при чтении из которого возвращается номер процессора.
Ну как без этого :)
3. Либо после сброса у каждого процессора в адресном пространстве своя страница ПЗУ.
Ну это сильно расходится с совместимостью которою преследует Lavr, мне совместимость не нужна, но и не мешает, так что думаю придерживать большинства.
Хочу стать всезнайкой ;-)
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

b2m wrote:
Lavr wrote:А как вы надумали их различать? - Какие команды - для одного процессора, а какие - для другого?
Ну, есть много вариантов. Вот на вскидку:
1. После аппаратного сброса работает только один процессор, остальные спят.
И как же он в свете вопроса различает: Какие команды - для одного процессора, а какие - для другого?
b2m wrote:2. Либо есть порт, при чтении из которого возвращается номер процессора.
И кто пишет в этот порт?

Если я правильно понимаю, какой-то процессор (супервизор ?) при старте под
управлением своей программы
должен по сути парсить основную программу и
управлять остальными процессорами?
iLavr
User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

Post by He3HauKo »

Lavr, вы все правильно понимаете, "Супервизор" или "Мост", "Чипсет" одним словом ПЛИС.
И как же он в свете вопроса различает: Какие команды - для одного процессора, а какие - для другого?
Вы наверное имеете виду при старте?
Ну не теряя совместимости, думаю нужна сделать что стартовал один ЦП, после через порт управления передавался адрес запуска второго. Ну или что то в этом роде.
Хочу стать всезнайкой ;-)
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

Lavr wrote:И как же он в свете вопроса различает: Какие команды - для одного процессора, а какие - для другого?
Все команды только для первого процессора, остальные ничего не выполняют, им на сброс активный уровень идёт. Потом первый процессор подставит им с нуля нужные команды и отпустит сигнал сброса через системный порт.
Lavr wrote:И кто пишет в этот порт?
Никто не пишет, этот порт только для чтения. Просто если первый процессор считает из этого порта, то вернётся, например, ноль, а если второй - еденица. Таким образом достаточно в программе считать из этого порта, а потом, в соответствии с номером, идти на свою программу для каждого процессора.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

b2m wrote:
Lavr wrote:И как же он в свете вопроса различает: Какие команды - для одного процессора, а какие - для другого?
Все команды только для первого процессора, остальные ничего не выполняют, им на сброс активный уровень идёт. Потом первый процессор подставит им с нуля нужные команды и отпустит сигнал сброса через системный порт.
Откуда этот первый процессор "знает" - что и кому подставлять с нуля?
iLavr
User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

Post by He3HauKo »

Откуда этот первый процессор "знает" - что и кому подставлять с нуля?
Я думаю имелось виду не первый процессор а "Супервизор". В нем прошито кто первый кто второй. :-?
Хочу стать всезнайкой ;-)
User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

Post by He3HauKo »

Я приставляю это следующим образом:
Запускаются 2 ЦП с активным сигналом сброса, супервизор извлекает команды из ПЗУ помещает их в буфер первого ЦП(0), снимает сигнал сброса.
В программе при необходимости через порт управления подается адрес с которого должен запустится второй ЦП(1).
Супервизор вносит в буфер второго ЦП команду типа JP xxxx, а также все последующие команды лежащие по адресу xxxx, и снимает сигнал сброса с второго ЦП(1).

Как то так :-?
Хочу стать всезнайкой ;-)
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

А зачем им сбрасываться всякий раз? Можно после общего сброса удерживать их по hold.
А на адрес переводить по INT через RST0.

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

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