რა არის FPGA?

ველის პროგრამირებადი კარიბჭის მასივები რთულად ჟღერს, მაგრამ ისინი ხსნიან სრულიად ახალ სამყაროს დეველოპერებისთვის.

თუ ოდესმე წაგიკითხავთ რეტრო თამაშების ემულაციას, შესაძლოა შეგხვედროთ ნახევარგამტარული ტიპი, რომელსაც ეწოდება Field-Programmable Gate Array (FPGA). ეს არის სპეციალური ინტეგრირებული სქემები, რომლებსაც შეუძლიათ საკუთარი თავის ხელახლა კონფიგურაცია წარმოების შემდეგ კონფიგურირებადი ლოგიკური ბლოკების (CLB) წყალობით. სხვა სიტყვებით რომ ვთქვათ, თქვენ შეგიძლიათ ძირითადად გადააპროგრამოთ ჩიპსეტი, რათა იმოქმედოს როგორც ნებისმიერი სხვა ტიპის ციფრული წრე, რომელსაც აქვს მრავალი პროგრამა AI-ში, ჩიპსეტის დიზაინში და სხვა სფეროებში.

FPGA-ებს აქვთ გამოყენების მრავალი შემთხვევა და მოწყობილობები, როგორიცაა Analogue Pocket, იყენებენ მათ სხვადასხვა ხელის მოწყობილობების მხარდასაჭერად. თუმცა, Microsoft ასევე იყენებს FPGA-ებს Bing-ის გასაძლიერებლად, რადგან ის საშუალებას აძლევს კომპანიას სწრაფად გადააპროგრამოს ისინი ახალი ალგორითმების მხარდასაჭერად მათი შემუშავებისას.

FPGA ტრადიციული პროცესორების წინააღმდეგ: რა განსხვავებაა?

სტანდარტული ჩიპსეტისგან განსხვავებით - Snapdragon 8 Gen 2, მაგალითად — FPGA არ არის შექმნილი ველში ხელახალი დაპროგრამებისთვის. ეს არის სისტემა ჩიპზე (SoC), რომელიც შედგება მრავალი ნაწილისგან, მათ შორის GPU, NPU და CPU. როდესაც ის გაიგზავნება, ეს არის ის, რასაც მომხმარებლები და ბიზნესი მიიღებენ.

თუმცა, FPGA-ები გამიზნულია, რომ იყოს მოქნილი, რათა მომხმარებელმა შეძლოს ჩიპის ნაწილების შეცვლა დამატებითი ხარჯების ან რისკის გარეშე. სწრაფად მოძრავ ინდუსტრიებში, როგორიცაა თვითმართვადი მანქანები, ახალი რეგულაციები და სტანდარტები შეიძლება დაინერგოს ნებისმიერ დროს მოწყობილობის ნებისმიერი ასპექტისთვის. FPGA-ის გამოყენებამ შეიძლება OTA განახლების შესაძლებლობა მისცეს ჩიპის გადაპროგრამირებას ახალი სტანდარტების მხარდასაჭერად.

ერთი დიდი განსხვავება FPGA-ებსა და ტრადიციულ პროცესორებს შორის არის ის, რომ ისინი შექმნილია მონაცემების პარალელურად დასამუშავებლად, გაცილებით დაბალი საათის სიჩქარით. მაგალითად, FPGA-ს, რომელსაც აქვს 10 მილსადენი მონაცემთა დამუშავებისთვის, შეუძლია შეასრულოს გამრავლების ოპერაციები ორ რიცხვზე თითოეული მილსადენისთვის, ციკლში 20 რიცხვის გამრავლებით. ტრადიციულ პროცესორს შეუძლია გაამრავლოს ორი რიცხვი ციკლზე, ბირთვზე და თანმიმდევრობით.

როგორ მუშაობს FPGA-ები ემულაციისთვის?

FPGA-ები ხშირად გამოიყენება ტექნიკის ემულაციისთვის და ჩიპსეტის დიზაინის პროცესის საინტერესო ნაწილია FPGA-ების გამოყენება ტესტირებისას SoC-ის სხვადასხვა ნაწილის ემულაციისთვის. ჩიპსეტის დიზაინერებს შეუძლიათ გამოიყენონ მრავალი FPGA აპლიკაციის სპეციფიკური ინტეგრირებული მიკროსქემის (ASIC) პროტოტიპისთვის. ტექნიკის აღწერის ენა (HDL) გამოიყენება ტექნიკის დიზაინის შესაქმნელად და ეს ენა ეუბნება FPGA-ს, როგორ მოაწყოს თავი. ანალოგური ჯიბის შემთხვევაში, ეს დიზაინები ნაწილდება "ბირთების" სახით, როგორც წესი, დაწერილი Verilog-ში და მომხმარებლებს შეუძლიათ ჩამოტვირთონ ბირთვი, რათა მოამზადონ ხელი კონკრეტული კონსოლებისთვის.

მაგალითად, Analogue Pocket-ს შეუძლია წაიკითხოს Game Boy თამაშები პირდაპირ კარტრიჯის სლოტში და ითამაშოს ისინი თითქოს ორიგინალური კონსოლი იყოს. არა მხოლოდ ეს, არამედ კარტრიჯის გადამყვანები ამატებენ დამატებით მხარდაჭერას სხვა მოწყობილობებისთვისაც, როგორიცაა Game Gear, Atari Lynx და სხვა. ეს შესაძლებელია მხოლოდ FPGA-ის რეპროგრამირებადი ბუნების გამო, რომელიც იყენებს აპარატურულ ემულაციას პროგრამული ემულაციის ნაცვლად, რათა უზრუნველყოს თამაშების თამაში. MiSTer (რომელიც საფუძვლად იყენებს DE-10 Nano FPGA დაფას და საჭიროებს დამატებით მოდულებს მის თავზე) მსგავსია იმით, რომ ის შეიძლება გამოყენებულ იქნას კონსოლების ემულაციისთვის, როგორიცაა SNES, Sega Genesis და თუნდაც თამაშისკუბი. ტექნიკის ემულაცია ზოგადად უფრო ზუსტია, ვიდრე პროგრამული უზრუნველყოფის ემულაცია და ასევე გთავაზობთ შესრულების სარგებელს.

მიუხედავად იმისა, რომ აპარატურა დაძველდება და დროთა განმავლობაში შეიძლება არასანდო გახდეს, FPGA-ების უბრალოდ გადაპროგრამირება შესაძლებელია იმავე ტექნიკის გამოცდილების ემულაციისთვის.

რა თქმა უნდა, ეს არ ნიშნავს იმას, რომ ბირთვები არის ჩიპსეტის სრულყოფილი HDL ინტერპრეტაცია. ისინი საკმაოდ ახლოს არიან, მაგრამ დროთა განმავლობაში ბირთვების გამოსწორება და გაუმჯობესება ხდება პრობლემების გადასაჭრელად, რომლებიც შეიძლება გამოვლინდეს ნორმალურ გამოყენებაში. ეს ბირთვები მზადდება ჩიპსეტების საპირისპირო ინჟინერიით, რომლებიც შედიან ამ მოწყობილობებში და ისინი საჭიროებენ დედაპლატზე თითოეული კომპონენტის რუკას. ჩვეულ საკუთრებაში არსებულ ჩიპსეტებში ეს კიდევ უფრო რთული ხდება, დეველოპერებს ხშირად ესაჭიროებათ ნახვა მიკროსკოპით "დაუხურავი" ჩიპი, რათა დაინახოს რა ხდება ჩიპის შიგნით და გაიმეოროს იგი.

ამიტომ FPGA ასევე მნიშვნელოვანია ტექნიკის შესანარჩუნებლად. მიუხედავად იმისა, რომ აპარატურა დაძველდება და დროთა განმავლობაში შეიძლება არასანდო გახდეს, FPGA-ების უბრალოდ გადაპროგრამირება შესაძლებელია იმავე ტექნიკის გამოცდილების ემულაციისთვის. ჩიპი მოაწესრიგებს საკუთარ ფიზიკურ ლოგიკას საკუთარ თავში, რათა შეესაბამებოდეს მის მოცემულ ბირთვს. openFPGA ეკოსისტემა შექმნილია ამ ტექნიკის შენარჩუნებაში დასახმარებლად.

გარდა ამისა, თქვენ მიიღებთ დამატებით სარგებელს ამ თამაშების ლეგიტიმური განცდის თამაშით, მაგრამ უკეთესი საერთო აპარატურით. შეგიძლიათ აიღოთ ანალოგური ჯიბე 220 დოლარად და ითამაშოთ Game Boy თამაშები ისევე, როგორც წარსულში გქონდათ, მაგრამ უფრო მაღალი აწყობის ხარისხით, უკეთესი ეკრანით და დოკის მხარდაჭერითაც კი.

FPGA-ების ნაკლოვანებები

DE-10 Nano MiSTer FPGA კონსტრუქციისთვის

თუმცა, არსებობს რამდენიმე ნაკლი. დასაწყისისთვის, ისინი იკავებენ ბევრად მეტ ადგილს, ვიდრე ტრადიციული პროცესორები, და ასევე მნიშვნელოვნად უფრო ძვირი ჯდება მათი წარმოება. მოწყობილობები, როგორიცაა Analogue Pocket და MiSTer FPGA, ძვირი ჯდება, ხოლო ეს უკანასკნელი 500 დოლარზე მეტს გიბრუნებთ, თუ რამდენიმე დანამატსაც აიღებთ. ადამიანების უმეტესობას უბრალოდ ამჯობინებს თამაშების მიბაძვა სმარტფონებზე ან კომპიუტერებზე და არ აინტერესებს პიქსელების სრულყოფილი სიზუსტე, რომელსაც უზრუნველყოფს ტექნიკის დონის ემულაცია.

რა თქმა უნდა, FPGA-ები ასევე გარკვეულწილად არიან მომხმარებლებთან დაკავშირებულ ბავშვობაში, მათი პოპულარობა მხოლოდ ბოლო წლებში გაიზარდა. ისინი რეალურად უკვე დიდი ხანია არსებობენ მეცნიერების, ჩიპსეტის არქიტექტორების, ხელოვნური ინტელექტისა და მსგავსი პროფესიონალური გამოყენების შემთხვევაში, მაგრამ მხოლოდ ბოლო წლებში გამოჩნდა სამომხმარებლო მოწყობილობები და მათი გამოყენება შესაძლებელია უფრო ჩვეულებრივი ან ენთუზიასტური გზებით.

ადამიანების უმეტესობისთვის, ვისაც სურს ემულაციაში მოხვედრა, გამოყოფილი მოწყობილობის მოხერხებულობა, რომელიც გარანტიას იძლევა ა ორიგინალური გამოცდილება მიმზიდველია, მაგრამ ეს არ არის ის, რაც ყველას სჭირდება ან თუნდაც აინტერესებს. პირადად მე, თუ მსურს ვითამაშო ისეთი თამაში, როგორიც Super Mario Bros-ია, სიამოვნებით ვითამაშებ ჩემს ტელეფონზე მოძრაობისას. მე არ მჭირდება ამისთვის გამოყოფილი მოწყობილობა, მაგრამ მე მესმის მისი არსებობის მიმზიდველობა.