เหตุใดโปรเซสเซอร์ทำงานหนักกว่าใช้พลังงานไฟฟ้ามากกว่า


16

ย้อนกลับไปในช่วงเวลาที่ฉันเริ่มเขียนโค้ดอย่างน้อยที่สุดเท่าที่ฉันรู้โปรเซสเซอร์ทั้งหมดใช้พลังงานคงที่ ไม่มีสิ่งเช่นโปรเซสเซอร์ที่เป็น "ว่าง"

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

คำถามของฉันคือทำไมการทำงานที่อัตรานาฬิกาที่ต่ำกว่าใช้พลังงานน้อยกว่า

ภาพจิตของโปรเซสเซอร์เป็นแรงดันอ้างอิง (พูด 5V) แทนไบนารี 1 และ 0V แทน 0 ดังนั้นฉันมักจะคิดว่า 5V คงที่ถูกนำไปใช้กับชิปทั้งหมดโดยมีประตูตรรกะต่างๆตัดการเชื่อมต่อแรงดันไฟฟ้านี้ เมื่อ "ปิด" หมายถึงการใช้พลังงานจำนวนคงที่ อัตราการเปิดและปิดประตูเหล่านี้ดูเหมือนจะไม่มีความสัมพันธ์กับพลังที่ใช้

ฉันไม่สงสัยเลยว่านี่เป็นภาพที่ไร้เดียงสาอย่างไร้ความหวัง แต่ฉันไม่ใช่วิศวกรไฟฟ้า บางคนสามารถอธิบายสิ่งที่เกิดขึ้นจริง ๆ กับการปรับสเกลความถี่และวิธีการประหยัดพลังงาน มีวิธีอื่นใดที่โปรเซสเซอร์ใช้พลังงานมากหรือน้อยขึ้นอยู่กับสถานะหรือไม่? เช่นใช้พลังงานมากขึ้นไหมถ้ามีประตูเปิดมากขึ้น?

โปรเซสเซอร์มือถือ / พลังงานต่ำแตกต่างจากลูกพี่ลูกน้องเดสก์ทอปอย่างไร พวกมันง่ายกว่า (ทรานซิสเตอร์น้อยกว่า) หรือมีความแตกต่างในการออกแบบพื้นฐานอื่น ๆ บ้างไหม?


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

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

3
@ SK-logic: โปรเซสเซอร์ที่ผ่านมาจำนวนมากใช้ลอจิก ECL ซึ่งกินไฟในปริมาณเท่ากันไม่ว่าอัตรานาฬิกาจะเป็นเท่าไหร่ Seymour Cray ออกแบบ CDC 8600, Cray-1, Cray X-MP, Cray Y-MP, Cray T90 เพื่อใช้ ECL บทความ Wikipedia ECL logicแสดงรายการเพิ่มเติมจาก บริษัท อื่นไม่กี่แห่ง คุณกำลังบอกว่าเครื่องจักรเหล่านั้นไม่เคยมีอยู่หรือคุณกำลังบอกว่าพวกเขาไม่นับเป็นโปรเซสเซอร์หรือไม่?
davidcary

โปรเซสเซอร์ยังประหยัดพลังงานโดยใช้คำสั่งหยุด เคอร์เนลระบบปฏิบัติการสามารถตั้งเวลาเพื่อปลุกโปรเซสเซอร์และดำเนินการตามคำสั่งนั้นเพื่อให้โปรเซสเซอร์หลับไป
Oskar Skog

คำตอบ:


24

อัตราการเปิดและปิดประตูเหล่านี้ดูเหมือนจะไม่มีความสัมพันธ์กับพลังที่ใช้

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

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


นั่นคือสิ่งที่เกิดขึ้นในหน่วยความจำ - หน่วยความจำ DRAM หน่วยความจำจากตัวประมวลผล (แคช) ใช้ SRAM ซึ่งไม่ได้นำไปใช้กับตัวเก็บประจุ ...

7
@ m3th0dman: ฉันไม่ได้พูดถึงองค์ประกอบที่ตั้งใจจะเป็นตัวเก็บประจุ ทุกทรานซิสเตอร์ทุกองค์ประกอบภายในซีพียูมีประจุ

7

ในขณะที่ความคิดเห็นของ SK-logic ชี้ให้เห็นถึงพลังส่วนใหญ่ที่ใช้ในการสลับ flip-flop แทนที่จะเป็นสถานะที่มั่นคง

สำหรับการลดแบบไดนามิกมีสองสิ่งหลักที่คุณสามารถทำได้ IIRC

  1. หากพื้นที่ทั้งหมดของชิปไม่ถูกโอเวอร์คล็อกคุณสามารถปิดไฟสำหรับพื้นที่เหล่านั้นได้อย่างสมบูรณ์

  2. ทรีนาฬิกานั้นเป็นหนึ่งในท่อจ่ายพลังงานที่ใหญ่ที่สุดในระบบส่วนใหญ่เนื่องจากเป็นส่วนเปลี่ยนที่เร็วที่สุดของระบบ ดังนั้นการลดพลังงานในทรีนาฬิกาจึงมีความสำคัญ


ต้นไม้นาฬิกาคืออะไร?
akaltar

2
@akaltar จำนวนบรรทัดทั้งหมดที่กระจายสัญญาณนาฬิกาไปยังทุกองค์ประกอบของโปรเซสเซอร์ที่จำเป็นต้องซิงโครไนซ์กับนาฬิกา
Michael Borgwardt

6

กำลังไฟฟ้าที่ใช้โดยวงจรอิเล็กทรอนิกส์มีสององค์ประกอบ:

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

เพื่อลดการใช้พลังงานผู้ออกแบบโปรเซสเซอร์ใช้เทคนิคหลายประการ:

  • การปรับเปลี่ยนความถี่ขึ้นอยู่กับโหลด (สิ่งนี้จะทำหน้าที่เฉพาะกับพลังงานสลับ)
  • ลดกำลังไฟหรือปิดส่วนต่าง ๆ ของวงจรเมื่อไม่ต้องการใช้

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


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

0

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

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


ฉันไม่เห็นด้วยกับฌอน การลดอัตรานาฬิกาลดการสูญเสียการสลับกาฝากที่เกี่ยวข้องในห่วงโซ่นาฬิกาทั้งหมดซึ่งมีขนาดใหญ่ในซีพียูทั่วไป ฉัน Atom เน็ตบุ๊กที่วิ่ง 1GHz ถ้าฉันเค้นซีพียู 500MHz ลงไปมันทำงานเย็นและเห็นได้ชัดเหลือพลังงานน้อยลงจากจากอุปทานและจะไม่ส่งผลกระทบต่องาน - มันจะใช้เวลานานเป็นสองเท่าที่จะเสร็จสมบูรณ์
rdtsc

2
@rdtsc ระวังตอนนี้ ฌอนเขียนพลังงานไม่อำนาจ
ท่อ

@rdtsc คุณสับสนพลังและพลังงาน อันดับแรกงานที่เฉพาะเจาะจงจะต้องใช้จำนวนรอบนาฬิกาที่แน่นอน คิดว่าแบตเตอรี่จะตอบสนองต่องานของคุณที่จุดปฏิบัติการต่างกันสองจุดอย่างไร
Sean Houlihane

อ่าใช่ ยังคงทำงานกับกาแฟถ้วยแรกที่นี่ :) ฉันต้องวัดมัน แต่ฉันคิดว่าพลังงานที่ใช้จริงจะเพิ่มขึ้นเล็กน้อยด้วยอัตรานาฬิกาที่ต่ำกว่าเนื่องจาก CPU ที่ทันสมัยมีเหตุการณ์เป็นระยะ ๆ มากมายให้จัดการต่อวินาที จะมีสิ่งเหล่านี้มากขึ้นสำหรับนาฬิกาที่ช้ากว่าและอื่น ๆ หมายถึงเวลาในการทำงานให้เสร็จ
rdtsc

บางพื้นหลังที่เกี่ยวข้องการอ่านanandtech.com/show/9330/exynos-7420-deep-dive/6
Sean Houlihane
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.