51

Является ли частота ЦП средним значением, равным примерно количеству тактов в секунду, или он обладает более сильной физической стабильностью?

На мой взгляд, оно должно быть не стабильным и не нестабильным. Так есть ли какая-либо информация о дисперсии для процессора?

Точно ли синхронизирована длительность цикла процессора с вибрацией кристалла? Или процессор просто должен быть уверен, что цикл будет достигнут до следующего такта?

5 ответов5

49

Как и любая сложная вещь, вы можете описать работу процессора на разных уровнях.

На самом фундаментальном уровне процессор управляется точными часами. Частота часов может меняться; думаю, что Intel's SpeedStep. Но во все времена процессор абсолютно на 100% привязан к тактовому сигналу.

Инструкции процессора работают на гораздо более высоком уровне. Одна инструкция сложна и может занять от менее одного до тысяч циклов, как описано здесь, в Википедии.

Таким образом, в основном инструкция будет использовать некоторое количество тактов. В современных процессорах благодаря таким технологиям, как многоядерные технологии, HyperThreading, конвейерная обработка, кэширование, неупорядоченное и умозрительное выполнение, точное количество тактов для одной инструкции не гарантируется и будет изменяться каждый раз, когда вы выполняете такую инструкцию !

РЕДАКТИРОВАТЬ

Есть ли какая-либо информация о дисперсии для конкретного процессора?

И да и нет. 99,99% конечных пользователей интересуются общей производительностью, которую можно определить количественно с помощью различных тестов.

То, что вы просите, - это техническая информация. Intel не публикует полную или точную информацию о задержке / пропускной способности команд процессора.

Есть исследователи, которые взяли на себя, чтобы попытаться понять это. Вот два PDF-файла, которые могут представлять интерес:

К сожалению, трудно получить данные о дисперсии . Цитата из первого PDF:

перечисленные числа являются минимальными значениями. Пропуск кэша, смещение и исключения могут значительно увеличить счетчик часов.

Интересное чтение тем не менее!

29

Являются ли тактовые частоты процессора строго периодическими по своей природе?

Конечно, нет. Даже самые, самые лучшие часы не являются строго периодическими. Законы термодинамики говорят иначе:

  • Закон Зеро: Есть противная маленькая игра, в которую вселенная играет на вас.
  • Первый закон: ты не можешь победить.
  • Второй закон: Но вы можете быть безубыточным, в очень холодный день.
  • Третий закон: никогда не бывает так холодно.

Разработчики самых, самых лучших часов стараются изо всех сил преодолеть законы термодинамики. Они не могут победить, но они очень, очень близки к безубыточности. Часы на вашем процессоре? Это мусор по сравнению с этими лучшими атомными часами. Вот почему существует протокол сетевого времени .


Прогноз: мы снова увидим хаос, когда лучшие атомные часы в мире будут работать с 2015 года 30 июня 23:59:59 UTC до 2015 года 30 июня 23:59:60 UTC до 2015 года 1 июля 2015 00:00:00 УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ. Слишком много систем не распознают високосные секунды и имеют уровень безопасности, равный двум (что предотвращает изменение времени более чем на одну секунду). Дрожание часов в этих системах означает, что високосная секунда сетевого протокола времени будет отклонена. Ряд компьютеров обанкротится, как и в 2012 году.

22

Примерно в 2000 году, когда тактовые частоты процессоров начали достигать диапазона, в котором также работали мобильные телефоны, стало обычным добавлять вариации к фактической тактовой частоте. Причина проста: если частота процессора составляет ровно 900 МГц, все электронные помехи генерируются на этой частоте. Измените тактовую частоту немного между 895 и 905 МГц, и помехи также распределены по этому диапазону.

Это стало возможным, потому что современные процессоры ограничены по температуре. У них нет проблем с тем, чтобы они работали немного быстрее в течение короткого периода времени, так как они могут остыть, когда часы замедляются позже.

22

Дизайнер цифровой логики здесь. Фактическое время, необходимое для изменения логической сети в ответ на входной сигнал, является задержкой распространения. Думайте о системе как:

registers A,B,C... ---> logic cloud ---> registers A',B',C'

"Часы запуска" - это край времени, в который изменяется первый набор регистров. "Часы захвата" - это следующий фронт синхронизации один период спустя. Чтобы система работала, выход логического облака должен быть стабильным до того, как поступят часы захвата.

Процесс проверки того, что это работает, является анализом времени. Используя физическое моделирование системы, определите время поступления наихудшего случая для любого входа на любой выход. Наибольшее из этих чисел в системе устанавливает минимальный период синхронизации.

Обратите внимание на худший случай. Фактическое время распространения будет меньше, но оно зависит от изменения производственного процесса, текущей температуры и напряжения на микросхеме (PVT). Это означает, что на практике вы можете использовать более быстрые часы (разгон), и это может работать. Он также может начать выдавать ошибки, такие как принятие решения, что 0x1fffffff + 1 = 0x1f000000 если бит переноса не приходит вовремя.

Микросхемы также могут иметь более одного тактового сигнала на борту (обычно FSB медленнее, чем ядро), и фактические тактовые частоты могут быть увеличены или уменьшены для целей теплового контроля или изменены (ответ MSalter об использовании расширенного спектра для прохождения тестов ЭМС).

2

Синхронизирована ли длительность инструкций ЦП с вибрацией кристалла? Или процессор просто должен быть уверен, что выполнил инструкцию до следующего такта?

Ни. Продолжительность инструкции будет составлять некоторое количество тактов, но это число может варьироваться в зависимости от требований инструкции. Например, если инструкция не может продвигаться вперед до тех пор, пока определенная ячейка памяти не окажется в кэше L1, то инструкция не будет выполнена до следующего такта. Прогресса по этой инструкции не будет, пока это не произойдет.

Но когда ЦП решает что-то сделать, основной метод, которым он это делает, - это настроить свои внутренние переключатели таким образом, чтобы определенный фрагмент информации попадал в определенную часть ЦП. Он ожидает поступления ввода в эту часть, а выхода - в следующую. Эта часть ожидания является целью часов.

Представьте себе физическую схему, которая принимает два двоичных входа и суммирует их, выводя сумму на некоторый третий набор проводов. Чтобы сделать сложение, ЦП должен организовать добавление двух чисел, чтобы добраться до этого сумматора, и выходов, чтобы перейти, скажем, в защелку регистра ЦП. Процессор не может сказать защелке о сохранении вывода, пока вход не достигнет сумматора, сумматор не выдаст выходной сигнал, а выход не достигнет защелки. Это цель часов - установить время ожидания между упорядочением ввода и ожиданием того, что выход будет готов к использованию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .