Podstawowe pojęcia
dotyczące komputera
- architektura
Definicje
n
Informatyka - nazwa powstała w 1968 roku, stosowana w Europie
n
=dział matematyki
n
Computer science, czyli
nauki komputerowe, USA
n
=działy nauki stosujące wyrafinowane metody komputerowe (np. chemia
czy ekonomia komputerowa).
n
Computational science,
nauki obliczeniowe, Kanada
n
Information science -
nauki o informacji
n
= zastosowania komputerów do zarządzania informacją.
Definicje
n
Definicja encyklopedyczna:
n
„Informatyka
Informatyka zajmuje się całokształtem przechowywania, przesyłania,
przetwarzania i interpretowania informacji. Wyróżnia się w niej dwa działy,
dotyczące sprzętu i oprogramowania”.
n
Nowsza definicja, opracowana w 1989 roku przez Association for
Computing Machinery (ACM), mówi:
n
„Informatyka
Informatyka to systematyczne badanie procesów algorytmicznych, które
charakteryzują i przetwarzają informację, teoria, analiza, projektowanie,
badanie efektywności, implementacja i zastosowania procesów
algorytmicznych. Podstawowe pytanie informatyki to: co można
(efektywnie) zalgorytmizować”.
Organizacje informatyków
n
ACM, Association for Computing Machinery. Największa i najstarsza
(1947) organizacja skupiająca informatyków.
n
IEEE Computer Society – IEEE (The Institute of Electrical and
Electronics Engineers) jest największym stowarzyszeniem zawodowym
na świecie.
n
American Society for Information Science, stowarzyszenie nauk
informacyjnych.
n
Polska Izba Informatyki i Telekomunikacji
Czym się zajmuje informatyka?
n
Algorytmika - fundament informatyki, wiedza o sposobach rozwiązywania
zagadnień, czyli konstruowaniu algorytmów.
n
Zadania algorytmiczne - czyli zadania, dla których znamy sposób
rozwiązania.
n
Algorytm – sposób rozwiązania zagadnienia podany w formie przepisu
określającego skończoną liczbę operacji oraz kolejność w jakiej operacje te
powinny być wykonywane.
n
Algorytmy efektywne - czyli takie, które dają rozwiązanie przed końcem
świata.
n
Złożoność obliczeniowa algorytmów - ocena, ile trzeba będzie wykonać
obliczeń.
n
Testowanie i dowodzenie poprawności algorytmów.
n
Algorytmy heurystyczne: metody bez gwarancji na znalezienie rozwiązania
(sztuczna inteligencja).
Czym się zajmuje informatyka?
n
Struktury danych: liczby, tablice, wektory, rekordy, listy, stosy, kolejki,
drzewa, węzły potomne, grafy, diagramy.
n
Teoria języków programowania: specyfikacja, procesory, automaty
skończone (automaty Turinga).
n
Organizacja i architektury systemów komputerowych, systemów
operacyjnych i sieci komputerowych, teoria baz danych.
n
Zastosowania komputerów - zwykle nie zajmują się nimi informatycy.
Krótka historia komputera
Maszyna Turinga
Maszyna Turinga to stworzony w 1936 roku przez Alana Turinga
model abstrakcyjnej maszyny obliczeniowej. Pomimo swojej
prostoty posiada ona olbrzymie znaczenie teoretyczne, bowiem
wszystkie współczesne komputery dają się do niej sprowadzić.
n
Maszyna Turinga
n
Maszyna von Neumanna
pomysł konstrukcji komputera opracowany i
wdrożony przez Johna von Neumanna w roku 1945. Jego istotą było
utrzymywanie w pamięci komputera zarówno programu, jak i danych, które są
przechowywane w kodzie dwójkowym, a ich przetwarzanie odbywa się w
arytmometrze. Wynalazek von Neumanna jest kontynuacją maszyny Turinga.
Praktycznie wszystkie komputery są budowane według pomysłu von Neumanna.
n
Koncepcja przechowywanego programu
n
Pamięć główna przechowuje dane i programy
n
Jednostka arytmetyczno-logiczna (ALU) działa na danych binarnych
n
Jednostka sterująca interpretuje oraz wykonuje rozkazy z pamięci
n
Urządzeniami we/wy steruje jednostka sterująca
n
Princeton Institute for Advanced Studies (IAS komputer ukończony
w 1952)
Architektura komputera
Architektura komputera
Program maszynowy
n
(np. dodawanie dwóch liczb zapisanych w pamięci operacyjnej)
n
...
n
150 Instrukcja 1 (np. LDA - pobierz dane z pamięci i zapamiętaj w
akumulatorze)
n
151 argument (np. 233 - adres danych do pobrania)
n
152 Instrukcja 2 (np. ADDA - pobierz dane z pamięci i dodaj do
zawartości akumulatora)
n
153 argument (np. 234 - adres danych do pobrania)
n
154 Instrukcja 3 (np. STA pobierz dane z akumulatora i zapisz do
pamięci)
n
155 argument (adres pod którym zapisane zostaną dane, np. 235)
Architektura komputera
n
Cykl instrukcji (instruction cycle):
Pobierz instrukcję.
Pobierz dane z pamięci.
Wykonaj instrukcję.
Zapisz wynik w pamięci.
n
Instrukcje
Pobieranie/składowanie danych
Operacje na danych
Skoku bezwarunkowego
Skoku warunkowego
Przerwania (IRQ): system przejmowania kontroli nad
czynnościami mikroprocesora.
Architektura komputera
n
Procesor zawiera:
Arytmometr - wykonuje operacje logiczne i arytmetyczne na 4-64
bitach.
Układ sterowania - pobiera z pamięci kolejne rozkazy, oblicza adresy
argumentów operacji
Rejestry - podręczne komórki pamięci: licznik rozkazów, rejestr
rozkazów, akumulator, stos, rejestry pomocnicze.
n
- licznik rozkazów zawiera adres następnego rozkazu do wykonania,
rejestr rozkazów zawierający kod wykonywanego aktualnie rozkazu,
akumulator przechowujący dane,rejestry pomocnicze.
n
Interpretuje 20 do 200 instrukcji,
n
Architektury mikroprocesorów typu:
n
RISC (Reduced Instruction Set Computer), 1-5 instrukcji/cykl.
CISC (Complex Instruction Set Computer), 2-10 cykli/instrukcję.
Architektura komputera
n
Zegar: wytwarza prostokątne impulsy synchronizując działanie
układów logicznych i pamięci;
częstości 1MHz -2000 MHz, czas cyklu od 0.5 nanosekundy do 1
mikrosekundy (neurony - 1-100 Hz).
n
CPU: Centralna Jednostka Przetwarzająca (Central Processing Unit).
Mikroprocesor - procesor wykonany w technologii VLSI.
FPU (Floating Point Unit), czyli jednostka zmiennoprzecinkowa, zwykle
(od Pentium) wbudowana w FPU, dawniej osobna.
n
Pamięć stała ROM, Read Only Memory (pamięć pozwalająca tylko na
odczyt)
Pamięć zapisywalna RAM, „bufor pamięci” - obszar wydzielony
pamięci.
Architektura komputera
n
Pamięć cache: L1, L2 cache,
L1 - w procesorze, do 128 KB
L2 - zwykle pamięć statyczna SDRAM o krótkim czasie dostępu, droga,
zwykle 32-512 KB, niektóre mikroprocesory (np. Xenon) do 4 MB,
czasami wbudowana w procesor (np. P4 ma 256 lub 512 KB).
n
Magistrale (szyny): przysyłanie danych do urządzeń zamontowanych
wewnątrz komputera, dysków i kart rozszerzeń.
n
Szyna adresowa: wysyła informację z CPU do pamięci pozwalając
odszukać adres komórki pamięci.
n
Szyna danych: przesyła dane, znajdujące się w pamięci pod
wskazanym adresem do/z CPU.
Architektura komputera
n
Adresowanie pamięci = odnajdywanie miejsc, z których chcemy
pobrać lub wpisać bajty.
Szerokość = liczba równoległych połączeń w szynie.
Szerokość 8 (szyna 8-bitowa) pozwala rozróżnić 2
8
=256 komórek.
Szerokość 16 (szyna 16-bitowa) daje 65536 czyli 64k możliwości.
Szerokość 20, 1M adresów.
Szerokość 32, 4G adresów.
Szerokość 64, 16 mld adresów!
n
Układy I/O (Input/Output), wejścia/wyjścia: komunikacja procesora
ze światem zewnętrznym.
Kanały I/O: wyspecjalizowane procesory służące komunikacji.
Kontrolery I/O, graficzne: obsługa komunikacji
Architektura komputera
n
Kanały bezpośredniego dostępu (DMA): omijanie mikroprocesora
przy transmisji danych z urządzeń zewnętrznych.
n
Łącza (porty) zewnętrzne: dołączone do układów I/O porty, np.
szeregowy (serial port), równoległy (parallel port), port USB.
n
Układy wspomagające mikroprocesor (chipset): decydują o
integracji całości.
Chipset obsługuje pamięć i złącza PCI, AGP, IDE do urządzeń
zewnętrznych.
Popularne: Intel Chipset 440BX, nowsze 815E lub 850 do płyt dla P4.
n
Zasilanie.
Architektura komputera
n
System komputerowy
n
mikroprocesor i płyta główna - różne procesory mają różne podstawki,
uwaga przy planach rozbudowy;
n
chipset obsługujący płytę główną - decyduje o typie obsługiwanego RAM i
szynie do grafiki;
n
liczba wolnych gniazd - zależy od typu obudowy i wielkości płyty;
n
porty, oprócz standardowych ile USB, czy jest i-link, port IrDa
(podczerwony);
n
pamięć RAM i pamięć podręczna L1 i L2;
n
dyski twarde, kontrolery dysków;
n
dyskietki, CD-ROM/DVD i inne napędy wymiennych nośników;
Architektura komputera
n
podsystem graficzny;
n
monitor;
n
klawiatura;
n
wskaźniki: mysz, joystick, tabliczka graficzna;
n
peryferia: kamery, dodatki.
Architektura komputera
n
Wzrost możliwości procesorów
n
Pentium I - 60 MHz, technologia 0,8 mikrona, 3 mln tranzystorów
n
Pentium IV - 2 GHz, 0,18 mikrona, 42 mln tranzystorów
n
Superkomputer IBM ASCI White
n
12 bilionów operacji na sekundę
n
512 oddzielnych komputerów (powierzchnia 2 boisk do koszykówki)
n
8.192 mikroprocesory
n
6 TB pamięci operacyjnej, 160 TB pamięci masowej
Architektura komputera
n
Prawo Moore’a (rok 1965)
wydajność procesorów podwaja się co 1,5 roku
czyli...
ok. 2020 roku nastąpi koniec ery silikonowego chipa!
n
Gęstość upakowania informacji
n
Silikonowa pamięć
kilkadziesiąt MB/cm
2
n
Pamięć bazująca na białku
1 GB/cm
2
n
struktura DNA/RNA osiąga
100 000 GB/cm
2
Architektura komputera
n
DNA Komputer
informatyk Leonard Adleman w 1994 roku rozwiązuje przy
pomocy DNA tzw. problem Hamiltona dla n=7
Problem Hamiltona czyli wędrującego komiwojażera: jak znaleźć
najkrótszą drogę, łączącą N miast odwiedzając każde tylko jeden raz?