Czy procesory mogą liczyć niedokładnie? Tak, to wskazane!

Krishna Palem z Universytetu Rice twierdzi, że znalazł sposób na wydłużenie czasu pracy notebooków na bateriach. Jego zdaniem wystarczy, iż procesory będą niedokładnie przeliczały wideo i dźwięk. Różnica w obrazie będzie niedostrzegalna, a oszczędności energii - znaczące.

Współczesne procesory to układy niezwykle oddane swej pracy. Kiedy ośmiolatek zażąda od zamontowanego w komputerze CPU wyników dzielenia 7 przez 3, nawet w kalkulatorze Windows otrzyma wynik z dokładnością do 31 cyfr po przecinku (2,3333333333333333333333333333333).

Oczywiście jak na jego potrzeby wystarczający wynik to 2,33, ewentualnie 2,333.

PCMOS - sposób na niedokładne liczenie

Układy PCMOS (ang. probabilistic complementary metal-oxide semiconductor technology) mają właśnie taką funkcję: podają użytkownikowi wynik w przybliżeniu. Do obliczeń inżynierskich raczej się nie nadają, natomiast doskonale sprawdzają się podczas dekodowania obrazu i dźwięku.

Ludzkie oczy i uszy są na tyle tolerancyjne, że drobne błędy w przetwarzaniu wychwytują, ale zwykle je maskują. Mogą być też one odfiltrowywane jako nieistotne już na poziomie umysłu (co nieco na temat stratnej i bezstratnej kompresji zdjęć: "Czas na bitmapę") - oczywiście ciągle pod warunkiem, że są niewielkie.

Szacowanie lepsze niż przeliczanie

Zdaniem Palema w pewnych zastosowaniach komputery mogą liczyć tylko z pewnym przybliżeniem. Jego zdaniem "najlepiej jak się da", to "wystarczająco dobrze". Gdy CPU będzie podawał wynik z dzielenia z dokładnością do 3. liczby po przecinku - przy czym gwarantowane będą tylko dwie, a trzecia nie zawsze - uda się obniżyć jego zapotrzebowanie na moc.

Oczywiście nie jest tak, że na ostatnim, 3. miejscu po przecinku procesor podaje byle co. Dokładność obliczeń zależy ściśle od napięcia zasilania. Im jest ono mniejsze, tym większe prawdopodobieństwo, że zamiast 0 pojawi się 1 i CPU pomyli się w obliczeniach.

W naszym przykładzie z początku artykułu ośmiolatek uzyskiwałby np. 2,337 zamiast 2,333. Nie stanowi to jednak problemu: prawdopodobieństwo takiej pomyłki da się oszacować statystycznie - i wprowadzić jako korektę do obliczeń (2,334 zamiast 2,333).

0,5 V zamiast 1,3 V?

Efekty są zaskakujące. Procesory PCMOS mogą pracować ze znacznie niższymi napięciami. Oczywiście mylą się w obliczeniach, ale wydłużenie czasu pracy na baterii jest niebagatelne.

Jak mówi Palem, aż do 2006 roku spotykał się z olbrzymim sceptycyzmem obserwatorów. Wtedy to przeprowadził pierwszą symulację działania układu PCMOS. Okazało się, że w wypadku przesyłanego strumieniowo wideo niedokładności w kalkulacjach powodowały na tyle małe błędy w obrazie, że większa część publiczności nie była w stanie ich zauważyć.

Stworzone przez niego procesory mogłyby znaleźć zastosowanie w komputerach, ale również w odtwarzaczach MP3 czy telefonach komórkowych.

Oczywiście do układów PCMOS droga jeszcze daleka. Wszystkim, którzy chcieliby już dziś monitorować pobór mocy swego notebooka, polecamy artykuł "Pełna kontrola nad laptopem", gdzie zebraliśmy kilka najciekawszych aplikacji badających wykorzystywane napięcie, umożliwiających zmianę częstotliwości procesora w locie albo pozwalających na ograniczanie obciążenia, jakie generuje dany program (np. do maksymalnie 30 procent).

Warto zajrzeć: "TR10: Probabilistic Chips" (w języku angielskim)


Zobacz również