Miniaturowy wysokościomierz

Miniaturowy wysokościomierz

Identyfikator niespodzialnka na Nocy Informatyka

Identyfikator niespodzialnka na Nocy Informatyka

Ardu-wizytówka

Ardu-wizytówka

Zdalne odpalanie fajerwerków

Zdalne odpalanie fajerwerków

FPGA w serwerze

Hej!

Niedawno wspominałem ci o programowalnych układach FPGA. Okazało się, że ludzie z laboratoriów rozwoju firmy Microsoft chcą takie układy umieścić w serwerach swojej chmury obliczeniowej.

Człowiek za którym stoi cała koncepcja to Doug Burger. Uważa on, że w ciągu 5 lat przestanie się opłacać robić coraz mniejsze tranzystory w układach scalonych. Spowoduje to, że wzrośnie koszt mocy obliczeniowej. Zwykłe procesory marnują dużo tranzystorów na sprawy związane z interpretacją poleceń programu. To też jest koszt.

W układach FPGA można ustawić w kilka sekund całą strukturę na przetwarzanie konkretnego algorytmu, tak by realizował go sprzętowo z maksymalną wydajnością. Naukowcy szacują, że wydajność takiego układu w porównaniu z procesorem jest kilkaset razy większa. Czyli taki układ w przyszłości będzie znacznie tańszym rozwiązaniem w przeliczeniu na wydajność niż procesory.

Doug udzielił wywiadu portalowi Channel 9 w którym opowiada o swojej koncepcji serwerów.

Testy z wyszukiwarką Bing pokazały, że dzięki układom FPGA można przyśpieszyć 2x czas odpowiedzi na zapytanie.

Piszę o tym głównie do osób, które zastanawiają się nad specjalizacją swojego zawodu. Implementacja algorytmów w strukturze FPGA może przynieść w przyszłości niezłe kokosy i być świetną droga rozwoju. Decyzja należy do ciebie.

Oczywiście należy wziąć poprawkę na to, że już wiele razy próbowano spekulować koniec ery procesorów. Na razie Intel nie przewiduje problemów do rozmiaru 10 nm. W końcu nie takie bzdury mówili nawet najwięksi wynalazcy, by zwiększyć atrakcyjność swoich rozwiązań.

sprae

TRINKET – Tania płytka z ATtiny.

Przeglądając ofertę Nettigo można trafić na fajne okazje. Niewątpliwie taką jest TRINKET. To miniaturowa płytka prototypowa z kontrolerem ATtiny. Płytka jest wyposażona w złącze USB, dzięki czemu nie wymaga dodatkowego programatora.

Do dyspozycji mamy 5 wielofunkcyjnych pinów.

Obrazek pochodzi ze strony Learn Adafruit

Piny można wykorzystać jako cyfrowe. 3 z nich jako wejścia analogowe i wyjścia PWM. Znajdziesz tam również wyjścia magistrali I2C/TWI oraz SPI.

Sprzedawana płytka jest w standardzie poziomów logicznych 3,3 V.

Do dyspozycji w kontrolerze masz 8 KB pamięci Flash i 512 Bajtów pamięci RAM. Kontroler pracuje z prędkością 8 MHz.

Płytkę TRINKET programuje się za pomocą przerobionego Arduino IDE, więc będziesz się czuł jak w domu. 

Pod GNU/Linuksem płytka wymaga nieco więcej poświęcenia. Konfiguracjo/biurokracja jest opisana na stronie Adafruit.

sprae

Arduinowe FPGA

FPGA to jakby niedokończone układy scalone. Mają w sobie pełno bramek logicznych, ale nie są one ze sobą połączone. Dopiero użytkownik programując je, łączy te bramki w potrzebne mu obwody.

Dawniej układy logiczne typu UCY74xx lub CD4xxx miały w sobie po kilka bramek. By zrobić na nich duże urządzenie potrzeba było kilkanaście albo kilkadziesiąt takich scalaków. Konkurencją dla nich były właśnie programowalne układy, mogące je zastąpić jednym układem.

Dziś programowalne układy zastępują raczej procesory. W ich programowalnej strukturze można zbudować z bramek sprzętowy algorytm, który działa szybciej niż jakby miał go interpretować uniwersalny procesor.

Ja spotkałem się z takimi zastosowaniami:

  • Sprzętowe emulatory starych komputerów
  • Tworzenie układów do generowania grafiki na ekranie telewizora, albo monitora
  • Sprzętowe algorytmy kompresji
  • Sprzętowe algorytmy sum kontrolnych i szyfrowania
  • Wydobywanie Bitcoinów

Jedną z najbardziej znanych propagatorek takiej zabawy elektroniką jest Jeri Ellsworth. Zbudowała ona jeden z pierwszych sprzętowych emulatorów Commodore C64, czym zyskała sławę.

Ten przydługi krapowaty wstęp piszę tylko dlatego, że na Kickstarterze są 2 ciekawe projekty zestawów FPGA promujące naukę ich programowania. 

Pierwszy nawiązuje budową płytki do Arduino. Jest o tyle fajny, że można go programować za pomocą bliźniaczego środowiska jak w Arduino IDE.
To co najbardziej mi się spodobało, to możliwość graficznego rysowania obwodów, które będą zaprogramowanie w układzie. Płytka ma także wbudowane Arduino Leonardo, które może współpracować z FPGA.

Drugi projekt przypomina raczej płytki Teensy, albo Arduino Mini/Micro. Jest mniejszy, ale za to ma wbudowane złącze HDMI i wejście na kartę SD.

Nic tylko kupować i uczyć się.

sprae

Własnoręcznie robione okulary do wirtualnej rzeczywistości

Własnoręcznie robione okulary do wirtualnej rzeczywistości

Arduino sortuje groszki

Arduino sortuje groszki

Raspberry PI nadaje zdjęcia przez radio

Raspberry PI nadaje zdjęcia przez radio