ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
16 апреля
587033 Топик полностью
Ralex (19.03.2015 20:22, просмотров: 110) ответил Dingo на Начал читать о PCI. Один момент сразу вызвал вопрос: если любое устройство может инициировать обмен, и, предположим, у меня плата мастера, которой надо скидывать данные, кому она их отправляет? Хосту-контроллеру? А куда он складывать это всё
Значить так. Про PCI - есть арбитр и есть шина с устройствами. Арбитр определяет кому на шине щас работать. Арбитр либо внешний, либо встроенный в какой-нибудь проц/SOC. Любое устройство на шине может быть мастером. Оно запрашивает шину у арбитра, и если арбитр её предоставил, начинает работать на шине (дада, оно само формирует почти все сигналы шины). Куда (в какие адреса) писать, ей устанавливается. Тот кому она пишет в адресное пространство, должен придумать куда девать данные. Есть I/O пространство, есть MEM пространство. В зависимости от этого выбирается либо регистровый канал, либо DMA канал. У устройства, которое использует MEM пространство, обычно есть или своя память, или DMA агент для доступа через внутреннюю шину SOC к прицепленной памяти. Про PCIe - если можно переходите на неё. Развести обычную PCI такой геморрой, особенно если устройств помимо SOC не одно а два (у меня была SOC DSP, Ethernet controller и SATA controller). В PCIe нужно только дифпары развести нормально и вуаля, количество сигналов около десятка в отличие от PCI с его ~55 сигналов.