Architektura systemów komputerowych

Podobne dokumenty
Kodowanie informacji. Elementy teorii informacji.

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

1.1. Pozycyjne systemy liczbowe

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Plan wyk ladu. Kodowanie informacji. Reprezentacja binarna. Reprezentacja liczb. Reprezentacja liczb. prof. dr hab. inż.

Pracownia Komputerowa wyk ad V

Pracownia Komputerowa wykład IV

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Pracownia Komputerowa wyk ad IV

Podstawy Informatyki

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Systemy zapisu liczb.

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Pracownia Komputerowa wyk ad VI

Pracownia Komputerowa wykład V

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

Naturalny kod binarny (NKB)

Pozycyjny system liczbowy

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Pracownia Komputerowa wykład VI

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Teoretyczne Podstawy Informatyki

Technologie Informacyjne

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

PODSTAWY INFORMATYKI. Informatyka? - definicja

Kodowanie liczb całkowitych w systemach komputerowych

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Architektura komputerów

Arytmetyka binarna - wykład 6

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Wprowadzenie do informatyki - ć wiczenia

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Pracownia komputerowa. Dariusz Wardecki, wyk. VI

Zapis liczb binarnych ze znakiem

Wstęp do Informatyki

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

1259 (10) = 1 * * * * 100 = 1 * * * *1

Techniki multimedialne

Metoda znak-moduł (ZM)

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Kod U2 Opracował: Andrzej Nowak

Kodowanie informacji. Kody liczbowe

Technologie Informacyjne Wykład 4

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Wprowadzenie do informatyki - ć wiczenia

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Architektura komputerów

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Cyfrowy zapis informacji

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

SYSTEMY LICZBOWE 275,538 =

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Stan wysoki (H) i stan niski (L)

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

architektura komputerów w. 2

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

W jaki sposób użyć tych n bitów do reprezentacji liczb całkowitych

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 1 Systemy liczbowe

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Pracownia komputerowa. Dariusz Wardecki, wyk. V

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Reprezentacja symboli w komputerze. Liczby całkowite i zmiennoprzecinkowe. Programowanie Proceduralne 1

Podstawy Informatyki

Podstawy Informatyki dla Nauczyciela

Podstawy Informatyki Maszyna Turinga

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Kodowanie informacji. Przygotował: Ryszard Kijanka

Systemy liczenia. 333= 3*100+3*10+3*1

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

ARYTMETYKA KOMPUTERA

Systemy liczbowe używane w technice komputerowej

1. Reprezentacja danych w komputerze

Systemy liczbowe. Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

Informatyka 1. Wykład nr 5 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

LICZBY ZMIENNOPRZECINKOWE

Transkrypt:

Architektura systemów komputerowych Grzegorz Mazur Zak lad Metod Obliczeniowych Chemii Uniwersytet Jagielloński 12 kwietnia 2011 Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 1 / 35

Wyk lad 1 Informacja. Kodowanie. Maszyna Turinga Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 2 / 35

Plan Wst ep 1 Wst ep 2 Systemy liczbowe 3 Informacja 4 Reprezentacja i typy danych 5 Kodowanie danych 6 Obliczalność Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 3 / 35

Organizacja Wst ep Kontakt Grzegorz Mazur <mazur@chemia.uj.edu.pl> Marcin Makowski <makowskm@chemia.uj.edu.pl> Zaj ecia 15 godzin wyk ladu (5 x 3h) 15 godzin ćwiczeń (5 x 3h) Zaliczenie przedmiotu zaliczenie ćwiczeń (obecność + test zaliczniowy) egzamin pisemny Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 4 / 35

Systemy liczbowe Systemy liczbowe Definicja System liczbowy to zbiór regu l umożliwiajacych przedstawienie liczb za pomoc umownych znaków Definicja Cyfry to znaki za pomoca których zapisuje sie liczby Systemy liczbowe niepozycyjne: jedynkowy, rzymski,... pozycyjne: dwójkowy, ósemkowy, dziesi etny, szesnastkowy,... Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 5 / 35

Systemy liczbowe Typowe systemy pozycyjne Podstawa: k Cyfry: a i {0, 1, 2,..., k 1} Zapis: a n 1 a n 2... a 1 a 0. a 1 a 2... a m Liczba: d = n 1 i= m ki a i Q [0, k n 1] Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 6 / 35

Systemy liczbowe Typowe systemy pozycyjne (c.d.) Przyk lad dziesi etny dwójkowy ósemkowy szesnastkowy 1 1 1 1 1.625 1.101 1.5 1.A 7 111 7 7 14 1110 16 E Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 7 / 35

Informacja Twierdzenie Shannona Twierdzenie Wiadomość (znak, zdarzenie) zawiera tym wiecej informacji, im mniejsze jest prawdopodobieństwo jej wystapienia Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 8 / 35

Miara informacji Informacja informacja jest ciag l a, nieujemna, monotonicznie rosnac a funkcja odwrotności prawdopodobieństwa informacja o niezależnym wystapieniu dwóch wiadomości o prawdopodobieństwach p i i p k powinna być suma poszczególnych informacji o wystapieniu każdej z wiadomości informacja wynikajaca ze zdarzenia pewnego jest zerowa I (p) = log a p Wybór a = 2 prowadzi do pomiaru ilości informacji w bitach. Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 9 / 35

Entropia Informacja Definicja Niech zdarzenie Y może przynieść k różnych wyników {Y i }. Niech prawdopodobieństwo wyniku Y i wynosi P(Y i ). Wielkość H(Y ) zdefiniowana jako H(Y ) = k P(Y i )log(p(y i )) i=1 nazywamy entropia zdarzenia Y. Entropia zdarzenia stanowi miare oczekiwanej nieokreśloności zdarzenia im bardziej równomierny rozk lad prawdopodobieństw wyników tym wi eksza entropia im wi ecej możliwych wyników tym wi eksza entropia Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 10 / 35

Reprezentacja danych Reprezentacja i typy danych dane reprezentowane sa przez sekwencje bitów sekwencje bitów interpretowane sa w kategoriach wewnetrznych typów danych wewnetrzne typy danych określone poprzez: dziedzine możliwe do wykonania operacje Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 11 / 35

Reprezentacja i typy danych Wybrane wewn etrzne typy danych liczby ca lkowite znaki u lamki Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 12 / 35

Reprezentacja i typy danych Liczby ca lkowite, znaki liczby ca lkowite skończony podzbiór Z operacje daja dok ladne wyniki możliwy nadmiar reprezentacje: NB, znak - modu l, U2, U1 znaki: bijekcja ze skończonym podzbiorem N Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 13 / 35

Reprezentacja i typy danych U lamki skończony podzbiór Q nie wszystkie liczby wymierne z zadanego zakresu moga być reprezentowane operacje nie zawsze daja dok ladne wyniki reprezentacje: sta lopozycyjna, zmiennopozycyjna możliwy nadmiar i niedomiar Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 14 / 35

Reprezentacja binarna Kodowanie danych Definicja Znak binarny to zmienna przyjmujaca jedna z dwóch wartości umownie oznaczonych jako 0 i 1 Wektory znakowe 1-elementowy: bit 8-elementowy: bajt 16-elementowy: s lowo 16-bitowe 32-elementowy: s lowo 32-bitowe Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 15 / 35

Kodowanie danych Kody znakowe Definicja Tablica wartości znaków to odwzorowanie znaków pisarskich na liczby ca lkowite. Definicja Binarny kod wartości znaku to reprezentacja (w postaci 1 bajtu lub sekwencji bajtów) liczby ca lkowitej odpowiadajacej znakowi. Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 16 / 35

Kodowanie danych Kod ASCII 8-bitowy s lowo informacyjne obejmuje 7 bitów jeden bit jest bitem kontrolnym binarna postać kodu znaku - reprezentacja 128 liczb (kody od 0 do 127) w postaci 1 bajtu Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 17 / 35

Kodowanie danych Tabela wartości znaków kodu ASCII Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 18 / 35

Unicode Kodowanie danych standard Unicode określa tablice wartości znaków majac a w zamierzeniu obejmować wszystkie pisma używane na świecie najpopularniejsze kodowania to UTF-8, UTF-32 Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 19 / 35

Kodowanie danych Kodowanie liczb ca lkowitych kodowanie liczb nieujemnych - kod natural binary (NB) kodowanie liczb ze znakiem kod znak - modu l kod uzupe lnień do dwóch (U2) kod uzupe lnień do jeden (U1) Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 20 / 35

Kodowanie danych Kod NB dwójkowy kod pozycyjny pozycja i: waga 2 i 1001 NB = 1 2 0 + 0 2 1 + 0 2 2 + 1 2 3 = 9 Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 21 / 35

Kodowanie danych Kod znak - modu l Przyk lad znak liczby określany przez najbardziej znaczacy bit (a n 1 ) a n 1 = 0: Liczba ZM = n 2 i=0 a i 2 i a n 1 = 1: Liczba ZM = n 2 i=0 a i 2 i niewygodny przy wykonywaniu operacjach arytmetycznych dwa różne kody dla zera: 00000000, 10000000 45 = 000101101 ZM 45 = 100101101 ZM Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 22 / 35

Kod U2 Kodowanie danych najpowszechniej stosowane kodowanie najbardziej znaczacy bit jest bitem znaku, ma (ujemna) wage równa 2 n 1 n 2 Liczba U2 = a n 1 2 n 1 + a i 2 i [ 2 n 1, 2 n 1 1 ] Przyk lad 10001011 U2 = 1 2 7 + 1 2 3 + 1 2 1 + 1 2 0 = 117 i=0 Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 23 / 35

Kodowanie danych U2 - liczba przeciwna Aby zamienić liczbe w U2 na przeciwna należy wykonać dwa kroki: dokonać inwersji bitów, czyli zamienić 0 na 1 i odwrotnie Przyk lad dodać do wyniku 1 57 = 00111001 U2 Dokonujemy inwersji 11000110 U2 Dodajemy 1: 11000111 U2 = 1 2 7 + 1 2 6 + 1 2 2 + 1 2 1 + 1 2 0 = 57 Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 24 / 35

Kodowanie danych U2 - dodawanie liczb traktujemy liczby jako zwyk le liczby binarne (dodatnie), dodajemy je, a wynik otrzymamy w kodzie U2 dodawanie odbywa sie l acznie z bitem znaku Przyk lad 11010001 +11100010 110110011 = 10110011 Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 25 / 35

Problem nadmiaru Kodowanie danych wystepuje, gdy wynik operacji przekracza zakres reprezentacji liczb dodajac w U2 możemy go wykryć przez sprawdzenie bitu znaku wyniku dodawanie dwóch liczb dodatnich daje liczbe ujemna dodawanie dwóch liczb ujemnych daje liczbe dodatnia Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 26 / 35

Kodowanie danych Kod U1 Najbardziej znaczacy bit jest bitem znaku, ma (ujemna) wage równa ( 2 n 1 1 ) Liczba U1 = a n 1 ( 2 n 1 1 ) n 2 + a i 2 i [ ( 2 n 1 1 ), 2 n 1 1 ] i=0 10001011 U1 = 1 (2 7 1) + 1 2 3 + 1 2 1 + 1 2 0 = 116 Liczbe przeciwna otrzymujemy przez inwersje bitów Przyk lad Dokonujemy inwersji 57 = 00111001 U1 11000110 U1 = 1 (2 7 1) + 1 2 6 + 1 2 2 + 1 2 1 = 57 Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 27 / 35

Kodowanie danych Metody kodowania u lamków 275.34 czy 2.7534 10 2? reprezentacja sta lopozycyjna zwykle dość ograniczony zakres przy ustalonej ca lkowitej liczbie bitów wiekszy zakres oznacza arytmetyka może być realizowana za pomoca dzia lań ca lkowitoliczbowych reprezentacja wyk ladnicza (zmiennopozycyjna) Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 28 / 35

Kodowanie danych Reprezentacja sta loprzecinkowa pozycyjny system liczbowy o dodatniej podstawie p liczba kodowana w postaci (L) p (a n 1,..., a 1, a 0, a 1,..., a m ) (C L U L ) p L = n 1 i= m a i p i Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 29 / 35

Kodowanie danych Reprezentacja zmiennoprzecinkowa liczby kodowane w jednym s lowie maszyny podzielonym na trzy cześci: znak liczby (zwykle 1 bit) cześć (zwykle najd luższa) zawierajaca kod mantysy liczby i jej znak cześć (zwykle kilkubitowa) zawierajaca kod cechy liczby i jej znak mantysa jest znormalizowana Liczba = [znak]mantysa 2 cecha 0.5 mantysa 1 Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 30 / 35

Kodowanie danych W lasności arytmetyki zmiennoprzecinkowej nie jest l aczna nie jest rozdzielna (x + y) + z x + (y + z) (x y) z x (y z) x (y + z) (x y) + (x z) Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 31 / 35

Kodowanie danych B l edy zaokragleń i ich konsekwencje Przedstawmy liczby zmiennopozycyjne ā, b jako wartości dok ladne zaburzone b l edem reprezentacji ā = a (1 + ɛ a ) b = b (1 + ɛ b ) Wtedy b l edy wzgledne operacji dokonywanych na liczbach ā i b możemy oszacować nastepuj aco ɛ a±b = aɛ a ± bɛ b + ɛ ± a ± b ɛ a b = ɛ a + ɛ b + ɛ ɛ a/b = ɛ a ɛ b + ɛ / gdzie ɛ ±, ɛ, ɛ / to b l edy wprowadzane przez poszczególne operacje arytmetyczne Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 32 / 35

Obliczalność Maszyna Turinga konstrukcja Konstrukcja alfabet taśma g lowica zbiór stanów rejestr stanu tablica przejść Dzia lanie (q i, a µ ) (q j, a ν, s) Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 33 / 35

Obliczalność Hipoteza Churcha-Turinga Twierdzenie Wszystko co jest obliczalne jest obliczalne przez maszyn e Turinga. Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 34 / 35

Obliczalność Algorytm Definicja Algorytm to skończony, uporzadkowany zbiór jasno zdefiniowanych czynności koniecznych do wykonania pewnego zadania. Grzegorz Mazur (ZMOCh UJ) Architektura systemów komputerowych 12 kwietnia 2011 35 / 35