Lavr wrote: 06 Dec 2012 17:54 решение для меня просто необычно - они применили
арбитр шины 74F786
Я у себя на диске наткнулся на материал по этому самому
74F786 4-битному асинхронному арбитру шины и перечитал его чтобы напомнить самому себе.
Ничего сложного не увидел:
74F786.PNG
/EN - это просто её включить.
А дальше на каждый вход
/BRх от каждого из 4-х процессоров подать обращение к памяти (
/RD ИЛИ /WR).
Кто первый пришел того и тапки: выдаст его
/BGх активный, остальные
/BGу - пассивные и должны тормознуть свои процессоры по входам
READY.
Следующий в приоритете тот процессор, который пришел следом за этим первым
/BRх и т.д.
Я подумал, что внутри
74F786 должна быть довольно простая логика, но смущала одна фраза:
"
Если запросы пришли одновременно, приоритет одного из них выбирается случайно."
Но логика и правда, весьма не сложна оказалась:
74F786 4-bit asynchronous bus arbiter.PNG
А всё остальное между процессорами следует сорганизовать ручками, как это нарисовано вот здесь:
Двухпроцессорная система на микропроцессорах Intel 8080.
Я и сам посмотрел...

честно говоря, на мой взгляд, можно сделать проще...
You do not have the required permissions to view the files attached to this post.