С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Концепция немного изменилась. Приложению доступно до 240 страниц по 64 килобайта (15 мегабайт). Одна из страниц предназначена для эмуляции, она с двойным преобразованием адреса, суб-страницы размером 16 килобайт (можно меньше), в эти страницы можно вывести логические адреса 0x400000...0x7FFFFF (4 мегабайта).
Пока максимальная скорость получается или 30 МГц без тактов ожидания, или 50 МГц по 2 такта на одно обращение к памяти. Вроде бы 30 больше чем 25, но ещё есть дополнительные такты для всяких преобразований, поэтому пока точно не знаю что лучше.
Минимальная скорость ограничена особенностями SDRAM. Если, допустим, 15 тактов на запрос, частота 60 МГц, и ещё минус видео, то около 3 мегабайт/с.
andrews(03.11.2019)
Запустил в своём симуляторе демку, записал лог обращений к памяти за пару минут. Прочитано 110 мегабайт кода, 25 мегабайт данных, 7 мегабайт записано. Вывод: надо оптимизировать выполнение кода, ldir потерпит.
Частота 50 МГц, код читается из кэша за 1 такт, данные читаются за 2 такта, пишутся за 3 такта. Около 4 млн. обращений к SDRAM, считаю по 15 тактов. Итого 241 млн. тактов плюс ещё процентов 5 на некоторые алгоритмы. Средняя скорость доступа 28 Мбайт/с с теоретическим пределом 50 Мбайт/с в идеальных условиях. Правда, ldir даст мегабайта 3 в секунду в лучшем случае. (Для сравнения: Z80 на 3.5 МГц скорость доступа 1.2 Мбайт/с, ldir 0.3 Мбайт/с.)
Вот эту мысль зафиксируем и приступим к реализации, а то с алгоритмами кэширования можно играться бесконечно.
Сюрприз от eZ80!Или я невнимательно читал документацию.
16-битный inc/dec обнуляет старший байт 24-битного регистра.
по поводу переноса данных память-память можно сделать хинт, как у Спринтера - типа некий акселератор, который сначала затащит данные внутрь альтеры, а потом от туда в память. Должно быть быстрее, чем тупо ldir юзать. это если где то в расширенных режимах работать. не эмуляция 128го спекка.
А в каких задачах, кроме построения графики, может потребоваться такой быстрый перенос память-память? Может тогда уже делать это с уклоном в вывод графики?
А что-нибудь более приземлённое?
Не знаю. На этой неделе попытаюсь уломать бизнес-партнера на расширение бизнеса в сторону производства "тонких клиентов", чтобы он устав перерегистрировал под это. Если откажется -тады придется думать над чем-то другим. Для старта нам вроде обещали наши клиенты дать за символическую цену одноплатные 386EX с Ethernet-ом на борту и еще другими наворотами. Они уже перелезли на что-то многоядерное самопальное на Altera/Intel. Вот только не понял с установленной памятью DDR или нет. Ну а если все срастется поставим специально для этих целей в офис сервак помощней( по нашим фин. возможностям конечно, но если бизнес пойдет вверх будем стараться его делать все мощнее и мощнее)и можно экспериментировать с "тонкими клиентами" и "облачными вычислениями" для них. Специализацию пока не придумали. Толи САПРы разные, то ли разработку игровых программ на движках и без, а может моделирование. Тогда будем профинансировать разработку "тонких клиентов" разныхПланы как всегда амбициозные, тысяча компов в год - это провал!
Последний раз редактировалось andrews; 20.11.2019 в 01:36.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)