คำถาม:
- CPU tick ถูกคำนวณอย่างไรและมันแสดงถึงอะไร?
- ไม่เป็นหนึ่งเดียว
tick
ถือเอา10 miliseconds
ดังนั้นหากด้ายบางรายงานไม่ได้เรียกร้องให้ (5 * 10 ticks = 500 ticks
) นี้หมายความว่าซีพียูอาจจะยุ่งเกินไปที่จะกำหนดเวลาหัวข้อดังกล่าวข้างต้นที่จะทำงาน ?
tick
ถือเอา10 miliseconds
ดังนั้นหากด้ายบางรายงานไม่ได้เรียกร้องให้ ( 5 * 10 ticks = 500 ticks
) นี้หมายความว่าซีพียูอาจจะยุ่งเกินไปที่จะกำหนดเวลาหัวข้อดังกล่าวข้างต้นที่จะทำงาน ?คำตอบ:
เห็บเป็นหน่วยพลสำหรับการวัดเวลาของระบบภายใน โดยปกติจะมีตัวนับ OS ภายในสำหรับเห็บ; เวลาและวันที่ปัจจุบันที่ใช้โดยฟังก์ชั่นต่างๆของระบบปฏิบัติการนั้นมาจากตัวนับนั้น
จำนวนติ๊กเป็นกี่มิลลิวินาทีขึ้นอยู่กับระบบปฏิบัติการและอาจแตกต่างกันระหว่างการติดตั้ง ใช้กลไกของระบบปฏิบัติการเพื่อแปลงเห็บเป็นวินาที
sysconf(_SC_CLK_TCK);
จำนวนของนาฬิกาเห็บต่อวินาทีสามารถรับใช้ ดูเช่นhttp://linux.die.net/man/2/timesสำหรับสาเหตุที่เธรดรายงานไม่ถูกเรียกใช้: นั่นจะขึ้นอยู่กับว่าเธรดกำลังบล็อกอยู่ที่ไหนสักแห่ง (กำลังรอ I / O ฯลฯ ) หากยังไม่ได้ปิดกั้นใช่แล้วตัวกำหนดตารางเวลาของระบบปฏิบัติการจะตัดสินใจเมื่อมันถูกเรียกใช้ซึ่งอาจใช้เวลานานถ้าระบบไม่ว่าง
แก้ไข:
โปรดทราบว่าอาจเป็นที่น่าเสียดายที่ผู้เขียนบางคนใช้เห็บเป็นคำพ้องสำหรับวงจรสัญญาณนาฬิกาของโปรเซสเซอร์ (เช่นข้อความนี้ ) ฉันเชื่อว่าการใช้งานนี้แพร่หลายน้อยกว่า แต่ก็ยังดีที่สุดที่จะค้นพบสิ่งที่ผู้คนกำลังพูดถึงก่อน
แก้ไข:นำมาจากฮาร์ดแวร์ของพีซีโดยย่อ :
"นาฬิกาโปรเซสเซอร์ประมวลผลการทำงานของ CPU และหน่วยความจำทั้งหมดโดยการสร้างสัญญาณอ้างอิงเวลาเป็นระยะ ๆ เรียกว่าวงจรสัญญาณนาฬิกาหรือสัญญาณติ๊กความถี่สัญญาณนาฬิกาถูกระบุในหน่วยกิกะเฮิร์ตซ์ (GHz) ซึ่งระบุสัญญาณเตือนนับพันล้านต่อวินาที คำแนะนำบางคำต้องการหนึ่งเห็บเห็บอื่น ๆ หลายเห็บและโปรเซสเซอร์บางตัวดำเนินการหลายคำสั่งในระหว่างหนึ่งเห็บ "
เวลาระหว่างขีดถูกกำหนดโดยความเร็วสัญญาณนาฬิกาของคุณและใช้เวลาหนึ่งถึงหลายเห็บขึ้นอยู่กับ OP ที่กำลังดำเนินการ ตัวอย่างเช่น CPU 286 คลาสต้องการ20 ขีดเพื่อคูณสองตัวเลข
หากคุณต้องการตัวจับเวลาประสิทธิภาพสูงฉันไม่คิดว่าคุณจะสามารถใช้เห็บได้อย่างต่อเนื่องในทุกระบบ
ตัวกำหนดตารางเวลาของ CPU อาจทำให้เธรดล่าช้าโดยเฉพาะถ้ามีเธรดอื่นที่มีลำดับความสำคัญสูงกว่า ใช่แล้ว CPU อาจยุ่งเกินไป
ticks
บนระบบ Unix มักจะเกิดขึ้น 60 หรือ 100 ครั้งต่อวินาทีและไม่ได้ผูกไว้กับความเร็วของ proc
tick
processor cycle
ยังฉันส่วนใหญ่เห็นtick
ใช้ตามที่อธิบายไว้ในคำตอบของฉันข้างต้น แต่ผมคิดว่าคำศัพท์ที่แตกต่างกันไปตามปกติ :-( ฉันแก้ไขคำตอบของฉัน..