User Tag List

Страница 136 из 157 ПерваяПервая ... 132133134135136137138139140 ... ПоследняяПоследняя
Показано с 1,351 по 1,360 из 1564

Тема: Программирование на УКНЦ как?

  1. #1351

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,142
    Спасибо Благодарностей получено 
    1,473
    Поблагодарили
    525 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что быстрее - очевидно, надо проверять на реале.
    В UKNCBTL для MUL с регистрами стоит задержка 96. тактов, для ASL с регистром 11. тактов, ADD с регистрами 11. тактов (см. emubase/Processor.cpp).
    Итого получается вариант MUL = 96., вариант со сдвигами = 132. такта, вариант Hunta = 88. тактов.

    А так вообще ещё можно применить команды ASH/ASHC для быстрого сдвига.

    Напомню ещё про тему https://zx-pk.ru/threads/14702-rasch...ry-pdp-11.html
    и страничку http://www.emuverse.ru/wiki/%D0%A3%D...B0%D0%BD%D0%B4
    Последний раз редактировалось nzeemin; 01.06.2020 в 12:22.

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

    hobot(01.06.2020), Oleg N. Cher(01.06.2020), S_V_B(01.06.2020)

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

  3. #1352

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    А так вообще ещё можно применить команды ASH/ASHC для быстрого сдвига.
    ASH =41 если использовать две то медленнее будет, если одну то то на то и выйдет.

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

    Цитата Сообщение от nzeemin Посмотреть сообщение
    88. тактов.
    курочка по зернышку
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  4. #1353

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

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    вариант Hunta
    Ну, строго говоря - это не мой вариант, моё только объяснение

    Как то так. Надо только уточнить поведение ASH со всякими C битами (не помню точно, но вроде не должно влиять)
    Код:
    	MOV	R3,R2 ; r3=x r2=x
    
    	ASL	R3 ; r3=2x
    	ASL	R3 ; r3=4x
    
    	ADD	R2, R3 ; r3=5x
    
    	ASH	#4, R3 ; r3=80x

  5. #1354

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    При прочих равных этот вариант наверное предпочтительней будет - его и оставим
    Спасибо за помощь
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  6. #1355

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

    По умолчанию

    Ещё раз - надо проверить, как реагируют ASL и ASH на установленный бит С - насколько я помню - никак, но это из тех вещей, который я периодически проверяю - ибо не каждый день требуются ROR|ROL|ASR|ASL|ASH|ASHC

    Этот пользователь поблагодарил Hunta за это полезное сообщение:

    S_V_B(01.06.2020)

  7. #1356

    Регистрация
    05.04.2016
    Адрес
    г. Мончегорск, Мурманская обл.
    Сообщений
    414
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    68
    Поблагодарили
    45 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Как то так. Надо только уточнить поведение ASH со всякими C битами (не помню точно, но вроде не должно влиять)
    Ради интереса сравнил время выполнения ASH (Rs), Rd с эвалентным по количеству ASL Rd
    При тактовой частоте процессора 10MHz(лень мне кварц ради теста ставить старый))), выравнивание по скорости происходит на 5 сдвигах.
    Т.е. 4 раза ASL быстрее(на 20%) чем один ASH сдвигающий на 4 влево.
    На пяти разница незначительна, а на шести ASH уже выигрывает.

    Ну и сдвиг на 10 командой ASH (Rs), Rs, в два раза медленней чем сдвиг ею же на один разряд.
    И сдвиг на 30, в 3.2 раза медленней чем сдвиг на один разряд.

    Да, думаю что , при частоте процессора 8MHz, выравние по скорости произойдет на 6-ти сдвигах. 8MHz увеличат время выполнения ASH, но не повлияют на скорость выборки из памяти.
    Последний раз редактировалось randomizer; 10.06.2020 в 19:01.

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

    Manwe(11.06.2020), nzeemin(10.06.2020), Oleg N. Cher(10.06.2020)

  8. #1357

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это было понятно и на вскидку.. последняя версия оптимальна по размеру одинакова по скорости..

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

    Было бы памяти побольше можно было бы делать по две процедуры для сдвига (больших) спрайтов.. глядишь чего и выиграли бы.
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  9. #1358

    Регистрация
    22.11.2009
    Адрес
    Москва
    Сообщений
    1,699
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    195
    Поблагодарили
    127 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обнаружил занятный язык Cowgol -- http://cowlark.com/cowgol/ и пробую сделать pdp-11 backend для него. Будет интересно, если заработает :-)

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

    hobot(14.06.2020), Oleg N. Cher(14.06.2020)

  10. #1359

    Регистрация
    22.11.2009
    Адрес
    Москва
    Сообщений
    1,699
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    195
    Поблагодарили
    127 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что-то получается. Если так пойдет и дальше, продолжим в ветке про кросс-системы :-)

    Код:
    var s: [uint8] := "ello, world!";
    var c: uint8 := 'H';
    
     @ASm ".ttyout", c;
     @ASm ".print", s;
    ->

    Код:
            .mcall  .exit, .print, .ttyout
            .radix  10
    
    start: 
            call    f41
    exit:
            .exit
            .even
    c28xc0:
            .byte   101,108,108,111,44,32,119,111,114,108,100,33,0
    
            ; __main workspace at ws+0 length ws+3
            .even
    f41:
            MOV     #c28xc0, R4
            MOV     R4, ws+0
            MOVB    #+72, r4
            MOVB    r4, ws+2
            .ttyout ws+2 
            .print ws+0 
    endf41:
            RTS     PC
    
            .even
    ws:     .blkb   3
            .end    start

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

    hobot(17.06.2020), Oleg N. Cher(17.06.2020)

  11. #1360

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shattered Посмотреть сообщение
    Обнаружил занятный язык Cowgol -- http://cowlark.com/cowgol/ и пробую сделать pdp-11 backend для него. Будет интересно, если заработает :-)
    На БК 0010 было бы интересно увидеть такое.
    manwe.pdp-11.ru

Страница 136 из 157 ПерваяПервая ... 132133134135136137138139140 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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