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

Осциллограф же не может знать "откуда пришли биты" и показывает лишь суммарный сигнал на каждой исследуемой линии шины.

Однако, никакой путаницы не возникает за счёт выполнения несложных правил протокола обмена:

1. Процессор не должен выставлять на шину адрес до выставления BSY.

2. После выставления процессором SYNC - устройство может выставлять данные.

3. После выставления процессором DIN - устройство может выставлять RPLY.

4. До снятия с шины сигналов адреса - процессор не должен читать с шины данные.

5. До завершения чтения данных - процессор не должен снимать DIN.

6. До снятия устройством RPLY - процессор не должен снимать BSY.

---------- Post added at 10:43 ---------- Previous post was at 10:40 ----------

Цитата Сообщение от vinxru Посмотреть сообщение
Память дает сигнал RPLY и по этому сигналу мы производим запись ответа памяти во внешний регистр. И освобождаем память. Ей может пользоваться другой процессор.
Шина блокируется сигналом BSY. До снятия BSY устройством, захватившим шину - ни одно другое устройство не может её использовать.

---------- Post added at 10:55 ---------- Previous post was at 10:43 ----------

И ещё один момент - на приведённой выше диаграмме показан цикл обращения процессора ВМ1 к своим внутренним регистрам, проецируемым на шину. Мы наблюдаем это процесс "с обратной стороны" буферного регистра шины, поэтому ( прямо как в теории относительности Эйнштейна ) нам кажется, что данные отстают от RPLY :)

На самом деле диаграмма чтения слова из памяти ( в данном примере - из ПЗУ ) выглядит так: