Architektura Systemów Komputerowych

Slides:



Advertisements
Podobne prezentacje
PRZEDSTAWIANIE INFORMACJI W KOMPUTERZE
Advertisements

Sieci komputerowe Protokół TCP/IP Piotr Górczyński 27/09/2002.
DYSKRETYZACJA SYGNAŁU
UKŁADY ARYTMETYCZNE.
Reprezentacja danych w komputerze
dr A Kwiatkowska Instytut Informatyki
Operacje zmiennoprzecinkowe
Języki programowania C++
Metody numeryczne Wykład no 1.
Liczby w Komputerze Zajęcia 3.
Przetwarzanie informacji
Podstawowe składniki funkcjonalne procesora i ich rola.
ARCHITEKTURA KOMPUTERÓW Dr inż. Tadeusz POPKOWSKI A.D. 2007
Wykład 2 struktura programu elementy języka typy zmienne
dr Anna Kwiatkowska Instytut Informatyki
Zapis informacji Dr Anna Kwiatkowska.
Temat 3: Co to znaczy, że komputer ma pamięć? Czy można ją zmierzyć?
Reprezentacje - zmiennoprzecinkowa
SYSTEMY LICZBOWE Rodzaje informacji (analogowe i cyfrowe)
Systemy liczbowe.
Kod Graya.
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
opracowanie: Agata Idczak
Technika Mikroprocesorowa 1
Podstawy układów logicznych
Informatyka I Język ANSI C
Architektura komputerów
Reprezentacja stało i zmiennopozycjna
Architektura komputerów
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI,
Jednostki w informatyce i system binarny (dwójkowy)
Informatyka I Wykład 4 Stałe Stałe liczbowe Stałe znakowe Stałe tekstowe Jerzy Kotowski Politechnika Wroclawska var = 5L - 0xA; -5.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Systemy Liczenia - I Przez system liczbowy rozumiemy sposób zapisywania i nazywania liczb. Rozróżniamy: pozycyjne systemy liczbowe i addytywne systemy.
Jednostki używane w informatyce
Architektura systemów komputerowych
Architektura systemów komputerowych (jesień 2013)
Podstawy informatyki 2013/2014
Liczby całkowite dodatnie BCN
Systemy Liczbowe (technika cyfrowa)
Podstawy informatyki 2013/2014
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Matematyka i system dwójkowy
Podstawy arytmetyki komputerowej Paweł Perekietka
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie Niskopoziomowe
WYKŁAD 2 Temat: Reprezentacja danych 1. Reprezentacja danych
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
1 Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: , WWW: ssamolej.prz-rzeszow.pl INFORMATYKA.
Danuta Stanek KODOWANIE LICZB Systemy liczenia III.
Procesor, pamięć, przerwania, WE/WY, …
Podstawy Techniki Cyfrowej
Systemy liczenia IV Kodowanie i kody Danuta Stanek.
Wybrane aspekty programowania w C++ (i nie tylko)
Zasady arytmetyki dwójkowej
METODY REPREZENTOWANIA IFORMACJI
K ODY ZMIENNEJ DŁUGOŚCI Alfabet Morsa Kody Huffmana.
INFORMATYKA Zajęcia organizacyjne Arytmetyka komputerowa
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
URZĄDZENIA TECHNIKI KOMPUTEROWEJ Zapis liczb binarnych ze znakiem.
Copyright 2009 © by Michał Szymański. Systemy liczbowe można porównać do języków świata. Tak jak jedno słowo można przedstawić w wielu różnych językach,
Elementy cyfrowe i układy logiczne
Podstawy Informatyki.
Technika Mikroprocesorowa 1
Wstęp do Informatyki - Wykład 6
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Format rozkazu Tryby adresowania.
Zapis prezentacji:

Architektura Systemów Komputerowych Dane Architektura Systemów Komputerowych mgr inż. Michał Misiak

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

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

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.

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

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

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: 8859-2) Microsoft – oznaczenia 4 znakowe np. 1250

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.

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.

Zapis danych Wartości logiczne Liczby całkowite nieujemne Liczby całkowite ze znakiem Zapis stałopozycyjny Zapis zmiennopozycyjny Formaty dla obrazu, dzwięku

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”

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: http://pl.wikipedia.org/wiki/Grafika:Binary_clock_samui_moon.jpg

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)

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

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

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.

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ą

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

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.

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

Adresowanie danych Little Endian – najmniejszy bajt pod najmniej znaczącym adresem Big Endian – najbardziej znaczący bit pod najmniejszym adresem

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

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 00 00 00 może być czytana z tym samym adresem jako 8-bit (wartość = 4A), 16-bit (004A), lub 32-bit (0000004A) Procesory, które używają formy little endian, to między innymi Intel x86, AMD64, DEC VAX

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

Zapraszam na kolejne wykłady ;) Dziękuje! Zapraszam na kolejne wykłady ;)