ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH część 1 dr inż. Małgorzata Langer B9, pok. 310 Instytut Elektroniki
Cel przedmiotu Program przedmiotu Architektura systemów mikroprocesorowych ma za zadanie pokazać podstawowe funkcje i działanie różnych bloków systemów oraz zdefiniować interfejsy pomiędzy tymi blokami. Jednakowa waga będzie przykładana do następujących aspektów: - organizacji systemu widzianej okiem programisty - opisu sprzętu spostrzeganego okiem projektanta elektronika -szczegółowego logicznego opisu działania systemu (wraz z funkcjami OS) 2
Dlaczego systemy mikroprocesorowe System mikroprocesorowy system do realizacji dowolnego zadania, wykonalnego poprzez przetwarzanie informacji cyfrowej, przy pomocy sprzętu i oprogramowania Głównym elementem systemu jest mikroprocesor System komputerowy jest systemem mikroprocesorowym Różnice istnieją w ogólności aplikacji, możliwych rozwiązaniach dedykowanych, itd. System mikroprocesorowy składa się z mikroprocesora, pamięci operacyjnej, pamięci stałej, układów wejścia wyjścia, układów umożliwiających przepływ informacji, oprogramowania użytkowego
System komputerowy System komputerowyto urządzenie, lub zespół urządzeń (cyfrowych?) do przetwarzania, gromadzenia i wyszukiwania informacji za pomocą odpowiedniego oprogramowania Zasadniczym zadaniemsystemu komputerowego jest przetwarzanie wprowadzonych (wejściowych) danych tak, aby wyniki (dane wyjściowe) mogły być (z lepszym skutkiem, łatwiej) zastosowane w szczególnej aplikacji w szczególnym otoczeniu System komputerowy jest powiązany z otoczeniemprzez urządzenia peryferyjne i/lub linie komunikacyjne 4
Sprzęt (ang. hardware) Cztery główne elementy blokowe występują we wszystkich systemach komputerowych: - jednostka sterująca, CU (Control Unit); centralna CPU; procesor zawierająca odrębną funkcjonalnie: * jednostkę arytmetyczną i logiczną ALU(Arithmetic & Logic Unit); -pamięć MU (Memory Unit), pamięć główna -MM; - jednostka wejścia/wyjścia IOU lub I/O (Input/Putput Unit); Komputery są zawodne, ale ludzie jeszcze bardziej (Ed. Murphy) 5
Funkcje komputera Są 4 podstawowe funkcje, które może realizować system: - przetwarzanie danych - przechowywanie danych - przenoszenie danych - sterowanie Przechowywanie danych Środowisko aplikacyjne (źródło/miejsce przeznaczenia danych) Przemieszczanie danych Urządzenie sterujące Funkcjonalny obraz komputera Przetwarzanie danych 6
Oprogramowanie (ang. software) Elementami systemu mikroprocesorowego są w przeważającej większości urządzenia elektroniczne, w których podstawową jednostką informacji jest albo 0, albo 1 odpowiadające dwóm stanom sygnału elektrycznego Programy i dane dla nich muszą więc być wyrażone przy użyciu notacji dwójkowej ( alfabetu binarnego zawierającego tylko dwa znaki: 0 i 1). Programy napisane w kodzie dwójkowym toprogramy w języku maszynowym Programowanie tylko przy zastosowaniu ciągu zer i jedynek byłoby prawie niemożliwe. Część podstawowych, prostych (tzw. primitives) instrukcji, jak przesuwanie (shift), dodawanie (add) odejmowanie (sub) itp. ma swoją znakową postać język asemblera, którą może posługiwać się programista a zrozumie ją ASEMBLER dla danego sprzętu (tłumaczy język asemblera na kod maszynowy). 7
Oprogramowanie c.d. Języki wyższego poziomu(c, C++, JAVA, DELPHI, ) mogą być używane niezależnie od sprzętu. Potrzebny jest KOMPILATOR (inny dla każdego języka), który przetłumaczy program napisany w języku wyższego poziomu na język maszynowy PAMIĘTAJ: Asembler i kompilator są PROGRAMAMI Program w asemblerze ASEMBLER Program w jęz. wyższego poziomu KOMPILATOR Program w języku maszynowym Załadowanie 8
System operacyjny Operacje takie, jak wybór odpowiedniego kompilatora, załadowanie kodu do pamięci, start, stop, itp. Są wykonywane automatycznie Zestaw programów nadzorujących, który pozwala na takie automatyczne działanie to SYSTEM OPERACYJNY System operacyjny i niektóre programy użytkowe oraz dane, zwłaszcza o sprzęcie, które nie powinny być modyfikowane ani kasowane, rezydują często w pamięci typu tylko do odczytu (read-only). Takie oprogramowanie nazywane jest firmware Nie można żadnego urządzenia zrobić "odpornym na głupotę", ponieważ głupcy są genialni. 9
System operacyjny OS (ang. OperatingSystem) Program, który działa jako interfejs między użytkownikiem a sprzętem komputerowym (mikroprocesorowym) Oprogramowanie, które steruje wykonywaniem programów przez procesor i zarządza jego zasobami Szereguje procesy (zadania); umożliwia współbieżne wykonywanie programów, itd. Zarządza pamięcią, również tworzy pamięć wirtualną JEST SPRZĘTOWO ZALEŻNY OD PROCESORA 10
Warstwy systemu komputerowego 11
Notacje systemy zapisu liczb Dane, które są przetwarzane w systemach komputerowych, zawierają cyfry, znaki alfabetu łacińskiego i znaki ze znakami diakrytycznymi ( narodowe np. polskie: ą, ś,ń, )oraz znaki specjalne, jak @, #, +, *, Najpowszechniej używanym systemem liczbowym na zewnątrz komputera jest system dziesiętny Dowolną liczbę możemy przedstawić jako wielomian. Np. 1234,98 = 1 x 10 3 + 2 x 10 2 + 3 x 10 1 + 4 x 10 0 + 9 x 10-1 + 8 x 10-2 Systemy komputerowe przyjmują, przetwarzają i wystawiają na wyjściach ciągi zer i jedynek w kodzie dwójkowym, binarnym 12
N Ogólna postać wielomianu dla = dowolnej liczby i notacji n i= m a i r i Gdzie N liczba zapisana we właściwej notacji; n+1 liczba cyfr w części całkowitej, m liczba cyfr w części ułamkowej, r podstawa notacji W systemie dziesiętnym r=10 W systemie dwójkowym r=2, ósemkowym r=8, itd. 13
Notacja szesnastkowa (r=16) Ponieważ brakuje cyfr, stosuje się pierwsze, kolejne, litery alfabetu łacińskiego dla wyrażenia cyfr powyżej 9 Notacja dziesiętna Szesnastkowa 0, 1, 2, 3,, 8, 9 0, 1, 2, 3,, 8, 9 10 A 11 B 12 C 13 D 14 E 15 F 14
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 = 1x10 2 + 0x10 1 +0x10 0 = 64+32+0+0+4+0+0 1x8 2 +4x8 1 +4x8 0 6x16 1 + 4x16 0 15
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 16
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 17
Działania arytmetyczne Ogólne zasady wykonywania działań arytmetycznych są jednakowe we wszystkich notacjach 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 18
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ść 0dla liczb dodatnich i r-1dla liczb ujemnych (czyli F dla notacji szesnastkowej, 7 dla ósemkowej, 1 dla binarnej ) Przykłady: liczba reprezentacja (zakładamy razem 5 cyfr) (-2) 2 10010 (+2) 2 00010 (-56) 8 70056 (+11F) 16 0011F znak moduł 19
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 20
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 21
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 22
Uzupełnienie do podstawy notacji Uzupełnienie do podstawy notacji: [N] r gdzie r podstawa notacji; n liczba cyfr w części całkowitej liczby (N) r [ N] r n = r ( N) r gdy ( N) r = 0 gdy ( N ) = = r 0 0 Przykład: U2 dla (01010) 2 n=5 ; r=2: 2 101 (01010) = 100000 01010 = 10110 dla (0,0010) 2 n=1 ; r=2 2 1 (0,0010) = 10,0000 0,0010 = 1,1110 23
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 24
Uzupełnienie do podstawy pomniejszonej o 1 [N] r-1 = r n r -m (N) r gdzie r podstawa notacji, n liczba cyfr w części całkowitej, m w części ułamkowej Zauważmy, że [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 25
Kody uzupełnień oraz zapis znak - moduł Uzupełnienie odpowiada reprezentacji liczby ujemnej Reprezentacja liczby dodatniej nie zmienia się Mamy więc trzy sposoby zapisu liczby ujemnej w systemie binarnym: - znak moduł - U1 - U2 Jeżeli do zapisania jednej liczby w systemie binarnym służy n bitów, zakres liczb w systemach jest następujący: znak-moduł -(2 n-1 1) do +(2 n-1 1) U1 -(2 n-1 1) do +(2 n-1 1) U2 -(2 n-1 ) do +(2 n-1 1) 26
Działania arytmetyczne w poszczególnych kodach 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. 27
Format danych Liczby stałoprzecinkowe -Fixedpoint -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(decimalmode) 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 28
Format danych Łańcuchy literowe(characterstring) typowo 1 bajt na literę (znak), najczęściej w kodzie ASCII, czasem EBCDIC Liczby zmiennoprzecinkowe(floating-pointnumbers), 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 29
Liczby zmiennoprzecinkowe Zapis stałoprzecinkowy jest dogodny przy zapisie liczb o ograniczonej wielkości modułu. W procesorze, który wykorzystuje 32 bity do reprezentacji liczby, zakres liczb całkowitych jest ograniczony do: +(2 31 1) czyli ~+10 12 Ogólna forma zapisu zmiennoprzecinkowego liczby N: N = F x r E gdzie F ułamek lub mantysa, rto podstawa, a E -wykładnik 30
Liczby zmiennoprzecinkowe Rozważmy liczbę N = 4580000 = 0,458 x 10 7 = 0,0458 x 10 8 = 4,58 x 10 6 Trzy ostatnie zapisy to liczby zapisane w poprawnej postaci zmiennoprzecinkowej. Dwa pierwsze zapisy (lewa strona = 0) są bardziej optymalne (nie ma potrzeby zapisu części całkowitej mantysy). Napis wyróżniony:postać znormalizowana (z mantysy zostały wyeliminowane wszystkie znaczące zera) 31
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 32
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 33
Endien Oczywiście istotne jest uwzględnienie formatu przy przetwarzaniu wielobajtowych liczb, zapisywaniu czy odczycie z pliku Serie Intel stosują littleendien(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 34
Standard IEEE (Institute of Electrical& Electronics Engineers) IEEE-754 określa, jak mają być reprezentowane liczby o pojedynczej precyzji (32 bity) i podwójnej precyzji (64) bity w zapisie zmiennoprzecinkowym Wykładnik przesunięty dodawana jest stała przesunięcia (moduł największej liczby ujemnej, jaka może być zapisana w polu wykładnika); umożliwia to porównanie i zrównanie wykładników przed dodawaniem e bitów wykładnika f bitów mantysy 1 bit znaku Razem e + f + 1 bitów bit nr 0 35
Pojedyncza precyzja (słowo 32 bitowe) Liczba -118,625 zostanie zapisana: bit 8 bitów 23 bity znaku Wykładnik Mantysa 1 10000101 11011010100000000000000 Ponieważ pole wykładnika jest 8-bitowe; stała przesunięcia 2 8-1 -1=127 Wykładnik równa się 6, przesunięcie 127, czyli 6+127=133 36
Zapisy znormalizowane Istnieją dwa poprawne zapisy dla 0 (+0oraz -0) (analogicznie istnieje zapis dla + oraz - ) -126 to najmniejszy wykładnik dla liczby znormalizowanej; wszystkie 1 oznaczają nieskończoność Najmniejsze znormalizowane liczby w zapisie pojedynczej precyzji: +2-126 +1,175494351 x 10-38 Największe (254 w polu wykładnika i 1 w mantysie): +3,4028235 x 10 38 37
Podwójna precyzja (słowo 64 bitowe) bit 11 bitów 52 bity znaku Wykładnik Mantysa Dla liczb znormalizowanych przesunięcie wykładnika wynosi +1023 Wartości najmniejsze: Największe +2,2250738585072020 x 10-308 +1,7976931348623157 x 10 308 38
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 39
Kody binarne (KODUJEMY KOLEJNE CYFRY, NIE LICZBY!) W łańcuchu zawierającym n bitów można zapisać 2 n różnych elementów Cyfry w układzie dziesiętnym (od 0 do 9) mieszczą się w 4-bitowym kodzie, ale mogą być zapisane w różny sposób 4 bity dają możliwości zapisu 16 wielkości Kody wagowe pozycja każdego bitu niesie swoją wagę Kod BCD (binary coded decimal) jest kodem podstawowym (8421) Każda cyfra liczby dziesiętnej zostaje przedstawiona przez 4 bity np. (536) 10 w kodzie BCD przybierze postać: 5 3 6 (0101 0011 0110) BCD i działania arytmetyczne są wykonywane cyfra po cyfrze. 40
Przykłady kodów wagowych do zapisu cyfr Wagi 8421 2421 642 3 0 0000 0000 0000 1 0001 0001 0101 2 0010 0010 0010 3 0011 0011 1001 4 0100 0100 0100 5 0101 1011 1011 6 0110 1100 0110 7 0111 1101 1101 8 1000 1110 1010 9 1001 1111 1111 41
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 10000000 0000 Nie ma takiego zapisu w kodzie Ani takiego! 42
Kody binarne niewagowe; Kod Graya (refleksyjny; cykliczny) Jest to 4-bitowy kod, w którym 16 zakodowanych słów zmienia się kolejno tylko o 1 bit, podczas, gdy przechodzimy od jednego słowa do drugiego: Zapis dziesiętny kod Graya Zapis dzies. kod Graya 0 0000 8 1100 1 0001 9 1101 2 0011 10 1111 3 0010 11 1110 4 0110 12 1010 5 0111 13 1011 6 0101 14 1001 7 0100 15 1000 43
Kody z wykrywaniem błędów Można dodać bit parzystości np. EvenBCD; 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 44
Kody alfanumeryczne 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 45
Przechowywanie danych 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. 46
Liczby różne sposoby zapisu Podsumujmy na przykładzie liczby 53 10 W słowie 16-bitowym zwykła dwójkowa reprezentacja: bajt 1 bajt 0 00000000 00110101 W kodzie BCD (w 16 bitach mieszczą się 4 cyfry) 00000000 01010011 Zapis zmiennoprzecinkowy przy zastosowaniu standardu IEEE: 1 bit znaku, 8 bitów wykładnika, 23 bity mantysy 01000010010101000000000000000000 47
Tablice (Arrays) Ł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 A = 4 8 1 9 W rejestrach znajdą się kolejno: 4 4 1 Lub 8 8 1 9 9 48
Rekordy 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 49