Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PCI Burst Memory с модификацией
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
AlexTim
В режиме Burst Memory надо ячейку памяти прочитать - изменить - записать по томуже адресу.
Это как то делается кроме как в лоб Read - Write отдельными циклами.
tinker73
Насколько помнится, в рекомендации PCI для этого существует сигнал LOCK и понятие эксклюзивного обращения к устройству.
makc
Уже в PCI 2.3 написано буквально следующее:
Цитата
The use of LOCK# is only allowed to be supported by a host bus bridge, a PCI-to-PCI bridge, or an expansion bus bridge. In earlier versions of this specification, other devices were allowed to initiate and respond to exclusive accesses using LOCK#. However, the usefulness of a hardware-based lock mechanism has diminished and is only useful to prevent a deadlock or to provide backward compatibility. Therefore, all other devices are required to ignore LOCK#.


К тому же задача стояла несколько не так - нужно сделать чтение-модификацию-запись за одну транзакцию. Если я правильно понял. Однако это невозможно в силу протокола шины, где в начале транзакции передается код операции (по линиям C/BE#), который определяет дальнейшие действия. И команд предусматривающих одновременное чтение/запись в одной транзакции нет. Есть либо то, либо другое:
Цитата
C/BE[3::0]# Command Type
0000 Interrupt Acknowledge
0001 Special Cycle
0010 I/O Read
0011 I/O Write
0100 Reserved
0101 Reserved
0110 Memory Read
0111 Memory Write
1000 Reserved
1001 Reserved
1010 Configuration Read
1011 Configuration Write
1100 Memory Read Multiple
1101 Dual Address Cycle
1110 Memory Read Line
1111 Memory Write and Invalidate
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.