Не приостанавливает, а отодвигает время чтения видеоконтроллером, но всё происходит внутри промежутка времени, пока видеоконтроллер обрабатывает 1 экранный адрес (8 пикселей). В зависимости от того, когда процессору понадобилось обратиться к ОЗУ, возможен 1 из 2 вариантов:
а)
1 цикл - Z80 обращается к ОЗУ
2 цикл - видеоконтроллер читает пиксели
3 цикл - Z80 обращается к ОЗУ
4 цикл - видеоконтроллер читает атрибуты
б)
1 цикл - видеоконтроллер читает пиксели
2 цикл - Z80 обращается к ОЗУ
3 цикл - видеоконтроллер читает атрибуты
4 цикл - Z80 обращается к ОЗУ
Это и есть задание процессором приоритета доступа к ОЗУ. Но при любом раскладе, чтение остаётся внутри промежутка времени, пока ещё счётчики видеоконтроллера не увеличили адрес ОЗУ. На экране смена вариантов а) и б) никак не отражается, т.к. видеоконтроллер не сразу выводит прочитанное на экран, а сначала заносит 2 прочитанных байта в 2 буфера на 2х микросхемах 1533ИР23, и только когда счётчики увеличили адрес ОЗУ на единицу, то что было прочитано в прошлый раз, выводится на экран, одновременно пиксели и атрибуты, и в это же время видеоконтроллер читает из ОЗУ уже следующие 2 цикла. Поэтому кто первым прочитал ОЗУ, процессор или видеоконтроллер, никакой роли не играет.
- - - Добавлено - - -
Процессор вообще никогда не тормозит видеоконтроллер, ни при выборке кода операции, ни при чтении/записи данных. Лишь постоянно меняются циклы доступа к ОЗУ чётные и нечётные.





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