Cel wykładu Cel wykładu Cel wykładu, cd Cel wykładu, cd Cel
Transkrypt
Cel wykładu Cel wykładu Cel wykładu, cd Cel wykładu, cd Cel
H H C H H C H Prof. dr hab. Zbigniew Postawa Zakład Fizyki Nanostruktur i Nanotechnologii H pok. 16 (nie 016!) Tel. 5626 e-mail: [email protected] Sala 057, poniedziałek 1605 Bez egzaminu Cel wykładu Podstawowe pojęcia informatyki, które każdy z nas powinien znać • Skróty: PCI, SATA, PCMCIA, DDR3, itd. • Terminologia: np. procesor dwurdzeniowy, dwuwątkowy, netbook, notebook a stacja robocza, itd.. • Technologia: Jak to z grubsza działa? Cel wykładu Obsługa użytecznych programów komputerowych: Cel wykładu, cd Opracowywanie wyników Prezentacja wyników Pakiet Office2010 •zasady przygotowania dobrego raportu/publikacji – czym i jak? – Word •Jak powinien wyglądać dobry wykres? – Origin • Jak ułatwić sobie życie na algebrze i analizie? Mathematica • zasady przygotowania dobrej prezentacji – PowerPoint • zasady publikacji w sieci WWW - WebMajster Cel wykładu, cd Prezentacja wyników, cd • Jak zrobić dobry plakat/poster? – CorelDraw/Powerpoint •Jak zobrazować mikro i nanostruktury? Cel wykładu, cd Sieci komputerowe - bezpieczeństwo w sieci, usługi sieciowe, sieci społecznościowe, itd.. Nowoczesne metody programowania: programowanie równoległe – OpenMP, MPI •Programy do wizualizacji struktur – gopenmol, VMD • Program do tworzenia kryształów CrystalMaker • Wizualizacja trójwymiarowa - PovRay Z. Postawa, "Podstawy Informatyki II" Strona: 1 z 6 Wymagania Podstawowe funkcje systemu operacyjnego Zaliczenie Obecność i aktywność na ćwiczeniach • uruchamianie programów i kontrola nad nimi Przygotowanie samodzielnych projektów • sterowanie pracą i współdziałaniem urządzeń wchodzących w skład komputera Co jest potrzebne? Konto w systemie WINDOWS i Linux BIOS – Basic Input/Output System – wbudowana część systemu operacyjnego określająca, co komputer może zrobić bez uruchamiania programów na dysku. Co to jest informatyka ? Nauka o przetwarzaniu informacji za pomocą automatycznych środków technicznych Narzędzia informatyki Komputery Oprogramowanie INFORMACJA Wielkość abstrakcyjna, która może być przechowywana w pewnych obiektach, przesyłana pomiędzy obiektami, przetwarzana w pewnych obiektach i stosowana do sterowania pewnymi obiektami, przy czym przez obiekty rozumie się organizmy żywe, urządzenia techniczne oraz systemy takich obiektów. Urządzenie elektroniczne realizujące proces przetwarzania informacji w postaci ciągu operacji arytmetyczno-logicznych. Rodzaje komputerów Narzędzia informatyki Komputery Oprogramowanie Osobiste - stacjonarne i przenośne Może trochę szybsze i bardziej niezawodne elementy ? Cena Stacje robocze A gdybyśmy chcieli mieć jeden bank danych i programów ? Urządzenie elektroniczne realizujące proces przetwarzania informacji w postaci ciągu operacji arytmetyczno-logicznych. Oprogramowanie Algorytm - sposób rozwiązania danego problemu Program - zakodowany binarnie algorytm, który steruje pracą procesora System operacyjny – zbiór programów ułatwiających eksploatację komputera Szybkie połączenia sieciowe, duże rozmiary pamięci, niezawodność -> cena Serwery Rodzaje komputerów, cd To może połączmy ze sobą wiele procesorów i podzielmy dane zadanie pomiędzy nie ? Cena Superkomputery (Mainframe) To może połączmy ze sobą wiele mniejszych komputerów? Bardzo szybka sieć Klastry komputerowe (klastry typu Beowolf) To może zbudujmy komputer, który będzie wykonywał tylko jedno zadanie? Bardzo drogie Komputery specjalne Z. Postawa, "Podstawy Informatyki II" Strona: 2 z 6 Jednostki informacji Jednostki informacji 1kilobajt, ile to właściwie jest ? Najmniejszą jednostką informacji jest bit Bit przyjmuje wartość 0 lub 1 Bajt 1 bajt (byte) =8 bitów 1 bajt (byte) ? 1 słowo 1 słowo = 2 bajty Terabajt Kilobajt 1 słowo (word) = 16 bitów Gigabajt Megabajt Kodowanie liczb i znaków Jednostki informacji Liczby binarne Liczby całkowite W informatyce nazwy przedrostków nie odpowiadają tym w układzie SI 1kbajt [KB]=210 bajta= 1024 bajty 1Mbajt [MB]=1024 KB=1048576 bajty 1000101 69 Liczby binarne Liczby dziesiętne ?????? 1.2 1 Gbajt = 1024 MB = 1073741824 1 Tbajt [TB] = 1024 GB Niektórzy producenci podają wielkości pamięci, czy też pojemność dysków używając przedrostków z układu SI Liczby binarne Znaki alfanumeryczne ?????? A Jak zapisać liczby całkowite ? Jednostki informacji Kod dwójkowy Nazwa Symbol Mnożnik Nazwa Symbol Mnożnik Słowo n-bitowe Gigabajt terabajt petabajt eksabajt zettabajt jottabajt GB TB PB EB ZB YB 109 1012 1015 1018 1021 1024 gibibajt GiB 230 Słowo 8 bitowe tebibajt pebibajt eksbibajt zebibajt jobibajt TiB PiB EiB ZiB YiB 240 250 260 270 280 X = xn-1.......x1x0 10010011 Takie słowo reprezentuje liczbę z przedziału od 0 do 2n-1 Czyli dla n=8 0 - 255 na jednym bajcie Czyli dla n=16 0 - 65535 na dwóch bajtach Czyli dla n=24 0 - 16777216 na trzech bajtach Czyli dla n=64 0 – 1.8447x1019 na ośmiu bajtach Przedrostki (190)DEC YB(Jotabajt)=1024 ZB BB(Brontobajt)= 1024 YB SB(Saganbajt)= 1024 BB PB(Pijabajt)= 1024 SB Z. Postawa, "Podstawy Informatyki II" 190 : 2 95 : 2 47 : 2 23 : 2 11 : 2 5:2 2:2 1:2 = 95 = 47 = 23 = 11 = 5 = 2 = 1 = 0 Reszta = 0 Reszta = 1 Reszta = 1 Reszta = 1 Reszta = 1 Reszta = 1 Reszta = 0 Reszta = 1 1 0 1 1 1 1 1 0 190 = ( 1 0 1 1 1 1 1 0 )BIN Strona: 3 z 6 A jak zapisać liczby rzeczywiste ? A jak to odzyskać ? Zapis poprzez podanie dwóch elementów: • mantysy • wykładnik ( 1 0 1 1 1 1 1 0 )BIN x ( 27 26 25 24 23 22 21 20)BIN mantysa wykładnik X2 Dokładność zależy od liczby bitów przypisanych poszczególnym elementom 128+0+32+16+8+4+2+0 = 190 Wykładnik jest zapisywany w tzw. kodzie z nadmiarem wykładnik = zapisana wartość binarna wykładnika - nadmiar Kod uzupełnień do dwu U2 Liczby całkowite ze znakiem Liczbę z przedziału od -2n-1 do Standard IEEE745 Pojedyncza precyzja: 2n-1-1 mantysa 23 bity, wykładnik 8 bitów (nadmiar 127), znak 1 bit Czyli dla n=8 -128 do 127 na jednym bajcie Czyli dla n=16 -32768 do 32767 na dwóch bajtach n-2 Wartość słowa K(L) = -2 n-1 . x n-1 + i=0 Wartość: 1/2 2i . Xi xn – wartość n-tego pola w zapisie binarnym Liczba ujemna = zanegowana binarnie liczba dodatnia + 1 -L = ~L + 1 1/4 1/8 1/32 1/16 1/64 itd. 1/223 Mantysa jest znormalizowana do podstawy wykładnika (w naszym przypadku do 2) Konwencja W mantysie używamy jedynki wiodącej (patrz przykład) Standard IEEE745 Przykład (słowo 8-bitowe) Procedura zapisu: 1) Określamy znak: Bit31= 1 jeżeli liczba ujemna, 0 jeżeli dodatnia Liczba 2 binarnie 2) Szukamy największej liczby postaci 2w mniejszej niż liczba 00000010 3) Zapisujemy wykładnik = w + nadmiar Jedynak wiodąca 4) Dzielimy liczbę przez 2w (wynik będzie miał postać 1.xxxx) Zanegowana liczba 2 binarnie 5) Odejmujemy 1 i szukamy mantysy 11111101 6) Zaznaczmy bit jako 1 jeżeli po odjęciu 1/2(bit+1) mamy wartość dodatnią. Jeżeli otrzymamy wartość ujemną, to zaznaczmy bit jako 0 i ignorujemy tę operację. Procedurę powtarzamy aż do momentu, gdy w wyniku odejmowania otrzymamy 0 lub dojdziemy do bitu nr 22 (pojedyncza precyzja). Zanegowana liczba 2 binarnie +1 11111110 Jak to odzyskać (słowo 8-bitowe) Standard IEEE745 Przykład - jak zapisać liczbę 14.5 ? n-2 K(L) = -2 n-1 . xn-1 + i=0 2i . Xi 11111110 -128+64+32+16+8+4+2+0=-2 n=8 1) liczba dodatnia Bit31 = 0 2) Największa liczba 2w mniejsza niż 14.5 to 23 = 8 w=3 3) Zapisujemy wykładnik = 127 + w = 130 100000010 4) 14.5 / 23 = 1.8125 5) odejmujemy 1 i otrzymujemy 0.8125 0.8125-1/2=0.3125 Bit22 = 1 0.3125-1/4=0.0625 Bit21 = 1 0.0625-1/8= -0.0625 Bit20 = 0 ignorujemy operację 0.0625-1/16= 0.0 Bit21 = 1 Pozostałe bity mantysy = 0 znak Z. Postawa, "Podstawy Informatyki II" 01000001011010000000000000000000 zapisany mantysa wykładnik Strona: 4 z 6 Standard IEEE745 Standard IEEE745 Zakres Pojedyncza precyzja: mantysa 23 bity, potęga 8 bitów, znak 1 bit, nadmiar 28/2 - 1 = 127 Podwójna precyzja: mantysa 52 bity, potęgą 11 bitów, znak 1 bit, nadmiar 211/2 - 1 = 1023 (największa i najmniejsza liczba możliwa do zapisania) Największa liczba Rozszerzona podwójna precyzja (mantysa – 64bity, potęga 15bitów) Największy wykładnik = 16383 Największa mantysa (265 -1)/264 Rozszerzona podwójna precyzja: mantysa 64 bity, potęga 15 bitów (nadmiar 264/2 - 1 = =16383), znak 1 bit – koprocesor arytmetyczny Pentium Liczba = (265 -1)/264 * 216383 Liczba ≈ 103114 Standard IEEE745 Standard IEEE745 Precyzja - liczba miejsc po przecinku Pewne wartości wykładnika i mantysy są zarezerwowane Jest określana przez mantysę Najmniejsza wartość możliwa do zapisania w mantysie Np. przypadek, gdy Pojedyncza precyzja Mantysa ma 23 bity 1/223 ≈ 1.2* 10-7 7 cyfr po przecinku wszystkie bity mantysy są równe 0, a wykładnik różny od 0 oznacza nieskończoność Podwójna precyzja Mantysa ma 52 bity 1/252 ≈ 2.2* 10-16 15-16 cyfr po przecinku Rozszerzona podwójna precyzja Mantysa ma 64 bity 1/264 ≈ 5.4* 10-20 19 cyfr po przecinku Standard IEEE745 Standard IEEE745 Zakres Operacje arytmetyczne (największa i najmniejsza liczba możliwa do zapisania) x1 = m1 * 2w1 Największa liczba Największa mantysa (224 -1)/223 Liczba = (224 -1)/223 * x1 + x2 = (m1 + m2 * Liczba ≈ 3,4 *1038 Standard IEEE745 Zakres (największa i najmniejsza liczba możliwa do zapisania) Największa liczba Podwójna precyzja (mantysa – 52bity, potęga 11bitów) Największy wykładnik = 1023 Największa mantysa (253 -1)/252 Liczba = (253 -1)/252 * 21023 Liczba ≈ 1,797693134862315 *10308 Nowa mantysa 2(w2-w1))*2w1 Renormalizacja mantysy m2 Przykład 103.455 = 1.03455 x 102 + 3.23456 = 0.03234 x 102 2127 Liczba ≈ 3,4028234 *1038 w1 > w2 Dodawanie Pojedyncza precyzja (mantysa – 23bity, potęga 8bitów) Największy wykładnik = 127 x2 = m2 * 2w2 Tracimy 1.06689 x 102 Odejmowanie x1 - x2 = (m1 - m2 * 2(w2-w1))*2w1 Standard IEEE745 Operacje arytmetyczne x1 = m1 * 2w1 x2 = m2 * 2w2 Mnożenie x1 * x2 = (m1 * m2)* 2(w1+w2) 253.17 = 2.5317 x 102 8.2354 = 8.2354 x 100 20.84956218 x 10(2+0) 20.8496 x 102 2.08496 x 103 Tracimy rzeczywisty wynik po zaokrągleniu po normalizacji Dzielenie Liczba ≈ 1,8 *10308 Z. Postawa, "Podstawy Informatyki II" x1 / x2 = (m1 / m2)* 2(w1-w2) Strona: 5 z 6 Standard IEEE745 Kod UNICODE Operacje arytmetyczne Problemy 103.455 = 1.03455 x 102 3.23456 = 0.03234 x 102 Tracimy 2 cyfry 1.06689 x 102 Jeszcze gorzej z odejmowaniem podobnych liczb 123457.1467 = 1.234571 x 105 123456.6590 = 1.234567 x 105 0.000004 x 105 4.000000 x 10-1 po zaokrągleniu i normalizacji Nic nieznaczące cyfry Operacje arytmetyczne na liczbach binarnych Dodawanie 256 znaków alfanumerycznych jakie można zakodować za pomocą rozszerzonego kodu ASCII nie dawało możliwości zakodowania znaków diakrytycznych wielu języków np.: polskiego, japońskiego, arabskiego, itp. Odpowiedzią jest kod nazywany UNICODE o długości 16 bitów dla każdego znaku, a to daje już możliwość zakodowania 216 czyli 65536 znaków Co za tydzień ? Odejmowanie 00000011 - 00000101 00000011 + 00000101 00001000 = 810 11111110 = -210 Dzielenie Mnożenie 00001011 / 00000010 00000011 * 00000101 00000011 00000000 + 00000011 00001111 = 1510 Elementy komputera: Procesor Pamięć Magistrale Urządzenia pamięci Porty Nie można, więc piszemy 0 A jak zapisać znaki alfanumeryczne ? Kod ASCII (American Standard Code for Information Interchange) Powstał w 1965 r Literom tekstu przyporządkowano liczby Jest to kod 7 bitowy, a więc możemy za jego pomocą przedstawić 27 czyli 128 znaków. W 1981r. IBM wprowadził rozszerzony do 8 bitów kod, co pozwala na przedstawienie 256 znaków (w tym znaki specjalne, graficzne, matematyczne i diakrytyczne znaki narodowe) Fragment tablicy kodu ASCII Znak Kod dzies. A B C K L ź ¦ + 65 66 67 75 76 171 179 188 Kod binarny Znak Kod dzies. Kod binarny 01000001 01000010 01000011 01001011 a 97 98 99 107 00110001 00110010 00110011 01101011 108 189 01101100 10111101 198 196 11000110 11000100 b c k 01001100 l 10101011 Ż 10110011 Ă 10111100 - Używany przez wszystkich użytkowników i twórców oprogramowania Z. Postawa, "Podstawy Informatyki II" Strona: 6 z 6