Портал аспирантов

Портал аспирантов (http://www.aspirantura.spb.ru/forum/index.php)
-   Свободное общение (http://www.aspirantura.spb.ru/forum/forumdisplay.php?f=102)
-   -   Поиск работы (http://www.aspirantura.spb.ru/forum/showthread.php?t=12171)

kravets 29.10.2013 00:06

Цитата:

Сообщение от Dikoy (Сообщение 400739)
Да ладно. В основном программа состоит из циклов и флагов, а они редко занимают больше 8 бит. Я как раз считаю, что частота важнее разрядности (в линейных ядрах, конвеер типа АРМ не в счёт).

Ладно, да? Запхать 2-4 флага в слово со статическим адресом - прямая экономия. Массив флагов - тем более. А частота по большому счету - это скорость реакции, и здесь больше влияет механизм прерываний, нежели флопсы.

Dikoy 29.10.2013 00:10

Цитата:

Сообщение от kravets (Сообщение 400742)
Запхать 2-4 флага в слово со статическим адресом - прямая экономия.

А это смотря какой доступ к битам. У АВР доступ к биту, это 3 тика, а к байту - 1 тик. Не говоря про наличие команд CLR и SET (если склероз не изменяет), которые сразу делают байт 00 или FF, за тик. Но память жрёт лихо, это да.

Кстати, у МСП есть генератор констант. Ты к нему обращаешься с нужным адресом, а он тебе возвращает типовую константу : 00, FF, 01 и ещё какую то. Получается быстрее, чем обращение к памяти. 1 тик.

Цитата:

Сообщение от kravets (Сообщение 400742)
здесь больше влияет механизм прерываний, нежели флопсы

я это и написал

kravets 29.10.2013 00:24

Цитата:

Сообщение от Dikoy (Сообщение 400743)
А это смотря какой доступ к битам. У АВР доступ к биту, это 3 тика, а к байту - 1 тик.

Старый я и отсталый. А маски на что?

Впрочем, это не для здесь, да и пошел спать - обезьянник утих :)

Dikoy 29.10.2013 00:31

Цитата:

Сообщение от kravets (Сообщение 400745)
А маски на что?

Так их и имею ввиду ;) 3 тика однако.

kravets 29.10.2013 01:00

Цитата:

Сообщение от Dikoy (Сообщение 400747)
Так их и имею ввиду ;) 3 тика однако.

AND за три тика???

Dikoy 29.10.2013 01:33

Так шоб И сделать, надо сначала тот де регистр порта в регистр ядра вычитать, ам его ЭНДнуть, и всунуть обратно. 3 тика.
Всё, ушёл с работы...

Paul Kellerman 29.10.2013 08:58

Цитата:

Сообщение от Dikoy (Сообщение 400739)
Я когда-то для первого пня писал на асме перехватчик прерывания клока таймера
(уж не помню какого) для точного измерения временных промежутков.

Таймер для точного измерения времени на Pentium? У него интервалы ~55 мс.
В Pentium уже была команда RDTSC, кот. считывала 64-битный счетчик тиков.
При 100 МГц один тик = 10 нс. Частоту процессора можно определить заранее.

P.S. Таймер 8254 (когда-то c 1981 шел отдельной микросхемой, а потом он был
интегрирован в состав микросхемы южного моста). Таймер 8254 тактируются
импульсами частотой = 1.193181 MHz (14.31818 MHz / 12). Прерывания IRQ0 от
таймера поступают с выхода OUT 0 с частотой = 18.2 Hz (1.193181 MHz / 65536).

http://4put.ru/pictures/max/764/2348539.jpg

Базовая частота 14.31818 MHz пришла в компы из системы телевидения NTSC.
Первые компы IBM PC шли на базе 8088 на частоте 4.77 MHz (14.31818 MHz / 3).
На фото легендарный кварцевый резонатор, который используется по сей день.

http://i.ebayimg.com/00/s/NzQwWDEwMz..._id=880000500F

1) В 2004-2005 Intel начала внедрять дополнительные высокоточные таймеры (HPET)
в свои южные мосты. Но в отличие от 8254, которые программируется через порты
ввода-вывода 40-43h, HPET программируются через проецируемые на физическое
адресное пространство адреса начинающиеся с FED00000h и FED80000h - доступны
только в защищенном режиме процессора. В винде, если она видит и поддерживает
HPET, то в диспетчере устройств появляется соответствующее устройство, и в user-
режиме ими можно пользоваться через Win32 API функцию QueryPerformanceCounter.
Функция QueryPerformanceFrequency возвращает частоту таймера. Если HPET не под-
держивается, то эта функция возвращает частоту 3.579545 MHz (14.31818 MHz / 4),
на которой работает PM (Power Management) Timer. В принципе тоже вполне ничего.

2) При работе с командой RDTSC на современных многоядерных процессорах нужно
следить, чтобы исполняемый поток, из которого вызывается команда, назначался на
одно и то же ядро, а не на усмотрение ОС, дабы избежать бардака при измерениях.
В винде для этого есть соответствующая Win32 API функция - SetThreadAffinityMask.

Linka 29.10.2013 16:13

Мужчины, какие же вы умные!!! Мне прям завидно:o

Undefined 29.10.2013 21:04

Цитата:

Сообщение от Aspirant_Cat (Сообщение 400097)
Не могу не опубликовать отрывок из резюме мальчика, позиционирующего себя как "профессионала в IT":

:facepalm: Наверное, мне и в самом деле надо быть понаглее и больше ценить себя :) Или это только мальчикам у нас все дороги открыты? Мне в IT не раз отказывали из-за того, что я девочка.

не знаю, как толковать, что цитата с темы "профессия при заикании"
http://stuttering.su/phpBB3/viewtopi...977&start=1680

Добавлено через 23 секунды
Цитата:

Сообщение от Linka (Сообщение 400847)
Мужчины, какие же вы умные!!! Мне прям завидно:o

мне тоже

Jacky 29.10.2013 21:18

Цитата:

Сообщение от Linka (Сообщение 400847)
Мужчины, какие же вы умные!!! Мне прям завидно

Они хедхантеров приманивают небось, вот и всё.


Текущее время: 21:43. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2025, «Аспирантура. Портал аспирантов»