0 - Institute of Electronics

Transkrypt

0 - Institute of Electronics
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 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
Architektura komputerów, część 2
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
∑a r
i =− m
i
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.
Architektura komputerów, część 2
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
0, 1, 2, 3, … , 8, 9
10
11
12
13
14
15
Szesnastkowa
0, 1, 2, 3, … , 8, 9
A
B
C
D
E
F
Architektura komputerów, część 2
4
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Przykłady
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 = 1x102 + 0x101+0x100
= 64+32+0+0+4+0+0
1x82+4x81+4x80
6x161+ 4x160
Architektura komputerów, część 2
5
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Konwersja 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
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
Architektura komputerów, część 2
6
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Inne przykłady
•
(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 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
Architektura komputerów, część 2
7
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Dział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)
• 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
Architektura komputerów, część 2
8
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Liczby 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)
(-2)2
1 0010
(+2)2
0 0010
(-56)8
7 0056
(+11F)16
0 011F
znak
moduł
Architektura komputerów, część 2
9
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
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
• 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 ☺
Architektura komputerów, część 2
10
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Liczby 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
• 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
Architektura komputerów, część 2
11
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
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
wielokrotnemu dodawaniu lub odejmowaniu – możemy stwierdzić,
że możliwe jest wykonanie czterech podstawowych działań
arytmetycznych przy zastosowaniu WYŁĄCZNIE DODAWANIA
Architektura komputerów, część 2
12
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Algorytm 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
Architektura komputerów, część 2
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 = r n − ( N ) r
=0
gdy ( N ) r ≠ 0
gdy ( N ) r = 0
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
Architektura komputerów, część 2
15
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Inne metody obliczania U2
• 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
Architektura komputerów, część 2
16
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Uzupeł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
• 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
Architektura komputerów, część 2
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ł
-(2n-1 – 1) do +(2n-1 – 1)
U1
-(2n-1 – 1) do +(2n-1 – 1)
U2
-(2n-1)
do +(2n-1 – 1)
Architektura komputerów, część 2
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.
Architektura komputerów, część 2
19
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Format 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
• 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
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Format 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
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:
+ (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
Architektura komputerów, część 2
22
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Liczby zmiennoprzecinkowe
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
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)
Architektura komputerów, część 2
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
Architektura komputerów, część 2
24
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Endien
• 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
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Endien
• 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
1 bit
znaku
f bitów mantysy
Razem e + f + 1 bitów
bit nr 0
Architektura komputerów, część 2
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
28-1-1=127
Wykładnik równa się 6, przesunięcie 127, czyli 6+127=133
Architektura komputerów, część 2
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 1038
Architektura komputerów, część 2
29
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Podwójna precyzja (słowo 64 bitowe)
bit
11 bitów
znaku Wykładnik
52 bity
Mantysa
• Dla liczb znormalizowanych przesunięcie wykładnika wynosi +1023
• Wartości najmniejsze:
≅ +2,2250738585072020 x 10-308
• Największe
≅ +1,7976931348623157 x 10308
Architektura komputerów, część 2
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
Architektura komputerów, część 2
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ć 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ę
• 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.
Architektura komputerów, część 2
32
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Przykłady kodów wagowych do zapisu cyfr
Wagi
0
1
2
3
4
5
6
7
8
9
8421
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
2421
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
642–3
0000
0101
0010
1001
0100
1011
0110
1101
1010
1111
Architektura komputerów, część 2
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!
Architektura komputerów, część 2
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
1
2
3
4
5
6
7
0000
0001
0011
0010
0110
0111
0101
0100
8
9
10
11
12
13
14
15
1100
1101
1111
1110
1010
1011
1001
1000
Architektura komputerów, część 2
35
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Kody z wykrywaniem błędów
• 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
Architektura komputerów, część 2
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
Architektura komputerów, część 2
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.
Architektura komputerów, część 2
38
Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Liczby – różne sposoby zapisu
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)
00000000
01010011
• Zapis zmiennoprzecinkowy przy zastosowaniu standardu IEEE:
1 bit znaku, 8 bitów wykładnika, 23 bity mantysy
01000010010101000000000000000000
Architektura komputerów, część 2
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:
 4 1
A=

8 9 
4
1
4
Lub
8
8
1
9
9
Architektura komputerów, część 2
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
Architektura komputerów, część 2
41
KONIEC CZĘŚCI DRUGIEJ
Prezentacja multimedialna
współfinansowana przez Unię Europejską
w ramach Europejskiego Funduszu Społecznego
w projekcie
Dr inż. Małgorzata Langer
Architektura
komputerów
„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

Podobne dokumenty