Является ли частота ЦП средним значением, равным примерно количеству тактов в секунду, или он обладает более сильной физической стабильностью?
На мой взгляд, оно должно быть не стабильным и не нестабильным. Так есть ли какая-либо информация о дисперсии для процессора?
Точно ли синхронизирована длительность цикла процессора с вибрацией кристалла? Или процессор просто должен быть уверен, что цикл будет достигнут до следующего такта?
Ответы:
Как и любая сложная вещь, вы можете описать, как процессор работает на разных уровнях.
На самом фундаментальном уровне процессор управляется точными часами. Частота часов может меняться; думаю, что Intel's SpeedStep. Но процессор все время на 100% привязан к тактовому сигналу.
Инструкции процессора работают на гораздо более высоком уровне. Одна команда является сложной вещью и может занять от менее чем за один цикл до тысяч циклов , чтобы закончить , как описано здесь , в Википедии .
Таким образом, в основном инструкция будет использовать некоторое количество тактов . В современных процессорах благодаря таким технологиям, как многоядерные технологии, HyperThreading, конвейерная обработка, кэширование, неупорядоченное и умозрительное выполнение, точное количество тактов для одной инструкции не гарантируется и будет изменяться каждый раз, когда вы выполняете такую инструкцию !
РЕДАКТИРОВАТЬ
И да и нет. 99,99% конечных пользователей интересуются общей производительностью , которую можно определить количественно с помощью различных тестов.
То, что вы просите, - это техническая информация. Intel не публикует полную или точную информацию о задержке / пропускной способности команд процессора .
Есть исследователи, которые взяли на себя, чтобы попытаться понять это. Вот два PDF-файла, которые могут представлять интерес:
К сожалению, сложно получить данные о дисперсии . Цитата из первого PDF:
Интересное чтение тем не менее!
источник
But at all times the CPU is absolutely 100% locked to the clock signal
относится только к синхронным процессорам. Глупо говорить о тиках в асинхронном (без тактовом) процессоре, но для меня это было упущением :)Конечно, нет. Даже самые, самые лучшие часы не являются строго периодическими. Законы термодинамики говорят иначе:
Разработчики самых, самых лучших часов стараются изо всех сил преодолеть законы термодинамики. Они не могут победить, но они очень, очень близки к безубыточности. Часы на вашем процессоре? Это мусор по сравнению с этими лучшими атомными часами. Вот почему существует протокол сетевого времени .
Прогноз: Мы снова увидим хаос, когда лучшие атомные часы в мире будут работать с 2015 года 30 июня 23:59:59 UTC до 2015 года 30 июня 23:59:60 UTC до 2015 года 1 июля 2015 00:00:00 УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ. Слишком много систем не распознают високосные секунды и имеют уровень безопасности, равный двум (что предотвращает изменение времени более чем на одну секунду). Дрожание тактовых импульсов в этих системах означает, что високосная секунда сетевого протокола времени будет отклонена. Ряд компьютеров обанкротится, как в 2012 году.
источник
Примерно в 2000 году, когда тактовые частоты процессоров начали достигать диапазона, в котором также работали мобильные телефоны, стало обычным добавлять вариации к фактической тактовой частоте. Причина проста: если частота процессора составляет ровно 900 МГц, все электронные помехи генерируются на этой частоте. Измените тактовую частоту немного между 895 и 905 МГц, и помехи также распределены по этому диапазону.
Это стало возможным, потому что современные процессоры ограничены по температуре. У них нет проблем с тем, чтобы они работали немного быстрее в течение короткого периода времени, так как они могут остыть, когда часы замедляются позже.
источник
Дизайнер цифровой логики здесь. Фактическое время, необходимое для изменения логической сети в ответ на входной сигнал, представляет собой задержку распространения . Думайте о системе как:
registers A,B,C... ---> logic cloud ---> registers A',B',C'
«Часы запуска» - это край времени, в который изменяется первый набор регистров. «Часы захвата» - это следующий фронт синхронизации один период спустя. Чтобы система работала, выход логического облака должен быть стабильным до того, как поступят часы захвата.
Процесс проверки того, что это работает, является анализом времени. Используя физическое моделирование системы, определите время поступления наихудшего случая для любого входа на любой выход. Наибольшее из этих чисел в системе устанавливает минимальный тактовый период.
Обратите внимание на худший случай . Фактическое время распространения будет меньше, но оно зависит от изменения производственного процесса, текущей температуры и напряжения на микросхеме ( PVT ). Это означает, что на практике вы можете использовать более быстрые часы (разгон), и это может работать. Это может также привести к возникновению ошибок, таких как принятие решения,
0x1fffffff + 1 = 0x1f000000
если бит переноса не прибывает вовремя.Микросхемы также могут иметь более одного тактового сигнала на борту (обычно FSB медленнее, чем ядро), и фактические тактовые частоты могут быть увеличены или уменьшены для целей термоконтроля или изменены (ответ MSalter об использовании расширенного спектра для прохождения тестов ЭМС).
источник
Ни. Продолжительность инструкции будет составлять некоторое количество тактов, но это число может варьироваться в зависимости от требований инструкции. Например, если инструкция не может продвигаться вперед до тех пор, пока определенная ячейка памяти не окажется в кэше L1, то инструкция не будет выполнена до следующего такта. Прогресса по этой инструкции не будет, пока это не произойдет.
Но когда ЦП действительно решает что-то сделать, основной метод, которым он это делает, - это настроить свои внутренние переключатели так, чтобы определенный фрагмент информации попадал в определенную часть ЦП. Он ожидает поступления ввода в эту часть, а выхода - в следующую. Эта часть ожидания является целью часов.
Представьте себе физическую схему, которая принимает два двоичных входа и суммирует их, выводя сумму на некоторый третий набор проводов. Чтобы сделать сложение, ЦП должен организовать добавление двух чисел, чтобы добраться до этого сумматора, и выходов, чтобы перейти, скажем, в защелку регистра ЦП. Процессор не может сказать защелке сохранить выходные данные, пока входы не достигнут сумматора, сумматор выдает выходные данные, и выход достигает защелки. Это цель часов - установить время ожидания между подготовкой ввода куда-то и ожиданием того, что выход будет готов к использованию.
источник