CZYM JEST KOMPUTER?
MASZYNA TURINGA W 1936 roku Alan Turing (1912-1954) ogłosił rewolucyjną pracę dotyczącą teorii maszyn obliczeniowych i algorytmów. Turing sformułował tezę, że na maszynach jego pomysłu można zrealizować każdy algorytm. Do dzisiaj nie obalono tej tezy. Turing brał również udział w pracach nad deszyfracją kodów Enigmy. Prace nad maszyną deszyfrującą Enigmę przyczyniły się do powstania pod koniec wojny w Wielkiej Brytanii kalkulatorów elektronicznych.
Maszyna Turinga stanowi najprostszy, wyidealizowany matematyczny model komputera, zbudowany z taśmy, na której zapisuje się dane i poruszającej się wzdłuż niej "głowicy", wykonującej proste operacje na zapisanych na taśmie wartościach. Każde pole może znajdować się w jednym z N stanów. Maszyna zawsze jest ustawiona nad jednym z pól i znajduje się w jednym z N stanów. Zależnie od kombinacji stanu maszyny i pola maszyna zapisuje nową wartość w polu, zmienia stan, a następnie może przesunąć się o jedno pole w prawo lub w lewo. Taka operacja nazywana jest rozkazem. Maszyna Turinga jest sterowana listą zawierającą dowolną ilość takich rozkazów. Lista rozkazów dla maszyny Turinga może być traktowana jako jej program.
MASZYNA TURINGA Przy aktualnym stanie wiedzy nie jest jasne, czy prawa fizyki rządzące naszym światem pozwalają na skonstruowanie maszyn obliczeniowych silniejszych, niż maszyna Turinga.
KOMPUTER Komputer (dawne nazwy: elektroniczna maszyna cyfrowa, maszyna matematyczna) w najszerszym tego słowa znaczeniu to maszyna licząca, służąca do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr, albo sygnału ciągłego. Komputer od tradycyjnego kalkulatora odróżnia zdolność wykonywania wielokrotnie, automatycznie powtarzanych obliczeń, wg algorytmicznego wzorca zwanego programem, gdy tymczasem kalkulator może wykonywać tylko pojedyncze działania.
KOMPUTER Komputer możemy uznać za elektroniczne urządzenie przetwarzające: dane liczbowe dane tekstowe dźwięki obrazy sygnały czujników wielkości fizycznych
KOMPUTER = HARDWARE + SOFTWARE Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software). Oprogramowanie komputera składa się z systemu operacyjnego i programów użytkowników lub aplikacyjnych
GENERACJE KOMPUTERÓW Generacje komputerów to umowny podział komputerów cyfrowych, zależnie od zastosowanej technologii. Wyróżniamy następujące generacje: 0 generacja - przed pojawieniem się uniwersalnych, elektronicznych maszyn cyfrowych np. przekaźnikowy Z3 1 generacja - budowane na lampach elektronowych np. XYZ 2 generacja - budowane na tranzystorach np. ZAM 41 3 generacja - budowane na układach scalonych małej i średniej skali integracji np. Odra 1305 4 generacja - budowane na układach scalonych wielkiej skali integracji np. komputer osobisty (PC) 5 generacja - projekty o niekonwencjonalnych rozwiązaniach, np. komputer optyczny.
PODZIAŁ KOMPUTERÓW Ze względu na cenę i możliwości możemy podzielić komputery następująco: Superkomputery Wielkie komputery Klastry i gridy Minikomputer Stacje robocze Komputery osobiste» Desktop» Notebook» Palmtop» Handheld» Barebone
Superkomputer - mianem tym określamy komputer, który ma jedną z największych mocy obliczeniowych na świecie w danym momencie. Jest to pojęcie względne gdyż moc obliczeniowa komputerów rośnie nieustannie i dany superkomputer pozostaje w tej klasie zwykle tylko kilka lat. FLOPS (ang. FLoating point Operations Per Second) liczba operacji zmiennoprzecinkowych na sekundę. Jest jednostką mocy obliczeniowej komputerów, używaną szczególnie w zastosowaniach naukowych. Moc obliczeniowa rząd wielkości oznaczenie FLOPS megaflops MFLOPS 10 6 gigaflops GFLOPS 10 9 teraflops TFLOPS 10 12 petaflops PFLOPS 10 15 eksaflops EFLOPS 10 18 zettaflops ZFLOPS 10 21 jottaflops YFLOPS 10 24
FLOPS A CZŁOWIEK 1 FLOPS = 1 S Choć ludzie świadomie wykonują obliczenia zmiennoprzecinkowe bardzo powoli, ludzki mózg jest często porównywany do superkomputerów pod względem szybkości przetwarzania danych docierających ze zmysłów. Na podstawie szybkości przetwarzania danych przez neurony, moc obliczeniowa mózgu jest szacowana na około 10 PFLOPS. Istnieją jednak hipotezy że mózg w swoim działaniu używa zjawisk kwantowych i dlatego klasyczne komputery nie mogą mu dorównać możliwościami. MIPS (ang. Million Instructions Per Second) - miara wydajności jednostki centralnej CPU komputera, określa liczbę milionów operacji stałoprzecinkowych wykonywanych w ciągu sekundy, przez daną jednostkę obliczeniową. Jednostka ta jest powszechnie używana w dwóch formach: milion instrukcji na sekundę (MIPS)lub milion operacji na sekundę (MOPS).
KLASTER Klaster komputerowy (ang. cluster) - grupa połączonych jednostek komputerowych, które współpracują ze sobą w celu udostępnienia zintegrowanego środowiska pracy. Komputery wchodzące w skład klastra (będące członkami klastra) nazywane są węzłami (ang. node). Podział klastrów: Klastry wydajnościowe: pracujące jako komputer równoległy. Celem ich budowy jest zwiększenie mocy obliczeniowej. Wiele obecnych superkomputerów działa na tej zasadzie. Klastry niezawodnościowe: pracujące jako zespół komputerów dublujących nawzajem swoje funkcje. W razie awarii jednego z węzłów, następuje automatyczne przejęcie jego funkcji przez inne węzły.
KLASTRY W praktyce rozwiązania klastrowe mają charakter mieszany: wykonują dla pewnych aplikacji funkcje wydajnościowe, przy jednoczesnym pełnieniu roli niezawodnościowej. Taki tryb pracy klastra dotyczy serwerów WWW, pocztowych itp. Jedną z najbardziej popularnych implementacji klastrów obliczeniowych jest klaster typu Beowulf: rolę węzłów pełnią wydajne komputery klasy PC (System GNU/Linuks, oprogramowanie do przetwarzania równoległego: np. biblioteki MPI, PVM).
GRID Grid (ang. grid) to system przetwarzania danych, integruje i zarządza zasobami będącymi pod kontrolą różnych domen (od instytucji po system operacyjny) połączony siecią komputerową, używa standardowych, otwartych protokołów i interfejsów ogólnego przeznaczenia (odkrywania i dostępu do zasobów, autoryzacji, uwierzytelniania) oraz dostarcza usług odpowiedniej jakości (QoS, oferuje usługi wyższego poziomu). Grid jest rozwinięciem idei klastra poza tradycyjne granice domeny.
STACJA ROBOCZA Stacja robocza - odmiana komputera osobistego wyposażona jednak CPU o dużej mocy obliczeniowej, monitor wysokiej klasy, dysk twardy o dużej pojemności oraz dużą ilość pamięci RAM. Stacje robocze są często wykorzystywane do tworzenia profesjonalnej grafiki i animacji telewizyjnych lub też do obliczeń numerycznych. Jedną z pierwszych takich stacji była 3Station firmy 3Com. Dzisiejsze stacje robocze wykorzystują interfejs SCSI lub światłowodowy do obsługi dysków twardych, wysokiej klasy akceleratory grafiki 3D, jeden lub więcej procesorów 64-bitowych i spore zasoby pamięci operacyjnej. Konieczne są też zaawansowane systemy chłodzenia.
MAINFRAME Mainframe - komputer (ew. kilka) o dużej wydajności przetwarzania danych i większych możliwościach niż komputer domowy, którego celem jest świadczenie usług dużej liczbie użytkowników. Cechy mainframe: W odróżnieniu od superkomputera Mainframe nie posiada dużej mocy obliczeniowej. Specjalizuje się w wydajnych operacjach I/O i bardzo wysokimi współczynnikami wielozadaniowości. Może z powodzeniem obsługiwać dziesiątki tysięcy równolegle pracujących użytkowników zachowując równocześnie cały czas rozsądne czasy reakcji (poniżej 1 sekundy). Komputery klasy mainframe są ważnym elementem rynku biznesowego (ocenia się, że są odpowiedzialne za przetwarzanie prawie 90% krytycznych danych na tym rynku) ze względu na nieporównywalną z domowymi komputerami wydajność, łatwość zarządzania, możliwości rozbudowy i bezpieczeństwo.
SERWER Serwer - komputer o dużej mocy przetwarzania udostępniający swoje usługi innym komputerom podłączonym do sieci. Wykorzystanie serwerów: serwery www serwery poczty serwery plików klastry obliczeniowe bazy danych firewalle serwer wydruku
KOMPUTER OSOBISTY Komputer osobisty - komputer o stosunkowo niewielkiej mocy obliczeniowej, przeznaczony dla indywidualnego użytkownika. Komputer klasy PC składa się z: procesor (CPU) pamięć operacyjna (programu i danych) układy kontroli i sterowania danymi na magistralach:» mosty» układ bezpośredniego dostępu do pamięci» układ przerwań urządzenia wejścia-wyjścia:» klawiatura, mysz» monitor, karta graficzna» pamięci dyskowe itp.
BAREBONE Barebone jest to rodzaj komputera osobistego, ale o bardzo małych wymiarach. Komputer taki ma zazwyczaj małe możliwości rozbudowy, ale zajmuje mało miejsca i może spełniać dodatkową rolę, np.: radia, odtwarzacza CD, bez konieczności uruchomienia systemu.
LAPTOP Laptop (notebook) - jest to mały, przenośny komputer osobisty. Zbudowany przeważnie jako pojedyncze niewielkie zamykane urządzenie, w którym znajdują się wszystkie podzespoły wewnętrzne (procesor, pamięć, itd.), wybrane wejścia dla nośników (CD-ROM, dyskietki), urządzenia komunikacji z użytkownikiem (klawiatura, ekran LCD oraz trackball lub touchpad).
PALMTOP Palmtop to miniaturowy notatnik elektroniczny mieszczący się w dłoni człowieka. Palmtopy nie mają napędu dyskietek, napędu CD-ROM i dysku twardego (dane przechowują na karcie CompactFlash), są za to lekkie i bez problemu mieszczą się w kieszeni. W ich pamięć wbudowano na stałe podstawowe oprogramowanie (edytor tekstu, arkusz kalkulacyjny, bazę danych) oraz scheduler. Popularnym systemem operacyjnym do palmtopów jest Windows CE. Wiele z nich ma również wbudowane modemy i porty komunikacyjne, miniaturowe klawiatury i podświetlane kolorowe wyświetlacze. Większe modele wyglądem przypominające miniaturowe notebooki nazywane są Handheld PC (HPC). Mają one nieco większe możliwości niż zwykłe palmtopy.
TABLET PC Tablet PC to przenośny komputer osobisty wzorowany na notebooku wyposażony w ekran dotykowy. Posiada wiele udogodnień (klawiaturę ekranową, funkcję rozpoznawania pisma odręcznego itp.).
PDA PDA (Personal Digital Assistan) to kieszonkowy komputer pełniący funkcję organizera. Typowy PDA nie ma klawiatury a dane wprowadza się do niego za pomocą specjalnego rysika, pisząc na wyświetlaczu ciekłokrystalicznym (niektóre PDA potrafią rozpoznawać mowę). Możliwości PDA: programy aplikacyjne: komputer o możliwościach PC dołączane klawiatury i możliwość korzystania z rysika możliwości pracy w Internecie rozszerzenia typu PC-Card jak dla notebooków
PRZYSZŁOŚĆ KOMPUTERÓW Prawa fizyki ograniczają możliwości miniaturyzacji układów scalonych, a ponad to wraz ze wzrostem częstotliwości taktowania procesora znacząco rośnie moc wydzielana w postaci ciepła. Dlatego więc naukowcy poszukują nowych rozwiązań.
KOMPUTER KWANTOWY Obecna informatyka klasyczna nie ma przed sobą dalekosiężnych perspektyw i mimo bezsprzecznych aktualnych jej sukcesów, może okazać się nieskuteczna wobec złożoności mikroświata. Komputer kwantowy byłby urządzeniem, przy pomocy którego można by skutecznie symulować dowolny inny układ kwantowy w sposób niemożliwy dla klasycznych komputerów. Prawdziwe zainteresowanie komputerem kwantowym pojawiło się jednak, gdy Peter Shor (1994) przedstawił kwantowy algorytm do faktoryzacji liczb całkowitych (tj. rozkładu liczb na czynniki pierwsze, a zatem szukania wielocyfrowych liczb pierwszych), działający eksponencjalnie szybciej niż najlepsze algorytmy klasyczne. Niewielki nawet komputer kwantowy mógłby zatem w bardzo krótkim czasie na przykład złamać wszystkie kody i zabezpieczenia współczesnych systemów informatycznych (wykorzystujących właśnie duże liczby pierwsze).
KOMPUTER OPTYCZNY Kolejną interesującą koncepcją jest komputer optyczny. Jego niewątpliwymi zaletami byłyby: odporność na zakłócenia elektromagnetyczne, szybkość (strumień fotonów porusza się znacznie szybciej niż elektrony i ma szersze pasmo) oraz to, że ten sam element może równolegle przetwarzać sygnały przenoszone przez światło o różnej długości fali.