เหตุใด CPU ถึงเชื่อมต่อกับบัสเพียงบัสเดียว?


24

ฉันพบสถาปัตยกรรมเมนบอร์ดที่นี่:

ป้อนคำอธิบายรูปภาพที่นี่

นี่เป็นเค้าโครงทั่วไปของเมนบอร์ด แก้ไข:เห็นได้ชัดว่ามันไม่ปกติอีกต่อไป

เหตุใด CPU จึงเชื่อมต่อกับบัสเพียง 1 บัส รถบัสด้านหน้านั้นดูเหมือนคอขวดใหญ่ จะดีกว่าไหมถ้าให้รถบัส 2 หรือ 3 คันเข้าสู่ซีพียูโดยตรง

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

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

ดังนั้นมีอะไรผิดปกติกับเรื่องนี้? มีข้อเสียที่สำคัญที่ไหนสักแห่ง? สิ่งเดียวที่ฉันนึกได้คือความซับซ้อนใน CPU และเคอร์เนลมากขึ้นซึ่งทำให้ฉันคิดว่าสถาปัตยกรรมบัสคอขวดนี้เป็นวิธีที่ทำในสมัยก่อนเมื่อสิ่งต่าง ๆ มีความซับซ้อนน้อยกว่าและการออกแบบยังคงเหมือนเดิมสำหรับมาตรฐาน

แก้ไข:ฉันลืมที่จะพูดถึงการจ้องจับผิดการตรวจสอบ ฉันรู้ว่าฉันเห็นมันในบางแผนภาพ สันนิษฐานว่าเป็นคอขวดบัสจะทำให้ง่ายขึ้นสำหรับสุนัขเฝ้าบ้านในการตรวจสอบทุกอย่าง มีสิ่งที่จะทำอย่างไรกับมัน?


9
นั่นเป็นวิธีที่เก่ามาก ทุกวันนี้ซีพียูมีรูทคอมเพล็กซ์และตัวควบคุมหน่วยความจำในตัวดังนั้นเชื่อมต่อโดยตรงกับอุปกรณ์ PCIe, RAM และบริดจ์ใต้อย่างมีประสิทธิภาพ ตัวอย่างเช่นนี้
Tom Carpenter

@TomCarpenter ใช่แล้วที่เริ่มมีลักษณะเหมือนกัน แผนภาพที่ฉันโพสต์คือสิ่งที่ฉันเห็น "ทุกที่" รวมถึงโรงเรียนดังนั้นฉันจึงคิดว่ามันเป็นเรื่องปกติมากขึ้น
DrZ214

7
แผนภาพข้างต้นนั้นยังเกี่ยวข้อง ทุกวันนี้ที่ไม่ได้เป็นแผนภาพของมาเธอร์บอร์ด แต่เป็นซีพียูเอง แทนที่ "CPU" ด้วย "core" และ "chipset" ด้วย "CPU"
slebetman

คำตอบ:


43

วิธีการที่คุณแสดงให้เห็นนั้นเป็นโครงสร้างที่ค่อนข้างเก่าสำหรับเมนบอร์ด - มีมาก่อน PCIe ซึ่งทำให้มันกลับมาอยู่ในยุค 00 สาเหตุหลักมาจากปัญหาการรวมกลุ่ม

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

เพื่อต่อสู้กับสิ่งนี้คุณเพียงแค่แบ่งการออกแบบออกเป็นหลายชิป - ในกรณีของมาเธอร์บอร์ดนั่นคือซีพียู, นอร์ ธ บริดจ์และเซาท์บริดจ์ ซีพียูนั้น จำกัด เฉพาะโปรเซสเซอร์ที่เชื่อมต่อด้วยความเร็วสูง (เรียกว่าบัสด้านหน้าเท่าที่ฉันจำได้) จากนั้นคุณจะมี North Bridge ซึ่งรวมตัวควบคุมหน่วยความจำการเชื่อมต่อกราฟิก (เช่น AGP เทคโนโลยีโบราณในแง่การคำนวณ) และอีกลิงค์ที่ช้ากว่าไปยัง South Bridge The South Bridge ใช้สำหรับจัดการการ์ดเอ็กซ์แพนชันฮาร์ดไดรฟ์ซีดีไดรฟ์เสียง ฯลฯ


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

เมื่อคุณชี้ให้เห็นอย่างถูกต้องการเชื่อมต่อระหว่างกันหนึ่งตัวกับสะพานเหนือกลายเป็นคอขวด หากคุณสามารถรวมทุกอย่างเข้ากับ CPU รวมถึง PCIe Root Complex และคอนโทรลเลอร์หน่วยความจำระบบคุณก็จะมีลิงค์ความเร็วสูงระหว่างอุปกรณ์สำคัญสำหรับกราฟิกและคอมพิวเตอร์ - บน PCB ที่คุณอาจพูดถึงความเร็วของคำสั่งของ Gbps ตายคุณสามารถบรรลุความเร็วในการสั่งซื้อของ Tbps!

โทโพโลยีใหม่นี้สะท้อนให้เห็นในแผนภาพนี้:

โทโพโลยีใหม่

แหล่งที่มาของภาพ

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

ทำไมไม่รวมทุกอย่างอย่างแน่นอน? ผู้ผลิตเมนบอร์ดก็ยังต้องการความสามารถในการปรับแต่งเอง - จำนวนสล็อต PCIe, จำนวนการเชื่อมต่อ SATA, ตัวควบคุมเสียง, ฯลฯ

ในความเป็นจริงโปรเซสเซอร์มือถือบางตัวรวมเข้ากับ CPU ได้มากขึ้น - คิดว่าคอมพิวเตอร์บอร์ดเดียวที่ใช้ตัวประมวลผล ARM ในกรณีนี้เนื่องจาก ARM ให้เช่าการออกแบบ CPU ผู้ผลิตยังคงสามารถปรับแต่งแม่พิมพ์ตามที่พวกเขาเห็นว่าเหมาะสมและรวมเอาคอนโทรลเลอร์ / อินเตอร์เฟสใด ๆ ที่พวกเขาต้องการ


+1, คุณเอาชนะฉันไปได้ :) คำตอบที่ดีโดยเฉพาะอย่างยิ่งสำหรับเหตุผลทางประวัติศาสตร์สำหรับการออกแบบสถาปัตยกรรม
uint128_t

ขอขอบคุณโดยเฉพาะอย่างยิ่งวรรคสองที่โดนบ้าน อย่างไรก็ตามon the die you can achieve speeds on the order of Tbps!Yikes ไม่ได้เริ่มต้นที่จะเอาชนะความสามารถของ CPU ในการประมวลผลเร็วพอหรือไม่
DrZ214

3
@ DrZ214 ไม่ใช่ PCI พวกเขาเป็น PCIe ซึ่งเป็นบัสอนุกรมแทนที่จะเป็นแบบขนาน PCIe มีทั้ง 2.5Gbps, 5Gpbs หรือ 8Gbps ต่อช่องทางทั้งสองทิศทาง (full duplex) - โดยมี 16 เลนที่กว้างที่สุดซึ่งมักจะเห็นได้ว่าให้สูงสุด 128Gbps ตามทฤษฎีทั้งสองทิศทาง และใช่ความคิดเห็นข้างต้นเกี่ยวกับความเร็วของโปรเซสเซอร์นั้นเรียบง่ายเกินไป แต่ไม่สมจริง - ไม่เกี่ยวข้องกับซีพียูฉันกำลังทำงานกับการออกแบบ FPGA ในขณะนี้ซึ่งประมวลผลข้อมูลที่ 315Gbps และไม่มีที่ไหนใกล้กับประสิทธิภาพเต็มที่ ของ FPGA สิ่งที่ จำกัด คือการขาดข้อมูล!
Tom Carpenter

1
สิ่งที่น่าสนใจคือสิ่งนี้แสดงให้เห็นถึงการย้อนกลับไปสู่สถาปัตยกรรมของระบบที่เก่ากว่าที่ซึ่งหน่วยความจำและบัสเก็บข้อมูล (ฯลฯ ) ไปยัง CPU โดยตรง
Chris H

1
@ DrZ214 a "เลน" มีความกว้างบิตเดียวสัญญาณนาฬิกา / ข้อมูลที่ส่งเป็นสองคู่ สิ่งที่โดดเด่นเกี่ยวกับ PCIe เมื่อเปรียบเทียบกับพูดว่าบัส DDR คือ PCIe สามารถรวมและแยกแยะเลนได้อย่างอิสระในขณะที่รถเมล์ส่วนใหญ่คุณต้องใช้เวลาทั้งหมดหรือเปล่า
pjc50

9

ฉันไม่สามารถพูดได้ว่าฉันเป็นผู้เชี่ยวชาญในสถาปัตยกรรมคอมพิวเตอร์ แต่ฉันจะใช้เวลาตอบคำถามของคุณ

นี่เป็นเค้าโครงทั่วไปของเมนบอร์ด

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

เหตุใด CPU จึงเชื่อมต่อกับบัสเพียง 1 บัส รถบัสด้านหน้านั้นดูเหมือนคอขวดใหญ่ จะดีกว่าไหมถ้าให้รถบัส 2 หรือ 3 คันเข้าสู่ซีพียูโดยตรง

รถบัสแบบกว้าง (64- บิต) มีราคาแพงพวกเขาต้องการตัวรับส่งสัญญาณบัสจำนวนมากและหมุด I / O จำนวนมาก อุปกรณ์เดียวที่ต้องใช้บัสความเร็วสูงที่ส่งเสียงกรี๊ดคือการ์ดกราฟิกและ RAM ทุกอย่างอื่น (SATA, PCI, USB, ซีเรียลและอื่น ๆ ) ค่อนข้างช้าและไม่สามารถเข้าถึงได้ตลอดเวลา ดังนั้นทำไมในสถาปัตยกรรมข้างต้นอุปกรณ์ต่อพ่วงที่ "ช้าลง" เหล่านั้นทั้งหมดถูกรวมเข้าด้วยกันผ่านทาง Southbridge ในฐานะอุปกรณ์บัสเดี่ยว: โปรเซสเซอร์ไม่ต้องการที่จะต้องทำธุรกรรมรถบัสเล็ก ๆ น้อย ๆ ดังนั้นธุรกรรมรถบัสที่ช้า / ไม่บ่อยนัก และจัดการโดย southbridge ซึ่งเชื่อมต่อกับอุปกรณ์ต่อพ่วงอื่น ๆ ด้วยความเร็วที่เร็วกว่า

ตอนนี้มันเป็นเรื่องสำคัญที่จะพูดถึงว่าเมื่อฉันพูดไปแล้วว่า SATA / PCI / USB / ซีเรียลนั้น "ช้า" ซึ่งส่วนใหญ่เป็นจุดทางประวัติศาสตร์และกลายเป็นจริงน้อยลงในปัจจุบัน ด้วยการนำ SSDs มาใช้กับดิสก์ที่มีลักษณะไม่แน่นอนและอุปกรณ์ต่อพ่วง PCIe ที่รวดเร็วรวมถึง USB 3.0, Thunderbolt และอีเธอร์เน็ต 10G (เร็ว ๆ นี้) แบนด์วิดธ์ของอุปกรณ์ต่อพ่วง "ช้า" นั้นมีความสำคัญอย่างรวดเร็ว ในอดีตรถบัสระหว่างสะพานเหนือและสะพานใต้ไม่ได้เป็นคอขวดมากนัก แต่ตอนนี้ไม่เป็นความจริงอีกต่อไป ใช่แล้วสถาปัตยกรรมกำลังเคลื่อนไปสู่รถเมล์ที่ต่อกับซีพียูโดยตรง

มีบางสิ่งที่ยากมากเกี่ยวกับการทำเช่นนี้? ฉันไม่เห็นว่าราคาจะเข้ามาอย่างไรเพราะไดอะแกรมที่มีอยู่มีรถเมล์ไม่น้อยกว่าเจ็ด

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

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

แก้ไข: ฉันลืมพูดถึง Watchdog Monitor ฉันรู้ว่าฉันเห็นมันในบางแผนภาพ สันนิษฐานว่าเป็นคอขวดบัสจะทำให้ง่ายขึ้นสำหรับสุนัขเฝ้าบ้านในการตรวจสอบทุกอย่าง มีสิ่งที่จะทำอย่างไรกับมัน?

ไม่นั่นไม่ใช่สิ่งที่สุนัขเฝ้าบ้านทำ จ้องจับผิดเป็นเพียงการรีสตาร์ทสิ่งต่าง ๆ เมื่อ / ถ้าพวกเขาล็อค มันไม่ได้ดูทุกอย่างที่เคลื่อนผ่านรถบัส (มันซับซ้อนน้อยกว่านั้นมาก!)


2
Fast buses require fast silicon, slow buses don'tซิลิคอนที่เร็วหมายถึงอะไร? ซิลิคอนที่มีความบริสุทธิ์สูงกว่า หรือคุณกำลังบอกว่ารถโดยสารช้าสามารถใช้องค์ประกอบที่แตกต่างจากซิลิคอนได้หรือไม่ ฉันคิดว่าซิลิคอนเป็นวัสดุที่ค่อนข้างถูก บิตที่น่าสนใจเกี่ยวกับสุนัขเฝ้าบ้านด้วย ฉันอาจถามคำถามที่เกี่ยวข้องกับมัน
DrZ214

1
โดยทั่วไปบัสเร็วจะเป็นส่วนหนึ่งของอุปกรณ์ประสิทธิภาพสูงเช่น CPU อินเตอร์เฟสบัสต้องการพื้นที่และการเชื่อมต่อไปยังส่วนอื่น ๆ ของชิป พื้นที่ซิลิคอนบนตัวประมวลผลตายมีราคาแพงกว่าชิปที่ช้ากว่ามากเพราะขนาดกระบวนการมีขนาดเล็กลงและการผลิต / บรรจุภัณฑ์ยากขึ้น ดังนั้นจึงถูกกว่าในการ จำกัด อุปกรณ์บน FSB เฉพาะอุปกรณ์ที่ต้องใช้แบนด์วิดท์เช่นนั้นจริง อย่างไรก็ตามเนื่องจากคอนโทรลเลอร์มีการรวมเข้ากับ CPU บน Die เดียวกัน (SoC) เดียวกันจึงไม่เป็นความจริงอีกต่อไป
uint128_t

แม้ว่ารถเมล์ช้าไม่จำเป็นต้องใช้ซิลิกอนเร็ว แต่ก็ไม่ใช่เรื่องแปลกที่จะหาไดรเวอร์ที่เร็วมากในอินเตอร์เฟสที่ช้าซึ่งสามารถสร้างอาการปวดหัวที่สำคัญสำหรับโครงร่าง PCB ฉันเห็น PCI ธรรมดา (ความเร็วสูงสุด 133MHz บน PCI-X) ด้วยเวลาขึ้นและลงที่น้อยกว่า 300 ps เนื่องจากผู้ขายใช้เซลล์ I / O มาตรฐาน ฉันรู้ว่า PCI เป็นส่วนต่อประสานโดยปกติแล้วจะไม่สามารถใช้งานได้ในโปรเซสเซอร์ใหม่ แต่ปัญหานี้สามารถใช้ได้ที่อื่น
Peter Smith

6

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

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


-1

พิจารณาจำนวนพินที่จำเป็นสำหรับแพ็คเกจ CPU เพื่อให้มีบัสแบบกว้างหลายบัส ตัวอย่างเช่น CPU แปดคอร์แต่ละตัวมีดาต้าบัส 64- บิตรวมทั้งพินอื่น ๆ สำหรับวัตถุประสงค์อื่น วันนี้มีแพ็คเกจ CPU ใดบ้างที่มี 800 พินอยู่บ้าง?


ทำไมจะไม่มี? อาร์เรย์ลูกกริด 32x32 และ PCB หลายเลเยอร์ไม่ได้ฟังดูเหมือนเป็นปัญหาที่ยาก (ในระดับสัมพัทธ์) วิศวกรฮาร์ดแวร์ยอดเยี่ยม // ลองคิดดูว่าการ์ด RAM กว้างและเงอะงะได้อย่างไรและยังคงนาฬิกาที่ 1.6 GHz (625 picoseconds) หากสัญญาณไฟฟ้าเคลื่อนที่ที่ 2/3 c การติดตามที่ยาวที่สุดสามารถยาวได้เพียง 6 ซม. และความแตกต่างของความยาวเพียงไม่กี่มม. จะทำให้การจับเวลาผิดปกติสังเกตได้ // และฉันเดาว่า crosstalk ระหว่างเลเยอร์จะไม่เลวร้ายยิ่งไปกว่าระหว่างร่องรอยบนเลเยอร์เดียวกัน
Oskar Skog

"วันนี้มีแพ็คเกจ CPU ใดบ้างที่มี 800 พินอยู่หรือ โอ้ใช่. แพคเกจที่มีพิน 1100+ เป็นเรื่องธรรมดาอยู่แล้วเมื่อเขียนคำตอบนี้ และในปัจจุบันมี LGA3647 สำหรับบาง Skylake-EX ซีพียูเซิร์ฟเวอร์ ...
duskwuff
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.