Przygotował: Ryszard Kijanka Przełom dwudziestego i dwudziestego pierwszego wieku można śmiało nazwać erą informatyki i mikroprocesorów. Obydwa te obszary zrewolucjonizowały nasze życie. Systemy i układy mikroprocesorowe są wszechobecne, od komputerów począwszy, przez sprzęt powszechnego użytku, motoryzację, do telekomunikacji. Wszystkich dziedzin zresztą wymienić nie sposób. Idea funkcjonowania układów cyfrowych oparta jest na założeniu, ze wszelka informacja i wszelkie wielkości przetwarzane przez te układy reprezentowane są przez dwa stany. Stany te możemy umownie nazywać: zerem (0) i jedynką (1) lub stanem niskim (L) i wysokim (H). czyli informacja w postaci cyfrowej (dwójkowej, binarnej), ma w zastosowaniach elektronicznych bardzo istotne zalety 1. Prostota układów elektronicznych realizujących przetwarzanie takiej postaci informacji. Elementy półprzewodnikowe, które są podstawą współczesnej elektroniki, mają z natury rzeczy duże rozrzuty swoich parametrów. Dlatego prostota układów cyfrowych do analogowych opartych na dwu stanach napięciowych 0 lub 1 – prowadzi do prostoty układów cyfrowych, czego konsekwencją jest możliwa do uzyskania duża gęstość upakowania (na przykład we współczesnych procesorach kilkaset milionów tranzystorów w jednym układzie scalonym) oraz (co też niezmiernie ważne) relatywnie niska cena Zalety układów cyfrowych cd. 2. Łatwość transmisji i odporność na zakłócenia. Informację reprezentowaną przez dwa stany, czyli informację cyfrową, można znacznie łatwiej przesyłać i regenerować, czyli odtwarzać jej niezakłóconą, niezmienioną postać. 3. Łatwość konstruowania układów pamiętających. Jest to na pewno własność wynikająca w dużej mierze z punktu pierwszego. Jednak należy tu mieć na względzie także urządzenia zwane pamięciami masowymi, takie jak dyski twarde czy płyty DVD, pozwalające obecnie przechowywać ogromne ilości informacji, właśnie w postaci cyfrowej. Układy cyfrowe są układami elektronicznymi i jako takie używają do reprezentowania informacji wartości wielkości elektrycznych: napięcia lub prądu. Jednak jak już powiedziano, wszelka informacja dla układów cyfrowych ma być przedstawiona za pomocą dwóch stanów, umownie zwanych na przykład zerem i jedynką lub poziomami logicznymi. Prostota układów cyfrowych wynika właśnie z faktu, że muszą rozróżniać tylko dwa stany. Należy więc określić, jakie wartości lub zakresy wartości będą oznaczać zero, czyli poziom logiczny niski, a jakie jedynkę, czyli poziom logiczny wysoki. Poziom wysoki Poziom niski Określenie poziomów logicznych W celu zmniejszenia możliwości wystąpienia błędów, na przykład w wyniku występowania zakłóceń, określa się inne zakresy wartości poziomu niskiego i wysokiego dla wejść, a inne dla wyjść układów, uzyskując tak zwany margines zakłóceń Poziom wysoki Poziom wysoki Margines zakłóceń Poziom niski Poziomy logiczne dla wyjścia Poziom niski Poziomy logiczne dla wejścia Poziomy logiczne dla wejścia i wyjścia Ponieważ każda informacja, która ma być przetwarzana przez układy cyfrowe, musi być reprezentowana przez dwie wartości, zwane na przykład zerem i jedynką logiczną, naturalnym staje się zainteresowanie systemem liczbowym dwójkowym, opartym właśnie na takim zapisie liczb. Pozwoli nam to zapisywać i przetwarzać liczby za pomocą układów cyfrowych. Opisujemy tu konstrukcję systemu dwójkowego, czyli binarnego, oraz szesnastkowego, czyli heksadecymalnego. Dwójkowy system liczbowy (inaczej binarny) to pozycyjny system liczbowy, w którym podstawą jest liczba 2. Do zapisu liczb potrzebne są więc tylko dwie cyfry: 0 i 1. Np. liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie dwójkowym przybiera postać 1010, gdyż: Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym zapisanym w systemie dziesiętnym, a oznaczającym podstawę danego systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać obok niej indeks. Np. Jedynka podobnie jak w systemie dziesiętnym ma różne wartości w zależności od swojej pozycji - na końcu oznacza 1, na drugiej pozycji od końca 2, na trzeciej 4, na czwartej 8, itd. Ponieważ oraz aby obliczyć wartość liczby zapisanej dwójkowo, wystarczy zsumować potęgi dwójki odpowiadające cyfrom 1 w zapisie. Zamiana 3010 na liczbę w systemie dwójkowym: 30 ÷ 2 = 15 reszty 0 15 ÷ 2 = 7 reszty 1 7 ÷ 2 = 3 reszty 1 3 ÷ 2 = 1 reszty 1 1 ÷ 2 = 0 reszty 1 Aby obliczyć wartość dwójkową liczby przepisujemy od końca reszty. Tak więc 3010 = 111102. Zamień liczby z systemu dziesiętnego na binarny Np.. 127 oraz 19 127 ÷ 2 = 63 reszty 1 63 ÷ 2 = 31 reszty 1 31 ÷ 2 = 15 reszty 1 15 ÷ 2 = 7 reszty 1 7 ÷ 2 = 3 reszty 1 3 ÷ 2 = 1 reszty 1 1 ÷ 2 = 0 reszty 1 12710 = 11111112 19 ÷ 2 = 9 reszty 1 9 ÷ 2 = 4 reszty 1 4 ÷ 2 = 2 reszty 0 2 ÷ 2 = 1 reszty 0 1 ÷ 2 = 0 reszty 1 1910 = 100112 dziesiętnie 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dwójkowo 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 System szesnastkowy to system różny od tego, którego używamy na co dzień. Różni się o tyle, że bazuje na liczbie 16, a więc potrzebuje 16 znaków za pomocą, których można zapisać dowolną liczbę. Szesnastkowy system liczbowy jest właściwy komputerom, ponieważ pozwala na zapis większych liczb w mniejszych przestrzeniach pamięci. W systemie szesnastkowym wyróżniamy 16 cyfr: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F wartość dziesiętna cyfra szesnastkowa wartość dwójkowa 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111 W praktyce najczęściej stosuje się szesnastkowy system liczbowy w informatyce. Z racji budowy komputerów, w której np. adresy są potęgą liczby 2 oraz dzielą się przez 8 i 16, często stosowany jest system heksadecymalny. Wartość pojedynczego bajtu można opisać używając tylko dwóch cyfr szesnastkowych i odwrotnie - dowolne dwie cyfry szesnastkowe można zapisać jako bajt. W ten sposób kolejne bajty można łatwo przedstawić w postaci ciągu cyfr szesnastkowych. Jednocześnie zapis 4 bitów można prosto przełożyć na jedną cyfrę szesnastkową. Przykłady - Bit (w ang. kawałek, skrót od binary digit, czyli cyfra dwójkowa) – najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych stanów przyjął układ. Jednostka logiczna. Bit przyjmuje jedną z dwóch wartości, które zwykle określa się jako 0 (zero) i 1 (jeden), choć można przyjąć dowolną inną parę wartości, np. prawda i fałsz, tak lub nie czy -1 i +1. W pierwszym przypadku bit jest tożsamy z cyfrą w systemie dwójkowym. Binarny sposób zapisu informacji związany jest z tym, że komputer jako urządzenie cyfrowe rozpoznać może dwa stany napięciowe: 0 – brak napięcia lub bardzo niskie (mniej niż 10% wartości wysokiego) 1 – wysokie napięcie. Wielokrotności bitów Przedrostki dziesiętne (SI) Przedrostki binarne (IEC 60027-2) Nazwa Symbol Mnożnik Nazwa Symbol Mnożnik kilobit kb 103 kibibit Kib 210 megabit Mb 106 mebibit Mib 220 gigabit Gb 109 gibibit Gib 230 terabit Tb 1012 tebibit Tib 240 petabit Pb 1015 pebibit Pib 250 eksabit Eb 1018 eksbibit Eib 260 zettabit Zb 1021 zebibit Zib 270 jottabit Yb 1024 jobibit Yib 280 Bajt – najmniejsza adresowalna jednostka informacji pamięci komputerowej, składająca się z bitów. W praktyce przyjmuje się, że jeden bajt to 8 bitów, choć to nie wynika z powyższej definicji. Aby uniknąć niejednoznaczności, jednostka składająca się z ośmiu bitów zwana jest również oktetem. Bywa też że "bajt" definiuje się jako 8 bitów, najmniejszą adresowalną jednostkę pamięci nazywając znakiem Wielokrotności bajtów Przedrostki dziesiętne (SI) Przedrostki binarne (IEC 60027-2) Nazwa Symbol Mnożnik Nazwa Symbol Mnożnik kilobajt kB/KB 103 kibibajt KiB 210 megabajt MB 106 mebibajt MiB 220 gigabajt GB 109 gibibajt GiB 230 terabajt TB 1012 tebibajt TiB 240 petabajt PB 1015 pebibajt PiB 250 eksabajt EB 1018 eksbibajt EiB 260 zettabajt ZB 1021 zebibajt ZiB 270 jottabajt YB 1024 jobibajt YiB 280 1 kB = 1024 B (kB – kilobajt) 1 MB = 1024 kB (MB – megabajt) 1 GB = 1024 MB (GB – gigabajt) 1 TB = 1024 GB (TB – terabajt) 1 PB = 1024 TB (PB – petabajt) 1 EB = 1024 PB (EB – eksabajt) 1 ZB = 1024 EB (ZB – zettabajt) 1 YB = 1024 ZB (YB – jottabajt) Prefiks Nazwa Znaczenie SI Znaczenie dwójkowe Różnica wielkości k kilo 103 = 10001 210 = 10241 2.40% M mega 106 = 10002 220 = 10242 4.86% G giga 109 = 10003 230 = 10243 7.37% T tera 1012 = 10004 240 = 10244 9.95% P peta 1015 = 10005 250 = 10245 12.59% E eksa 1018 = 10006 260 = 10246 15.29%