Architektura komputerów

Podobne dokumenty
Architektura komputerów

ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH. dr inż. Małgorzata Langer B9, pok. 310 Instytut Elektroniki

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

Podstawy Informatyki

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

Systemy zapisu liczb.

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

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

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

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

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

Techniki multimedialne

Pracownia Komputerowa wykład VI

Teoretyczne Podstawy Informatyki

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

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

Technologie Informacyjne

Arytmetyka binarna - wykład 6

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

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

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

Architektura komputerów

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

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

Kodowanie informacji. Kody liczbowe

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

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

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

Stan wysoki (H) i stan niski (L)

Naturalny kod binarny (NKB)

Pracownia Komputerowa wykład V

Metoda znak-moduł (ZM)

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

Zapis liczb binarnych ze znakiem

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

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

Cyfrowy zapis informacji

Kodowanie liczb całkowitych w systemach komputerowych

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

1.1. Pozycyjne systemy liczbowe

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

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

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

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Pracownia Komputerowa wyk ad VI

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

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

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

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

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

Arytmetyka stało i zmiennoprzecinkowa

Kod U2 Opracował: Andrzej Nowak

Wstęp do informatyki- wykład 1

SYSTEMY LICZBOWE 275,538 =

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

Podstawy Informatyki

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

Arytmetyka stałopozycyjna

Pozycyjny system liczbowy

Wstęp do Informatyki

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

L6.1 Systemy liczenia stosowane w informatyce

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

Technika Cyfrowa i Mikroprocesorowa

Kodowanie informacji. Przygotował: Ryszard Kijanka

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

Arytmetyka komputera

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

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

LICZBY ZMIENNOPRZECINKOWE

Arytmetyka liczb binarnych

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

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

DZIESIĘTNY SYSTEM LICZBOWY

Materiały laboratoryjne. Kodowanie i liczby. dr inż. Zbigniew Zakrzewski. Z.Z. Podstawy informatyki

Podstawy Informatyki dla Nauczyciela

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

PODSTAWY INFORMATYKI. Informatyka? - definicja

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Wykład 2. Informatyka Stosowana. 10 października Informatyka Stosowana Wykład 2 10 października / 42

Wykład 2. Informatyka Stosowana. 9 października Informatyka Stosowana Wykład 2 9 października / 42

Technologie Informacyjne Wykład 4

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Wprowadzenie do informatyki - ć wiczenia

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

Operacje arytmetyczne

Systemy liczbowe używane w technice komputerowej

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

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

Pracownia Komputerowa wykład IV

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

Pracownia Komputerowa wyk ad V

Transkrypt:

Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Notacje systemy zapisu liczb Dane, które są przetwarzane w systemach komputerowych, zawierają cyfry, znaki alfabetu łacińskiego i znaki ze znakami diakrytycznymi ( narodowe np. polskie: ą, ś,ń, ) oraz znaki specjalne, jak @, #, +, *, Najpowszechniej używanym systemem liczbowym na zewnątrz komputera jest system dziesiętny Dowolną liczbę możemy przedstawić jako wielomian. Np. 1234,98 = 1 x 10 3 + 2 x 10 2 + 3 x 10 1 + 4 x 10 0 + 9 x 10-1 + 8 x 10-2 Systemy komputerowe przyjmują, przetwarzają i wystawiają na wyjściach ciągi zer i jedynek w kodzie dwójkowym, binarnym 2

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Ogólna postać wielomianu dla dowolnej liczby i notacji N = n i= m a i r i Gdzie N liczba zapisana we właściwej notacji; n+1 liczba cyfr w części całkowitej, m liczba cyfr w części ułamkowej, r podstawa notacji W systemie dziesiętnym r=10 W systemie dwójkowym r=2, ósemkowym r=8, itd. 3

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Notacja szesnastkowa (r=16) Ponieważ brakuje cyfr, stosuje się pierwsze, kolejne, litery alfabetu łacińskiego dla wyrażenia cyfr powyżej 9 Notacja dziesiętna Szesnastkowa 0, 1, 2, 3,, 8, 9 0, 1, 2, 3,, 8, 9 10 A 11 B 12 C 13 D 14 E 15 F 4

Przykłady Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Notacja Dziesiętna Dwójkowa Ósemkowa Szesnastkowa 0 0 0 0 1 1 1 1 2 10 2 2 9 1001 11 9 15 1111 17 F 18 10010 22 12 20 10100 24 14 100 1100100 144 64 100 = 1x10 2 + 0x10 1 +0x10 0 = 64+32+0+0+4+0+0 1x8 2 +4x8 1 +4x8 0 6x16 1 + 4x16 0 5

Konwersja liczb Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Jest to przekształcanie zapisów liczbowych z jednego systemu w inny, np. z systemu dwójkowego w dziesiętny lub odwrotnie Algorytm: dzielimy daną wartość całkowita przez wymaganą podstawę, w każdym kroku zapisując resztę; kończymy zapisaniem ilorazu mniejszego od dzielnika. Sprawdzamy, stosując podany wzór na wielomian Przykład: Przekształcić 245 (10) w zapis dwójkowy 245:2 = 122 + reszta 1 1 122:2 = 61 + reszta 0 01 61:2 = 30 + reszta 1 101 30:2 = 15 + reszta 0 0101 15:2 = 7 + reszta 1 10101 7:2 = 3 + reszta 1 110101 3:2= 1 + reszta 1 1110101 tylko 1 11110101 6

Inne przykłady Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego (245) 10 = (?) 8 245:8 = 30 + 5 30:8 = 3 + 6 zostaje 3 (365) 8 (245) 10 = (?) 16 245:16 = 15 + 5 zostaje 15 (F5) 16 Dla części ci ułamkowej zamiast dzielenia mnożymy to, co po przecinku: (0,345) 10 = (?) 2 2 x 0,345 = 0,690 2 x 0,690 = 1,380 2 x 0,380 = 0,760 2 x 0,760 = 1,520 2 x 0,520 = 1,040 2 x 0,040 = 0,080 (0,010110) 2 Konwersja pomiędzy systemem dziesiętnym, stosowanym przez użytkownika a binarnym używanym w systemie odbywa się automatycznie przy pomocy podobnego algorytmu 7

Działania arytmetyczne Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Ogólne zasady wykonywania działań arytmetycznych są jednakowe we wszystkich notacjach poćwiczymy na zajęciach praktycznych Oprócz tradycyjnego dodawania, odejmowania, mnożenia i dzielenia, często wykonywaną operacją jest przesuwanie (SHIFT) o jedno miejsce w prawo (czyli dzielimy przez podstawę notacji) lub w lewo (mnożymy) W systemach cyfrowych zapisujemy liczby - w prezentacji stałoprzecinkowej (fixed-point) zawsze tyle samo cyfr przed i po przecinku - zmiennoprzecinkowej (floating-point) stała liczba cyfr ale przecinek w takiej pozycji, która jest optymalna dla danej liczby 8

Liczby ujemne Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Sposób pierwszy: znak i moduł Dla przedstawienia liczby potrzebujemy n+1 cyfr; cyfra najbardziej znacząca (pierwsza z lewej strony MSD) przyjmuje wartość 0 dla liczb dodatnich i r-1 dla liczb ujemnych (czyli F dla notacji szesnastkowej, 7 dla ósemkowej, 1 dla binarnej ) Przykłady: liczba reprezentacja (zakładamy razem 5 cyfr) (-2) 2 1 0010 (+2) 2 0 0010 (-56) 8 7 0056 (+11F) 16 0 011F znak moduł 9

Znak i moduł Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Przy stosowaniu zapisu znak i moduł przy działaniach arytmetycznych obie części reprezentacji są przetwarzane oddzielnie, tzn. obliczany jest moduł wyniku i potem dodawany do niego odpowiedni znak System stosowany w miernikach cyfrowych, czasem w sterownikach, zwłaszcza, gdy używany jest kod dziesiętny w obliczeniach wrócimy do tego później 10

Liczby ujemne Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Sposób drugi: liczba ujemna zapisywana w kodzie uzupełnień Jest to PRZEWAŻAJĄCY sposób zapisu liczb w systemach komputerowych Ogólnie stosowane są: dopełnienie (uzupełnienie) do podstawy notacji oraz dopełnienie do podstawy pomniejszonej o 1 Dla zapisu binarnego, który jest powszechnie stosowany w komputerach, mamy więc: - kod uzupełnieniowy do dwóch U2 - kod uzupełnieniowy do jedności U1 11

Kod uzupełnień Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Rozważmy odejmowanie liczby A od liczby B (B-A) Jest to równoważne z dodawaniem (-A) do B Przy stosowaniu uzupełnień możemy więc odejmowanie zastąpić dodawaniem Ponieważ mnożenie i dzielenie odpowiadają odpowiednio wielokrotnemu dodawaniu lub odejmowaniu możemy stwierdzić, że możliwe jest wykonanie czterech podstawowych działań arytmetycznych przy zastosowaniu WYŁĄCZNIE DODAWANIA 12

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Algorytm mnożenia liczb binarnych bez znaku 13

Algorytm dzielenia liczb binarnych bez znaku Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 14

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Uzupełnienie do podstawy notacji Uzupełnienie do podstawy notacji: [N] r gdzie r podstawa notacji; n liczba cyfr w części całkowitej liczby (N) r [ N] r n = r ( N) r gdy ( N) r = 0 gdy ( N ) = = r 0 0 Przykład: U2 dla (01010) 2 n=5 ; r=2: 2 101 (01010) = 100000 01010 = 10110 dla (0,0010) 2 n=1 ; r=2 2 1 (0,0010) = 10,0000 0,0010 = 1,1110 15

Inne metody obliczania U2 Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Zmień wartość każdego bitu i dodaj 1: Przykład: [01010] 2 =? - zmieniamy o na 1 i odwrotnie: 10101 - dodajemy 1 + 1 WYNIK: 10110 Kopiuj bity zerowe od najmniej znaczącego aż (włącznie) do pierwszej 1 i zmień wartość pozostałych: Przykład: [01010] 2 =? - kopiujemy od prawej: 10 - zmieniamy pozostałe 010 na 1 0 1 WYNIK: 10110 16

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Uzupełnienie do podstawy pomniejszonej o 1 [N] r-1 = r n r -m (N) r gdzie r podstawa notacji, n liczba cyfr w części całkowitej, m w części ułamkowej Zauważmy, że e [N] -m r = [N] r-1 + r Praktyczna metoda liczenia: - odejmujemy każdą cyfrę od maksymalnej cyfry w danej notacji (tzn. od 9 w notacji dziesiętnej, od 7 w ósemkowej, itd.) U1 (czyli w notacji binarnej): po prostu zamieniamy wartość każdego bitu 17

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Kody uzupełnień oraz zapis znak - moduł Uzupełnienie odpowiada reprezentacji liczby ujemnej Reprezentacja liczby dodatniej nie zmienia się Mamy więc trzy sposoby zapisu liczby ujemnej w systemie binarnym: - znak moduł - U1 - U2 Jeżeli do zapisania jednej liczby w systemie binarnym służy n bitów, zakres liczb w systemach jest następujący: znak-moduł -(2 n-1 1) do +(2 n-1 1) U1 -(2 n-1 1) do +(2 n-1 1) U2 -(2 n-1 ) do +(2 n-1 1) 18

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Działania arytmetyczne w poszczególnych kodach Ćwiczenia przeniesiemy do części praktycznej W zapisie modułowym (Znak moduł) liczby występują w najprostszej postaci, ale niezbędna jest realizacja układowa zarówno dodawania, jak i odejmowania. Musi być dodatkowa logika do określenia znaku wyniku W zapisie U1 generowanie reprezentacji jest proste, ale należy przeprowadzać korekcję przy działaniach ( pożyczki i przeniesienia) W zapisie U2 wszystkie otrzymane wyniki mają postać U2. Nie ma potrzeby korekcji. Metoda jest najkorzystniejsza. Proces powstawania zapisu nie stanowi problemu technicznego. 19

Format danych Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Liczby stałoprzecinkowe - Fixed point - dla liczby całkowitej (przecinek jest ustalony po skrajnej, prawej stronie stąd nazwa) bit znaku (0 dla plusa, 1 dla liczby ujemnej) (n-1) bitów wartości (n liczba bitów w słowie) liczby ujemne zapisywane są najczęściej w postaci uzupełnienia do dwóch Zapis dziesiętny (decimal mode) BCD; 4 bity na cyfrę (czyli 2 cyfry w bajcie); najczęściej zostają konwertowane do postaci binarnej i przetwarzane (liczone) w arytmetyce dwójkowej a potem ponownie przeliczane na notację dziesiętną; czasem stosowana jest oddzielna arytmetyka dla liczb dziesiętnych Architektura komputerów, część 7 20

Format danych Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Łańcuchy literowe (character string) typowo 1 bajt na literę (znak), najczęściej w kodzie ASCII, czasem EBCDIC Liczby zmiennoprzecinkowe (floating-point numbers), zapisywane w różnych kodach, ale przy zachowaniu formatu: bit znaku pole wykładnika pole ułamka: 24 bity pojedyncza precyzja 56 bitów podwójna precyzja Przykład konwersji: (23,5) 10 = (10111.1) 2 = (0.101111) x (2) 5 Architektura komputerów, część 7 21

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Liczby zmiennoprzecinkowe Zapis stałoprzecinkowy jest dogodny przy zapisie liczb o ograniczonej wielkości modułu. W komputerze, który wykorzystuje 32 bity do reprezentacji liczby, zakres liczb całkowitych jest ograniczony do: + (2 31 1) czyli ~+10 12 Ogólna forma zapisu zmiennoprzecinkowego liczby N: N = F x r E gdzie F ułamek lub mantysa, r to podstawa, a E - wykładnik 22

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Liczby zmiennoprzecinkowe Rozważmy liczbę N = 4580000 = 0,458 x 10 7 = 0,0458 x 10 8 = 4,58 x 10 6 Trzy ostatnie zapisy to liczby zapisane w poprawnej postaci zmiennoprzecinkowej. Dwa pierwsze zapisy (lewa strona = 0) są bardziej optymalne (nie ma potrzeby zapisu części całkowitej mantysy). Napis wyróżniony: postać znormalizowana (z mantysy zostały wyeliminowane wszystkie znaczące zera) 23

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Zapis zmiennoprzecinkowy binarny Mantysa może być dodatnia lub ujemna Wykładnik może być dodatni lub ujemny MAMY WIĘC CZTERY SKŁADNIKI ZAPISU!!! Mantysa (F) i znak mantysy (SF) Wykładnik (E) i znak wykładnika (SE) F jest w formie znormalizowanej, najczęściej w kodzie rzeczywistym binarnym, znak 0 dla + i 1 dla - 0,5 < F < 1 (dlaczego? ) Dla wartości 0 jest wyjątek: wszystkie 4 składniki są równe 0 24

Endien Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Istnieją dwa sposoby na przedstawienie wielobajtowej danej w architekturze o adresowanych bajtach. Tryb little Endien najmniej znaczący bajt danych jest zapisywany w bajcie o najniższym adresie i kolejne pod lokalizacjami o wyższych adresach Tryb big Endien odwrotnie, od najwyższego, do najniższego adresu Przykład: liczba (56789ABC) 16 wymaga 4 bajtów do zapisu, o adresach np. 0, 1, 2, 3 Zapis dla obu formatów: 0 1 2 3 little Endien BC 9A 78 56 big Endien 56 78 9A BC Architektura komputerów, część 7 25

Endien Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Oczywiście istotne jest uwzględnienie formatu przy przetwarzaniu wielobajtowych liczb, zapisywaniu czy odczycie z pliku Serie Intel stosują little Endien (ale nowsze procesory mają funkcję odwracania do swojego formatu za pośrednictwem rejestru, jeżeli jakaś aplikacja zapisuje inaczej) Serie Motorola stosują big Endien Aplikacje takie, jak JPEG, Adobe Photoshop big Endien Wszystkie aplikacje typowe dla Windows (BMP, GIF) little Endien Microsoft WAV, TIF oba formaty Architektura komputerów, część 7 26

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Standard IEEE (Institute of Electrical & Electronics Engineers) IEEE-754 określa, jak mają być reprezentowane liczby o pojedynczej precyzji (32 bity) i podwójnej precyzji (64) bity w zapisie zmiennoprzecinkowym Wykładnik przesunięty dodawana jest stała przesunięcia (moduł największej liczby ujemnej, jaka może być zapisana w polu wykładnika); umożliwia to porównanie i zrównanie wykładników przed dodawaniem e bitów wykładnika f bitów mantysy 1 bit znaku Razem e + f + 1 bitów bit nr 0 27

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Pojedyncza precyzja (słowo 32 bitowe) Liczba -118,625 zostanie zapisana: bit 8 bitów 23 bity znaku Wykładnik Mantysa 1 10000101 11011010100000000000000 Ponieważ pole wykładnika jest 8-bitowe; stała przesunięcia 2 8-1 -1=127 Wykładnik równa się 6, przesunięcie 127, czyli 6+127=133 28

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Zapisy znormalizowane Istnieją dwa poprawne zapisy dla 0 (+0 oraz -0) (analogicznie istnieje zapis dla + oraz - ) -126 to najmniejszy wykładnik dla liczby znormalizowanej; wszystkie 1 oznaczają nieskończoność Najmniejsze znormalizowane liczby w zapisie pojedynczej precyzji: +2-126 + 1,175494351 x 10-38 Największe (254 w polu wykładnika i 1 w mantysie): + 3,4028235 x 10 38 29

Podwójna precyzja (słowo 64 bitowe) Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego bit 11 bitów 52 bity znaku Wykładnik Mantysa Dla liczb znormalizowanych przesunięcie wykładnika wynosi +1023 Wartości najmniejsze: +2,2250738585072020 x 10-308 Największe +1,7976931348623157 x 10 308 30

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Dokładność Zaokrąglanie do najbliższej wartości, w kierunku większej wartości lub w kierunku mniejszej, obcinanie Zaokrąglanie odbywa się najczęściej po każdym działaniu, niedokładności mogą się więc akumulować 63,0/9,0 raczej da w wyniku 7, ale 0,63/0,09 może, z powodu obcinania dać wynik 6 Ograniczony zakres wykładnika w wynikach cząstkowych może się pokazać nieskończoność Identyczne matematycznie działania wykonywane w różnej kolejności mogą dać różne wyniki 31

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Kody binarne (KODUJEMY KOLEJNE CYFRY, NIE LICZBY!) W łańcuchu zawierającym n bitów można zapisać 2 n różnych elementów Cyfry w układzie dziesiętnym (od 0 do 9) mieszczą się w 4-bitowym kodzie, ale mogą być zapisane w różny sposób 4 bity dają możliwości zapisu 16 wielkości Kody wagowe pozycja każdego bitu niesie swoją wagę Kod BCD (binary coded decimal) jest kodem podstawowym (8421) Każda cyfra liczby dziesiętnej zostaje przedstawiona przez 4 bity np. (536) 10 w kodzie BCD przybierze postać: 5 3 6 (0101 0011 0110) BCD i działania arytmetyczne są wykonywane cyfra po cyfrze. 32

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Przykłady kodów wagowych do zapisu cyfr Wagi 8 4 2 1 2 4 2 1 6 4 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 2 0 0 1 0 0 0 1 0 0 0 1 0 3 0 0 1 1 0 0 1 1 1 0 0 1 4 0 1 0 0 0 1 0 0 0 1 0 0 5 0 1 0 1 1 0 1 1 1 0 1 1 6 0 1 1 0 1 1 0 0 0 1 1 0 7 0 1 1 1 1 1 0 1 1 1 0 1 8 1 0 0 0 1 1 1 0 1 0 1 0 9 1 0 0 1 1 1 1 1 1 1 1 1 33

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Działania arytmetyczne - problem Rozważmy przykłady: liczby dziesiętne kod BCD 532 0101 0011 0010 + 126 0001 0010 0110 658 0110 0101 1000 532 0101 0011 0010 + 268 0010 0110 1000 800 0111 1001 1010 korekta pierwsza +0110 0111 1110 0000 korekta druga 1000 0000 0000 Nie ma takiego zapisu w kodzie Ani takiego! 34

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Kody binarne niewagowe; Kod Graya (refleksyjny; cykliczny) Jest to 4-bitowy kod, w którym 16 zakodowanych słów zmienia się kolejno tylko o 1 bit, podczas, gdy przechodzimy od jednego słowa do drugiego: Zapis dziesiętny kod Graya Zapis dzies. kod Graya 0 0000 8 1100 1 0001 9 1101 2 0011 10 1111 3 0010 11 1110 4 0110 12 1010 5 0111 13 1011 6 0101 14 1001 7 0100 15 1000 35

Kody z wykrywaniem błędów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Można dodać bit parzystości np. Even BCD; otrzymamy wtedy kod 5 bitowy, gdzie najmniej znaczący bit ma tylko znaczenie kontrolne. Będzie równy 1, gdy liczba jedynek w bitach znaczących jest nieparzysta oraz 0, gdy jest 0 lub parzysta Np. 1 będzie zapisane jako 00011; 2 jako 00101; 3 jako 00110 Kod 2-out-of-5 (Dwa z pięciu) koduje cyfry w pięciu bitach, tylko w kombinacjach, gdzie są dwie jedynki, tzn. 0 11000 1 00011 2 00101 3 00110 4 01001 5 01010 6 01100 7 10001 8 10010 9 10100 36

Kody alfanumeryczne Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Są to kody 8 bitowe (256 znaków). Zawierają wszystkie cyfry, litery alfabetu angielskiego (łacińskiego) - duże i małe, znaki interpunkcyjne i pewne dodatkowe Podstawowe znaczenie w systemach komputerowych ma kod ASCII (American Standard Code for Information Interchange) Odpowiednio są znormalizowane zestawy kodów (strony) zawierające znaki narodowe (litery ze znakami diakrytycznymi). Polski język posiada nawet 2 strony (zostały znormalizowane dwa układy klawiatur) Dla potrzeb edycji znormalizowano tablice z różnymi rodzajami, krojami znaków oraz takimi, które mogą być pomocne przy rysowaniu tabel, wzorów itd 37

Przechowywanie danych Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Zbiór pojedynczych komórek (każda zawiera bit) to rejestr, determinujący długość słowa W systemie 16 bitowym najczęściej można było manipulować liczbami 16 bitowymi i długość słowa wynosiła 16 bitów, itd. W systemach komputerowych wykorzystywane są odpowiednio słowa 4 bitowe (nibble); 8 bitowe (bajty); 16-, 32 i 64 bitowe. W danym systemie wykorzystywane są również połówki rejestrów (pół słowa) lub rejestry podwojone (128 bitów dla systemu 64 bitowego) Zapis danej liczbowej, znaku, litery, adresu, instrukcji jest ciągiem zer i jedynek i rozróżnienie znaczenia logicznego takiego ciągu jest dokonywane w przeważającym stopniu programowo. 38

Liczby różne sposoby zapisu Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Podsumujmy na przykładzie liczby 53 10 W słowie 16-bitowym zwykła dwójkowa reprezentacja: bajt 1 bajt 0 00000000 00110101 W kodzie BCD (w 16 bitach mieszczą się 4 cyfry) 00000000 01010011 Zapis zmiennoprzecinkowy przy zastosowaniu standardu IEEE: 1 bit znaku, 8 bitów wykładnika, 23 bity mantysy 01000010010101000000000000000000 39

Tablice (Arrays) Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Łańcuch (string) jest tablicą jednowymiarową Tablica zawiera kolejne wartości elementów macierzy, zapisywane w kolejności: wiersz za wierszem od góry do dołu albo kolumna za kolumną od lewej do prawej W rejestrach znajdą się kolejno: A = 4 8 1 9 4 4 1 Lub 8 8 1 9 9 40

Rekordy Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Rekord zazwyczaj zawiera jedno, lub więcej pól. Każde pole może zajmować inną liczbę bitów i rejestrów oraz reprezentować inny rodzaj danych i sposobu zapisu Rekordy są wykorzystywane szczególnie w bazach danych 41

KONIEC CZĘŚCI DRUGIEJ Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna dydaktyka bez ograniczeń zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Zadanie nr 30 Dostosowanie kierunku Elektronika i Telekomunikacja do potrzeb rynku pracy i gospodarki opartej na wiedzy 90-924 Łódź, ul. Żeromskiego 116, tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl