Apa itu tanda centang CPU?

37

Pertanyaan:

  • Bagaimana kutu CPU dihitung dan apa yang diwakilinya?
  • Apakah satu ticksama dengan 10 milisecondsdemikian jika beberapa thread dilaporkan tidak dipanggil untuk ( 5 * 10 ticks = 500 ticks) apakah ini berarti CPU mungkin terlalu sibuk untuk menjadwalkan thread tersebut untuk bekerja ?
Harun
sumber
1
Anda dapat menempatkan "centang CPU" dalam konteks - mungkin memotong dan menempel paragraf dari sumber frasa. Saya khawatir bahwa mungkin ada kebingungan antara satu dari beberapa jawaban yang mungkin.
Mick

Jawaban:

31

Sebuah centang adalah unit sewenang-wenang untuk mengukur waktu sistem internal. Biasanya ada penghitung internal-OS untuk kutu; waktu dan tanggal saat ini yang digunakan oleh berbagai fungsi OS berasal dari penghitung itu.

Berapa milidetik yang diwakili oleh kutu tergantung pada OS, dan bahkan dapat bervariasi di antara instalasi. Gunakan mekanisme OS untuk mengubah kutu menjadi detik.

Mengenai mengapa utas melaporkan itu tidak disebut: Itu akan tergantung pada apakah utas memblokir di suatu tempat (menunggu, I / O dll.). Jika tidak memblokir, maka ya, penjadwal OS akan memutuskan kapan akan berjalan, yang mungkin lama jika sistem sibuk.

Edit:

Perhatikan bahwa, mungkin sayangnya, beberapa penulis juga menggunakan centang sebagai sinonim untuk siklus jam prosesor (misalnya teks ini ). Saya percaya penggunaan ini kurang tersebar luas, tetapi tetap, lebih baik untuk mencari tahu dulu apa yang orang bicarakan.

sleske
sumber
Jadi CPU membutuhkan sejumlah tick tick untuk menjalankan setiap instruksi?
Aaron
1
@ Harun: tidak, waktu pelaksanaan instruksi terikat ke sejumlah siklus prosesor tertentu. diberi OS tertentu pada CPU tertentu yang berjalan pada frekuensi tertentu, Anda dapat menghitung berapa banyak kutu yang diperlukan untuk melakukan instruksi tertentu, tetapi perhitungan itu tidak selalu berlaku untuk kombinasi OS / CPU / frekuensi / instruksi lainnya.
quack quixote
1
@ Harun: Tidak, kutu dan siklus prosesor adalah dua konsep yang berbeda. Panjang siklus prosesor ditentukan oleh perangkat keras (frekuensi CPU); kutu diproduksi oleh OS dan menggunakan berapa pun panjang OS (atau perancang) anggap tepat.
sleske
Jangan gunakan datetime.ticks () sebagai pengukur, ini sengaja dirancang secara konstan, untuk merepresentasikan tanggal dan waktu instance objek tersebut. Ini tergantung waktu, sedangkan kutu perangkat keras tidak tergantung waktu. Penamaan yang buruk pada bagian kerangka kerja.
Balikkan
1
@sleske Hmmm saya melihat perbedaannya. 'ticks' digunakan untuk menjadi sinonim untuk siklus CPU, serta istilah untuk "waktu yang konstan tanpa tergantung pada kecepatan jam CPU". Istilah yang sama dengan dua makna. Apakah itu benar?
Balikkan
3

Sunting: Diambil dari Perangkat Keras PC secara singkat :

"Jam prosesor mengoordinasikan semua operasi CPU dan memori dengan secara berkala menghasilkan sinyal referensi waktu yang disebut clock cycle atau tick . Frekuensi clock ditentukan dalam gigahertz (GHz), yang menentukan miliaran kutu per detik. Kecepatan clock menentukan seberapa cepat instruksi dijalankan. Beberapa instruksi memerlukan satu centang, lainnya beberapa centang, dan beberapa prosesor menjalankan beberapa instruksi selama satu centang. "


Waktu antara kutu ditentukan oleh kecepatan jam Anda, dan dibutuhkan satu hingga banyak kutu tergantung pada OP yang dilakukan. Sebagai contoh, CPU kelas 286 membutuhkan 20 kutu untuk mengalikan dua angka.

Jika Anda membutuhkan pengatur waktu kinerja tinggi, maka saya tidak berpikir Anda dapat mengandalkan kutu yang konstan di semua sistem.

Penjadwal CPU dapat menunda utas, terutama jika ada utas lain dengan prioritas lebih tinggi. Jadi ya, CPU bisa saja terlalu sibuk.

membalikkan
sumber
4
-1 Anda membingungkan kutu dan siklus prosesor. tickspada sistem Unix biasanya terjadi 60 atau 100 kali per detik, dan tidak terikat pada kecepatan proc.
sleske
1
Saya berbicara tentang kutu perangkat keras. a 1 hz CPU memproses 1 tick (cycle) per detik, 200Hz dapat memproses 200 siklus per detik, 2GHz dua miliar siklus / detik. Semakin cepat CPU Anda, semakin banyak siklus / detik yang Anda dapatkan.
Balikkan
2
Ah, begitu, beberapa penulis menggunakan ticksinonim untuk processor cycle. Tetap saja, saya kebanyakan melihat tickdigunakan seperti dijelaskan dalam jawaban saya di atas. Tapi saya kira terminologi bervariasi, seperti biasa :-(. Saya mengedit jawaban saya.
sleske