User Tag List

Показано с 1 по 1 из 1

Тема: [Sprinter] Timer V.2

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию [Sprinter] Timer V.2

    Приветствую. поскольку профильной ветки Спринтера так и не создали, запихаю. это сюда...
    Когда-то давно, Иван (он же Imak, он же Winglion) создал утилиту для замера "производительности" в основной памяти и быстрой памяти (исполнение разных команд).
    По прошествии длительного времени я считал (наверное многие так считали), что тест довольно точный и полагался на его результаты. Однако, в какой-то момент я усомнился в "чистоте" результатов. Начал смотреть во внутренности timer.exe и обнаружил, что тесты составлены с ошибками.
    1. в тестах в основных циклах (где тестируется непосредственно сами команды) допущены лишние (мусорные) команды.
    2. в тесте Push/Pop допущено, что обе команды внутри одного цикла. С моей точки зрения это не верно, ведь команды выполняют разные функции и тестировать их нужно по отдельности.
    3. так же в этом тесте (push/pop) были дописаны команды, которым точно не место в цикле тестирования.
    Я понимаю, что команды были вписаны для выравнивания по тактам, однако, если читать комментарии, в той части где он ведёт подсчёт тактов, то можно заметить, что часть команд не подсчитаны. Когда я начал сам всё подсчитывать, то и сам ошибся несколько раз в подсчётах. чтобы подсчёт был более точным, я использовал Visual Studio Code с плагином для подсчёта тактов для мнемоники Z80. Как следствие - более точный подсчёт всех тактов в каждом тесте. По итогу, ни одна цифра не сошлась с комментариями автора, все тесты имеют завышение по затраченным тактам. Посмотрев на это всё и проведя несколько тестов я понял, что так дальше жить нельзя и надо что-то менять. Ну, т.е. я начал пилить свой тест, но на базе оригинала.
    От оригинала я взял первые 2 процедуры. Это процедура контроля времени и самый первый тест для Inc/Dec (и то с правками). Так же в оригинале CMOS_TEST вызывается дважды для того, чтобы повысить точность замера, на тот случай, если первый вход попал на самый конец секундного "тика". Я этот момент доработал, отфильтровав текущую секунду. Тест не начинается. пока она не закончится. Ну и далее, все оригинальные тесты были сильно переписаны. В частности, из основного цикла убраны все мусорные команды (кроме команд организации цикла), все тесты полностью подогнаны под 10000 тактов (за секунду). Добавил так же ещё 2 тестируемые команды. На основе модификации от Shaos`а добавил поддержку для памяти ISA. при этом, в отличии от его мода, мой может работать с обоими слотами. т.е. если в оба слота вставить что-то с доступом к памяти через ISA, то оба слота будут обнаружены и протестированы. Остаётся место ещё под 1 команду. Далее, когда-нибудь (возможно), я добавлю тест производительности ldir, ldi и акселератора (в мегабитах или килобитах).
    Во вложении архив с timerv2.exe и исходниками к нему.

    ЗЫ. Чуть не забыл. в утилите были использованы части нового Fdisk от Дмитрия aka Hard/WCG. Спасибо за идею цветной печати! Хотя сама печаталка (printf) была выбрана из Solid C и модифицирована.

    было (timer v.1)

    [свернуть]

    стало (timer v.2)

    [свернуть]
    Вложения Вложения
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

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

    Anubis_OD(26.01.2021)

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

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

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

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

Похожие темы

  1. Sprinter
    от flydream в разделе Форум
    Ответов: 2
    Последнее: 10.01.2017, 19:08
  2. Sprinter
    от lvd в разделе Sprinter
    Ответов: 42
    Последнее: 12.07.2015, 20:18
  3. sprinter 2002s
    от zorel в разделе Sprinter
    Ответов: 5
    Последнее: 19.07.2012, 22:56
  4. Sprinter resurrection
    от WingLion в разделе Sprinter
    Ответов: 52
    Последнее: 10.01.2009, 00:32

Ваши права

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