Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Architektura Systemów Komputerowych
Dane Architektura Systemów Komputerowych mgr inż. Michał Misiak
2
Rodzaje danych Wartości logiczne Znaki tekstowe Liczby Dźwięki Obrazy
Całkowite: nieujemne i ze znakiem Niecałkowiete: stało- i zmiennopozycyjne Dźwięki Obrazy
3
Reprezentacja danych Komputer operuje na liczbach binarnych, które złożone są z cyfr 0,1 Liczby binarne określone są jako słowo binarne i są przeważnie postaci 8x2n (np. 8, 16, 32, 64) Dane, które nie są liczbami (obrazy oraz dźwięki) muszą być zapisane z wykorzystaniem słów binarnych
4
Znaki alfanumeryczne Znaki tekstowe kodowane są jako liczby, zgodnie z tzw. tablicą kodową Używane kody: ASCII (American Standard Code for Information Interchange) 128 pozycji w tym małe i wielkie litery alfabetu łacińskiego Rozszerzenia ASCII do 256: pierwsze 128 jest to ASCII kolejne zawierają symbole narodowe lub inne Pojawia się problem niejednoznaczności kodów dla różnych języków Kody EBCDIC (Extended Binary Coded Decimal Interchange Code) – wykorzystywany na komputerach typu mainframe IBM, UNICODE – początkowo 216, aktualnie 232. Reprezentacja praktycznie wszystkich znaków używanych na świecie.
5
ASCII Zaproponowany przez ANSI na bazie kodu dla urządzeń dalekopisowych Początkowo 7 bitowy, 8 bit wykorzystywany był jako suma kontrolna 128 pozycji w tym 33 znaki białe oraz 95 znaków widocznych Znaki białe: spacja, kody formatujące, kody sterujące transmisją i urządzeniami Znaki widoczne: cyfry oraz małe i duże litery, znaki interpunkcyjne oraz podstawowe znaki mateamtyczne
6
ASCII (2) Kody sterujące: Spacja: 32 Cyfry 0-9: od 48 do 57
Pozycje od 0 – 31 Np. CR: 13, (tzw. karetka) – powrót na początek wiersza, LF-10 – przejście do następnego wiersza, etc … Spacja: 32 Cyfry 0-9: od 48 do 57 Znaki pisarskie: Małe litery: 97 – 122 Duże litery: 65 – 90 Odstęp pomiędzy dużymi i małymi wynosi: 32 Kod specjalny 127 – kasowanie znaku
7
Kod rozszerzony ASCII Reprezentacja tablicy kodów 8 bitowa – 256 znaków Pierwsze 128 znaków identyczne z ASCII Pozostałe znaki dostosowane do alfabetów regionalnych tj. słowiańskie, cyrylica, etc… Problemem jest różnorodność tablic kodowych: ISO8859 – alfabety słowiańskie, kilkanaście tablic (Polskie znaki: ) Microsoft – oznaczenia 4 znakowe np. 1250
8
Reprezentacja danych związanych z obrazem i dźwiękiem
Obraz i dźwięk muszą być również kodowane jako liczby Dźwięk – proces przekształcania do postaci cyfrowej: kwantowanie (wartość amplitudy napięcia), próbkowanie (częstotliwość pobierania próbki) i kodowanie (przypisanie kodu) Obraz – macierz pikseli. Każdy piksel ma określony kolor oraz współrzędne. Kolor reprezentowany w postaci 3 liczb (czerwony, niebieski oraz zielony RGB). Dodatkowa informacja o jasności.
9
Jednostki informacji Bit (Binary digIT),
skrót „b” z modyfikatorem wielkości np. Kb, Mb, Gb. Problem z przeliczaniem (przedrostki w SI są dziesiętne) Reprezentuje wartość logiczną Prawda/Fałsz Bajt (byte) – 8 bitów. Jednostka adresacji pamięci. Bajt określany jest jako OCTET Słowo (word) – wielkość informacji, na której pracuje komputer. Słowo 8 bitowe, 16 bitowe, etc… Słowo procesora – porcja danych naturalna dla danego procesora, tzn. długość odpowiada długości posiadanych rejestrów: np. 16 bitów, 32 bity, 64 bit.
10
Zapis danych Wartości logiczne Liczby całkowite nieujemne
Liczby całkowite ze znakiem Zapis stałopozycyjny Zapis zmiennopozycyjny Formaty dla obrazu, dzwięku
11
Zapis danych boolowskich
Do reprezentacji wartości logicznej wystarczy jeden bit. W komputerach podstawową jednostką jest słowo. Dane bitowe reprezentowane są jako wzorzec bitów zapełniający całe słowo Różne reprezentacje wartości logicznych zależnych od systemów operacyjnych oraz języków programowania: Fałsz – raczej standardowo reprezentowany przez 0 Prawda: np. w C reprezentowana przez 1, w C jako argument może być reprezentowana przez dowolną wartość różną od 0, a w VB przez jedynki „1”
12
Liczby całkowite nieujemne
Naturalny kod binarny (NKB) – ciąg ponumerowanych bitów od lewej do prawej o długości równej słowu Kod BCD – wykorzystywany do reprezentacji liczb dziesiętnych stałopozycyjnych. Wersja spakowana: 2 cyfry w bajcie Wersja niespakowana (ASCII) jedna cyfra w bajcie Źródło:
13
Zapis liczb całkowitych ze znakiem
Kod U2 – kod uzupełnień do dwóch Kod U1 – kod uzupełnień do jednego Znak-Moduł Reprezentacja spolaryzowana (biased)
14
Własności kodów Reprezentacja zera: dwie możliwość w kodach znak-moduł, U1 Symetryczność zakresu liczbowego Reprezentacja znaku liczby oraz zmiana znaku: U1 – negacja bitowa U2 – negacja i inkrementacja znak-moduł – negacja bitu znaku Dodawanie i odejmowanie w U2 wykonywane tak samo jak w NKB
15
Reprezentacja stałopozycyjna
Wykorzystywany do reprezentacji liczb ułamkowych i mieszanych Liczba reprezentowana jest przez dwie części: pierwsza tak jak w U2/NKB reprezentuje część całkowitą druga reprezentuje część ułamkową (2-1) Spotykane formaty: 1 lub 2 bity należą do części całkowitej pozostałe do ułamkowej Po połowie słowa na część całk. i ułamkową Operacje wykonywane podobnie jak na liczbach całkowitych. Za ostateczną reprezentację odpowiedzialny jest programista
16
Zapis zmiennopozycyjny (1)
Umożliwia zapis liczb całkowitych i ułamkowych o dużym zakresie dynamiki wartości Zapis zmiennopozycyjny dziesiętny. Wiele możliwości: np. 1,234x102, 123,4x100, 12,34x101 Budowa zapisu: Znak liczby Część znacząca Wykładnik Postać znormalizowana: część całkowita wyraża się pojedynczą liczbą różną od 0.
17
Binarny zapis zmiennopozycyjny
Znormalizowany zapis określony w IEEE754 Liczba powinna zostać zapisana w postaci znormalizowanej, wówczas cześć całkowita w każdym przypadku (oprócz 0) jest równa 1. Wykładnik jest zapisywany w kodzie z polaryzowanym. Dwie wartości pola wykładnika są zarezerwowane i mówią, że zapis nie reprezentuje postaci znormalizowanej 00…00 – postać nieznormalizowana 11…11 – nie liczba Znak liczby – pojedynczy bit (0 – liczba nieujemna 1 – liczba niedodania) Pole mantysy – zawiera cześć ułamkową
18
Opis poszczególnych pól zapisu zmiennopozycyjnego
exp – pole wykładnika m – pole mantysy Bit znaku Pole wykładnika Wykładnik Pole mantysy Część znacząca - 00…00 -bias+1 m 0,m 00…00 – 11…10 exp-bias 1,m 11…11 + nieskończoność 1 - nieskończoność 0x…00 Głośna nieliczba 1x…00 Cicha nieliczba
19
Arytmetyka na liczbach zmiennopozycyjnych
Wartości zapisane w postaci zmiennopozycyjnej oraz operacje arytmetyczne wykonywane na nich są przybliżone Dokładność wyniku może być uzależniona od kolejności wykonywania działań Dodawanie/odejmowanie liczb należy wykonywać w kolejności rosnącej Jeśli wartość bezwzględna liczby a jest znaczenie mniejsza od b to w wyniku otrzymujemy liczbę b Z powodu przybliżonych wyników obliczeń nie należy korzystać z relacji równości.
20
Organizacja pamięci w komputerach
Podstawowa jednostka adresowalna ma rozmiar 1 bajtu Dane większe niż 1 bajt są przechowywane w kolejnych komórkach pod kilkoma kolejnymi adresami Fizyczna organizacja pamięci odbiega od logicznej. Komórki pamięci są dwukrotnie większe niż słowo, co umożliwia przesłanie podwójnej porcji danych przy tym samym czasie dostępu
21
Adresowanie danych Little Endian – najmniejszy bajt pod najmniej znaczącym adresem Big Endian – najbardziej znaczący bit pod najmniejszym adresem
22
Little & Big Endian A (MSB) B C D (LSB) Litlle Endian Big Endian D A C
Addr+0 D Addr+0 A Addr+1 C Addr+1 B Addr+2 B Addr+2 C Addr+3 A Addr+3 D
23
Litlle Endian Adres bajtu odzwierciedla wagę bajtu w liczbie
Naturalna dla komputera, dziwna dla człowieka Dostęp do mniej znaczących części liczby całkowitej zapisanej w długim formacie spowoduje, że adres zmiennej będzie ten sam. Wygodne w częstym rzutowaniu typów całkowitych 32-bit zawartość 4A może być czytana z tym samym adresem jako 8-bit (wartość = 4A), 16-bit (004A), lub 32-bit ( A) Procesory, które używają formy little endian, to między innymi Intel x86, AMD64, DEC VAX
24
Big Endian Naturalny dla człowieka mniej wygodny przy obliczeniach
Dostęp do danej całkowitoliczbowej wymaga zmiany wartości adresu w zależności od długości danej. Duża efektywność porównywania łańcuchów znakowych. Porównywanie może zostać przeprowadzone po długości słowa, a nie koniecznie bajt po bajcie. Procesory, które używają formy big endian, to między innymi SPARC, Motorola 68000, PowerPC 970, IBM System/360, Siemens SIMATIC S7
25
Zapraszam na kolejne wykłady ;)
Dziękuje! Zapraszam na kolejne wykłady ;)
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.