ОПЕРАЦИИ ПЕРЕДАЧИ ДАННЫХ
ЦИКЛ
"ЧТЕНИЕ-МОДИФИКАЦИЯ-ЗАПИСЬ"
В цикле "Чтение-Модификация-Запись"
выполняется операция чтения,
преобразование данных в АЛУ и запись данных по тому же адресу. Адресный
строб AS# остается активным в течение всего цикла, делая цикл неделимым.
Инструкция проверки и установки TAS (Test And Set) использует этот
цикл для обеспечения совместимости по сигналам без взаимной блокировки
процессоров в многопроцессорной системе. Инструкция TAS (единственная,
использующая цикл "Чтение-Модификация-Запись") работает только с
байтами. Таким образом, все циклы "Чтение-Модификация-Запись" являются
байтовыми операциями. На рис.5.8 и 5.9 соответственно показаны блок-схема
и временные диаграммы цикла "Чтение-Модификация-Запись". Это применимо
к MC68000, MC68HC000, MC68HC001 (в 16-битном режиме), MC68EC000
(в 16-битном режиме) и MC68010. Цикл "Чтение-Модификация-Запись"
содержит следующие состояния.
СОСТОЯНИЕ
0. Цикл чтения начинается в S0. Процессор помещает соответствующий
функциональный код на выводы FC2-FC0 и формирует на R/W# высокий
уровень, чем идентифицирует цикл чтения.
СОСТОЯНИЕ 1. Входя в S1, процессор выдает необходимый
адрес на шину адреса. СОСТОЯНИЕ 2. По фронту S2
процессор генерирует AS# и LDS# или UDS#.
СОСТОЯНИЕ 3. Сигналы на шине не изменяются.
СОСТОЯНИЕ 4. В S4 процессор ожидает сигнала прекращения
цикла (DTACK# или BERR#) или VPA#. Когда VPA# активен в S4, цикл
становится периферийным циклом (приложение Б). Если до окончания
S4 ни один сигнал о прекращении не получен, процессор добавляет
состояния ожидания полные такты синхронизации) до прихода DTACK#
или BERR#. СОСТОЯНИЕ 5. Сигналы на шине не изменяются.
СОСТОЯНИЕ 6. В состоянии S6 данные от устройства
выставляются на шину данных. СОСТОЯНИЕ 7. По срезу
такта S7 процессор принимает данные от устройства и снимает сигналы
LDS# и UDS#. В это время устройство снимает сигналы DTACK# или BERR#.
СОСТОЯНИЯ 8-11. Сигналы на шине не изменяются.
АЛУ производит необходимые преобразования над данными.
СОСТОЯНИЕ 12. В S12 начинается часть цикла, связанная
с записью. Соответствующие функциональные коды выдаются на FC2-FC0,
линии адресной шины, AS# и R/W# остаются неизменными.
СОСТОЯНИЕ 13. Сигналы на шине не изменяются.
СОСТОЯНИЕ 14. По фронту такта S14 процессор устанавливает
на R/W# низкий уровень. СОСТОЯНИЕ 15. Шина данных
переводится из состояния высокого импеданса, и на нее выставляются
записываемые данные. 
СОСТОЯНИЕ 16. По фронту S16 процессор выставляет
LDS# или UDS# и ожидает прихода сигналов DTACK# или BERR# или VPA#.
Когда сигнал VPA# активен во время S4, цикл становится периферийным
циклом. Если ни один сигнал о прекращении не получен до окончания
S16, процессор вводит состояния ожидания (полные такты синхронизации)
до прихода DTACK# или BERR#.
СОСТОЯНИЯ 17, 18. Сигналы на шине не изменяются.
СОСТОЯНИЕ 19. По срезу тактового импульса при
входе в S19 процессор снимает сигналы AS#, LDS# и UDS#. По фронту
такта в конце S19 процессор переводит шины адреса и данных в состояние
высокого импеданса и устанавливает высокий уровень на R/W#. В это
время устройство снимает DTACK# или BERR#.
|