Bosh sahifa Wiki Clock

Clock

Clock — raqamli tizimdagi amallarni vaqt bo‘yicha muvofiqlashtiradigan davriy signal. Protsessor, xotira, bus va boshqa elektron bloklar clock edge’lariga mos ravishda holatini o‘zgartiradi.

Clock signal odatda ma’lum frequency bilan 0 va 1 holatlari orasida almashadi.

Frequency yuqori bo‘lsa, bir soniyada ko‘proq cycle mavjud. Biroq performance faqat clock frequencyga bog‘liq emas.

Clock cycle

Clockning bir to‘liq davri cycle deb ataladi.

Frequency:

1 Hz = 1 cycle/soniya
1 MHz = 1 million cycle/soniya
1 GHz = 1 milliard cycle/soniya

3 GHz processor nazariy jihatdan bir soniyada 3 milliard clock cycle bajaradi.

Bitta instruction bir yoki bir nechta cycle talab qilishi mumkin. Superscalar CPU bir cycle’da bir nechta instruction yakunlashi ham mumkin.

Period

Clock period bitta cycle davomiyligi.

Formula:

Period = 1 / Frequency

1 GHz uchun:

1 / 1 000 000 000 = 1 ns

3 GHz uchun cycle taxminan 0,333 ns.

Rising va falling edge

Clock signalning 0dan 1ga o‘tishi rising edge, 1dan 0ga o‘tishi falling edge.

Digital circuit register va latchlar ma’lum edge’da inputni qabul qiladi.

DDR xotira data’ni rising va falling edge’da uzatadi, shu sababli “double data rate”.

Oscillator

Clock manbai crystal oscillator, ring oscillator yoki boshqa elektron generator bo‘lishi mumkin.

Crystal aniq va barqaror frequency beradi.

Platforma reference clockdan bir nechta ichki frequency hosil qiladi.

PLL

Phase-Locked Loop reference clockni ko‘paytirish yoki bo‘lish orqali kerakli frequency yaratadi.

Masalan:

100 MHz reference × 40 multiplier = 4 GHz

PLL clock phase va frequency’ni barqaror ushlaydi.

CPU, memory va bus uchun alohida PLLlar bo‘lishi mumkin.

Base clock va multiplier

CPU frequency ko‘pincha:

Base clock × multiplier

orqali hosil bo‘ladi.

Misol:

100 MHz × 45 = 4.5 GHz

Base clock boshqa subsystemlarga ham ta’sir qilishi mumkin. Multiplierni o‘zgartirish odatda xavfsizroq boshqaruv beradi.

Clock domain

Tizimdagi turli bloklar boshqa frequency yoki phase’da ishlashi mumkin.

Masalan:

  • CPU core;
  • memory controller;
  • GPU;
  • PCIe;
  • audio;
  • peripheral.

Har biri alohida clock domain.

Ikki domain orasida data uzatish clock domain crossing mexanizmini talab qiladi.

Clock domain crossing

Asynchronous clock domainlar orasida signal noto‘g‘ri paytda o‘qilsa metastability yuz berishi mumkin.

Yechimlar:

Bu hardware dizaynning muhim qismi.

Metastability

Flip-flop input setup yoki hold vaqtiga juda yaqin o‘zgarsa, chiqish vaqtincha aniq 0 yoki 1 bo‘lmasligi mumkin.

Metastabilityni butunlay yo‘q qilish mumkin emas, lekin ehtimolini juda kamaytirish mumkin.

Synchronizer uchun yetarli vaqt beriladi.

Setup va hold time

Setup time

Input clock edge’dan oldin barqaror turishi kerak bo‘lgan vaqt.

Hold time

Input edge’dan keyin barqaror turishi kerak bo‘lgan vaqt.

Timing violation noto‘g‘ri data capture’ga sabab bo‘ladi.

Clock skew

Bir clock edge chipning turli nuqtalariga aynan bir vaqtda yetib bormaydi.

Bu farq clock skew.

Clock tree dizayni skewni kamaytiradi.

Yuqori frequencyda kichik skew ham timing budgetning katta qismini egallaydi.

Jitter

Clock edge’larining ideal vaqtdan qisqa muddatli og‘ishi jitter.

Sabablar:

  • power noise;
  • oscillator;
  • PLL;
  • temperature;
  • interference.

Jitter high-speed serial link, ADC va memory timingga ta’sir qiladi.

CPU frequency

CPU frequency oshishi instructionlar tezroq cycle olishini anglatadi.

Lekin performance quyidagilarga ham bog‘liq:

  • instructions per cycle;
  • cache;
  • branch prediction;
  • core soni;
  • memory latency;
  • pipeline;
  • workload;
  • thermal limit.

Turli arxitekturadagi 3 GHz CPUlar bir xil tezlikda ishlamaydi.

Turbo frequency

Zamonaviy CPU workload, temperature va power limitga qarab frequency’ni dinamik oshiradi.

Bitta core yuqori, barcha core pastroq turbo ishlashi mumkin.

Turbo doimiy kafolatlangan frequency emas.

Clock gating

Ishlamayotgan blokka clock signalni vaqtincha to‘xtatish dynamic powerni kamaytiradi.

Clock toggle bo‘lmasa registerlar holatini o‘zgartirmaydi.

Mobile va server chiplar energiya samaradorligi uchun clock gatingdan keng foydalanadi.

Dynamic frequency scaling

OS va firmware CPU frequency’ni workloadga qarab o‘zgartiradi.

Past yukda:

  • frequency kamayadi;
  • voltage kamayishi mumkin;
  • quvvat sarfi va issiqlik pasayadi.

Yuqori yukda frequency oshadi.

Real-time clock

RTC system sana-vaqtini saqlaydigan alohida soat.

CPU clockdan farqli:

  • juda past frequency;
  • kompyuter o‘chiq bo‘lsa ham batareya bilan ishlaydi;
  • calendar vaqtini yuritadi.

RTC va CPU clock bir tushuncha emas.

Bus clock

Buslar ham reference clock yoki embedded clockingdan foydalanadi.

PCIe kabi serial link data ichidan clock recovery qiladi.

Memory clock marketingdagi effective transfer rate bilan aralashmasligi kerak. DDRda transfer rate clockdan ikki baravar bo‘lishi mumkin.

Overclocking

Clock frequency ishlab chiqaruvchi standartidan yuqori oshirilsa overclocking deyiladi.

Yuqori frequency:

  • performance oshirishi;
  • voltage talab qilishi;
  • issiqlikni ko‘paytirishi;
  • timing xatolar;
  • system beqarorligi

keltirib chiqarishi mumkin.

Diagnostika

Clock bilan bog‘liq hardware muammosida:

  • actual frequency;
  • reference clock;
  • multiplier;
  • thermal throttling;
  • power limit;
  • voltage;
  • clock jitter;
  • memory timing;
  • error log;
  • stress test

tekshiriladi.

Monitoring vositasidagi “clock” qiymati target, effective yoki instant frequency bo‘lishi mumkin.

Bog‘liq tushunchalar

Frequency, Clock cycle, Oscillator, PLL, Multiplier, Clock domain, Jitter, Clock skew, Turbo frequency, RTC