При выполнении IDE DMA на x86, другие процессоры могут получить доступ к памяти?

Я не знаком с оборудованием. Я изучаю дисковый ввод-вывод 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 ответов

Другие вопросы по тегам