Перейти к содержанию
    

Простенький кэш, просветите новичка

Привет всем,

 

с некоторых пор я запустил на плате Altera DE1 корку упрощённого MIPS-проца. Всё тикает как надо. В качестве памяти использую SDRAM на частоте 90МГц, cas=2, burst=2. Для чтения/записи 32 бит данных из памяти/в память требуется ровно 7 тактов. Тоесть процессор работает на 12.86МГц. На такой частоте я "выжал" из него около 20DMIPS. Вроде не плохо, но хотелось бы побыстрее! Появилась идея прикрутить к корке простенький кэш инструкций (prefetch), чтобы хоть немного разогнать его. Начал искать в инете информацию о работе кэш-контроллеров, но кроме поверхностного описания принципа ничего не нашел.

Поэтому решил обратиться к форумчанам: посоветуйте, как можно реализовать хоть самый простой кэш? Может есть что нибудь почитать на эту тему? Или пример на VHDL/Verilog. Хочу вникнуть, как кэш работает...

 

С уважением

Дима

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

первая строка гугла, поиск по слову "архитектура кэш контроллера"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

первая строка гугла, поиск по слову "архитектура кэш контроллера"

 

Спасибо за наводку!

Достаточно подробно описано, всё по-полочкам разложено.

Появилось представление о том, как реализовать простую предвыборку команд. Кэширования записи пока не будет.

Кэш сделаю для начала размером 1кбайт (8 строк по 128 байт). Буду читать/писать SDRAM c burst=8.

Посмотрю что получится! Насколько быстрее будет работать корка.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну у МИПСа с кэшами есть архитектурные заморочки kuseg, kseg0 и т.п. слова наверно известны.

 

как пример реализации (на VHDL) полноценного кэша могу посоветовать grlib от Gaisler-а http://www.gaisler.com/cms/index.php?optio...&Itemid=125

 

также, для описаного случая может сильно помочь правильный SDRAM контроллер. предыдущий ответивший может по этому поводу проконсультировать гораздо лучше :)

 

UPD: ну а на verilog на opencores.org можно посмотреть openrisc - я там в деталях не разбирался и попроще чем у Гейслера, но хорошо протестировано...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

/проходя мимо....

 

если новый софт - может и сгодится, а вот если есть софт, завязанный (даже неявно) на текущие тайминги инструкций......

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...