CPU จะเปลี่ยนความถี่สัญญาณนาฬิกาแบบไดนามิกได้อย่างไร


16

Intel CPU ของฉันเปลี่ยนความเร็วสัญญาณนาฬิกาตามการใช้งาน แต่จะกำหนดความเร็วสัญญาณนาฬิกาได้อย่างไร ความเร็วสัญญาณนาฬิกาถูกกำหนดโดยซอฟต์แวร์ระบบปฏิบัติการโดยใช้อัลกอริธึมหรือเป็นฮาร์ดแวร์หรือไม่ มันขึ้นอยู่กับ # ของการขัดจังหวะหรือไม่ ผลประกอบการแคช? CPU ตั้งค่านาฬิกาของตัวเองหรือไม่? หรือคอนโทรลเลอร์แยกต่างหากตั้งค่าหรือไม่? หรือซอฟต์แวร์?


1
ซีพียูตัวไหน ระบบฝังตัวมักใช้งานไม่ได้
Leon Heller

บางสิ่งบางอย่างบางทีมากขึ้นสำหรับSuperUser ?

ตระกูลโปรเซสเซอร์แบบฝังบางตระกูลเช่น PIC24F มีอัตราสัญญาณนาฬิกาที่ตั้งโปรแกรมได้และสามารถใช้เพื่อประหยัดพลังงานได้ oscillator ภายนอกสามารถใช้เพื่อให้นาฬิกาสำหรับอุปกรณ์ต่อพ่วงที่มีความไวต่อเวลายังคงมีเสถียรภาพ
Kaz

คำตอบ:


18

นาฬิกาแกนหลักของ CPU ไม่ได้รับโดยตรงจากเมนบอร์ด โดยทั่วไปแล้วนาฬิกานั้นจะช้ากว่าปกติ (โดยมากคือ 10 หรือมากกว่า) กว่าความถี่ภายในของซีพียู แต่สัญญาณนาฬิกาจากแผงวงจรหลักจะถูกใช้เป็นความถี่อ้างอิงสำหรับออสซิลเลเตอร์ที่ควบคุมลูปควบคุมในซีพียู นาฬิกาที่สร้างขึ้นจะทำงานที่นาฬิกาอ้างอิงหลาย ๆ อันและสามารถเปลี่ยนได้หลายรายการโดยการตั้งค่าการลงทะเบียนบางอย่างใน CPU นาฬิการุ่นที่เกิดขึ้นจริงนั้นใช้ฮาร์ดแวร์อย่างหมดจด

เพื่อลดการใช้พลังงานให้มากขึ้นซีพียูยังส่งสัญญาณไปยังตัวควบคุมแรงดันไฟฟ้าที่จ่ายแรงดันไฟฟ้าหลักให้ทำงานที่จุดต่ำกว่า ที่ความถี่ต่ำซีพียูสามารถทำงานที่แรงดันไฟฟ้าต่ำโดยไม่ทำงานผิดปกติและเนื่องจากการใช้พลังงานเป็นสัดส่วนกับกำลังสองของแรงดันไฟฟ้าแม้แต่การลดลงของแรงดันไฟฟ้าเพียงเล็กน้อยก็สามารถประหยัดพลังงานได้เป็นจำนวนมาก

การปรับขนาดแรงดันไฟฟ้าและความถี่ทำได้โดยฮาร์ดแวร์ แต่การตัดสินใจทำงานในโหมดพลังงานต่ำนั้นทำโดยซอฟต์แวร์ (ระบบปฏิบัติการ) วิธีที่ระบบปฏิบัติการกำหนดให้โหมดที่เหมาะสมที่สุดในการทำงานนั้นเป็นปัญหาที่แยกกันยุ่งเหยิง แต่ก็น่าจะเกิดขึ้นกับส่วนใหญ่ที่เวลา% ของระบบว่างเมื่อเร็ว ๆ นี้ ไม่ได้ใช้งานเป็นส่วนใหญ่ลดความถี่ลง ยุ่งเป็นส่วนใหญ่ให้เพิ่มความถี่ เมื่อระบบปฏิบัติการตัดสินใจความถี่ที่จะทำงานมันเป็นเพียงเรื่องของการตั้งค่าการลงทะเบียน

การอ้างอิง: " เทคโนโลยี Enhanced Intel SpeedStep สำหรับโปรเซสเซอร์ Intel Pentium M "


3
คุณสมบัติเช่น Turbo Boost ของ Intel ไม่ต้องการการแทรกแซงของซอฟต์แวร์เพื่อใช้ประโยชน์จากพื้นที่ระบายความร้อนโดยการเพิ่มความถี่สัญญาณนาฬิกา เห็นได้ชัดว่าฮาร์ดแวร์ยังสามารถติดตามปัญหาคอขวดของประสิทธิภาพที่ไม่ได้คำนวณได้ (เช่นโดยการนับรอบคอกเนื่องจากการเข้าถึงหน่วยความจำ) และลดความถี่เมื่อประสิทธิภาพของการคำนวณไม่ใช่คอขวดหลัก
Paul A. Clayton

Btw เงินออมที่เกี่ยวกับการเปลี่ยนความถี่เป็นเส้นตรงและไม่มากเนื่องจากการนำซึ่งจะเป็นความสัมพันธ์ av ^ 2
JonRB

3

ในระบบปฏิบัติการสมัยใหม่มีบางสิ่งที่เรียกว่า "task scheduler" มันทำงานเป็นระยะ ๆ (เร็วมาก) และเลือก (จากรายการ) ซึ่งจะทำงานต่อไป งานสามารถอยู่ในหลายสถานะเช่นเลือกถูกบล็อกนอนหลับ ฯลฯ

หากงานทั้งหมดอยู่ในโหมดเลือก (รอบางสิ่งจากระบบปฏิบัติการ) และไม่สามารถให้บริการหรือบางงานกำลังทำงานอยู่ ฯลฯ ดังนั้นจึงไม่มีการใช้งานตัวประมวลผลจำนวนมากตัวจัดตารางงานจะเรียกใช้งานพิเศษที่เรียกว่า "idle "

หากไดรเวอร์ CPU ตรวจสอบตารางตัวกำหนดเวลางานและตรวจสอบว่างานว่างกำลังทำงานเกือบตลอดเวลาของ CPU ก็จะส่งคำสั่งไปยังวงจรสร้างนาฬิกา PLL ของ CPU เพื่อลดเวลาของนาฬิกา ตรงกันข้ามถ้างานว่างใช้เวลา CPU น้อยลง (หมายความว่า CPU กำลังถูกใช้งานอย่างหนัก) ไดรเวอร์ CPU จะเพิ่มความเร็ว CPU

มันไม่ได้ยากมาก แต่มีขีด จำกัด ต่ำกว่าซึ่ง CPU ไม่สามารถควบคุมปริมาณที่ต่ำลงได้เนื่องจาก CPU บางตัวนั้นไม่คงที่ทั้งหมด (ดังนั้นพวกเขาจึงต้องการการรีเฟรชรอบ) ซีพียูคงที่อย่างสมบูรณ์สามารถไปต่ำเป็น 0 (ศูนย์) MHz เพราะไม่มีรัฐที่จะหายไปหากนาฬิกาหยุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.