ทำไมซีพียูจึงต้องใช้กระแสมาก?


37

ฉันรู้ว่าซีพียูธรรมดา (เช่น Intel หรือ AMD) สามารถใช้พลังงาน 45-140 W และซีพียูจำนวนมากทำงานที่ 1.2 V, 1.25 V เป็นต้น

ดังนั้นสมมติว่าซีพียูทำงานที่ 1.25 V และมี TDP 80 W ... ใช้ 64 แอมป์ (มากแอมป์)

  1. ทำไมซีพียูต้องการมากกว่า 1 A ในวงจร (สมมติว่า FinFET ทรานซิสเตอร์) ฉันรู้ว่าส่วนใหญ่เวลาที่ CPU ไม่ทำงานและ 60 A เป็น "pulses" ทั้งหมดเพราะ CPU มีนาฬิกา แต่ทำไม CPU ไม่สามารถทำงานที่ 1 V และ 1 A

  2. FinFET ทรานซิสเตอร์ขนาดเล็กและรวดเร็วตัวอย่างเช่น: 14 nm ทำงานที่ 3.0 GHz ต้องการกี่แอมป์ (โดยประมาณ)?

  3. กระแสที่สูงขึ้นทำให้ทรานซิสเตอร์เปิดและ / หรือปิดเร็วขึ้นหรือไม่


26
ซีพียูที่ทันสมัย ​​(ไม่มีซึ่ง 'ง่าย') ต้องการรางแรงดันไฟฟ้าจำนวนมากที่มีความต้องการพลังงานของตัวเอง คำถามของคุณสร้างข้อสันนิษฐานมากมายและมีข้อความที่ผิดพลาดมากมาย คุณต้องพิจารณาความต้องการพลังงานทั้งหมดและไม่ใช่เฉพาะสำหรับรางเดี่ยว
Wossname

8
สนใจ FinFET นับบน CPU ที่ทันสมัย ไม่ใช่ทุก FET ที่ใช้กระแสจาก Vdd ถึงกราวด์ แต่ถึงอย่างนั้น 64 A จะถูกกระจายไปทั่ว * เป็นจำนวนมาก * ของสวิตช์ FET เหล่านี้
glen_geek

9
@EricLippert "จะต้องดึง 64 แอมป์ออกจากกำแพง" - ฉันสงสัยว่าซีพียูจะไม่สามารถทำงานบน 110 V. ได้
Andrew Morton

6
ปริมาณที่อนุรักษ์ไว้คือพลังงานและโดยเฉลี่ยก็คือพลังงาน หาก CPU ดึง 64 วัตต์จากนั้นแหล่งจ่ายไฟจะต้องดึงอย่างน้อย 64 วัตต์จากซ็อกเก็ต นั่นคือ <1A แม้ที่ 110V
MSalters

6
@EricLippert มาเธอร์บอร์ดในคอมพิวเตอร์ของคุณมีตัวแปลง DC เป็น DC แบบมัลติเฟสที่ทำหน้าที่จ่ายแรงดันไฟฟ้า (12V ในกรณีของเดสก์ท็อปอาจเป็น 12-19V ในกรณีของแล็ปท็อป) ไปจนถึงแรงดันไฟฟ้าแกนกลาง สิ่งนี้ทำกับ POWER คงที่ดังนั้นกระแสเอาต์พุตจะสิ้นสุดที่ 10-20 เท่าของอินพุตปัจจุบัน ไม่ต้องพูดถึงแหล่งจ่ายไฟ 12V ในคอมพิวเตอร์เดสก์ท็อปก็มาจากแหล่งจ่ายไฟแบบสวิตชิ่งซึ่งจะแปลงด้วยพลังงานคงที่ CPU ในคอมพิวเตอร์ของคุณอาจมีหมุดพลังงานและกราวด์อย่างน้อย 100 เพื่อจัดการกระแส
alex.forencich

คำตอบ:


69
  1. ซีพียูไม่ได้ 'เรียบง่าย' ตามจินตนาการ เนื่องจากพวกเขามีทรานซิสเตอร์ไม่กี่พันล้านตัวแต่ละตัวจะมีการรั่วไหลเล็กน้อยที่ไม่ได้ใช้งานและจะต้องชาร์จและคายประจุเกตและประจุไฟฟ้าที่เชื่อมต่อกันในทรานซิสเตอร์ตัวอื่นเมื่อเปลี่ยน ใช่แต่ละคนวาดกระแสเล็ก ๆ น้อย ๆ แต่เมื่อคุณคูณมันด้วยจำนวนทรานซิสเตอร์คุณจะพบว่ามีจำนวนมากจนน่าประหลาดใจ 64A เป็นกระแสเฉลี่ยแล้ว ... เมื่อทำการสลับทรานซิสเตอร์สามารถดึงมากกว่าค่าเฉลี่ยได้มากและนี่จะถูกทำให้เรียบโดยตัวเก็บประจุบายพาส โปรดจำไว้ว่าตัวเลข 64A ของคุณมาจากการทำงานย้อนหลังจาก TDP ทำให้เป็น 64A RMS จริง ๆ และอาจมีความแตกต่างอย่างมีนัยสำคัญในช่วงเวลาต่างๆ (การเปลี่ยนแปลงในช่วงเวลาของนาฬิกา ) นอกจากนี้ คุณอาจหนีจากการใช้งาน CPU ที่ออกแบบมาเพื่อทำงานที่ 3 GHz ใน 1.2 โวลต์และ 64 แอมป์ที่ 1 โวลต์และ 1 แอมป์ .... อาจอยู่ที่ 3 MHz แม้ว่า ณ จุดนั้นคุณต้องกังวลว่าชิปจะใช้ลอจิกแบบไดนามิกที่มีความถี่สัญญาณนาฬิกาขั้นต่ำหรือไม่ดังนั้นคุณอาจต้องรันที่ความถี่ไม่กี่ร้อย MHz ถึง GHz และวนรอบเป็นสลีปลึกเป็นระยะเพื่อให้ได้ค่าเฉลี่ย ปัจจุบันลง บรรทัดล่างคือพลัง = ประสิทธิภาพ ประสิทธิภาพของ CPU ที่ทันสมัยส่วนใหญ่นั้นจริง ๆ แล้วมี จำกัด thermally ดังนั้นคุณอาจต้องรันด้วยความเร็วไม่กี่ร้อย MHz ถึง GHz และวนรอบเป็นโหมดสลีปลึกเป็นระยะเพื่อให้กระแสไฟฟ้าเฉลี่ยลดลง บรรทัดล่างคือพลัง = ประสิทธิภาพ ประสิทธิภาพของ CPU ที่ทันสมัยส่วนใหญ่นั้นจริง ๆ แล้วมี จำกัด thermally ดังนั้นคุณอาจต้องรันด้วยความเร็วไม่กี่ร้อย MHz ถึง GHz และวนรอบเป็นโหมดสลีปลึกเป็นระยะเพื่อให้กระแสไฟฟ้าเฉลี่ยลดลง บรรทัดล่างคือพลัง = ประสิทธิภาพ ประสิทธิภาพของ CPU ที่ทันสมัยส่วนใหญ่นั้นจริง ๆ แล้วมี จำกัด thermally
  2. I=CvαfICvαf
  3. เรียงจาก ยิ่งมีการประจุไฟหรือคายประจุของประตูเร็วขึ้นเท่าไหร่ทรานซิสเตอร์ก็จะเร็วขึ้นเท่านั้น การชาร์จเร็วขึ้นต้องใช้ความจุที่น้อยลง (พิจารณาจากรูปทรงเรขาคณิต) หรือกระแสที่ใหญ่ขึ้น (พิจารณาจากความต้านทานเชื่อมต่อระหว่างกันและแรงดันไฟฟ้าของอุปทาน) การสลับทรานซิสเตอร์แต่ละตัวเร็วขึ้นหมายความว่าพวกมันสามารถสลับได้บ่อยขึ้นซึ่งส่งผลให้เกิดกระแสเสมอโดยเฉลี่ยมากขึ้น (สัดส่วนกับความถี่สัญญาณนาฬิกา)

แก้ไข: ดังนั้นhttp://www.synopsys.com/community/universityprogram/documents/article-iitk/25nmtriplegatefinfetswithraisedsourcedrain.pdfมีรูปสำหรับความจุประตูของ FinFET 25nm ฉันจะเรียกมันว่า 0.1 fF เพื่อรักษาสิ่งที่ง่าย เห็นได้ชัดว่ามันแตกต่างกันไปตามแรงดันไบอัสและแน่นอนจะแตกต่างกันไปตามขนาดของทรานซิสเตอร์ (ทรานซิสเตอร์มีขนาดตามวัตถุประสงค์ในวงจรไม่ใช่ทรานซิสเตอร์ทั้งหมดจะมีขนาดเท่ากัน! ทรานซิสเตอร์ขนาดใหญ่จะ 'แข็งแกร่ง' เนื่องจากสามารถสลับกระแสได้มากขึ้น แต่พวกเขาก็มีความจุเกตที่สูงขึ้นและต้องการกระแสมากขึ้นในการขับเคลื่อน)

α=10.375μA. คูณด้วย 1 พันล้านและคุณจะได้ 375 A. นั่นคือค่าเกตกระแสไฟฟ้าเฉลี่ยที่ต้องการ (คิดค่าบริการต่อวินาทีเป็นค่าความจุของเกต) เพื่อสลับทรานซิสเตอร์ 1 พันล้านตัวที่ 3 GHz ไม่นับว่า 'ยิงผ่าน' ซึ่งจะเกิดขึ้นระหว่างการสลับในตรรกะลอจิก มันเป็นค่าเฉลี่ยด้วยดังนั้นกระแสในทันทีอาจแตกต่างกันมาก - ลองคิดดูว่ากระแสที่ลดลงแบบ asymptotically ลดลงอย่างไรเมื่อวงจร RC มีประจุเพิ่มขึ้น บายพาสตัวเก็บประจุบนพื้นผิวบรรจุภัณฑ์และแผงวงจรโดยให้การเปลี่ยนแปลงนี้ราบรื่นยิ่งขึ้น เห็นได้ชัดว่านี่เป็นเพียงรูปเบสบอล แต่ดูเหมือนจะเป็นลำดับความสำคัญ สิ่งนี้ยังไม่พิจารณากระแสรั่วไหลหรือประจุที่เก็บในปรสิตอื่น ๆ (เช่นการเดินสาย)

αα=1αα=0.25αα=0.000061α. ดังนั้นทำไมการใช้พลังงานหน่วยความจำแคชจึงมักถูกควบคุมโดยกระแสรั่วไหล - นั่นคือทรานซิสเตอร์ที่ไม่ได้ใช้งานจำนวนมากเพียงแค่นั่งรอบรั่วแทนที่จะเปลี่ยน


4
1V 1A ไม่ได้เป็นเป้าหมายที่แปลก แต่อย่างใด CPU ของ ARM นั้นค่อนข้างเฉพาะเจาะจงเป็น mW / MHz จากการเปรียบเทียบ Raspberry Pi A + ทั้งหมดใช้ 1 วัตต์รวมถึง CPU 700 Mhz - มากกว่า 3Mhz ที่น้อยกว่ามากแนะนำ
MSalters

2
การอ้างถึง "MIPS ต่อวัตต์" มีประโยชน์มากกว่าเนื่องจากปริมาณงานที่ทำต่อรอบสัญญาณนาฬิกานั้นแตกต่างกันไป
pjc50

1
มันขึ้นอยู่กับสิ่งที่ชิปออกแบบมาให้ทำ ชิปที่มี TDP 80W ที่ออกแบบมาเพื่อทำงานที่ 3 GHz ที่ 1.2 โวลต์อาจทำงานบน 1V และ 1A ... แต่ที่ 1V คุณจะต้องลดความเร็วลงอย่างมากและดึง 1A ให้คุณ จะต้องลดความเร็วให้มากขึ้น คุณจะไม่ไปไหนใกล้ 3 GHz ในกรณีนี้ ฉันไม่รู้ว่าสิ่งที่คุณจะสามารถบรรลุได้จริงเพราะฉันไม่ได้ลองด้วยตัวเอง บางที 3 เมกะเฮิรตซ์อาจเป็นแง่ร้ายเล็กน้อยสำหรับ i7 ที่ 1V และ 1A ตอนนี้เป็นไปได้อย่างแน่นอนที่จะออกแบบชิปให้ทำงานที่ระดับพลังงานดังที่คุณกล่าวถึง
alex.forencich

6
มันไม่ง่ายเลย ในความเป็นจริงพวกเขาเป็นหนึ่งในสิ่งที่ซับซ้อนที่สุดที่เราเคยสร้าง
joojaa

2
โมเดิร์น Intel / AMD ซีพียูใช้อย่างน้อยบางส่วนตรรกะแบบไดนามิกที่จริงจะล้มเหลวในการทำงานถ้าโอเวอร์คล็อกเกินไปต่ำ Intel Skylake (ตัวอย่าง) มีจุดความถี่ / แรงดันไฟฟ้าที่มีประสิทธิภาพขั้นต่ำ หากต้องการลดระดับพลังงาน / ปริมาณงานของ SoC ให้ต่ำลงจะเปลี่ยนแกนเข้าและออกจากโหมดสลีปที่รอบหน้าที่แปรผัน (> = 800us ที่อาจจะ ~ 1GHz (f ที่มีประสิทธิภาพมากที่สุด) หยุดพัก ดูIDF2015 ของ Efraim Rotem Skylake คุยกับ power-mgmt ได้ที่ประมาณ 53 นาทีใน
Peter Cordes

17

ตามที่Wikipediaซีพียูชั้นนำที่เปิดตัวในปี 2011 มีทรานซิสเตอร์ประมาณ 0.5 ถึง 2.5 พันล้าน สมมติว่าซีพียูที่มีทรานซิสเตอร์ 1 พันล้านตัวสิ้นเปลืองกระแส 64A กระแสเฉลี่ยเฉลี่ยเพียง 64nA ต่อทรานซิสเตอร์ เมื่อพิจารณาถึงความถี่ในการใช้งานหลาย GHz จริง ๆ แล้วมันน่าแปลกใจเล็กน้อย


สำหรับความถี่ในการทำงานที่สูงขึ้นของ CPU จำเป็นต้องใช้กระแสที่สูงขึ้นหรือไม่
Lu Ka

2
II0+kfCV2

4
ณ จุดนี้เราสามารถใส่ทรานซิสเตอร์บนซีพียูได้มากกว่าที่เราสามารถใช้ในเวลาเดียวกันโดยไม่ทำให้มันละลาย ดังนั้นในบางช่วงเวลาชิปส่วนใหญ่คือDark Silicon : ไม่ได้ขับเคลื่อน แต่นั่งอยู่ที่นั่นเพื่อรอในขณะที่ส่วนอื่น ๆ ของชิป (พร้อมฟังก์ชั่นพิเศษต่าง ๆ ) จะปิดตัวลง เช่นฮาร์ดแวร์เลขทศนิยมของเวกเตอร์ตัวคูณจำนวนเต็มของเวกเตอร์และหน่วยการสลับแบบเวกเตอร์ไม่สามารถอิ่มตัวได้ในครั้งเดียว แต่พวกมันแต่ละตัวมีปริมาณงานสูงเมื่อใช้เพียงอย่างเดียว นอกจากนี้แคชขนาดใหญ่ก็ไม่ได้เปลี่ยนไปมากนัก
Peter Cordes

1
นี่เป็นปัจจัยใหญ่ในซีพียูที่ได้รับฮาร์ดแวร์พิเศษมากขึ้นเช่นคำแนะนำ AES และ SHA crypto และ BMI2 ของ Intel (โดยเฉพาะอย่างยิ่งPEXT / PDEP บิตแยก / ฝาก ) บางอย่างเกี่ยวกับงบประมาณของทรานซิสเตอร์ที่สามารถเพิ่มปริมาณงานได้ แต่ไม่จำเป็นต้องเปิดเครื่องเมื่อไม่ได้ใช้งาน
Peter Cordes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.