User Tag List

Показано с 1 по 10 из 801

Тема: Вектор-06Ц: Altera DE1

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сейчас реализован самый простой вариант - кеш прямого отображения со сквозной записью.
    Адрес, по которому обращается процессор делим на две части - младшая будет индекс в кеше, старшая хранится в теге кеша и при обращении сравнивается с тем, что сейчас дает проц. Пишем в кеш при чтении из сдрам (то, что я в первом варианте не сделал) или при записи.
    Причем я вчера попробовал сделать перекос в сторону чтения еще сильнее - обновлять кеш при записи только если данный адрес уже там есть. Это не изменило время прогона эксисайзера и амбала3д, так что пока под вопросом, как оставить.
    Выложенный вариант "консервативный" - читаем из кеша и проверяем тег параллельно с чтением из сдрам. Так мы никогда не будем терять такты в случае кеш-промахов, но и выигрыш маловат. После тестов сам я однозначно за "агрессивный" вариант - сначала читаем из кеша, и только если там нет - начинаем обращение к сдрам. В худшем случае потеряется два такта, но кеш-попадания заметно чаще промахов, т.ч. игра стоит свеч.
    Что стоит доделать для более серьезного применения - увеличить размер строки кеша. У меня сейчас каждой записи тега соответствует один байт из памяти. Это очень неэффективно. Надо как минимум 2, а лучше 4-8-16 и читать пакетом.

    Да, еще надо не забывать инициализировать кеш при ресете. В векторе я загрузчик чуть доработал для этого.
    В векторе, раз нет дма и видео всегда в одном месте (плохо для программера, хорошо для кеширования), то сравнительно несложно доработать до обратной записи. Т.е. по видеоадресам сквозная запись, а по остальным - обратная.
    Эффективнее был бы наборно-ассоциативный кеш (хотя бы двухвходовый), но заморочек там больше, может кто знает готовый вариант, желательно на верилоге?
    Последний раз редактировалось ivagor; 03.03.2014 в 10:24. Причина: добавил пару слов

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Вектор-06Ц: Общие вопросы
    от CityAceE в разделе Вектор
    Ответов: 867
    Последнее: 17.10.2025, 18:38
  2. Вектор-06Ц: Эмуляция
    от ZEman в разделе Вектор
    Ответов: 1516
    Последнее: 16.10.2025, 11:13
  3. Ответов: 9
    Последнее: 18.04.2009, 21:21
  4. Вектор-06Ц
    от AlexBel в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 20.12.2007, 08:23
  5. IM2, вектор прерывания
    от Jukov в разделе Программирование
    Ответов: 18
    Последнее: 20.09.2006, 09:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •