ตั้งแต่กลางทศวรรษที่ 2000 เป็นต้นมาเราได้หยุดมองเห็นซีพียูแบบ single-core ไปจนถึง multi-core CPU ในเครื่องพีซีของเรา สิ่งที่เริ่มต้นในการกำหนดค่า 2 คอร์ตอนนี้มีถึง 16 คอร์ในพีซีมาตรฐานและมีการกำหนดค่าสูงสุด 64 คอร์ในเวิร์กสเตชันระดับมืออาชีพ แต่มีการ จำกัด จำนวนคอร์หรือไม่? ถ้าเป็นเช่นนั้นขีด จำกัด ที่กล่าวมาคืออะไรและมีปัจจัยอะไรบ้าง?
โปรเซสเซอร์ของเรามีคอร์ภายในมากขึ้นเรื่อย ๆ อย่างไรก็ตามมันจะไปถึงจุดที่จำนวนคอร์จะหยุดการปรับขนาด แต่อะไรคือปัจจัยที่จะทำให้จำนวนแกนใน a ซีพียู?
ทำไมเราใช้หลายคอร์ในซีพียูเดียว
จนถึงกลางทศวรรษ 2000 โปรเซสเซอร์พีซีเป็นแบบ single-core แต่ในตอนนั้นซีพียูก็กลายเป็นแบบมัลติคอร์
เพื่อให้เข้าใจถึงสิ่งนี้เราต้องคำนึงถึง Dennard Scale ซึ่งมีสูตรดังต่อไปนี้:
การบริโภค = คิว*ฟ*ค*วี 2
ที่ไหน:
- Q คือจำนวนทรานซิสเตอร์ที่ใช้งานอยู่
- f คือความถี่สัญญาณนาฬิกา
- C คือความสามารถของทรานซิสเตอร์ในการเก็บประจุ
- V คือแรงดันไฟฟ้า
ความมหัศจรรย์ของสูตรนี้คือถ้าขนาดของทรานซิสเตอร์ลดลงไม่เพียง แต่ความหนาแน่นต่อพื้นที่จะเพิ่มขึ้นเท่านั้น แต่ V และ C ยังลดลงอีกด้วย ปรากฏการณ์นี้ได้รับชื่อ Dennard Scale เนื่องจากได้รับการประกาศเกียรติคุณโดย Robert H. Dennard นักวิทยาศาสตร์ของ IBM ซึ่งเป็นผู้คิดค้นหน่วยความจำ DRAM
Dennard Scale ใช้ค่า S เป็นค่าสัมพัทธ์ระหว่างโหนดใหม่และโหนดเก่า ตัวอย่างเช่นโหนดเก่าคือ 10 นาโนเมตรและโหนดใหม่คือ 7 นาโนเมตรความร้อนของ S จะเท่ากับ 0.7
แต่สเกลเดนนาร์ดถึงขีด จำกัด เมื่อถึงโหนด 65 นาโนเมตรซึ่งเข้าสู่ยุคโพสต์เดนนาร์ดสาเหตุหลักคือการมีอยู่ของส่วนหนึ่งของสูตรที่ถูกเพิกเฉยจนถึงช่วงเวลานั้นเนื่องจากเอฟเฟกต์ถูกทิ้ง: ปัจจุบัน การรั่วไหล
อะไรทำให้สูตรมีลักษณะดังนี้:
การบริโภค = คิว*ฟ*ค*วี 2 + (V * กระแสไฟรั่ว)
ผลที่ตามมาคือ Q, f และ C ยังคงรักษาค่ามาตราส่วนไว้ แต่แรงดันไฟฟ้าไม่คงที่และเกือบจะคงที่ เนื่องจากความเร็วสัญญาณนาฬิกาปรับตามแรงดันไฟฟ้าดังนั้นสถาปนิกจึงต้องเริ่มมองหาวิธีอื่น ๆ เพื่อให้ได้โปรเซสเซอร์ที่เร็วและมีประสิทธิภาพมากขึ้น
ผลที่ตามมาก็คือยุคที่ซีพียูแบบ single-core ผ่านพ้นไปและผู้ผลิตซีพียูพีซีรายใหญ่เช่น อินเทล และ เอเอ็มดี เริ่มวางเดิมพันกับโปรเซสเซอร์แบบมัลติคอร์
ขีด จำกัด ของจำนวนคอร์คืออะไร?
มีปัจจัยหลายประการที่ จำกัด จำนวนคอร์ที่สร้างโปรเซสเซอร์สิ่งแรกและชัดเจนที่สุดคือความหนาแน่นในแง่ของจำนวนทรานซิสเตอร์ต่อพื้นที่ซึ่งเพิ่มขึ้นตามโหนดใหม่แต่ละโหนดดังนั้นจึงอนุญาตให้ลบโปรเซสเซอร์ที่มีจำนวนมากขึ้นและ นิวเคลียสมากขึ้น
แต่ไม่เป็นเช่นนั้นและเราจะอธิบายให้คุณทราบว่าความท้าทายที่สถาปนิกต้องเผชิญในการออกแบบโปรเซสเซอร์ใหม่คืออะไร
การสื่อสารภายในระหว่างนิวเคลียสที่แตกต่างกัน
มีองค์ประกอบที่สำคัญมากคือการสื่อสารระหว่างนิวเคลียสที่แตกต่างกันและสิ่งเหล่านี้ด้วยหน่วยความจำซึ่งจะเพิ่มขึ้นแบบทวีคูณตามจำนวนองค์ประกอบที่เรามีในระบบ
สิ่งนี้หมายความว่าวิศวกรต้องทำงานกับโครงสร้างการสื่อสารที่ซับซ้อนมากขึ้นทั้งหมดเพื่อให้คอร์ต่างๆของโปรเซสเซอร์รับและส่งข้อมูลโดยสอดคล้องกับโปรเซสเซอร์อื่น
ปัญหาซิลิกอนสีเข้ม
Dark Silicon เป็นส่วนหนึ่งของวงจรภายในวงจรรวมที่ไม่สามารถจ่ายไฟด้วยแรงดันไฟฟ้าปกติ (ที่กำหนดโดยชิป) สำหรับขีด จำกัด การใช้พลังงานที่กำหนด
ที่สำคัญคือปริมาณของ Dark Silicon จากโหนดหนึ่งไปยังอีกโหนดหนึ่งจะเพิ่มขึ้น 1 / S 2, ดังนั้นแม้ว่าเราสามารถใส่ทรานซิสเตอร์ได้มากเป็นสองเท่า แต่ปริมาณที่มีประโยชน์ของสิ่งเหล่านี้จะลดลงจากรุ่นหนึ่งไปอีกรุ่น
ต้นทุนต่อพื้นที่เพิ่มขึ้นไม่ลดลง
ค่าใช้จ่ายสูงสุด 28 นาโนเมตรต่อพื้นที่ 1 ตร.มม. ลดลง แต่เกิน 2 นาโนเมตรจะเพิ่มขึ้น ซึ่งหมายความว่าหากต้องรักษาต้นทุนของโปรเซสเซอร์พวกเขาจะต้องลดพื้นที่และหากต้องการรักษาจังหวะการวิวัฒนาการโปรเซสเซอร์ก็จะมีราคาแพงขึ้นเรื่อย ๆ
สิ่งนี้อาจดูเหมือนไม่สำคัญในแง่ของจำนวนคอร์ ใช่เป็นเพราะสถาปนิกคำนึงถึงงบประมาณเท่าที่เกี่ยวข้องกับทรานซิสเตอร์ซึ่งปัจจัยที่ จำกัด คือต้นทุน ซึ่งจะเกี่ยวข้องกับต้นทุนต่อเวเฟอร์
กฎหมายของ Amdahl: ซอฟต์แวร์ไม่ปรับขนาดตามจำนวนคอร์
กฎของ Amdahl ได้รับการประกาศเกียรติคุณโดย Gene Amdahl นักวิทยาศาสตร์คอมพิวเตอร์ที่มีชื่อเสียงในด้านอื่น ๆ ในการเป็นสถาปนิกของ IBM System / 360 แม้ว่ากฎของ Amdahl จะไม่ใช่ปรากฏการณ์ทางกายภาพ แต่เราได้รับการเตือนว่าภาระงานทั้งหมดของโปรแกรมคอมพิวเตอร์ไม่สามารถขนานกันได้ .
ผลที่ตามมาก็คือในขณะที่บางส่วนของงานจะเพิ่มขึ้นตามจำนวนคอร์ในระบบในทางกลับกันส่วนอื่น ๆ ไม่สามารถปรับขนาดควบคู่กันได้เนื่องจากทำงานตามลำดับและขึ้นอยู่กับพลังของโปรเซสเซอร์แต่ละตัวเพียงอย่างเดียวในการปรับขนาด . . ดังนั้นปริมาณงานที่ไม่สามารถทำงานแบบขนานจะไม่เพิ่มความเร็วเมื่อพูดถึงจำนวนคอร์
นี่คือเหตุผลว่าทำไมสถาปนิกแทนที่จะพยายามใส่คอร์ในโปรเซสเซอร์มากขึ้นเรื่อย ๆ ออกแบบสถาปัตยกรรมใหม่ ๆ และมีประสิทธิภาพมากขึ้น วัตถุประสงค์หลักของการออกแบบคือเพื่อลดเวลาที่โปรเซสเซอร์เพียงอย่างเดียวใช้ในการดำเนินการตามคำสั่งบางอย่าง
ในทางกลับกันต้องคำนึงถึงว่าซอฟต์แวร์ได้รับการออกแบบตามฮาร์ดแวร์ในตลาดซอฟต์แวร์ปัจจุบันส่วนใหญ่ได้รับการปรับให้เหมาะสมกับจำนวนคอร์โดยเฉลี่ยที่ผู้คนมีอยู่ในพีซีของตนและแม้ว่าจะมีระดับ ความสามารถในการปรับขนาดนี้ไม่เคยเป็นเชิงเส้น แต่เป็นลอการิทึมดังนั้นจึงมาถึงจุดที่แอปพลิเคชันบางอย่างไม่ว่าโปรเซสเซอร์จะมีกี่คอร์หรือแม้จะเร็วแค่ไหนก็ตามจะไม่ขยายขนาดมากขึ้นหรือจะปรับขนาดได้ช้ากว่าที่เคย