Page 1 of 1

Кэш для некста

PostPosted: Sun, 27.04.2014 23:55:08
by TS-Labs
Пилю помаленьку. Фотка для истории. Работает некст на частоте 33.3, сдрам на 133.3. Пока только чтение. Некст провисает 2 такта в вейте, зато все времянки на месте и никаких метастабов.
http://i.snag.gy/ekPEG.jpg

Re: Кэш для некста

PostPosted: Thu, 01.05.2014 00:23:29
by MVV
TS-Labs wrote:Работает некст на частоте 33.3, сдрам на 133.3

SDRAM 7.5ns CL3 ? 2-ва такта в вайте при промахе, т.е. 60нс до первого считанного слова? Бурст 2?
Я планирую SDRAM CLK = 100МГц (10нс) CL=2. Бурст 2. NZ80@50МГц. Кеш пока теневой с управлением, как две страницы 16К+16K. Т.е. двухпортовка 16К врубается сверху над одним из окон. Прога сама решает нужно ли делать обратную запись/прямую или вообще не обновлять в SDRAM.

Re: Кэш для некста

PostPosted: Thu, 01.05.2014 12:29:00
by TS-Labs
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:обратную запись/прямую

Пока что ставлю запись в фоновом режиме (проц записал, пошел цикл, проц не висит), но включится вейт при следующем мисхите кеша или записи, до окончания предыдущей записи.
Планирую в конечном итоге сделать фифо обратной записи с отмечанием флажка "дирти" в кеше. Смысл: любая запись пишется в кеш (дабы быть без проблем прочитанной процом при необходимости) и в фифо обратной записи. Если попадается адрес, который может выбить из кеша адрес, который еще не записан, данное чтение не кешируется.

Re: Кэш для некста

PostPosted: Fri, 18.07.2014 15:52:19
by ZEK
Надо Q2 кеш, вот вроде нигде в железках ходовых Q2 не юзается, а кеш достаточно зачетен

Re: Кэш для некста

PostPosted: Fri, 18.07.2014 19:20:34
by TS-Labs
Не в теме, а что это?

Re: Кэш для некста

PostPosted: Mon, 21.07.2014 11:33:15
by ZEK
А там принцип такой, 2 кеша, в первый попадают впервые прочитанные данные, во второй если было попадание в первый кеш

Re: Кэш для некста

PostPosted: Mon, 21.07.2014 12:39:45
by TS-Labs
Т.е. второй кеш обеспечивает статистически чаще используемые данные без перетирания их данными случайными. ОК, идея нравится.