Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Вектор (http://zx-pk.ru/forumdisplay.php?f=55)
-   -   Вектор-06Ц: Altera DE1 (http://zx-pk.ru/showthread.php?t=8635)

ivagor 3rd March 2014 16:45

Наверняка для каждой программы можно найти оптимальное разделение бит адреса на индекс и содержимое тега. Но это надо тестировать и тестировать. Из всех возможных я выбрал вариант, про который читал в двух или трех книгах, т.е. если что, вопросы к их авторам :) Для 8биток можно попробовать и полностью ассоциативный кеш, где такой проблемы вобще нет, но он будет крошечным (сомневаюсь, что больше 256 строк) и его реализация в виде кода мне представляется чересчур громоздкой. Наборно-ассоциативный - хороший компромисс, но при его реализации возникают свои вопросы.
Еще по терминологии. Вместо надмозговой "обратной записи" пожалуй грамотнее будет "отложенная запись", ну запомнился мне неудачный перевод, так уж получилось.

ivagor 4th March 2014 00:03

Сейчас для проверки использую эксисайзер, амбал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 раза.

ivagor 6th March 2014 19:14

Избранные места из ненаписанной монографии "Ненужность кеша для Вектора-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 Кб нужен. Возможно это я перестарался с развертыванием циклов.

ivagor 10th March 2014 17:09

Поздравляю svofski с юбилейной 400ой версией.
Теперь используется только одна базовая частота 50 МГц.
AY/YM стал стерео. (SW9 - "омский микс" ABC/"кировский микс" CBA, KEY2 теперь вместо "старого" SW9).
Из AYка теперь читает, как и в SRAMовских версиях.
SKYNET не пиликает, просто шумит, примерно как эмуляторы для ПК.
Устранился ряд артефактов, связанных с AY, но появился по крайней мере один "новый" - в SKYNET когда буквы уходят вдаль слышны лишние попискивания.

ivagor 10th March 2014 21:47

Наконец-то совместил в одном флаконе "медленный" (<120 МГц) сдрам, турбу и работающий дисковод. Теперь меня должно отпустить. Напоминаю, что начиная с ревизии 400 переключение турбы по KEY2, а не по SW9. Очень надеюсь, что 60 МГц сдрам у всех будет работать.

ivagor 12th March 2014 23:23

Удалось выяснить, что контроллер флопа не любит "короткие" cpu_ce, даже если период их следования соответствует стандартным 3 МГц. Т.е. с процом быстрее 12 МГц флоп работать не будет.

ivagor 17th March 2014 18:28

1 Attachment(s)
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 - интересные цвета получаются.

ivagor 19th March 2014 00:09

Некое подобие Кристы-2 можно скачать здесь.

ivagor 21st March 2014 17:26

1 Attachment(s)
Почти ПК-6128Ц на основе ревизии 403. Нужно заменить vector06cc.v на приложенный файл, увеличить bootrom до 16 Кб и залить в него образ пзу 6128 из любого эмулятора.
Недоделки:
1. ВМ80 вместо ВМ85. Чтобы загрузчик, заточенный под ВМ85, грузил ROMы нужно в утилите Ramirosа выставлять минимальную скорость.
2. Т.к. ПЗУ в 6128 16 Кб, то не хватает памяти в ПЛИСине на контроллер флопа. Можно, например, сделать загрузку ПЗУ с SD или подсушить контроллер дисковода - все пути открыты.

ivagor 24th March 2014 18:52

Напишу здесь и сразу признаю - это будет оффтоп.
Не прошло и полгода - попробовал рекомендации из Demystifying Timing Constraints. Взял оттуда все кроме set_multicycle_path (надо еще другую статью почитать, а то не понял, что это такое). В графиках, которые строит TimeQuest не разобрался, тем не менее - заработало. Пробовал на проекте РК86. Уточню, что именно заработало - до этого у меня не получалось запустить SDRAM на 150 МГц при получении этих 150 из 50. Причем здесь вектор - теперь я знаю, чем можно было твикать сдрам, чтобы он на старых DE1 заработал на 120 МГц полученных из 50 МГц. Надеюсь, что текущие 60 МГц у всех работают, но все равно хотелось и про 120 понять.

---------- Post added at 19:52 ---------- Previous post was at 19:24 ----------

микродополнение - 166,67 МГц полученные из 50 тоже заработали


All times are GMT +4. The time now is 23:15.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.