(Microsoft PowerPoint - Wyk\263ad7 [tryb zgodno\234ci])
Transkrypt
(Microsoft PowerPoint - Wyk\263ad7 [tryb zgodno\234ci])
2012-12-19 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 2012-12-19 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 2012-12-19 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 2012-12-19 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 2012-12-19 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 2012-12-19 1943 – 1946r. ENIAC Pierwszy komputer elektroniczny ogólnego przeznaczenia John Eckert • wysokość 10 stóp, • 1000 stóp kwadratowych podłogi • ważył 30 ton, John Mauchly • 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! 1951r. – UNIVAC I Pierwszy handlowo dostępny uniwersalny, automatyczny komputer (Universal Automatic Computer - UNIVAC I). 6 2012-12-19 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 2012-12-19 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 2012-12-19 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 ADD TAX TOTAL gdzie 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 2012-12-19 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 Superkomputery. – połowa 80-tych. 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 2012-12-19 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 Wyniki Układ Sygnały Obrazy Teksty Dźwięk Dwa sposoby Wyniki Dane Dane Hardware Wyniki System mikroprocesorowy Specjalizowany układ cyfrowy Hardware Software Program 11 2012-12-19 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 John von Neumann • Pamięć operacyjna • Urządzenia wejścia/wyjścia 12 2012-12-19 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 2012-12-19 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 2012-12-19 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 2012-12-19 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 2012-12-19 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 64bitowe) • 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 2012-12-19 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