ZADANIE 1. Rozwiązanie:

Podobne dokumenty
Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Technologie Informacyjne

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

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

LICZBY ZMIENNOPRZECINKOWE

Stan wysoki (H) i stan niski (L)

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

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

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

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

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

Wstęp do informatyki- wykład 1 Systemy liczbowe

ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI, ADRESÓW HOSTÓW I ADRESU ROZGŁOSZENIOWEGO

Pracownia Komputerowa wykład VI

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

1.1. Pozycyjne systemy liczbowe

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

Podsieci IPv4 w przykładach. mgr inż. Krzysztof Szałajko

Podstawy Informatyki

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

Arytmetyka binarna - wykład 6

Temat: Algorytm kompresji plików metodą Huffmana

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

Kodowanie informacji. Kody liczbowe

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

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Synteza strukturalna automatu Moore'a i Mealy

Architektura komputerów

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

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

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

Arytmetyka liczb binarnych

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Pracownia Komputerowa wyk ad VI

Systemy zapisu liczb.

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

LICZBY ZMIENNOPRZECINKOWE

Sieć komputerowa Adresy sprzętowe Adresy logiczne System adresacji IP (wersja IPv4)

Sprawozdanie z zajęć laboratoryjnych: Technologie sieciowe 1

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

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Wstęp do informatyki- wykład 1

0 + 0 = 0, = 1, = 1, = 0.

Podstawy Informatyki

Pozycyjny system liczbowy

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Struktura adresu IP v4

Technologie Informacyjne Wykład 4

DZIESIĘTNY SYSTEM LICZBOWY

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Techniki multimedialne

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

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Zapis liczb binarnych ze znakiem

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Metoda znak-moduł (ZM)

1259 (10) = 1 * * * * 100 = 1 * * * *1

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

Adam Korzeniewski p Katedra Systemów Multimedialnych

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Adam Korzeniewski p Katedra Systemów Multimedialnych

Tranzystor JFET i MOSFET zas. działania

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

Wstęp do informatyki- wykład 1 Systemy liczbowe

Naturalny kod binarny (NKB)

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

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Laboratorium Wykorzystanie kalkulatora Windows do obliczania adresów sieciowych

Ćwiczenia z arytmetyki komputera Budowa adresu IP

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

Architektura komputerów

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Pracownia Komputerowa wykład V

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

O systemach liczbowych

Kodowanie informacji

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Luty 2001 Algorytmy (7) 2000/2001

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

SYSTEMY LICZBOWE 275,538 =

Arytmetyka stałopozycyjna

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

0-0000, , , itd

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Temat 7. Dekodery, enkodery

Algorytmy zachłanne. dr inż. Urszula Gałązka

Systemy liczbowe używane w technice komputerowej

Arytmetyka komputera

Układy cyfrowe w technologii CMOS

Transkrypt:

EUROELEKTR Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej Rok szkolny 200/20 Rozwiązania zadań dla grupy teleinformatycznej na zawody II. stopnia ZNIE ramka logiczna w technologii MOS składa się z sieci tranzystorów PMOS łączącej wyjście z napięciem zasilania i sieci tranzystorów NMOS łączącej wyjście z masą w taki sposób, że dla każdej kombinacji stanów logicznych na wejściach i, prąd przewodzi dokładnie jedna z tych sieci. Rysunek przedstawia schemat połączeń dla bramki NN. Narysować schemat bramki realizującej w podobny sposób funkcję logiczną Y = +. Y= Rozwiązanie: Y=+

ZNIE 2 Zaprojektuj sześciobitowy licznik liczący w górę od 33 do z krokiem 2, taktowany zegarem LK składający się z bramek logicznych oraz synchronicznych przerzutników. Po dojściu do wartości licznik powinien przyjąć jako następną wartość stan początkowy czyli 33. Sekwencja wartości licznika powinna mieć zatem następującą postać: 33, 35, 3,..., 5,, 33, 35,.... Rozwiązanie: Zgodnie z założeniem licznik powinien mieć sześć wyjść reprezentujących bity od b do b. Wyjścia powinny przyjmować stany 0 lub. Licznik powinien zliczać wartości od 33 do z krokiem 2 czyli przyjmować stany 33, 35, 3,..., 5,, 33, 35,.... W kodzie binarnym poszczególne stany można zapisać jako: Wartość dziesiętna Wartość binarna b b 5 b b 3 b 2 b 33 0 0 0 0 35 0 0 0 3 0 0 0 39 0 0 0 0 0 3 0 0 5 0 0 0 Zauważyć należy że bity, 5 i pozostają bez zmian i sygnały je reprezentujące można na stałe zewrzeć z masą (bit 5) lub z zasilaniem (bit i ). Zmiana stanów dokonuje się jedynie na pozycjach od b 2 do b. Pomijając sygnały reprezentujące bity b, b 5, b zadanie upraszcza się do projektu licznika od 0 do. Licznik taki można zrealizować za pomocą trzech przerzutników T (toggle) jako: LK T T T b 2 b 3 b Zgodnie z poleceniem dostępny jest jedynie przerzutnik. Przerzutnik T można zbudować z przerzutnika łącząc zanegowane wyjście z wejściem, tak jak przedstawiono na rysunku poniżej:

LK LK V LK GN V LK LK LK 2 3 5 W tym rozwiązaniu nie potrzeba korzystać z bramek logicznych.

ZNIE 3 ormat liczb zmiennoprzecinkowych pojedynczej precyzji zgodnie ze standardem IEEE jest przedstawiony na rysunku. Zakodować liczbę 2,5 w tym standardzie. 3 30 23 22 0 8 bitów 23 bity Znak (S) Wykładnik (E) zęśc ułamkowa mantysy (M) 0: odatni : Ujemny Liczba = - S * ( + M) x 2 E-2 Rozwiązanie: Liczbę 2,5 należy rozpisać na część całkowitą i ułamkową tj. 2 + 0,5. Postać binarna każdej z części wynosi odpowiednio 0 2 i 0, 2. ała liczba zapisana w systemie dwójkowym wynosi 0, 2. Liczba jest dodatnia więc bit znaku S trzeba ustawić na 0. Następnie należy znormalizować zapis liczby binarnej. W tym celu należy przesunąć przecinek w lewo o pozycje tak, aby binarna część całkowita była równa. Przy każdym przesunięciu należy odpowiednio zwiększyć o jeden wykładnik liczby 2 przez którą, mnożymy przesuniętą wartość. W znormalizowanym zapisie liczba będzie miała zatem postać,0 2 2 a przy założeniu, że część ułamkowa jest zapisana na 23 bitach postać ta będzie następująca:,000000000000000000 2 2. Stąd odczytujemy wartość M jako 000000000000000000. Wykładnik liczby 2 musi spełniać równanie = E 2, zatem wartość pola E będzie wynosić 2 + = 3 (binarnie 00000 2 ). Ostatecznie liczba 2,5 zakodowana jako liczba zmiennoprzecinkowa pojedynczej precyzji będzie miała postać: 000000000000000000000000 2

ZNIE Mając do dyspozycji ciąg 30 symboli: zaproponuj jednoznacznie dekodowalny kod binarny przypisujący ciągi zer i jedynek poszczególnym symbolom (,,,, ) tak, aby po zakodowaniu długość ciągu nie przekraczała 5 bitów. Rozwiązanie: Kod jednoznacznie dekodowalny to kod, w którym każdy ciąg kodowy ma tylko jedną odpowiadającą mu wiadomość. Innymi słowy nie da się odczytać innej wiadomości niż ta, która została zapisana. W kodowaniu stosuje się różne techniki. W najprostszej zakłada się, że każdy znak koduje się na takiej samej ilości bitów. Stosuje się też inne techniki, w których dopuszcza się, że różne znaki mogą być zakodowane na różnej ilości bitów. Przykładowo, kodowanie SII jest kodowaniem ze stałą ilością bitów. Gdybyśmy chcieli zapisać informację w kodzie SII to na każdą literę potrzebowalibyśmy aż 8 bitów. W sumie liter jest 30 zatem zapisując powyższą informację w postaci binarnej potrzebowalibyśmy aż 20 bitów. Gdyby założyć, że wykorzystujemy tylko 5 liter i każdą z nich zakodować za pomocą trzech bitów (5 symboli odpowiada 5 stanom, które w klasycznym rozumieniu można zakodować na przynajmniej 3 bitach) to cały ciąg potrzebowałby już tylko 90 bitów. Wymagane jest znalezienie rozwiązania, tak aby długość ciągu po zakodowaniu nie przekraczała 5 bitów. Jedynym rozwiązaniem zatem jest zróżnicowanie długość danego słowa kodowego w zależności od częstości wystąpienia danego znaku. Można to zrobić za pomocą jednego z dwóch powszechnie stosowanych w kompresji danych algorytmów Huffmana lub Shannona-ano. lgorytmy te są stosowane w prawie wszystkich standardach kompresji. W przypadku powyższych algorytmów najpierw należy policzyć liczbę poszczególnych symboli, tj: 2. lgorytm Huffmana polega na przyporządkowaniu symbolom najczęściej występującym najkrótszego słowa kodowego i odwrotnie symbolom najrzadziej występującym najdłuższego słowa kodowego. Wtedy długość bitowa całej informacji skróci się. hcąc zatem zakodować literę na jednym bicie uzyskamy najlepszy współczynnik kompresji. Oczywiście nie można zakodować wszystkich symboli na jednym bicie, dlatego pozostałe symbole wymagają większej liczby bitów. lgorytm Huffmana zakłada, że ułożymy wszystkie symbole w kolejności częstości ich wystąpień od najmniejszej do największej (symbol najrzadziej występujący będzie po lewej stronie, zaś najczęściej po prawej).

W przypadku naszego przykładu będzie to wyglądać tak jak pokazano poniżej (wewnątrz okręgu pokazano liczbę wystąpień danego symbolu w ciągu): 2 Następnie dwa skrajnie lewe symbole zastępujemy jednym wspólnym węzłem, którego częstość wystąpienia będzie sumą wystąpień tworzących go symboli. Na liście symboli pozostanie zatem n symboli, gdzie n to liczba symboli przed dokonaniem połączenia. 5 2 Nowy węzeł należy traktować jako zwykły symbol. Nową listę należy znów przesortować w kolejności niemalejącej i znów dwa skrajne lewe symbole zastąpić nowym węzłem. lgorytm należy powtarzać do wyczerpania wszystkich symboli (pozostanie tylko jeden nowy węzeł). Kolejne kroki to: 8 2 5 2 5 W wyniku zastosowania algorytmu Huffmana otrzymujemy poniższe drzewo kodowe pozwalające przypisać kod binarny każdemu z 5 symboli występującemu w ciągu. Należy przyjąć dowolną nomenklaturę, np. gałąź skierowana w lewo to 0 zaś w prawo to. zytając z góry na dół poszczególne jedynki i zera można dotrzeć do każdego symbolu.

30 0 2 8 0 0 5 0 Ostatecznie można zapisać: Symbol Kod dla danego symbolu ługość kodu dla danego symbolu Liczba wystąpień symbolu Iloczyn długości kodu i liczby wystąpień symbolu 0 2 2 0 2 0 3 8 00 SUM Sumując iloczyny liczby bitów kodujących dany symbol i krotności wystąpienia danego znaku otrzymujemy długość sekwencji wyjściowej równą bity, czyli o mniej niż było wymagane w zadaniu. Zakodowany ciąg będzie wyglądał następująco: 00 000 000 000 0000 00000 0000 0 lgorytm Huffmana gwarantuje otrzymanie kodu jednoznacznie dekodowalnego. Podobne rozwiązanie otrzymuje się korzystając z algorytmu Shannona-ano.

ZNIE 5 Mamy do dyspozycji przestrzeń adresową 2.5.22.8/xx. Posiadamy trzy podsieci, z których pierwsza zawiera 25 komputerów, druga 55 komputerów, a trzecia 2 komputery. Podać maksymalną wartość xx dla której zadanie ma rozwiązanie oraz adresy i maski każdej z podsieci dla tego przypadku. Rozwiązanie Liczba xx występująca przy przestrzeni adresowej 2.5.22.8/xx określa liczbę początkowych jedynek w masce sieci. Im większe xx, tym mniejszy rozmiar przestrzeni adresowej. Oznacza to, że w danej przestrzeni adresowej będzie mniej dostępnych adresów IP dla komputerów oraz dla ewentualnych podsieci. Obecnie pula dostępnych adresów IPv jest na wyczerpaniu, w związku z czym należy nią gospodarować oszczędnie i nie projektować sieci, które będą alokowały więcej adresów niż jest to niezbędne. W celu określenia masek poszczególnych podsieci w pierwszym etapie należy określić liczbę adresów wymaganych w każdej podsieci. Możemy to policzyć, dodając do liczby komputerów w każdej podsieci liczbę trzy, odpowiadającą adresowi podsieci, adresowi rozgłoszeniowemu (ang. broadcast) i adresowi routera (są to adresy, które muszą wystąpić w każdej podsieci). Uzyskamy w ten sposób odpowiednio liczby 28, 58 oraz 5. Maski podsieci można utworzyć jedynie dla rozmiarów podsieci równych całkowitej potędze liczby 2, a więc w tym celu liczby te należy zaokrąglić w górę do odpowiednio 32, oraz. Odpowiada to przestrzeni adresowej opisanej za pomocą odpowiednio 5, oraz bitów. Suma rozmiarów podsieci to 32++=0, co po zaokrągleniu w górę do całkowitej potęgi liczby 2 daje liczbę 25, która określa minimalny rozmiar zadanej przestrzeni adresowej 2.5.22.8. Zatem maska sieci dla tej przestrzeni na ostatnich 8 bitach musi mieć zera czyli w całości jest ona równa...00000000. Liczba jedynek tej maski wynosi 2 więc xx wynosi 2. Kolejnym etapem jest podział przestrzeni adresowej 2.5.22.0/2 na trzy podsieci o rozmiarach 32, oraz adresów. Należy zauważyć, że opisy 2.5.22.0/2 i 2.5.22.8/2 odnoszą się do tej samej przestrzeni adresowej 8 ostatnich bitów jest maskowane. Przykładowe adresy i maski takich podsieci to odpowiednio 2.5.22.0/2, 2.5.22./2 oraz 2.5.22.28/2. Podsieci te mieszczą się w założonej przestrzeni adresowej i nie zachodzą na siebie (są rozłączne). Przy takim podziale na podsieci większość przestrzeni adresowej pozostaje niewykorzystana. W alokowanej przestrzeni adresowej można byłoby umieścić w sumie 253 komputery, pamiętając o trzech zarezerwowanych adresach. ez podziału na podsieci można byłoby umieścić wszystkie zadane 25 + 55 + 2 = 22 komputery w przestrzeni adresowej 2.5.22.0/25.