Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Ekonomia rynku układów FPGA a technologia firmy Efinix

ghost666 09 Jan 2022 15:35 1368 15
Computer Controls
  • Dzisiejszy świat jest pełen zaawansowanych technologicznie gadżetów o coraz bardziej złożonych możliwościach, które kiedyś byłyby tematem z cyklu science fiction. Kiedy korzystamy z naszych urządzeń i robimy zdjęcia w wysokiej rozdzielczości za pomocą telefonów komórkowych, niewielu z nas zastanawia się nad podstawową technologią. Jeszcze mniej osób zdaje sobie sprawę z rosnącego napięcia wywołanego przez dynamikę fizyczną i rynkową w każdym urządzeniu, co sprawia, że każde kolejne pokolenie systemów staje się coraz trudniejsze do wykonania.

    Nieustanna pogoń za miniaturyzacją urządzeń o coraz mniejszym poborze mocy i większych możliwościach napędza potrzebę mocniejszej integracji. To z kolei wymaga drobniejszych geometrii urządzeń krzemowych, w których projektanci muszą wykorzystywać procesy 28 nm, 16 nm, 12 nm, 7 nm, 5 nm i nie tylko. Z każdą redukcją wielkości geometrii procesu krzemowego wiąże się nieliniowy wzrost kosztów projektowania i produkcji elementów. Tworzenie w coraz mniejszych geometriach wymaga coraz rzadszej wiedzy specjalistycznej, dłuższych czasów projektowania, zwiększonych kosztów narzędzi projektowych i zwielokrotnionego ryzyka projektowego. Wykładniczo rosnące koszty projektowania muszą być amortyzowane w stosunku do liczby urządzeń wyprodukowanych w trakcie eksploatacji elementu. Niestety wraz ze wzrostem globalnej konkurencji rośnie różnorodność aplikacji i skraca się żywotność produktów. Mniejsza liczba projektów może usprawiedliwiać koszt produkcji urządzeń krzemowych na zamówienie i coraz mniej firm mogących przyciągnąć coraz rzadsze talenty do ich projektowania.

    Teoretycznie technologia reprogramowalna, taka jak układy FPGA, złagodziłaby wiele z tych problemów, ale tradycyjne elementy FPGA są duże, mało wydajne energetycznie i drogie, często z uwagi na to są spychane do roli platformy dla prototypu czy systemu do debugowania. Efinix bezpośrednio odpowiada na tę dynamikę rynkową, produkując energooszczędne, wydajne układy FPGA, które są wystarczająco gęste, aby wykonywać intensywne zadania obliczeniowe, a jednocześnie są optymalizowane pod kątem dużych wdrożeń. W poniższym artykule omówiono ekonomię projektowania i wdrażania systemów akceleracji algorytmów sztucznej inteligencji (AI), łącząc korzyści i aspekty odnoszące się do technologii FPGA firmy Efinix, ukazując, jak ogromne koszty i obciążenia związane z projektowaniem i produkcją na poziomie chipów stają się coraz bardziej nieuzasadnione w obecności alternatywnego sprzętu, jakim są tego rodzaju układy programowalne.

    Ekonomia rynku układów FPGA a technologia firmy Efinix


    Ogromny koszt krzemu na zamówienie — przyczyna

    Projektowanie chipów od podstaw wymaga niemal niewyobrażalnych nakładów inwestycyjnych z punktu widzenia kosztów, wiedzy i perspektywy czasowej, co ostatecznie sprawia, że branża projektowania układów scalonych jest wypełniona prawie wyłącznie dużymi firmami z ogromną tradycją. Czasami grupa rozczarowanych inżynierów zrywa z wielką korporacją, aby stworzyć startup i wygenerować własne IP. Jednak bariera wejścia często jest tak duża, że pomysły trafiają do kosza zaraz po tym, jak zostały poczęte. Ta sprzętowa blokada samoistnie tłumi innowacyjność, szczególnie w szybko rozwijającej się dziedzinie sztucznej inteligencji o dużej mocy obliczeniowej, w której aplikacje nieustannie zmieniają zarówno krytyczne, jak i niekrytyczne zadania w praktycznie każdej gałęzi przemysłu. Moc obliczeniowa wymagana dla tego rodzaju oprogramowania jest bardzo duża — ogromna złożoność i intensywność obliczeniowa przekłada się na niebotyczną energochłonność. To wszystko sprawia dodatkowo, że sektor ten dąży do wykorzystywania możliwe najnowocześniejszych rozwiązań. Najczęściej koszt wytwarzania niestandardowego krzemu w celu spełnienia zmieniających się wymagań jest, jednakże nieuzasadniony (patrz rysunek 1).

    Koszt projektowania i rozwoju

    Na początek potrzebne jest oprogramowanie do automatyzacji projektowania elektronicznego (EDA) do wykonania podstaw projektu układu scalonego i do jego symulacji oraz weryfikacji. Ekosystem oprogramowania EDA jest bogaty w narzędzia do każdego aspektu procesu projektowania, które mogą zoptymalizować bazowy koncept w ramach zadanego harmonogramu. Cena tego oprogramowania jest jednak bardzo wysoka, zaczynając od dziesiątek tysięcy dolarów za pojedynczą licencję rocznie do setek tysięcy dolarów, idąc w górę. Kwoty te są rozłożone na dziesiątki do setek maszyn, ta liczba mnoży się i łatwo osiąga granicę miliona dolarów. To tylko jeden aspekt kosztów wejścia w tworzenie projektów chipów. Aby wygenerować produkt końcowy firma może zakupić projekty (bloki IP), analogowe lub cyfrowe, aby zintegrować specjalną funkcjonalność I/O ze swoim konceptem. Sam przemysł rozwoju rdzeni IP jest przemysłem wartym wiele miliardów dolarów; z tego powodu koszt zakupu własności intelektualnej również znacznie przekracza milion dolarów. Jeśli przedsiębiorstwo ma wolne środki, o wiele prostsze i szybsze jest poleganie na outsourcingu krzemowej własności intelektualnej od zewnętrznej, wyspecjalizowanej w rozwoju półprzewodników firmy niż poświęcanie czasu i jednorazowych kosztów inżynieryjnych na generowanie jej wewnętrznie.

    Koszt produkcji

    Finalizacja projektu układu scalonego to monumentalny wysiłek, w którym cały proces wymaga zatwierdzenia przez zespół inżynierów, co może mieć miejsce dopiero po rozległych globalnych symulacjach, analizach, krytycznych przeglądach projektu, iteracyjnych ulepszeniach układu i przygotowaniu danych maskowania w celu zapewnienia wykonalności projektu oraz wygenerowaniu końcowych plików GSDII do produkcji fotomaski. Przy zmniejszających się rozmiarach tranzystorów jakość fotomaski ma kluczowe znaczenie dla precyzyjnego wykonania zaprojektowanej struktury półprzewodnikowej. Ten proces jest podatny na błędy, ponieważ jest to przejście od projektowania oprogramowania do tworzenia fizycznego chipa. Firmy inwestujące w ten wielomilionowy proces często korzystają z wieloprojektowego wafla (MPW) lub krzemu: „wahadłowego”, aby zmniejszyć ryzyko projektowe. Pozwala to na produkowanie próbek chipów przed wprowadzeniem ich na taśmę produkcyjną, kupując części MPW i dzieląc ogólne koszty maski na wiele zaangażowanych firm. Te opcje pozwalają firmom projektującym układy scalone uzyskać i zweryfikować układy za kilka tysięcy dolarów przed zainwestowaniem w pełnoskalową produkcję.

    Koszt testów i obudowy

    Aby zmaksymalizować wydajność nowych projektów układów scalonych w skali chipowej i systemów w pakietach (SiP), dostawcy zwracają się do producentów chipów o znane dobre układy (KGD). Chociaż podnosi to koszt samego systemu, ostatecznie zmniejsza wydatki, eliminując konieczność umieszczania wadliwych urządzeń w obudowach. Testowanie gołej struktury krzemowej jest skomplikowanym procesem obejmującym niestandardowe karty testowe z tysiącami sond pomiarowych dociskanych do mikrowypukłości w celu zweryfikowania układu pod kątem defektów za pomocą testów napięciowych, prądowych i temperaturowych. Uszkodzona struktura jest wyrzucana do kosza, podczas gdy zwalidowane struktury są wysyłane do pakowni w celu montażu w obudowie. Wszystkie te dopełniające kroki wiążą się z dodatkowym kosztem. Sama kwestia obudowy jest nauką samą w sobie, zarówno w odniesieniu do pasożytniczej indukcyjności, jak i pojemności, a także w stosunku do poważnych wyzwań związanych z zarządzaniem temperaturą. Kosymulacja elektryczno-termiczna jest niezbędna do wykrycia i optymalizacji problemów termicznych, dodając kolejny poziom złożoności i wymaganej wiedzy do ostatecznego projektu. Po analizie termicznej obudowy układu otrzymuje się przetestowane urządzenia, gotowe do montażu. Jednak, gdy wystąpią problemy i konieczna jest aktualizacja sprzętu, cały proces rozpoczyna się od nowa. To niebotycznie podnosi koszty całkowitego przedsięwzięcia i sprawia, że dla mniejszych rywali wejście w dziedzinę projektowania układów scalonych jest niewykonalne.

    Ekonomia rynku układów FPGA a technologia firmy Efinix
    Rys.1. Proces projektowania i rozwoju niestandardowego krzemu oraz związane z tym koszty.


    Upadek prawa Moore’a: wyzwania stojące za mniejszymi geometriami urządzeń

    Niemożliwość produkcji niestandardowych urządzeń krzemowych dodatkowo pogłębia się z uwagi na pozorne spowolnienie prawa Moore'a, w wyniku którego złota era wykładniczych ulepszeń w rozmiarach tranzystorów i gęstości mocy osiągnęła pewne plateau. Kierując się tą logiką, aby sprostać coraz wyższym wymaganiom wydajności chipów, producenci muszą przejść do wytwarzania coraz większych struktur półprzewodnikowych. Jednak wraz ze wzrostem rozmiaru struktury krzemowej spada wydajność produkcji, ze względu na zwiększone ryzyko powstawania na niej defektów. Skłoniło to producentów półprzewodników i firmy projektowe do poszukiwania alternatywnych rozwiązań, w tym rozbicia funkcjonalności monolitycznego układu scalonego na połączone ze sobą mniejsze chipy w celu wykonywania intensywnych obliczeniowo procesów.

    Chiplety

    Obudowy mniejszych urządzeń przeszły z modułów wielochipowych (MCM) do projektów typu: „system-in-package” jeszcze w latach 80. Teraz technologia przeszła do chipletów. W projekcie chipletowym teoretyczna: „duża struktura” jest podzielona na specjalnie zaprojektowane wzmocnione bloki IP (lub mniejsze układy półprzewodnikowe), które można wytwarzać w bardziej opłacalny sposób. Te chiplety są zoptymalizowane do pracy z innymi blokami, z których wszystkie są połączone za pomocą znormalizowanego interfejsu imitującego funkcjonalność SoC, ale zbudowanego przy niższych kosztach i w krótszym czasie. Urządzenie może się składać dodatkowo z układów o różnych geometriach, niektóre mogą być wykonane w bardziej ekonomicznym procesie 28 nm, a inne wykorzystywać najnowocześniejsze procesy litograficzne 7 nm (lub o niższym wymiarze charakterystycznym). Obudowy tych elementów mogą różnić się topologią i korzystać, między innymi, z krzemowych interposerów (technologia 2,5D), chipów ułożonych w stos (technologia w pełni 3D), wbudowanych mostków łączących wiele chipów (2,5D) lub z klasycznych modułów MCM z wyprowadzonymi z chipów sygnałami.

    W porównaniu z wytwarzaniem dużego SoC i próbą uaktualnienia technologii poprzez wprowadzenie większej liczby funkcji i możliwości, układy ASIC oparte na chipletach są znacznie bardziej opłacalne. Teoretycznie każdy blok może potencjalnie być ponownie wykorzystany lub przeskalowany w przyszłych iteracjach projektowania sprzętu, w których znormalizowane interfejsy chip-chip umożliwiają interoperacyjność między blokami, co pozwala na znacznie szybszy czas wprowadzenia nowych elementów na rynek. Tej łatwości zmian nie można zignorować z perspektywy projektowania — ustalony projekt chipa, łatwo dostępny w bibliotece można łączyć z innymi chipletami, tworząc zupełnie nowy system. W praktyce jest tylko kilka dobrze zdefiniowanych standardowych interfejsów tego rodzaju. Wciąż istnieje wiele niestandaryzowanych interfejsów, które utrudniają przyjmowanie bibliotek chipletów zewnętrznym firmom, które po prostu nie wiedzą, jaki standard wybrać, a mogą sobie pozwolić tylko na podjęcie jednego. Często interfejsy te są bardzo szybkie i dlatego mają tendencję do zwiększania kosztów całego projektu.

    Projektowanie chipletów to stosunkowo nowa technologia, a spora część tej wiedzy jest w posiadaniu dużych twórców i producentów chipów. Dla projektantów chipów istnieje, jednak poważny potencjał związany z pracą z chipletami w przyszłych projektach ASIC. Coraz bardziej kłopotliwe wąskie gardła odnoszące się do kosztów i czasu opracowywania są w pewnym stopniu pomijane, dzięki nowej metodologii projektowania. Jednak dla firm, które nie mogą zainwestować w zasoby potrzebne do wygenerowania i optymalizacji chipletu, jest to po prostu niewykonalne.

    Procesory wbudowane

    Często jedynym narzędziem, które pozostaje do dyspozycji projektanta jest wykorzystanie standardowych procesorów wbudowanych i przygotowywanie jak największej ilości oprogramowania, odwołując się do sprzętu tylko tam, gdzie jest to konieczne. W ten sposób zdefiniowane standardy i funkcje wykorzystują konwencjonalne elementy sprzętowe na wielu rynkach, co pozwala na ich produkcję w wymaganej ilości. Projektanci muszą wdrożyć jak najwięcej w oprogramowaniu i wykorzystać jedynie niewielką ilość logiki łączącej urządzenia peryferyjne, wszędzie tam, gdzie jest to konieczne. W niektórych przypadkach obliczeń odbywają się one na wielu rdzeniach, aby przyspieszyć czas przetwarzania równoległego.

    Układy GPU są obecnie idealnym rozwiązaniem w np. treningu głębokich sieci neuronowych (DNN). Wiąże się to z kilkoma wyzwaniami. Konieczna jest złożona jednostka sterująca, a dostęp do pamięci jest często nadmiarowy, co powoduje wzrost zużycia energii przez system. Ze względu na ogólny charakter tych procesorów rzadko można znaleźć optymalizacje sprzętowe specyficzne dla algorytmów DNN. Aktualizacje i zmiany w zakresie algorytmów ML stają się wtedy bardzo trudne do wdrożenia, co wymaga coraz większej mocy obliczeniowej. W najlepszym razie jest to kompromis; idealnie procesor i akcelerator są w jednym kawałku krzemu. W ten sposób wydajność systemu można szybko zoptymalizować.

    Koszty i korzyści obliczeniowe wykorzystania FPGA do akceleracji sprzętu

    Mapowanie algorytmu uczenia maszynowego na sprzęt to skomplikowany proces, który obejmuje równoważenie dokładności danych, przepustowości, opóźnień, zużycia energii, kosztu sprzętu, elastyczności i skalowalności. Możliwość wykorzystania większej liczby rdzeni obliczeniowych do rozwiązania problemu może szybko stać się niepraktyczne, zwłaszcza jeśli problem wiąże się również z kosztami i zużyciem energii.

    Realizacja akceleracji sprzętowej w układach FPGA jest znacznie prostsza niż w przypadku procesorów wbudowanych. Wynika to z fundamentalnej różnicy w architekturze sprzętowej. Procesory i procesory graficzne mogą realizować tylko równoległość danych, podczas gdy układy FPGA (i ASIC) oferują równoległość danych i potoków. W CPU lub GPU każdy procesor działa zgodnie z modelem wykonywania wielu danych z jedną instrukcją, w którym identyczne zadania są przeprowadzane na różnych fragmentach danych rozproszonych lub elementy przetwarzające wykonują tę samą operację w cyklu zegara, gdy dane są podzielone na partycje i rozprowadzane równolegle do poszczególnych jednostek przetwarzających. W układach FPGA, jak i ASIC, odmienne zadania w zestawie instrukcji mogą być wykonywane jednocześnie w jednym cyklu zegara, dzięki czemu każdy element przetwarzający dane w potoku może równolegle pobierać zasoby z różnymi znacznikami czasu. Zapewnia to szybką akcelerację sprzętową dla sieci DNN ze współbieżnością i zależnością danych.

    Aby lepiej to zobrazować, można by użyć bardziej fizycznego przykładu fabryki tłoczenia tac. Fabryka przetwarza tacki poprzez cięcie, tłoczenie i etykietowanie. Procesory lub procesory graficzne mogą być w stanie przetwarzać duży rząd tac. Jednak każdy z nich musiałby przejść identyczne zadanie cięcia przed przejściem do stemplowania. Po ostemplowaniu rzędu następny cykl zegara będzie poświęcony etykietowaniu produktów. Z drugiej strony, FPGA będzie w stanie pracować z wieloma rzędami tacek jednocześnie, podczas gdy jeden rząd tac jest cięty, drugi stemplowany, a inny etykietowany, wszystko w tym samym cyklu zegarowym. W ten sposób potok FPGA może być w pełni wykorzystany, co powoduje, że jest on z natury bardziej wydajny. Techniki optymalizacji zarówno obliczeń DNN, jak i przenoszenia danych można lepiej zaimplementować na sprzęcie FPGA. FPGA pozwalają projektantom pracować z rozmiarami pakietów dostosowanymi do konkretnej aplikacji i mogą precyzyjnie skalować oraz dostrajać protokoły komunikacyjne, a także topologie dla aplikacji.

    Układy FPGA oferują również poważną przewagę dla sztucznej inteligencji w porównaniu z układami ASIC. Niezależnie od tego, czy producent zastosował bardziej opłacalną technikę pakowania chipletów, po wyprodukowaniu układu ASIC projektant jest mniej lub bardziej skazany na rodzaj obliczanych danych i charakter przepływu zasobów przez sprzęt i jego urządzenia peryferyjne. FPGA oferują platformę bardziej ogólnego przeznaczenia zapewniającą możliwości paralelizmu potokowego, które mają ASIC, bez uszczerbku dla aplikacji, twardych obwodów i wysokich kosztów. Układy FPGA korzystają również z najnowocześniejszego przetwarzania przy użyciu najaktualniejszych technik projektowania obwodów, wytwarzania, przetwarzania płytek i metod pakowania. Coraz częściej układy FPGA są budowane na węzłach o rozmiarze 16 nm lub drobniejszych z wykorzystaniem technologii FinFET. Jednak użytkownicy końcowi są w mniejszym lub większym stopniu zabezpieczeni przed tymi obciążającymi kosztami. Zdobycie wiedzy projektowej dla VHDL jest znacznie tańsze i łatwiejsze do osiągnięcia niż pozyskanie zespołu inżynierów od układów scalonych sygnałów analogowych/mieszanych, układu, integralności sygnału i zasilania oraz pakowania półprzewodników. Same miękkie rdzenie IP stanowią tylko ułamek kosztów twardych rdzeni IP przy znacznie mniejszym ryzyku związanym z przestarzałością sprzętu, przy czym zawsze, gdy ewoluują wymagania aplikacji, zmienia się również interfejs WE/WY.

    Spojrzenie na ekosystem FPGA

    Przewiduje się, że do 2026 r. światowy rynek FPGA osiągnie ponad 9 miliardów dolarów, przy czym większość tego wzrostu przypisuje się do centrów danych i wysokowydajnych aplikacji obliczeniowych. Współczesny rynek FPGA jest głównie napędzany przez ekstrema spektrum obliczeniowego z wysokiej klasy energochłonnymi FPGA z jednej strony i low-end FPGA z logiką kleju z drugiej (patrz rysunek 2).

    W latach 80. XX wieku układy FPGA znalazły swoją niszę w logice łączeniowej TTL do szybkiego projektowania i prototypowania systemów: „sklejając” różne bloki IP z ogólnymi protokołami I/O i interfejsami komunikacyjnymi. Prawie dekadę później FPGA stały się bardziej wyrafinowane, wprowadzając do swojej struktury duże bloki pamięci SRAM, mnożniki we wbudowanych blokach cyfrowego przetwarzania sygnału (DSP), procesory wbudowane, zaawansowane moduły I/O i interfejsy SerDes. Przyniosło to nowy poziom elastyczności projektowania na rynku, który wcześniej był zdominowany przez procesory typu CPU, GPU i układy SoC. Dzięki układom FPGA możliwe jest generowanie programowych bloków IP na rekonfigurowalnej platformie. Potężne, wysokiej klasy układy FPGA zaczęto wykorzystywać w centrach danych w celu zwiększenia wydajności wielkoskalowych systemów danych do szyfrowania, kompresji, filtrowania i wirtualnego przełączania jako odejście od przetwarzania wielordzeniowego. Stworzyło to równowagę między wydajnością a wydajnością obliczeniową z dodatkową ogromną korzyścią rekonfiguracji. Sieci uczenia głębokiego są w ciągłym procesie unowocześniania o nowe typy warstw i zmieniające się zestawy danych. Z tego powodu wykorzystywano układy FPGA do tworzenia programowalnych akceleratorów do wnioskowania. Układy programowalne okazały się potężnym narzędziem do efektywnej realizacji algorytmów uczenia maszynowego, dzięki zoptymalizowanemu ruchowi danych, zoptymalizowanym sieciom, zmniejszonej precyzji arytmetycznej i możliwości równoległego rozłożenia obliczeń.

    W rosnącym ekosystemie aplikacji AI wiecznie aktualizujących modele i techniki optymalizacji przy wsparciu sprzętowych akceleratorów istnieje luka między układami programowalnymi o niskiej i bardzo wysokiej wydajności obliczeniowej. Wraz z rozwojem systemów luka ta staje się tylko bardziej widoczna. Możliwości w zakresie rozwoju autonomicznych pojazdów powietrznych i naziemnych, systemów opieki zdrowotnej, rozpoznawania wizualnego, wykrywania oszustw i względem wielu innych zastosowań będą nieuchronnie wymagały tej samej platformy, którą można ponownie konfigurować, ale w bardziej opłacalnym i mniej energochłonnym pakiecie.

    Ekonomia rynku układów FPGA a technologia firmy Efinix
    Rys.2. FPGA i ich potencjalne zastosowania.


    Przełamywanie niestandardowych rozwiązań krzemowych za pomocą ekonomicznych układów FPGA

    Głównym celem tego artykułu było zaprezentowanie trudności związanych zarówno z kosztami, jak i wymaganą wiedzą w zakresie wytwarzania niestandardowych urządzeń półprzewodnikowych. Doprowadziło to do powstania ekskluzywnego klubu producentów chipów, którzy mogą konkurować na rynku i ostatecznie dyktować ceny i możliwości sprzętowe w segmencie chipsetów AI. Bardzo opłacalne rozwiązania CPU i GPU ogólnego przeznaczenia są świetne w przypadku niektórych aplikacji algorytmów AI, ale z natury są ograniczeniem w innych sektorach, dodatkowo, limitując rozwiązania dostępne dla programistów. Układy FPGA od Efinix idealnie nadają się do niszowych zastosowań AI, które wymagają niskiego zużycia energii, małych opóźnień, niewielkich kosztów, rozmiarów i łatwości programowania.

    Układy FPGA wykorzystujące: „kwantową” strukturę obliczeniową Efinix są małe, energooszczędne i wydajne. Są one wyceniane za wdrożenie zbiorcze, przy czym najtańsze modele zaczynają się od 10 dolarów, a zestaw rozwojowy od 48 dolarów (patrz rysunek 3). Stanowią one wstępnie zdefiniowany, standardowy produkt, a akceleracja sprzętowa za pośrednictwem platformy Efinix wymaga zerowych kosztów inżynieryjnych, co skraca czas wprowadzania na rynek o lata i pozwala zaoszczędzić wiele milionów dolarów na kosztach rozwoju produktów.

    Ta nowa ekonomia otwiera możliwości, które dotychczas były zamknięte z powodu kosztów opracowania układów scalonych. Reprogramowalny charakter układów FPGA zapewnia, że ich debugowanie jest szybkie, ryzyko projektowe jest zmniejszone, a wynikowy projekt pozostaje elastyczny, aż do wdrożenia (i później). Projektanci mogą wprowadzać innowacje za darmo, wdrażając niekonwencjonalne funkcje dla poszczególnych produktów, różnicując te ostatnie za pomocą innowacyjnych funkcjonalności na standardowej platformie krzemowej. Jest to możliwe tylko dzięki przełomowej wydajności tkaniny kwantowej Efinix, która zapewnia wysoką wydajność na rynku masowym.

    Ekonomia rynku układów FPGA a technologia firmy Efinix
    Rys.3. Porównanie kluczowych parametrów FPGA dla różnych popularnych rozwiązań FPGA.


    Szybki przegląd specyfikacji rodziny Titanium (rysunek 4) pokazuje integrację struktury obliczeniowej o dużej gęstości z warstwami DSP, szybkimi wejściami/wyjściami i interfejsami nadawczo-odbiorczymi potrzebnymi do zaspokojenia potrzeb systemów o małym poborze mocy i niewielkim rozmiarze, dedykowanym do pracy na krawędzi w aplikacjach wysokowydajnych systemów automatyki przemysłowej czy wbudowanych aplikacji wizyjnych. Stosunek gęstości do rozmiaru tych układów prezentuje nowy paradygmat dla aplikacji FPGA. Konstrukcje Efinix są wystarczająco drobne i mocne, aby zastąpić zarówno konwencjonalne, niedrogie układy FPGA, które były zbyt małe, aby pomieścić kompletny projekt, a tym samym używane były jedynie jako urządzenie pomostowe, jak również bardzo niestandardowe układy scalone ASIC, do których układy FPGA wykorzystywano jako logikę łączeniową.

    Ekonomia rynku układów FPGA a technologia firmy Efinix
    Rys.4. Specyfikacje układów FPGA z rodziny Titanium.


    Dynamiczne partycjonowanie sprzętu i oprogramowania w ramach: „kwantowej” tkanki Efinix

    Wykorzystywana najczęściej obecnie metodologia projektowania systemu w maksymalnym możliwym stopniu w oprogramowaniu i uciekanie się do sprzętu tylko tam, gdzie potrzebna jest zwiększona wydajność, jest również uwzględniona w paradygmacie projektowania FPGA Efinix. Definiowane programowo procesory RISC-V o otwartym kodzie źródłowym mogą być bezpłatnie instalowane w układach FPGA. Intuicyjna warstwa abstrakcji sprzętowej akceleratora jest udostępniana projektantom w celu dodania małych elementów sprzętu w celu przyspieszenia kodu pisanego w C/C++. Dynamiczne partycjonowanie sprzętu i oprogramowania jest możliwe w ramach tej samej konfigurowalnej struktury, co zapewnia maksymalizację wydajności i sprawności, a także skraca czas wprowadzania na rynek i obniża koszty rozwoju.

    Architektura zestawu instrukcji RISC-V znacznie rozwinęła się od swoich skromnych początków na Uniwersytecie Kalifornijskim w Berkeley. Bezpośrednim wynikiem inicjatywy RISC-V jest teraz bogaty zestaw programowych rdzeni typu open source. W rezultacie staje się ona coraz bardziej popularną architekturą dla układów scalonych produkowanych przez firmy zaangażowane w ekosystemy sztucznej inteligencji, od komercyjnych gigantów technologicznych po armię USA – konkurując z popularnymi architekturami, takimi jak ARM czy x86. Podobnie jak wiele platform programowo-sprzętowych typu open source, rozwijający się ekosystem dla RISC-V doprowadził do lepszej współpracy, dzięki wydajniejszym i bezpieczniejszym projektom. Obniża to bariery dla projektantów wchodzących na rynek, dzięki możliwości stworzenia własnej instancji implementacji RISC-V najbliższej potrzebom konkretnej aplikacji i odpowiedniej jej konfiguracji. Projektant może opracować kod w języku C na procesorze, a gdy okaże się on zbyt wolny, może łatwo stopniowo migrować wszelkie krytyczne elementy do FPGA, aż do osiągnięcia wymaganej wydajności systemu. Ten rodzaj prostej akceleracji sprzętowej jest trudny do uzyskania bez platformy FPGA. Możliwość ta pozostaje dostępna dla użytkownika, nawet po wdrożeniu urządzenia w docelowym systemie.

    Podsumowanie

    Kolejne generacje chipów są coraz trudniejsze do rynkowego uzasadnienia, gdyż wielokroć mniejsze geometrie procesów stają się nieliniowo droższe. Dodatkowo zwiększona integracja potęguje złożoność i koszty obudów tych elementów. Wzrost skomplikowania zwiększa czas i koszty projektowania systemów. Z powodu tych czynników zmniejszają się marże przy masowej produkcji układów scalonych.

    Po pierwsze, wzrost konkurencji umożliwia konsumentom większy wybór, co zmniejsza wolumeny produkcji poszczególnych rozwiązań. Wzrost konkurencji skraca również czas życia produktów na rynku. Nowe technologie wymagające dużej mocy obliczeniowej muszą być coraz bardziej elastyczne, nie tylko po to, by wspierać zmieniające się wymagania rynku, ale także, by nadążyć za aktualizacjami, np. modeli uczenia głębokiego. Widoczny jest brak układów FPGA używanych w aplikacjach AI, które znajdują się pośrodku drogi pod względem złożoności i wydajności, co powoduje, że projektanci polegają na niestandardowych chipletach lub procesorach wbudowanych w celu akceleracji sprzętowej tych algorytmów.

    Nowy paradygmat ekonomiczny FPGA stworzony przez Efinix pozwala projektantom na bardziej elastyczne wprowadzanie innowacji w dziedzinie, która przyniesie rewolucyjne korzyści całemu społeczeństwu. Ta jedyna w swoim rodzaju zmiana w możliwościach projektowania produktów zapewnia punkt zwrotny i odbija od ślepego zaułka produkcji niestandardowego krzemu i prowadzi do konfigurowalnych układów FPGA.

    Źródła:
    https://www.eetimes.com/economics-of-the-fpga/
    https://www.marketsandmarkets.com/Market-Reports/fpga-market-194123367.html
    https://spectrum.ieee.org/riscv-rises-among-chip-developers-worldwide#toggle-gdpr
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11589 posts with rating 9794, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Computer Controls
  • #2
    User removed account
    Level 1  
  • #3
    fotomh-s
    Level 24  
    spec220 wrote:
    Skoro znamy zalety struktury FPGA w zakresie CPU oraz GPU, to czy nie można by było wreszcie zrezygnować z tego podziału na GPU i CPU, oraz zbudować wspólny potężny wielozadaniowy procesor obliczeniowy?

    Pytanie jakie częstotliwości taktowania można by uzyskać na FPGA. Kolejna sprawa to zasoby.

    Aby zaimplementować AGC potrzeba kilkunastu tysięcy LE.
    Aby zaimplementować komputer Mera 400 trzeba chyba blisko 6-7 tysięcy LE. Jeśli odpada ALU to da radę na styk zmieścić na EP2C5T144.
    Jakiś Intel z PCtów z lat 90tych to kilkadziesiąt tysięcy LE.
    Rdzeń 6800 to bodajże koło 2-3 tysiące LE.
    Mój bezużyteczny CPU 16bit, ze słabą optymalizacją, wyniósł jakieś 2.5 tysiąca LE (a nie obsługuje nawet przerwań).

    Teraz pytanie ile trzeba by np. zaimplementować GTX960, albo bardzo stary AMD Phenom X4 955BE z których korzystam. No i czy w ogóle uda się uzyskać wymagane taktowanie. Im bardziej skomplikowana logika CPU, tym większe opóźnienia propagacji, co oznacza mniejsze taktowanie.
    FPGA nie są zbyt optymalne do syntezy CPU, dlatego są układy SOC z twardym CPU na stałe otoczonym przez FPGA fabric.
    FPGA świetnie się nadają do implementacji historycznych CPU, albo nawet całych retro komputerów. Współczesny CPU na FPGA to już nie taka łatwa sprawa.

    Ciekawi mnie inna rzecz. Ile by kosztowało zbudowanie całej pamięci operacyjnej 32GB w technologii SRAM (czyli de facto zrobienie całej pamięci RAM tak jak Cache).
  • #4
    kamil3211
    Level 7  
    @spec220
    Nie prościej po prostu produkować procesory z takim podziałem jak ty mówisz już na sztywno bez żadnych modyfikacji (przecież intel in nvidia nie cieszą się z tego że jakoś muszą się dogadać). Prościej pewnie zrobić taki asic niż fpga? i było by to prostsze niż one oba z osobna. Tylko idąc takim tropem to można do wszystkiego stworzyć asic. Można iść o krok dalej. Tworzyć dany procesor przystosowany do danej gry. Tyle ile potrzeba. Ale przez to że wszystko musi być ogólnego przeznaczenia żeby wszystko mogło działać marnuje się dużo zasobów a innych brakuje. Ale jakoś to działa.
  • Computer Controls
  • #5
    User removed account
    Level 1  
  • #6
    varaktor
    Level 18  
    spec220 wrote:
    Nie chodzi tu o to aby FPGA wszystko załatwiło, a zarządzało podziałami zasobów. Coś na styl CROSS.. Rdzeń procesora skonstruowany w taki sposób iż może pełnić proporcjonalną funkcje pomiędzy FPGA, a CPU w zależności od potrzeb systemowych...


    Jest to nierealne z tego powodu, że układy FPGA są znacznie wolniejsze i bardziej prądożerne niż ASIC. To samo zaimplementowane w FPGA będzie mogło chodzić do maks. 20 MHz i pobierze 50W podczas gdy w ASIC (czyli kawałek krzemu będący tylko procesorem) będzie działać do 500 MHz i brało 5W.
    Kiedyś widziałem artykuł ludzi z Intela którzy podczas opracowywania Pentium (chyba 4) zastosowali układy FPGA aby sprawdzić czy projekt procesora nie zawiera błędów: użyli parę (6-8 sztuk) dużych układów FPGA a symulowany w ten sposob procesor byl taktowamy zegarem ok. 300 kHz.
    Istnieją za to układy FPGA mające już w sobie procesor (ARM): osobno procesor który może komunikować się z częścią FPGA. W ten sposób niektóre operacje np. szyfrowanie można przeprowadzić szybciej w dedykowanym kawałku FPGA niż liczyć wszystko w procesorze.
  • #7
    User removed account
    Level 1  
  • #8
    tmf
    Moderator of Microcontroller designs
    spec220 wrote:
    Do tego ograniczyć dyski SSD po SATA, a zamiast tego dać np. 6 slotów po m.2 oraz pozostawić kilka portów SATA dla dysków HDD, DVD i tp.

    Ale te M.2 trzeba jakoś połączyć z procesorem (obojętnie, czy CPU, czy GPU). W tym celu na każdy m.2 potrzebujesz 4 linii PCIE, czyli dla 6 masz 24. Teraz zobacz ile linii PCIE oferują budżetowe CPU i robi się problem. Niestety więcej PCIE to wyższe koszty.
    spec220 wrote:
    Kolejną zmianą byłoby zwiększenie wydajności odczyt/ zapis pamięci masowej dysku "C" (standardowo systemowy) Gdzie w miejsce dawnych kości RAM wrzuciłbym Kości pamięci flash na szynie 2X32 bity. Dałoby to ogromną prędkość, oraz wydajność jednostki, a sam komputer startowałby w momencie wcieknięcia przycisku zasilania.

    To nie wymaga zmian hardware, tylko software. Windows został zaprojektowany jak został i po prostu pewnych funkcjonalności nie oferuje (m.in traktowania przestrzeni dyskowej jako fragmentu pamięci). Taką funkcjonalność mają niektóre systemy i oferują ją od dekad. To jest dobre, w specyficznych zastosowaniach. Obecne systemy są zbyt skomplikowane, aby je bez wyraźnych powodów tak gruntownie przebudowywać. Kilka lat temu Microsoft chciał zmodyfikować system plików i go oprzeć o rozwiązania bazodanowe i po jakimś czasie pomysł umarł. Zobacz ile czasu wprowadzana jest relatywnie prosta funkcjonalność, typu ładowanie danych z m.2 bezpośrednio przez GPU w pamięci GPU z pominięciem CPU i pamięci CPU.
    spec220 wrote:
    Działało by to na tej zasadzie. Chcę grać w gry, to 90% procesora programuje się jako GPU, a 10% jako CPU. Chcę prowadzić poważne operacje obliczeniowe giełda itp. to 90% procesora programuje się jako CPU, a jedynie 10% na obsługę samej grafiki która w tym przypadku nie jest priorytetem. Natomiast chce korzystać z komputera w trybie zrównoważonym, to sztuczna inteligencja oblicza ile procesora ma być zaprogramowane jako GPU a ile jako CPU.

    Uniwersalność kosztuje. Mniejsze zasoby pochłania umieszczenie dwóch procesorów, każdy dedykowany do swoich zadań, niż zrobienie czegoś uniwersalnego. Poza tym niekoniecznie użytkownicy tego oczekują. Zobacz MCU - były i są próby wprowadzenia MCU z elementami FPGA, właśnie po to, aby użytkownik sobie dorobił peryferia dokładnie takie jakie potrzebuje, ale takie rozwiązania znalazły tylko jakieś niszowe rozwiązania. Taniej i energetycznie oszczędniej jest wrzucić przewymiarowany, specjalizowany układ, z którego użytkownik sobie wykorzysta co potrzebuje niż coś bardziej uniwersalnego. Są różne implementacje CPU na FPGA, teoretycznie możnaby właśnie osiągnąć to o czym piszesz, ale znowu jakoś masowo nie jest to stosowane - dedykowane rozwiązanie jest tańsze, prostsze, oszczędniejsze.
  • #9
    varaktor
    Level 18  
    spec220 wrote:
    FPGA użyłbym jako logicznego podziału rdzeni na określone zadania. Np. 4 mocne rdzenie CPU i 1000 rdzeni graficznych, albo 1 rdzeń CPU i 4000 rdzeni graficznych. (tylko taki przykład)


    Nie wiem co oznacza "logiczny podział rdzeni" ale generalnie coś co nazywasz "rdzeniem CPU" i "rdzeniem graficznym" to zupełnie inne struktury które nie mogą być zamienione łatwo pomiędzy sobą. To tak jakbyś chciał aby w samochodzie podczas przyspieszania silniki elektryczne do podnoszenia szyb napędzały koła aby dostarczyć więcej mocy do silnika spalinowego. Niby to i to jest silnikiem...
  • #10
    User removed account
    Level 1  
  • #11
    fotomh-s
    Level 24  
    Jest cała masa sposobów na usprawnienie działania PCtów. Problemem jednak jest to że rozwiązanie musi się przyjąć powszechnie. To nie sektor telefonów komórkowych z roku 2005 gdzie każdy to robił na swój sposób.
    FPGA to nie jest optymalne zastosowanie tam gdzie trzeba konkretnej architektury o wysokiej wydajności. FPGA raczej nigdy nie będą szybsze od twardych CPU i ASIC. Nie rozumiem jak crosspoint ma zmienić CPU w GPU i odwrotnie. FPGA się stosuje do akceleracji różnych rzeczy, ale jakoś nie widzę tutaj zastosowania w mainstreamie. FPGA nie są już nowością, jednak jest na to ograniczony rynek. Powód jest prosty, jeśli jest na coś spory rynek to ktoś zbuduje ASIC który będzie o wiele lepiej spełniał taką funkcję i będzie znacznie tańszy. PC to ogromny mainstreamowy rynek, podobnie jak sektor mobile. Nie rozumiem czemu crosspoint miał by być akurat na FPGA, jeśli ktoś by czegoś takiego potrzebował w branży PC to zwyczajnie powstanie do tego ASIC.
  • #12
    User removed account
    Level 1  
  • #13
    fotomh-s
    Level 24  
    Tylko że CPU i GPU mają całkowicie inną architekturę. Nie wydaje mi się aby można było łatwo zbudować obydwa rodzaje jednostek obliczeniowych z tego samego rodzaju bloków.
    Nawet jeśli ktoś coś takiego zbuduje, to jako crosspoint wystąpi raczej układ ASIC (za duży jest na to rynek aby pchać tu FPGA).

    Jeśli o obniżone taktowanie i napięcie chodzi, to od dawna standard. Aby wyłączyć część procesora (np. część rdzeni) nie trzeba wcale FPGA.
  • #14
    User removed account
    Level 1  
  • #15
    fotomh-s
    Level 24  
    Nie jest tanio i nie jest dobrze.
    Ceny GPU są z kosmosu, CPU nie wiele lepiej. Przy absurdalnie niskich kosztach produkcji samych wafli krzemowych ceny CPU, GPU, także układów FPGA są gigantyczne. Przy FPGA można zrozumieć, mały rynek na te układy i przez to ceny takie a nie inne, przy CPU i GPU efekt skali nie wydaje się działać na korzyść konsumenta.
    Intel rękami i nogami broni się przed ujawnieniem jak działa ME, ponoć NSA ma procesory z zdezaktywowanym ME i jakoś działają.
    Architektura to odgrzewany kotlet, ale to akurat jest zrozumiałe w przypadku platformy PC, gdzie konieczna jest powszechna akceptacja danych rozwiązań.
  • #16
    User removed account
    Level 1