เหตุใด“ เพิ่มคอร์มากขึ้น” จึงไม่มีข้อ จำกัด ทางกายภาพเหมือนกับ“ ทำให้ซีพียูเร็วขึ้น”?


110

ในปี 2014 ฉันได้ยินภาษาการเขียนโปรแกรมจำนวนมากตั้งชื่อตามคุณสมบัติการทำงานพร้อมกัน การทำงานพร้อมกันนั้นมีความสำคัญสำหรับการเพิ่มประสิทธิภาพ

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

บางคำพูดที่สำคัญ:

เราคุ้นเคยกับการดูซีพียู 500MHz ให้ทางกับ 1GHz CPU ให้ทางกับ 2GHz ซีพียูและอื่น ๆ วันนี้เราอยู่ในช่วง 3GHz ในคอมพิวเตอร์กระแสหลัก

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

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

... อนาคตของผู้จำหน่ายโปรเซสเซอร์และ Intel ส่วนใหญ่จะอยู่ที่อื่นเนื่องจาก บริษัท ชิปดำเนินการแบบมัลติคอร์ในทิศทางเดียวกัน

... มัลติคอร์เกี่ยวกับการใช้งานซีพียูสองตัวหรือมากกว่าในชิปตัวเดียว

การคาดการณ์ของบทความนี้ดูเหมือนจะมีขึ้น แต่ฉันไม่เข้าใจว่าทำไม ฉันมีความคิดที่คลุมเครือเกี่ยวกับการทำงานของฮาร์ดแวร์

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

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

เหตุใด "เพิ่มคอร์มากขึ้น" จึงไม่มีข้อ จำกัด ทางกายภาพเหมือนกับ "ทำให้ซีพียูเร็วขึ้น"?

โปรดอธิบายด้วยคำศัพท์ที่ง่ายที่สุดที่คุณสามารถทำได้ :)


4
มีคำถามที่เกี่ยวข้องบางข้อเกี่ยวกับที่วิศวกรรมไฟฟ้า : electronics.stackexchange.com/q/122050/34550 electronics.stackexchange.com/q/76580/34550
Bob

4
en.wikipedia.org/wiki/Moore% 27s_lawน่าอ่าน - เนื่องจากเรากำลังพูดถึงสองสิ่งที่แตกต่างกัน กฎของมัวร์ไม่ได้เกี่ยวกับ clockspeed แต่มันเกี่ยวกับจำนวนทรานซิสเตอร์
Journeyman Geek

9
สมมติว่ามันเป็น 30 ปีที่แล้วและซีพียูทำงานที่ 4.77MHz ทำไมคุณถึงนำคอมพิวเตอร์ 1,000 เครื่องที่มีซีพียู 4MHz มาไว้ในห้องเดียวกันแม้ว่ามันจะเป็นไปไม่ได้ที่จะได้ซีพียู 4GHz?
user20574

3
@NathanLong แต่มันยังง่ายกว่าที่จะได้รับพื้นที่มากขึ้น (สำหรับคอมพิวเตอร์มากขึ้น) กว่าเพื่อให้ได้คอมพิวเตอร์ที่เร็วขึ้น
user20574

5
การเปรียบเทียบ: เครื่องยนต์รถสามารถทำความเร็วได้หลายรอบต่อนาทีเท่านั้น แต่คุณสามารถรวมสองคันเข้าด้วยกันได้อย่างง่ายดาย
OJFord

คำตอบ:


143

สรุป

  • เศรษฐศาสตร์. มันถูกกว่าและง่ายกว่าในการออกแบบ 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จริง ๆ แล้วมันอาจต่ำกว่าเนื่องจากการแพร่กระจายของสนามไฟฟ้าไม่เร็วเท่ากับความเร็วของแสงในสุญญากาศ นอกจากนี้นั่นเป็นเพียงสำหรับระยะทางตรง - เป็นไปได้ว่ามีอย่างน้อยหนึ่งเส้นทางที่ยาวกว่าเส้นตรงมาก


22
นอกจากนี้ในหลาย ๆ แอปพลิเคชันคอขวดไม่ใช่เวลาการคำนวณ แต่เวลาในการดึงข้อมูลจาก RAM (หรือพระเจ้าห้ามจากดิสก์); ดังนั้นการเร่งความเร็วที่สำคัญอีกอย่างนั้นมาจากแคชที่ใหญ่กว่าและเร็วกว่า
Matteo Italia

2
@MatteoItalia Yup และยังมีการปรับปรุงการคาดคะเนสาขาและบางทีฉันไม่รู้ด้วยซ้ำ นอกโปรเซสเซอร์เรายังมีรถเมล์ที่เร็วกว่า, หน่วยความจำที่เร็วกว่า, ดิสก์ที่เร็วขึ้นและโปรโตคอลที่เกี่ยวข้อง ฯลฯ
Bob

2
คุณกล่าวถึงปัญหาที่เกี่ยวข้องกับ "ขีด จำกัด อย่างหนัก" ของความเร็วแสงที่จะเกิดขึ้นที่ "บางแห่งที่ผ่านมา 20 GHz" การคำนวณของคุณไม่ถูกต้อง สัญญาณไฟฟ้าเดินทางด้วยความเร็วต่ำกว่าความเร็วของแสงขึ้นอยู่กับรูปทรงเรขาคณิตของสายไฟ
Giulio Muscarello

5
โปรดอย่าใช้ "เอ็กซ์โปเนนเชียล" เมื่อมีคำที่ถูกต้องทั้งหมดสำหรับความสัมพันธ์นี้ (กำลังสอง, ลูกบาศก์, ฯลฯ ) ...
Oliver Charlesworth

7
@OliCharlesworth โปรดอ่านเชิงอรรถ นี้เป็นอย่างแม่นยำว่าทำไมเชิงอรรถมีและเหตุผลที่ผมมีการอ้างอิงถึงมันทุกที่exponentialถูกนำมาใช้ นี่เป็นการใช้คำที่ถูกต้องสมบูรณ์และมันก็จะเป็นจุดเชื่อมต่อกับคำตอบนี้เพื่อให้จมลงไปในรายละเอียดทางคณิตศาสตร์ หากคุณต้องการลอง "แก้ไข" จริง ๆ อย่าลังเลที่จะแนะนำการแก้ไข มันจะไม่ขึ้นอยู่กับฉันถ้ามันได้รับการยอมรับหรือไม่ตราบใดที่คุณไม่เปลี่ยนความหมายอย่างมีนัยสำคัญ
บ๊อบ

14

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

ความเร็วของนาฬิกาดิบไม่ได้มีความหมายอะไรเลย Pentium M เก่าของฉันมีความเร็วนาฬิกาครึ่งหนึ่งของ CPU เดสก์ท็อปร่วมสมัย (และในหลาย ๆ แง่มุมที่เร็วกว่า ) - และระบบที่ทันสมัยแทบจะเข้าใกล้ความเร็วของระบบเมื่อ 10 ปีที่แล้ว (และเร็วขึ้นอย่างชัดเจน) โดยทั่วไปเพียงแค่ 'กระแทก' ขึ้นกับความเร็วของนาฬิกาไม่ได้ให้ประสิทธิภาพที่แท้จริงในหลายกรณี มันอาจจะช่วยในบางส่วนการดำเนินงาน singlethreaded แต่คุณก็ยังดีที่การใช้จ่ายงบประมาณการออกแบบที่มีต่อประสิทธิภาพที่ดีขึ้นในแง่ของทุกสิ่งทุกอย่าง

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

คุณสามารถสร้างอย่างชาญฉลาดได้หลายวิธี ARM ทำบิ๊ก - ลิตเติ้ล - มีแกนพลังงานต่ำ 4 จุด 'ที่อ่อนแอ' ทำงานควบคู่ไปกับคอร์ที่มีประสิทธิภาพมากกว่า 4 คอร์เพื่อให้คุณได้สิ่งที่ดีที่สุดทั้งสองโลก Intel ช่วยให้คุณลดความเร็ว (เพื่อประสิทธิภาพการใช้พลังงานที่ดีขึ้น) หรือโอเวอร์คล็อกคอร์เฉพาะ (เพื่อประสิทธิภาพเธรดเดียวที่ดีขึ้น) ฉันจำได้ว่า AMD ทำอะไรกับโมดูล

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

ณ จุดหนึ่ง 'มากกว่า' แกนอาจไม่ทำงาน - แม้ว่า GPU จะมีหลายร้อยแกน

มัลติคอร์เช่นนี้ทำให้คอมพิวเตอร์ทำงานได้อย่างชาญฉลาดในทุกวิธี


1
ควรสังเกตว่าแกน GPU ได้รับการออกแบบมาเพื่อจุดประสงค์ที่เฉพาะเจาะจงมาก ๆ ซึ่งแตกต่างจากแกนประมวลผล CPU ซึ่งมีวัตถุประสงค์ทั่วไปมากกว่า ควรสังเกตว่าการ์ดแสดงผลนั้นมีขนาดใหญ่กว่าซีพียูอย่างมีนัยสำคัญ (หมายถึงแม้ว่าแกนประมวลผลไม่ได้ใช้ห้องทั้งหมดบนกระดาน
user2366842

3
จริง แต่นั่นคือตัวอย่างที่คุณเพิ่มขนาดแกนเป็นจำนวนมาก ฉันจะทบทวนคำตอบนี้อีกครั้งในตอนเช้า
Journeyman Geek

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

Pentium Ds เป็นen.wikipedia.org/wiki/Pentium_Dโดยทั่วไป
Journeyman Geek

6
wierd quantum crap+1 สำหรับคนเดียว!
เดฟ

9

คำตอบง่ายๆ

คำตอบที่ง่ายที่สุดสำหรับคำถาม

เหตุใด "เพิ่มคอร์มากขึ้น" จึงไม่มีข้อ จำกัด ทางกายภาพเหมือนกับ "ทำให้ซีพียูเร็วขึ้น"?

พบจริงในส่วนอื่นของคำถามของคุณ:

ฉันคาดหวังว่าข้อสรุปจะเป็น "ดังนั้นเราจะต้องมีคอมพิวเตอร์ที่ใหญ่กว่าหรือเรียกใช้โปรแกรมของเราในคอมพิวเตอร์หลายเครื่อง"

โดยพื้นฐานแล้วแกนประมวลผลหลายคอร์เปรียบเสมือนการมี "คอมพิวเตอร์" หลายเครื่องบนอุปกรณ์เดียวกัน

คำตอบที่ซับซ้อน

"คอร์" เป็นส่วนหนึ่งของคอมพิวเตอร์ที่ประมวลผลคำแนะนำ (การเพิ่มการคูณ "และ" ไอเอ็นจี ฯลฯ ) แกนกลางสามารถดำเนินการคำสั่งเดียวในครั้งเดียวเท่านั้น หากคุณต้องการให้คอมพิวเตอร์ของคุณ "มีประสิทธิภาพมากขึ้น" มีสองสิ่งพื้นฐานที่คุณสามารถทำได้:

  1. เพิ่มปริมาณงาน (เพิ่มอัตรานาฬิกาลดขนาดร่างกาย ฯลฯ )
  2. ใช้แกนเพิ่มเติมในคอมพิวเตอร์เครื่องเดียวกัน

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

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


'หลายคอร์เหมือนกับการมี "คอมพิวเตอร์" หลายเครื่องในอุปกรณ์เดียวกัน' ใช่ แต่ความสับสนของฉันคือคุณจะใส่พวกเขาทั้งหมดในนั้นได้อย่างไร ฉันคิดว่า "เราไม่สามารถไปได้เร็วขึ้น" เป็นอาการของ "เราไม่สามารถหดสิ่งต่าง ๆ อีกมากมาย"
นาธานลอง

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

1
คำตอบสั้น ๆ ก็คือการใช้พลังงานนั้นแปรผันตรงกับลูกบาศก์ของความเร็วสัญญาณนาฬิกา เมื่อสัญญาณเดินทางไกลยิ่งขึ้นภาพลวงตาของด้ายเดี่ยวจึงยากต่อการบำรุงรักษา คำตอบโดยละเอียด: amazon.com/…
Rob

6

เหตุใด "เพิ่มคอร์มากขึ้น" จึงไม่มีข้อ จำกัด ทางกายภาพเหมือนกับ "ทำให้ซีพียูเร็วขึ้น"?

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

ข้อเท็จจริงที่ 1:การใช้พลังงานและความร้อนที่ปล่อยออกมานั้นเติบโตเร็วกว่าพลังงานการคำนวณ การผลักดัน CPU จาก 1 GHz ถึง 2 GHZ จะผลักดันการใช้พลังงานจาก 20 W ถึง 80 W เช่นเดียวกับความร้อนที่กระจายไป (ฉันเพิ่งสร้างตัวเลขเหล่านี้ แต่มันทำงานอย่างไร)

ความเป็นจริง 2:การซื้อ CPU ตัวที่สองและใช้งานทั้งสองที่ความเร็ว 1 GHz จะเพิ่มพลังการคำนวณของคุณเป็นสองเท่า CPU สองตัวที่ทำงานที่ 1 GHz สามารถประมวลผลข้อมูลจำนวนเท่ากันกับ CPU 2 GHz หนึ่งตัว แต่แต่ละตัวจะกินพลังงานเพียง 20 W เท่านั้นนั่นคือทั้งหมด 40 W

กำไร: การเพิ่มจำนวน CPU แทนการใช้ความถี่สัญญาณนาฬิกาช่วยให้เราประหยัดพลังงานและเราไม่ได้ใกล้เคียงกับ "การ จำกัด ความถี่" เหมือนก่อน

ปัญหา:คุณต้องแยกงานระหว่างสอง CPU และรวมผลลัพธ์ในภายหลัง

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

ตอนนี้คุณต้องรวม CPU สองตัวเข้ากับ CPU แบบดูอัลคอร์และคุณอยู่ที่บ้าน สิ่งนี้มีประโยชน์เพราะแกนประมวลผลสามารถแชร์บางส่วนของ CPU เช่นแคช ( คำตอบที่เกี่ยวข้อง )


เรากดปุ่มข้อ จำกัด ทางกายภาพใน 1000 วิธีขนาดของแม่พิมพ์ (สำหรับหลายคอร์ซึ่งนำไปสู่กระบวนการผลิตขนาดเล็ก) ขนาดของ mobo (สำหรับซีพียูหลายตัว) แอมป์ดึงผ่านร่องรอย (ทั้งคู่) มันไม่เหมือนที่คุณสามารถใส่ 2 cpus บน m-atx หรือ 4 และหน่วยความจำบนบอร์ด atx และการออกแบบเหล่านั้นทำให้ DECADES เปลี่ยนไป ฉันเห็นด้วยกับส่วนที่เหลือ
Rostol

@Rostol นั่นเป็นจุดที่ดีฉันได้แก้ไขคำตอบแล้ว
gronostaj

5

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

ฉันคิดว่าปัญหานี้เป็นหลายมิติและจะต้องใช้เวลาเขียนเพื่อวาดภาพที่สมบูรณ์มากขึ้น:

  1. ข้อ จำกัด ทางกายภาพ (กำหนดโดยฟิสิกส์จริง): เช่นเดียวกับความเร็วของแสงกลศาสตร์ควอนตัมทั้งหมดนั้น
  2. ปัญหาการผลิต: เราจะผลิตโครงสร้างที่เล็กลงด้วยความแม่นยำที่ต้องการได้อย่างไร ปัญหาเกี่ยวกับวัตถุดิบ, วัสดุที่ใช้ในการสร้างวงจร, ความทนทาน
  3. ปัญหาสถาปัตยกรรม: ความร้อนการอนุมานการใช้พลังงาน ฯลฯ
  4. ปัญหาทางเศรษฐกิจ: วิธีที่ถูกที่สุดในการเพิ่มประสิทธิภาพให้กับผู้ใช้คืออะไร
  5. Usecases และการรับรู้ของผู้ใช้เกี่ยวกับประสิทธิภาพ

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

ถามตัวเองว่าแอปพลิเคชันปกติของคุณคืออะไร? อาจจะ: แท็บ Firefox 25 แท็บแต่ละตัวเล่นโฆษณาบางส่วนในพื้นหลังในขณะที่คุณกำลังฟังเพลงทั้งหมดในขณะที่รองานสร้างของคุณคุณเริ่ม 2 ชั่วโมงที่ผ่านมาเพื่อให้เสร็จ นั่นเป็นงานที่ต้องทำมากมายและคุณยังต้องการประสบการณ์ที่ราบรื่น แต่ CPU ของคุณสามารถรองรับงานได้ครั้งละหนึ่งงาน! ในสิ่งเดียว ดังนั้นสิ่งที่คุณทำคือคุณแบ่งสิ่งต่าง ๆ และสร้างคิว looong และทุกคนได้รับส่วนแบ่งของตัวเองและทุกคนมีความสุข ยกเว้นสำหรับคุณเพราะทุกสิ่งกลายเป็นความล่าช้าและไม่ราบรื่นเลย

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

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

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

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


2

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

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


2

CPU = เครื่องยนต์ของรถยนต์: การสร้างรถยนต์ที่มีประสิทธิภาพยิ่งขึ้นด้วย 16 วาล์วเช่น lamborghini นั้นง่ายกว่ารถที่มีความเร็วรอบต่อนาทีสูงซึ่งจะมีวาล์ว / สูบหนึ่งอันที่ 100,000 รอบต่อนาที

เหตุผลคือกายภาพและเคมีซิลิกอนจะต้องถูกแทนที่ด้วยเชื้อเพลิงจรวดเพื่อคำนวณความสมดุลระหว่างจำนวนแกนและความเร็วแกน


2

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

การเพิ่มคอร์เพิ่มเติมจะไม่ทำให้โปรเซสเซอร์เร็วขึ้นแม้ว่ามันจะช่วยให้สามารถประมวลผลได้มากขึ้นในระยะเวลาเท่ากัน

กฎของมัวร์เป็นการอ่านที่น่าสนใจและให้ข้อมูลมาก ข้อความนี้มีความเกี่ยวข้องโดยเฉพาะที่นี่:

หนึ่งสามารถ จำกัด ประสิทธิภาพทางทฤษฎีของ "สุดยอดแล็ปท็อป" ในทางปฏิบัติด้วยมวลหนึ่งกิโลกรัมและปริมาตรหนึ่งลิตร สิ่งนี้ทำได้โดยพิจารณาจากความเร็วของแสงสเกลควอนตัมค่าความโน้มถ่วงและค่าคงที่ของ Boltzmann ให้ประสิทธิภาพเท่ากับ 5.4258 ⋅ 10 50การดำเนินการเชิงตรรกะต่อวินาทีประมาณ 10 31บิต


2
อนึ่งอิเล็กตรอนเคลื่อนที่ช้ามาก ("ความเร็วลอย") ตามลำดับมิลลิเมตรต่อวินาที IIRC คุณหมายถึงความเร็วที่สนามไฟฟ้าแพร่กระจายมากขึ้น
บ๊อบ

2
ฉันรู้ว่าฉันไม่ควรกล้าทำเหมือนฉันเข้าใจฟิสิกส์ในเรื่องเล็กน้อย :) ขอบคุณสำหรับการแก้ไข / แจ้งฉันเกี่ยวกับเรื่องนี้แม้ว่า
jredd

นอกจากนี้ความเร็วสัญญาณนาฬิกาจริงที่ความเร็วการแพร่กระจายจะมีผลกระทบที่สำคัญคือประมาณ 10+ GHz มีเหตุผลอื่น ๆ ที่โปรเซสเซอร์สมัยใหม่ต้องการหลายคอร์มากกว่านาฬิกาที่สูงขึ้น
บ๊อบ

1

เรื่องยาวยิ่งสั้น:

เราไม่ต้องการซีพียูที่เร็วกว่านี้จริงๆ นอกเหนือจากการใช้งานโดยเฉพาะอย่างยิ่ง * ซีพียูไม่ได้เป็นคอขวดมานานหลายปี - บิตส่วนต่อพ่วงทั้งหมดเช่นหน่วยความจำที่เก็บข้อมูลและเครือข่ายทำให้ CPU ต้องรอรอบนาฬิกานับล้านในระหว่างที่สามารถทำสิ่งอื่นได้ แกนที่สองสามารถทำ "สิ่งอื่น ๆ " ได้มากขึ้นดังนั้นจึงสร้างการรับรู้ถึงประสิทธิภาพที่สูงขึ้นให้กับผู้ใช้

อุปกรณ์พกพา, แล็ปท็อปและอื่น ๆ จะทำการโอเวอร์คล็อกซีพียูเพื่อยืดอายุการใช้งานแบตเตอรี่และอุณหภูมิที่เย็นลง แรงจูงใจในการพัฒนา ARM 3.5GHz ไม่มากนักหากลูกค้าหลักของคุณใช้ความเร็ว 1.3GHz

  • การใช้งานแบบพิเศษเหล่านั้นไม่เพียงพอที่จะปรับการพัฒนาของแกน 5GHz พวกเขายังไม่สนใจเกี่ยวกับความร้อนหรือพลังงาน - ซื้อที่เร็วที่สุด, โอเวอร์คล็อกมันและโบลต์บนฮีทซิงค์ระบายความร้อนด้วยน้ำที่มีขนาดเท่ากับเครื่องปิ้งขนมปัง

1
ไม่ใช่ "การรับรู้" แต่ "แฝงดีกว่า" ฉันคิดว่านี่เป็นหนึ่งในปัญหาหลักที่เรามี ทรูพุตแบบเธรดเดียวที่แข็งแกร่งที่ความคิดด้านต้นทุนทั้งหมด ระบบปฏิบัติการของผู้บริโภคยังไม่ได้มุ่งเน้นแบบเรียลไทม์และไม่ได้มุ่งเน้นไปที่การทำงานพร้อมกันหรือขนาน
Rob

@ peter คุณทำคะแนนได้ดีมากและขอขอบคุณสำหรับการอธิบาย มันเป็นสิ่งที่ฉันต้องจำในฐานะโปรแกรมเมอร์ :) ยังคงเป็นปัญหาเล็กน้อยสำหรับจุดประสงค์ของคำถามนี้ คำถามของฉันเกี่ยวกับสาเหตุที่เราไม่สามารถรับความเร็วสัญญาณนาฬิกาได้เร็วขึ้น คำตอบของคุณเป็นเรื่องเกี่ยวกับสาเหตุที่เราไม่ต้องการ
นาธานลอง

1
@NathanLong "ไม่สามารถ" และ "ไม่ต้องการ" ได้รับการเชื่อมโยง คุณไม่สามารถรับโปรเซสเซอร์ได้เร็วขึ้นเพราะไม่มีใครเต็มใจลงทุนพันล้านหรือห้าอย่างที่จำเป็นในการพัฒนา (5GHz น่าจะผลักดันขีด จำกัด ทางกายภาพอยู่ดี) ไม่มีใครเต็มใจที่จะลงทุนเพราะไม่มีตลาดที่เหมือนจริงเมื่อความเร็วโปรเซสเซอร์โดยรวมกำลังลดลง - เดสก์ท็อปที่ผลิตในปัจจุบันบางรุ่นอยู่ในระดับ 1.5GHz (บนสุดของบรรทัดเมื่อ 10 ปีก่อน) เพราะราคาถูกกว่าเย็นกว่าและเร็วพอสำหรับตลาดนั้น ส่วน
peter

1

คำตอบสั้น ๆ และง่าย ๆ :

ทำไมไม่ไปจากการขนย้ายสินค้า 1 คันไปที่รถบรรทุก 100 คันที่ลาก 100 ครั้งขึ้นไปเผชิญกับข้อ จำกัด ทางกายภาพเช่นเดียวกับการขับรถบรรทุก 1 คันที่ความเร็ว 100 ไมล์ต่อชั่วโมงไปจนถึง 1 คันที่ 10,000 ไมล์ต่อชั่วโมง

ตอบคำถามนั้นและคำถามของคุณจะได้รับคำตอบด้วย แนวคิดนั้นเหมือนกัน


1

ฉันคิดว่าอีกปัจจัยคืออุณหภูมิ หากคุณเพิ่มความถี่สัญญาณนาฬิกาอุณหภูมิแกนจะสูงขึ้น หากคุณเพิ่มแกนเพิ่มเติมแม้ว่าการใช้พลังงานจะเพิ่มขึ้นการกระจายนี้จะอยู่เหนือแกนดังนั้นอุณหภูมิจะยังคงเหมือนเดิม (เช่นถ้าคุณเพิ่มของเหลวร้อนสองรายการที่อุณหภูมิเดียวกันต่อกันอุณหภูมิยังคงเหมือนเดิม )

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


0

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


0

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

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