prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada...
Transcript of prez2 [tryb zgodności] · Kody uzupełnień oraz zapis znak -moduł • Uzupełnienie odpowiada...
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
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
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.
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
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
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
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
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
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ł
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 ☺
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
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
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
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
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
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
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
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)
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.
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
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
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
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)
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
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
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
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
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
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
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
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
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.
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
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!
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
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
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
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.
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
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
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
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