Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
ArtemKAD писал(а): Да, но это нужно еще сделать железо и написать две программы. Я лучше вместо этой работы напишу что-то более полезное... Из опыта работы с PC понятно, что сделать из него реалтаймовое устройство - дохлый номер. Конечно, можно долго мучаться (вспоминается Наутилус: "здесь мерилом работы считают усталость"). Но внешнее управляющее устройство сбора данных (aka "интеллектуальный датчик") - существенно более прямой путь, не зависящий от установленной ОС, поддержки нужных функций чипсетом и фаз луны.
[quote="ArtemKAD"]Да, но это нужно еще сделать железо и написать две программы. Я лучше вместо этой работы напишу что-то более полезное...[/quote] Из опыта работы с PC понятно, что сделать из него реалтаймовое устройство - дохлый номер. Конечно, можно долго мучаться (вспоминается Наутилус: "здесь мерилом работы считают усталость"). Но внешнее управляющее устройство сбора данных (aka "интеллектуальный датчик") - существенно более прямой путь, не зависящий от установленной ОС, поддержки нужных функций чипсетом и фаз луны.
|
|
|
|
Добавлено: Сб ноя 13, 2010 00:50 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
Хищник писал(а): vikt писал(а): В свое время использовал прерывание int 70 часов реального времени. Настроено по умолчанию на 1024 прерываний в секунду, но есть делители. Является ли этот таймер официальным пользовательским ресурсом, который обязан поддерживаться операционными системами? вероятнее всего да, не знаю. int 70 так же используется будильником реального времени, и возможно так же вызывается в случае разрядки батареи смос. В регистре статуса как раз указан источник прерывания. В дос работает, в linux вероятно можно. Если есть низкоуровневые функции api для установке векторов прерываний, тк в защищенном режиме это проблематично. Наверняка можно написать драйвер устройства.
[quote="Хищник"][quote="vikt"]В свое время использовал прерывание int 70 часов реального времени. Настроено по умолчанию на 1024 прерываний в секунду, но есть делители.[/quote] Является ли этот таймер официальным пользовательским ресурсом, который обязан поддерживаться операционными системами?[/quote]
вероятнее всего да, не знаю. int 70 так же используется будильником реального времени, и возможно так же вызывается в случае разрядки батареи смос. В регистре статуса как раз указан источник прерывания. В дос работает, в linux вероятно можно. Если есть низкоуровневые функции api для установке векторов прерываний, тк в защищенном режиме это проблематично. Наверняка можно написать драйвер устройства.
|
|
|
|
Добавлено: Пт ноя 12, 2010 23:56 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
Хищник писал(а): Вот-вот. В итоге устройство начинает работать с конкретно выделенным для него компьютером, хотя можно было сопоставимые усилия потратить на усовершенствование датчика. На сегодняшний день МК, опрашивающий датчик с соблюдением всех временных интервалов, ведущий журнал, и при необходимости выдающий результаты по запросу PC через переходник USB-UART, является одним из простейших вариантов. Да, но это нужно еще сделать железо и написать две программы. Я лучше вместо этой работы напишу что-то более полезное... ЗЫ. Это был программатор KeeLoq-микросхем который должен вести счетчик (не повторять сериальник) и при этом что-то туда еще добавлять. Программа была написана и работает с 1998 и до сих пор. Программирование ведут полные юзеры .
[quote="Хищник"]Вот-вот. В итоге устройство начинает работать с конкретно выделенным для него компьютером, хотя можно было сопоставимые усилия потратить на усовершенствование датчика. На сегодняшний день МК, опрашивающий датчик с соблюдением всех временных интервалов, ведущий журнал, и при необходимости выдающий результаты по запросу PC через переходник USB-UART, является одним из простейших вариантов.[/quote] Да, но это нужно еще сделать железо и написать две программы. Я лучше вместо этой работы напишу что-то более полезное...
ЗЫ. Это был программатор KeeLoq-микросхем который должен вести счетчик (не повторять сериальник) и при этом что-то туда еще добавлять. Программа была написана и работает с 1998 и до сих пор. Программирование ведут полные юзеры ;) .
|
|
|
|
Добавлено: Пт ноя 12, 2010 23:53 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
ArtemKAD писал(а): До XP поддерживался в DOS сессии корректно. С XP начал "кто в лес кто по дрова" . Чаще всего в сторону увеличения скорости того, что клацает. После некоторого бодания с ним в одном проекте под программатор выделили отдельную машину с совсем честным DOS-ом. Вот-вот. В итоге устройство начинает работать с конкретно выделенным для него компьютером, хотя можно было сопоставимые усилия потратить на усовершенствование датчика. На сегодняшний день МК, опрашивающий датчик с соблюдением всех временных интервалов, ведущий журнал, и при необходимости выдающий результаты по запросу PC через переходник USB-UART, является одним из простейших вариантов.
[quote="ArtemKAD"]До XP поддерживался в DOS сессии корректно. С XP начал "кто в лес кто по дрова" . Чаще всего в сторону увеличения скорости того, что клацает. После некоторого бодания с ним в одном проекте под программатор выделили отдельную машину с совсем честным DOS-ом.[/quote] Вот-вот. В итоге устройство начинает работать с конкретно выделенным для него компьютером, хотя можно было сопоставимые усилия потратить на усовершенствование датчика. На сегодняшний день МК, опрашивающий датчик с соблюдением всех временных интервалов, ведущий журнал, и при необходимости выдающий результаты по запросу PC через переходник USB-UART, является одним из простейших вариантов.
|
|
|
|
Добавлено: Пт ноя 12, 2010 23:47 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
Хищник писал(а): vikt писал(а): В свое время использовал прерывание int 70 часов реального времени. Настроено по умолчанию на 1024 прерываний в секунду, но есть делители. Является ли этот таймер официальным пользовательским ресурсом, который обязан поддерживаться операционными системами? До XP поддерживался в DOS сессии корректно. С XP начал "кто в лес кто по дрова" . Чаще всего в сторону увеличения скорости того, что клацает. После некоторого бодания с ним в одном проекте под программатор выделили отдельную машину с совсем честным DOS-ом.
[quote="Хищник"][quote="vikt"]В свое время использовал прерывание int 70 часов реального времени. Настроено по умолчанию на 1024 прерываний в секунду, но есть делители.[/quote] Является ли этот таймер официальным пользовательским ресурсом, который обязан поддерживаться операционными системами?[/quote] До XP поддерживался в DOS сессии корректно. С XP начал "кто в лес кто по дрова" . Чаще всего в сторону увеличения скорости того, что клацает. После некоторого бодания с ним :hey; в одном проекте под программатор выделили отдельную машину с совсем честным DOS-ом.
|
|
|
|
Добавлено: Пт ноя 12, 2010 23:29 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
vikt писал(а): В свое время использовал прерывание int 70 часов реального времени. Настроено по умолчанию на 1024 прерываний в секунду, но есть делители. Является ли этот таймер официальным пользовательским ресурсом, который обязан поддерживаться операционными системами?
[quote="vikt"]В свое время использовал прерывание int 70 часов реального времени. Настроено по умолчанию на 1024 прерываний в секунду, но есть делители.[/quote] Является ли этот таймер официальным пользовательским ресурсом, который обязан поддерживаться операционными системами?
|
|
|
|
Добавлено: Пт ноя 12, 2010 22:52 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
В смос есть регистр, в котором находится делитель частоты, ее можно разогнать до очень больших значений, гораздо больших 1000.
В смос есть регистр, в котором находится делитель частоты, ее можно разогнать до очень больших значений, гораздо больших 1000.
|
|
|
|
Добавлено: Пт ноя 12, 2010 18:09 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
vikt писал(а): Извините, что вмешиваюсь. В свое время использовал прерывание int 70 часов реального времени. Харошие тогда были времена! А сейчас юниксёвый nanosleep имеет дискрет времени 1/1000 сек. Хотя есть и реалтаймовые расширения. Но не везде.
[quote="vikt"]Извините, что вмешиваюсь. В свое время использовал прерывание int 70 часов реального времени.[/quote] Харошие тогда были времена! А сейчас юниксёвый nanosleep имеет дискрет времени 1/1000 сек. Хотя есть и реалтаймовые расширения. Но не везде.
|
|
|
|
Добавлено: Пт ноя 12, 2010 17:59 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
Извините, что вмешиваюсь. В свое время использовал прерывание int 70 часов реального времени. Настроено по умолчанию на 1024 прерываний в секунду, но есть делители. Включается и програмируется елементарно. была одна тонкость, не указанная тогда в докуметации, в конце обработки прерывания, надо обязательно прочитать регистр статуса в smos, иначе следущее прерывание не произойдет.
Извините, что вмешиваюсь. В свое время использовал прерывание int 70 часов реального времени. Настроено по умолчанию на 1024 прерываний в секунду, но есть делители. Включается и програмируется елементарно. была одна тонкость, не указанная тогда в докуметации, в конце обработки прерывания, надо обязательно прочитать регистр статуса в smos, иначе следущее прерывание не произойдет.
|
|
|
|
Добавлено: Пт ноя 12, 2010 17:43 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
Эти вопросы решаются кардинально, разработкой соответствующего интерфейса датчика (или самого датчика). К чему насиловать компьютер, который при всем желании не прыгнет выше головы? PC - не реалтаймовая платформа.
Эти вопросы решаются кардинально, разработкой соответствующего интерфейса датчика (или самого датчика). К чему насиловать компьютер, который при всем желании не прыгнет выше головы? PC - не реалтаймовая платформа.
|
|
|
|
Добавлено: Пт ноя 12, 2010 16:31 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
dynamic-wind писал(а): Неужели нужно выдерживать очень малый интервал при общении с железом? Железо разное бывает. Дискету надо ждать единицы секунд, винчестер десятки миллисекунд, а бывают случаи, когда обращения должны быть рассчитаны с точностью до микросекунд (программирование flash-ПЗУ, например),
[quote="dynamic-wind"]Неужели нужно выдерживать очень малый интервал при общении с железом?[/quote]
Железо разное бывает. Дискету надо ждать единицы секунд, винчестер десятки миллисекунд, а бывают случаи, когда обращения должны быть рассчитаны с точностью до микросекунд (программирование flash-ПЗУ, например),
|
|
|
|
Добавлено: Пт ноя 12, 2010 05:39 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
mOleg писал(а): dynamic-wind писал(а): RDTSC??? О боже! А если частота проца меняется динамически, как там будет со временем? Есть такое дело. Только вы можете предложить механизм, позволяющий ловить короткие таймауты (длительностьюя в несколько сотен-тысяч тактов процессора?) Не могу, с АПИ действительно дела плохи. Неужели нужно выдерживать очень малый интервал при общении с железом?
[quote="mOleg"][quote="dynamic-wind"]RDTSC??? О боже! А если частота проца меняется динамически, как там будет со временем?[/quote] Есть такое дело. Только вы можете предложить механизм, позволяющий ловить короткие таймауты (длительностьюя в несколько сотен-тысяч тактов процессора?)[/quote] Не могу, с АПИ действительно дела плохи. Неужели нужно выдерживать очень малый интервал при общении с железом?
|
|
|
|
Добавлено: Чт ноя 11, 2010 21:46 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
dynamic-wind писал(а): А если частота проца меняется динамически, как там будет со временем? А часто бывает что время и не нужно, а нужно знать сколько тиков например при сравнении производительности разных алгоритмов.
[quote="dynamic-wind "]А если частота проца меняется динамически, как там будет со временем?[/quote] А часто бывает что время и не нужно, а нужно знать сколько тиков например при сравнении производительности разных алгоритмов.
|
|
|
|
Добавлено: Чт ноя 11, 2010 17:13 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
dynamic-wind писал(а): RDTSC??? О боже! А если частота проца меняется динамически, как там будет со временем? Есть такое дело. Только вы можете предложить механизм, позволяющий ловить короткие таймауты (длительностьюя в несколько сотен-тысяч тактов процессора?) RDTC хорош тем, что для получения информации не надо обращаться к АПИ, которое довольно медлительно. Пока что предлагается периодически калибровать счетчик.
[quote="dynamic-wind"]RDTSC??? О боже! А если частота проца меняется динамически, как там будет со временем?[/quote] Есть такое дело. Только вы можете предложить механизм, позволяющий ловить короткие таймауты (длительностьюя в несколько сотен-тысяч тактов процессора?) RDTC хорош тем, что для получения информации не надо обращаться к АПИ, которое довольно медлительно. Пока что предлагается периодически калибровать счетчик.
|
|
|
|
Добавлено: Чт ноя 11, 2010 17:08 |
|
|
|
|
|
Заголовок сообщения: |
Re: Замеры времени |
|
|
RDTSC??? О боже! А если частота проца меняется динамически, как там будет со временем?
RDTSC??? О боже! А если частота проца меняется динамически, как там будет со временем?
|
|
|
|
Добавлено: Чт ноя 11, 2010 02:13 |
|
|
|
|