Я не знаком с оборудованием. Я изучаю дисковый ввод-вывод IDE и DMA на x86. Я хочу знать, что при вводе-выводе диска IDE с DMA, могут ли другие процессоры получать доступ к памяти (или точно, в той же области памяти, что и DMA)? Конечно, мы предполагаем, что ОС настолько глупа, что не обеспечивает мьютекс в программном обеспечении.
Из вики я узнал, что есть три режима работы, burst mode , режим cycle stealing mode и transparent mode . И я узнал, что именно аппаратное или программное обеспечение отвечает за поддержание cache coherence .
Итак, я хочу знать, в частности, с диском ввода-вывода IDE на x86, при выполнении диска DMA, могут ли другие процессоры получить доступ к памяти? Например, дисковый DMA хочет передать данные в область памяти 0x10 ~ 0x30 (то есть, по моему мнению, DMA начинает передачу в 0x10 и вызовет прерывание, когда достигнет 0x30). Если теперь DMA передал 0x10 ~ 0x20, могут ли другие процессоры изменить 0x10 ~ 0x20 до завершения всего DMA?
Спасибо большое!

0