Да, сложный вопрос я задал.. :v2_yahoo:
Вид для печати
Да, сложный вопрос я задал.. :v2_yahoo:
не сложный но малопонятный...
скажем 3dmark понятно что делает и для чего, а что ты хочешь непонятно...
почти все клоны и их особенности описаны...
т.е оригинал 68000 тактов в инте
пентагон 71000 с чемто
если тебе нужна мерилка тактов - то ее написать от нефиг нафиг, а если чтото другое - опиши подробнее
Каждая задача имеет простое, но неправильное решение.
Можно было ткнуть пальцем на какую-нибудь измерялку (например ZX_BENCH из ZX-Format#2) и успокоится.
Аксиома первая:
ZX-Spectrum - это аппаратная система реального времени, производительность которой по определению равна Z80@3.5MHz.
Важно не чтобы было быстро, а чтобы не было тормозов. То есть производительность ни при каких обстоятельствах не должна уменьшаться ниже означенной.
Измерять нужно не производительность а тормоза. Чтобы грамотно измерить тормоза (и определить находяться ли они в допустимых рамках) нужно знать их источник, а для этого надо знать аппаратную архитектуру измеряемой машины. Поэтому - архитектуру в студию. Популярные примеры тормозов: видеопамять, округление команд до чётного такта, контроллер клавиатуры.
Дважды было упомянуто "кэширование" а также некоторый "эталонный цикл". Если имеется ввиду общепринятое значение и цикл влезает в кэш, то результат измерения смысла не имеет. Кэширование используется в машинах где процессор - быстрый, а память медленная. В Speccy всё наоборот. А поскольку наоборот, то соответственным образом оптимизируется код, и как раз в наиболее критичных случаях кэширование может оказаться бессмысленным.
Практические рекомендации:
Необходимое (но недостаточное) условие отсутствия тормозов: не должны тормозить (и желательно правильно отображаться) фреймовые скроллы, мультиколоры и бордюрные эффекты, "тяжёлые" demo.
Померять "практическую" производительность можно на: ассемблировании, компрессии, decrunching, искусственном интеллекте в стратегических играх.
Программные продукты выбрать по вкусу, желательно популярные.
Так тактов-то у меня больше, сильно больше. Мерять же мне нужно в двух случаях. Первый когда система в простое и работает только мерялка, та самая элементарщина. Второй случай, когда прога активируется прерыванием INT и меряет что осталось после выполнения заданной программы. Фирштейн? Да, есть третье, когда тот же эксперемент проводится на другом спектруме для сравнения..Цитата:
Сообщение от jerri
Это уже ближе к искомому ответу.Цитата:
Сообщение от captain cobalt
В моей схеме задействовано два процессора, второй забудим, это контроллер. Первый же, это класический z80 на 20(25)MZh такты которого регулируются двумя способами, а именно изменение тактовой частоты и скважностью. Последнее тоже можно забыть, т.к. нужно проводить сравнительный тест..Цитата:
Сообщение от captain cobalt
А если будет больше? Много больше.Цитата:
Сообщение от captain cobalt
Конфигурация Z80=20-25MZh/128 и более/HDD/FDD виртуальный/AY/LCD.Цитата:
Сообщение от captain cobalt
Архитектура в стадии создания и ближе к отладке. Все подробности в "Железо" тема "Наладонник".
..У меня кеширование участка видеопамяти, т.е. остановки процессора для работы ULA не происходит! Хотелось бы знать, насколько эфективно используется этот режим, как и всё остальное, т.е. тест нужен.Цитата:
Сообщение от captain cobalt
Пока нет теста, трудно о чем-то говорить.Цитата:
Сообщение от captain cobalt
Это скорее плохо чем хорошо.Цитата:
Сообщение от TYAX
Как происходит торможение?Цитата:
Сообщение от TYAX
Всегда?
Или только при столкновении на определённых участках адресов, тогда каких?
Например, на 128 машинах тормозят четыре из восьми 16К страниц.
Не существует никаких "стандартных" тестов.Цитата:
Сообщение от TYAX
Каждый железнячник сам должен писать тесты для проверки специфических особенностей своего аппаратного решения.
Некоторые тесты упоминались тут.
Чем же? А если потребуется выполнять прикладные прожки, особенно современные.Цитата:
Сообщение от captain cobalt
Никак, а если имеется ввиду режим совместимости, то тормозится скважностью или частотой по выбору. Где скважность, там нет проблем с доступом к памяти для ULA. Запись в кеш-память происходит только в момент обращения к участкам памяти экранов. Да, в другие моменты кеш не доступен z80, совсем.Цитата:
Сообщение от captain cobalt
Торможения нет.Цитата:
Сообщение от captain cobalt
Спасибо, накачал, посмотрю.Цитата:
Сообщение от captain cobalt
Да, на тему того, что чуть выше.. я железячник, которому проще, намного проше подключить тактовый генератор через логический элемент "и" до или после прихода INT и померять количество тактов частотомером.. можно мерять по тактам, можно мерять по циклам..
А как можно померять сколько свободного времени у проца при помощи частотометра (или счетчика импулсов)? Просто для этих челей в операционках городят 3 этажные конструкции. Если имеется по halt то это в любом случае что то свое писать надо но имно легче при помощи калькулятора.Цитата:
Сообщение от TYAX
В том-то и вопрос, сколько команд пройдет при стольки-то тактов. Другое дело, что можно на прикладных подпрограммах задать запись в условный порт, а там через логический элемент и на частотомере посмотреть, сколько тактов затрачено или осталось..Цитата:
Сообщение от heroy