MVV wrote:NZ80@50МГц
На стратиксе? Циклон 3 говорит, что для него 38 мгц предел мечтаний. Глянь (а лучше скопипасть сюда) тайминг репорт. И это Фмакс ядра. А когда память должа успеть выставить данные? По таймингам выходит, что достоверный адрес и ШУ можно забирать у некста на фазе его клока 250-260 градусов. Если подцепить в качестве памяти внешнюю сраму, частота сразу упадет до 20МГц, если не ниже.
MVV wrote:2-ва такта в вайте при промахе
Увы и ах, но лучше не будет. Кешовые дата/мисхит(вейт) надо латчить на позедже клока ядра. Пересинхра на клок 133, захват запроса фсмкой контроллера сдрамы, это уже больше середина первого вейта. Потом цикл сдрамы, запись даты в кеш, срабатывание по клоку кеша (сдвиг 260" от клока цпу) хита, по следующему позеджу ядра проц уже работает дальше.
MVV wrote:Бурст 2?
С бурстами пока непонятка, но есть следующие предположения:
- сдрама работает в режиме прерываемых бурстов, длина по умолчанию 8 (помню ты говорил, что пейдж не у всех микрух на реверсе саппортится),
- бурст на префетч даты проца работает а) до конца адресного цикла (А0-2 = 111), б) длиной до 8, если нет других горящих запросов, в) длиной не менее 4.
133 МГЦ поэтому лучше, чем 100.
MVV wrote:Кеш пока теневой с управлением, как две страницы 16К+16K
Это слишком много. Я пока взял кеш 1КБ, увеличу до 4х.
MVV wrote:обратную запись/прямую
Пока что ставлю запись в фоновом режиме (проц записал, пошел цикл, проц не висит), но включится вейт при следующем мисхите кеша или записи, до окончания предыдущей записи.
Планирую в конечном итоге сделать фифо обратной записи с отмечанием флажка "дирти" в кеше. Смысл: любая запись пишется в кеш (дабы быть без проблем прочитанной процом при необходимости) и в фифо обратной записи. Если попадается адрес, который может выбить из кеша адрес, который еще не записан, данное чтение не кешируется.