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

User Tag List

Страница 1 из 9 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 82

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

  1. #1
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    2,601
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Сравнение скорости копирования ОЗУ разными камнями и ЭВМ

    О измерениях быстродействия 1801-й и некотрых 1806 процессоров уже было написано.
    А вот практические задачи по типу как копирование массива ОЗУ ( например, 1 Кбайт ) - пока что-то не было написано.
    Прошу принять участие владельцев всех типов ЭВМ, особенно на Z80 - 3.5 мгц, 580ВМ80-2.5 мгц и некотрых др.
    Допускаются любые способы оптимизации исполняемого кода.
    ( Очень даже вероятно, что БК11М-4 мгц существенно отстанет от Z80-3.5 мгц 48 Кбайт ДОЗУ ).

    Образец текста программы для ДВК/БК , набирать с 1000 адресу :
    001000 : 012700 010000 012701 000200 012702 002000 012703 004000
    001020 : 012223 012223 012223 012223 012223 012223 012223 012223
    001040 : 077111 077020 000000
    Что делает программа ?
    Копирует 4096 раз массив 1 2 Кбайт ( длина 002000 ) с адреса 002000 в адрес 004000.
    Для особо точного измерения можно потом в адресе 001040 число 077111 заменить на 077101 и замерить время Холостого Хода ( чисто время организации цикла ).
    Результат мумрулятора ДВК-2 МС1201.01 5.3 мгц :
    33 сек, ХХ - 2.5 сек, производительность - 134.3 Кбайт/с ( 1 Кбайт = 1024 байт ).
    Последний раз редактировалось MM; 07.03.2019 в 04:13.
    Коллекционирование радиодеталей : http://collectingrd.kxk.ru/

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

  3. #2
    Master
    Регистрация
    20.06.2014
    Адрес
    г. Орск, Оренбургская обл.
    Сообщений
    522
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    Прошу принять участие владельцев всех типов ЭВМ
    ПЭВМ: АГАТ-9, ЦП: 6502/65802, частота: стандарт 1.021МГц, турбо 2.8 МАХа и 3.5 МАХа, операция: копирование блока памяти и заполнение блока памяти константой.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	TestCPU.jpg 
Просмотров:	129 
Размер:	46.1 Кб 
ID:	68721  
    Последний раз редактировалось LeoN65816; 10.04.2019 в 18:09.
    Турбо АГАТ-9/16 (ЦП 65C802, 2.8 МАХа), MSX2 Yamaha YIS503IIIR.

  4. #3
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,643
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    ( Очень даже вероятно, что БК11М-4 мгц существенно отстанет от Z80-3.5 мгц 48 Кбайт ДОЗУ ).
    конечно, отстанет, на z80 даже тупо цепочка ldi даст 16 тактов/байт ~ 213 кб/с, переброска стеком ~ 248 кб/с
    не говоря уже про ~ 325 кб/с ld-push (но там уже оптимизация не только кода, но и формата данных)
    Прихожу без разрешения, сею смерть и разрушение...

  5. #4
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    2,601
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Измерил на БК11М - 4 мгц : 52.5 сек, ХХ - 3.5 сек.
    Чистое время выполнения - 49 сек, итого скорость копирования 83.6 Кбайт/с.

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

    В калькуляторе на Н1806ВМ2-5.5 мгц 0 тактов СОЗУ - 18.5 сек, ХХ - 2.2 сек, итого чистое время - 16.3 сек.
    Быстродействие - 251.3 кбайт/с.
    Коллекционирование радиодеталей : http://collectingrd.kxk.ru/

  6. #5
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,643
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    переброска стеком ~ 248 кб/с
    ...или даже 256 кб/с, если порции не 16 байт

    Цитата Сообщение от MM Посмотреть сообщение
    Измерил на БК11М - 4 мгц : 52.5 сек, ХХ - 3.5 сек.
    Чистое время выполнения - 49 сек, итого скорость копирования 83.6 Кбайт/с.
    в три раза "самый 16-битный компьютер в мире"
    Прихожу без разрешения, сею смерть и разрушение...

  7. #6
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    2,601
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    "самый 16-битный компьютер в мире"
    Скорее самый нетрезвый комп в мире.
    Коллекционирование радиодеталей : http://collectingrd.kxk.ru/

  8. #7
    Master
    Регистрация
    20.06.2014
    Адрес
    г. Орск, Оренбургская обл.
    Сообщений
    522
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    Для особо точного измерения можно потом в адресе 001040 число 077111 заменить на 077101 и замерить время Холостого Хода ( чисто время организации цикла ).
    077101 - это NOP вместо чтения-записи что ли? Если да, то время на его выполнение все равно же тратится, поэтому данную методу вычисления "чистого времени" выполнения следует считать некорректной... Только полное время!
    Последний раз редактировалось LeoN65816; 07.03.2019 в 00:07.
    Турбо АГАТ-9/16 (ЦП 65C802, 2.8 МАХа), MSX2 Yamaha YIS503IIIR.

  9. #8
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    2,601
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от LeoN65816 Посмотреть сообщение
    077101
    Это SOB - вычитание 1 из регистра ( R1 ) и ветвление назад на ( 1 ) слов.
    *
    012700 010000 - занести в R0 число 010000 ( 4096 - дес. )
    012701 000200 - занести в R1 число 000200 ( 128 - дес. )
    012702 002000 - занести в R2 число 002000 ( 1024 дес. )
    012703 004000 - занести в R3 число 004000 ( 2048 дес. )
    012223 - переслать из адреса, содержащегося в R2 в адрес, содержащийся в R3. После команды увеличить R2 на 2 и R3 на 2 ( автоинкремент ).
    077111 - вычесть из R1 единицу и в случае, если R1 не =0, перейти на 11 ( 8 ) слов назад, к адресу 1020
    077020 - вычесть из R0 единицу и в случае, если R0 не =0, перейти на 20 ( 8 ) слов назад, к адресу 1004
    Коллекционирование радиодеталей : http://collectingrd.kxk.ru/

  10. #9
    Master
    Регистрация
    20.06.2014
    Адрес
    г. Орск, Оренбургская обл.
    Сообщений
    522
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    MM, ясно, спасибо. Однако:
    1. С адреса 001020 восемь словных пересылок - итого 16 байт, значит для килобайта пересыла нужно грузить в R1 не 128, а 64 итерации (внутренний цикл).
    2. Даже с заменой 077111 на 077101 эти восемь словных пересылок все равно выполняются 4096 раз (внешний цикл). То есть это никак не холостой ход, и метода все-таки некорректна...
    3. Раз это "практическая задача по типу как копирование массива ОЗУ", то и измерять время надо вместе с исполнением цикла. И не важно какой он (цикл) - обычный или развёрнутый (ты же сам указал "допускаются любые способы оптимизации исполняемого кода"), то есть полное время.

    За понимание!
    Последний раз редактировалось LeoN65816; 07.03.2019 в 01:01.
    Турбо АГАТ-9/16 (ЦП 65C802, 2.8 МАХа), MSX2 Yamaha YIS503IIIR.

  11. #10
    Moderator Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    2,601
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от LeoN65816 Посмотреть сообщение
    для килобайта пересыла нужно грузить в R1 не 128, а 64 итерации (внутренний цикл).
    Ну да, извиняюсь
    Значит результат удваиваем !
    БК11М - 83.6 Кбайт/с х 2 = 167.2
    Калькулятор -251.3 кбайт/с х 2 = 502.6 Кбайт/с

    Теперь больше похоже на правду...

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

    Цитата Сообщение от LeoN65816 Посмотреть сообщение
    восемь словных пересылок все равно выполняются 4096 раз (внешний цикл)
    При смещении в команде SOB "1" цикл идет сам на себя, и др. команд не выполняется - 77101 чисто холостой цикл.
    Коллекционирование радиодеталей : http://collectingrd.kxk.ru/

Страница 1 из 9 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Сравнение: AY8930/AY8910/YM2149F
    от newart в разделе Звук
    Ответов: 39
    Последнее: 12.10.2018, 08:59
  2. Ответов: 22
    Последнее: 08.06.2012, 15:59
  3. Скорости загрузки в ОЗУ
    от ASDT в разделе ZX Концепции
    Ответов: 56
    Последнее: 07.01.2011, 15:22

Ваши права

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