สรุป
เศรษฐศาสตร์. มันถูกกว่าและง่ายกว่าในการออกแบบ CPU ที่มีคอร์มากกว่าความเร็วนาฬิกาที่สูงขึ้นเนื่องจาก:
เพิ่มขึ้นอย่างมากในการใช้พลังงาน การใช้พลังงาน CPU เพิ่มขึ้นอย่างรวดเร็วเมื่อคุณเพิ่มความเร็วนาฬิกา - คุณสามารถเพิ่มจำนวนแกนประมวลผลเป็นสองเท่าด้วยความเร็วที่ต่ำลงในพื้นที่ระบายความร้อนที่ใช้ในการเพิ่มความเร็วนาฬิกา 25% สี่เท่าสำหรับ 50%
มีวิธีอื่นในการเพิ่มความเร็วในการประมวลผลตามลำดับและผู้ผลิต CPU ใช้ประโยชน์จากสิ่งเหล่านั้นได้ดี
ฉันจะวาดคำตอบที่ยอดเยี่ยมสำหรับคำถามนี้ในเว็บไซต์ SE ของเรา ดังนั้นไปโหวตพวกเขา!
ข้อ จำกัด ความเร็วนาฬิกา
มีข้อ จำกัด ทางกายภาพบางประการที่ทราบถึงความเร็วสัญญาณนาฬิกา:
เวลาการส่ง
เวลาที่ใช้สำหรับสัญญาณไฟฟ้าในการเคลื่อนที่ของวงจรถูก จำกัด ด้วยความเร็วของแสง นี้เป็นวงเงินยากและไม่มีทางที่รู้จักกันรอบ1 ที่ gigahertz-clock เรากำลังเข้าใกล้ขีด จำกัด นี้
อย่างไรก็ตามเรายังไม่ได้มี 1 GHz หมายถึงหนึ่งนาโนวินาทีต่อหนึ่งขีดสัญญาณนาฬิกา ในเวลานั้นแสงสามารถเดินทาง 30 ซม. ที่ 10 GHz แสงสามารถเคลื่อนที่ได้ 3 ซม. ซีพียูแกนเดี่ยวกว้างประมาณ 5 มม. ดังนั้นเราจะพบกับปัญหาเหล่านี้ที่ผ่านมา 10 GHz 2
การสลับการหน่วงเวลา
มันไม่เพียงพอที่จะพิจารณาเพียงแค่เวลาที่ใช้ในการส่งสัญญาณจากปลายด้านหนึ่งไปอีกด้านหนึ่ง เราต้องพิจารณาเวลาที่ใช้ในการลอจิกเกทภายใน CPU เพื่อเปลี่ยนจากสถานะหนึ่งไปเป็นอีกสถานะหนึ่ง! เมื่อเราเพิ่มความเร็วสัญญาณนาฬิกานี่อาจกลายเป็นปัญหา
น่าเสียดายที่ฉันไม่แน่ใจเกี่ยวกับข้อมูลเฉพาะและไม่สามารถระบุตัวเลขใด ๆ ได้
เห็นได้ชัดว่าการสูบฉีดพลังงานมากขึ้นจะสามารถเปลี่ยนความเร็วได้ แต่สิ่งนี้นำไปสู่ปัญหาการใช้พลังงานและการระบายความร้อน นอกจากนี้พลังงานที่มากขึ้นหมายถึงคุณต้องมีท่อร้อยสายไฟที่สามารถจัดการได้โดยไม่เกิดความเสียหาย
การกระจายความร้อน / การใช้พลังงาน
นี่คือสิ่งที่ยิ่งใหญ่ อ้างจากคำตอบของ fuzzyhair2 :
โปรเซสเซอร์ล่าสุดผลิตขึ้นโดยใช้เทคโนโลยี CMOS ทุกครั้งที่มีรอบสัญญาณนาฬิกาพลังงานจะกระจายไป ดังนั้นความเร็วโปรเซสเซอร์ที่สูงขึ้นหมายถึงการกระจายความร้อนมากขึ้น
มีการวัดที่น่ารักที่กระทู้ในฟอรัม AnandTechและพวกเขายังได้รับสูตรสำหรับการใช้พลังงาน (ซึ่งจับคู่กับความร้อนที่เกิดขึ้น):
เครดิตกับIdontcare
เราสามารถเห็นภาพนี้ในกราฟต่อไปนี้:
เครดิตกับIdontcare
อย่างที่คุณเห็นการใช้พลังงาน (และความร้อนที่เกิดขึ้น) จะเพิ่มขึ้นอย่างรวดเร็วอย่างมากเมื่อความเร็วสัญญาณนาฬิกาเพิ่มขึ้นจนถึงจุดหนึ่ง ทำให้ไม่สามารถเพิ่มความเร็วนาฬิกาได้อย่างไร้ขอบเขต
เหตุผลในการใช้พลังงานที่เพิ่มขึ้นอย่างรวดเร็วอาจเกี่ยวข้องกับความล่าช้าในการสลับ - ไม่เพียงพอที่จะเพิ่มพลังงานตามสัดส่วนของอัตรานาฬิกา แรงดันไฟฟ้าจะต้องเพิ่มขึ้นเพื่อรักษาเสถียรภาพที่นาฬิกาที่สูงขึ้น สิ่งนี้อาจไม่ถูกต้องสมบูรณ์ อย่าลังเลที่จะชี้ให้เห็นการแก้ไขในความคิดเห็นหรือแก้ไขคำตอบนี้
แกนเพิ่มเติมหรือไม่
เหตุใดจึงต้องมีแกนเพิ่มเติม ฉันไม่สามารถตอบได้อย่างชัดเจน คุณต้องถามคนที่ Intel และ AMD แต่คุณสามารถเห็นได้ว่าด้วยซีพียูที่ทันสมัยในบางครั้งมันจะไม่สามารถใช้งานได้เพื่อเพิ่มความเร็วสัญญาณนาฬิกา
ใช่มัลติคอร์ยังเพิ่มพลังงานที่ต้องการและการกระจายความร้อน แต่มันก็ช่วยหลีกเลี่ยงเวลาในการส่งและการสลับการหน่วงเวลาได้อย่างเรียบร้อย และอย่างที่คุณเห็นจากกราฟคุณสามารถเพิ่มจำนวนแกนในซีพียูสมัยใหม่ได้อย่างง่ายดายด้วยค่าใช้จ่ายจากความร้อนเท่ากันเมื่อเพิ่มความเร็วนาฬิกา 25%
บางคนทำไปแล้ว - สถิติโลกการโอเวอร์คล็อกในปัจจุบันเพียง 9 GHz แต่มันเป็นความท้าทายทางวิศวกรรมที่สำคัญในการทำเช่นนั้นในขณะที่รักษาการใช้พลังงานภายในขอบเขตที่ยอมรับได้ ในบางจุดผู้ออกแบบได้ตัดสินใจว่าการเพิ่มคอร์มากขึ้นเพื่อทำงานในแบบคู่ขนานมากขึ้นจะช่วยเพิ่มประสิทธิภาพให้กับประสิทธิภาพในกรณีส่วนใหญ่
นั่นคือสิ่งที่เศรษฐศาสตร์เข้ามา - มีแนวโน้มว่าจะถูกกว่า (ใช้เวลาในการออกแบบน้อยลงและมีความซับซ้อนน้อยกว่าในการผลิต) เพื่อไปสู่เส้นทางที่มีหลายสาขา และง่ายต่อการทำตลาด - ใครไม่ชอบชิปocta-coreใหม่ล่าสุด (แน่นอนเรารู้ว่ามัลติคอร์นั้นไร้ประโยชน์เมื่อซอฟต์แวร์ไม่ได้ใช้ประโยชน์ ... )
มีข้อเสียคือการมัลติคอร์: คุณต้องการพื้นที่ทางกายภาพเพิ่มเติมเพื่อวางแกนเสริม อย่างไรก็ตามขนาดของกระบวนการซีพียูมีการหดตัวลงอย่างต่อเนื่องดังนั้นจึงมีพื้นที่เหลือเฟือที่จะนำสำเนาสองชุดของการออกแบบก่อนหน้า - การแลกเปลี่ยนที่แท้จริงไม่สามารถสร้างแกนเดี่ยวที่มีขนาดใหญ่และซับซ้อนมากขึ้นได้ จากนั้นอีกครั้งการเพิ่มความซับซ้อนหลักเป็นสิ่งที่ไม่ดีจากมุมมองการออกแบบความซับซ้อนมากขึ้น = ข้อผิดพลาด / ข้อบกพร่องมากขึ้นและข้อผิดพลาดในการผลิต ดูเหมือนว่าเราจะพบสื่อที่มีความสุขพร้อมคอร์ที่มีประสิทธิภาพซึ่งง่ายพอที่จะไม่ใช้พื้นที่มากเกินไป
เรามีจำนวนคอร์ที่เราสามารถใส่แม่พิมพ์เดียวที่ขนาดกระบวนการปัจจุบันได้แล้ว เราอาจถึงขีด จำกัด ว่าเราจะหดขนาดของสิ่งต่าง ๆ ในไม่ช้า แล้วมีอะไรต่อไป พวกเราต้องการอะไรมากกว่านี้? น่าเสียดายที่ตอบยาก ใครที่นี่มีญาณทิพย์?
วิธีอื่น ๆ เพื่อปรับปรุงประสิทธิภาพ
ดังนั้นเราไม่สามารถเพิ่มความเร็วนาฬิกาได้ และแกนประมวลผลเพิ่มเติมมีข้อเสียเพิ่มเติม - กล่าวคือพวกเขาช่วยได้ก็ต่อเมื่อซอฟต์แวร์ที่ทำงานอยู่สามารถใช้ประโยชน์ได้
แล้วเราจะทำอะไรได้อีก ซีพียูรุ่นใหม่จะเร็วกว่ารุ่นเก่าด้วยความเร็วสัญญาณเท่าไหร่?
ความเร็วสัญญาณนาฬิกาเป็นเพียงการประมาณคร่าวๆของการทำงานภายในของ CPU ส่วนประกอบของ CPU ไม่ได้ทำงานด้วยความเร็วนั้น - บางอันอาจทำงานได้ทุก ๆ สองเห็บ ฯลฯ
สิ่งที่สำคัญคือจำนวนคำสั่งที่คุณสามารถใช้งานได้ต่อหน่วยของเวลา นี่เป็นการวัดที่ดีกว่าว่าจะใช้ซีพียูแกนเดี่ยวเพียงใดในการบรรลุผล คำแนะนำบางอย่าง; บางคนจะใช้เวลาหนึ่งรอบนาฬิกาบางคนจะใช้เวลาสาม ตัวอย่างเช่นการหารช้ากว่าการเติมมาก
ดังนั้นเราสามารถทำให้ซีพียูทำงานได้ดีขึ้นโดยการเพิ่มจำนวนคำสั่งที่สามารถประมวลผลได้ต่อวินาที อย่างไร? คุณสามารถทำให้การเรียนการสอนมีประสิทธิภาพมากขึ้น - การหารอาจใช้เวลาเพียงสองรอบเท่านั้น จากนั้นก็มีการเรียนการสอน pipelining ด้วยการแบ่งคำสั่งแต่ละคำสั่งออกเป็นหลายขั้นตอนเป็นไปได้ที่จะเรียกใช้คำสั่ง "แบบขนาน" - แต่คำสั่งแต่ละคำสั่งยังคงมีลำดับที่ดีกำหนดลำดับตามคำแนะนำก่อนและหลังดังนั้นจึงไม่จำเป็นต้องมีการสนับสนุนซอฟต์แวร์เช่นมัลติ ทำ.
มีวิธีอื่น : คำแนะนำเพิ่มเติมโดยเฉพาะ เราเห็นสิ่งต่าง ๆ เช่น SSE ซึ่งให้คำแนะนำในการประมวลผลข้อมูลจำนวนมากในคราวเดียว มีชุดคำสั่งใหม่ที่ถูกนำเสนออย่างต่อเนื่องโดยมีเป้าหมายที่คล้ายกัน สิ่งเหล่านี้ต้องการการสนับสนุนซอฟต์แวร์และเพิ่มความซับซ้อนของฮาร์ดแวร์ แต่ให้ประสิทธิภาพที่ดี เมื่อเร็ว ๆ นี้มี AES-NI ซึ่งให้การเข้ารหัสและถอดรหัส AES แบบเร่งด้วยฮาร์ดแวร์ซึ่งเร็วกว่าการคำนวณทางคณิตศาสตร์จำนวนมากในซอฟต์แวร์
1ไม่จำเป็นต้องมีฟิสิกส์ควอนตัมเชิงทฤษฎีมาก่อน
2จริง ๆ แล้วมันอาจต่ำกว่าเนื่องจากการแพร่กระจายของสนามไฟฟ้าไม่เร็วเท่ากับความเร็วของแสงในสุญญากาศ นอกจากนี้นั่นเป็นเพียงสำหรับระยะทางตรง - เป็นไปได้ว่ามีอย่างน้อยหนึ่งเส้นทางที่ยาวกว่าเส้นตรงมาก