สถาปัตยกรรม SoC: โปรเซสเซอร์ที่แตกต่างกันทำงานอย่างไร

สถาปัตยกรรม SoC

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

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

SoC คืออะไร?

โซซี PS5

วันนี้โปรเซสเซอร์ทุกตัวเป็น SoC แต่เราเรียก SoC ที่รวบรวม a ซีพียู และ GPU ในพื้นที่เดียวกันเพื่อแยกความแตกต่างจาก SoC ที่ทำหน้าที่เป็นโปรเซสเซอร์กลางหรือชิปกราฟิกเท่านั้นที่ยังคงเรียกว่า CPU และ GPU ตามลำดับ

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

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

สถาปัตยกรรมทั่วไปของ SoC

SoC Arquitectura ทั่วไป

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

ใน SoCs องค์ประกอบทั้งหมดใช้การเข้าถึงหน่วยความจำเดียวกันร่วมกันซึ่งหมายความว่าใน SoC ทั้งหมดการเข้าถึงหน่วยความจำทำได้ผ่านองค์ประกอบเดียว ซึ่งอยู่ในสถาปัตยกรรมทั้งหมด Northbridge หรือ North Bridge ซึ่งสื่อสารส่วนประกอบทั้งหมดของ CPU ระหว่างพวกเขาและกับ แรม หน่วยความจำ

การเชื่อมต่อโครงข่าย

Northbridge ไม่ได้รันโปรแกรมใดๆ เลย แต่จะจัดระเบียบการส่งและรับข้อมูล ดังนั้น SoC ภายในจะประมวลผลข้อมูลจำนวนมากอย่างต่อเนื่อง และเป็นส่วนที่สำคัญที่สุดในการออกแบบ SoC.

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

สถาปัตยกรรมใน SoC และการเข้าถึงหน่วยความจำ

ASCII

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

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

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

หน่วยความจำที่เชื่อมโยงกับหน่วยความจำที่ไม่เชื่อมโยงกัน

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

ความสอดคล้องเกิดขึ้นกับ CPU แต่มีส่วนประกอบภายใน SoC ที่สามารถทำงานได้โดยไม่ต้องมีกลไกที่สอดคล้องกัน สิ่งนี้บังคับให้เกี่ยวกับหน่วยความจำภายนอกมีส่วนที่กำหนดให้กับส่วนที่เชื่อมโยงกันและอื่น ๆ ไปยังส่วนที่ไม่เชื่อมโยงกัน เมื่อ Northbridge ของ SoC ได้รับคำขอหน่วยความจำใน SoC ที่มีทั้งสองประเภท สิ่งที่ทำคือแบ่งที่อยู่หน่วยความจำในลักษณะที่ส่วนประกอบที่สอดคล้องกับ CPU เข้าถึงส่วนหนึ่งของหน่วยความจำและส่วนอื่นๆ ของหน่วยความจำ

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

การจมน้ำด้วยความร้อนใน SoCs

Arquitectura SoC อะโฮกามิเอนโต เทอร์มัล

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

ดังนั้นใน SoC หากคุณต้องการให้ส่วนประกอบถึงความเร็วสูงสุดก็จะทำให้ส่วนประกอบอื่น ๆ เป็นเท็จ แม้แต่ใน SoCs ที่มี multicore CPU ก็เกิดขึ้นระหว่างคอร์ต่างๆ โดยที่การออกแบบบางอย่างอนุญาตให้คอร์เดียวทำงานเร็วกว่าส่วนที่เหลือ

นี่เป็นสาเหตุที่ SoC จำนวนมากมีความสามารถในการเชื่อมต่อและตัดการเชื่อมต่อส่วนต่างๆ ของ GPU เมื่อไม่ได้ใช้งาน แต่สิ่งนี้จะต้องนำมาใช้ในสถาปัตยกรรมของ SoC เองและด้วยเหตุนี้ในการออกแบบ