[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Хочу записывать данные программно в память, расположенную на pci-плате.
Память EDO RAM 1Мх16 (скорость в пакете до 40МГц). Тоесть 80 Мб/сек.
А по PCI - 132МБ.сек. Вопрос: как лучше согласовать скорости, пока думаю просто
через такт снимать сигнал TRDY снижая этим поток до 66МБ/сек.
Хотя правильнее конечно сделать буфер и принимать на полной скорости,
но это помойму сильно усложняет адресацию памяти.
Интересно, что если таргет деактивирует сигнал TRDY (по протоколу ситуация
обычная) на длительное время - не нашел инфы по ограничению времени
ожидания в этом случае, пишут только, что если устройство не успевает пусть сделает
disconnect, но если не делает, сделает ли мастер свой termination по этому
поводу?
Системная память использует disconnect without data (по моему опыту), так что
думаю использовать этот тип прерывания пакета, если срочно потребуется память
локальному устройству.
Вот только интересно, как на аппаратном уровне компьютера решаются ситуации
RETRY and DISCONNECT. Процессор ждет освобождения устройства или переключается
на другую задачу, а чипсет периодически опрашивает устройство на предмет готовности,
и информирует процессор об этом. Куда деваются данные, которые должны остаться
в буфере чипсета в случае DISCONNECT WITHOUT DATA.
Да, с мастером на порядок проще, все можешь, все успеваешь :)))
E-mail: info@telesys.ru