สถาปัตยกรรม AMD Zen 3 ลักษณะทางเทคนิคและข้อมูลจำเพาะ

สถาปัตยกรรม AMD Zen 3

สถาปัตยกรรม Zen 3 ซึ่งใช้โดย เอเอ็มดี Ryzen 5000 ทั้งบนเดสก์ท็อปและโปรเซสเซอร์บางรุ่นในกลุ่มโน้ตบุ๊กเป็นรุ่นที่ทรงพลังและล้ำหน้าที่สุด ซีพียู สถาปัตยกรรมในตลาด แต่ความลับอะไรที่ซ่อนอยู่ภายในเพื่อให้ได้ประสิทธิภาพนั้น?

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

แกนของสถาปัตยกรรม AMD Zen 3

ชิปเล็ต AMD Zen

เพื่อให้เข้าใจถึงสาเหตุของการเปลี่ยนแปลงในประสิทธิภาพของ Zen 2 เมื่อเทียบกับ Zen 3 เราต้องเข้าใจล่วงหน้าว่าการเพิ่มขึ้น 19% ของ IPC เป็นผลมาจากการวางโปรเซสเซอร์ทั้งสองภายใต้การทดสอบหรือการทดสอบประสิทธิภาพหลายครั้งและใช้ค่าเฉลี่ย ของประสิทธิภาพของสถาปัตยกรรมทั้งสอง

เมื่อมองแวบแรก Zen 3 อาจดูเหมือน Zen 2 รุ่นปรับปรุงเล็กน้อยเนื่องจากการเปลี่ยนแปลงอยู่ในส่วนของโปรเซสเซอร์ที่มักจะมองไม่เห็นเมื่อพูดถึงประสิทธิภาพของโปรเซสเซอร์การเปลี่ยนแปลงเหล่านี้เกิดขึ้นโดยเฉพาะในหน่วยควบคุมหรือ ส่วนหน้าของโปรเซสเซอร์

การปรับปรุง Front-end สำหรับ Zen 3 cores

ในบรรดาสิ่งใหม่ ๆ ใน Front-End ของโปรเซสเซอร์องค์ประกอบที่โดดเด่นที่สุดคือหน่วยทำนายการกระโดดใหม่ตัวทำนายสาขาซึ่งได้รับการปรับปรุงเพื่อให้สามารถทำนายสาขาได้มากขึ้นต่อรอบนาฬิกา ชุดของการเปลี่ยนแปลงในโปรเซสเซอร์เช่นการออกแบบ Branch Prediction Buffer BTB ใหม่ซึ่งอยู่ทั้งในแคช L1 เนื่องจากจำนวนรายการเพิ่มขึ้นจาก 512 เป็น 1024 และในแคช L2 จะลดลงจาก 7K ถึง 6.5K รายการเทียบกับ Zen 2

หน่วยทำนายการกระโดดใหม่ช่วยลดจำนวนรอบที่สูญเสียไปเมื่อโปรเซสเซอร์ทำการทำนายที่ล้มเหลวดังนั้นจึงป้องกันไม่ให้คอร์นั่งทำงานนานขึ้นมากเมื่อหน่วยทำนายการกระโดดล้มเหลว

Arquitectura Zen 3 (2)

ในทางกลับกัน. เราไม่สามารถลืมได้ว่าโปรเซสเซอร์ที่มีสถาปัตยกรรม Zen 3 ใช้ชุดการลงทะเบียนและคำสั่ง x86-64 ซึ่งหมายความว่าเรากำลังจัดการกับ ISA ประเภท CISC ข้อดีอย่างหนึ่งของการลงทะเบียน CISC และชุดคำสั่งคือรวมคำสั่งง่ายๆหลายคำสั่งไว้ในคอมเพล็กซ์เดียวซึ่งช่วยประหยัดพื้นที่โค้ดและพลังงานเมื่ออ่านจาก แรม.

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

คอร์แซร์ Ryzen

ในตัวประมวลผล RISC จำนวนไบต์ต่อคำสั่งจะเท่ากันเสมอ แต่ใน ISA เช่น x86-64 จะมีขนาดต่างกันซึ่งทำให้การถอดรหัสคำสั่งที่แตกต่างกันมีความซับซ้อนมากและในบางคำแนะนำโดยเฉพาะจำนวนรอบ ในการถอดรหัสคำสั่งสูงเกินไป นั่นคือเหตุผลที่จำเป็นต้องใช้แคชประเภทที่ช่วยให้การเร่งทำงานเร็วขึ้นเรียกว่า uop cache ซึ่งจะช่วยลดพลังงานที่ใช้ในระหว่างขั้นตอนการถอดรหัสคำสั่ง

เราไม่ทราบว่า AMD ได้ปรับปรุง uop cache และการสื่อสารในระดับใด แต่เป็นหนึ่งในส่วนสำคัญในการปรับปรุงประสิทธิภาพของโปรเซสเซอร์ x86-64 และหนึ่งในประเด็นที่ AMD กล่าวว่าได้รับการปรับปรุงเมื่อเทียบกับ Zen 2.

หน่วยประมวลผลใน Zen 3

เมื่อพูดถึงการส่งคำสั่ง Zen 3 ยังคงมีหน่วย Dispatch ที่ส่ง 6 Macro-Ops ต่อรอบไปยังหน่วยประมวลผลดังนั้น CPI สูงสุดต่อคอร์จึงยังคงอยู่ที่ 6 และในทางทฤษฎีไม่ได้เพิ่มขึ้น ด้วยความอยากรู้อยากเห็น Front-End ของโปรเซสเซอร์ได้รับการติดตั้งเพื่อส่งคำสั่ง 8 คำสั่งพร้อมกันซึ่งแสดงให้เห็นว่าเป็นไปได้ว่าในอนาคตการทำซ้ำสถาปัตยกรรม Zen เราจะเห็นประสิทธิภาพที่เพิ่มขึ้นจากการเพิ่มจำนวนหน่วยประมวลผล แต่ใน Zen 3 จะคุ้นเคยกับ

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

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

แนวคิดในการเพิ่มเส้นทางใหม่เพื่อไม่ให้เกิดความขัดแย้งเมื่อดำเนินการคำสั่งบางอย่างเป็นสิ่งสำคัญเพื่อเพิ่ม IPC ที่แท้จริงของสถาปัตยกรรม นี่เป็นกรณีของหน่วยของจำนวนเต็มใน Zen 3 ซึ่งมีการขยายจำนวนเส้นทางที่สามารถปฏิบัติตามคำแนะนำที่ใช้หน่วยของจำนวนเต็มจาก 7 ถึง 10 เพื่อหลีกเลี่ยงการขัดแย้งระหว่างคำสั่ง

การเปลี่ยนแปลงอื่น ๆ ที่เป็นไปได้คือความจริงของการออกแบบการทำงานภายในของคำสั่งบางคำสั่งทำให้ใช้รอบในการดำเนินการน้อยลงเช่นเดียวกับกรณีของคำสั่ง FMAC ในหน่วยทศนิยมซึ่งเปลี่ยนไปจากเวลาแฝง 5 รอบนาฬิกาเหลือเพียง 4 รอบนาฬิกา

หน่วยประเภทอื่นที่ AMD ได้ปรับปรุงใน Zen 3 คือสิ่งที่เรียกว่า Load / Store ซึ่งรับผิดชอบในการโหลดและจัดเก็บข้อมูลจากและไปยังโปรเซสเซอร์ หน่วยการโหลดสามารถโหลดข้อมูลหรือคำสั่งพร้อมกันได้ถึง 3 ชุดดังนั้นจึงเพิ่มขึ้น 50% เมื่อเทียบกับ Zen 2 ในขณะที่หน่วยเก็บข้อมูลได้เพิ่มขึ้นจาก 1 เป็น 2 พร้อมช่องเก็บข้อมูล 64 ช่อง

CCX แบบ 8 คอร์ใหม่

อาร์คิเทคทูร่า เซน 3 CCX

AMD ได้จัดระเบียบ CCX ใหม่ทั้งหมดเป็นครั้งแรกในสถาปัตยกรรม Zen แทนที่จะสร้างขึ้นรอบ ๆ 4 คอร์ตอนนี้มีประมาณ 8 คอร์ซึ่งเกี่ยวข้องกับการเปลี่ยนแปลงโดยเฉพาะอย่างยิ่งในแคช L3 ซึ่งตอนนี้รวมเป็นหนึ่งเดียวและใช้ร่วมกันไม่ใช่ 4 แต่เป็นโดย 8 คอร์

L3 Cache ในสถาปัตยกรรม Zen เป็น Victim Cache ซึ่งหมายความว่ามันใช้บรรทัดแคชที่ถูกทิ้งโดย L2 cache ภายในซึ่งหมายความว่า L3 cache ไม่ได้มีส่วนร่วมในความต้องการและการดักจับข้อมูลและคำแนะนำจากหน่วยความจำ ดังนั้นข้อดีเมื่อใช้ 8 คอร์คือการสื่อสารคอร์ที่เคยอยู่ใน CCX ที่แตกต่างกันการสื่อสารในแง่มุมนั้นจึงดีขึ้น

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

การเปลี่ยนแปลงเล็กน้อยในโปรเซสเซอร์ Northbridge

ชิปเซ็ต Zen 3

เมื่อเทียบกับ Zen 2 การเปลี่ยนแปลงจาก Northbridge หรือ Scalable Data Fabric ตามศัพท์แสงของ AMD นั้นมีน้อย

  • ในกรณีของ Ryzen 5000 สำหรับเดสก์ท็อปที่ใช้ชิปเล็ตการเปลี่ยนแปลงที่เกี่ยวข้องกับ IOD ของ Ryzen 3000 นั้นแทบจะไม่มีเลยยกเว้นในการรองรับหน่วยความจำ DDR4 ที่เร็วกว่าที่ Zen 2 รองรับรวมถึงการเพิ่มประสิทธิภาพที่ดีกว่าใน เรื่อง. ไปจนถึงการใช้พลังงาน
  • สิ่งเดียวกันนี้สามารถกล่าวได้สำหรับ SoC แบบเสาหินที่ใช้ Zen 3 ยกเว้น CCX ใหม่โปรเซสเซอร์ที่เหลือจะเหมือนกับที่ใช้ Zen 2

จริงๆแล้วเราควรเห็น SDF หรือ IOD ใหม่พร้อมกับการมาถึงของหน่วยความจำ DDR5 และมาตรฐาน I / O ใหม่เช่น PCIe 5.0 แต่สิ่งนี้ควรมาถึงในเวลาเดียวกันกับที่ AMD เปิดตัวสถาปัตยกรรม Zen 4 หรือเราอาจพบว่าตัวเองมี Ryzen 6000 series พร้อม IOD ใหม่ แต่ใช้ Zen 3 cores แต่ AMD เท่านั้นที่บอกได้