Важная информация

User Tag List

Страница 2 из 41 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 403

Тема: Дискуссии вокруг УКНЦ и прочее.

  1. #11
    Activist Аватар для BlaireCas
    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    438
    Спасибо Благодарностей отдано 
    111
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    125 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Посмотреть сообщение
    Интересно бы было ещё попробовать на ПП уменьшить число SOB вышеописанным образом ...
    Любопытна была бы кратность ускорения.
    Итого: Во всех тестах копируется 1мб (миллион байт) по словам. В ЦП копируется буфер 10кб -> 10кб и зацикливается 100 раз. В ПП копируется буфер 5кб -> 5кб и зацикливается 200 раз. Не думаю что тут сильно большое влияние окажет. Все цифры замера это количество тиков прерывания 50Гц. Для перевода в кб/с - 50000/цифра = кб/с

    ЦП:
    1) стандартный mov sob = 250 (200кб/с)
    2) замена sob на dec bne = 279 (sob лучше)
    3) разворот цикла, 10 раз подряд mov и только затем sob = 170 (294 кб/с, ускорение почти в полтора раза)
    (попробовал развернуть цикл на 50mov-ов - получилось 306кб/с, ну думаю дальше не надо уже)

    ПП:
    1) mov sob = 435 (114кб/с)
    2) разворот цикла, 10 раз mov и затем sob = 290 (172кб/с, ускорение в полтора раза, аналогично ЦП вообщем ускорение)

    После прогрева УКНЦ результаты ухудшаются примерно на 1-2% поэтому тут циферки все "приблизительные".

    Для эмулятора UKNCBTL 2022-окт билд (использовался лучший вариант с 10 раз mov):
    ЦП: 190 (263кб/с немного медленнее реала)
    ПП: 245 (204кб/с немного быстрее реала)

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

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А в ПП доступ к памяти 8-битный, потому что слово контроллером считывается за два приёма.
    Ах вон видимо где собака закопана. А то думаю "чего он ПП так тормозно работает".

    ---
    Еще один момент, я тут посмотрел на замеры скорости на БК-0010-01: mov (R0)+,(R1)+ , замерял Manwe ему можно верить. Так у него получилось 44 такта процессора.
    У УКНЦ сейчас начал замерять - у меня 51.52 такта.
    У Alex_K было 50 тактов (быстрее машинка либо кварцы либо я не знаю, у меня СЭМЗ, у него была Квант).
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  2. #12
    Activist Аватар для randomizer
    Регистрация
    05.04.2016
    Адрес
    г. Мончегорск, Мурманская обл.
    Сообщений
    411
    Спасибо Благодарностей отдано 
    94
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня получалось 364 464 байт/сек с кодом ниже частотой ЦП 10МГц
    Код:
            MOV #200.,R0
        1$: CALL CpLine
            SOB R0,1$
            RETURN
    
    CpLine:
           .REPT 40
            MOV (R2)+,(R1)+
           .ENDR
            RETURN
    366 132 байт/сек если вынести стек в SRAM
    392 156 байт/сек если вынести код и стек в SRAM
    469 208 байт/сек копирование SRAM -> DRAM
    765 550 байт/сек копирование SRAM -> SRAM
    aberrant_hacker

  3. #13
    Activist Аватар для BlaireCas
    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    438
    Спасибо Благодарностей отдано 
    111
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    125 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от randomizer Посмотреть сообщение
    У меня получалось 364 464 байт/сек
    Это УКНЦ? А можно как-бы весь код? Слишком уж быстро.
    (может конечно что-то модифицировано, но даже если брать 50 тактов (у меня допустим еще медленнее, 51.5) на mov (r0)+, (r1)+ и произвести 182к операции для копирования 364к байт - это будет 9.1м тактов что явно превышает тактовую частоту процессора для копирования в 1сек)
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  4. #14
    Activist Аватар для randomizer
    Регистрация
    05.04.2016
    Адрес
    г. Мончегорск, Мурманская обл.
    Сообщений
    411
    Спасибо Благодарностей отдано 
    94
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    https://github.com/aberranthacker/so.../main.mac#L305
    Код делает программный вертикальный скрол изображения 320x200 2 бита на пиксель, 16 000 байт
    Замерялось сколько произошло прерываний по обратному ходу за время отрисовки 200 экранов.
    439 в первом случае, и вышло 364 464 байт/сек (+/-)

    Частота ЦП на 20% выше стандартной, и скорость получается примерно на 20% выше.

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

    Тут ещё замеры. С секундомером в руках.
    aberrant_hacker

  5. #15
    Activist Аватар для BlaireCas
    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    438
    Спасибо Благодарностей отдано 
    111
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    125 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от randomizer Посмотреть сообщение
    Частота ЦП на 20% выше стандартной
    "Ах вон оно че, Михалыч" (с) Подумал что тут магия какая-то.

    (мой код для замера в ЦП скажем так попроще)

    Ну он тоже не прям мелкий

    Код:
            .mcall	.exit, .ttyout
    	.list	meb
    
    VSYOLD:	.word	0	; old vsync int
    VSYCNT:	.word	0	; vsync count
    
    ; vsync interrupt
    VSYNI:	inc	VSYCNT
    	rti
    	
    ; //////////////////////////////////////////////////////////////////////////////
    ; START
    ; //////////////////////////////////////////////////////////////////////////////
    
    START:	; new vsync interrupt
    	mov	@#100, VSYOLD
    	mov	#VSYNI, @#100
    
            mov	#100., R4
    	clr	VSYCNT
    	
    10$:	mov	#BUF1, R0
    	mov	#BUF2, R1
    	mov	#100., R3
    20$:	.rept	50.
    	mov	(R0)+, (R1)+
    	.endr
    	sob	R3, 20$
    	sob	R4, 10$
    
    	; restore vsync int
    	mov	VSYOLD, @#100
    
    	; output results
    	mov	VSYCNT, R0
    	call	P00000
    
    	
    	.exit
    
    ; //////////////////////////////////////////////////////////////////////////////
    
    P00000:	mov	#5, R3
    PrintP:	mov	#Pri000+5, R5
    1$:	mov	R0, R1
    	clr	R0
    	div	#10., R0
    	add	#'0, R1
    	movb	R1, -(R5)
    	sob	R3, 1$
    PriOut:	movb	(R5)+, R0
    	beq	3$
    	.ttyout
    	br	PriOut
    3$:	return
    Pri000:	.ASCIZ	/00000/
    	.EVEN
    	
    BUF1:	.BLKW	5000.
    BUF2:	.BLKW	5000.
    
    .END	START
    [свернуть]
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  6. #16
    Master
    Регистрация
    13.07.2018
    Адрес
    г. Переславль-Залесский
    Сообщений
    691
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    44
    Поблагодарили
    40 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    результаты интересные
    с другой стороны подтверждается теория.
    ПП ЦП в УКНЦ хилый помощник
    Худо-бедно только ввод-вывод...
    и то могли бы для ЦП сэмулировать DU, например...
    А то MZ только на УКНЦ...

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

  8. #17
    Activist Аватар для BlaireCas
    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    438
    Спасибо Благодарностей отдано 
    111
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    125 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Посмотреть сообщение
    ПП ЦП в УКНЦ хилый помощник
    Ну как Alex_K подсказал - там чтение идет по байтам в ПП. Что-ж..
    Да оно и на практике подтверждалось что там тормоза. Все-же он не основной проц. Поэтому вот всякие возгласы "да там два процессора" - это та еще ерундень, с ним и работать непросто и еще и тормозит на памяти.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  9. #18
    Master
    Регистрация
    13.07.2018
    Адрес
    г. Переславль-Залесский
    Сообщений
    691
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    44
    Поблагодарили
    40 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    8 дорожек всего "сэкономили" и удушили ПП

  10. #19
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    607
    Поблагодарили
    399 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Посмотреть сообщение
    ПП ЦП в УКНЦ хилый помощник
    Худо-бедно только ввод-вывод...
    Так ПП и делался как "интеллектуальный" контроллер внешних устройств. Скажите спасибо разработчикам, что сделали возможность грузить туда свой код.

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

    Цитата Сообщение от Alex Посмотреть сообщение
    8 дорожек всего "сэкономили" и удушили ПП
    Удушить-то удушили, а где вы лишние ноги у БМК найдёте, там они и так почти все используются и лишних восьми ног не было бы. ОЗУ в диапазоне адресов 0100000-0177777 (040000-077777 через РА) было бы доступно только через РА/РД, там хоть можно было бы свои данные хранить.

  11. #20
    Activist Аватар для randomizer
    Регистрация
    05.04.2016
    Адрес
    г. Мончегорск, Мурманская обл.
    Сообщений
    411
    Спасибо Благодарностей отдано 
    94
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Посмотреть сообщение
    Худо-бедно только ввод-вывод...
    ПП по умолчанию исполняет код из ПЗУ, а у него 16 битная шина.
    Например при выводе символов на экран, запись данных идёт через специальный регистр, из которого уже БМК разносит их по трём банкам памяти.
    Не чтобы худо бедно.

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

    Цитата Сообщение от Alex Посмотреть сообщение
    8 дорожек всего "сэкономили" и удушили ПП
    У УКНЦ три восмибитных банка памяти по 64К.
    К ЦП подцеплено два из них, по чётным адресам один, по нечётным второй. Получаем 16 бит.
    А у ПП один банк. 8 бит.
    Так что если и сэкономили, то 8 микросхем памяти)
    aberrant_hacker

Страница 2 из 41 ПерваяПервая 123456 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Материнки от УКНЦ и прочее.
    от tntpro в разделе Барахолка (архив)
    Ответов: 31
    Последнее: 13.06.2011, 23:21
  2. SDCC вокруг да около
    от andrews в разделе Программирование
    Ответов: 8
    Последнее: 26.03.2008, 08:16

Ваши права

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