ARCHITEKTURA KOMPUTERÓW. Reprezentacja danych w komputerach



Podobne dokumenty
Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

DZIESIĘTNY SYSTEM LICZBOWY

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

Technologie informacyjne (3) Zdzisław Szyjewski

Technologie informacyjne (3) Zdzisław Szyjewski

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

O oszczędnym dziennikarzu, czyli czym jest

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Architektura komputerów

architektura komputerów w. 2

Pracownia Komputerowa wykład VI

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

Architektura komputerów

Teoretyczne Podstawy Informatyki

Techniki multimedialne

Architektura komputerów

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Technologie Informacyjne

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Arytmetyka binarna - wykład 6

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Kodowanie informacji. Kody liczbowe

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Struktura i działanie jednostki centralnej

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Pracownia Komputerowa wyk ad VI

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Cyfrowy zapis informacji

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Architektura komputerów

Architektura komputerów

Architektura komputerów

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

Architektura komputerów. Asembler procesorów rodziny x86

Pracownia Komputerowa wykład IV

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Arytmetyka stało- i zmiennoprzecinkowa. 1. Informacje wstępne

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

Naturalny kod binarny (NKB)

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Kodowanie informacji. Przygotował: Ryszard Kijanka

Podstawy języka C++ Marek Pudełko

Podstawy Informatyki

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wstęp doinformatyki. Systemy liczbowe i arytmetyka komputerów. System dziesiętny. Inne systemy. System dwójkowy

Reprezentacja symboli w komputerze.

Stan wysoki (H) i stan niski (L)

Pracownia Komputerowa wyk ad IV

Podstawy Informatyki

Systemy liczenia. 333= 3*100+3*10+3*1

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Programowanie Niskopoziomowe

1. System pozycyjny zapisu liczb

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Jak zadać dobre pytanie, czyli czym jest informacja i jak ja

Pracownia Komputerowa wykład V

Organizacja typowego mikroprocesora

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

1.1. Pozycyjne systemy liczbowe

Arytmetyka liczb binarnych

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH. dr inż. Małgorzata Langer B9, pok. 310 Instytut Elektroniki

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Logiczny model komputera i działanie procesora. Część 1.

, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.

Podstawy Informatyki Maszyna Turinga

Instrukcja dotycząca kodów kreskowych

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Arytmetyka stało i zmiennoprzecinkowa

Technologie Informacyjne Wykład 3

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Programowanie niskopoziomowe

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Systemy zapisu liczb.

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Pozycyjny system liczbowy

Podstawy Systemów Liczbowych

Kod U2 Opracował: Andrzej Nowak

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

PODSTAWY INFORMATYKI. Informatyka? - definicja

Transkrypt:

Reprezentacja danych w komputerach dr inż. Wiesław Pamuła wpamula@polsl.katowice.pl

Literatura 2. J.Biernat: Architektura komputerów, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław2002. 3. Null L., Lobor J.:Struktura organizacyjna i architektura systemów komputerowych, Helion Gliwice 2004. 4. Stallings W.: Organizacja i architektura systemu komputerowego WNT Warszawa 2000. 5. A.Skorupski: Podstawy budowy i działania komputerów, WKŁ Warszawa 2000. 6. D.A.Patterson, L.Hennessy: Computer architecture. San Mateo CA USA, Morgan Kaufman Publishers 1998.

JEDNOSTKI INFORMACJI Dla opisu działania powszechnie produkowanych układów komputera przyjęto dwu symbolowy alfabet 0, 1. bit elementarna jednostka informacji bajt wektor 8 bitów (łańcuch) nibble lub tetrada 4 bity słowo rozmiar dostosowany do podstawowej jednostki przetwarzanej przez procesor słowo maszynowe od 16 do 64 bitów słowo podwójne (long word lub double word) 2 słowa stanowiące przetwarzaną jednostkę słowo poczwórne (quad word)

RODZAJE DANYCH ARCHITEKTURA KOMPUTERÓW Można wyróżnić 3 grupy danych przetwarzanych przez komputer: rozkazy zawierają kody operacji i identyfikatory argumentów dla operacji dane systemowe informacja dla zapewnienia poprawnego gospodarowania zasobami komputera dane użytkowe informacje wykorzystywane w programach realizowanych przez komputer

ROZKAZY Projektant architektury komputera definiuje strukturę i rozmiar rozkazów. Rozmiar stanowi wielokrotność słowa maszynowego procesora. struktura rozkazu zbiór pól zawierających identyfikatory działań, które ma wykonać procesor klasa operacji rodzaj operacji identyfikatory przestrzeń kodowa liczba różnych rozkazów, które można zakodować przez bity słowa rozkazu 2 n liczba różnych rozkazów ortogonalność listy rozkazów (rodzaje zadań, sposoby adresowania) kody złożone wykorzystujące więcej niż jedno słowo maszynowe

ROZKAZY przykłady: 6 bitów 2 bity 4 bity 4 bity dodawanie rejestrowe rejestr 1 rejestr 2 8 bitów 8 bitów 8 bitów skok młodszy adres starszy adres

DANE SYSTEMOWE ARCHITEKTURA KOMPUTERÓW Posiadają strukturę zdefiniowaną na poziomie architektury komputera. Użyteczne dla wspomagania realizacji wielozadaniowej pracy komputera. stos bufor typu LIFO kolejka bufor typu FIFO tablica systemowa blok danych zawierających informacje o stanie procesora lub procesu wykonywanego przez komputer Zapis i odczyt zawartości danych systemowych realizowany jest przez specjalizowane układy komputera.

STOS Wydzielony obszar pamięci komputera. Ograniczony. LIFO last in first out - ostatni wpisany pierwszy odczytany wskaźnik stosu zawiera adres szczytu stosu przepełnienie stosu - próba zapisu na zapełniony stos wyczerpanie stosu - próba odczytu pustego stosu przykłady zastosowania: zachowanie stanu licznika programu podczas wejścia do obsługi przerwania zachowanie stanu licznika rozkazów podczas wywołania podprogramu zapamiętanie zmiennych roboczych użytkownika

STOS Działanie przepełnienie push push wskaźnik stosu wskaźnik stosu pop dana1 dana2 dana3 dana1 dana2 dana3 wskaźnik stosu dana1 dana2 dana3 pop wyczerpanie

KOLEJKA Wydzielony obszar pamięci. FIFO - first in first out - pierwszy wpisany pierwszy odczytany wskaźnik początku kolejki określa położenie danej do pobrania z bufora wskaźnik końca kolejki określa miejsce gdzie można wpisać następną daną nieprawidłowe wyznaczanie wskaźników może prowadzić do zapętlenia kolejki

DANE UŻYTKOWE ARCHITEKTURA KOMPUTERÓW Dane użytkowe rozróżniane są przez kontekst wykorzystania. Oprogramowanie wykorzystuje następujące typy danych: skalarne reprezentacja wielkości jednowymiarowych strukturalne zbiory danych skalarnych wskaźnikowe argumenty trybów adresowania danych w obszarze pamięci komputera Typy danych użytkowych definiowane są na poziomie języka programowania

TYPY SKALARNE ARCHITEKTURA KOMPUTERÓW przykłady wyliczeniowe opisowe znaki alfanumeryczne stałe logiczne znaczniki liczby stałoprzecinkowe porządkowe całkowite wymierne liczby rzeczywiste zmiennoprzecinkowe logarytmiczne

TYPY STRUKTURALNE ARCHITEKTURA KOMPUTERÓW przykłady wektory i tablice łańcuchy liczby zespolone rekordy struktury danych różnych typów zbiory nieuporządkowane zestawy danych

TYPY WSKAŹNIKOWE ARCHITEKTURA KOMPUTERÓW przykłady wskazują miejsce przechowywania danych w pamięci komputera adresy zmiennych deskryptory wskaźniki do adresów danych wskaźniki do tablic adresów danych wielopoziomowe adresowanie posrednie pamięć danych adres w tablicy tablica adresów danych adres danej dana

ZAPIS DANYCH ARCHITEKTURA KOMPUTERÓW Dane zapisane są w postaci wektorów bitowych. Interpretując wektor jako liczbę binarną każdą daną można przedstawić w postaci liczby i zapisać w wybranym systemie liczenia. Zapis binarny wykorzystuje symbole 0 i 1 kolejne pozycje zapisu są potęgami liczby 2. Grupując liczby binarne w tetrady można każdą tetradę przedstawić z użyciem symboli szesnastkowego systemu liczenia. Kolejne pozycje reprezentacji są potęgami liczby 16. symbole szesnastkowe: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

ASCII American Standard Code for Information Interchange. KOD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 0001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 0010 SP! # $ % & ( ) * +, -. / 0011 0 1 2 3 4 5 6 7 8 9 : ; < = >? 0100 @ A B C D E F G H I J K L M N O 0101 P Q R S T U V W X Y Z [ \ ] ^ - 0110 ` a b c d e f g h i j k l m n o 0111 p q r s t u v w x y z { } ~ DEL UNICODE ISO/IEC 10646-1:1993 16 bitowe rozszerzenie kodu ASCII uzupełniony o kody alfabetów narodowych

LICZBY STAŁOPRZECINKOWE Zapis pozycyjny L n i 0 a i 2 i n liczba pozycji liczby (pozycje ułamkowe mają ujemne indeksy) Liczba może być zapisana na kilku słowach maszynowych wtedy ważny jest sposób zapisu kolejności słów liczby w pamięci BIG ENDIAN - bardziej znacząca część liczby zapisana pod mniejszym adresem w pamięci wcześniej (MOTOROLA) LITTLE ENDIAN - części liczby zapisane kolejno od najmłodszej do najstarszej w pamięci komputera (INTEL)

LICZBY UJEMNE Zapisy liczb ujemnych znak moduł znak U1 znak U2 ARCHITEKTURA KOMPUTERÓW reprezentacja liczb ujemnych przez dopełnienie U1=(2 n -1) L n liczba pozycji zapisu U2=2 n - L U1 negacja modułu liczby L U2 = U1+1 lub negacja kolejnych cyfr modułu liczby L od lewej do prawej do najmłodszej jedynki, która pozostaje nie zanegowana

LICZBY ZMIENNOPRZECINKOWE IEEE 754 (-1) S mantysa 2 cecha s - bit znaku mantysa - określa precyzję zapisu 1<m<2 znormalizowana cecha - określa zakres liczb S cecha (przesunięcie k) mantysa znormalizowana ukryta (1) MSB Format bit znaku mantysa cecha przesunięcie (k) pojedyńcza 1 bit (bit 31) 23 bits (bit 0 do 22) 8 bits (bit 23 do 30) 2 8-1 -1 = 127 podwójna 1 bit (bit 63) 52 bits (bit 0 do 51) 11 bits (bit 52 do 62) 2 11-1 -1 = 1023

LICZBY ZMIENNOPRZECINKOWE IEEE 754 obiekty specjalne obiekt liczba znormalizowana zero nieznormalizowana liczba +/- NaN (nie liczba) cecha (1 254) 00000000 00000000 11111111 (255) 11111111 (255) mantysa różne od 0 0 różne od 0 0 różne od 0 wykorzystywane w sprawdzaniu poprawności wykonania operacji na liczbach zmiennoprzecinkowych

KODOWANIE INFORMACJI kody detekcyjne z kontrolą parzystości Grey a z jedynkami kody korekcyjne Hamming a R-S

CRC Cyclic Redundancy Check reszta z dzielenia przez wielomian generacyjny sprawdzany w celu określenia poprawności przesyłu informacji

OPERACJE NA DANYCH ARCHITEKTURA KOMPUTERÓW operacje logiczne iloczyn suma suma modulo 2 XOR przesunięcia logiczne, arytmetyczne, cykliczne wskaźniki stanu wykonania operacji zero przeniesienie, przeniesienie połówkowe, znak przekroczenie zakresu