User Tag List

Страница 10 из 14 ПерваяПервая ... 67891011121314 ПоследняяПоследняя
Показано с 91 по 100 из 133

Тема: Сравнение быстродействия процессорных плат (почти в одинаковых условиях)

  1. #91

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати, принимаются заявки на включение кодовых блоков в SPEED3
    Оформление примерно такое
    Код:
    ; блок инициализации
          MOV #ABUF01, R0
          MOV #ABUF02, R1
          MOV #<ABUF02-ABUF01>/2, R2
    ; тестовый блок
    10$:
        MOV (R0)+, (R1)+
        SOB R2, 10$
    Считается время выполнения кода инициализации, время выполнения полного блока и высчитывается время выполнения тестового блока

    Блока инициализации может и не быть, тестовый блок может состоять из одной команды или из нескольких, регистры можно портить любые, а вот стек от указателя SP и выше трогать не надо, ниже - можно, если надо, но по умолчанию глубина стека - от примерно 770 и ниже и указатель на выходе из тестового блока должен остаться прежним

    - - - Добавлено - - -

    Цитата Сообщение от Vslav Посмотреть сообщение
    С аппаратным умножителем оно конечно выезжает.
    Я, конечно, не видел текст PIEIS, но можно предположить, что используется и деление, а тут ничего аппаратного... Так что...

    - - - Добавлено - - -

    Надо будет попросить модераторов часть сообщений из этой темы перенести в тему про быстродействия - всё таки то, что сейчас пошло - к CIS не имеет отношения. Но это я завтра отпишусь, с утра

  2. #91
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #92

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta
    Vslav, будет время - прогони, пожалуйста, мой SPEED3 - http://www.KpXX.Ru/Soft/Utils/Speed3 на 100 МГц-овм ВМ2 ?
    Файл по ссылке не отдается. Я бы хоть сейчас мог его прогнать на мс1201.02 100Мгц, у меня-то эта схема давно уже работает в нашей лаборатории.

  4. #93

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Файл по ссылке не отдается.
    Пардон, мой косяк, поправил

  5. #94

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот он, результат на моей 1201.02 100МГц:
    Код:
    .RUN RK3:SPEED3
    
    tEST BYSTRODEJSTWIQ (K\[, ESLI ON ESTX, WYKL@^EN)
    
    R1+R0 classic                   3 521 479 OP./SEK
    R0(23456.)+R0(12345.) empty       850 681 OP./SEK
    R1(23456.)+R0(12345.)             685 115 OP./SEK ->   3 520 132 OP./SEK
    R1+@R0 classic                  1 701 815 OP./SEK
    R1(23456.)+@R0(M-12345.) empty    850 681 OP./SEK
    R1(23456.)+@R0(M-12345.)          567 037 OP./SEK ->   1 700 609 OP./SEK
    R0*R0 classic                   1 039 981 OP./SEK
    11.*12. empty                     850 681 OP./SEK
    11.*12.                           471 952 OP./SEK ->   1 060 073 OP./SEK
    R2/R0 classic                     780 017 OP./SEK
    R2-R3(34567.)/R1(321.) empty      685 115 OP./SEK
    R2-R3(34567.)/R1(321.)            372 678 OP./SEK ->     817 212 OP./SEK
    34567./321. (FPU) empty        - KOMANDA NE REALIZOWANA
    34567./321. (FPU)              - KOMANDA NE REALIZOWANA
    34567.89022+32109.754321 empty - KOMANDA NE REALIZOWANA
    34567.89022+32109.754321       - KOMANDA NE REALIZOWANA
    34567.89022*32109.754321 empty - KOMANDA NE REALIZOWANA
    34567.89022*32109.754321       - KOMANDA NE REALIZOWANA
    34567.89022/32109.754321 empty - KOMANDA NE REALIZOWANA
    34567.89022/32109.754321       - KOMANDA NE REALIZOWANA
    CIS MULPI 1                    - KOMANDA NE REALIZOWANA
    CIS MULP  1 empty              - KOMANDA NE REALIZOWANA
    CIS MULP  1                    - KOMANDA NE REALIZOWANA
    CIS MULPI 2                    - KOMANDA NE REALIZOWANA
    CIS MULP  2 empty              - KOMANDA NE REALIZOWANA
    CIS MULP  2                    - KOMANDA NE REALIZOWANA
    CIS ADDNI 1                    - KOMANDA NE REALIZOWANA
    CIS ADDN  1 empty              - KOMANDA NE REALIZOWANA
    CIS ADDN  1                    - KOMANDA NE REALIZOWANA
    CIS ADDNI 2                    - KOMANDA NE REALIZOWANA
    CIS ADDN  2 empty              - KOMANDA NE REALIZOWANA
    CIS ADDN  2                    - KOMANDA NE REALIZOWANA
    MOV 8 word 1 empty                567 830 OP./SEK
    MOV 8 word 1                       79 229 OP./SEK ->      92 076 OP./SEK
    MOV 8 word 2 empty                567 120 OP./SEK
    MOV 8 word 2                       96 374 OP./SEK ->     116 104 OP./SEK
    CIS MOVCI 8 word 1             - KOMANDA NE REALIZOWANA
    CIS MOVC  8 word 2 empty       - KOMANDA NE REALIZOWANA
    CIS MOVC  8 word 2             - KOMANDA NE REALIZOWANA
    #4+R0(2000) empty               1 703 491 OP./SEK
    #4+R0(2000)                       850 681 OP./SEK ->   1 699 238 OP./SEK
    CMP (R0)+,(R0)+ empty           1 702 386 OP./SEK
    CMP (R0)+,(R0)+                   676 675 OP./SEK ->   1 123 086 OP./SEK
    #2+R0(2000) empty               1 702 386 OP./SEK
    #2+R0(2000)                       850 681 OP./SEK ->   1 700 339 OP./SEK
    INC R0 INC R0 empty             1 702 386 OP./SEK
    INC R0 INC R0                     865 448 OP./SEK ->   1 760 377 OP./SEK
    TST (R0)+ empty                 1 702 386 OP./SEK
    TST (R0)+                         850 791 OP./SEK ->   1 700 778 OP./SEK
    .

    Эти 2 пользователя(ей) поблагодарили forth32 за это полезное сообщение:

    Hunta(28.10.2020), Vslav(28.10.2020)

  6. #95

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хм.. как то совсем мало... Даже если предположить, что память внешняя и тормозит проц, то на регистр+регистр это не сильно должно сказываться.. Нашёл свои результаты на 1201.02 с 1801ВМ2, там регистр регистре около 700. Не знаю, на какой тактовой, но пусть 5 МГц, то есть на 100 тупым умножением будет 14, а тут в 4 раза меньше..

    - - - Добавлено - - -

    А прогоните ещё PIEIS и PINEIS, пожалуйста, как будет время

    - - - Добавлено - - -

    Из интересного - как и на ВМ3 - два INC быстрее, чем ADD #2

    - - - Добавлено - - -

    Цитата Сообщение от forth32 Посмотреть сообщение
    Вот он, результат на моей 1201.02 100МГц:
    forth32, забыл спросить - проц в FPGA воткнут в 1201.02 или как?

  7. #96

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Хм.. как то совсем мало... Даже если предположить, что память внешняя и тормозит проц
    Да, я тоже полагаю что память внешняя. Подождем уточнения от forth32.
    Мой тест для Pi1000 был на внутренней RAM без циклов ожидания.
    В своей 1201 подумываю над кешированием.

  8. #97

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Мой тест для Pi1000 был на внутренней RAM без циклов ожидания.
    У меня тоже - память внутренняя, но из за особенностей текущего состояния проекта - циклы ожидания есть (я думаю над этим, но как и с общей производительностью - пока это не приоритет)

  9. #98

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Моя схема собрана целиком внутри FPGA. Процессор ВМ2 взят из референсной wishbone-схемы от VSLAV, оттуда же взят контроллер прерываний и уарт. Добавлено ПЗУ 055, контроллер DRAM, ИРПР, контроллер RK05, ну и некоторые интерфейсные схемы для подключения оборудования - это все на скорость не влияет, конечно. Все работает на wb_clk=100 МГц. Я думаю, что все действительно упирается в контроллер DRAM, это самое узкое место. Других источников тормозов мне трудно представить.
    Для чистоты эксперимента надо бы запускать код из статической памяти, но в моей использованной FPGA EP4CE10 просто не хватит ресурсов, чтобы выделить 64К SRAM для системы. Там же еще лежит и ПЗУ, и дисковые буфера, и кое-что по мелочи, Плюс, в той же FPGA отдельным модулем работает терминал VT52.
    Думаю, что ближе к выходным попробую перенести ради эксперимента схему в более емкую FPGA, EP4CE22, тогда картина будет более правильной.
    Даже если предположить, что память внешняя и тормозит проц, то на регистр+регистр это не сильно должно сказываться.
    Если бы... Контроллер DRAM ведь тратит кучу тактов на обращение к памяти. Там и RAS, и CAS, и такты ожидания всякие. А поскольку процессор кеша не имеет, то выборка каждой инструкции будет сопровождаться такими тормозами.
    Я вполне допускаю, что использованный мной контроллер DRAM не самый оптимальный. Собственно, я его взял из комплекта китайских демонстрационных модулей, идущих вместе с платой. Самому ну совсем уж лень его делать. Надо, конечно, среди готовых корок попробовать поискать.

    Эти 2 пользователя(ей) поблагодарили forth32 за это полезное сообщение:

    Hunta(28.10.2020), Vslav(28.10.2020)

  10. #99

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от forth32 Посмотреть сообщение
    Контроллер DRAM ведь тратит кучу тактов на обращение к памяти.
    Ну то есть память получается внешняя по отношению к FPGA.
    Моё - на регистр+регистр это не сильно должно сказываться - имелось ввиду, что тут будет один цикл обращения к памяти, а если регистр + память (сохранить результат в регистре) - тот тут уже два. В принципе, если посмотреть, регистр-регистр (примерно) в два раза быстрее, чем регистр-память, это как раз и видно. И раз близко к двум, то основной тормоз - это действительно память.

    Цитата Сообщение от forth32 Посмотреть сообщение
    Самому ну совсем уж лень его делать. Надо, конечно, среди готовых корок попробовать поискать.
    Когда доделаю переделку MMU из PDP2011, то, скорее всего, займусь контроллером памяти - у меня внешний кристалл SDRAM на плате. Можно будет сравнить с памятью внутри FPGA. Правда, перед этим неплохо бы обмен по внутренней шине оптимизировать, а то там пока сделано по принципу - мы заставили это работать и пока не трогаем

    - - - Добавлено - - -

    Цитата Сообщение от Vslav Посмотреть сообщение
    через HX поднимется RT-11
    Блин, удобная всё таки это вещь получилась - HX Через неё можно загнать RT на комп, а потом с помощью RT - хоть чёрта лысого
    Ну, в принципе, я могу через мультиконтроллер с его RK на SD запустить RT Могу. Когда допилю его до рабочего состояния не только с 1201.2018
    Кстати, забыл проверить его на 1201.01-02-03 и -04. Правда, в -134-ой прошивке вроде ошибка есть в загрузчике RK...
    Последний раз редактировалось Hunta; 28.10.2020 в 10:58.

  11. #100

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Правда, в -134-ой прошивке вроде ошибка есть в загрузчике RK...
    Она и в 055 есть, и в 279. Там в регистр rkwc заносится размер не одного, а двух секторов, в результате второй сектор затирает сам загрузочный код Пришлось исправить.

    Кстати, есть еще такой момент. У меня в системе таймер работает на частоте 50 Гц. А на какую частоту прерываний рассчитан тест speed3?

Страница 10 из 14 ПерваяПервая ... 67891011121314 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 18
    Последнее: 16.12.2015, 20:33
  2. Сборка спектрума в домашних условиях
    от Victor в разделе Разный софт
    Ответов: 4
    Последнее: 18.05.2007, 12:56

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •