![]() |
|
|
|
|
|
#1 |
|
Veteran
Join Date: 28th March 2006
Location: Санкт-Петербург
Posts: 1,162
Thanks: 281
Thanked 281 Times in 176 Posts
![]() ![]() ![]() ![]() |
Интуитивно чувствую, что для оценки работы кэша нужна другая тулза. Типа читать-писать разные количества данных из одних и тех же/прилегающих/разных мест.
|
|
|
|
|
|
#2 |
|
Veteran
Join Date: 7th August 2008
Location: г. Уфа
Posts: 1,941
Thanks: 226
Thanked 292 Times in 210 Posts
![]() ![]() ![]() ![]() |
Когда у меня сначала кеш совсем слабо работал я подумал - неужели придется эмулятор вымучивать?
Еще хочу уточнить - когда я писал про "нарезаем банк..." вобще-то я имел в виду страницу (т.е. row), предполагаю, что ты тоже. |
|
|
|
|
|
#3 |
|
Guru
Join Date: 24th January 2008
Location: Уфа
Posts: 2,529
Thanks: 174
Thanked 677 Times in 482 Posts
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Можно ещё в качестве хеш-функции попробовать не только набор младших бит адреса, а например комбинацию младших бит, пары средних и пары старших бит адреса. В большинстве программ можно выделить сегмент кода и сегмент данных, младшие биты адреса могут (и скорее всего будут) совпадать, отсюда снижение эффективности. Добавив другие биты адреса мы значительно снизим вероятность совпадения.
__________________
http://bashkiria-2m.narod.ru/ |
|
|
|
|
|
#4 |
|
Veteran
Join Date: 7th August 2008
Location: г. Уфа
Posts: 1,941
Thanks: 226
Thanked 292 Times in 210 Posts
![]() ![]() ![]() ![]() |
Наверняка для каждой программы можно найти оптимальное разделение бит адреса на индекс и содержимое тега. Но это надо тестировать и тестировать. Из всех возможных я выбрал вариант, про который читал в двух или трех книгах, т.е. если что, вопросы к их авторам
Для 8биток можно попробовать и полностью ассоциативный кеш, где такой проблемы вобще нет, но он будет крошечным (сомневаюсь, что больше 256 строк) и его реализация в виде кода мне представляется чересчур громоздкой. Наборно-ассоциативный - хороший компромисс, но при его реализации возникают свои вопросы.Еще по терминологии. Вместо надмозговой "обратной записи" пожалуй грамотнее будет "отложенная запись", ну запомнился мне неудачный перевод, так уж получилось. |
|
|
|
|
|
#5 |
|
Veteran
Join Date: 7th August 2008
Location: г. Уфа
Posts: 1,941
Thanks: 226
Thanked 292 Times in 210 Posts
![]() ![]() ![]() ![]() |
Сейчас для проверки использую эксисайзер, амбал3д и попробовал упаковщик cpress3 (с турбой слишком быстро сжимает).
Что еще для вектора есть долгое, где можно засечь время прогона? ---------- Post added 04.03.2014 at 00:59 ---------- Previous post was 03.03.2014 at 23:40 ---------- Клеточные автоматы Левина Л.Л. понравились. ---------- Post added at 01:03 ---------- Previous post was at 00:59 ---------- Пока остановился на режиме SDRAM 144/CPU 72 (кадровая 75 Гц) и потестил в нем разные проги и варианты кеша. Что интересно - выигрыш везде примерно одинаковый, примерно в 1,33-1,45 раза. Last edited by ivagor; 4th March 2014 at 00:08. Reason: уточнил выигрыш |
|
|
|
|
|
#6 |
|
Veteran
Join Date: 7th August 2008
Location: г. Уфа
Posts: 1,941
Thanks: 226
Thanked 292 Times in 210 Posts
![]() ![]() ![]() ![]() |
Избранные места из ненаписанной монографии "Ненужность кеша для Вектора-06Ц"
Тестовые программы всего 3: 8080exe7, A3Dp8, BORDHOLL Увеличение строки кеша до двух байт - положительная вещь. Производительность (тестировал с 4 Кб кешем) по сравнению с однобайтной строкой не изменилась, а объем тега в 2 раза меньше. Увеличение кеша до 8 Кб (с двухбайтной строкой) - нет смысла, скорость уже не выросла. Чтобы четче увидеть разницу, уменьшил кеш до 1 Кб и сравнил кеш прямого отображения и двухканальный (он же "двухвходовый") наборно-ассоциативный. При 1 Кб наборно-ассоциативный или чуть-чуть лучше (в эксисайзере и клеточном автомате) или такой-же (в амбале). Что интересно, при 4 Кб эксисайзер меняет ориентацию и отдает предпочтение варианту прямого отображения. Но в обоих случаях (1 и 4 Кб) разница во времени между прямым отображением и наборно-ассоциативным не более 1% Наверняка, если еще урезать объем, то наборно-ассоциатиный должен четче победить. ---------- Post added at 20:14 ---------- Previous post was at 18:40 ---------- В завершение саги с кешем. Про урезание объема я ошибался - при 512 байтах разница м/у двумя вариантами минимальна. Но зато узнал, что A3Dp8 512 байт совсем мало, ему хотя бы 1 Кб нужен. Возможно это я перестарался с развертыванием циклов. |
|
|
|
|
|
#7 |
|
Veteran
Join Date: 7th August 2008
Location: г. Уфа
Posts: 1,941
Thanks: 226
Thanked 292 Times in 210 Posts
![]() ![]() ![]() ![]() |
Поздравляю svofski с юбилейной 400ой версией.
Теперь используется только одна базовая частота 50 МГц. AY/YM стал стерео. (SW9 - "омский микс" ABC/"кировский микс" CBA, KEY2 теперь вместо "старого" SW9). Из AYка теперь читает, как и в SRAMовских версиях. SKYNET не пиликает, просто шумит, примерно как эмуляторы для ПК. Устранился ряд артефактов, связанных с AY, но появился по крайней мере один "новый" - в SKYNET когда буквы уходят вдаль слышны лишние попискивания. |
|
|
|
| The Following User Says Thank You to ivagor For This Useful Post: | svofski (10th March 2014) |
|
|
#8 |
|
Veteran
Join Date: 7th August 2008
Location: г. Уфа
Posts: 1,941
Thanks: 226
Thanked 292 Times in 210 Posts
![]() ![]() ![]() ![]() |
Наконец-то совместил в одном флаконе "медленный" (<120 МГц) сдрам, турбу и работающий дисковод. Теперь меня должно отпустить. Напоминаю, что начиная с ревизии 400 переключение турбы по KEY2, а не по SW9. Очень надеюсь, что 60 МГц сдрам у всех будет работать.
|
|
|
|
| The Following User Says Thank You to ivagor For This Useful Post: | tnt23 (11th March 2014) |
|
|
#9 |
|
Veteran
Join Date: 7th August 2008
Location: г. Уфа
Posts: 1,941
Thanks: 226
Thanked 292 Times in 210 Posts
![]() ![]() ![]() ![]() |
Удалось выяснить, что контроллер флопа не любит "короткие" cpu_ce, даже если период их следования соответствует стандартным 3 МГц. Т.е. с процом быстрее 12 МГц флоп работать не будет.
|
|
|
|
|
|
#10 |
|
Veteran
Join Date: 7th August 2008
Location: г. Уфа
Posts: 1,941
Thanks: 226
Thanked 292 Times in 210 Posts
![]() ![]() ![]() ![]() |
Q&D версия Старта-1200 на базе последней ревизии. По хорошему надо бы оформить условную компиляцию и выложить в репозиторий, но я так не сделал. Кроме замены приложенного файла еще нужно:
1. Увеличить bootrom до 8 Кб и залить в него vec1200.bin из emu или START-1200.RT из VV. 2. Создать palette_rom (512 байт, см. приложенный исходник) и залить в него palette.bin из emu (в режиме 512 точек будут полосатые буквы) или 1200PALL.RT из VV. Тетрис, бейсик, игрушки на бейсике работают. До сих пор не пробовал запускать PUTUP в конфиге 1200 - интересные цвета получаются. Last edited by ivagor; 18th March 2014 at 13:04. Reason: Поправил режим 512 точек |
|
|
|
| The Following User Says Thank You to ivagor For This Useful Post: | perestoronin (21st March 2014) |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|