уухх сколько переменных то)))))
тем временем, косяк был мой. не скажу в чём.
заодно подсчитал. что спринтер тратит 22.5 такта на пересылку 256 байт. если я верно понимаю, те же 256 байт ТС перекинет уже за 128 тактов? или я опять не так подсчитал?!
уухх сколько переменных то)))))
тем временем, косяк был мой. не скажу в чём.
заодно подсчитал. что спринтер тратит 22.5 такта на пересылку 256 байт. если я верно понимаю, те же 256 байт ТС перекинет уже за 128 тактов? или я опять не так подсчитал?!
Последний раз редактировалось Sayman; 18.08.2016 в 18:29.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
А спринтере 96 битная память?
- - - Добавлено - - -
Это примерно 12 байт за такт памяти
s_kosorev, я мог ошибиться в расчётах. я же переспросил там в конце, что я опять не так подсчитал?
я исходил из двух вещей. первое, это по мануалу:
второе, по исходнику, опять-таки если верно прочитал исходник на ahdl, память с акселем работают на 42мгц, а не 7 как у ТС (со слов Хакера).Скорость работы акселератора ограничивается только физической
скоростью работы основного ОЗУ. Определить примерное время работы команды с
акселератором можно по такой формуле:
Время работы = время работы команды без акселератора + время работы
акселератора
Время работы акселератора = число пересылаемых байт /7 микросекунд
попробуй это всё переведи в такты. тоже хочется узнать, где же тут истина.
так же могу сказать одну вещь, что если на ТСконфе после транзакции нужно ожидать прерывание от ДМА (типа он закончил пересылку данных, опрос статуса дма на предмет бита busy), то тут ожидать этого не нужно. выполнив последнюю команду при которой данные улетают куда надо, я могу выполнять любое другое действие сразу, без ожидания.
т.е. чтобы скинуть сколько-то байт (или заполнить или скопировать), я делаю примерно так:
никакого ожидания битов и статусов. после ld b,b волен делать что угодно.Код:di ;обязательно, иначе батхерт ld d,d ;включить аксель ld a,cnt ;сколько... ld l,l ;просто копируем ld a,(hl) ;в этот момент альтера перехватила команду и записала cnt байт из озу в свою память ld (de),a ;а тут она после перехвата делает запись из своей памяти в озу ld b,b ;отключение акселератора
Да и сам Хакер тоже не совсем верно подсчитал производительность дма. считать надо с учётом всех участвующих команд проца+время ожидания бита статуса.
единственное, думаю, что ТСный дма будет иметь выигрыш на больших объёмах транзакций. т.е. если я верно прочитал мануал, можно задавать для дма количество выполняемых транзакций (это кроме размера самой транзакции). в то же время, на спринтере именно такого параметра нет. т.е. макс.256байт и всё. потом, если надо, иди на новый круг выполняй процедуру.
Последний раз редактировалось Sayman; 19.08.2016 в 06:28.
s_kosorev, гугл с тобой не согласен. он мне подсказывает, что до 30мгц и выше при 60нс. уже как бы не 10мгц. и там речь идёт про fpm, а edo модули на спринтере не работают.
в описании на спринтера сказано, что память работает на своих запредельных частотах. в исходнике есть сигнал clk42. Иван говорил про него, что это 42мгц. в общем. открой исходник acceler.tdf, там есть ответ для тебя...
кстати, Иван писал об этом, что когда он там платы запускал, он тестировал на них разные модули СИММ. какие-то заводились сразу, какие-то тупили. закономерности он не выявил, но думаю, что в этом и причина, что некоторые модули не заводились на таких частотах.
Последний раз редактировалось Sayman; 19.08.2016 в 09:28.
есть рандомный доступ, там где полный ras-cas а есть пакетные разные оптимизации, когда выбран ряд уже, так вот полный ras-cas потолок 7-10 мгц, внезапно даже у DDR4
- - - Добавлено - - -
Хотя не, обманул, пересчитал для DDR4 из шустрых, полный цикл аналогичный классической DRAM (тобишь вообще без каких либо оптимизаций) аж 26мгц скорости дает при рабоче 2133мгц![]()
s_kosorev, а я не буду спорить. я вот что вижу по исходнику, вижу, что это работает. а подробности уже не так важны. если по исходнику на память подают 42мгц. значит там 42мгц. реализация всё ровно. снимем замеры, посмотрим.
какая там память?
- - - Добавлено - - -
Нашел что Sprinter 2000 использует simm72
Берем даташит на первую попавшуюся микруху 60нс
курим доку http://prntscr.com/c7ml8g и внезапно видим 90-110нс что то около 10мгц
42мгц это модуль может работать на такой частоте, но не сама память, модуль может юзать 6 тактов своего клока на 1 цикл памяти
s_kosorev, Время работы акселератора = число пересылаемых байт / 7 микросекунд = 256/7 = 36.57142857142857 микросекунд . переведи в такты. это будет физически возможная (рабочая) скорость работы акселератора у спринтера. остальное для меня китайская грамота.
это я ещё не упоминал о том, что видеопамять тут на сраме...
Последний раз редактировалось Sayman; 19.08.2016 в 11:11.
так если цикл 7мкс это 140 кб/с
т.е. примерно в 50 раз медленней чей 7мб/с
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)