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