Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Старый софт »   Бенчмарки I/O портов и записи в видеопамять
RSS

Бенчмарки I/O портов и записи в видеопамять

<<Назад  Вперед>> Страницы: 1 *
Печать
 
wbcbz7
Full Member


Откуда: omsk || nsk
Всего сообщений: 230
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 фев. 2014
спасибо за утилиты, особенно за IOSpeed (не припомню бенчей для портов ввода-вывода)
По поводу бенчей видеопамяти - я недавно писал VIDBENCH, он тестирует и VESA LFB-режимы + чтение/запись из/в видеопамять (правда только 8/16/32 бит, было лень впиливать FPU/MMX пересылки, плюс замеры идут через таймер RTC), надо как-нибудь сесть и доделать :)
Mickle
Newbie


Откуда: г. Рыбинск
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 авг. 2015
Отличная программа VIDBENCH! Поддержка LFB может особенно пригодиться, к примеру, при настройке write combining / MTRR MSR на AMD K6-х.

Таймеры, особенно на ретрокомпьютерах - та ещё головная боль. TSC в допентиумную эру отсутствует. 2-й канал 8254 очень короткий, максимум 0,11 сек для DOS и 0,055 сек для Windows VDM/NTVDM виртуальных машин. RTC перепрограммировать на ускоренный счёт с прерываниями - дело потенциально опасное для BIOS функций. То же можно сказать и про нулевой канал 8254. В итоге лично я пришёл к выводу, что на 386+ (и даже 286+) компах всё же удобнее использовать нулевой системный канал таймера без перепрограммирования и перехвата прерывания, т.е. as is. Текущее время считывается квазиатомарно: сначала BIOS счётчик тиков, затем защёлкивается счётчик 8254 и после проверяется условие переполнения, которое может произойти из-за не атомарности операций чтения. В итоге получаем стабильный длинный счётчик с дискретой около 1 мкс и гарантией монотонности хоть на AT 286, хоть на пентиуме. Единственное, что может нарушить монотонность хода, это SMI. Включенная legacy поддержка мышей, клавиатур, USB накопителей гарантированно будет давать случайные отрицательные приращения текущего времени. На платформах Cyrix MediaGX/NS Geode с их VSA архитектурой добавится ещё куча неотключаемых SMI источников.

var
FPUStore: double;
const
i8254Time:double = 8.3809581278950972233047626470753e-7;

function GetSystemTime:double; code; {use i8254}
asm
xor eax,eax
mov ebx,dword [46Ch]
out 43h,al
mov edx,dword [46Ch]
in al,40h
mov ah,al
in al,40h
xchg al,ah
cmp ebx,edx
je @SkipCorrection
or ax,ax
js @SkipCorrection
mov edx,ebx
@SkipCorrection:
not ax
mov word [FPUStore],ax
mov dword [FPUStore+2],edx
mov word [FPUStore+6],0
fild qword [FPUStore]
fmul qword [i8254Time]
ret
end;
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
IOSpeed
VIDSpeed
- обе программы требуют сопроцессора (
Mickle
Newbie


Откуда: г. Рыбинск
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 авг. 2015
Виноват. Привык, что во всех моих ПК, начиная с СМ 1810, были сопроцессоры.
Перекомпилировал и перезалил в шапку. Протестировать пока не на чем.
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
Хорошо, позже проверю сопроцессор :)

COM-порт - я не особо разобрался, какие-то нолики. (может кабель нужно подключить "сам в себя" ?)

VID - работает только с эмулятором 386 :) .. а так, зависает (проц 286, синий экран и завис). Получится ли убрать 32-битные инструкции? Или это необходимо для подсчета DWORD ?
Mickle
Newbie


Откуда: г. Рыбинск
Всего сообщений: 30
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 авг. 2015
IOSpeed измеряет скорость чтения/записи в пространстве портов ввода-вывода, но не передачи через интерфейсы. COM, LPT и пр. здесь не при чём :frown:
Как только запущу 286, проги переделаю под него.
<<Назад  Вперед>> Страницы: 1 *
Печать
Полигон-2 »   Старый софт »   Бенчмарки I/O портов и записи в видеопамять
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS