II Liceum Ogólnokształcące w Kartuzach
im. dra Aleksandra Majkowskiego

Osiedle Wybickiego 33
83-300 Kartuzy
Imieniny obchodzą:
Domasława, Domisława, Marek, Melchior, Regina, Rena, Ryszard,
Cytat tygodnia:
Polacy byli waleczni i walczyli w walce o Anglie, walcząc o niepodległość Anglii.
Układy cyfrowe.


I. Podstawy działania układów cyfrowych.

Działanie układów cyfrowych oparte jest na wykorzystaniu dwóch stanów elektrycznych tych układów, zwanych stanem niskim (ang. low - L) i stanem wysokim (ang. high - H). Przy ich użyciu musimy przedstawić wszystkie rodzaje informacji występujące w układach cyfrowych. W tym celu stosowane są określone struktury, takie jak dwójkowy (binarny) system liczbowy oraz kody umożliwiające reprezentację informacji w układach cyfrowych.
Dwójkowy (binarny) system liczbowy został zaczerpnięty z algebry Boole'a.
George Boole, ur. 2 listopada 1815 r. Lincoln, Anglia, zm. 8 grudnia 1864 r. w Ballintemple (hrabstwo Corcaigh), Irlandia) - angielski matematyk, filozof i logik.
Jego głównym osiągnięciem było wprowadzenie do matematyki i logiki pojęcia algebry Boole'a. Ze względu na wagę tego pojęcia oraz jego zastosowań w informatyce i logice matematycznej Boole jest powszechnie uważany za jednego z twórców tych dziedzin nauki.
Wszelkie dane liczbowe, tekstowe, obrazy i dźwieki są przechowywane w komputerze w postaci elektronicznej (cyfrowej), czyli jako ciagi (zbiory) zer i jedynek.


1. Systemy liczbowe

1.1 System dwójkowy - pozycyjny


Do zapisu dowolnej liczby bez znaku system dziesiętny wykorzystuje dziesięć symboli graficznych, zwanymi cyframi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Przy ich użyciu jesteśmy w stanie przedstawić dowolną liczbę. System dziesiętny, podobnie jak i system dwójkowy jest systemem pozycyjnym. Liczbę 425D (D oznacza zapis liczby w systemie dziesiętnym) możemy przedstawić jako następującą sumę:

425D= 4x100 + 2x10 + 5x1

czyli: 4 2 5 D = 4x102 + 2x101 + 5x100




0 – pozycja jedynek

1 – pozycja dziesiątek

2 – pozycja setek

Widzimy więc, że cyfra na danej pozycji mnożona jest przez odpowiednią potęgę liczby 10, przy czym wykładnik tej potęgi zależy od położenia (pozycji) danej cyfry w liczbie, Uwaga! Pozycje cyfr w liczbie numerujemy od 0 (najmłodsza cyfra). Poszczególne mnożniki, zwane inaczej wagami, w systemie dziesiętnym noszą nazwę odpowiednio: jedynek (100 = 1), dziesiątek (101 = 10), setek (102 = 100) i tak dalej. Poszczególne wagi w systemie dziesiętnym są potęgami liczby 10, dlatego jest ona zwana podstawą tego systemu (p = 10). Podsumowując, formalny zapis an-1 ..... a0D w systemie dziesiętnym oznacza:

an-1 ..... a0 = an-1 x 10n-1 + an-2 x 10n-2 + ….... a0 x100

Ponieważ w systemie dziesiętnym dysponowaliśmy dziesięcioma cyframi dla za pisania dowolnej liczby bez znaku, w systemie dwójkowym musimy do tego celu używać jedynie dwóch cyfr: 0 lub 1 nazywanych bitami. Jak już wspomnieliśmy, obydwa systemy są systemami pozycyjnymi, co oznacza, że cyfrę na danej pozycji mnoży się przez określoną wagę. Dla systemu dwójkowego podstawą jest liczba 2 (p = 2) i wagami są odpowiednie potęgi tej liczby. Kolejne pozycje liczby zwane są więc pozycjami jedynek, dwójek, czwórek, ósemek i tak dalej. Zapis w systemie dwójkowym, zwanym inaczej systemem binarnym, liczby 10100B (litera B sygnalizuje liczbę w systemie dwójkowym) oznacza:
10100B = 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 0 x 20 =
1 x 16 + 0 x 8 + 1 x 4 + 0 x 2 + 0 x 1 = 20D
Uogólniając, zapis an-1 ..... a0B w systemie dwójkowym będzie oznaczał:
an-1 ..... a0 = an-1 x 2n-1 + an-2 x 2n-2 + ….... a0 x20

Wzór ten, określający sposób zapisu liczby w systemie dwójkowym, pozwala jednocześnie na dokonanie konwersji (przeliczenia) liczby zapisanej w systemie dwójkowym na liczbę zapisaną w systemie dziesiętnym.

Jedną z metod konwersji liczby dziesiętnej na dwójkową pokażemy na przykładzie. Metoda ta polega na wykonywaniu kolejnych dzieleń całkowitych, z zapisem reszty, przez liczbę 2. Rozpoczynamy od podzielenia liczby przeliczanej przez 2. Kolejne dzielenie wykonujemy na liczbie będącej ilorazem poprzedniego dzielenia. Postępowanie kontynuujemy aż do momentu otrzymania jako wyniku 0. Reszty dzieleń ustawione w odpowiedniej kolejności dają poszukiwaną liczbę binarną.

Przykład:
Dokonać konwersji liczby 23D na liczbę binarną.
Rozwiązanie

23 : 2 = 11 r = 1
11 : 2 = 5 r = 1
5 : 2 = 2 r = 1
2 : 2 = 1 r = 0
1 : 2 = 0 r = 1
kierunek

odczytu

wyniku
A zatem 23D = 10111B

    Zauważmy, że w powyższym rozumowaniu (algorytmie) reprezentacja liczby jest tworzona od końca, czyli od najmniej znaczącego bitu.
    Wprowadźmy dwie operacje, wykonywane na liczbach całkowitych, których wyniki są równiez liczbami całkowitymi, a które są przydatne przy obliczaniu ilorazu i reszty z dzielenia liczb całkowitych przez siebie.
    Dla dwóch liczb całkowitych k i l definiujemy:
r = k mod l - r jest resztą dzielenia k przez l, czyli r spełnia nierówności 0<=r < l, gdyż reszta jest nieujemną
                        liczbą mniejszą od dzielnika;
q = k div l - q jest ilorazem całkowitym z dzielenia k przez l, czyli q jest wynikiem dzielenia k przez l
                        z pominięciem części ułamkowej.
    Z definicji tych dwóch operacji wynika nastepująca równość:
k = l*q + r = l*(k div l) + (k mod l)


    Dotychczasowe rozważania pozwalaja nam na utworzenie:
Algorytmu:Zamiana dziesiętnej liczby naturalnej na postać binarną.
Dane: Dziesietna liczba naturalna a
Wynik: Ciąg bitów, tworzących binarne rozwinięcie liczby a, w kolejności od najmniej znaczącego bitu.
Krok 1. Powtarzaj krok 2, dopóki a jest liczbą większą od zera, w przeciwnym razie zakończ algorytm.
Krok 2. Za kolejny bit (od końca) rozwinięcia przyjmij: a mod 2 i przypisz: a := a div 2.


1.2 System heksadecymalny

System heksadecymalny, czyli szesnastkowy, nie jest używany bezpośrednio przez układy cyfrowe, jest natomiast wygodnym., zwartym sposobem zapisu liczb binarnych. Stosowany jest on często przez programistów czy też przy wyświetlaniu informacji cyfrowej na ekranie (na przykład w programach typu debugger)

W systemie heksadecymalnym do zapisu dowolnej liczby dysponujemy szesnastoma cyframi. Ponieważ symboli graficznych oznaczających liczby arabskie jest dziesięć, brakuje symboli sześciu cyfr. Przyjęto więc, że będą one oznaczane początkowymi literami alfabetu (dużymi lub małymi). Zatem A oznacza dziesiątkę, B jedenastkę, aż do cyfry F, która oznacza piętnastkę. Pełny zestaw cyfr heksadecymalnych jest więc następujący:

ai € {0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F}

gdzie ai oznacza cyfrę heksadecymalną. Jak łatwo sprawdzić, cyfr heksadecymalnych jest szesnaście, Liczba szesnaście jest też podstawą tego systemu. Formalny zapis an-1 ..... a0H oznacza więc:

an-1 ..... a0H = an-1 x 16n-1 + an-2 x 16n-2 + ….... a0 x160

gdzie ai jest dowolną cyfrą heksadecymalną.

Przykład:
Znaleźć liczbę dziesiętną odpowiadającą liczbie heksadecymalnej 4C2H
Rozwiązanie:
Zgodnie z podanym wzorem oraz wcześniejszymi informacjami:

4C2H = 4 x 162 + C x 161 + 2 x 160 = 4 x 256 + 12 x 16 + 2 x 1 = 1218D

Konwersji liczby dziesiętnej na heksadecymalną można dokonać metodą analogiczną do pokazanej dla systemu dwójkowego, wykonując kolejne dzielenia z resztą przez liczbę 16. Należy jednak pamiętać, że reszty z dzielenia zapisujemy w postaci cyfr heksadecymalnych, czyli np. resztę 14 zapisujemy jako E.

Najistotniejsza cechą systemu heksadecymalnego jest łatwość przechodzenia od zapisu binarnego do heksadecymalnego i na odwrót, przez co zapis heksadecymalny staje się zwartym zapisem liczb binarnych. Pokażemy to na przykładzie.

Przykład:
Zapisać liczbę binarną 100101010B w postaci liczby heksadecymalnej.

Rozwiązanie:
Przy przejściu od liczby binarnej do heksadecymalnej wykorzystujemy fakt, że każdej cyfrze heksadecymalnej odpowiada określona kombinacja czterech cyfr binarnych i na odwrót.

Pokazuje to tabela 1.1.

Cyfra hex

Liczba binarna

Cyfra hex

Liczba binarna

0

0000

8

1000

1

0001

9

1001

2

0010

A

1010

3

0011

B

1011

4

0100

C

1100

5

0101

D

1101

6

0110

E

1110

7

0111

F

1111



Przeliczaną liczbę binarną dzielimy od końca (czyli od najmłodszej pozycji) na czwórki, a następnie każdą z nich zapisujemy w postaci jednej cyfry heksadecymalnej, zgodnie z tabelą 1.1. Jeżeli ostatni fragment liczby nie jest pełną czwórką, możemy ją dopełnić do czwórki zerami. Tak więc dla liczby binarnej 001001011010:

0010 | 0101 | 1010B = 25AH

Podobnie możemy postąpić przy przeliczaniu w drugą stronę. Wówczas każdą cyfrę heksadecymalną zapisujemy w postaci czwórki cyfr binarnych. Ewentualne nie znaczące zera na początku liczby binarnej można w wyniku pominąć.

Przykład:
Zapisać liczbę heksadecymalną 7CD5H w postaci liczby binarnej.

Rozwiązanie:
7CD5H =0111 | 1100 | 1101 | 0101 B = 111110011010101 B


2. Kodowanie

Komputer jest urządzeniem służącym do przetwarzania informacji. Informacją są liczby, a także inne obiekty, takie jak litery, wartości logiczne, znaki sterujące pracą drukarki i tym podobne. Ponieważ komputer jest urządzeniem zbudowanym z układów cyfrowych, każda informacja przetwarzana przez niego musi być reprezentowana przy pomocy dwóch stanów - wysokiego i niskiego. Duża część tej informacji to liczby, stąd przyjęło się nazywać te stany jedynką i zerem (1 i 0). Możemy zatem stwierdzić, że wszelka informacja w komputerze musi występować w postaci zerojedynkowej czyli binarnej. Potrzebne są też reguły przekształcania różnych postaci informacji na informację binarną Proces przekształcania informacji jednego rodzaju postaci na inną nazywamy kodowaniem.


Rysunek 1.1 Graficzna interpretacja procesu kodowania


Zgodnie z rysunkiem litera A będzie reprezentowana przez słowo kodowe (w skrócie kod) 111, litera B przez 010 zaś litera C przez 001 lub 100. Fakt, że literze C odpowiadają dwa słowa kodowe, nie przeszkadza w poprawnym przetwarzaniu informacji, aczkolwiek stanowi pewne utrudnienie procesu kodowania. Sytuacja od wrotna, gdy jedno słowo kodowe odpowiadałoby dwóm literom (na przykład A - 001 i B - 001), byłaby niedopuszczalna, Jeżeli w procesie przetwarzania informacji otrzymalibyśmy kod 001, nie bylibyśmy w stanie określić przy dekodowaniu, czy w wyniku odpowiada on literze A, czy B.

Jak wspomnieliśmy, informacja kodowana w komputerze jest bardzo różnorodna. Mogą to być teksty (czyli ciągi znaków), polecenia do wykonania przez komputer (na przykład instrukcje dla procesora), wartości logiczne czy też liczby. W przypadku liczb będziemy mówić o tak zwanych kodach liczbowych. Będą to kody przedstawiające liczby, z reguły dziesiętne, w postaci binarnej.

Definicja:
Kodem liczbowym nazywamy taki kod, który liczbom dowolnego systemu będzie przyporządkowywał słowa kodowe w postaci zerojedynkowej.
Definicja:
Jeżeli dowolnej liczbie dziesiętnej przyporządkujemy odpowiadającą jej liczbę binarną, to otrzymamy naturalny kod binarny (NKB).
Kilka przykładowych wartości liczb kodowanych i odpowiadających im słów kodowych (przy założeniu długości słów kodowych równej 4) zawiera tabela 1.2.

Tabela 1.2. Przykłady słów kodu NKB

Liczba kodowana

Kod NKB

7

0111

0

0000

14

1110

9

1001



Innym przykładem kodu jest kod służący do kodowania tekstów i przesyłania ich pomiędzy urządzeniami cyfrowymi. Nosi on nazwę kodu ASCII (ang. American Standard Code for Information Interchange). Koduje on oprócz znaków alfanumerycznych tak zwane znaki sterujące, służące do sterowania transmisją i pracą drukarki lub dalekopisu.

znak (ang. character)

Litera mała lub wielka, litery charakterystyczne dla danego alfabetu, cyfra, znak interpunkcyjny, odstęp, znaki specjalne, znaki sterujące. W komputerze znakowi odpowiada liczba, reprezentowana w jednym bajcie. Najczęściej kodem znaku jest kod ASCII.

Wybrane znaki:
# hash - służy do wyróżniania liczb ósemkowych
& ampersand - znak iloczynu logicznego
@ at, "małpa" - w adresie internetowym oddziela nazwę właściciela od adresu domenowego
~ tylda - znak stosowany do oznaczania spacji, na której nie można łamać wiersza
\ backslash - oddziela nazwy kolejnych folderów i plików w ścieżce dostępu.

bit parzystości (ang. parity bit) Bit dołączany do grupy bitów o ustalonej wielkości, np. do bajtu lub do grupy bajtów. Wartość tego bitu jest tak dobierana, aby liczba jedynek w tak rozbudowanej informacji była zawsze parzysta lub zawsze nieparzysta. Bit ten umożliwia wykrywanie pojedynczych przekłamań w porcjach informacji. Bit parzystości jest szczególnym przypadkiem bitu kontrolnego. Umożliwia wykrywanie zniekształceń w informacjach przechowywanych w pamięci komputera lub przesyłanych w sieciach komputerowych.

Tabela 1.4. Kod ASCII w postaci binarnej (zerojedynkowej)

Tabela zawierająca kodowane obiekty i odpowiadające im słowa kodowe.
Jak widać, tabela oprócz znaków alfanumerycznych zawiera tak zwane znaki sterujące, służące do sterowania transmisją i pracą drukarki/dalekopisu.





Tabela 1.5. Znaki sterujące kodu ASCII



Tabela poniżej zawiera pełny kod ASCII w postaci decymalnej (dziesiątkowej)


Kody ASCII zawierają 256 znaków od 0 do 255 i nie obejmują wszystkich narodowych liter.
W Polsce do około 1995 roku w większości programach jak również drukarkach obowiązywało kodowanie polskich liter w standardzie Mazovia.
Obecnie takim standardem jest Latin-2.

Poniższa tabela zawiera kody polskich liter dla kilku standardów.



Podane przykłady nie wyczerpują oczywiście możliwości kodowania informacji. Prócz kodowania informacji czysto liczbowej czy też tekstów możemy przykładowo kodować (i przetwarzać cyfrowo) obrazy, dźwięk, wielkości fizyczne takie jak temperatura, ciśnienie (odpowiednie czujniki plus przetworniki) oraz wiele innych.


2. Informacja cyfrowa
Definicja: Słowem cyfrowym (binarnym) nazywamy dowolny ciąg składający się z symboli 0 i/lub 1.
Definicja: Informacją cyfrową nazywamy informację przedstawioną (zakodowanąl w po staci słów cyfrowych. Z różnych względów, na przykład z powodu stosowania do przesyłania informacji dróg o określonej szerokości zwanych magistralami, pewne określone długości słów mają swoje nazwy. Zestawienie najczęściej spotykanych słów cyfrowych oraz ich nazw angielskich i polskich zawiera tabela 1.6.

Tabela 1.6. Nazwy słów cyfrowych



Jeden bit jest jednocześnie jednostką (inaczej mówiąc, najmniejszą porcją) ilości informacji.

W celu uniknięcia niejednoznaczności przy podawaniu ilości informacji ustalono, że skrótowe oznaczenie:

1b - oznacza 1 bit
1B - oznacza 1 bajt.


1 bajt, czyli 1B = 8 b (bitów)
1 kilobajt, czyli 1 kB = 1024 B
1 megabajt, czli 1 MB = 1024 kB = 1048576 B
1 gigabajt, czyli 1 GB = 1024 MB = 1073741824 B
1 terabajt, czyli 1TB = 1024 GB = 1099511627776 B



Opracował: (-) Adam Barlak


Nasze serwisy
- dla nauczycieli
- dla uczniów
- S.O.S
- porady prawne
- praca

Matura 2006
- informatory maturalne
-
biuletyny maturalne
- pomyśl już o studiach

Informatyka
- podstawy HTML
- kody znaków dla WWW
- internet
- grafika komputerowa
- systemy operacyjne
- system operacyjny - DOS
- skróty klawiaturowe
- algorytmy
- edytory tekstu

Budowa komputera
- architektura komputera
- układy cyfrowe
- pamięć komputera
- dyski
- panele LCD

Sieci komputerowe
- podział sieci
- topologia sieci
- elementy sieci Ethernet
- model OSI
- protokoły i usługi
- konfiguracja sieci

Testy
- testy z informatyki

Historia
- morze nasze morze...
- rozbiory 1939
- motoryzacja w Polsce

Chemia
- guziki Napoleona
- gałka muszkatołowa
- związki organiczne

Kącik kulturalny
- poezja
- książki 2004 roku
- fundacja nowej kultury
- świat książki

Galeria
- z życia szkoły




[Strona główna liceum] [Do góry]
Copyright 2003-2006 by aba