Ciepłe bity

Jeszcze niedawno żartowano, że pradawne superkomputery bardzo się grzały i trzeba je było chłodzić cieczą. Kto przypuszczał, że do pomysłu takiej wentylacji powróci się całkiem serio? Dziś wszyscy zdają sobie sprawę, że mikroprocesory grzeją się tak, jak silniki samochodowe.

Jeszcze niedawno żartowano, że pradawne superkomputery bardzo się grzały i trzeba je było chłodzić cieczą. Kto przypuszczał, że do pomysłu takiej wentylacji powróci się całkiem serio? Dziś wszyscy zdają sobie sprawę, że mikroprocesory grzeją się tak, jak silniki samochodowe.

Może nie ma w tym nic odkrywczego: obliczenia komputerowe to całkiem fizyczny proces, o czym jednak jeszcze kilka lat temu łatwo było zapomnieć, uważając je za czysto abstrakcyjne operacje bitowe. Tak właśnie należy myśleć. Nie ma sensu traktować tworzenia strony HTML jako przestawiania elektronów w złączach tranzystorów; to tak, jakby mówiąc "cześć!", wyobrażać sobie pojedyncze neurony brzdękające w mózgu.

Abstrakcyjna trampolina

Rozgraniczenie między obliczeniami i procesami fizycznymi wprowadził Alan Turing. Utorował tym samym drogę rozwojowi elektroniki i powstaniu komputerów oraz umożliwił ich programowanie. W słynnej pracy O liczbach obliczalnych Turing sprowadził obliczenia komputerowe do problemu czysto matematycznego, opisując wymyśloną przez siebie abstrakcyjną maszynę (zwaną odtąd jego nazwiskiem), która wyliczy każdą wielkość, jaką można wyznaczyć za pomocą rzeczywistego komputera. Maszyna Turinga ma głowicę, która zgodnie z pewnym algorytmem stawia i usuwa znaki na nieskończenie długiej taśmie papieru i w ten sposób, chociaż nieco dłużej, potrafi przeprowadzić każde obliczenia, jakie da się wykonać na Pentium 4.

Niemal każdy współczesny komputer (wyjątkiem są sieci neuronowe) jest choć częściową realizacją pomysłu Turinga. Funkcję papierowej taśmy, niestety skończonej, pełnią różne obiekty fizyczne, na których można zapisać znaki, wykorzystując odpowiednie zjawiska elektryczne, magnetyczne lub optyczne. I przeciwnie: bramki logiczne, na których opiera się działanie PC, mogą być symulowane na maszynie Turinga przez odpowiednie sekwencje ruchów głowicy.

Prosta komórka pamięci statycznej CMOS. Cyfry 0 i 1 symbolizują uziemienie i napięcie. Gdy A jest jedynką, sygnał z wejścia przechodzi przez transmiter T1 do dwóch bramek negacji B1 i B2 i dalej do wyjścia; górny transmiter jest zablokowany. Jeśli teraz do A przyłożymy poziom 0, transmiter T1 nie będzie przepuszczał sygnału, za to do bramek negacji przez transmiter T2 dojdzie ten sam sygnał, który idzie na wyjście; jest to podwójne sprzężenie zwrotne, dzięki któremu na wyjściu wciąż będzie pamiętany sygnał dostarczony na początku na wejście.

Prosta komórka pamięci statycznej CMOS. Cyfry 0 i 1 symbolizują uziemienie i napięcie. Gdy A jest jedynką, sygnał z wejścia przechodzi przez transmiter T1 do dwóch bramek negacji B1 i B2 i dalej do wyjścia; górny transmiter jest zablokowany. Jeśli teraz do A przyłożymy poziom 0, transmiter T1 nie będzie przepuszczał sygnału, za to do bramek negacji przez transmiter T2 dojdzie ten sam sygnał, który idzie na wyjście; jest to podwójne sprzężenie zwrotne, dzięki któremu na wyjściu wciąż będzie pamiętany sygnał dostarczony na początku na wejście.

Takie abstrakcyjne podejście umożliwiło rozwój informatyki niezależnie od budowy komputerów. Ciąg bitów oznacza dokładnie to samo niezależnie od procesu fizycznego, który za nim stoi. Wewnątrz komputera rozmaite urządzenia czytają "znaki" z jednego nośnika i przenoszą je na inny w taki sposób, żeby zachować ich znaczenie. Bity zmieniają postać fizyczną przy każdym przejściu z dysku do procesora, z procesora do pamięci, a często nawet wewnątrz samego procesora.

Wiele postaci jednego bitu

Bity można kodować za pomocą dowolnego obiektu, który występuje w dwóch stanach i może być między nimi przełączany poprzez jakieś procesy fizyczne. Wewnątrz komputera można odnaleźć co najmniej sześć form takich reprezentacji bitów. Na przykład na twardym dysku każdy "znak" to mały namagnetyzowany obszar w cienkiej powłoce ze stopu kobaltowego; kierunek pola magnetycznego odpowiada wartości bitu. Kiedy system operacyjny odczytuje dane z dysku, kierunki pola magnetycznego są przekształcane w ciąg impulsów elektrycznych w przewodzie, w którym różne napięcia symbolizują wartości 0 i 1. W dynamicznym RAM-ie impulsy te zamieniane są w ładunki elektryczne gromadzone w malutkich kondensatorach, a w pamięci podręcznej procesora - w układzie zbudowanym z kilku tranzystorów. Zupełnie inaczej bity reprezentuje się na dyskach optycznych, takich jak CD-R, CD-RW i DVD. Na CD-R wiązka lasera trwale wypala barwnik chemiczny, tworząc małe plamki na powierzchni dysku, a na CD-RW odpowiednie studzenie stopu metali zmienia natężenie światła odbijanego przez płytę.

Te zupełnie odmienne fizyczne reprezentacje mają wspólną cechę: można swobodnie przełączać je między dwoma stabilnymi stanami i odczytywać, w którym stanie akurat się znajdują. Niestety, wszystkie wymagają pewnej porcji energii do zmiany stanu, a to jest przyczyną grzania się komputerów.

Czy leniwie kręcący się wiatraczek wystudzi przyszłe procesory? Może czas na inne rozwiazania.

Czy leniwie kręcący się wiatraczek wystudzi przyszłe procesory? Może czas na inne rozwiazania.

Cała niezwykłość technologii cyfrowej bierze się z możliwości przekształcenia danych opisujących rzeczywistość (słowa, dźwięki, obrazy) w ciąg bitów i przesłania w dowolne miejsce bez żadnych przekłamań. W przeciwieństwie do starych technologii analogowych, w których podczas transmisji sygnał był stale i nieodwracalnie zakłócany przez szum, bity mogą zmieniać reprezentację fizyczną wiele razy i przyjmować wszystkie potrzebne formy bez żadnej straty jakości danych. Aby zaspokoić nieustanne zapotrzebowanie na coraz wyższą wydajność, gęstość zapisu oraz szybkość przełączania bitów muszą być stale zwiększane. Powoduje to nieuchronny wzrost zużycia energii rozpraszanej w postaci ciepła.

Czterdziestolecie prawa Moore'a

W pierwszych komputerach przełącznikami były lampy katodowe. Włączany i wyłączany strumień elektronów płynących przez próżnię generował impulsy elektryczne, które reprezentowały bity. Lampy były powolne, zawodne i wytwarzały mnóstwo ciepła. Zastąpienie ich przez lite, krzemowe tranzystory rozpoczęło gwałtowny wzrost mocy obliczeniowej komputerów, do którego już zdążyliśmy przywyknąć. W 1964 roku obiecujący elektronik Gordon Moore zauważył, że liczba tranzystorów, które potrafimy pomieścić na jednym chipie, podwaja się mniej więcej co dwa lata. Zmniejszanie tranzystorów przyspiesza ich działanie i w rezultacie całkowita wydajność procesora podwaja się co 18 miesięcy. Ta reguła sprawdza się już od 40 lat. Pierwszy mikroprocesor Intela, 4004, zawierał 2300 tranzystorów na kwadratowej płytce krzemowej o dwunastomilimetrowym boku, a ostatnie Pentium 4 na kilku centymetrach kwadratowych ma ich blisko 55 milionów.

Liczba tranzystorów w chipie rośnie dużo szybciej niż jego koszt produkcji. Cena tranzystora zmniejsza się dwukrotnie co półtora roku. Zawdzięczamy to technice litografii, która ma tę samą własność skalowania, co inne rodzaje druku: nie zwiększając kosztów, można wydrukować dwa razy więcej słów na tej samej stronie dwukrotnie mniejszą czcionką (choć czytanie takiego tekstu może zepsuć wzrok). Odwrotnie niż słowa, mniejsze tranzystory są bardziej użyteczne: można je szybciej przełączać. To zaś pozwala zwiększyć częstotliwość zegara. Zużycie energii przez pojedynczy tranzystor prawie nie zależy od jego rozmiaru. Te fakty mają kluczowe znaczenie dla trwania prawa Moore'a. Co kilka lat ktoś przepowiada rychły koniec wykładniczego wzrostu gęstości tranzystorów, lecz na razie bez powodzenia.


Zobacz również