PDA

Просмотр полной версии : Сравнительный тест производительности



Пётр
15.05.2006, 21:36
Под проект наладонного ZX-Spectrum потребовалось
написать сравнительный тест производительности процессора
для сравнения с клонами и оригинальным, если попадется.
Есть программы тестирования производительности процессора для ZX-Spectrum? :v2_cheer:

CHRV
15.05.2006, 22:13
Под проект наладонного ZX-Spectrum потребовалось
написать сравнительный тест производительности процессора
для сравнения с клонами и оригинальным, если попадется.
Есть программы тестирования производительности процессора для ZX-Spectrum? :v2_cheer:
Чето непонятно что ты под тестом производительности понимаешь? Ну ка распиши подробней!

moroz1999
16.05.2006, 08:06
что-то было в приложении к тому же журналу, где и демоверсия citadel была. sorry, подробнее не помню.

spensor
16.05.2006, 10:01
к тому же журналу, где и демоверсия citadel была
Citadel была в ZX-Power#2, но насчет теста, чет не помню

CityAceE
16.05.2006, 10:18
Для сравнения "производительности" разных Спектрумов я пользовался тестом, встроенным в утилиту FUT (Format Utility).

CHRV
16.05.2006, 11:23
Для сравнения "производительности" разных Спектрумов я пользовался тестом, встроенным в утилиту FUT (Format Utility).
КТо нить мне может обьяснить что подразумевается под производительностью?
- частота работы процессора в турбо/не турбо (является параметром производительности);
- количество тактов в турбо/не турбо (не является параметром производительности);
- стратегия выставления WAIT при обращении к памяти в турбо (является параметром производительности);
- работа с подсистемами - дисковод например (является параметром производительности);
- определение типа используемого процессора Z80, Z84, Т34ВМ1, 1858ВМ1-3 (не является параметром производительности).

geners
16.05.2006, 15:38
наверно человек имеет виду измерение производительности всего компа в целом в "тараканах" (как я их называю) те в условных единица :) , и здорово порадуется елши у его детища будет на 3 ничего незначащих У.Е. больше

Пётр
17.05.2006, 00:29
наверно человек имеет виду измерение производительности всего компа в целом в "тараканах" (как я их называю) те в условных единица :) , и здорово порадуется елши у его детища будет на 3 ничего незначащих У.Е. больше

Почти так, только мне нужно сравнить разные режимы в изделии. Турбо, т.е. полную загрузку на 20-25МГц и посмотреть объективно на методы позволяющие добиться прироста производительности посредством кеширования и пр. Ну и естественно, сравнить с другими клонами. Естественно я порадуюсь, если производительность будет приростать от введенных изменений в схему (для некоторых от 10-20%).

CHRV
17.05.2006, 12:06
Почти так, только мне нужно сравнить разные режимы в изделии. Турбо, т.е. полную загрузку на 20-25МГц и посмотреть объективно на методы позволяющие добиться прироста производительности посредством кеширования и пр. Ну и естественно, сравнить с другими клонами. Естественно я порадуюсь, если производительность будет приростать от введенных изменений в схему (для некоторых от 10-20%).
Опять же все как то размазано у тебя и неопределено.
НАпиши что именно ты хочешь тестировать, я же тебе даже подсказал - перечисляя некоторые параметры. Когда напишешь, наверняка народ подскажет совершенно конкретные проги.

Производительность - это совокупность различных параметров, а не некая величина сама по себе.

Пётр
17.05.2006, 23:31
Опять же все как то размазано у тебя и неопределено.
НАпиши что именно ты хочешь тестировать, я же тебе даже подсказал - перечисляя некоторые параметры. Когда напишешь, наверняка народ подскажет совершенно конкретные проги.

Производительность - это совокупность различных параметров, а не некая величина сама по себе.
Сейчас мне нужно померить мипс'ы или просто кол-во операций в секунду с "эталонным" кодом цикла в цикле. Запусить это на своем девайсе и пуская разные режимы оценить в реальности эффективность примененных методов кеширования и пр. По идее надо вызывать процедуру по прерыванию. Сколько намеряет выводить в угол экрана
или в область атрибутов. А еще по идее, можно приблизительно прикинуть тактовую частоту процессора или точнее насколько используется процессор в процентах при н-ной тактовой и еще точнее чему соответствует.
Какие еще бывают вариации, мне оценить сложно. В том и состоял вопрос.

Пётр
19.05.2006, 19:24
Да, сложный вопрос я задал.. :v2_yahoo:

jerri
20.05.2006, 09:27
не сложный но малопонятный...
скажем 3dmark понятно что делает и для чего, а что ты хочешь непонятно...

почти все клоны и их особенности описаны...
т.е оригинал 68000 тактов в инте
пентагон 71000 с чемто

если тебе нужна мерилка тактов - то ее написать от нефиг нафиг, а если чтото другое - опиши подробнее

captain cobalt
20.05.2006, 11:48
Каждая задача имеет простое, но неправильное решение.
Можно было ткнуть пальцем на какую-нибудь измерялку (например ZX_BENCH из ZX-Format#2) и успокоится.

Аксиома первая:
ZX-Spectrum - это аппаратная система реального времени, производительность которой по определению равна [email protected].

Важно не чтобы было быстро, а чтобы не было тормозов. То есть производительность ни при каких обстоятельствах не должна уменьшаться ниже означенной.

Измерять нужно не производительность а тормоза. Чтобы грамотно измерить тормоза (и определить находяться ли они в допустимых рамках) нужно знать их источник, а для этого надо знать аппаратную архитектуру измеряемой машины. Поэтому - архитектуру в студию. Популярные примеры тормозов: видеопамять, округление команд до чётного такта, контроллер клавиатуры.

Дважды было упомянуто "кэширование" а также некоторый "эталонный цикл". Если имеется ввиду общепринятое значение и цикл влезает в кэш, то результат измерения смысла не имеет. Кэширование используется в машинах где процессор - быстрый, а память медленная. В Speccy всё наоборот. А поскольку наоборот, то соответственным образом оптимизируется код, и как раз в наиболее критичных случаях кэширование может оказаться бессмысленным.

Практические рекомендации:

Необходимое (но недостаточное) условие отсутствия тормозов: не должны тормозить (и желательно правильно отображаться) фреймовые скроллы, мультиколоры и бордюрные эффекты, "тяжёлые" demo.

Померять "практическую" производительность можно на: ассемблировании, компрессии, decrunching, искусственном интеллекте в стратегических играх.

Программные продукты выбрать по вкусу, желательно популярные.

Пётр
20.05.2006, 12:05
не сложный но малопонятный...
скажем 3dmark понятно что делает и для чего, а что ты хочешь непонятно...

почти все клоны и их особенности описаны...
т.е оригинал 68000 тактов в инте
пентагон 71000 с чемто

если тебе нужна мерилка тактов - то ее написать от нефиг нафиг, а если чтото другое - опиши подробнее
Так тактов-то у меня больше, сильно больше. Мерять же мне нужно в двух случаях. Первый когда система в простое и работает только мерялка, та самая элементарщина. Второй случай, когда прога активируется прерыванием INT и меряет что осталось после выполнения заданной программы. Фирштейн? Да, есть третье, когда тот же эксперемент проводится на другом спектруме для сравнения..

Пётр
20.05.2006, 12:48
Каждая задача имеет простое, но неправильное решение.
Можно было ткнуть пальцем на какую-нибудь измерялку (например ZX_BENCH из ZX-Format#2) и успокоится. Это уже ближе к искомому ответу.


Аксиома первая:
ZX-Spectrum - это аппаратная система реального времени, производительность которой по определению равна [email protected]. В моей схеме задействовано два процессора, второй забудим, это контроллер. Первый же, это класический z80 на 20(25)MZh такты которого регулируются двумя способами, а именно изменение тактовой частоты и скважностью. Последнее тоже можно забыть, т.к. нужно проводить сравнительный тест..


Важно не чтобы было быстро, а чтобы не было тормозов. То есть производительность ни при каких обстоятельствах не должна уменьшаться ниже означенной. А если будет больше? Много больше.


Измерять нужно не производительность а тормоза. Чтобы грамотно измерить тормоза (и определить находяться ли они в допустимых рамках) нужно знать их источник, а для этого надо знать аппаратную архитектуру измеряемой машины. Поэтому - архитектуру в студию. Популярные примеры тормозов: видеопамять, округление команд до чётного такта, контроллер клавиатуры. Конфигурация Z80=20-25MZh/128 и более/HDD/FDD виртуальный/AY/LCD.
Архитектура в стадии создания и ближе к отладке. Все подробности в "Железо" тема "Наладонник". (http://zx.pk.ru/showthread.php?t=3115)


Дважды было упомянуто "кэширование" а также некоторый "эталонный цикл". Если имеется ввиду общепринятое значение и цикл влезает в кэш, то результат измерения смысла не имеет. Кэширование используется в машинах где процессор - быстрый, а память медленная. В Speccy всё наоборот. А поскольку наоборот, то соответственным образом оптимизируется код, и как раз в наиболее критичных случаях кэширование может оказаться бессмысленным. ..У меня кеширование участка видеопамяти, т.е. остановки процессора для работы ULA не происходит! Хотелось бы знать, насколько эфективно используется этот режим, как и всё остальное, т.е. тест нужен.


Практические рекомендации:

Необходимое (но недостаточное) условие отсутствия тормозов: не должны тормозить (и желательно правильно отображаться) фреймовые скроллы, мультиколоры и бордюрные эффекты, "тяжёлые" demo.

Померять "практическую" производительность можно на: ассемблировании, компрессии, decrunching, искусственном интеллекте в стратегических играх.

Программные продукты выбрать по вкусу, желательно популярные. Пока нет теста, трудно о чем-то говорить.

captain cobalt
20.05.2006, 20:32
А если будет больше? Много больше. Это скорее плохо чем хорошо.

..У меня кеширование участка видеопамяти, т.е. остановки процессора для работы ULA не происходит! Как происходит торможение?
Всегда?
Или только при столкновении на определённых участках адресов, тогда каких?
Например, на 128 машинах тормозят четыре из восьми 16К страниц.

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

Некоторые тесты упоминались тут (http://zx.pk.ru/showthread.php?t=1831).

Пётр
21.05.2006, 23:50
>А если будет больше? Много больше.
Это скорее плохо чем хорошо. Чем же? А если потребуется выполнять прикладные прожки, особенно современные.


> ..У меня кеширование участка видеопамяти, т.е. остановки процессора
> для работы ULA не происходит!
Как происходит торможение? Никак, а если имеется ввиду режим совместимости, то тормозится скважностью или частотой по выбору. Где скважность, там нет проблем с доступом к памяти для ULA. Запись в кеш-память происходит только в момент обращения к участкам памяти экранов. Да, в другие моменты кеш не доступен z80, совсем.


Всегда?
Или только при столкновении на определённых участках адресов, тогда каких?
Например, на 128 машинах тормозят четыре из восьми 16К страниц. Торможения нет.


>Пока нет теста, трудно о чем-то говорить.
Не существует никаких "стандартных" тестов.
Каждый железнячник сам должен писать тесты для проверки специфических особенностей своего аппаратного решения.
Некоторые тесты упоминались тут. Спасибо, накачал, посмотрю.
Да, на тему того, что чуть выше.. я железячник, которому проще, намного проше подключить тактовый генератор через логический элемент "и" до или после прихода INT и померять количество тактов частотомером.. можно мерять по тактам, можно мерять по циклам..

ZEK
03.06.2006, 17:39
Да, на тему того, что чуть выше.. я железячник, которому проще, намного проше подключить тактовый генератор через логический элемент "и" до или после прихода INT и померять количество тактов частотомером.. можно мерять по тактам, можно мерять по циклам..

А как можно померять сколько свободного времени у проца при помощи частотометра (или счетчика импулсов)? Просто для этих челей в операционках городят 3 этажные конструкции. Если имеется по halt то это в любом случае что то свое писать надо но имно легче при помощи калькулятора.

Пётр
07.06.2006, 23:59
А как можно померять сколько свободного времени у проца при помощи частотометра (или счетчика импулсов)? Просто для этих челей в операционках городят 3 этажные конструкции. Если имеется по halt то это в любом случае что то свое писать надо но имно легче при помощи калькулятора. В том-то и вопрос, сколько команд пройдет при стольки-то тактов. Другое дело, что можно на прикладных подпрограммах задать запись в условный порт, а там через логический элемент и на частотомере посмотреть, сколько тактов затрачено или осталось..