prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada...

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

Transcript of prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada...

Page 1: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

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ą,

Dr inż. Małgorzata Langer

Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja.

Studia I stopnia

Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja.

Studia I stopnia

zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych”

90-924 Łódź, ul. Żeromskiego 116,tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl

Zadanie nr 30 – Dostosowanie kierunku Elektronika i Telekomunikacja

do potrzeb rynku pracy i gospodarki opartej na wiedzy

Architektura komputerówArchitektura komputerów

Page 2: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Notacje – systemy zapisu liczbNotacje – 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

Architektura komputerów, część 2

2

• Dowolną liczbę możemy przedstawić jako wielomian.

Np. 1234,98 = 1 x 103 + 2 x 102 + 3 x 101 + 4 x 100 + 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

Page 3: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Ogólna postać wielomianu dla dowolnej liczby i notacjiOgólna postać wielomianu dla dowolnej liczby i notacji

∑−=

=n

mi

ii raN

Architektura komputerów, część 2

3

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

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.

W systemie dziesiętnym r=10

W systemie dwójkowym r=2, ósemkowym r=8, itd.

Page 4: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Notacja szesnastkowa (r=16)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 Szesnastkowa0, 1, 2, 3, … , 8, 9 0, 1, 2, 3, … , 8, 910 A

Architektura komputerów, część 2

4

11 B12 C13 D14 E15 F

Page 5: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

PrzykładyPrzykłady

Notacja Dziesiętna Dwójkowa Ósemkowa Szesnastkowa0 0 0 01 1 1 12 10 2 29 1001 11 915 1111 17 F

Architektura komputerów, część 2

5

15 1111 17 F18 10010 22 1220 10100 24 14100 1100100 144 64

100 = 1x102 + 0x101+0x100

= 64+32+0+0+4+0+01x82+4x81+4x80

6x161+ 4x160

Page 6: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Konwersja liczbKonwersja liczb

• 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

Architektura komputerów, część 2

6

• Przykład: Przekształcić 245(10) w zapis dwójkowy245:2 = 122 + reszta 1 1122:2 = 61 + reszta 0 0161:2 = 30 + reszta 1 10130:2 = 15 + reszta 0 010115:2 = 7 + reszta 1 101017:2 = 3 + reszta 1 1101013:2= 1 + reszta 1 1110101tylko 1 11110101

Page 7: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Inne przykładyInne przykłady

• (245)10 = (?)8245:8 = 30 + 5

30:8 = 3 + 6zostaje 3 → (365)8

• (245)10 = (?)16245:16 = 15 + 5zostaje 15 → (F5)16

• Dla części ułamkowej – zamiast dzielenia – mnożymy to, co po przecinku:

Architektura komputerów, część 2

7

• Dla części ułamkowej – zamiast dzielenia – mnożymy to, co po przecinku:(0,345)10 = (?)2

2 x 0,345 = 0,6902 x 0,690 = 1,3802 x 0,380 = 0,7602 x 0,760 = 1,5202 x 0,520 = 1,0402 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

Page 8: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Działania arytmetyczneDziałania arytmetyczne

• 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)

Architektura komputerów, część 2

8

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

Page 9: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Liczby ujemneLiczby ujemne

• 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)

Architektura komputerów, część 2

9

• 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ł

Page 10: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Znak i modułZnak i moduł

• 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

Architektura komputerów, część 2

10

niego odpowiedni znak• System stosowany w miernikach cyfrowych, czasem

w sterownikach, zwłaszcza, gdy używany jest kod dziesiętnyw obliczeniach – wrócimy do tego później ☺

Page 11: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Liczby ujemneLiczby ujemne

• 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

Architektura komputerów, część 2

11

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

Page 12: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Kod uzupełnieńKod uzupełnień

• 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

Architektura komputerów, część 2

12

• 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

Page 13: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Algorytm mnożenia liczb binarnych bez znakuAlgorytm mnożenia liczb binarnych bez znaku

Architektura komputerów, część 2

13

Page 14: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Algorytm dzielenia liczb binarnych bez znaku

Algorytm dzielenia liczb binarnych bez znaku

Architektura komputerów, część 2

14

Page 15: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Uzupełnienie do podstawy notacjiUzupełnienie do podstawy notacji

• Uzupełnienie do podstawy notacji: [N]rgdzie r – podstawa notacji; n – liczba cyfr w części całkowitej liczby (N)r

[ ]0)(0

0)()(

==≠−= rr

nr

Ngdy

NgdyNrN

Architektura komputerów, część 2

15

0)(0 == rNgdy

Przykład: U2 dla (01010)2 → n=5 ; r=2:

2101 – (01010) = 100000 – 01010 = 10110

dla (0,0010)2 → n=1 ; r=2

21 – (0,0010) = 10,0000 – 0,0010 = 1,1110

Przykład: U2 dla (01010)2 → n=5 ; r=2:

2101 – (01010) = 100000 – 01010 = 10110

dla (0,0010)2 → n=1 ; r=2

21 – (0,0010) = 10,0000 – 0,0010 = 1,1110

Page 16: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Inne metody obliczania U2Inne metody obliczania U2

• Zmień wartość każdego bitu i dodaj 1:• Przykład: [01010]2 = ?

- zmieniamy o na 1 i odwrotnie: 10101- dodajemy 1 + 1WYNIK: 10110

Architektura komputerów, część 2

16

• 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 1WYNIK: 10110

Page 17: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Uzupełnienie do podstawy pomniejszonej o 1Uzupełnienie do podstawy pomniejszonej o 1

• [N]r-1 = rn – 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 [N]r = [N]r-1 + r-m

Architektura komputerów, część 2

17

• Zauważmy, że [N]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

Page 18: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Kody uzupełnień oraz zapis znak - moduł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

Architektura komputerów, część 2

18

- 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ł -(2n-1 – 1) do +(2n-1 – 1)U1 -(2n-1 – 1) do +(2n-1 – 1)U2 -(2n-1) do +(2n-1 – 1)

Page 19: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Działania arytmetyczne w poszczególnych kodachDział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

Architektura komputerów, część 2

19

• 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.

Page 20: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Format danychFormat danych

• 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

Architektura komputerów, część 7

20

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

Page 21: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Format danychFormat danych

• Ł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

Architektura komputerów, część 7

21

pole wykładnikapole ułamka:

24 bity – pojedyncza precyzja56 bitów – podwójna precyzja

• Przykład konwersji: (23,5)10 = (10111.1)2 = (0.101111) x (2)5

Page 22: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

• 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:

+ (231 – 1) czyli ~+1012

Liczby zmiennoprzecinkoweLiczby zmiennoprzecinkowe

Architektura komputerów, część 2

22

+ (231 – 1) czyli ~+1012

• Ogólna forma zapisu zmiennoprzecinkowego liczby N:

N = F x rE

gdzie F – ułamek lub mantysa, r to podstawa, a E - wykładnik

Page 23: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozważmy liczbę N = 4580000= 0,458 x 107

= 0,0458 x 108

= 4,58 x 106

Trzy ostatnie zapisy – to liczby zapisane w poprawnej postaci

Liczby zmiennoprzecinkoweLiczby zmiennoprzecinkowe

Architektura komputerów, część 2

23

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)

Page 24: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

• 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)

Zapis zmiennoprzecinkowy binarnyZapis zmiennoprzecinkowy binarny

Architektura komputerów, część 2

24

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

Page 25: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

EndienEndien

• 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

Architektura komputerów, część 7

25

• 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, 3Zapis dla obu formatów: 0 1 2 3little Endien BC 9A 78 56big Endien 56 78 9A BC

Page 26: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

EndienEndien

• 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

Architektura komputerów, część 7

26

• 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

Page 27: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

• 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

Standard IEEE (Institute of Electrical & Electronics Engineers)Standard IEEE (Institute of Electrical & Electronics Engineers)

Architektura komputerów, część 2

27

wykładnika); umożliwia to porównanie i zrównanie wykładników przed dodawaniem

1 bit znaku1 bit

znaku

e bitów wykładnika

e bitów wykładnika

f bitów mantysyf bitów mantysy

Razem e + f + 1 bitów bit nr 0Razem e + f + 1 bitów bit nr 0

Page 28: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

• Liczba -118,625 zostanie zapisana:bit 8 bitów 23 bityznaku Wykładnik Mantysa

1 10000101 11011010100000000000000

Pojedyncza precyzja (słowo 32 bitowe)Pojedyncza precyzja (słowo 32 bitowe)

Architektura komputerów, część 2

28

• Ponieważ pole wykładnika jest 8-bitowe; stała przesunięcia 28-1-1=127Wykładnik równa się 6, przesunięcie 127, czyli 6+127=133

Page 29: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

• 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:

Zapisy znormalizowaneZapisy znormalizowane

Architektura komputerów, część 2

29

• 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 1038

Page 30: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

• Dla liczb znormalizowanych przesunięcie wykładnika wynosi +1023• Wartości najmniejsze:

≅ +2,2250738585072020 x 10-308

Podwójna precyzja (słowo 64 bitowe)Podwójna precyzja (słowo 64 bitowe)

bit 11 bitów 52 bityznaku Wykładnik Mantysabit 11 bitów 52 bityznaku Wykładnik Mantysa

Architektura komputerów, część 2

30

≅ +2,2250738585072020 x 10-308

• Największe ≅ +1,7976931348623157 x 10308

Page 31: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

• 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

DokładnośćDokładność

Architektura komputerów, część 2

31

• 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

Page 32: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

• W łańcuchu zawierającym n bitów można zapisać 2n 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ę

Kody binarne (KODUJEMY KOLEJNE CYFRY, NIE LICZBY!)Kody binarne (KODUJEMY KOLEJNE CYFRY, NIE LICZBY!)

Architektura komputerów, część 2

32

• 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.

Page 33: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Wagi 8 4 2 1 2 4 2 1 6 4 2 – 30 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 1 0 0 0 1 0 1 0 12 0 0 1 0 0 0 1 0 0 0 1 03 0 0 1 1 0 0 1 1 1 0 0 14 0 1 0 0 0 1 0 0 0 1 0 0

Przykłady kodów wagowych do zapisu cyfrPrzykłady kodów wagowych do zapisu cyfr

Architektura komputerów, część 2

33

4 0 1 0 0 0 1 0 0 0 1 0 05 0 1 0 1 1 0 1 1 1 0 1 16 0 1 1 0 1 1 0 0 0 1 1 07 0 1 1 1 1 1 0 1 1 1 0 18 1 0 0 0 1 1 1 0 1 0 1 09 1 0 0 1 1 1 1 1 1 1 1 1

Page 34: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

• Rozważmy przykłady:liczby dziesiętne kod BCD

532 0101 0011 0010+ 126 0001 0010 0110

658 0110 0101 1000•

Działania arytmetyczne - problemDziałania arytmetyczne - problem

Architektura komputerów, część 2

34

•532 0101 0011 0010

+ 268 0010 0110 1000800 0111 1001 1010

korekta pierwsza +01100111 1110 0000

korekta druga ____________1000 0000 0000

Nie ma takiego zapisu w kodzieNie ma takiego zapisu w kodzie

Ani takiego!Ani takiego!

Page 35: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Kody binarne niewagowe; Kod Graya (refleksyjny; cykliczny)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 Graya0 0000 8 1100

Architektura komputerów, część 2

35

0 0000 8 11001 0001 9 11012 0011 10 11113 0010 11 11104 0110 12 10105 0111 13 10116 0101 14 10017 0100 15 1000

Page 36: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

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

Kody z wykrywaniem błędówKody z wykrywaniem błędów

Architektura komputerów, część 2

36

• 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 001013 00110 4 01001 5 010106 01100 7 10001 8 100109 10100

Page 37: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

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)

Kody alfanumeryczneKody alfanumeryczne

Architektura komputerów, część 2

37

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

Page 38: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

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.

Przechowywanie danychPrzechowywanie danych

Architektura komputerów, część 2

38

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.

Page 39: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Podsumujmy na przykładzie liczby 5310

• 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)

Liczby – różne sposoby zapisuLiczby – różne sposoby zapisu

Architektura komputerów, część 2

39

• 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 mantysy01000010010101000000000000000000

Page 40: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

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łualbo kolumna za kolumną od lewej do prawej

Tablice (Arrays)Tablice (Arrays)

W rejestrach znajdą się kolejno:W rejestrach znajdą się kolejno:

Architektura komputerów, część 2

40

=

98

14A

4 4

1 Lub 8

8 1

9 9

4 4

1 Lub 8

8 1

9 9

Page 41: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

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

RekordyRekordy

Architektura komputerów, część 2

41

rodzaj danych i sposobu zapisu• Rekordy są wykorzystywane szczególnie w bazach danych

Page 42: prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada reprezentacji liczby ujemnej • Reprezentacja liczby dodatniej nie zmienia si ę

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ą,

Dr inż. Małgorzata Langer

KONIEC CZĘŚCI DRUGIEJKONIEC CZĘŚCI DRUGIEJ

zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych”

90-924 Łódź, ul. Żeromskiego 116,tel. 042 631 28 83 www.kapitalludzki.p.lodz.pl

Zadanie nr 30 – Dostosowanie kierunku Elektronika i Telekomunikacja

do potrzeb rynku pracy i gospodarki opartej na wiedzy

Architektura komputerówArchitektura komputerów