Определение частоты ЦПУ без вспомогательных функций

Тема в разделе "WASM.BEGINNERS", создана пользователем Arisu, 10 авг 2007.

  1. Arisu

    Arisu Алиса Селезнёва

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    89
    Сразу скажу, что сначала очень долго гуглил по этой теме, но везде было одно и тоже решение, которое мне в корне не подходит.

    Короче задача: определить тактовую частоту процессора, но при этом я нахожусь в среде, где не могу использовать всяческие стандартные функции типа delay, sleep и т.д. (их просто нету).

    И сделать функции ожидания миллисекунд тоже не представляется возможным т.к. такие функции операются на известную частоту. (которой нет)

    Второй момент: я живу в 16-и битной среде, хотя это конечно обходится с помощью 0x66, но тоже накладывает определённые неудобства.

    Единственный вариант который я вижу это получение частоты шины и множителя процессора и помножение их друг на друга, но я чё-то их не смог найти.

    Может есть ещё какие-то способы? максимально дубовые
     
  2. nobodyzzz

    nobodyzzz New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2005
    Сообщения:
    475
  3. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Если 16-битная не только среда, но и машина, то не пойдёт. Первым шагом можно определить, что за машина. Если RDTSC поддерживается, дальше дело техники. Если нет, смотрим какой процессор, выполняем некоторый полупустой цикл, замеряя время его выполнения. Исходя из типа процессора по табличке находим число тактов, затрачиваемое на этот цикл, делим на время выполнения, замеренное по таймеру, получаем частоту. Само собой, точный результат будет только в реальном режиме работы процессора.
     
  4. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    порты в\в можешь использовать ?
     
  5. Arisu

    Arisu Алиса Селезнёва

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    89
    да.

    машина то х86 нормальная.
    но вот ось и софт компилируются в 16 бит.
     
  6. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    Arisu
    Тогда ищи код на форуме.
     
  7. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    Arisu
    У Кулакова был примерчик, как раз на эту тему. Используется таймер и TSC.