User Tag List

Страница 19 из 19 ПерваяПервая ... 1516171819
Показано с 181 по 189 из 189

Тема: Сравнение скорости копирования ОЗУ разными камнями и ЭВМ

  1. #181

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

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    УКНЦ К1801ВМ2 8 мгц : 290.5-341.3 Кбайт/с - https://zx-pk.ru/threads/30199-sravn...=1#post1002545
    Нижнее значение при частоте процессора 8МГц.
    Верхнее не оч. понятно. При частоте 10МГц, у меня получалось 365 KB/s или 356 KiB/s
    А при использовании памяти без задержек, получается 766 KB/s или 748 KiB/s
    aberrant_hacker

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

  3. #182

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прогнал тесты, сделал их несколько: холостой ход (пустой цикл), копирование командой MOV (R2)+,(R3)+, чтение командой TST (R2)+, запись командой CLR (R2)+. Соответственно варианты по одной команде в цикле, 8 команд, 64 команды, 512 команд. Измерялось время в тиках сетевого таймера. В УКНЦ частота равна 50,08 Гц. В первых двух тестах цикл обеспечивался командами SOB, для третьего пришлось перейти на DEC/BNE, а для четвёртого на DEC/BEQ/JMP.

    Результаты в тиках сетевого таймера/секундах:

    Холостой ход MOV (R2)+,(R3)+ TST (R2)+ CLR (R2)+
    1 команда 809/16,15 2130/42,53 1545/30,85 1550/30,95
    8 команд 103/2,06 1398/27,92 933/18,63 1004/20,05
    64 команды 17/0,34 1320/26,36 866/17,29 941/18,79
    512 команд 6/0,12 1308/26,12 855/17,07 930/18,57

    По самому лучшему показателю скорость копирования 8 Мб составляет 313,62 кб/сек. Наиболее плохо у цикла с одной командой, который обычно и используется - 192,61 кб/сек. Уже в цикле из 8 команд ситуация значительно лучше - 293,41 кб/сек.

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

    Radon17(04.07.2023)

  4. #183

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Прогнал тесты, сделал их несколько: холостой ход (пустой цикл), копирование командой MOV (R2)+,(R3)+, чтение командой TST (R2)+, запись командой CLR (R2)+. Соответственно варианты по одной команде в цикле, 8 команд, 64 команды, 512 команд. Измерялось время в тиках сетевого таймера. В УКНЦ частота равна 50,08 Гц. В первых двух тестах цикл обеспечивался командами SOB, для третьего пришлось перейти на DEC/BNE, а для четвёртого на DEC/BEQ/JMP.

    Результаты в тиках сетевого таймера/секундах:

    Холостой ход MOV (R2)+,(R3)+ TST (R2)+ CLR (R2)+
    1 команда 809/16,15 2130/42,53 1545/30,85 1550/30,95
    8 команд 103/2,06 1398/27,92 933/18,63 1004/20,05
    64 команды 17/0,34 1320/26,36 866/17,29 941/18,79
    512 команд 6/0,12 1308/26,12 855/17,07 930/18,57

    По самому лучшему показателю скорость копирования 8 Мб составляет 313,62 кб/сек. Наиболее плохо у цикла с одной командой, который обычно и используется - 192,61 кб/сек. Уже в цикле из 8 команд ситуация значительно лучше - 293,41 кб/сек.
    Подправил данные по УКНЦ и добавил по IBM PC AT.

  5. #184

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    IBM PC AT 80286 6MHz 0ws (rep movsw): 1674.1 КБ/с
    (много movsw): 2343.8 КБ/с
    А что значит "много movsw"? Вроде REP MOVSW это одна команда, перед ней задаётся в CX количество слов, а в DS:SI источник, в ES: DI - приёмник.

  6. #185

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А что значит "много movsw"? Вроде REP MOVSW это одна команда, перед ней задаётся в CX количество слов, а в DS:SI источник, в ES: DI - приёмник.
    Если нам на УКНЦ нужно быстро скопировать килобайт, то просто тупо пишем килобайт кода, 512 инструкций MOV (R1)+,(R2)+. А на РС используем для этого 512 инструкций MOVSW, которыe, однако, только на полкило. На Амиге можно 256 MOVE.L (A1)+,(A2)+ на полкило, а вот на Z80 уже получится целых 2 кило, как минимум. А некоторые для 8080 и Z80 4 К кода в таких ситуациях пишут.

  7. #186

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Если нам на УКНЦ нужно быстро скопировать килобайт, то просто тупо пишем килобайт кода, 512 инструкций MOV (R1)+,(R2)+. А на РС используем для этого 512 инструкций MOVSW, которыe, однако, только на полкило. На Амиге можно 256 MOVE.L (A1)+,(A2)+ на полкило, а вот на Z80 уже получится целых 2 кило, как минимум. А некоторые для 8080 и Z80 4 К кода в таких ситуациях пишут.
    Неужели 512 команд MOVSW исполняются быстрее чем одна REP MOVSW при CX=512 ?

  8. #187

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Неужели 512 команд MOVSW исполняются быстрее чем одна REP MOVSW при CX=512 ?
    Вы правы, отдельные MOVSW медленнее. В теме про PDP стал думать по пидипишному. Внес коррекции, по 8088 данные были завышены, а по 80286 занижены. К сожалению, в некоторых источниках тайминги указывают неточно. Сейчас брал из фирменных мануалов.

    EDIT: для 8088 брал 9+25n для копии n слов, для 80286 - 6+4n.
    Последний раз редактировалось litwr; 07.07.2023 в 19:11.

  9. #188

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Вы правы, отдельные MOVSW медленнее. В теме про PDP стал думать по пидипишному. Внес коррекции, по 8088 данные были завышены, а по 80286 занижены. К сожалению, в некоторых источниках тайминги указывают неточно. Сейчас брал из фирменных мануалов.

    EDIT: для 8088 брал 9+25n для копии n слов, для 80286 - 6+4n.
    В официальной документации по 80286 команда MOVSW исполняется за 5 тактов, а REP MOVSW за 5+4*CX тактов. Так что REP MOVSW должна быть быстрее, когда CX>5. Интересен вариант, когда адрес нечётный. В этом случае будут читаться и записываться два байта вместо одного слова.
    А ещё вы написали, что брали тайминги из официальный мануалов, соответственно вопрос - а реальный тест был?
    Последний раз редактировалось Alex_K; 07.07.2023 в 19:26.

  10. #189

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    В официальной документации по 80286 команда MOVSW исполняется за 5 тактов, а REP MOVSW за 5+4*CX тактов. Так что REP MOVSW должна быть быстрее, когда CX>5. Интересен вариант, когда адрес нечётный. В этом случае будут читаться и записываться два байта вместо одного слова.
    А ещё вы написали, что брали тайминги из официальный мануалов, соответственно вопрос - а реальный тест был?
    Точно, 5+4n тактов, но на результы это не влияет. Но эмуляторах (pce, pcem) пробовал, для PC примерно 337 КБ/с, для PC AT - 2797 КБ/с.

Страница 19 из 19 ПерваяПервая ... 1516171819

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

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

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

Похожие темы

  1. Сравнение: AY8930/AY8910/YM2149F
    от newart в разделе Звук
    Ответов: 56
    Последнее: 02.07.2022, 10:27
  2. Как сопрягать микросхемы с разными VCC?
    от dhau в разделе Несортированное железо
    Ответов: 22
    Последнее: 08.06.2012, 16:59
  3. Скорости загрузки в ОЗУ
    от ASDT в разделе ZX Концепции
    Ответов: 56
    Последнее: 07.01.2011, 14:22

Ваши права

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