Field Programmable Gate Arrays ฟังดูซับซ้อน แต่เปิดโลกใหม่สำหรับนักพัฒนา
หากคุณเคยอ่านเกี่ยวกับการจำลองเกมย้อนยุค คุณอาจเคยเจอประเภทเซมิคอนดักเตอร์ที่เรียกว่า Field-Programmable Gate Array (FPGA) เหล่านี้เป็นวงจรรวมพิเศษที่สามารถกำหนดค่าตัวเองใหม่ได้หลังจากการผลิตด้วยบล็อกลอจิกที่กำหนดค่าได้ (CLB) กล่าวอีกนัยหนึ่ง โดยพื้นฐานแล้ว คุณสามารถตั้งโปรแกรมชิปเซ็ตใหม่ให้ทำหน้าที่เป็นวงจรดิจิทัลประเภทอื่นๆ ได้ ซึ่งมีแอปพลิเคชันหลายรายการใน AI การออกแบบชิปเซ็ต และสาขาอื่นๆ
FPGA มีกรณีการใช้งานมากมาย และอุปกรณ์ต่างๆ เช่น Analogue Pocket ก็ใช้สิ่งเหล่านี้เพื่อรองรับอุปกรณ์พกพาต่างๆ อย่างไรก็ตาม Microsoft ยังใช้ FPGA เพื่อขับเคลื่อน Bing เนื่องจากช่วยให้บริษัทสามารถตั้งโปรแกรมใหม่ได้อย่างรวดเร็วเพื่อรองรับอัลกอริธึมใหม่ในขณะที่ได้รับการพัฒนา
FPGA กับ CPU แบบดั้งเดิม: อะไรคือความแตกต่าง?
ตรงกันข้ามกับชิปเซ็ตมาตรฐาน — สแนปดรากอน 8 เจนเนอเรชั่น 2ตัวอย่างเช่น — FPGA ไม่ได้ออกแบบมาให้ตั้งโปรแกรมใหม่ในภาคสนาม เป็นระบบบนชิป (SoC) ที่ประกอบด้วยหลายส่วน รวมถึง GPU, NPU และ CPU เมื่อจัดส่งแล้ว นั่นคือสิ่งที่ผู้บริโภคและธุรกิจจะได้รับ
อย่างไรก็ตาม FPGA ได้รับการออกแบบมาเพื่อให้มีความยืดหยุ่นได้ เพื่อให้ผู้ใช้สามารถเปลี่ยนส่วนของชิปได้โดยไม่ต้องเสียค่าใช้จ่ายหรือความเสี่ยงเพิ่มเติม ในอุตสาหกรรมที่เปลี่ยนแปลงอย่างรวดเร็ว เช่น รถยนต์ไร้คนขับ กฎระเบียบและมาตรฐานใหม่สามารถนำมาใช้ได้ตลอดเวลาสำหรับอุปกรณ์ทุกด้าน การใช้ FPGA ช่วยให้สามารถอัปเดต OTA เพื่อตั้งโปรแกรมชิปใหม่เพื่อรองรับมาตรฐานใหม่ได้
ข้อแตกต่างที่สำคัญประการหนึ่งระหว่าง FPGA และ CPU แบบดั้งเดิมคือ FPGA ได้รับการออกแบบมาเพื่อประมวลผลข้อมูลแบบขนานโดยแลกกับความเร็วสัญญาณนาฬิกาที่ต่ำกว่ามาก ตัวอย่างเช่น FPGA ที่มี 10 ไปป์ไลน์สำหรับการประมวลผลข้อมูลสามารถดำเนินการคูณตัวเลขสองตัวสำหรับแต่ละไปป์ไลน์ โดยคูณ 20 หมายเลขต่อรอบ CPU แบบเดิมสามารถคูณตัวเลขสองตัวต่อรอบ ต่อคอร์ และตามลำดับ
FPGA ทำงานอย่างไรสำหรับการจำลอง
FPGA มักใช้สำหรับการจำลองฮาร์ดแวร์ และส่วนที่น่าสนใจของกระบวนการออกแบบชิปเซ็ตก็คือการใช้ FPGA เพื่อจำลองส่วนต่างๆ ของ SoC ในการทดสอบ ผู้ออกแบบชิปเซ็ตสามารถใช้ FPGA หลายตัวเพื่อสร้างต้นแบบวงจรรวมเฉพาะแอปพลิเคชัน (ASIC) ภาษาคำอธิบายฮาร์ดแวร์ (HDL) ใช้เพื่อสร้างการออกแบบฮาร์ดแวร์ และภาษานี้จะบอก FPGA ถึงวิธีการจัดเรียงตัวเอง ในกรณีของ Analogue Pocket การออกแบบเหล่านี้จะแจกจ่ายในรูปแบบของ "คอร์" ซึ่งโดยทั่วไปจะเขียนด้วยภาษา Verilog และผู้ใช้สามารถดาวน์โหลดคอร์เพื่อเตรียมอุปกรณ์พกพาสำหรับคอนโซลเฉพาะได้
ตัวอย่างเช่น Analogue Pocket สามารถอ่านเกม Game Boy ได้โดยตรงในช่องตลับหมึกและเล่นได้ราวกับว่าเป็นคอนโซลดั้งเดิม ไม่เพียงเท่านั้น อะแดปเตอร์คาร์ทริดจ์ยังเพิ่มการรองรับเพิ่มเติมสำหรับอุปกรณ์อื่นๆ ด้วย เช่น Game Gear, Atari Lynx และอื่นๆ อีกมากมาย สิ่งนี้เป็นไปได้เพียงเพราะธรรมชาติของ FPGA ที่สามารถตั้งโปรแกรมใหม่ได้ซึ่งใช้การจำลองฮาร์ดแวร์แทนการจำลองซอฟต์แวร์เพื่อให้แน่ใจว่าสามารถเล่นเกมได้ MiSTer (ซึ่งใช้บอร์ด DE-10 Nano FPGA เป็นฐานและต้องมีโมดูลเพิ่มเติมอยู่ด้านบน) มีความคล้ายคลึงกันตรงที่สามารถใช้เพื่อจำลองคอนโซลเช่น SNES, Sega Genesis และแม้แต่ เกมคิวบ์ โดยทั่วไปการจำลองฮาร์ดแวร์จะมีความแม่นยำมากกว่าการจำลองซอฟต์แวร์ ในขณะเดียวกันก็ให้ประโยชน์ด้านประสิทธิภาพด้วย
แม้ว่าฮาร์ดแวร์จะมีอายุมากขึ้นและอาจไม่น่าเชื่อถือเมื่อเวลาผ่านไป แต่ FPGA ก็สามารถตั้งโปรแกรมใหม่เพื่อจำลองประสบการณ์การใช้ฮาร์ดแวร์แบบเดียวกันได้
แน่นอนว่านั่นไม่ได้หมายความว่าคอร์จะตีความ HDL ของชิปเซ็ตแบบตัวต่อตัวได้อย่างสมบูรณ์แบบ เกือบจะใกล้เคียงกัน แต่มีการแก้ไขและปรับปรุงคอร์เมื่อเวลาผ่านไปเพื่อแก้ไขปัญหาที่อาจระบุได้ในการใช้งานปกติ คอร์เหล่านี้สร้างขึ้นโดยวิศวกรรมย้อนกลับกับชิปเซ็ตที่เข้าไปในอุปกรณ์เหล่านี้ และคอร์เหล่านี้จำเป็นต้องทำแผนผังส่วนประกอบแต่ละส่วนและทุกส่วนบนมาเธอร์บอร์ด ในชิปเซ็ตที่เป็นกรรมสิทธิ์เฉพาะนั้น ยิ่งยากขึ้นไปอีก โดยที่นักพัฒนามักจำเป็นต้องเห็น ชิป "uncapped" พร้อมกล้องจุลทรรศน์เพื่อดูว่ามีอะไรเกิดขึ้นภายในชิปและทำซ้ำ
นั่นเป็นเหตุผลว่าทำไม FPGA จึงมีความสำคัญต่อการดูแลรักษาฮาร์ดแวร์ด้วย แม้ว่าฮาร์ดแวร์จะมีอายุมากขึ้นและอาจไม่น่าเชื่อถือเมื่อเวลาผ่านไป แต่ FPGA ก็สามารถตั้งโปรแกรมใหม่เพื่อจำลองประสบการณ์การใช้ฮาร์ดแวร์แบบเดียวกันได้ ชิปจะจัดเรียงตรรกะทางกายภาพของตัวเองใหม่ภายในตัวมันเองเพื่อให้ตรงกับคอร์ใดก็ตามที่ได้รับ ระบบนิเวศของ openFPGA ได้รับการออกแบบมาเพื่อช่วยในการรักษาฮาร์ดแวร์ดังกล่าว
ยิ่งไปกว่านั้น คุณยังได้รับประโยชน์เพิ่มเติมจากการเล่นเกมเหล่านั้นด้วยวิธีที่ถูกต้องตามกฎหมายแต่ใช้ฮาร์ดแวร์โดยรวมที่ดีกว่า คุณสามารถซื้อ Analogue Pocket ได้ในราคา 220 เหรียญสหรัฐ และเล่นเกม Game Boy ได้เหมือนอย่างที่คุณเคยทำในอดีต แต่ด้วยคุณภาพงานประกอบที่สูงขึ้น หน้าจอที่ดีขึ้น และแม้แต่การรองรับ Dock
ข้อเสียของ FPGA
อย่างไรก็ตาม มีข้อเสียบางประการ ประการแรก พวกเขาใช้พื้นที่มากกว่า CPU แบบดั้งเดิมมาก และยังมีราคาแพงกว่าในการผลิตอีกด้วย อุปกรณ์เช่น Analogue Pocket และ MiSTer FPGA มีค่าใช้จ่ายเป็นจำนวนมาก โดยอย่างหลังจะคืนเงินให้คุณมากกว่า 500 ดอลลาร์หากคุณรับส่วนเสริมบางอย่างเช่นกัน คนส่วนใหญ่เพียงต้องการจำลองเกมบนสมาร์ทโฟนหรือคอมพิวเตอร์ของตน และไม่สนใจเกี่ยวกับความแม่นยำของพิกเซลที่สมบูรณ์แบบที่การจำลองระดับฮาร์ดแวร์มอบให้
แน่นอนว่า FPGA ยังอยู่ในวัยเด็กที่เกี่ยวข้องกับผู้บริโภคด้วย โดยความนิยมเพิ่มขึ้นในช่วงไม่กี่ปีที่ผ่านมาเท่านั้น จริงๆ แล้ว สิ่งเหล่านี้มีการใช้งานระดับมืออาชีพมานานแล้วโดยนักวิทยาศาสตร์ สถาปนิกชิปเซ็ต AI และอื่นๆ ที่คล้ายกัน ในช่วงไม่กี่ปีที่ผ่านมา อุปกรณ์ของผู้บริโภคได้ถูกครอบตัดและสามารถใช้งานในลักษณะที่ไม่เป็นทางการหรือสำหรับผู้ที่กระตือรือร้นมากขึ้น
สำหรับคนส่วนใหญ่ที่ต้องการเข้าสู่การจำลอง ความสะดวกสบายของอุปกรณ์เฉพาะที่รับประกันว่า ประสบการณ์ที่สมจริงจากต้นฉบับนั้นน่าหลงใหล แต่ไม่ใช่สิ่งที่ทุกคนต้องการหรือแม้แต่ใส่ใจ โดยส่วนตัวแล้วหากฉันต้องการเล่นเกมอย่าง Super Mario Bros ฉันก็ยินดีที่จะเล่นเกมนี้บนโทรศัพท์ขณะเดินทาง ฉันไม่จำเป็นต้องมีอุปกรณ์เฉพาะสำหรับมัน แต่ฉันเข้าใจถึงความน่าดึงดูดของการมีมัน