હાર્ડવેર જે સોફ્ટવેરની જેમ બદલાય છે: AI યુગમાં FPGA આર્કિટેક્ચરની ક્રાંતિ

ફેક્ટરીમાં ઉત્પાદન થયા પછી પણ પોતાની સર્કિટ ફરીથી પ્રોગ્રામ કરવાની ક્ષમતા ધરાવતી FPGA ચિપ આર્ટિફિશિયલ ઇન્ટેલિજન્સ અને ડેટા સેન્ટરના વર્કલોડને ઝડપી બનાવી રહી છે.

આવતીકાલ AI ડેસ્ક · ૬ મિનિટનું વાંચન
સર્કિટ બોર્ડ પર સ્થાપિત Xilinx Kintex-7 FPGA ચિપ, જે આર્ટિફિશિયલ ઇન્ટેલિજન્સ અને ગણતરીકીય કાર્યોને ઝડપી બનાવવા માટે વપરાય છે.
સર્કિટ બોર્ડ પર સ્થાપિત Xilinx Kintex-7 FPGA ચિપ, જે આર્ટિફિશિયલ ઇન્ટેલિજન્સ અને ગણતરીકીય કાર્યોને ઝડપી બનાવવા માટે વપરાય છે.
WhatsApp પર મોકલો

કમ્પ્યુટિંગ પ્રોસેસિંગની દુનિયામાં સામાન્ય રીતે બે પ્રકારની ચિપ જોવા મળે છે: એક સેન્ટ્રલ પ્રોસેસિંગ યુનિટ (CPU) જે સોફ્ટવેરના આદેશો મુજબ દરેક કામ કરી શકે છે પરંતુ તેની ઝડપ મર્યાદિત હોય છે, અને બીજી એપ્લિકેશન-સ્પેસિફિક ઇન્ટિગ્રેટેડ સર્કિટ (ASIC) જે માત્ર એક જ ચોક્કસ કાર્ય માટે ફેક્ટરીમાં સિલિકોન પર કાયમી ધોરણે બનાવવામાં આવે છે. પરંતુ આ બંનેની વચ્ચે એક અત્યંત શક્તિશાળી વિકલ્પ અસ્તિત્વ ધરાવે છે, જેને ફિલ્ડ-પ્રોગ્રામેબલ ગેટ એરે (Field-Programmable Gate Array - FPGA) કહેવામાં આવે છે.

FPGA એ એક એવી કન્ફિગરેબલ ઇન્ટિગ્રેટેડ સર્કિટ (configurable integrated circuit) છે જેને ફેક્ટરીમાંથી બનીને બહાર આવ્યા પછી પણ વપરાશકર્તા દ્વારા વારંવાર પ્રોગ્રામ કરી શકાય છે. તેને પ્રોગ્રામેબલ લોજિક ડિવાઇસ (Programmable Logic Devices - PLD) ના વર્ગમાં મૂકવામાં આવે છે. આ ચિપમાં પ્રોગ્રામેબલ લોજિક બ્લોક્સની એક જાળીદાર ગ્રીડ હોય છે, જેને ક્ષેત્રમાં જ એટલે કે "ઇન ધ ફિલ્ડ" (in the field) અન્ય લોજિક બ્લોક્સ સાથે જોડીને વિવિધ ડિજિટલ કાર્યો કરવા માટે કન્ફિગર કરી શકાય છે.

કંપનીઓની જાહેરાત મુજબ, આર્ટિફિશિયલ ઇન્ટેલિજન્સ (AI) અને હાઇ-પર્ફોર્મન્સ કમ્પ્યુટિંગ ક્ષેત્રે FPGA નું મહત્વ અભૂતપૂર્વ રીતે વધી ગયું છે. માઇક્રોસોફ્ટ (Microsoft) એ ૨૦૧૪ માં તેના Bing સર્ચ એન્જિનને ઝડપી બનાવવા માટે FPGA નો ઉપયોગ શરૂ કર્યો હતો, અને ૨૦૧૮ માં તેણે તેની Azure ક્લાઉડ કમ્પ્યુટિંગ પ્લેટફોર્મના વિવિધ વર્કલોડ માટે FPGA ચિપ્સ તૈનાત કરવાનું શરૂ કર્યું હતું. આનું મુખ્ય કારણ FPGA દ્વારા મળતી પર્ફોર્મન્સ પર વોટ (performance per watt) ની ઉત્કૃષ્ટ કાર્યક્ષમતા છે. ૨૦૧૯ થી, આધુનિક પેઢીના FPGA માં આર્ટિફિશિયલ ઇન્ટેલિજન્સ મોડેલોને પ્રોસેસ કરવા માટે વિશેષ AI એન્જિન ઉમેરવામાં આવ્યા છે.

FPGA લોજિક સેલની કાર્યપદ્ધતિના મુખ્ય તબક્કાતાર્કિક ગણતરીથી લઈને ડેટા સ્ટોરેજ સુધીની પ્રક્રિયા
  1. લુકઅપ ટેબલ (LUT) પ્રોસેસિંગઇનપુટ સિગ્નલ ૪-ઇનપુટ LUT માં પ્રવેશે છે જ્યાં પૂર્વ-નિર્ધારિત સત્ય કોષ્ટક (truth table) મુજબ તાર્કિક પરિણામ તૈયાર થાય છે.
  2. મોડ સિલેક્શન અને મલ્ટિપ્લેક્સિંગપ્રોગ્રામ કરેલ મલ્ટિપ્લેક્સર નક્કી કરે છે કે સેલ સામાન્ય તાર્કિક મોડમાં કામ કરશે કે એરિથમિટીક ગણતરી મોડમાં.
  3. ફુલ એડર ગણતરીએરિથમિટીક મોડમાં LUT ના આઉટપુટને ફુલ એડર (Full Adder) માં મોકલીને સરવાળા અને કેરી (carry) ની ઝડપી ગણતરી થાય છે.
  4. સિંક્રોનાઇઝેશન અને આઉટપુટપરિણામને સિંક્રોનસ રીતે D-ટાઇપ ફ્લિપ-ફ્લોપમાં સ્ટોર કરવામાં આવે છે અથવા અસિંક્રોનસ રીતે આંતરિક રાઉટિંગ નેટવર્કમાં મોકલવામાં આવે છે.

FPGA નો ઇતિહાસ અને ઉત્ક્રાંતિનો પ્રવાસ

FPGA નો ઇતિહાસ પ્રોગ્રામેબલ રીડ-ઓન્લી મેમરી (PROM) અને પ્રોગ્રામેબલ લોજિક ડિવાઇસ (PLD) માંથી શરૂ થયો હતો. આ બંને તકનીકોમાં ફેક્ટરીમાં અથવા વપરાશકર્તાના સ્થળે ચિપને પ્રોગ્રામ કરવાનો વિકલ્પ ઉપલબ્ધ હતો.

આ ક્ષેત્રમાં સૌથી પહેલું મોટું કદમ Altera કંપનીએ ૧૯૮૩ માં સ્થાપના પામ્યા બાદ ૧૯૮૪ માં ઉઠાવ્યું હતું. તેમણે ઉદ્યોગનું પ્રથમ રીપ્રોગ્રામેબલ લોજિક ડિવાઇસ EP300 રજૂ કર્યું હતું. આ ચિપના પેકેજિંગ પર એક ક્વોર્ટઝ વિંડો (quartz window) આપેલી હતી, જેના પર અલ્ટ્રાવાયોલેટ (UV) લેમ્પનો પ્રકાશ ફેંકીને EPROM સેલમાં સંગ્રહિત ચિપ કન્ફિગરેશનને ભૂંસી શકાતું હતું.

ત્યારબાદ ૧૯૮૫ માં Xilinx કંપનીએ (જે હવે AMD હસ્તગત છે) પ્રથમ વ્યાપારી રીતે સફળ FPGA ચિપ XC2064 રજૂ કરી હતી. આ ચિપમાં પ્રોગ્રામેબલ ગેટ્સ અને ગેટ્સ વચ્ચે પ્રોગ્રામેબલ ઇન્ટરકનેક્ટ્સ આપેલા હતા. XC2064 માં ૬૪ કન્ફિગરેબલ લોજિક બ્લોક્સ (Configurable Logic Blocks - CLBs) અને બે ૩-ઇનપુટ લુકઅપ ટેબલ (Lookup Tables - LUTs) સમાવિષ્ટ હતા.

૧૯૮૭ માં, નેવલ સરફેસ વોરફેર સેન્ટરે સ્ટીવ કેસલમેન (Steve Casselman) દ્વારા પ્રસ્તાવિત એક પ્રયોગ માટે ભંડોળ પૂરું પાડ્યું હતું, જેનો હેતુ ૬,૦૦,૦૦૦ રીપ્રોગ્રામેબલ ગેટ્સ ધરાવતું કમ્પ્યુટર બનાવવાનો હતો. કેસલમેન આ પ્રયોગમાં સફળ રહ્યા હતા અને ૧૯૯૨ માં આ સિસ્ટમ માટે પેટન્ટ મેળવવામાં આવી હતી.

૧૯૯૩ સુધીમાં Actel કંપનીએ બજારનો આશરે ૧૮% હિસ્સો મેળવી લીધો હતો. ૨૦૧૩ ના આંકડા મુજબ, Altera (૩૧%), Xilinx (૩૬%), અને Actel (૧૦%) મળીને ગ્લોબલ FPGA બજારનો આશરે ૭૭% હિસ્સો ધરાવતી હતી. FPGA ના ગેટ્સની ક્ષમતા ૧૯૮૭ માં Xilinx ના ૯,૦૦૦ ગેટ્સથી વધીને ૨૦૧૩ માં ૫૦ મિલિયન (૫ કરોડ) ગેટ્સ સુધી પહોંચી ગઈ હતી.

નાણાકીય દ્રષ્ટિએ, ૧૯૮૭ માં આ બજાર $૧૪ મિલિયનનું હતું, જે ૧૯૯૩ માં વધીને $૩૮૫ મિલિયનથી વધુ થયું. ૨૦૦૫ માં તે $૧.૯ બિલિયન, ૨૦૧૦ માં $૨.૭૫ બિલિયન અને ૨૦૧૩ માં $૫.૪ બિલિયન પર પહોંચ્યું હતું. ૨૦૨૦ માં આ બજાર $૯.૮ બિલિયન પર પહોંચવાનો અંદાજ હતો અને ૨૦૩૦ સુધીમાં તે વધીને $૨૩.૩૪ બિલિયન થવાની ધારણા છે. નવી FPGA ડિઝાઇન શરૂ કરવાના આંકડા (design starts) ૨૦૦૫ માં ૮૦,૦૦૦ હતા, જે ૨૦૦૮ માં વધીને ૯૦,૦૦૦ થયા હતા.

FPGA ની આંતરિક લોજિક સેલ આર્કિટેક્ચરનો રેખાકૃતિ નકશો
FPGA ની આંતરિક લોજિક સેલ આર્કિટેક્ચરનો રેખાકૃતિ નકશો (Petter.kallstrom, Public domain, Wikimedia Commons)
વૈશ્વિક FPGA બજારનું કદ અને અનુમાન (બિલિયન ડૉલરમાં)૨૦૦૫ થી ૨૦૩૦ સુધીના ગ્લોબલ માર્કેટ સાઇઝના આંકડા
૨૦૦૫૧.૯
૨૦૧૩૫.૪
૨૦૨૦૯.૮
૨૦૩૦ (અનુમાન)૨૩.૩૪

બિલિયન ડૉલર

આંતરિક આર્કિટેક્ચર: લોજિક સેલ અને LUT ની રચના

FPGA નું મૂળભૂત આર્કિટેક્ચર કન્ફિગરેબલ લોજિક બ્લોક્સ (CLBs) અથવા લોજિક એરે બ્લોક્સ (LABs), ઇનપુટ/આઉટપુટ પેડ્સ (I/O pads), અને રાઉટિંગ ચેનલો (routing channels) ની ગ્રીડથી બનેલું હોય છે. સામાન્ય રીતે તમામ રાઉટિંગ ચેનલો સમાન પહોળાઈ અથવા સિગ્નલ ક્ષમતા ધરાવે છે.

એક સામાન્ય લોજિક સેલ ત્રણ મુખ્ય ઘટકોથી બનેલો હોય છે: ૪-ઇનપુટ લુકઅપ ટેબલ (4-input LUT), ફુલ એડર (Full Adder - FA), અને D-ટાઇપ ફ્લિપ-ફ્લોપ (D-type flip-flop). ૪-ઇનપુટ LUT ને બે ૩-ઇનપુટ LUT માં વિભાજિત કરી શકાય છે. સામાન્ય મોડમાં, આ બંનેને પ્રથમ મલ્ટિપ્લેક્સર (multiplexer/mux) દ્વારા જોડીને ૪-ઇનપુટ LUT બનાવવામાં આવે છે. એરિથમિટીક (ગણતરી) મોડમાં, તેમના આઉટપુટને એડર (adder) માં મોકલવામાં આવે છે. મોડની પસંદગી બીજા મલ્ટિપ્લેક્સર દ્વારા થાય છે, જ્યારે પ્રોગ્રામિંગ દ્વારા ત્રીજા મલ્ટિપ્લેક્સરની મદદથી આઉટપુટને સિંક્રોનસ (અંકુશિત) કે અસિંક્રોનસ મોડમાં મેળવી શકાય છે.

કોઈપણ ડિઝાઇન માટે રાઉટિંગ ચેનલોની જરૂરિયાત સર્કિટના પ્રકાર પર આધાર રાખે છે. ઉદાહરણ તરીકે, ક્રોસબાર સ્વિચને સિસ્ટોલિક એરે કરતાં વધુ રાઉટિંગની જરૂર પડે છે. બિનઉપયોગી રાઉટિંગ ચેનલો ખર્ચ વધારે છે અને પ્રદર્શન ઘટાડે છે, તેથી ઉત્પાદકો 'રેન્ટ્સ રૂલ' (Rent's rule) ના અંદાજો આધારે યોગ્ય પ્રમાણમાં ચેનલો પૂરી પાડે છે.

FPGA ટેકનોલોજીના મુખ્ય ઉત્ક્રાંતિ તબક્કા અને વિશિષ્ટતાઓવિવિધ ઉત્પાદકો અને મોડેલોની સરખામણી
વર્ષ / મોડેલઉત્પાદક કંપનીમુખ્ય આર્કિટેક્ચરલ વિગતવિશેષ સુવિધા
૧૯૮૪ (EP300)Alteraપ્રથમ રીપ્રોગ્રામેબલ લોજિકEPROM ભૂંસવા યુવી ક્વોર્ટઝ વિંડો
૧૯૮૫ (XC2064)Xilinx૬૪ CLBs, બે ૩-ઇનપુટ LUTsપ્રથમ વ્યાપારી FPGA ચિપ
૨૦૧૨ (Zynq-7000)Xilinx૧.૦ GHz ડ્યુઅલ-કોર ARM Cortex-A9ઓલ-પ્રોગ્રામેબલ SoC ઇન્ટીગ્રેશન
૨૦૧૨ (Arria V)Altera૮૦૦ MHz ડ્યુઅલ-કોર ARM Cortex-A9સિસ્ટમ-ઓન-ચિપ આર્કિટેક્ચર

હાર્ડ બ્લોક્સ, સોફ્ટ કોર અને સિસ્ટમ-ઓન-ચિપ ઇન્ટીગ્રેશન

આધુનિક FPGA માત્ર લોજિક ગેટ્સ સુધી સીમિત નથી. તેમાં હાઇ-લેવલ ફંક્શનાલિટી ધરાવતા સર્કિટ્સને સિલિકોન પર કાયમી હાર્ડવેર તરીકે કંડારવામાં આવે છે, જેને 'હાર્ડ બ્લોક્સ' (Hard blocks) કહે છે. આમાં સિલિકોન મલ્ટિપ્લાયર્સ, DSP બ્લોક્સ, એમ્બેડેડ મેમરી અને હાઇ-સ્પીડ ટ્રાન્સિવર્સનો સમાવેશ થાય છે. આ હાર્ડ IP કોર્સ ટ્રાન્ઝિસ્ટરથી સીધા બનેલા હોવાથી ASIC જેટલી ઉચ્ચ કાર્યક્ષમતા અને ઓછો પાવર વપરાશ પૂરો પાડે છે.

બીજો અભિગમ 'સોફ્ટ પ્રોસેસર કોર' (Soft core) નો છે, જેમાં FPGA ના પ્રોગ્રામેબલ લોજિકનો ઉપયોગ કરીને પ્રોસેસર બનાવવામાં આવે છે. Nios II, MicroBlaze, અને Mico32 આ પ્રકારના લોકપ્રિય સોફ્ટકોર પ્રોસેસર છે.

૨૦૧૨ માં ટેકનોલોજી ઉદ્યોગે એક નવો વળાંક લીધો જ્યારે FPGA લોજિક અને આંતરિક ઇન્ટરકનેક્ટ્સને એમ્બેડેડ માઇક્રોપ્રોસેસર સાથે જોડીને પ્રોગ્રામેબલ ચિપ પર પૂર્ણ સિસ્ટમ (System on Chip - SoC) બનાવવામાં આવી. Xilinx Zynq-7000 ઓલ-પ્રોગ્રામેબલ SoC આનું ઉત્કૃષ્ટ ઉદાહરણ છે, જેમાં ૧.૦ GHz ડ્યુઅલ-કોર ARM Cortex-A9 MPCore પ્રોસેસરને FPGA ના લોજિક ફેબ્રિકમાં સંકલિત કરવામાં આવ્યું હતું. તેવી જ રીતે Altera Arria V FPGA માં ૮૦૦ MHz ડ્યુઅલ-કોર ARM Cortex-A9 પ્રોસેસર આપવામાં આવ્યું હતું. Microsemi SmartFusion ડિવાઇસમાં ARM Cortex-M3 પ્રોસેસર સાથે ૫૧૨ kB ફ્લેશ અને ૬૪ kB RAM સજ્જ કરવામાં આવી હતી.

Zynq-7000 સિસ્ટમ-ઓન-ચિપ (SoC) ની આર્કિટેક્ચરલ બ્લોક ડાયાગ્રામ
Zynq-7000 સિસ્ટમ-ઓન-ચિપ (SoC) ની આર્કિટેક્ચરલ બ્લોક ડાયાગ્રામ (Xilinx Inc, CC BY-SA 3.0, Wikimedia Commons)

ક્લોકિંગ, સિગ્નલિંગ અને ટેસ્ટિંગનું મહત્વ

FPGA ની આંતરિક મોટાભાગની સર્કિટરી સિંક્રોનસ (synchronous) હોય છે, જેને ઘડિયાળના સિગ્નલ (clock signal) ની જરૂર પડે છે. સિગ્નલમાં વિલંબ (skew) ન થાય તે માટે FPGA માં H-ટ્રી (H tree) આકારના વિશેષ ગ્લોબલ અને રિજનલ રાઉટિંગ નેટવર્ક હોય છે. આ ઉપરાંત, આવૃતિ સંશ્લેષણ અને જિટર (jitter) મેનેજમેન્ટ માટે એનાલોગ ફેઝ-લોક્ડ લૂપ (PLL) અને ડિલે-લોક્ડ લૂપ (DLL) નો ઉપયોગ થાય છે.

ચિપની બહાર ડેટા ટ્રાન્સફર કરવા માટે હાઇ-સ્પીડ સેરીયલાઇઝર અને ડિસેરીયલાઇઝર (SERDES) સર્કિટનો ઉપયોગ થાય છે. FPGA ના કન્ફિગરેશન કોડ સામાન્ય રીતે હાર્ડવેર ડિસ્ક્રિપ્શન લેંગ્વેજ (HDL) જેવી કે VHDL માં લખવામાં આવે છે. આ ટેકનોલોજીનો ઉપયોગ ASIC ચિપ બનાવતા પહેલાં તેની સિમ્યુલેશન પ્રોસેસ ઝડપી બનાવવા અને ઓટોમોટિવ, એરોસ્પેસ તથા ટેલિકોમ ક્ષેત્રે મોટા પાયે થાય છે.

Altera Stratix 10 FPGA ધરાવતું ડેવલપમેન્ટ બોર્ડ
Altera Stratix 10 FPGA ધરાવતું ડેવલપમેન્ટ બોર્ડ (Antti Lukats, CC0, Wikimedia Commons)
આધુનિક સાઉન્ડ સ્ટુડિયોમાં વોઈસઓવર અને ડબિંગની પ્રક્રિયા, જે હવે AI દ્વારા વધુ સરળ બની રહી છે.

AI ડબિંગ: પ્રાદેશિક કન્ટેન્ટ ક્રિએટર્સ માટે ભાષાના અવરોધો તોડતી નવી ડિજિટલ ક્રાંતિ

ઇન્સ્ટાગ્રામ અને યુટ્યુબ જેવા પ્લેટફોર્મ્સ હવે આર્ટિફિશિયલ ઇન્ટેલિજન્સની મદદથી પ્રાદેશિક વીડિયોને અન્ય ભાષાઓમાં ડબ કરવાની સુવિધા આપી રહ્યા છે, જેનાથી ક્રિએટર્સની પહોંચ અને કમાણીમાં મોટો બદલાવ આવી રહ્યો છે.

આવતીકાલ AI ડેસ્ક૧૩ નવે.૬ મિનિટનું વાંચન
માઈક્રોસોફ્ટ ૩૬૫ ની એપ્લિકેશન્સ ધરાવતું લેપટોપ, જે આધુનિક ઓફિસ કાર્યશૈલીનું કેન્દ્ર છે.

માઈક્રોસોફ્ટ ૩૬૫ આઉટેજ: જ્યારે વિશ્વના ડિજિટલ પૈડાં થંભી ગયા અને ક્લાઉડની નિર્ભરતા છતી થઈ

તાજેતરમાં માઈક્રોસોફ્ટની સેવાઓમાં આવેલા વૈશ્વિક અવરોધના ટેકનિકલ કારણો, અસરગ્રસ્ત સેવાઓ અને તેની પાછળના જટિલ માળખાનું ઊંડું વિશ્લેષણ.

આવતીકાલ AI ડેસ્ક૧૩ નવે.૪ મિનિટનું વાંચન
રહેણાંક ઇમારતની છત પર લાગેલા સેલ્યુલર એન્ટેના અને ટ્રાન્સમિશન સાધનો, જે ભવિષ્યમાં ૬G ટેકનોલોજી સાથે વધુ સક્ષમ બનશે.

૬G અને આર્ટિફિશિયલ ઇન્ટેલિજન્સ: ભવિષ્યનું 'સેન્સિંગ નેટવર્ક' અને ભારતની તૈયારી

૫G પછીની દુનિયા કેવી હશે? ૬G માત્ર સ્પીડ નહીં પણ આર્ટિફિશિયલ ઇન્ટેલિજન્સ અને સેન્સિંગ ટેકનોલોજીનું એક એવું મિશ્રણ હશે જે આપણા જીવન જીવવાની રીત બદલી નાખશે.

આવતીકાલ AI ડેસ્ક૧૩ નવે.૫ મિનિટનું વાંચન