Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PCI. Как избавиться от цикла RETRY?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
irum4
Работаю с шиной в мастер режиме. Когда считываю данные в burst-режиме из оперативки компа, практически каждый первый захват шины чипсет данные не отдает (цикл RETRY), а в следующем цикле все проходит без проблем. Интересно то, что такой эффект не зависит от скорости, объема считываемых данных и от типа команды (Memory Read Multiple, Memory Read, Memory Read Line)
BSV
Думаю, что никак от этого не уйти. Наверно, зависит от реализации контроллера памяти, мостов. А что в этом плохого? Какая разница - ждать в текущей транзакции, пока контроллер памяти или мост отдаст требуемые данные, занимая при этом шину (тем более что спецификацией явно предписывается Таргету завершать первую фазу данных в течение 16 тактов, а если более - Retry), или получить их в следующей (не занимая шину и давая работать другим устройствам).
PSP
Это обычная латентность системы контроллер-память. При первом обращении контроллер относительно долго инициирует новую процедуру чтения данных, а дальше читает с опережением.
В нашей системе на ФПГА с покупными core PCI и DDR2 400 не удается успеть отдать данные в PCI в первом обращении за положенные 16 тактов.
При записи удается не тормозить из-за входного FIFO.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.