PODSTAWY INFORMATYKI Historia Pierwszym znanym mechanizmem obliczeniowym był abakus, wynaleziony prawdopodobnie przez Babilończyków w latach pomiędzy 1000 a 500 p.n.e., 1
Użycie zera ok. 600 n.e. Indie, użycie zera jako rzeczywistej wartości wraz z koncepcją liczb ujemnych. XVIII w. - wielki matematyk szwajcarski Leonhard Euler wierzył, iż liczby ujemne są większe od nieskończoności, a powszechną praktyką było ignorowanie wyników ujemnych w równaniach przy założeniu, że nie mają one żadnego znaczenia. ok. 1614r. John Napier szkocki matematyk wynalazł narzędzie nazwane Tabliczkami Napiera, które były tablicami mnożeń wyrytymi na pasach z drewna lub z kości. wynalazł również logarytmy. W 1621r. angielski matematyk i duchowny William Oughtred użył logarytmów Napiera jako podstawy działania suwaka logarytmicznego. Suwak był wyjątkowo przydatnym narzędziem pozostającym w powszechnym użyciu przez ponad trzysta lat. 2
Maszyna Schickarda Niestety nie istnieją żadne oryginalne kopie maszyny Schickarda, Na podstawie jego notatek zbudowano działające modele, które są w posiadaniu firmy IBM. Mnożenie Dodawanie Odejmowanie 1642r. Maszyna Arytmetyczna Blaise Pascal Maszyna Arytmetyczna potrafiła jedynie dodawać, odejmowanie wykonywało się przez użycie technik dopełnieniowych, w których odejmowana liczba była najpierw zamieniana na swoje dopełnienie, a dopiero ono było następnie dodawane do liczby pierwszej. Mnożenie i dzielenie były realizowane za pomocą serii dodawań lub odejmowań. 3
1671r. Gottfried von Leibnitz wstąpił na uniwersytet w wieku lat piętnastu i stopień magistra otrzymał jako siedemnastoletni młodzieniec powiedział: Marnotrawstwem jest, aby mądry człowiek tracił godziny jak niewolnicy przy pracach rachunkowych, które można by bezpiecznie powierzyć komukolwiek o mniejszym rozumie, gdyby maszyny mogły być używane Rachmistrz Krokowy: dodawanie odejmowanie mnożenie dzielenie obliczanie pierwiastków kwadratowych przy pomocy serii dodawań. Leibniz mocno bronił stosowania binarnego systemu liczbowego, który jest podstawą działania współczesnych komputerów. Początek XIXw. Francuz, Joseph-Marie Jacquard, wynalazł metodę automatycznego sterowania układem wątku i osnowy nici na krosnach jedwabnych, która polegała na zapisie wzorów dziurek na zestawie specjalnych kart z wybitymi otworami. Perforowane karty Jacquarda: zapis muzyki (automatyczne pianina) przechowywanie programów komputerowych. 80- kolumnowa karta perforowana systemu IBM 4
1822r. Charles Babbage Maszyna Różnicowa - automatycznie wyliczała tablice logarytmów i funkcji trygonometrycznych. Ciekawostka: po ponad 150 latach zespół naukowców z Londyńskiego Muzeum Nauki zbudował, według oryginalnych planów, Maszynę Różnicową Babbage'a: kute żelazo, brąz i stali, składała się z 4000 komponentów, ważyła 3 tony, 10 stóp szerokości, 6 stóp wysokości. Pierwsza seria obliczeń początek lat 1990 wyniki z dokładnością do 31 miejsc po przecinku. 1943r. - COLOSSUS Maszyna Alana Turinga, zawierała 1800 lamp elektronowych. COLOSSUS był jednym z pierwszych na świecie działających, programowanych komputerów cyfrowych. Maszyna o specjalnym przeznaczeniu, która w rzeczywistości nadawała się do wąskiego zakresu zadań (na przykład nie potrafiła mnożyć dziesiętnie). 5
1943 1946r. ENIAC Pierwszy komputer elektroniczny ogólnego przeznaczenia wysokość 10 stóp, 1000 stóp kwadratowych podłogi ważył 30 ton, ponad 70 000 oporników, 10 000 kondensatorów, 6 000 przełączników 18 000 lamp elektronowych. 150 kw energii elektrycznej, co wystarczało do oświetlenia małego miasteczka. Ciekawostka. Dane z roku 1952 pokazują, iż tylko w tym jednym roku musiano wymienić około 19,000 lamp elektronowych, co daje średnio 50 lamp dziennie! John Eckert John Mauchly 1951r. UNIVAC I Pierwszy handlowo dostępny uniwersalny, automatyczny komputer (Universal Automatic Computer - UNIVAC I). 6
Polska myśl techniczna Odra to nazwa serii komputerów produkowanych w Zakładach Elektronicznych Elwro we Wrocławiu (zlikwidowanych po 1989r). Możliwość pracy z oprogramowaniem stworzonym przez firmy trzecie Możliwość podłączenia urządzeń peryferyjnych. Przedostatnia Odra wyszła z użycia 18 lipca 2003 po 29 latach bezawaryjnej pracy jako główna sterownia dystrybucji wrocławskiego przedsiębiorstwa Hutmen. Prawdopodobnie PKP w Ostródzie nadal używa maszyny cyfrowej Odra 1305 (ewenement na skalę całego kraju). Elwro 800 Junior 8-bitowy mikrokomputer domowy produkowany od 1986 r. przez zakłady Elwro dla szkół. wbudowany interpreter języka BASIC. w jednym z trybów pracy był programowo zgodny z Sinclair ZX Spectrum. Budowa: procesor: Z80A 3,5 MHz RAM 64 Kb, ROM 24 Kb grafika: 256 x 192 pikseli tekst: 32 (64) x 24 znaków kolory: 8 - każdy po dwa tryby jasności dźwięk: 1 kanał 10 oktaw 7
PC Ciekawostka w roku 1975 komputer mainframe IBM mogący wykonywać 10.000.000 instrukcji na sekundę kosztował około 10.000.000 $. w roku 1995 gra komputerowa, zdolna wykonywać 500.000.000 instrukcji na sekundę, była dostępna na rynku w cenie około 500$! Generacje I generacja komputery na lampach. Budowane na skalę przemysłową. Język maszynowy (lista instrukcji, z których każda jest serią binarnych liczb): 1010 0101 0000 0000 0000 1111 gdzie 1010 - rozkaz dodawania 0101 - zawartość rejestru 5 0000 0000 0000 1111 - adres miejsca w pamięci komputera w notacji szesnastkowej: A 5 000F 8
Generacje II generacja od 1949r. komputery na tranzystorach. Translatory, assembler, taśmy perforowane. Skojarzenie kolejnych komponentów instrukcji z symbolami i nazwami: 1010 0101 0000 0000 0000 1111 może być reprezentowana przez zapis gdzie ADD TAX TOTAL ADD = 1010 - dodawanie TAX = 0101 - zawartość rejestru 5 TOTAL = 0000 0000 0000 1111 - adres miejsca w pamięci komputera wymaga tzw. asemblera - programu tłumaczącego kod symboliczny na maszynowy Generacje III generacja połowa 60-tych. Układy SSI i MSI. Zmniejszenie gabarytów, zwiększenie niezawodności, długie serie. Instrukcje podobne do fraz i zdań języka naturalnego (angielskiego) if... else...then; begin...end; while; wymaga tzw. kompilatora - programu tłumaczącego kod źródłowy na maszynowy lub interpretera - programu iteracyjnie pobierającego kolejne instrukcje, tłumaczącego na kod wykonywalny i natychmiast go wykonującego rozwiązany problem przenaszalności programów (np. standard ANSI języka C) 9
Generacje IV generacja połowa 70-tych. Układy LSI i VLSI. Mikroprocesor, DOS, UNIX, Pascal, systemy oprogramowania pozwalające na interaktywne tworzenie oprogramowania, systemy CASE V generacja połowa 80-tych. Superkomputery. RISC, CISC, rozległe sieci komputerowe, języki sztucznej inteligencji (LISP, PROLOG) z wbudowanymi mechanizmami wnioskowania Narzędzia informatyki Komputery Maszyna elektroniczna (urządzenie, ang. hardware) służąca do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr, albo sygnału ciągłego. Oprogramowanie Program komputerowy, aplikacja, (ang. software) to całość informacji w postaci zestawu instrukcji, zaimplementowanych interfejsów i zintegrowanych danych przeznaczonych dla komputera do realizacji wyznaczonych celów. Cel: przetwarzanie danych w określonym przez twórcę zakresie. 10
Typy komputerów Współcześnie komputery dzieli się na: osobiste - o rozmiarach umożliwiających ich umieszczenie na biurku, używane zazwyczaj przez pojedyncze osoby mainframe - często 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. superkomputery - największe komputery o ogromnej mocy obliczeniowej, najczęściej używane do czasochłonnych obliczeń naukowych i symulacji skomplikowanych systemów. wbudowane - (lub osadzone, ang. embedded) specjalizowane komputery służące do sterowania urządzeniami z gatunku automatyki przemysłowej, elektroniki użytkowej. Przetwarzanie danych Dane Układ Wyniki Sygnały Obrazy Teksty Dźwięk Dwa sposoby Dane Specjalizowany układ cyfrowy Wyniki Dane System mikroprocesorowy Wyniki Hardware Hardware Software Program 11
Architektura komputera Elementy funkcjonalne wg von Neumann a Modularna budowa komputera klasy PC Przegląd standardów podzespołów PC Podsystem graficzny komputera PC Zarys sposobu działania komputera PC Zarys architektury systemów sieciowych Architektura wg von Neumann a Elementy funkcjonalne komputera: Procesor Pamięć operacyjna Urządzenia wejścia/wyjścia John von Neumann 12
Architektura wg von Neumann a Założenia logiczne komputera: Pamięć jest uporządkowana w sposób jednowymiarowy (komórka pamięci ma adres, wyrażony liczbą). Instrukcje i dane są przechowywane w pamięci (w postaci liczb - nierozróżnialne). Interpretacja (znaczenie) danych nie jest przechowywane wraz z nimi. Instrukcje są wykonywane sekwencyjnie. Nomenklatura Procesor Central Processing Unit (CPU) = Arithmetic/Logic Unit (ALU) + Control Unit Pamięć operacyjna Random Access Memory (RAM) Urządzenia wejścia/wyjścia Input/Output (I/O) Płyta główna Motherboard (MB) Układ sterowania Chipset Jednostka zmiennoprzecinkowa Floating Point Unit (FPU) Pamięć stała (tylko do odczytu) Read-Only Memory (ROM) 13
Modularna budowa komputera PC Standaryzacja elementów w oparciu o publicznie dostępne specyfikacje Otwarta architektura urządzeń wejścia/wyjścia Modularna budowa komputera PC Płyta główna - tablica obwodów drukowanych łączących wszystkie elementy komputera wraz ze sterującymi układami elektronicznymi i standardowymi gniazdami I/O. µ-procesor - układ scalony b. wysokiej skali integracji. Chipset - układy sterujące połączeniami płyty głównej. Pamięć RAM - w postaci modułów dołączanych do płyty głównej. Urządzenia wejścia/wyjścia - np. klawiatura, dysk twardy (pamięć masowa), karta graficzna, mysz, itp. - dołączane do płyty głównej poprzez gniazda (porty) I/O. 14
Rodziny procesorów Intel x86 (komputery PC): (koprocesory FPU: 8087, 80287, 80387) 16 bitowe: 8086/88, 80286 32 bitowe: i386, i486, Pentium, Pentium Pro, Pentium II, Celeron, Pentium III, Celeron II, Pentium IV, Xeon 64 bitowe: Itanium (architektura EPIC) AMD (zgodna z x86): 32 bitowe: AMD486, 5x86, K5, K6, Athlon, Duron Motorola 68k (komputery Apple): 68000, 68020 (16-bit), 68030, 68040, 68060 (32-bit) architektury RISC (32, 64- bitowe systemy UNIX): Alpha (DEC/Compaq), MIPS (SGI), SPARC (Sun), PA (HP), Power (IBM), PowerPC (IBM/Motorola) 15
Chipset-y Układy zarządzające komunikacją pomiędzy procesorem, pamięcią, magistralami dołączającymi urządzenia I/O W znacznym stopniu decydują o funkcjonalności komputera (możliwościach rozbudowy) Zbudowane zwykle z 2 obwodów scalonych zwanych mostkami (north and south bridge) Produkowane przez wielu producentów: Intel, AMD, VIA, ALI, SIS Pamięć RAM Statyczna Static RAM (SRAM) bardzo szybka, bardzo droga służy jako pamięć buforująca między pamięcią operacyjną i procesorem Dynamiczna Dynamic RAM (DRAM) tania pamięć wymagająca cyklicznego odświeżania (kondensatory) Synchroniczna SDRAM RAMBUS duża wydajność, wysoka cena Podwójnej wydajności Dual Data Rate (DDR), DDR2, DDR3, DDR4 Obudowy: DIP, SIP, SIMM, RIMM, DIMM 16
Magistrale wejścia/wyjścia ISA (Industry Standard Architecture) 16-bitowe złącze do obsługi starszych urządzeń PCI (Peripheral Component Interconnect) 32-bitowe standardowe złącze stosowane we współczesnych komputerach (są wersje 64- bitowe) USB (Universal Serial Bus) magistrala umożliwiająca łańcuchowe dołączanie urządzeń zewnętrznych (modemów, drukarek) Porty równoległe (Parallel Ports) Centronics Porty szeregowe (Serial Ports) RS-232C Urządzenia wejścia/wyjścia Pamięci masowe: dyskietki (FDD) dyski twarde (HDD) dyski optyczne (CD-ROM, CD-RW, DVD) napędy taśmowe (streamer y) Klawiatura Karta graficzna (i monitor) Urządzenie wskazujące (mysz) Karty sieciowe, modemy i in. 17
Pojęcia dodatkowe konsolidacja, linkowanie, scalenie binarnych fragmentów programu w jedną całość i dołączenie procedur systemowych, procedur wejścia/wyjścia, funkcji matematycznych z bibliotek systemowych i innych elementów koniecznych do działania programu. debuggery: programy, ułatwiające śledzenie wykonywania się danego programu, nazywane są debugerami, czyli odpluskwiaczami. Nazwa "debugging" powstała w 1945 roku, w elektromechanicznym komputerze Mark II były karaluchy w przekaźnikach. Koniec Dziękuję za uwagę 18