ศูนย์ R&D ของ Samsung Austin เผยรายละเอียดของสถาปัตยกรรมไมโครซีพียู Exynos M6 ที่ยังไม่เผยแพร่

click fraud protection

ศูนย์วิจัยและพัฒนา Samsung Austin (SARC) ได้เผยแพร่รายงานที่มีรายละเอียดเกี่ยวกับสถาปัตยกรรมไมโครของแกน CPU แบบกำหนดเอง Exynos M6 ที่ถูกยกเลิกไป

เรารู้ว่าโครงการแกน CPU แบบกำหนดเองที่ศูนย์วิจัยและพัฒนาออสติน (SARC) ของ Samsung มาถึงจุดสิ้นสุด ในเดือนตุลาคม 2562 สำหรับโปรเจ็กต์ที่ได้รับการโปรโมตด้วยการประโคมข่าวด้วยการเปิดตัว Exynos M1 ที่มี Exynos 8890 ในปี 2559 ถือเป็นจุดจบที่น่าเศร้า เหตุใด SARC จึงพับโครงการ? แกนประมวลผลแบบกำหนดเอง Exynos M5 ซึ่งมีอยู่ใน เอ็กซิโนส 990 SoC เป็นคอร์แบบกำหนดเองที่ออกแบบโดย Samsung ตัวสุดท้ายสำหรับอนาคตอันใกล้ และเมื่อมองย้อนกลับไปแล้ว เป็นเรื่องง่ายที่จะเห็นว่าเหตุใด Samsung จึงเลิกใช้คอร์แบบกำหนดเอง เนื่องจากไม่สามารถแข่งขันได้มากพอ เป็นที่ทราบกันดีอยู่แล้วว่าแกนประมวลผล Exynos M5 มีการขาดดุลประสิทธิภาพพลังงาน 100% เทียบกับ Cortex-A77 ของ ARM ซึ่งพูดได้มากมาย แต่มันก็ไม่จำเป็นต้องกลายเป็นแบบนั้น การออกแบบ Exynos M1 และ Exynos M2 แสดงให้เห็นแนวโน้มบางอย่าง และโปรเจ็กต์หลักของ CPU แบบกำหนดเองในเวลานั้นถูกมองว่ามีความสำคัญต่อการแข่งขันในพื้นที่ CPU บนมือถือ Exynos M3 ถือเป็นช่วงขาลงครั้งใหญ่แม้จะมี IPC เพิ่มขึ้นอย่างมากก็ตาม และ

เอ็กซิโนส M4 และ Exynos M5 ล้มเหลวในการติดตาม IP CPU ของ ARM การเปลี่ยนแปลงทางสถาปัตยกรรมระดับจุลภาคในคอร์แบบกำหนดเองถัดไป Exynos M6 ที่ถูกยกเลิกไปมีอะไรบ้าง

จนถึงตอนนี้ก็ยังไม่ทราบคำตอบสำหรับคำถามนั้น อย่างไรก็ตาม ในตอนนี้ ทีมพัฒนา SARC CPU ได้นำเสนอบทความเรื่อง "วิวัฒนาการของสถาปัตยกรรม Samsung Exynos CPU" (ซึ่งเราได้รู้จักผ่านทาง อานันท์เทค) ในงาน International Symposium for Computer Architecture (ISCA) ซึ่งเป็นการประชุม IEEE เผยให้เห็นรายละเอียดมากมายเกี่ยวกับซีพียู Exynos M series รุ่นก่อนหน้า รวมถึงสถาปัตยกรรมของ Exynos M6 ที่ถูกยกเลิกไป

บทความที่นำเสนอโดยทีมพัฒนา CPU ของ SARC ให้รายละเอียดเกี่ยวกับความพยายามของทีมตลอดระยะเวลาแปดปี และยังเปิดเผยรายละเอียดที่สำคัญของคอร์ ARM แบบกำหนดเองตั้งแต่ Exynos M1 (Mongoose) ไปจนถึง Exynos M5 (Lion) รุ่นปัจจุบัน และแม้แต่ CPU Exynos M6 ที่ยังไม่เผยแพร่ ซึ่งก่อนที่จะมีการยกเลิก ก็คาดว่าจะแสดงใน SoC 2021 ของ Exynos 990 ผู้สืบทอด

ทีมงาน SARC CPU ของ Samsung ก่อตั้งขึ้นในปี 2011 เพื่อพัฒนาคอร์ CPU แบบกำหนดเอง ซึ่งต่อมาได้ถูกนำมาใช้ในระบบของ Samsung Exynos SoC ของ LSI Exynos SoC เครื่องแรกที่ใช้คอร์แบบกำหนดเองคือ Exynos 8890 ซึ่งมีอยู่ใน Samsung Galaxy ปี 2559 S7. คอร์แบบกำหนดเองยังคงเป็นส่วนหนึ่งของ Exynos SoC จนถึง Exynos 990 ที่มีคอร์ Exynos M5 ซึ่งมีอยู่ในรุ่น Samsung Galaxy S20 ที่ขับเคลื่อนด้วย Exynos (ที่กำลังจะมาถึง. เอ็กซิโนส 992ซึ่งน่าจะมีคุณสมบัติใน Galaxy Note 20 คาดว่าจะมี ARM คอร์เท็กซ์-A78 และไม่ใช่ Exynos M5) อย่างไรก็ตาม SARC ได้สร้างสถาปัตยกรรม Exynos M6 สำเร็จก่อนที่ทีม CPU จะมี ได้รับข่าวว่าจะมีการยุบวงในเดือนตุลาคม 2019 โดยจะมีผลในการยุบวงในปี ธันวาคม.

เอกสาร ISCA นำเสนอตารางภาพรวมของความแตกต่างทางสถาปัตยกรรมระดับจุลภาคระหว่างคอร์ CPU แบบกำหนดเองของ Samsung ตั้งแต่ Exynos M1 ถึง Exynos M6 บริษัทได้เปิดเผยคุณลักษณะที่รู้จักกันดีบางประการของการออกแบบในการเจาะลึกสถาปัตยกรรม M1 CPU เริ่มต้นในงาน HotChips 2016 ที่ HotChips 2018 Samsung เจาะลึกเกี่ยวกับ Exynos M3 สถาปัตยกรรมของคอร์ Exynos M4 และ Exynos M5 ก็ได้รับรายละเอียดเช่นกัน เช่นเดียวกับของ M6

ที่มา: SARC

อานันท์เทค ตั้งข้อสังเกตว่าลักษณะสำคัญประการหนึ่งของการออกแบบของ Samsung ในช่วงหลายปีที่ผ่านมาก็คือ มีพื้นฐานมาจากพิมพ์เขียว RTL แบบเดียวกับที่เริ่มต้นด้วยแกน Exynos M1 Mongoose Samsung ทำการปรับปรุงบล็อกการทำงานของคอร์อย่างต่อเนื่องตลอดหลายปีที่ผ่านมา Exynos M3 แสดงให้เห็นถึงการเปลี่ยนแปลงจากการทำซ้ำครั้งแรก เนื่องจากได้ขยายแกนหลักให้กว้างขึ้นอย่างมากในหลาย ๆ ด้าน ตั้งแต่การออกแบบที่มีความกว้าง 4 ไปจนถึงแกนกลางที่มีความกว้าง 6 (ในทางกลับกัน Apple A11, A12 และ A13 มีความกว้างในการถอดรหัส 7 กว้าง ในขณะที่ Cortex-A76, A77 และ A78 มีความกว้างในการถอดรหัส 4 กว้าง Cortex-X1 เพิ่มความกว้างของการถอดรหัสเป็น 5 กว้าง)

รายงานยังเปิดเผยข้อมูลบางอย่างที่ไม่ได้เปิดเผยต่อสาธารณะมาก่อนเกี่ยวกับ Exynos M5 และ M6 สำหรับ Exynos M5 นั้น Samsung ได้ทำการเปลี่ยนแปลงที่ใหญ่กว่าในลำดับชั้นแคชของคอร์ โดยแทนที่แคช L2 ส่วนตัวด้วยแคชใหม่ แคชที่ใช้ร่วมกันที่ใหญ่ขึ้นพร้อมทั้งเปิดเผยการเปลี่ยนแปลงโครงสร้าง L3 จากการออกแบบ 3 แบงค์เป็นการออกแบบ 2 แบงค์ที่มีน้อยกว่า เวลาแฝง

แกน M6 ที่ถูกยกเลิกน่าจะเป็นการก้าวกระโดดที่ใหญ่กว่าในแง่ของสถาปัตยกรรมไมโคร SARC ได้ทำการปรับปรุงครั้งใหญ่ เช่น เพิ่มคำสั่ง L1 เป็นสองเท่าและแคชข้อมูลจาก 64KB เป็น 128KB - อานันท์เทค ตั้งข้อสังเกตว่านี่เป็นตัวเลือกการออกแบบที่นำมาใช้กับคอร์ A-series ของ Apple เท่านั้นจนถึงตอนนี้ โดยเริ่มจาก Apple A12

L2 เพิ่มขึ้นสองเท่าในความสามารถแบนด์วิดท์สูงถึง 64B/รอบ ในขณะที่ L3 จะเพิ่มขึ้นจาก 3MB เป็น 4MB Exynos M6 น่าจะเป็นแกนถอดรหัสกว้าง 8 ดังที่กล่าวไว้ อานันท์เทคนี่จะเป็นสถาปัตยกรรมไมโครเชิงพาณิชย์ที่กว้างที่สุดในปัจจุบันที่รู้จักในแง่ของการถอดรหัส อย่างไรก็ตาม แม้ว่าคอร์จะกว้างกว่ามาก แต่หน่วยประมวลผลจำนวนเต็มไม่เห็นการเปลี่ยนแปลงมากนัก ไปป์ไลน์ที่ซับซ้อนหนึ่งรายการเพิ่มความสามารถในการหารจำนวนเต็มที่สอง ในขณะที่ไปป์ไลน์การบรรทุก/จัดเก็บยังคงเหมือนเดิมกับ M5 โดยมีหน่วยโหลดหนึ่งหน่วย หนึ่งหน่วยจัดเก็บ และหนึ่งหน่วยโหลด/จัดเก็บ ไปป์ไลน์จุดลอยตัว/SIMD จะได้เห็นยูนิตที่สี่เพิ่มเติมที่มีความสามารถ FMAC L1 DTLB เพิ่มขึ้นจาก 48 หน้าเป็น 128 หน้า และ TLB หลักเพิ่มขึ้นสองเท่าจากหน้า 4K เป็น 8K หน้า (ครอบคลุม 32MB)

Exynos M6 จะแสดงการเปลี่ยนแปลงที่สำคัญอีกครั้งจากรุ่นก่อนโดยการเพิ่มหน้าต่างที่ไม่อยู่ในลำดับของคอร์ตั้งแต่ครั้งแรกนับตั้งแต่ M3 จะมีไฟล์รีจิสเตอร์จำนวนเต็มและจุดลอยตัวที่ใหญ่กว่า และ ROB (บัฟเฟอร์การจัดลำดับใหม่) จะเพิ่มขึ้นจาก 228 เป็น 256 อานันท์เทค ตั้งข้อสังเกตว่าจุดอ่อนที่สำคัญประการหนึ่งของคอร์ Exynos แบบกำหนดเองยังคงมีอยู่บน M5 และก็จะมีอยู่บน M6 เช่นกัน มันจะเป็นขั้นตอนไปป์ไลน์ที่ลึกกว่าซึ่งจะส่งผลให้มีการลงโทษการทำนายผิด 16 รอบที่มีราคาแพง ซึ่งสูงกว่าคอร์ CPU ของ ARM ที่มีการลงโทษการทำนายผิด 11 รอบ เอกสาร SARC เจาะลึกยิ่งขึ้นไปอีกในการออกแบบตัวทำนายสาขา โดยจัดแสดงการออกแบบที่ใช้ Scaled Hased Perceptron ของคอร์ CPU การออกแบบนี้จะได้รับการปรับปรุงอย่างต่อเนื่องตลอดหลายปีที่ผ่านมาและการใช้งาน ปรับปรุงความแม่นยำของสาขาและลดการคาดการณ์ต่อคำสั่งกิโล (MPKI) ที่ผิดพลาดอย่างต่อเนื่อง SARC นำเสนอตารางที่แสดงจำนวนโครงสร้างการจัดเก็บข้อมูลที่ตัวทำนายสาขาใช้ภายในส่วนหน้า เทคโนโลยีการดึงข้อมูลล่วงหน้าของแกนยังมีรายละเอียดอยู่ในรายงานนี้ ซึ่งครอบคลุมการแนะนำแคช µOP ใน M5 รวมถึงความพยายามของทีมในการเสริมความแข็งแกร่งให้กับแกนหลักจากช่องโหว่ด้านความปลอดภัยเช่น ปีศาจ

ความพยายามในการปรับปรุงเวลาแฝงของหน่วยความจำในแกน Exynos แบบกำหนดเองนั้นได้รับรายละเอียดโดย SARC ในรายงานด้วย ใน Exynos M4 ทีมงาน SARC ได้รวมกลไกการเรียงซ้อนโหลด-โหลด ซึ่งลดเวลาแฝงของรอบ L1 ที่มีประสิทธิผลจากสี่รอบเหลือสามรอบในการโหลดครั้งต่อๆ ไป แกน M4 ยังแนะนำเส้นทางบายพาสด้วยอินเทอร์เฟซใหม่จากแกน CPU ไปยังตัวควบคุมหน่วยความจำโดยตรง ซึ่งหลีกเลี่ยงการรับส่งข้อมูลผ่านการเชื่อมต่อระหว่างกัน ตาม อานันท์เทคสิ่งนี้อธิบายถึงการปรับปรุงเวลาแฝงที่ใหญ่กว่าบางส่วนที่สิ่งพิมพ์สามารถวัดได้ด้วย Exynos 9820 Exynos M5 นำเสนอการบายพาสการค้นหาแคชเชิงเก็งกำไร ซึ่งส่งคำขอไปยังทั้งการเชื่อมต่อระหว่างกันและแท็กแคชพร้อมกัน สิ่งนี้อาจช่วยประหยัดเวลาในการตอบสนองในกรณีที่แคชหายไปเนื่องจากการร้องขอหน่วยความจำกำลังดำเนินการอยู่ เวลาแฝงในการโหลดเฉลี่ยยังได้รับการปรับปรุงอย่างต่อเนื่องในรุ่นต่างๆ จาก 14.9 รอบบน M1 เป็น 8.3 รอบบน M6

แม้ว่าคุณลักษณะทางสถาปัตยกรรมจุลภาคข้างต้นจะค่อนข้างเป็นด้านเทคนิค แต่ผู้ที่ชื่นชอบ CPU จะคุ้นเคยกับคำว่า Instructions Per Clock (IPC) ซึ่งหมายถึงต่อ MHz ประสิทธิภาพของ CPU แบบเธรดเดียว (เป็นปัจจัยหลักหลักที่กำหนดประสิทธิภาพของ CPU แบบเธรดเดียว โดยอีกปัจจัยคือความเร็วสัญญาณนาฬิกาของ แกนกลาง) IPC จำนวนเต็มและ IPC จุดลอยตัวเป็นทั้งปัจจัยกำหนดของ IPC ทีมงาน SARC ได้รับการปรับปรุงโดยเฉลี่ย 20% ต่อปีจากรุ่น M1 ถึง M6 โดยเฉพาะอย่างยิ่ง M3 แสดงให้เห็นถึงการปรับปรุง IPC เปอร์เซ็นต์อย่างมาก แม้ว่าปัจจัยอื่นๆ จะลดลงก็ตาม Exynos M5 แสดงถึงการปรับปรุง IPC 15-17% ในขณะที่การปรับปรุง IPC สำหรับ Exynos M6 ที่ยังไม่ได้เผยแพร่ ได้รับการเปิดเผยว่ามีค่าเฉลี่ย 2.71 เทียบกับ 1.06 สำหรับ M1 ซึ่งคิดเป็นการปรับปรุง 20% จาก ม5.

Brian Grayson ผู้นำเสนอรายงานได้ตอบคำถามเกี่ยวกับการยกเลิกโปรแกรมในระหว่างช่วงถามตอบ เขากล่าวว่าทีมงานบรรลุเป้าหมายและตามกำหนดเวลามาโดยตลอดด้วยการปรับปรุงประสิทธิภาพและประสิทธิภาพในแต่ละรุ่น (นั่นหมายความว่าเป้าหมายไม่สูงพอตั้งแต่แรกใช่ไหม?) ในทางกลับกัน ปัญหาที่ใหญ่ที่สุดของทีมคือการต้องระมัดระวังอย่างมากกับอนาคต การออกแบบเปลี่ยนแปลงเนื่องจากทีมไม่มีทรัพยากรที่จะเริ่มต้นใหม่หรือเขียนใหม่ทั้งหมด ปิดกั้น. เมื่อมองย้อนกลับไปแล้ว ทีมงานคงจะมีตัวเลือกต่างๆ ในอดีตกับทิศทางการออกแบบบางอย่าง ในทางตรงกันข้าม ARM มีทีม CPU หลายทีมที่ทำงานในสถานที่ต่างกันซึ่งแข่งขันกันเอง สิ่งนี้ทำให้สามารถ "การออกแบบใหม่ขั้นพื้นฐาน" เช่น คอร์เท็กซ์-A76. ที่ คอร์เทกซ์-A77 และ Cortex-A78 เป็นผู้สืบทอดโดยตรงของ A76

ทีม SARC มีแนวคิดในการปรับปรุงคอร์ที่กำลังจะมาถึง เช่น Exynos M7 สมมุติ อย่างไรก็ตาม Samsung ถือเป็นบุคคลระดับสูงที่ตัดสินใจยกเลิกโปรแกรมหลักแบบกำหนดเอง เช่น อานันท์เทค โปรดทราบว่าคอร์แบบกำหนดเองไม่สามารถแข่งขันได้ในแง่ของประสิทธิภาพการใช้พลังงาน ประสิทธิภาพ และการใช้งานพื้นที่ (PPA) เมื่อเปรียบเทียบกับ CPU ของ ARM ในรุ่นใดรุ่นหนึ่งโดยเฉพาะ เมื่อเดือนที่แล้ว ARM ได้ประกาศโปรแกรม Cortex-X Custom ที่มีโปรแกรมใหม่ คอร์เทกซ์-X1ซึ่งเป็นคอร์เจเนอเรชั่นถัดไปที่ออกแบบมาสำหรับอุปกรณ์มือถือปี 2021 มีปรัชญาการออกแบบที่จะทำลายขอบเขต Cortex-A PPA และมุ่งสู่ประสิทธิภาพที่แท้จริงแทน ดังนั้น Exynos M6 จึงมีช่วงเวลาที่ยากลำบากในการแข่งขัน ถึงกระนั้น ดูเหมือนว่า Samsung จะไม่ดัดแปลง Cortex-X1 และจะไปเฉพาะกับ Cortex-A78 + Cortex-A55 คอมโบใน Exynos 992 เท่านั้น แต่อาจจะนำมาใช้กับเรือธง Galaxy S ในปีหน้า

ขณะนี้ทีม SARC ยังคงออกแบบการเชื่อมต่อระหว่างกันและตัวควบคุมหน่วยความจำแบบกำหนดเองสำหรับ Samsung Systems LSI มันยังทำงานกับสถาปัตยกรรม GPU แบบกำหนดเองด้วย แต่เป็น Samsung Systems LSI ลงนามข้อตกลงกับเอเอ็มดี เพื่อใช้สถาปัตยกรรม RDNA GPU ยุคถัดไป (สถาปัตยกรรมกราฟิกถัดไป) ของ AMD ใน Exynos GPU ในอนาคต เริ่มในปี 2021

โดยรวมแล้ว โปรเจ็กต์หลักของ CPU แบบกำหนดเองเป็นบทเรียนที่ให้ความกระจ่างแก่ผู้จำหน่ายชิปมือถือเกี่ยวกับสิ่งที่อาจผิดพลาดได้ ทีม SARC CPU มีความทะเยอทะยานสูงที่จะแข่งขันกับ Apple ซึ่งเป็นผู้นำในด้าน CPU บนมือถืออย่างไม่มีข้อกังขา น่าเสียดายที่ไม่สามารถแข่งขันกับ ARM ได้ ไม่ต้องสนใจ Apple ปัญหาต่างๆ สามารถแก้ไขได้ แต่ปีแล้วปีเล่า ความพยายามของ SARC ยังล้าหลังไปหนึ่งหรือสองก้าว และ มันสะท้อนให้เห็นในทางลบต่อผลิตภัณฑ์จัดส่งเช่นรุ่น Exynos 9810 ของ Samsung Galaxy S9 ตอนนี้ผู้จำหน่ายชิปมือถือ Android รายใหญ่ทั้งหมดจะใช้ IP CPU สต็อกของ ARM ตั้งแต่ปี 2021 และรายชื่อนี้รวมถึง Qualcomm, Samsung, MediaTek และ HiSilicon การต่อสู้จะดำเนินต่อไปที่ Apple ด้วยคอร์เช่น Cortex-X1 ไม่ใช่คอร์ ARM แบบกำหนดเองที่ออกแบบตั้งแต่เริ่มต้น


แหล่งที่มา: วิวัฒนาการของสถาปัตยกรรม Samsung Exynos CPU | ทาง: อานันท์เทค