Если одновременно наблюдается одно и тоже событие, то каждый компьютер фиксирует разное время наступления. Даже когда рядом стоят две машины синхронизированные по времени не более часа назад. Всё равно время на компьютерах будет различаться на десятки миллисекунд. У каждого доходя и до ±36 миллисекунд относительно настоящего времени высокоточных часов. Т.е. различия могут составлять до 10 ppm, согласно паспортным данным и спецификациям комплектующих.
И уже много лет как внутри компьютеров IBM PC находится аж трое часов. На кварцевых генераторах как с разной
частотой и видами срезов, так и разной точностью:
- RTC — «Часты реального времени» стандартная микросхема с пластиной XY-среза, частота 32'768 Гц, точностью в ± 1,7...2,59 секунды в сутки (стандартные 20...30 ppm);
- HPET (High Precision Event Timer) — это т.н. «южном мосте» с пластиной AT-среза, частотой 14,31818 МГц, в три раза точнее RTC (стандартные 10 ppm);
- TSC (Time Stamp Counter) — внутри ЦПУ, однако работающий от BCLK с пластиной AT-среза.
Под TSC имеется в виду современный Constant/Invariant TSC, по частотам это 24,000 МГц начиная с Intel Skylake и 48,000 / 100,000 МГц со времён AMD Ryzen. Физически находится в процессоре (ЦПУ), но живёт на тактах обще-системного генератора на материнской плате (BCLK).
Теперь BCLK и HPET это физически два разных генератора, каждый из которых со своей пластинкой кварцевого пьезокристалла. Т.е. «прямая связь» между BCLK и таймером HPET оказалась упразднена начиная с Intel Skylake или AMD AM4, ранее физически это был один «кварц» выдающий две разные частоты (100,000 МГц для BCLK и 14,31818 МГц для всякой переферии в «южном мосте»).
Ядро современных ОС выключают использование HPET, предпочитая чтобы софтом использовался TSC — обращение к HPET обходится не дёшево, порядка 0,001−0,002 миллисекунды, т.к. микросхема расположена весьма далеко от ЦПУ по меркам материнской платы. При этом ОС не особо доверяет тому, что творится в процессоре (ЦПУ) и перепроверяет TSC через теперь уже независимый таймер HPET. Обнаружив нестабильность в работе TSC, ядро ОС выполняет корректировку хода времени или принудительно переключает систему на HPET.
Насколько это существенно?
В небольших локальных сетях задержка в доставке пакетов составляет менее 1 миллисекунды. И сложновато разобраться в событиях по журналам и логам, если время на машинах не синхронизировано до этой самой 1 миллисекунды.
Привязка шкалы времени у приёмника спутниковой системы навигации (GPS или ГЛОНАСС) составляет 20 наносекунд, т.е. это ровно 0,00002 миллисекунды (официально по спецификациям). А для определение местоположения с точностью в пять метров требуется 0,00017 миллисекунд точности (легко проверить через скорость света).
HPET и TSC по точности одинаковы, 10 ppm = 0,864 секунды в сутки или же 0,036 секунды в час. Расположены не рядом друг с другом и одновременно могут иметь разные температуры, однако полагаться на TSC нельзя. Потому и нет возможности повысить точность времени в системе за счёт сравнения показаний этих двух кварцевых генераторов, корректируя и между собой и относительно датчиков температуры.
RTC поддерживает время при отключении питания, экономично расходуя аккумулятор или же батарейку. Однако, при изрядном прогреве корпуса отклонение частоты может доходить и 200 ppm, поскольку стандартные 20...30 ppm выдерживаются лишь в узком диапазоне температур. На фоне этого HPET и TSC имеют не только 10 ppm стандартными, но и гораздо лучше сохраняются стабильность колебаний при существенном повышении температур в компьютерах. Что обусловлено использованием пластин с разными
видами срезов.
Для сравнения, точность времени в специализированных термокомпенсированных вариантах (TCXO) кварцевых генераторов достигает 0,5−2 ppm, что минимум в пять раз точнее TSC и HPET.
В системах промышленной автоматики, царстве и вотчине АСУ ТП, диспетчеризации оборудования без синхронизации времени фактически не осуществима. Ориентиром является точность синхронизации до 1 миллисекунды, потому используются специализированные узлы-сервера получающие время от тех же ГНСС (GPS, ГЛОНАСС) и сохраняющие до получаса в термокомпенсированных вариантах «кварца». Поскольку даже 0,5 ppm за час даёт отклонение уже в 1,8 миллисекунды, а время в ГНСС-приёмниках в тысячи раз точнее одной миллисекунды.
#
hardware #
computerscience #
время #
микроэлектроника #
схемотехника #
часы #
watch #
watches #
lang_ru @
Russia