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