Technologie Informacyjne Wykład 3

Podobne dokumenty
Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Technologie Informacyjne Wykład 4

Architektura komputerów wer. 3

Technologie informacyjne wykład 2 wer. 1.2

Architektura komputerów wer. 7

Architektura mikroprocesorów TEO 2009/2010

Architektura komputerów

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

Podstawy Informatyki

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

Arytmetyka binarna - wykład 6

Naturalny kod binarny (NKB)

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

Teoretyczne Podstawy Informatyki

Arytmetyka liczb binarnych

Struktura i działanie jednostki centralnej

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

Stan wysoki (H) i stan niski (L)

Pracownia Komputerowa wykład IV

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

Kodowanie informacji. Kody liczbowe

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

Logiczny model komputera i działanie procesora. Część 1.

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

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

Arytmetyka komputerów

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

Arytmetyka komputerów

Architektura komputerów

Architektura systemów komputerowych. dr Artur Bartoszewski

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

Budowa komputera Komputer computer computare

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

Technologie Informacyjne

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

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

Architektura komputerów

Pracownia Komputerowa wykład VI

Budowa Mikrokomputera

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

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

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

1. Operacje logiczne A B A OR B

Luty 2001 Algorytmy (7) 2000/2001

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Pracownia Komputerowa wyk ad IV

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

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

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

Organizacja typowego mikroprocesora

Architektura systemów komputerowych

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

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

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

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

Pozycyjny system liczbowy

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

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

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

Przykładowe pytania DSP 1

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

Architektura komputerów. Asembler procesorów rodziny x86

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

Systemy zapisu liczb.

Kod U2 Opracował: Andrzej Nowak

Arytmetyka stało i zmiennoprzecinkowa

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Podstawy Informatyki

1.1. Pozycyjne systemy liczbowe

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

Zapis liczb binarnych ze znakiem

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

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

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

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

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

O bitach, bajtach i hardware. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

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

Architektura komputerów

Podstawy Informatyki dla Nauczyciela

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

LICZBY ZMIENNOPRZECINKOWE

Metoda znak-moduł (ZM)

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

Wstęp do informatyki- wykład 2

Pracownia Komputerowa wykład V

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

LEKCJA TEMAT: Współczesne procesory.

Kodowanie liczb całkowitych w systemach komputerowych

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

MIKROKONTROLERY I MIKROPROCESORY

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Język programowania: Lista instrukcji (IL Instruction List)

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Technika mikroprocesorowa I Wykład 2

Transkrypt:

Technologie Informacyjne Wykład 3 Procesor i jego architektura (CISC, RISC, 32/64 bity) Systemy wieloprocesorowe Wojciech Myszka Jakub Słowiński Katedra Mechaniki i Inżynierii Materiałowej Wydział Mechaniczny Politechnika Wrocławska 23 października 2014 (IMMT PWr) TI-W01 23 października 2014 1 / 31

CISC CISC I Complex Instruction Set Computers nazwa architektury mikroprocesorów o następujących cechach: duża liczba rozkazów (instrukcji) mała optymalizacja niektóre rozkazy potrzebują dużej liczby cykli procesora do wykonania występowanie złożonych, specjalistycznych rozkazów duża liczba trybów adresowania do pamięci może się odwoływać bezpośrednio duża liczba rozkazów mniejsza od RISC-ów częstotliwość taktowania procesora powolne działanie dekodera rozkazów (IMMT PWr) TI-W01 23 października 2014 2 / 31

CISC CISC II Przykłady rodzin procesorów o architekturze CISC to między innymi: AMD x86 M68000 (IMMT PWr) TI-W01 23 października 2014 3 / 31

RISC RISC I Reduced Instruction Set Computers Zredukowana liczba rozkazów do niezbędnego minimum. Ich liczba wynosi kilkadziesiąt (setki w procesorach). Upraszcza to znacznie konstrukcję procesora. Redukcja trybów adresowania większość operacji wykonuje się wg schematu: rejestr C = rejestr A operacja rejestr B. Ograniczenie komunikacji pomiędzy pamięcią, a procesorem. Do przesyłania danych pomiędzy pamięcią, a rejestrami służą instrukcje, które nazywają się load (załaduj z pamięci), oraz store (zapisz do pamięci); pozostałe instrukcje operują wyłącznie na rejestrach. Schemat działania: załaduj daną z pamięci do rejestru, na zawartości rejestru wykonaj działanie, przepisz wynik z rejestru do pamięci. (IMMT PWr) TI-W01 23 października 2014 4 / 31

RISC RISC II Zwiększenie liczby rejestrów (np. 32, 192, 256, x86 jest 8), co również ma wpływ na zmniejszenie liczby odwołań do pamięci. Przetwarzanie potokowe (ang. pipelining): wszystkie rozkazy wykonują się w jednym cyklu maszynowym, (znaczne uproszczenie bloku wykonawczego), a zastosowanie superskalarności umożliwia równoległe wykonywanie rozkazów. (IMMT PWr) TI-W01 23 października 2014 5 / 31

RISC RISC III Superskalarność (ang. Superscalar) możliwość ukończenia kilku instrukcji w pojedynczym cyklu zegara dzięki zwielokrotnieniu jednostek wykonawczych. Pierwszym procesorem Intela z rodziny x86 wykorzystującym superskalarność był procesor Pentium. Większość procesorów superskalarnych nie ma w pełni zduplikowanej jednostki wykonywania kodu mogą mieć wiele ALU, jednostek zmiennopozycyjnych i tak dalej, wobec czego pewne instrukcje będą wykonywane bardzo szybko, a inne nie. (IMMT PWr) TI-W01 23 października 2014 6 / 31

VLIW VLIW Very Long Instruction Word uproszczenie jednostki sterującej, zwiększanie liczby jednostek wykonawczych, technika wcześniejszego wykonania instrukcji (Out-of-Order Execution), sterowanie pracą procesora zostało przerzucone na kompilator (to on decyduje o sposobie działania procesora). Kompilator (ang. compiler) to program służący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równoważny kod w innym języku (języku wynikowym) (IMMT PWr) TI-W01 23 października 2014 7 / 31

ZISC ZISC Zero Instruction Set Computer Idea odwołuje się do sztucznych sieci neuronowych, istnieje zatem możliwość uczenia się. Wykorzystana zostaje technologia porównywanie wzorców czy eskploracji danych (data mining). Jeden z pierwszych procesorów ZISC zawierał 36 niezależnych komórek (uważane są za neurony lub równoległe procesory). Każda z nich może porównać wektor wejściowy (64 bajty) z podobnym wektorem przechowywanym w komórkach pamięci. Jeśli wektor wejściowy odpowiada wektorowi w komórce pamięci to komórka ta wypala. Sygnał wyjściowy zawiera komórkę, która miała dopasowanie, oraz znacznik mówiący, że nie wystąpiło dopasowanie. Watson (IMMT PWr) TI-W01 23 października 2014 8 / 31

Schemat procesora Schemat procesora Rejestr (akumulator) Arytmometr Wskazniki Pamiec (RAM) (IMMT PWr) TI-W01 23 października 2014 9 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje arytmetyczne Šaduj adres pamięci przepisuje zawartość pamięci o wskazanym adresie do rejestru. (IMMT PWr) TI-W01 23 października 2014 10 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje arytmetyczne Šaduj adres pamięci przepisuje zawartość pamięci o wskazanym adresie do rejestru. Zapisz adres pamięci przepisuje zawartość akumulatora do pamięci (IMMT PWr) TI-W01 23 października 2014 10 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje arytmetyczne Šaduj adres pamięci przepisuje zawartość pamięci o wskazanym adresie do rejestru. Zapisz adres pamięci przepisuje zawartość akumulatora do pamięci Šaduj liczba zapisuje liczbę do rejestru (IMMT PWr) TI-W01 23 października 2014 10 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje arytmetyczne Šaduj adres pamięci przepisuje zawartość pamięci o wskazanym adresie do rejestru. Zapisz adres pamięci przepisuje zawartość akumulatora do pamięci Šaduj liczba zapisuje liczbę do rejestru Dodaj adres pamięci do zawartości akumulatora dodaje zawartość komórki o wskazanym adresie (możemy tez założyć, że w podobny sposób potrafi policzyć różnicę, iloczyn i iloraz, choć, w rzeczywistości, nie musi to być prawdą). Wykonanie każdej operacji zmieniającej zawartość rejestru powoduje ustawienie wskaźników (zero, przepełnienie, ujemne). (IMMT PWr) TI-W01 23 października 2014 10 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje na bitach Neguj zmienia znak liczby w akumulatorze (IMMT PWr) TI-W01 23 października 2014 11 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje na bitach Neguj zmienia znak liczby w akumulatorze And adres pamięci iloczyn logiczny (bit po bicie dwu słów) (IMMT PWr) TI-W01 23 października 2014 11 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje na bitach Neguj zmienia znak liczby w akumulatorze And adres pamięci iloczyn logiczny (bit po bicie dwu słów) Or adres pamięci (IMMT PWr) TI-W01 23 października 2014 11 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje na bitach Neguj zmienia znak liczby w akumulatorze And adres pamięci iloczyn logiczny (bit po bicie dwu słów) Or adres pamięci Xor adres pamięci różnica symetryczna (IMMT PWr) TI-W01 23 października 2014 11 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje na bitach Neguj zmienia znak liczby w akumulatorze And adres pamięci iloczyn logiczny (bit po bicie dwu słów) Or adres pamięci Xor adres pamięci różnica symetryczna Przesun_w_lewo (IMMT PWr) TI-W01 23 października 2014 11 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje na bitach Neguj zmienia znak liczby w akumulatorze And adres pamięci iloczyn logiczny (bit po bicie dwu słów) Or adres pamięci Xor adres pamięci różnica symetryczna Przesun_w_lewo Przesun_w_prawo (IMMT PWr) TI-W01 23 października 2014 11 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje na bitach Neguj zmienia znak liczby w akumulatorze And adres pamięci iloczyn logiczny (bit po bicie dwu słów) Or adres pamięci Xor adres pamięci różnica symetryczna Przesun_w_lewo Przesun_w_prawo Przesun_cyklicznie_w_lewo (IMMT PWr) TI-W01 23 października 2014 11 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje na bitach Neguj zmienia znak liczby w akumulatorze And adres pamięci iloczyn logiczny (bit po bicie dwu słów) Or adres pamięci Xor adres pamięci różnica symetryczna Przesun_w_lewo Przesun_w_prawo Przesun_cyklicznie_w_lewo Przesun_cyklicznie_w_prawo (IMMT PWr) TI-W01 23 października 2014 11 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje sterujące Skocz adres pamięci bezwarunkowe przekazanie sterowanie do adresu (IMMT PWr) TI-W01 23 października 2014 12 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje sterujące Skocz adres pamięci bezwarunkowe przekazanie sterowanie do adresu Skocz_jezeli_zero adres pamięci (IMMT PWr) TI-W01 23 października 2014 12 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje sterujące Skocz adres pamięci bezwarunkowe przekazanie sterowanie do adresu Skocz_jezeli_zero adres pamięci Skocz_jezeli_ujemne adres pamięci (IMMT PWr) TI-W01 23 października 2014 12 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje sterujące Skocz adres pamięci bezwarunkowe przekazanie sterowanie do adresu Skocz_jezeli_zero adres pamięci Skocz_jezeli_ujemne adres pamięci Skocz_jesli_nadmiar adres pamięci (IMMT PWr) TI-W01 23 października 2014 12 / 31

Podstawowe operacje realizowane przez komputer Podstawowe operacje Instrukcje sterujące Skocz adres pamięci bezwarunkowe przekazanie sterowanie do adresu Skocz_jezeli_zero adres pamięci Skocz_jezeli_ujemne adres pamięci Skocz_jesli_nadmiar adres pamięci Skocz_do_podprogramu adres pamięci bardzo podobne do instrukcji zwykłego skoku, ale dodatkowo zapisuje aktualny stan procesora w specjalnie do tego przeznaczonej pamięci (IMMT PWr) TI-W01 23 października 2014 12 / 31

Asembler język wewnętrzny komputera Asembler Bardzo proste działanie: A=B+C (IMMT PWr) TI-W01 23 października 2014 13 / 31

Asembler język wewnętrzny komputera Asembler Bardzo proste działanie: A=B+C W komórce o adresie A ma być umieszczony wynik dodawania zawartości komórek o adresie B i C. (IMMT PWr) TI-W01 23 października 2014 13 / 31

Asembler język wewnętrzny komputera Asembler Bardzo proste działanie: A=B+C W komórce o adresie A ma być umieszczony wynik dodawania zawartości komórek o adresie B i C. Realizacja komputerowa: Šaduj B Dodaj C Zapisz A (IMMT PWr) TI-W01 23 października 2014 13 / 31

Asembler język wewnętrzny komputera Asembler Bardziej skomplikowany przykład Z = [(A + B)(C + D)] W (IMMT PWr) TI-W01 23 października 2014 14 / 31

Asembler język wewnętrzny komputera Asembler Bardziej skomplikowany przykład Z = [(A + B)(C + D)] W T 1 = A + B (IMMT PWr) TI-W01 23 października 2014 14 / 31

Asembler język wewnętrzny komputera Asembler Bardziej skomplikowany przykład Z = [(A + B)(C + D)] W T 1 = A + B T 2 = C + D (IMMT PWr) TI-W01 23 października 2014 14 / 31

Asembler język wewnętrzny komputera Asembler Bardziej skomplikowany przykład Z = [(A + B)(C + D)] W T 1 = A + B T 2 = C + D T 3 = T 1 T 2 (IMMT PWr) TI-W01 23 października 2014 14 / 31

Asembler język wewnętrzny komputera Asembler Bardziej skomplikowany przykład Z = [(A + B)(C + D)] W T 1 = A + B T 2 = C + D T 3 = T 1 T 2 Z = T 3/W (IMMT PWr) TI-W01 23 października 2014 14 / 31

Odwrotna Notacja Polska Odwrotna Notacja Polska Popatrzmy na działanie: Ile wynosi wynik? 3 + 7 5 (IMMT PWr) TI-W01 23 października 2014 15 / 31

Odwrotna Notacja Polska Odwrotna Notacja Polska Popatrzmy na działanie: Ile wynosi wynik? 50 czy 38? 3 + 7 5 (IMMT PWr) TI-W01 23 października 2014 15 / 31

Odwrotna Notacja Polska Odwrotna Notacja Polska Popatrzmy na działanie: Ile wynosi wynik? 50 czy 38? A który jest poprawny? 3 + 7 5 (IMMT PWr) TI-W01 23 października 2014 15 / 31

Odwrotna Notacja Polska Odwrotna Notacja Polska Popatrzmy na działanie: 3 + 7 5 Ile wynosi wynik? 50 czy 38? A który jest poprawny? Czemu tak łatwo znaleźć kalkulator który liczy źle? (IMMT PWr) TI-W01 23 października 2014 15 / 31

Ważność działań arytmetycznych Ważność działań arytmetycznych 1 potęgowanie Nawiasy mogą ją zmieniać! (IMMT PWr) TI-W01 23 października 2014 16 / 31

Ważność działań arytmetycznych Ważność działań arytmetycznych 1 potęgowanie 2 mnożenie i dzielenie Nawiasy mogą ją zmieniać! (IMMT PWr) TI-W01 23 października 2014 16 / 31

Ważność działań arytmetycznych Ważność działań arytmetycznych 1 potęgowanie 2 mnożenie i dzielenie 3 dodawanie i odejmowanie Nawiasy mogą ją zmieniać! (IMMT PWr) TI-W01 23 października 2014 16 / 31

Ważność działań arytmetycznych Czy jest możliwy zapis jednoznaczny? Polski logik, Łukasiewicz, wprowadził notację przedrostkową. Zamiast z = x + y zaproponował zapis: +xy (IMMT PWr) TI-W01 23 października 2014 17 / 31

Ważność działań arytmetycznych Czy jest możliwy zapis jednoznaczny? Polski logik, Łukasiewicz, wprowadził notację przedrostkową. Zamiast z = x + y zaproponował zapis: +xy Zwracam uwagę że jest on bardzo podobny do zapisu funkcji dwu zmiennych: z = f (x, y) Funkcja suma jest też dwuargumentowa: z = +(x, y) (IMMT PWr) TI-W01 23 października 2014 17 / 31

Ważność działań arytmetycznych Zapis polski Działanie 3 + 7 5 oznaczające 3 + (7 5) zapisujemy: + 7 5 }{{} 3 }{{} (IMMT PWr) TI-W01 23 października 2014 18 / 31

Ważność działań arytmetycznych Odwrotny zapis polski Utarło się używanie innego zapisu: najpierw podaje się argumenty działania, później samo działanie: xy+ Stąd nazwa: Odwrotna notacja polska. Nasze działanie zapisujemy tak: a to bardziej skomplikowane tak: 7 5 3+ A B + C D + W / (IMMT PWr) TI-W01 23 października 2014 19 / 31

Ważność działań arytmetycznych Odwrotna Notacja Polska stos Praktyczna realizacja działania A B + C D + W / wymaga stosu. I dodatkowych operacji w języku wewnętrznym: Zapisz_na_stos przepisuje zawartość akumulatora na stos. Pobierz_ze_stosu pobiera ze stosu wartość i przepisuje ją do akumulatora (IMMT PWr) TI-W01 23 października 2014 20 / 31

Stos Stos (IMMT PWr) TI-W01 23 października 2014 21 / 31

Stos Stos (IMMT PWr) TI-W01 23 października 2014 21 / 31

Prosty kalkulator Prosty kalkulator http://www.calculator.org Praktyczna realizacja działania A = 1, B = 2, C = 3, D = 4, W = 5 A B + C D + W / (IMMT PWr) TI-W01 23 października 2014 22 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... 1010 to 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 czyli 8 + 0 + 2 + 0 = 10 (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... 1010 to 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 czyli 8 + 0 + 2 + 0 = 10 liczby parzyste mają zero na końcu, nieparzyste 1. (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... 1010 to 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 czyli 8 + 0 + 2 + 0 = 10 liczby parzyste mają zero na końcu, nieparzyste 1. Arytmetyka dwójkowa bardzo prosta. (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... 1010 to 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 czyli 8 + 0 + 2 + 0 = 10 liczby parzyste mają zero na końcu, nieparzyste 1. Arytmetyka dwójkowa bardzo prosta. 0 + 0 = 0 (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... 1010 to 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 czyli 8 + 0 + 2 + 0 = 10 liczby parzyste mają zero na końcu, nieparzyste 1. Arytmetyka dwójkowa bardzo prosta. 0 + 0 = 0 1 + 0 = 0 + 1 = 1 (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... 1010 to 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 czyli 8 + 0 + 2 + 0 = 10 liczby parzyste mają zero na końcu, nieparzyste 1. Arytmetyka dwójkowa bardzo prosta. 0 + 0 = 0 1 + 0 = 0 + 1 = 1 1 + 1 = 10 (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... 1010 to 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 czyli 8 + 0 + 2 + 0 = 10 liczby parzyste mają zero na końcu, nieparzyste 1. Arytmetyka dwójkowa bardzo prosta. 0 + 0 = 0 1 + 0 = 0 + 1 = 1 1 + 1 = 10 1 1 = 1 (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... 1010 to 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 czyli 8 + 0 + 2 + 0 = 10 liczby parzyste mają zero na końcu, nieparzyste 1. Arytmetyka dwójkowa bardzo prosta. 0 + 0 = 0 1 + 0 = 0 + 1 = 1 1 + 1 = 10 1 1 = 1 1 0 = 0 1 = 0 (IMMT PWr) TI-W01 23 października 2014 23 / 31

Arytmetyka komputerów Arytmetyka komputerów Zapis liczb dwójkowy. Każda z liczb zapisywana jest za pomocą cyfr 0 i 1. Układ jest pozycyjny waga cyfry zależy od miejsca, w którym została ustawiona. Najmniej znaczące miejsca są po stronie prawej... 1010 to 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 czyli 8 + 0 + 2 + 0 = 10 liczby parzyste mają zero na końcu, nieparzyste 1. Arytmetyka dwójkowa bardzo prosta. 0 + 0 = 0 1 + 0 = 0 + 1 = 1 1 + 1 = 10 1 1 = 1 1 0 = 0 1 = 0 0 0 = 0 (IMMT PWr) TI-W01 23 października 2014 23 / 31

Operacje logiczne Operacje logiczne (Podstawowe) operacje logiczne to suma logiczna (OR), iloczyn logiczny (AND), negacja (NOT), różnica symetryczna (XOR) OR 0 1 0 0 1 1 1 1 AND 0 1 0 0 0 1 0 1 XOR 0 1 0 0 1 1 1 0 (IMMT PWr) TI-W01 23 października 2014 24 / 31

Arytmetyka komputera (c.d.) Arytmetyka komputera Arytmetyka klasyczna Jesteśmy przyzwyczajeni do następujących rzeczy : 1 Jeżeli x 0 to a a + x a (IMMT PWr) TI-W01 23 października 2014 25 / 31

Arytmetyka komputera (c.d.) Arytmetyka komputera Arytmetyka klasyczna Jesteśmy przyzwyczajeni do następujących rzeczy : 1 Jeżeli x 0 to a a + x a 2 a + b + + z = z + y + + b + a (IMMT PWr) TI-W01 23 października 2014 25 / 31

Arytmetyka komputera (c.d.) Arytmetyka komputera Arytmetyka klasyczna Jesteśmy przyzwyczajeni do następujących rzeczy : 1 Jeżeli x 0 to a a + x a 2 a + b + + z = z + y + + b + a 3 a, b R a < b c : a < c < b (IMMT PWr) TI-W01 23 października 2014 25 / 31

Arytmetyka komputera (c.d.) Arytmetyka komputera Arytmetyka klasyczna Jesteśmy przyzwyczajeni do następujących rzeczy : 1 Jeżeli x 0 to a a + x a 2 a + b + + z = z + y + + b + a 3 a, b R a < b c : a < c < b W arytmetyce komputerowej powyższe zasady nie obowiązują! (IMMT PWr) TI-W01 23 października 2014 25 / 31

Liczby zmiennoprzecinkowe Liczby zmiennoprzecinkowe 1 Arytmetyka 1 Liczby naturalne 2 Liczby całkowite 3 Liczby wymierne 4 Liczby rzeczywiste 2 Komputery 1 Liczby całkowite ( integer ) 2 Liczby stałoprzecinkowe 3 Liczby zmiennoprzecinkowe (IMMT PWr) TI-W01 23 października 2014 26 / 31

Liczby zmiennoprzecinkowe Liczby całkowite I Sytuacja dosyć klarowna. Na n bitach możemy zapisać liczby całkowite dodatnie z zakresu od zera do 2 n 1 Jest pewien problem z liczbami ujemnymi: trzeba zarezerwować miejsce na znak Trzeba to tak zrobić, żeby podstawowe operacje (dodawanie, odejmowanie i mnożenie,... ) były wykonywane tak samo gdy argumenty są dodatnie jak i wtedy gdy są ujemne. Układ uzupełnieniowy to załatwił. Czasami korzysta się z kodu BCD (Binary Coded Decimal (cyfry) dziesiętne kodowane binarnie: liczba zapisywana jest w układzie dziesiętnym (za pomocą cyfr dziesiętnych), ale poszczególne cyfry kodowane są binarnie 321 (10) zapisywane jest jako 0011 0010 0001 2 (IMMT PWr) TI-W01 23 października 2014 27 / 31

Liczby zmiennoprzecinkowe Liczby stałoprzecinkowe 1 Liczby w których na zapamiętanie części całkowitej przeznacza się kilka(naście/dziesiąt) bitów 2 Na zapamiętanie części ułamkowej również używa się kilku(nastu?) bitów: 1 0 1 0, 1 0 1 0 co odczytujemy jako: 1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 + 1 2 1 + 0 2 2 + 1 2 3 + 0 2 4 lub 8 + 2 + 1 + 1 czyli 10,625 2 8 3 Używany bardzo rzadko (finanse??) 4 Z matematycznego punktu widzenia są to liczby wymierne 5 Jak w tej postaci zapisać liczbę 1,1 (IMMT PWr) TI-W01 23 października 2014 28 / 31

Liczby zmiennoprzecinkowe Liczby zmiennoprzecinkowe I 1 Są to liczby zapisywane (kodowane) w sposób podobny do zananego nam: c = 299792458 3 10 8 m/s 2 Czyli w postaci mantysa (2,99792458) plus wykładnik 8, zatem 2,99792458*10 8 albo inaczej 2,99792458 e8 3 W przypadku komputerów podstawa kodowania (tak mantysy jak i wykładnika) to 2! 4 Dodatkowo liczby zapisywane są zawsze w postaci znormalizowanej czyli takiej, że cyfra przed przecinkiem (kropką) dziesiętnym jest zawsze z zakresu między 1 a 9. (a w układzie dwójkowym zawsze jest równa 1!) 5 Na zapamiętanie mantysy i wykładnika przeznaczana jest zawsze skończona liczba bitów. 6 Z matematycznego punktu widzenia są to liczby wymierne. (IMMT PWr) TI-W01 23 października 2014 29 / 31

Liczby zmiennoprzecinkowe Liczby zmiennoprzecinkowe II 7 Sposób zapisu liczb zmiennoprzecinkowych reguluje standard IEEE-754. (IMMT PWr) TI-W01 23 października 2014 30 / 31

Liczby zmiennoprzecinkowe Parę problemów 1 Zawsze(?) ograniczona liczba bitów przeznaczona na zapamiętanie liczby (ale znane są specjalne programy, które starają się te ograniczenie przezwyciężać). 2 Wynik działań arytmetycznych często prowadzi do powstania nadmiaru (czyli przekroczenia maksymalnej dopuszczalnej wartości liczb). 3 Większość liczb który (z przyzwyczajenia) traktujemy jako dokładne nie ma dokładnej reprezentacji dwójkowej (0,5 jest OK ale 0,1 już nie. (IMMT PWr) TI-W01 23 października 2014 31 / 31