Świat mikroprocesorów praktycznie od zawsze opierał się na algebrze Boole'a, w której dane elementy przyjmują tylko wartości logiczne 1 lub 0, czyli albo warunek został spełniony, albo nie. Czy możliwe jest zatem stworzenie czegoś, co dawałoby wyniki pośrednie - "może jeden", "może zero"?
.jpg)
Okazuje się, że odpowiedź jest jak najbardziej pozytywna. Udowodniła to założona w 2006 roku firma Lyric Semiconductor (LS). Pokazała ona pierwszy na świecie procesor probabilistyczny, który trafi na rynek komercyjny. Jego działanie opiera się na rachunku prawdopodobieństwa, a nie logice binarnej. Można powiedzieć, że tak jak "zwykła" bramka tranzystora może reprezentować stany 1 lub 0, tak bramka bayesowska (od Thomasa Bayesa) przyjmuje dowolną wartość pomiędzy tymi stanami. W oświadczeniu porównuje się to do przełącznika włączone/wyłączone i pokrętła zmieniającego jasność świecenia. Czyżby rewolucja?
Jak mówi założyciel oraz obecny prezes Lyric Semiconductor, Ben Vigod, stworzenie takich rozwiązań nie było czymś prostym. Trzeba było zaczynać od zera, mając tylko "strzępki" wiedzy teoretycznej, a dokładnie badania do pracy doktorskiej Vigoda. Jednak z pierwszych informacji wnioskujemy, że warto było inwestować czas w to innowacyjne rozwiązanie.

Układ Lyric LEC

Porównanie wielkości obecnych korektorów błędów z układem Lyric LEC
Na razie LS ma na swoim koncie tylko układ Lyric Error Correction (LEC) do korekcji błędów odczytu danych, ale już on pokazuje pazur nowej technologii - jest 30 razy mniejszy, 12 razy bardziej energooszczędny, a przy tym szybszy niż wykonujący identyczne operacje tradycyjny chip.

Obrazowe przedstawienie korekcji błędów
Obecnie podczas odczytywania danych z pamięci masowych średnio jeden na 1000 bitów zostaje błędnie zinterpretowany i zamiast jedynki mamy zero, lub odwrotnie. Według Bena Vigoda, wkrótce w wyniku zmniejszania skali produkcji, zwiększania upakowania danych i tym podobnym zabiegom będzie to 10 razy częstsze. Bez zaawansowanej korekcji błędów nie powstaną większe, szybsze i tańsze dyski SSD. Na szczęście pierwsze produkty z układami LEC będzie można znaleźć już za rok.
Dodatkowo firma zapowiada, że w 2013 pokażą się pierwsze programowalne procesory typu GP5 (General-Purpose Programmable Probability Processing Platform), które przede wszystkim będą liczyć prawdopodobieństwo i będą one w tym 1000 razy szybsze niż jednostki AMD czy Intel. Wbrew pozorom prawdopodobieństwo występuje praktycznie wszędzie - od wyszukiwarek, przez filtry spamu, aż do analiz finansowych.

Układ Lyric LEC
GP5 będzie miał również znaczenie dla gier komputerowych. Przykładowe zastosowania to chociażby przewidywanie i lepsze odczytywanie naszych gestów dla takich platform jak Microsoft Kinect. Nowy procesor bez problemu poradziłby sobie z wieloma graczami naraz, a do jego zasilenia wystarczyłoby nawet kilka zwykłych baterii. Ponadto dzięki temu rozwiązaniu może nastąpić znaczna poprawa w odwzorowywaniu realistycznego świata.
Prace nad procesorami probabilistycznymi zostały wsparte finansowo przez - wspominaną na naszym portalu - Agencję Zaawansowanych Obronnych Projektów Badawczych (Defense Advanced Research Projects Agency) prowadzoną przez Departament Obrony Stanów Zjednoczonych. Ben Vigod twierdzi, że DARPA jest zainteresowana gadżetami rodem z Jamesa Bonda, ale głównie chodzi o korekcję dźwięku i obrazu.
Obecnie jedynym problemem zdaje się integracja procesorów probabilistycznych z obecną elektroniką, która przecież funkcjonuje na zupełnie innych zasadach. Jednak nie ma się co zamartwiać - na pewno panowie z Lyric są na to przygotowani i łatwo się nie poddadzą.
Źródło: Lyric Semiconductor, Technology Review
| Polecamy artykuły: | ||
| Programy dla pasjonatów fotografii cyfrowej | 100 najlepszych gier XX wieku cz. 3 | Sztuczki i porady do Windows 7 na lepszą pracę |
![]() |
![]() |
![]() |
"Może zero może jeden" to komputery kwantowe. Jest prototyp nawet gdzieś w europie.
Chyba raczej "fuzzy logic" - logika rozmyta.
Zgadza się i na takiej samej zasadzie działa ludzki mózg, wybiera najbardziej prawdopodobne rozwiązanie z wielu alternatywnych rozwiązań danego problemu przy znanych w danej chwili warunkach brzegowych :)
No może. Ale kwantowe też tak działają tylko trochę inaczej. Też są piekielne szybkie w obliczeniach, i mogą służyć za symulacje wszystkiego, ale nie opierają się na pradopodobieństwie mimo, że wartość może być jedynką albo zerem... chyba się pomyliłem bo w kwantowych dokładnie jest tak, że wartość może być:
jedynką lub zerem lub jedynką lub zerem lub jedynką i zerem lub jedynką i zerem :)
I nie można odczytywać wyniku jak komp coś liczy bo przestaje być kwantowy. Ten prototyp Europejski jest oddzielony ile się da od świata zewnętrznego a wynik podaje w falach które się odczytuje dopiero :P
Technologia bardzo obiecująca, ale niestety nie we wszystkich zastosowaniach. Czasami po prostu musimy mieć pewność, a nie dostawać wynik z pewnym prawdopodobieństwem.
Czekam na zintegrowane układy łączące oba rozwiązania :)
ten nowy uklad moze w zupelnosci zastapic te ktore teraz znamy. Do tradycyjnych obliczen po prostu wykozystujesz prawdopodobienstwo 100% albo 0%. Wydaje mi sie, ze do wiekszosci zastosowan bedzie mozna uzyc zasady:
wynik >= 50% = 1;
wynik < 50% = 0;
jezeli tradycyjny uklad logiczny popelnia blad i zamiast 0 bedzie 1 to jest to blad o 100% - liczenie prawdopodobienstwa juz na etabie bramki oplaca sie zawsze. Martwi mnie jedynie fakt, ze aby wykozystac te nowe procesory bedzie potrzebne nowe podejscie do programowania co pewnie zejmie wiele lat ;-(....
Nie bardzo. Np. TTL mamy stan wysoki i niski oddzielone od siebie dość szerokim 'nieokreślonym' tak że biorąc pod uwagę nawet silne zakłócenia nie jest to w stanie zmienić wyniku (bo bramki ściągają do masy albo zasilania tak że na wyjściu jest troszkę więcej od gnd albo troszkę mniej od vcc. W przypadku opisanego układu drobne zakłócenie i mamy już zupełnie odmienny wynik.
Warmonger -> jeżeli sądzisz że procesory zwracają wyniki o 100% "pewności" to jesteś w błędzie. Każdy procesor daje wynik poprawny z pewnym prawdopodobieństwem i w oparciu o pewne założenia będące poprawnymi też tylko z pewnym prawdopodobieństwem. Jak dołożysz do tego problem maszynowego zera i niedookreśloności algorytmów, to wiara w "dokładnie" liczące procesory ulatuje jak mgiełka. Na to nakłada się praktyczna niemożność przetestowania poprawności działania procesora. Niejedna rakieta poleciała gdzie indziej niż powinna z powyższych poowodów.
O nie, tu będę polemizował :D
Algebra boolowska jest deterministyczna - dlatego uczą jej na logice. Oczywiście w przypadku niepewności danych wejściowych, błędu wnoszonego przez metody numeryczne tudzież algorytmu dającego wynik jedynie przybliżony, rezultaty mogą być lepsze lub gorsze. W takim wypadku rozmyty procesor wnosi dodatkowy składnik błędu (który może oczywiście być pomijalnie mały w stosunku do innych korzyści).
W pewnych sytuacjach jednak dysponujemy danymi pewnymi i takiego samego zachowania oczekujemy od systemu. Jeśli Eddek chce, żeby mu na konto przelać 200 zł, to ma być to 200 z potwierdzeniem, a nie 199,97. Jak dotąd systemy bankowe na całym świecie wywiązują się z tego zadania i są projektowane tak, aby być jak najbardziej niezawodne.
Logika rozmyta może przydać się np. w grafice do modelowania wszelkich drzew, wody, dymu i innych efektów. Tam faktycznie nie interesuje nas zachowanie pojedynczego listka, ważne jest, że całość struktury statystycznie zachowuje się w sposób realistyczny.
Tutaj zgadzam sie z Widzacym - nawet jezeli z teorii wynika, ze wynik jest dokladnie okreslony to w praktyce nie mozesz na tym polegac. Dlatego jezeli chcesz cos doswiadczalnie okreslic najdokladniej jak sie da musisz najpierw wyliczyc prawdopodobienstwo popelnienia bledu. Mikroprocesory popelniaja bledy dlatego, jezeli chcesz Kowalskiemu przelac dokladnie 200 zloty to musisz zalozyc ze na, ktoryms etapie zostanie popelniony blad. Dzisiaj musimy stosowac dosc zasobizerne systemy kontroli bledow, w przypadku tego nowego ukladu po porostu sprawdzasz czy wynik miesci sie w granicach zalozonego bledu. Nie da to 100% pewnosci, ale prawdopodobienstwo przeslania dokladnie 200 zloty bedzie o wiele wieksz niz przy standardowych systemach przetwarzania danych. Musisz pamietec ze absolutnie wszystko co obserwujemy jest wartoscia przyblizona pytanie tylko jak bardzo ;)
Dlatego, na przykład Poczta Polska posiada jakiś tam procent przesyłek niedoręczalnych, mimo że przy okienku płacisz za 100%-owe doręczenie :)
Nie jest to prawda. Jeśli dodajesz 2+2 to otrzymujesz 4, a nie 99% że będzie to 4. Co innego błedy w przypadku uproszczeń i rozwiązań konstrukcyjnych oraz precyzji obliczeń (która swoją drogą jest ograniczona). Np. poprzez wielokrotne operacje mnożenia/dzielenia czy dodawania liczb o różnej precyzji utracone zostają informacje...jeszcze gorzej ma się sprawa z sinusami czy pierwiastkami - np. casio fx-991ES i sqrt(99999999)/9999999 * sqrt(99999999) powinno dać 10, a daje 10.0000009 - odpowiednio dobierając obliczenia można na KAŻDYM komputerze doprowadzić do podobnej sytuacji. Natomiast nie ma to nic wspólnego z tym jak procesor przetwarza dane binarne, a jest to zw. z ograniczoną precyzją. I niestety chłopaki ale probabilistyka tutaj też niewiele pomoże.
Mylisz się, najpowszechniejsze wykorzystanie floatów w obliczeniach już powoduje błędy, które jest w zasadzie 'by design'. Jeśli nie chcesz mieć błędów obliczeniowych, to albo jedziesz na integerach (i liczysz, że nic więcej nie będzie trzeba), albo z góry określasz gdzie i jaki błąd może się pojawić, i odpowiednio zaokrąglasz wynik. Głupie dodawanie na floatach może dać bardzo niespodziewany wynik.
Do tego techniczne sztuczki mające na celu wykrywanie i poprawę błędów pojawiających się w układach wewnętrznych procesora też mają swoją cenę, którą może poznać chyba tylko programista assemblera.
Chłopie, weź do porządku przeczytaj co napisałem. Procesor probabilistyczny nie wyeliminuje błędów wynikających ze skończonej precyzji!
niech zrobią układ z czterema takimi procesorami ; p
Idealnie rozwiązanie do liczenia fizyki w grach i na dodatek byłoby super wydajne. Może za 10 lat?
Stany pomiędzy 0 a 1 (czyli wspomniane pokrętło do światełka) są charakterystyczne dla logiki rozmyte (fuzzy logic) - np. (w elementarnym najprostszym przykładzie) w niej można być jednocześnie w stopniu 0,7 włączonym i 0,3 wyłączonym, co zaobserwujemy jako świecienie na 70%, probabilistyka mówi o prawdobodobieńswie, stan 0,7 oznacza ,ze w 7 na 10 przypadkach światełko jest włączone. Ktoś gdzieś nie wiedział o czymś i jest niedopatrzenie powielane
/Student PP
[quote]"Może zero może jeden" to komputery kwantowe. Jest prototyp nawet gdzieś w europie.[/quote]
Gdzieś czytałem że stworzyli pierwszy procesor kwantowy. Ale kwantowy jak dobrze pamiętam działa tak że 1 i 0 mogą być przetwarzane w tej samej chwili.
komputery kwantowe są znane od dawna!
W drugiej klasie technikum (7 lat temu!) przyjechał do naszej szkoły profesor zajmujący się sztuczną inteligencją i humanoidalnymi twarzami do efektów specjalnych. Opowiadał on także o komputerach kwantowych. Wyjaśniał nam zasadę ich działania. Opowiadał też, że procesor 3bitowych jest "już" w pełni rozpracowany przez USA. Japonia natomiast pracowała wtedy nad 2 bitowych a USA miało w planach kolejne wersje. Bity - tak nazywał je profesor - miały kilka stanów a moc obliczeniowa rosła do potęgi 8 i więcej, więc skok mocy jest ogromny.
Ps: niestety było to dawno i wiele informacji (a wielu nie rozumiałem:P) mi umknęło;)
Mylisz się, najpowszechniejsze wykorzystanie floatów w obliczeniach już powoduje błędy, które jest w zasadzie 'by design'. Jeśli nie chcesz mieć błędów obliczeniowych, to albo jedziesz na integerach (i liczysz, że nic więcej nie będzie trzeba), albo z góry określasz gdzie i jaki błąd może się pojawić, i odpowiednio zaokrąglasz wynik. Głupie dodawanie na floatach może dać bardzo niespodziewany wynik.
Do tego techniczne sztuczki mające na celu wykrywanie i poprawę błędów pojawiających się w układach wewnętrznych procesora też mają swoją cenę, którą może poznać chyba tylko programista assemblera.
przede wszystkim będą liczyć prawdopodobieństwo i będą one w tym 1000 razy szybsze niż jednostki AMD czy Intel
Marketingowcy lubią te tricki - "1000x szybsze". Teoria, a praktyka...
Była jakaś firma co miała stworzyć karty grafiki ileś razy mocniejsze od obecnie najlepszych. Gdzie ona jest ?
Niech ktoś przypomni, czy kiedykolwiek zdarzyło się, by z roku na rok ktoś stworzył dziesięciokrotnie mocniejszy(e)/szybszy(e) niż wcześniej dostępne podzespoły np. dysk, karta graf. pamięć, procesor? Chyba takiej rewolucji jeszcze nie było, więc małe szanse że będzie. Postęp odbywa się wolniej i płynniej by wykorzystać (głównie finansowo) to co aktualnie jest dostępne, stopniowo wdrażać nowinki by zawsze być o krok przed konkurencją. Największym impulsem do rozwoju w technice od zawsze były wojny, obyśmy żadnej takiej rewolucji nie doczekali.
hmm, mocna teza. jestem pewien ze sie mylisz, szukam dowodu. pamietam ze w hdd byl straszny problem techniczny co zatrzymalo ich rozwoj na troche, potem jakis polak cos wymyslil i wystrzelily kilkakrotnie bardziej pojemne dyski, zobaczymy czy w ciagu roku 10razy bardziej pojemne..
ok po wdrozeniu GMR w hdd, pojemnosci hdd poszly do gory 6 krotnie z 1999 do 2000r. szukam dalej:>
Ale zauważ, że to nie jest rozwój obecnej technologii, tylko wynalezienie zupełnie nowej.
no nowej, ktora robi to co stara ale szybciej, lepiej czy taniej to chyba nazywamy postepem?
To raczej wysoce wyspecjalizowany układ mający przy niskim zapotrzebowaniu na energię realizować w miarę dobrze pewne funkcje. Pewnie świetnie sprawdzi się przy przetwarzaniu obrazu i dźwięku w urządzeniach przenośnych ale jednostkom binarnym raczej nie zaszkodzi. Po prostu wszelkie tendencje w elektronice binarnej prowadzą do zrównoleglenia jednostek co pozwala na 30 krotnie szybsze obliczenia statystyczne niż w owym układzie
Tacy ludzie tworzą historie świata. To jest moim zdaniem wielki przełom, a jego skutku zobaczymy dopiero za kilka, kilkanaście lat.
no niby wszystko pięknie ale programowanie jednostek wektorowych stanowi poważny problem, tak samo operacje na qbitach a tu zupełnie nowe podejście, na rynku korporacyjnym może w aplikacjach naukowy może ale w warunkach domowych pomarzyć piękna rzecz
Taki procesor opisany dwuwymiarową przestrzenią Hilberta, wykonując operacje na kubitach ocenia na dżem dobry każde zdarzenie jako prawdziwe w stosunku 50/50, nie widzicie tutaj zagrożenia np. przy zastosowaniu tej technologii na lotnisku?
Zgadzam się, że opierając działania na rachunku prawdopodobieństwa, dla złożonych przypadków można osiągnąć szybciej pożądany efekt, natomiast jest to możliwe z poziomu kodu programu, a seryjne zastosowanie dla procesorów, wydaje mi się, że jest kolejnym krokiem, by zmusić użytkowników do zmiany platformy.
z ostatnich 30 dni
odsłon: 124239
odsłon: 65327
odsłon: 21617
odsłon: 21152
odsłon: 21079
odsłon: 17342
odsłon: 16357
odsłon: 16020
odsłon: 15718
odsłon: 15468
odsłon: 14998
odsłon: 14422
odsłon: 13726
odsłon: 13287
odsłon: 13067
odsłon: 12925
odsłon: 12419
odsłon: 11551
odsłon: 11445
odsłon: 11004
odsłon: 10546
odsłon: 10463
odsłon: 10309