AMD ไปไกลกว่าที่คิด, ไอเดียใหม่ chiplets เพื่อการต่่อเชื่อม CPUs และ GPUs เข้าไว้ด้วยกัน
บทความนี้เรากำลังกล่าวถึง Multi-die chips หรือการนำชิปหลายๆตัวมารวมกัน,
จุดประสงค์เพื่อมาแก้ปัญหาทางด้าน Moore's Law. กล่าวได้เลยว่าทาง
AMD ได้เริ่มเทคโนโลจีนี้ไปก่อนแล้วในรูปแบบ
multiple processors เช่น Threadripper และสำหรับใช้กับ servers, Epyc, ส่วนของ
Intel ก็จะเป็น Kaby Lake-G. แต่ตอนนี้มีการวิจัยใหม่ซึ่งกล่าวถึง Chiplets,
ซึ่งวิธีก็จะคล้ายการนำเอาชิปหลายๆตัวมาวางบน
interposer/สะพานต่อเชื่อมหรือ interface ด้วยวงจรไฟฟ้า ซึ่งรวมกันให้เป็นชิปตัวเดียว.
ปัญหาใหญ่ๆที่เห็นก็คือจำนวนการผลิตที่จะได้น้อยไปกว่าเดิมและต้นทุนเพิ่มมากขึ้นเหตุเพราะ
CPU/GPU dies มีขนาดที่ใหญ่ขึ่น. ไอเดียจึงเกิด,
โดยการวาง dies หลายๆตัวบนแพ๊คเก็จเดียวกันและกลายเป็นชิปหนึ่งตัว, สังเกตุได้ในรูปที่โพสมาให้ดูเป็นตัวอย่าง,
คุณจะเห็น GPUs 4 ตัวพร้อมกับ
CPU partition/หรือวางเรียงกันและต่อเชื่อมกันเป็นหนึ่งชิป. ข้อมูลหรือการถ่ายโอนก็จะส่งผ่านด้วย
interposer. ทาง AMD ได้ออกมาเปิดเผยถึงแนววิจัยรูปแบบใหม่เรียกกันว่า chiplets หรือ multi-die
CPU และ
GPU designs:
คาดว่าอีกไม่นานก็จะเกิดขึ้น,
เราจะไม่เห็นชิปเดี่ยวๆที่จะวางโดยตรงลงบนแผ่นปริ้นส์อีกต่อไป, แต่จะเห็นแผ่น
silicon ที่มีขนาดใหญ่ขึ้นพร้อมกับตัว IC ที่ต่อเชื่อมโยงกันเต็มไปหมดแทน.
นักวิจัยและพัฒนากำลังทำคอนเซ๊พท์นี้ที่เรียกกันว่า
“chiplets” ให้มันมีประสิทธิภาพที่ดีขึ้น,
ถ่ายโอนได้เร็วขึ้นและสามารถทำให้มันเล็กลงได้ไร้ข้อจำกัด, แน่นอนว่าทางด้านต้นทุนก็ต้องถูกลงและสามารถทำให้มันหนาแน่นขึ้น
(จำนวน) ในรูปแบบ integrated computer systems. หรืออีกนัยก็คือการนำเอาแต่ละส่วนที่เป็น
CPUs, memory, และชิ้นส่วนตัวอื่นๆที่สำคัญวางไว้บน silicon เพียงแผ่นเดียว,
ซึ่งเราจะเรียกแผ่นนี้ว่า active
interposer, และจะหนาแน่นไปด้วยการเชื่อมต่อหรือ interconnects และวงจรไฟฟ้า.
แต่ก็ใช่ว่าจะไม่เกิดปัญหาเลยเสียทีเดียว อย่าลืมว่าแต่ละ
chiplet มันจะต่อเชื่อมตัวชิปให้เป็นระบบและประมวลผลอย่างมีประสิทธิภาพ,
แต่เมื่อใดที่นำมาต่อเชื่อมลงบนเครื่อขาย
interposer, ปัญหาทางด้านคอขวดก็จะเกิดขึ้นทันทีและระบบก็จะขัดข้องหรือประสิทธิภาพที่ไม่ดีเท่าที่ควรจะเป็น.
“อาการ
deadlock หรือหยุดชะงักกระทันหัน สามารถเกิดขึ้นได้หากในกระบวนการประมวลผลนั้นๆและมีคำสั่งที่แตกต่างกันต่างพยายามที่จะแย่งกันเพื่อให้เสร็จสิ้นหรือให้ได้คำตอบเดียวกันเพื่อไปยังอีกสถานะนึงและเป็นสาเหตุให้ทุกคำสั่งต่างต้องรอแต่ละคำสั่ง,”
.
“แต่ละ [chiplets] สามารถออกแบบและดีไซน์ได้และจะไม่เกิดอาการ
deadlocks,”. “และหลังจากที่นำมาอยู่รวมกัน, มันก็จะมีหนทางใหม่หรือแชนเนลใหม่, ซึ่งจะไม่มี chiplet ตัวไหนเสร็จก่อนที่ควรจะเป็น.”
และการที่จะออกแบบเพื่อหลีกเลี่ยงการเกิด
deadlocks นี้-โดยการออกแบบ chiplets ที่อยู่รวมกันเหล่านี้พร้อมกับสร้างโครงค่ายที่เป็นเอกเทศหรือจำเพาะย่อมที่จะเป็นเรื่องที่เสียประโยชน์หรือสิ้นเปลืองเสียมากกว่า:
การออกแบบและเพิ่มประสิทธิภาพให้เกิดประโยชน์สูงสุดสำหรับ
Chiplets นั้นสามารถกระทำได้ง่ายๆเพียงแค่จับมันแยกออกมาเป็นกลุ่มหรือทีม,
และก็ไม่เป็นเรื่องง่ายที่จะจับมันมาเข้าคู่กันหรือผสมผสานกันเพื่อให้เกิดระบบใหม่ขึ้น.
เมื่อต้นเดือนที่ผ่านมาที่งาน International Symposium on
Computer Architecture, วิศวกรจากทาง AMD ได้นำเสนอวิธีการจัดการปัญหาเหล่านี้ที่กำลังจะเกิดขึ้น.
ทีมวิจัยของทาง AMD เปิดเผยว่า, ปัญหา deadlocks บน
active interposers จะไม่เกิดขึ้นหากมีการกำหนดกฏเกณฑ์ไว้บนเครือค่ายของชิป/
on-chip networks. กฏเกณฑ์ที่ว่านี้คือการกำหนดเวลาเข้าและออกชิปให้ข้อมูลนั้นๆและกำหนดทิศทางของข้อมูลตั้งแต่แรกก่อนที่จะไปในชิป.
ถือว่าเป็นวิธีที่แก้ง่ายมากๆหากปฏิบัติตามในสิ่งที่กำหนดและยังสามารถกำหนดให้เป็นอย่างอื่นหรือแกล้งให้เป็นอีกก็ได้บน
interposer—และในแง่ของการปฏิบัติของ chiplets, memory, interposer’s own
network/เครือค่ายตัวมันเอง, และอื่นๆ—มันก็เป็นเพียงแค่หนึ่ง
node บน network. เพราะฉนั้น, หากจะออกแบบ
chiplets ซึ่งมาจากหลายๆทีมวิจัย, ก็ไม่ต้องกังวลเรื่องเครือค่ายหรือ
networks นั้นๆจะทำงานเช่นไรหรือแม้กระทั่ง network บน
active interposer จะทำงานเช่นไรเช่นกัน.
Comments
Post a Comment