Polski procesor "Warszawa" - hit czy kit?
| Gospodarka ArtykułyFirma z Pisza stworzyła pierwszy polski procesor "Warszawa" - taką wiadomość trzy dni temu podała PAP, a w chwilę później zgodnie powtórzyły ją portale informacyjne, a nawet media branżowe. Niusy dotyczące osiągnięć Polaków, a zwłaszcza te o sensacyjnym i przełomowym charakterze, gdzie nasi inżynierowie ścigają się ze światową czołówką przemysłu, zawsze trafiały na czołówki gazet a nawet do telewizji. Rzadko pojawiają się natomiast w prasie branżowej, która niejedną sensację zbywała uśmiechem politowania. "Pierwszy polski procesor Warszawa" ma wszystkie atrybuty takiego niusa, ale warto chyba sprawdzić inżynierskim okiem, czy to, co się kryje za tą informacją, zasługuje na sensację, zainteresowanie, czy może wspomniany uśmiech.
Po przeczytaniu tytułu w pierwszej chwili mogło się wydawać, że cała rzecz dotyczy jakiegoś nowego opracowania firmy Evatronix, DCD lub innego producenta bloków IP, w tym mikrokontrolerów, w chwilę później, że mowa jest o pracy magisterskiej, w której studenci napisali w VHDL-u w ramach ćwiczeń projekt mikrokontrolera. To są realne sytuacje, ale na sensację się nie nadają. Oddajmy głos PAP, który napisał:
"Stworzony przez nas procesor będzie mógł znaleźć szerokie zastosowanie zarówno w firmach produkcyjnych, jak i w rolnictwie czy gospodarstwach domowych w tzw. inteligentnym domu. Umożliwia on pracę nie - jak dotychczasowe procesory - osobom wysoko wykwalifikowanym, lecz wszystkim, którzy orientują się w programowaniu Java, czyli naprawdę dużym rzeszom ludzi - powiedział prezes firmy. Podkreślił, że niewątpliwą zaletą procesora "Warszawa" jest też jego niska cena - ok. 100 zł. (....) (...)
Obecna specyfikacja procesora "Warszawa" to: architektura procesora: 32-bitowa; zegar systemowy: 700MHz (prototyp 66MHz); pamięć Cache: 4KB; stack RAM: 512B; obsługa portów: GPIO; 32-bitowa szyna peryferii umożliwiającą podłączenie do 128 urządzeń."
Czyli za 100 zł firma proponuje zakup mikroprocesora z wbudowanym interpreterem Javy, minimalną pamięcią, wolnym taktowaniem i bez wbudowanych jakichkolwiek układów peryferyjnych, bez narzędzi deweloperskich, środowiska programistycznego umożliwiającego tworzenie kodu i liczy, że pomysł ten chwyci na rynku? Co więcej firma ma nadzieję, że taki układ będzie chętnie aplikowany przez producentów elektroniki w nowych urządzeniach, a konstruktorzy porzucą popularne i wydajne układy produkowane przez Atmela, TI, Renesasa, STMicro, w tym wszystkie ARM-y?
Gdyby taki projekt miał charakter naukowy lub hobbystyczny, nie było by problemu, gdyż wówczas cele działań są inne niż zarabianie pieniędzy. Tu natomiast plany dotyczą produkcji, przemysłu i tworzenia popularnych i masowych aplikacji, jak przytoczone przez firmę odczytywanie danych z liczników zużycia mediów. Trzeba niestety zderzyć się z twardą rzeczywistością i odnieść się do tego, co mamy w magazynach dystrybutorów, działających na realnym rynku.
Układy z rdzeniem Cortex-M3 lub (już archaiczne) ARM7 o podobnym taktowaniu można kupić już za niecałe 4 zł, czyli około 1 dolara. Taki mikrokontroler ma nieporównywalnie większą prędkość wykonywania programów, wbudowane układy peryferyjne i pamięć wewnętrzną SRAM o większej pojemności, wbudowany Flash, a rdzeń mikrokontrolera ma sprzętowy akcelerator Javy, dzięki czemu prędkość wykonywania programów napisanych w Javie jest duża.
Procesor Warszawa z zegarem 66 MHz plus Javą z natury rzeczy musi mieć niską wydajność wykluczającą większość praktycznych zastosowań, niczym Basic na ZX Spectrum. Aby Java działała szybciej, współczesne rdzenie są wyposażane w sprzętowe jednostki przyspieszające wykonywanie typowych programów w Javie. Logika jest prosta: jeżeli weźmie się procesor z rdzeniem Cortex-A5 w środku (z wbudowanym dopalaczem Javy), który jest taktowany 700 MHz i uruchomi na nim aplikacje, to jej wykonanie będzie trwało krócej niż uruchomienie np. programowego interpretera Javy na tym samym rdzeniu (co nie jest możliwe w przypadku "Warszawy", która jest wyposażona w rdzeń "nie-wiadomo-jaki"), taktowanym z tą samą częstotliwością, bo interpretacja zabiera czas. Z tego powodu dopalacze Javy zgodne z Java PSE były stosowane już w rdzeniach ARM7 (Jazelle).
Dyskusyjne jest też koncentrowanie się na samej Javie, jako celu, gdyż wydaje się to rozmijać z aktualnie widocznymi na rynku trendami. Firmy, które nie chcą pisać oprogramowania w C lub ich aplikacja nie wymaga dużej wydajności przetwarzania, raczej wybierają silny mikrokontroler i instalują na nim system operacyjny, np. Linuksa lub Androida.
Takie rozwiązanie daje dostęp do takich samych lub większych zasobów oprogramowania jak w przypadku maszyny z Javą, ale kilkadziesiąt razy taniej, bo przecież sam procesor to nie wszystko – peryferia mają takie samo znaczenie. No i na koniec uwaga do twórców "Warszawy" i redaktorów z portali - pierwszy polski mikroprocesor MCY7880 pojawił się na rynku w 1981 roku. Został wyprodukowany w zakładach CEMI.
Był to klon intelowskiego 8080 - wystarczyło zerknąć do Wikipedii - http://pl.wikipedia.org/wiki/Intel_8080.
Robert Magdziak, Piotr Zbysiński