คอมพิวเตอร์ทำงานอย่างไร


40

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

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

ผมเข้าใจประตู (AND, OR NOR, NAND, NOT) และเล็ก ๆ น้อย ๆ เกี่ยวกับไดโอด , ตัวต้านทานและทรานซิสเตอร์แต่ฉันคิดนี้จะเป็นสถานที่ที่สมบูรณ์แบบที่จะมีมันอธิบายได้ในแง่ laymens จริง!

ใครช่วยชี้ฉันในทิศทางที่ถูกต้องหรือให้คำอธิบายสั้น ๆ กับฉันได้ไหม


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

3
ฉันรู้ว่าแบคทีเรียทำงานได้อย่างไรคอมพิวเตอร์มันไม่ได้ฮ่า ๆ ๆ
Christian

14
แถน เอลฟ์เวทมนตร์เล็ก ๆ
JeffE


1
วิธีที่ดีที่สุดในการเรียนรู้ว่าคอมพิวเตอร์ใช้งานได้จริงในระดับต่ำสุดได้อย่างไรคือการออกแบบไมโครคอนโทรลเลอร์แบบง่าย ๆ บน fpga หรือด้วยตนเองจากประตู Nand ฉันทำมันในชั้นเรียน "Computer Architectureures" และมันก็เป็นที่เปิดหูเปิดตา ไม่ยากเลยแม้แต่น้อยถ้าคุณเก็บทุกอย่างไว้ในระดับต่ำสุดและออกแบบคอนโทรลเลอร์ 4 บิตพร้อมการเพิ่มบิตการจัดการและการกระโดดตามเงื่อนไข หรือแม้กระทั่งง่ายกว่านั้นฮาร์ดแวร์ที่ใช้งานเครื่องทัวริงที่เรียบง่าย หืมมมนี้ให้ความคิดกับฉัน: เรียนรู้วิธีการทำงานของเครื่องจักรทัวริง มันจะทำให้คุณมีความเข้าใจที่ดี
vsz

คำตอบ:


47

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

การเข้ารหัสตัวเลข

แรงจูงใจพื้นฐานคือการคำนวณสิ่งต่าง ๆ เช่นในการทำเลขคณิต¹ สิ่งแรกที่ต้องดูคือวิธีการแสดงตัวเลข มีวิธีการมากมายโดยใช้ทศนิยมหรือไตรภาคและฉันคิดว่าแม้ระบบฐานแปด แต่ในที่สุดก็ชนะไบนารี ตอนนี้เรารู้ว่าเราต้องสร้างอุปกรณ์ที่จัดการกับสองค่า - ขอเรียกพวกเขาและ101

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

เกตส์

สมมติว่าเราใช้การเข้ารหัสไบนารี คิดว่าคุณเรียนรู้การเพิ่มในโรงเรียนประถมศึกษาและเขียนเลขฐานสองแบบเดียวกันได้อย่างไร เมื่อปรากฎว่าหน่วยการสร้างของพีชคณิตแบบบูลนั้นมีอยู่สำหรับคุณแล้ว มันง่ายในการสร้างadderพื้นฐาน(และฟังก์ชันทางคณิตศาสตร์อื่น ๆ ) โดยใช้ลอจิกเกต

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

นาฬิกาและรัฐ

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

นั่นหมายความว่าผลลัพธ์ของรอบหนึ่งอาจต้องถูกเก็บไว้จนกว่ารอบต่อไปจะเริ่มขึ้นเช่นหากคุณต่อสายลูป มีองค์ประกอบพื้นฐานจำนวนหนึ่งที่คุณสามารถใช้เพื่อสร้างเอฟเฟกต์ต่าง ๆ ทั้งหมดนี้สร้างขึ้นจากประตู บางคนเรียกว่าflip-flop สิ่งเหล่านี้ยังใช้เพื่อสร้างรีจิสเตอร์องค์ประกอบที่เก็บหมายเลขสำหรับวงจรนาฬิกาได้มากเท่าที่ต้องการ

สถาปัตยกรรมและคำสั่ง

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

MIPS ขั้นตอนเดียว
ต้นฉบับจากhttp://ube.ege.edu.tr/~erciyes/CENG311

โดยพื้นฐานแล้วการดึงและแยกส่วนคำสั่งชุดของการลงทะเบียนALUและการควบคุม คำสั่งเข้ารหัสการทำงานของ ALU เพื่อดำเนินการกับตัวถูกดำเนินการ (ตามจำนวนของการลงทะเบียนที่พวกเขาอยู่) วิธีการจัดการโปรแกรมตัวนับ²หรือที่ลงทะเบียนเพื่อโหลด / เก็บจาก / ไปยังหน่วยความจำ³

ข้อควรพิจารณาเพิ่มเติม

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

ทางเลือก

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

ดังนั้นอาจ (หวังว่า) ข้อมูลข้างต้นเป็นประวัติศาสตร์โบราณทั้งหมดอีก 50 หรือ 100 ปีนับจากนี้


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

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

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

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

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

25

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

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


ฟังดูเหมือนเป็นจุดเริ่มต้นที่สมบูรณ์แบบ จะเริ่มต้นที่นั่น ขอบคุณมาก :)
คริสเตียน

2
ฉันยังแนะนำให้อ่าน CODE โดย Charles Petzold
ybakos

7

ความปลอดภัยของพอดคาสต์ตอนนี้! ทำชุดเกี่ยวกับวิธีการทำงานของคอมพิวเตอร์เริ่มต้นด้วยหลักการพื้นฐาน

  • 233 - ออกแบบคอมพิวเตอร์ (ตอนที่ 1)
  • 235 - ภาษาเครื่อง
  • 237 - ทางอ้อม: พลังของพอยน์เตอร์ (ไม่ใช่ส่วนหนึ่งของซีรี่ส์ทางเทคนิค)
  • 239 - กองการลงทะเบียน & การเรียกซ้ำ
  • 241 - การขัดจังหวะของฮาร์ดแวร์
  • 247 - ข้อ "หลาย" -
  • 250 - ระบบปฏิบัติการ
  • 252 - ธุรกิจความเสี่ยง
  • 254 - สิ่งที่เราจะทำเพื่อความเร็ว

ช่องว่างในตัวเลขนั้นเป็นเพราะตอนอื่น ๆ ทุกตอนเป็นตอนฟังคำติชมดังนั้นคุณอาจต้องการดูเหล่านั้นด้วย นอกจากนี้ระหว่าง 241 และ 247 พวกเขาทำบางตอนเกี่ยวกับ SSL เนื่องจากข่าวด่วนในขณะนั้นเกี่ยวกับประเทศที่บังคับให้ CA จัดทำใบรับรองให้พวกเขา

นอกจากนี้สอี 248เป็น "Portable Dog Killer" ซึ่งไม่ได้ฆ่าสุนัข แต่เป็นอาวุธลำแสงโซนิคที่สตีฟสร้างขึ้นเองตั้งแต่ยังเป็นเด็กเพื่อช่วยสอนสุนัขเพื่อนบ้านไม่ให้วิ่งไปตามแนวรั้วและพยายามโจมตีผู้คนบนทางเท้า .


! ที่น่าสนใจ ขอบคุณสำหรับการแชร์. ฉันจะดู
Christian

4

คอมพิวเตอร์ทำงานโดยการจัดการกับการไล่ระดับสีพลังงาน (ซึ่งเราก็ตีความเป็น 1 และ 0) ในที่สอดคล้องกัน , กำหนดวิธี เป็นความสอดคล้องที่กำหนดคอมพิวเตอร์ในขณะที่ความหมายซึ่งแยกโปรเซสเซอร์ที่แตกต่างกัน

นอกจากนี้เรียนรู้เกี่ยวกับวิธีการเพียงสองประตูตรรกะ (หรือและและ) เป็นหน่วยการสร้างที่เพียงพอในการสร้างคอมพิวเตอร์ที่ใช้งานทั่วไป ดูเพิ่มเติมที่ Danny Hillis และคอมพิวเตอร์ Tinkertoy


นั่นเป็นการอ่านที่น่าสนใจเกี่ยวกับ TinkerToy โดยเฉพาะอย่างยิ่งความจริงที่ว่ามันชนะเสมอ ( science20.com/brain_candyfeed_your_mind/ ...... )
คริสเตียน

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

@ คริสเตียน: ฮ่า ๆ โอเคสร้างประตูตรรกะพื้นฐานบางอย่าง (และ / หรือ / ไม่) บาง flip-flop สำหรับการจัดเก็บหน่วยความจำขั้นพื้นฐานและคุณอาจจะสามารถเพิ่มตัวเลข 4 บิตสองตัว

ฉันมีรองเท้าแตะ! ในความเป็นจริงสองคู่
คริสเตียน

3

คอมพิวเตอร์เป็นระบบลอจิคัลขนาดใหญ่ซึ่งหมายความว่า

  • มันจัดการข้อมูลในรูปแบบของสัญญาณไฟฟ้าโดยใช้กฎของแคลคูลัสบูลีน0/1
  • มันทำงานกับนาฬิกา (เร็วมาก) เพื่อให้สัญญาณทั้งหมดถูกสุ่มตัวอย่างในช่วงเวลาที่ไม่ต่อเนื่องเพื่อให้แน่ใจว่ามีการเชื่อมโยงกัน

ข้อมูลจะถูกแทนด้วยแรงดันไฟฟ้าและการดำเนินงานแบบบูลจะดำเนินการโดยวิธีการของทรานซิสเตอร์ (การขึ้นรูปวงจรดิจิตอล)0/1

มีวงจรเฉพาะในการเก็บข้อมูลตราบเท่าที่คอมพิวเตอร์ใช้พลังงาน (RAM ในปริมาณมาก) มันมีวงจรพิเศษในการคำนวณเลขฐานสอง (จริง ๆ แล้วบิตนั้นได้รับการจัดการในกลุ่ม - โดยทั่วไปแล้วจะเป็นจำนวนทวีคูณของ 8 - ซึ่งเป็นตัวแทนของจำนวนเต็ม) และมีความสามารถในการเราต์แบบพิเศษตามที่อยู่หน่วยความจำซึ่งไม่มีอะไรนอกจากจำนวนเต็ม

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

ในสถานการณ์ของคุณอาจคิดว่าการใช้งานที่เก็บเวลาที่ผ่านไปในบางส่วนใน RAM และโปรแกรมแนะนำให้

  • เรียกค่าเวลาที่ผ่านไป
  • เพิ่มขึ้นด้วย adder
  • เปรียบเทียบกับความล่าช้าที่กำหนดไว้ล่วงหน้าด้วยตัวเปรียบเทียบ
  • กลับไปที่ที่อยู่ของโปรแกรมเริ่มต้นในกรณีที่มีความไม่เท่าเทียมกัน (เช่น "ลูป")
  • มิฉะนั้นตั้งค่าสัญญาณพิเศษซึ่งไปที่สวิตช์ภายนอกมากกว่า RAM

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


-1

มีหลายวิธีในการทำฟังก์ชั่นการหน่วงเวลาหรือแปลงข้อมูลไบนารีเป็นข้อมูลทศนิยมหรือความแรงของสัญญาณ เมื่อคุณป้อนค่า "15" คอมพิวเตอร์จะแสดงรูปภาพบิตแมปของหมายเลข 15 บนหน้าจอ นี่คือค่าไบนารี่ในขณะนี้รหัสไบนารี่ของคีย์บอร์ดของคุณก็ถูกส่งไปยังซีพียู มันจะทำการแยกวิเคราะห์ข้อมูลจากนั้นเปลี่ยนรหัสเป็นหน่วยประมวลผล ALU (หน่วยคำนวณทางคณิตศาสตร์) เพื่อแปลงเป็นพัลส์เป็นชิป DAC ขณะนี้สัญญาณอะนาล็อกกำลังควบคุมความถี่ (ความถี่จาก khz ถึง hz) ของวงจรฟลิปฟล็อป ตอนนี้เอาต์พุตความถี่จะถูกนำไปยัง RAM และ cpu อ่าน RAM ให้ตรงกันหากข้อมูลคือ "1111" นั่นคือ 4 วินาที


ฉันไม่แน่ใจว่าวิธีนี้ตอบคำถาม
Yuval Filmus

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