Rok akademicki /2008, Wykład nr 1 2/32 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki /2008 Wykład nr 1 (03.03.2008) Dane podstawowe dr inŝ. Jarosław aw Forenc Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, 15-351 Białystok WE-204 e-mail: jarekf@pb.edu.pl tel. (0-85) 746-93-97 http://www.we.pb.edu.pl/~jforenc Dydaktyka - slajdy prezentowane na wykładzie konsultacje: poniedziałek, godz. 10:30-12:00, WE-204 czwartek, godz. 16:50-18:20, WE-204 Rok akademicki /2008, Wykład nr 1 3/32 Rok akademicki /2008, Wykład nr 1 4/32 Przedmiot Informatyka Informatyka 1 semestr II wykład: 15 h (J. Forenc) pracownia specjalistyczna: 30 h (R. Bycul, J. Forenc, P. Myszkowski) ECTS: 4 pkt. kod przedmiotu: ES1A200 009 Informatyka 2 semestr III wykład: 15 h pracownia specjalistyczna: 30 h ECTS: 4 pkt. kod przedmiotu: ES1A300 016 Program wykładu 1. Informacja analogowa i cyfrowa. Jednostki informacji cyfrowej. 2. Arytmetyka systemów komputerowych. Systemy liczbowe. Arytmetyka stałoprzecinkowa i zmiennoprzecinkowa. Dokładność reprezentacji danych. Kodowanie informacji. Algebra Boole'a. Właściwości i podstawowe twierdzenia algebry Boole a. 3. Architektura komputerów. Budowa i zasada działania komputera. Procesor, pamięć wewnętrzna i zewnętrzna. Komunikacja z urządzeniami zewnętrznymi, interfejsy komputerowe. 4. Algorytmy. Definicja algorytmu. Klasyfikacje i sposoby przedstawiania algorytmów. ZłoŜoność obliczeniowa. 5. Języki programowania. Klasyfikacja języków programowania. Składnia. 6. Język C. Ogólna struktura programu. Kompilacja. Zmienne, typy, stałe, operatory, wyraŝenia. Instrukcje warunkowe, pętle. Tablice, łańcuchy znaków, struktury. Funkcje, przekazywanie parametrów do funkcji.
Rok akademicki /2008, Wykład nr 1 5/32 Rok akademicki /2008, Wykład nr 1 6/32 Literatura (1/2) 1. B. Pochopień: Arytmetyka systemów cyfrowych. Wydawnictwo Politechniki Śląskiej, Gliwice, 2003. 2. J. Biernat: Metody i układy arytmetyki komputerowej. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 2001. 3. J. Biernat: Architektura komputerów. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław, 2005. 4. J. Ogrodzki: Wstęp do systemów komputerowych. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 2005. 5. W. Stallings: Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność. WNT, Warszawa, 2004. 6. A.S. Tanenbaum: Strukturalna organizacja systemów komputerowych. Helion, Gliwice, 2006. Literatura (2/2) 7. K. Wojtuszkiewicz: Urządzenia techniki komputerowej. Część 1. Jak działa komputer?. PWN, Warszawa,. 8. K. Wojtuszkiewicz: Urządzenia techniki komputerowej. Część 2. Urządzenia peryferyjne i interfejsy. PWN, Warszawa,. 9. N. Wirth: Algorytmy + struktury danych = programy. WNT, Warszawa, 2004. 10. B.W. Kernighan, D.M. Ritchie: Język ANSI C. WNT, Warszawa,. 11. J. Grębosz: Symfonia C++ standard. Tom 1 i 2. Edition 2000, Warszawa, 2006. 12. K. Barteczko: Praktyczne wprowadzenie do programowania obiektowego w języku C++. Wydawnictwo Lupus, Warszawa, 1994. Rok akademicki /2008, Wykład nr 1 7/32 Rok akademicki /2008, Wykład nr 1 8/32 Zaliczenie wykładu Plan wykładu nr 1 Kolokwium pisemne Termin nr 1: ostatni tydzień semestru Termin nr 2: sesja egzaminacyjna 4 pytania, za kaŝde pytanie moŝna otrzymać od 0 pkt. do 10 pkt. Przykładowe pytania zaliczeniowe na stronie www: koniec maja 2008 Punktacja: 37 pkt. - 40 pkt. - ocena: 5 33 pkt. - 36 pkt. - ocena: 4+ 29 pkt. - 32 pkt. - ocena: 4 25 pkt. - 28 pkt. - ocena: 3+ 21 pkt. - 24 pkt. - ocena: 3 poniŝej 21 pkt. - ocena: 2 Podstawowe pojęcia: informatyka informacja Informacja analogowa i cyfrowa Jednostki informacji cyfrowej Uwaga: zaliczenie pracowni specjalistycznej nie stanowi podstaw do zaliczenia wykładu
Rok akademicki /2008, Wykład nr 1 9/32 Rok akademicki /2008, Wykład nr 1 10/32 Informatyka Informacja Informatyka (ang. computer science) Informacja - wielkość abstrakcyjna, która moŝe być: dziedzina nauki i techniki zajmująca się gromadzeniem, przetwarzaniem i wykorzystywaniem informacji w języku polskim termin informatyka zaproponował w październiku 1968 r. prof. Romuald Marczyński na konferencji poświęconej maszynom matematycznym wzorem nazwy były francuskie informatique i niemieckie Informatik przechowywana w pewnych obiektach przesyłana pomiędzy pewnymi obiektami przetwarzana w pewnych obiektach stosowana do sterowania pewnymi obiektami Dane - surowe fakty i liczby Informatykę moŝna rozpatrywać jako: samodzielną dyscyplinę naukową narzędzie wykorzystywane przez inne nauki gałąź techniki przemysł wytwarzający sprzęt i oprogramowanie Przetwarzanie danych - logicznie ze sobą powiązany zespół czynności pozwalających na uzyskanie z danych niezbędnych informacji Dane + Interpretacja = Informacja Rok akademicki /2008, Wykład nr 1 11/32 Rok akademicki /2008, Wykład nr 1 12/32 Informacja Informacja analogowa i cyfrowa Co oznaczają poniŝsze dane? Sygnał analogowy sygnał, który moŝe przyjmować dowolną wartość z ciągłego przedziału (nieskończonego lub ograniczonego zakresem zmienności) wartości sygnału analogowego mogą zostać określone w kaŝdej chwili czasu dzięki funkcji matematycznej opisującej dany sygnał Sygnał cyfrowy 15 lipca 1410 roku Data!!! sygnał, którego dziedzina i zbiór wartości są dyskretne sygnał ciągły, który moŝe zmieniać swoją wartość tylko w określonych chwilach czasu i moŝe przyjmować tylko określone wartości
Rok akademicki /2008, Wykład nr 1 13/32 Rok akademicki /2008, Wykład nr 1 14/32 Informacja analogowa i cyfrowa Informacja analogowa i cyfrowa - próbkowanie Obecnie telekomunikacja i elektronika powszechnego uŝytku zostały prawie całkowicie zdominowane przez cyfrowe przetwarzanie sygnałów Próbkowanie - proces tworzenia sygnału impulsowego reprezentującego sygnał ciągły (analogowy) Cyfrowe przetwarzanie sygnałów jest w stosunku do przetwarzania analogowego: powtarzalne bardziej niezawodne tańsze Zamiana sygnału analogowego na cyfrowy wymaga wykonania dwóch kroków: w ustalonych odstępach czasu mierzona jest wartość chwilowa sygnału i na jej podstawie tworzone są tzw. próbki (ang. sample) sygnał przekształcony do postaci spróbkowanej jest nazywany sygnałem dyskretnym próbkowania kwantowania T S - okres próbkowania f S - częstotliwość próbkowania f S = 1 / T S Rok akademicki /2008, Wykład nr 1 15/32 Rok akademicki /2008, Wykład nr 1 16/32 Informacja analogowa i cyfrowa - próbkowanie Informacja analogowa i cyfrowa - kwantyzacja Przekształcenie powrotne sygnału cyfrowego do analogowego, bez straty informacji, wymaga spełnienia twierdzenia o próbkowaniu Twierdzenie Kotielnikowa-Shannona (o próbkowaniu) Sygnał ciągły moŝe być ponownie odtworzony z sygnału dyskretnego, jeśli był próbkowany z częstotliwością co najmniej dwa razy większą od granicznej częstotliwości swego widma Systemy cyfrowe są w stanie przetwarzać tylko sygnały reprezentowane słowami o skończonej liczbie bitów Taka reprezentacja wymaga ograniczenia zbioru wartości sygnału - wartości te nazywane są poziomami reprezentacji Przykład: człowiek słyszy dźwięki do częstotliwości ok. 20 khz Kwantyzacja to proces polegający na przypisaniu wartości analogowych do najbliŝszych poziomów reprezentacji według powyŝszego prawa częstotliwość zapisu cyfrowego musi być większa niŝ 40 khz po to, aby nie były słyszalne przekłamania z powyŝszego powodu dla płyt CD-Audio przyjęto częstotliwość próbkowania 44,1 khz dla kaŝdego kanału
Rok akademicki /2008, Wykład nr 1 17/32 Rok akademicki /2008, Wykład nr 1 18/32 Idea działania ania układ adów w cyfrowych Zalety występowania tylko dwóch stanów w logicznych W układach cyfrowych wszelka informacja i wszelkie wielkości przetwarzane przez te układy reprezentowane są przez dwa stany: Prosta realizacja układów elektronicznych wykonujących przetwarzanie informacji stan niski (L), nazywany teŝ poziomem logicznym niskim lub zerem (0) stan wysoki (H), nazywany teŝ poziomem logicznym wysokim lub jedynką (1) W praktycznej realizacji układów cyfrowych naleŝy określić jakie wartości lub zakresy wartości oznaczają poziom logiczny niski lub wysoki Na rysunku przedstawione są poziomy logiczne dla układów cyfrowych TTL Zakresy wartości mogą być róŝne dla róŝnych wykonań układów cyfrowych elementy półprzewodnikowe mają duŝe rozrzuty swoich parametrów, co wymaga stosowania odpowiednich rozwiązań - w układach cyfrowych jest to znacznie prostsze niŝ w układach analogowych w konsekwencji moŝliwa jest większa gęstość upakowania i niŝsza cena Łatwość transmisji i odporność na zakłócenia prostsze przesyłanie i regenerowanie informacji cyfrowej niŝ analogowej moŝliwość stosowania kodów korekcyjnych (np. płyty CD) Łatwość konstruowania układów pamiętających o duŝych pojemnościach własność wynikająca z punktu pierwszego Rok akademicki /2008, Wykład nr 1 19/32 Rok akademicki /2008, Wykład nr 1 20/32 Jednostki informacji - bit Jednostki informacji - bajt Bit (ang. binary digit) - jednostka logiczna, określająca najmniejszą ilość informacji potrzebną do stwierdzenia, który z dwóch równie prawdopodobnych stanów przyjął układ Bajt (ang. byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, składająca się z bitów - w praktyce przyjmuje się, Ŝe jeden bajt to 8 bitów (choć to nie wynika z powyŝszej definicji) Bit przyjmuje jedną z dwóch wartości: 0 (zero) i 1 (jeden) - bit jest zatem toŝsamy z cyfrą w systemie dwójkowym 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Bity oznacza się mała literą b Wielokrotności bitów - przedrostki dziesiętne w układzie SI Aby uniknąć niejednoznaczności, jednostka składająca się z ośmiu bitów zwana jest równieŝ oktetem W pierwszych komputerach bajt mógł mieć równieŝ 4, 6, 7, 9 czy 12 bitów Ośmiobitowy bajt po raz pierwszy pojawił się pod koniec 1956 roku, a został rozpowszechniony i uznany za standard w 1964 r. po tym jak IBM wprowadził System/360 Najczęściej stosowanym skrótem dla bajtu jest wielka litera B
Rok akademicki /2008, Wykład nr 1 21/32 Rok akademicki /2008, Wykład nr 1 22/32 Jednostki informacji - tetrada Jednostki informacji - bajt Bajt 8-bitowy moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles) RozróŜniamy mniej znaczącą (dolną) i bardziej znaczącą (górną) tetradę Wielokrotności bajtów Nazwa Symbol MnoŜnik bajt B 10 0 Nazwa Symbol MnoŜnik petabajt PB 10 15 kilobajt KB/kB 10 3 eksabajt EB 10 18 megabajt MB 10 6 zettabajt ZB 10 21 gigabajt GB 10 9 jottabajt YB 10 24 terabajt TB 10 12 brontobajt BB > 1024 YB Spotyka się teŝ określenie strefa i cyfra - strefą nazywa się górną tetradę, cyfrą - dolną tetradę Stosowanie przedrostków kilo, mega, giga i tera (oraz większych) w tej terminologii jest niezgodne z określeniami układu SI - jest to częstym źródłem nieporozumień zwłaszcza co do faktycznej pojemności dysków oraz prędkości urządzeń sieciowych (podawanych w bitach) Rok akademicki /2008, Wykład nr 1 23/32 Rok akademicki /2008, Wykład nr 1 24/32 Jednostki informacji - inne spotykane oznaczenia TOP 500 Supercomputer Sites bps FLOPS MIPS bit na sekundę (ang. bps - bit per second) - jednostka natęŝenia strumienia danych w medium transmisyjnym oraz jednostka przepustowości, czyli maksymalnej ilość informacji jaka moŝe być przesyłana przez dany kanał telekomunikacyjny w jednostce czasu, inne jednostki: kb/s, Mb/s (Mbit/s), Gb/s FLoating point Operations Per Second - jednostka wydajności komputerów, a dokładniej wydajności układów realizujących obliczenia zmiennoprzecinkowe, określająca liczbę operacji zmiennoprzecinkowych na sekundę najszybszy komputer równoległy na świecie, IBM Blue Gene/P ma wydajność ok. 1 PFLOPS-a, czyli biliard operacji zmiennoprzecinkowych na sekundę Million Instructions Per Second - miara wydajności jednostki centralnej CPU komputera, określająca 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) http://www.top500.org lista 500 komputerów o największej mocy obliczeniowej publikowana od czerwca 1993 r. publikowana dwa razy w roku - w czerwcu i w listopadzie kolejność komputerów określana jest na podstawie wyników testu LINPACK Benchmark na liście umieszczane są komputery ogólnego przeznaczenia, czyli takie, które umoŝliwiają rozwiązanie szerokiego zakresu problemów na liście nie są umieszczane komputery specjalnie skonstruowane pod kątem testu LINPACK Benchmark
Rok akademicki /2008, Wykład nr 1 25/32 Rok akademicki /2008, Wykład nr 1 26/32 TOP 500 - LINPACK Benchmark 30th TOP 500 (Listopad ) - Miejsca 1-51 test LINPACK Benchmark opracował Jack Dongarra opis testu: http://www.netlib.org/benchmark/performance.ps równoległa wersja testu LINPACK Benchmark i instrukcja uruchomienia: http://www.netlib.org/benchmark/hpl/ Rank 1. Site DOE/NNSA/LLNL Manufacturer IBM Computer eserver Blue Gene Solution Country USA Year Proc. 212992 Rmax 478200 Rpeak 596378 test polega na rozwiązaniu gęstego układu równań liniowych 2. Forschungszentrum Juelich (FZJ) IBM Blue Gene/P Solution Germany 65536 167300 222822 3. SGI/New Mexico Computing Applications Center (NMCAC) SGI SGI Altix ICE 8200, Xeon quad core 3.0 GHz USA 14336 126900 172032 4. 5. Computational Research Laboratories, TATA SONS Government Agency HP HP Cluster Platform 3000 BL460c, Xeon 53xx 3GHz, Infiniband Cluster Platform 3000 BL460c, Xeon 53xx 2.66GHz, Infiniband India Sweden 14240 13728 117900 102800 170880 146430 Rok akademicki /2008, Wykład nr 1 27/32 Rok akademicki /2008, Wykład nr 1 28/32 eserver Blue Gene, producent: IBM, rok instalacji: Lawrence Livermore National Laboratory, USA - http://www.llnl.gov LLNL powstało w 1952 r. zarządzane przez Uniwersytet Kalifornijski podlega administracji rządowej USA nadzorowane przez Krajowy Urząd ds. Bezpieczeństwa Jądrowego (National Nuclear Security Administration - NNSA) Departamentu Energii Stanów Zjednoczonych (Department of Energy - DOE) prace badawcze: broń atomowa dynamika molekularna modelowanie struktur białkowych liczba pracowników: ok. 8000
Rok akademicki /2008, Wykład nr 1 29/32 Rok akademicki /2008, Wykład nr 1 30/32 liczba procesorów: 106 496 (dwurdzeniowe PowerPC 440, 700 MHz) pamięć operacyjna: 73 728 GB (512 MB - 67% of nodes, 1 GB - 33%) Rmax = 478 200 GFlops, Rpeak = 596 378 GFlops zajmuje powierzchnię 232 m 2 zasilanie: 1,5 MW koszt: ok. 100 mln dolarów Konstrukcja komputera BlueGene/L (przed rozbudową) źródło: A.S. Tanenbaum: Strukturalna organizacja systemów komputerowych. Wydanie V. Helion, Gliwice, 2006. Rok akademicki /2008, Wykład nr 1 31/32 Rok akademicki /2008, Wykład nr 1 32/32