Хитрость диаграмм в том, что шины адреса/данных двунаправленные и тот, кто выставляет на них уровни - совершенно не беспокоится о том, чтобы быть единственным "поставщиком" информации для шины. Поэтому, значительный процент времени процессор и память выставляют биты на линии адреса/данных "лоб в лоб" - каждый свои.
Осциллограф же не может знать "откуда пришли биты" и показывает лишь суммарный сигнал на каждой исследуемой линии шины.
Однако, никакой путаницы не возникает за счёт выполнения несложных правил протокола обмена:
1. Процессор не должен выставлять на шину адрес до выставления BSY.
2. После выставления процессором SYNC - устройство может выставлять данные.
3. После выставления процессором DIN - устройство может выставлять RPLY.
4. До снятия с шины сигналов адреса - процессор не должен читать с шины данные.
5. До завершения чтения данных - процессор не должен снимать DIN.
6. До снятия устройством RPLY - процессор не должен снимать BSY.
---------- Post added at 10:43 ---------- Previous post was at 10:40 ----------
Шина блокируется сигналом BSY. До снятия BSY устройством, захватившим шину - ни одно другое устройство не может её использовать.
---------- Post added at 10:55 ---------- Previous post was at 10:43 ----------
И ещё один момент - на приведённой выше диаграмме показан цикл обращения процессора ВМ1 к своим внутренним регистрам, проецируемым на шину. Мы наблюдаем это процесс "с обратной стороны" буферного регистра шины, поэтому ( прямо как в теории относительности Эйнштейна ) нам кажется, что данные отстают от RPLY :)
На самом деле диаграмма чтения слова из памяти ( в данном примере - из ПЗУ ) выглядит так:
![]()





Ответить с цитированием