реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Реализация алгоритма замещения кэш строки, кэш память на ПЛИС
CaPpuCcino
сообщение Dec 18 2007, 15:25
Сообщение #1


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



подскажите, плз, если кто сталкивался с проблемой замещения в кэш сооружённой в ПЛИС, как мудро реализовать псевдо-случайный алгоритм выбора строки на замещение (или может проще применить дисциплину LFU или LRU(?), кэш данных небольшой <= 32 позиции /можно сказать ассоциативный массив/)
спс


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 19 2007, 03:54
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(CaPpuCcino @ Dec 18 2007, 10:25) *
подскажите, плз, если кто сталкивался с проблемой замещения в кэш сооружённой в ПЛИС, как мудро реализовать псевдо-случайный алгоритм выбора строки на замещение (или может проще применить дисциплину LFU или LRU(?), кэш данных небольшой <= 32 позиции /можно сказать ассоциативный массив/)
спс


А можно подробнее про параметры вашего кеша ?
Насколько я знаю кеш по сути 2 массива : массив данных (строки кеша) + массив тегов.
Из вашего поста я вижу что у вас кеш с ассоциативностью в 32 ? Не многовато ли, логика тегов дорогое удовольствие ?

это действительно похоже на ассоциативный массив, но тогда вам нужно рыть в сторону контекстно-ассоциативной памяти (но ресурса это ест мама не горюй, зато работает быстро).

а алгоритм замещения ИМХО нужно выбирать исходя из задачи. например кеш на сдрам память, где читаем потоки данных, будет отличен от кеша для чтения команд.


--------------------
Go to the top of the page
 
+Quote Post
CaPpuCcino
сообщение Dec 19 2007, 15:43
Сообщение #3


тоже уже Гуру
******

Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973



Цитата(des00 @ Dec 19 2007, 07:54) *
А можно подробнее про параметры вашего кеша ?
Насколько я знаю кеш по сути 2 массива : массив данных (строки кеша) + массив тегов.
Из вашего поста я вижу что у вас кеш с ассоциативностью в 32 ? Не многовато ли, логика тегов дорогое удовольствие ?

это действительно похоже на ассоциативный массив, но тогда вам нужно рыть в сторону контекстно-ассоциативной памяти (но ресурса это ест мама не горюй, зато работает быстро).

а алгоритм замещения ИМХО нужно выбирать исходя из задачи. например кеш на сдрам память, где читаем потоки данных, будет отличен от кеша для чтения команд.

1) полностью ассоциативный кэш на 16 - 32 позиции с тэгом на 25 бит и ассоциированным данным на 12 бит. используется исключительно для кэширования данных специфического (так что кэш не общего пользования, как например у МП) приложения с большой степению локализации данных, но так же и с большой степению зависимости по данным (собственно поэтому и ассоциативная память на вооружении).
2) по логики не так чтобы через чур дорогое удовольствие. по сути это паралельное сравнение. т.е. каждый тэг одновременно сравнивается с входящим ассоциируемым данным.
3) воистину в сторону CAM, но проблема здесь больше не в колличестве ресурсов а в быстродействие (между прочим у альтеры, кажется, Апексе КАМ встроенная и радотает на что-то порядка 5нс клоке). в ксайлинксах таких блоков к сожалению нет, но можно реализовать КАМ на встроенной памяти а по выданному из КАМ адресу искать ассоциированное данное в обычной встроенной памяти (получается латентность всего кэша порядка 3 тактов, но это для меня всё равно лучше чем организовывать шинный цикл ко внешней памяти).
4) ага политика кэширования действительно разнится от применения к применению, но это больше касается политики согласования кэшей с основной памятью, а вот политика замешения наверное больше зависит от внутренних характеристик кэшек (типа канальность, ассоциативность, глубина). хотя конечно вопрос нетревиальный


--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
Go to the top of the page
 
+Quote Post
yes
сообщение Jan 10 2008, 17:09
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



из общего - можно посмотреть как у гейслера (leon3) реализованы алгоритмы
там 4 way

из общих соображений - а точно нужно полностью ассоциантивный, а не N-way?
я когда-то моделировал - не сильно большой выигрышь, а проблем с алгоритмом замещения дофига

может имело бы смысл промоделировать варианты...

ну и любая CAM память делается на обычной памяти

--------------------

про алгоритм замены

также 4-way LRU алгоритм очень часто упращается до двух сравнений (у интелей в старых пнях так было - статистически меряли)
а так, теоретически, нужно матрицу разрешать - раньше/позже - для 32х-вариантов замещения это 32х32 - много...

а к случайному алгоритму замены - как-то испытываю недоверие smile.gif хотя проще всего...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 23:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016