Komputer (z ang. computer od łac. computare – liczyć, sumować; dawne nazwy używane w Polsce: mózg elektronowy, elektroniczna maszyna cyfrowa, maszyna matematyczna) – maszyna elektroniczna przeznaczona do przetwarzania informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.
Pomimo że mechaniczne maszyny liczące istniały od wielu stuleci, komputery w sensie współczesnym pojawiły się dopiero w połowie XX wieku, kiedy zbudowano pierwsze komputery elektroniczne. Miały one rozmiary sporych pomieszczeń oraz zużywały kilkaset razy więcej energii niż współczesne komputery osobiste (PC), a równocześnie miały miliardy razy mniejszą moc obliczeniową.
Małe komputery potrafią zmieścić się nawet w zegarku oraz są zasilane baterią. Komputery osobiste są symbolem ery informatycznej oraz przeważajaca ilość utożsamia je z "komputerem" właśnie. Najliczniejszymi maszynami liczącymi są systemy wbudowane sterujące najróżniejszymi urządzeniami - od odtwarzaczy MP3 oraz zabawek po roboty przemysłowe.
Komputery oraz inne maszyny liczące
Komputer od typowego kalkulatora odróżnia zdolność wykonywania wielokrotnie, automatycznie powtarzanych obliczeń, wedle algorytmicznego wzorca zwanego programem, kiedy tymczasem kalkulator może zwykle wykonywać tylko pojedyncze działania. Granica jest tu umowna, albowiem taką definicję komputera spełniają też kalkulatory programowalne (naukowe, inżynierskie), jednak kalkulatory służą tylko do obliczeń numerycznych, z tym że nazwa komputer najczęściej dotyczy urządzeń wielofunkcyjnych.
Jakkolwiek są mechaniczne urządzenia liczące, które umieją realizować całkiem złożone programy, zwykle nie zalicza się ich do komputerów. Warto jednak pamiętać, że prawzorem komputera jest abstrakcyjny model zwany maszyną Turinga, a pierwsze urządzenia ułatwiające obliczenia były znane w starożytności, np. abakus z 440 p.n.e..
W początkowym okresie rozwoju komputerów budowano komputery zerowej generacji na przekaźnikach oraz elementach mechanicznych.
Właściwie wszystkie współczesne komputery to maszyny elektroniczne. Próby budowania komputerów optycznych (wykorzystujących przełączniki optyczne), optoelektronicznych (połączenie elementów optycznych oraz elektronicznych), biologicznych (wykorzystujące wypreparowane komórki nerwowe) czy molekularnych (wykorzystujące jako bramki logiczne pojedyncze cząsteczki) są jeszcze w powijakach oraz do ich praktycznego zastosowania jest wciąż długa droga. Innym rodzajem komputera jest komputer kwantowy, którego układ przetwarzający dane wykorzystuje prawa mechaniki kwantowej.
Komputery analogowe
-
W definicji komputera mieszczą się też urządzenia do przeliczania wartości reprezentowanych przez wielkość ciągłą (napięcie albo prąd elektryczny). Programowanie ich opiera się na określeniu toru przetwarzania sygnałów przełącznikami oraz ewentualnie określeniu stałych za pomocą potencjometrów. Komputery takie stosowano w połowie XX wieku oraz istniały nawet wyspecjalizowane w tym celu układy scalone. Aktualnie nie opłaca się implementować algorytmów obliczeniowych w technice analogowej, ze względu na niską cenę mikroprocesorów. Można jeszcze spotkać (np. w Rosji) analogowe komputery balistyczne służące do obliczania toru pocisków artyleryjskich, jednak oraz tam zastępuje się je komputerami cyfrowymi.
Programowalność
To, co odróżnia współczesne komputery od wszystkich innych maszyn, to możliwość ich programowania, czyli wprowadzenia do pamięci komputera listy instrukcji, które bywają wykonane w innym czasie.
W większości przypadków instrukcje, które komputer wykonuje, są bardzo proste - dodawanie dwóch liczb, przeniesienie danych z jednego miejsca w inne, wyświetlenie komunikatu itd. Instrukcje te odczytywane są z pamięci komputera oraz zwykle wykonywane są w tej samej kolejności, co w pamięci. Istnieją jednak instrukcje umożliwiające "skok" w pewne określone miejsce programu oraz wykonanie go z tego miejsca. Ponadto instrukcje skoku bywają wykonane warunkowo, co dopuszcza wykonanie wielorakich zestawów instrukcji w zależności od uzyskanych wcześniej wyników obliczeń. Ponadto są instrukcje umożliwiające wykonywanie podprogramów, pamiętające miejsce z którego wykonano skok, by wrócić do niego po wykonaniu podprogramu.
Programowanie da się w pewnym stopniu przyrównać do czytania książki. W większości wypadków słowa odczytywane są po kolei, zdarzają się jednak momenty, kiedy czytelnik wraca do wcześniejszego rozdziału albo omija nieciekawy fragment. Komputery posiadają możliwość wykonania pewnych instrukcji w pętli, dopóki nie zostanie spełniony jakiś warunek.
Można tu użyć przykładu człowieka próbującego zsumować kolejne liczby na kalkulatorze. Dodaje 1 + 2, do wyniku dodaje 3 itd. Przy próbie zsumowania 10 liczb nie stanowi to problemu, jednak już przy tysiącu po pierwsze zajmuje to bardzo dużo czasu, po drugie przy tak dużej ilości operacji istnieje duże prawdopodobieństwo błędu. Komputer z kolei wykona tę operację w ułamku sekundy, przy użyciu prostego programu:
mov #0,sum ; ustaw sum na 0
mov #1,num ; ustaw num na 1
loop: add num,sum ; dodaj num oraz sum
add #1,num ; dodaj 1 do num
cmp num,#1000 ; odejmij num od 1000
ble loop ; jeżeli num <= 1000, wróć do 'loop'
halt ; koniec programu. wstrzymaj działanie
Po otrzymaniu rozkazu wykonania programu komputer wykona serię operacji dodawania. Prawdopodobieństwo wystąpienia pomyłki jest znikome. Komputery jednak nie umieją myśleć samodzielnie oraz dany problem potrafią rozwiązać jedynie wg algorytmu przygotowanego przez człowieka. Inteligentna istota, napotkawszy podobne zadanie, mogłaby zorientować się, że do jego wykonania wystarczy użyć prostego równania:

Innymi słowy komputer wykona postawione przed nim zadanie, nie zastanawiając się nad efektywnością wykonanej przez niego "pracy".
Podstawowe elementy komputera
Przeważajaca ilość współczesnych komputerów opartych jest na tzw. architekturze von Neumanna (od nazwiska Johna von Neumanna), tj. składa się z trzech podstawowych elementów:
- procesora – podzielonego na cząstka arytmetyczno-logiczną czyli układu, który faktycznie wykonuje wszystkie konieczne obliczenia oraz cząstka sterującą
- pamięci RAM – (od ang. Random Access Memory) czyli układy scalone, które przechowują program oraz dane (umożliwia to m.in. samomodyfikację programu) oraz bieżące wyniki obliczeń procesora oraz stale, na bieżąco wymienia dane z procesorem
- urządzeń wejścia/wyjścia – które służą do komunikacji komputera z otoczeniem.
Typy komputerów
Współcześnie komputery dzieli się na:
- komputery osobiste ("PC", z ang. personal computer) – o rozmiarach umożliwiających ich umieszczenie na biurku, używane zwykle przez pojedyncze osoby
- komputery domowe – poprzedniki komputerów osobistych, korzystające z telewizora, jako monitora.
- konsola – następca komputera domowego wyspecjalizowany w programach rozrywkowych. Zwykle wykorzystuje z telewizora jako głównego wyświetlacza. Posiada ograniczone oprogramowanie przygotowane do wydajnego uruchamiania programów oraz gier. Na poniektórych modelach da się zainstalować odmienny system operacyjny oraz wykorzystywać do specyficznych zastosowań, np. procesory graficzne konsoli PS3 znakomicie nadają się do łamania różnego rodzaju kodów.
- komputery mainframe – wielokrotnie o większych rozmiarach, których zastosowaniem jest przetwarzanie dużych ilości danych na potrzeby różnego rodzaju instytucji, pełnienie roli serwerów itp.
- komputery gospodarcze – używane w gospodarstwach rolnych w celu efektywnego sterowania procesami produkcyjnymi.
- superkomputery – największe komputery o dużej mocy obliczeniowej, używane do czasochłonnych obliczeń naukowych oraz symulacji skomplikowanych systemów.
- komputery wbudowane – (lub osadzone, ang. embedded) specjalizowane komputery służące do sterowania urządzeniami z gatunku automatyki przemysłowej, elektroniki użytkowej (np. telefony komórkowe itp.) czy wręcz poszczególnymi komponentami wchodzącymi w skład komputerów.
Historia komputerów
Najwybitniejsi naukowcy, których prace przyczyniły się do powstania komputerów:
Pewne z historycznych modeli komputerów:
- Z3 – w pełni automatyczny komputer o zmiennym programie zbudowany przez niemieckiego inżyniera Konrada Zuse w 1941.
- Colossus – wyprodukowane przez rząd brytyjski podczas drugiej wojny światowej w liczbie 11 sztuk komputery lampowe, których zadaniem było od 8 grudnia 1943 roku łamanie szyfrów maszyny Enigma (zwłaszcza do złamania szyfrów maszyny Lorenza).
- ENIAC – tworzony w latach 1943–1946 elektroniczny komputer, który składał się z 18 tys. lamp elektronowych, 1500 przekaźników, ważył 30 ton oraz miał wymiary 15 na 9 metrów.
Polskie komputery
- cyfrowe: K-202, PRS-4, XYZ, ZAM, UMC, Odra, Mera 300, Mera 400, Poltype, R32, Mazovia, Meritum, Elwro 800 Junior, ComPAN 8, Menopc 900
- analogowe: ELWAT, AKAT-1, ARR
Sprawdź też
Podstawowe pojęcia związane z komputerami:
Linki zewnętrzne