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

 
 
 
Reply to this topicStart new topic
> Простенький кэш, просветите новичка
SolderMan
сообщение Oct 11 2012, 19:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 26-01-12
Пользователь №: 69 890



Привет всем,

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

С уважением
Дима
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 12 2012, 04:42
Сообщение #2


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

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



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


--------------------
Go to the top of the page
 
+Quote Post
SolderMan
сообщение Oct 12 2012, 07:14
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 26-01-12
Пользователь №: 69 890



Цитата(des00 @ Oct 12 2012, 06:42) *
первая строка гугла, поиск по слову "архитектура кэш контроллера"


Спасибо за наводку!
Достаточно подробно описано, всё по-полочкам разложено.
Появилось представление о том, как реализовать простую предвыборку команд. Кэширования записи пока не будет.
Кэш сделаю для начала размером 1кбайт (8 строк по 128 байт). Буду читать/писать SDRAM c burst=8.
Посмотрю что получится! Насколько быстрее будет работать корка.
Go to the top of the page
 
+Quote Post
yes
сообщение Oct 12 2012, 14:00
Сообщение #4


Гуру
******

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



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

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

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

UPD: ну а на verilog на opencores.org можно посмотреть openrisc - я там в деталях не разбирался и попроще чем у Гейслера, но хорошо протестировано...
Go to the top of the page
 
+Quote Post
DevL
сообщение Oct 15 2012, 14:43
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 254
Регистрация: 23-10-10
Из: астрал
Пользователь №: 60 371



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

если новый софт - может и сгодится, а вот если есть софт, завязанный (даже неявно) на текущие тайминги инструкций......
Go to the top of the page
 
+Quote Post

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

 


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


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