![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 21.05.2009
Сообщений: 1
|
![]()
Подскажите пожалуйста, где можно найти программу на Турбо-Паскале или саму программу.
Используя функции системного таймера ЭВМ определить быстродействие и производительность ЦП ПЭВМ для тестируемой инструкции процессора. На основании данных программы определить тактовую частоту процессора. |
![]() |
![]() |
![]() |
#2 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
![]()
Это очень просто, но нужно быть в защищенном режиме что бы это сделать(а может я ошибаюсь?).
Понадобится вам 2 вещи: Таймер и инструкция RDTSC. TSC=это счетчик тактов, каждый такт инкрементирует его. Т.е. допустим ваш процессор работает на частоте 3.4 Ггц, значит он совершает 3 400 000 000 тактов в секунду. Т.е. счетчик этот инкрементируется именно на это значение. Инструкция RDTSC считывает текущее значение этого счетчика в пару регистров EDX:EAX - то есть ту самую пару в которую обычно используется инструкцией MUL(умножение) и DIV(деление). Вот псевдокод: tscHi dd ? tscLo dd ? RDTSC MOV [tscHi],EDX MOV [tscLo],EAX invoke Wait(1000) ; ждем одну секунду SUB EDX,[tscHi] SUB EAX,[tscLo] ;Все, в EDX:EAX находится текущая частота процессора. В случае с частотами процессора, меньше чем 4 ггц можно просто выводить значение EAX. В остальных случаях стоит воспользоваться функциями из MSVCRT.DLL - тамошние printf и прочие умею выводить long long если не ошибаюсь. Но, особой точности вы так не достигнете. Для точности лучше выполнять вычисления с помощью FPU.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
![]() |
![]() |
![]() |
#3 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
![]()
Это же Turbo Pascal... какие там dll?
У Klaus Hartnegg естъ страничка, на которой собраны разные альтернативные реализации Delay. Среди них наверняка есть с исходником 32битная версия. Последний раз редактировалось OCTAGRAM; 21.05.2009 в 13:56. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 55
|
![]()
а про что идёт речь вообще что я не догоняю... что за тактовую частоту процессора, и быстродействие? может кто нить объяснит? Чтоб расширить свои знания...
В тюрьме столько не сидят, сколько в ИНЭТЕ!
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определения частоты пары соседних символов в каждой строке и формирования файла частот построчно | ивт | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 07.12.2008 20:52 |
Расположить элементы массива в порядке убывания частоты встречаемости элементов. | QWERT12345 | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 14.11.2008 22:30 |
Подсчет количества и частоты | Ensoph | Помощь студентам | 6 | 08.05.2008 10:16 |