Funkcjonowanie komputera - Notatki - Algorytmy, Notatki'z Algorytmy. Rzeszów University
Andrzej_Ku
Andrzej_Ku16 April 2013

Funkcjonowanie komputera - Notatki - Algorytmy, Notatki'z Algorytmy. Rzeszów University

DOC (372.0 KB)
13 strona
824Liczba odwiedzin
Opis
Matematyka: notatki z zakresu algorytmów odnoszące się do funkcjonowania komputera.
20punkty
Punkty pobierania niezbędne do pobrania
tego dokumentu
Pobierz dokument
Podgląd3 strony / 13
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.

WYKŁAD 2

FUNKCJONOWANIE KOMPUTERA

Reprezentacja danych w komputerze System dwójkowy w komputerze Formułowanie zapisu dwójkowego (bajtu) Zapis dwójkowy a algebra Boole’a Elementy składowe komputera Powiązania między elementami komputera Podstawowe parametry pamięci komputera Współpraca procesora z pamięcią operacyjną

Współpraca z urządzeniami wejścia/wyjścia Jak są zasilane obecne komputery Funkcje UPS-ów w pracy komputera

Pytanie główne – dlaczego komputer działa?

Dla zrozumienia istoty funkcjonowania komputera, konieczną jest uzyskanie odpowiedzi na pytanie: jak to się dzieje, że komputer (bądź co bądź maszyna) „potrafi" automatycznie wykonywać niekiedy bardzo skomplikowane zadania, mianowicie:

Imituje pracę inteligentnego człowieka, jest odbiciem inteligencji człowieka. Odpowiedzią na tak postawione pytanie jest zrozumienie metod kodowania danych i ich przechowywania w pamięciach komputerów oraz istoty algorytmizacji.

Bowiem to dzięki temu, że człowiek potrafi swoje zadania przedstawić komputerowi w postaci algorytmów, opisanych w języku zrozumiałym dla komputera, komputer umie te zadania w sposób automatyczny realizować.

Procesy kodowania informacji – symbole danych

Człowiek w procesach informacyjnych używa wielu systemów symboli, w zależności od okoliczności, potrzeb czy też warunków kulturowych. Może to być dla przykładu bicie w tam-tamy, dowolny język narodowy, język matematyki itd.

W zarządzaniu i ekonomii używa się symboli języka potocznego oraz języków specjalistycznych, które koduje się za pomocą liter alfabetu, cyfr dziesiątkowego systemu liczenia oraz innych znaków "specjalnych", na przykład znaków interpunkcyjnych.

Te metody kodowania danych nie są jednak przydatne do bezpośredniego wykorzystania w komputerach, ze względu na dużą liczbę rodzajów używanych znaków, co stwarza pewną barierę o charakterze technicznym. Kluczem do kodowania informacji w systemach komputerowych jest dwójkowy system

liczenia, ze względu na prostotę i możliwość formalizacji przy pomocy urządzeń elektronicznych..

Dziesiętny system liczenia – przykłady

Na co dzień posługujemy się systemem dziesiątkowym, w którym każda liczba reprezentowana jest jako suma wartości odpowiednich potęg liczby dziesięć.

Pr zy kła d: w

wierszu B wartość 80370 można zapisać, jako suma pewnych potęg, mianowicie (8*104)+(0*103)+(3*102)+(7*101)+(0*100) = 80370. Przy kodowaniu wartości liczbowych wykorzystujemy 10 znaków (cyfr). Tę zasadę można zapisać wzorem:

w którym n oznacza liczbę cyfr, a c - i-tą cyfrę liczby dziesiętnej (c Î {O, l, 2, 3, 4, 5,,7,8,9}).

Reprezentacja danych w komputerze

Podstawowym problemem jest fakt, że dane mogą być reprezentowane przez nieskończenie dużą kolekcję symboli (liczby dziesiętne – 10 symboli, alfabet – 24 znaki , itp.). Powstaje pytanie jakiego systemu kodowania należy użyć aby reprezentacja źródłowa była jak najprostsza i można było nią opisać względnie dużą kolekcję symboli.

Zgodnie z podaną wcześniej definicją, komputer jest urządzeniem elektronicznym, a zatem nośnikami danych muszą w nim być dyskretne sygnały elektryczne. Najprostszymi, zróżnicowanymi sygnałami są to sygnały dwustanowe (jest sygnał lub go nie ma)

W celu rozróżnienia obu stanów przypisuje im się dwa różne symbole - cyfry 1 i 0. Wszystkie dane przechowywane i przetwarzane przez komputer są zapisywane w systemie dwójkowym.

System dwójkowy w komputerze

Ze względu na charakter sygnałów stosowanych w komputerach najwygodniejszym systemem przedstawiania liczb wewnątrz komputera jest pozycyjny system dwójkowy.

gdzie współczynnik oznacza i-tą cyfrę liczby dwójkowej . Cyfry dwójkowe nazywamy bitami. Jest to powszechnie przyjęty skrót odpowiedniego terminu angielskiego (ang. binary digit). Do określania rozmiarów pamięci komputerowych używane jest pojęcie bajtu (ang. byte). Bajt składa się z ośmiu bitów. Za pomocą ośmiu bitów można zapisać 28 = 256 ciągów zerojedynkowych, co umożliwia reprezentację liter, cyfr, semigrafiki oraz znaków narodowych. W kodzie ASCII każdy znak jest reprezentowany za pomocą ośmiu bitów.

Formułowanie zapisu dwójkowego (bajtu)

W sensie operacyjnym dwójkowy system liczenia można zdefiniować w sposób następujący: liczba dziesiątkowa w dwójkowym systemie liczenia jest kodowana poprzez sumę wartości odpowiednich potęg liczby dwa, co zilustrowano za pomocą przykładów (A = 20, B = 11) zamieszczonych w tabeli:

20 (1 01 00

) = (1*24) + (0*23) + (1*22) + (0*21) + (0*20) 11 (01011) = (0*24) + (1*23) + (0*22) + (1*21) + (1*20) W pamięciach komputera zera i jedynki są zastępowane przez odpowiednie wartości impulsów elektromagnetycznych.

Zapis dwójkowy a algebra Boole’a

Stany 0 i 1, utożsamiane poprzednio z cyframi dwójkowymi, można potraktować jako wartości logiczne „fałsz" i „prawda". Wówczas okaże się, że działanie elementów dwustanowych opisują wprost operacje dwuelementowej algebry Boole'a. Algebrę tę definiuje dwuelementowy zbiór {0, 1} oraz trzy operacje: „ +, x , - „. Zmienne należące do zbioru {0, 1} oraz wymienione operacje nazywamy zmiennymi i operacjami logicznymi. Układy realizujące operacje logiczne nazywamy bramkami (ang. gates) logicznymi.

Transformacja stanów {0,1} w znaki

Wykorzystując system binarny można zakodować dowolną postać danych, wówczas dane czy poszczególne informacje kodowane są za pomocą kombinacji (ciągów) bitów czyli 0 i 1. W pamięciach komputera zera i jedynki są oczywiście zastępowane przez odpowiednie wartości impulsów elektromagnetycznych. W tym przypadku dowolna informacja w pamięci komputera jest reprezentowana (fizycznie) jako ciąg impulsów elektromagnetycznych, z dwóch dostępnych wartości impulsów, na przykład:{0 = ujemny impuls, l = dodatni impuls} lub {0 = brak impulsu, l = jest impuls}.

Dla kodowania informacji znakowej (liczby, teksty) stosuje się powszechnie system ASCII, w którym każdy wyodrębniony znak (cyfrowy, literowy czy specjalny) otrzymuje kod w postaci liczby z przedziału od 0 do 255, z których każda jest kodowana binarnie za pomocą 8 bitów (8 bitów = l BYTE).

0,1 <-> liczba (dziesiętna, ósemkowa,szesnastkowa) <-> symbol 01000001 <-> liczba (65,101,41) <> „A”

Schemat transformacji standardu kodowania znaków alfanumerycznych ASCII

Algorytmizacja działań komputera (praca)

Drugim, niezbędnym elementem zapewniającym funkcjonowanie komputera jest algorytmizacja działań, czyli opracowywanie algorytmów rozwiązywania zadań stawianych przed komputerem. Algorytmy te wykonywane są w sposób automatyczny i przechowywane są w programach (program to zbiór algorytmów rozwiązania pewnego zadania zapisany w języku zrozumiałym przez komputer).

Istotą algorytmizacji w systemach zarządzania jest opracowywanie reguł opisujących informacyjne procesy decyzyjne.

Algorytmem - w systemach informacyjnych i przetwarzania informacji - nazywamy zbiór reguł postępowania (operacji), które realizowane w określonej kolejności pozwalają na wykonanie wyznaczonego zadania. Inną definicją algorytmu, bardzo oddającą istotę przetwarzania danych jest definicja stwierdzająca, że algorytm jest to skończony ciąg reguł służący do przekształcenia zbiorów danych wejściowych w inny zbiór danych wyjściowych (wyniki, rezultaty procesu przetwarzania).

Cechy algorytmizacji zadań (zasady)

Istotnymi cechami algorytmów są: • możliwość wielokrotnego wykorzystania danego algorytmu, do rozwiązywania zadań tej samej klasy,

• z góry ustalona kolejność operacji dla danego przebiegu działań wyznaczonego przez układ warunków logicznych

• kolejność wykonywania niektórych operacji w pewnym algorytmie może nie mieć znaczenia na ostateczny rezultat,

• jednoznaczność definicji operacji,

• większość zadań może być rozwiązywane za pomocą różnych algorytmów, które prowadzą do identycznych rezultatów. Podstawowymi elementami algorytmu są dane oraz operacje.

Składniki algorytmu (dane i operacje)

Dane można podzielić na wejściowe i wyjściowe. Dane wyjściowe są rezultatami (wynikami) uzyskanymi w wyniku wykonania algorytmu. Mogą one posiadać bardzo zróżnicowaną postać: od danych znakowych w postaci tabel, tekstów, zestawień do danych w postaci graficznej (wykresy, rysunki itp.). Dane wejściowe dają się podzielić na dwie grupy, a mianowicie: parametry określające sposoby wykonania danego algorytmu oraz dane będące argumentami znajdujących się w algorytmie operacji. Operacje są ciągami jednorodnych czynności wykonywanych przez algorytm. W algorytmach wyróżnia się operacje: •operacje arytmetyczne składają się z działań arytmetycznych, takich jak dodawanie, odejmowanie itd.

•operacje logiczne to działania porównania, ustalania wartości logicznej, koniunkcji, negacji, alternatywy itp. To dzięki „umiejętności" wykonywania przez komputery operacji logicznych sprawiają one wrażenie maszyn inteligentnych.

•operacje sterujące umożliwiają poruszanie się po algorytmie stosownie do aktualnych wartości danych parametrycznych i argumentów branych pod uwagę operacji.

Schematy blokowe (zasady działania)

Każdy algorytm może być opisany za pomocą jednego z wielu dostępnych języków. Może zatem posiadać postać:

• opisu słownego w języku naturalnym, • opisu w języku formalnym (na przykład język matematyki czy logiki), • graficzną (na przykład w sieci działań),

Schematy blokowe zalicza się do grupy „języków" graficznych i są jednym z wielu narzędzi prezentacji algorytmów, chyba najczęściej wykorzystywanych do opisywania zadań z dziedziny przetwarzania danych. Schemat blokowy można zatem zdefiniować również jako graficzne odwzorowanie czynności, jakie musi wykonać komputer dla zrealizowania określonego zadania, a opisane zazwyczaj za pomocą jednego programu

Budowa schematu blokowego (symbole)

Stosując symbole oraz poniższe warunki, mianowicie:

•predykat może mieć jedno lub wiele wejść oraz przynajmniej dwa wyjścia,

• operator może mieć wiele wejść, ale tylko jedno wyjście, • dany operator opisuje realizację czynności jednego rodzaju (na przykład działania arytmetyczne), • poziom szczegółowości opisu działań zawartych w danym operatorze zależy od rodzaju przewidywanego do zastosowania języka programowania

można przedstawić graficznie dowolny algorytm opisujący sposób realizacji zadań z zakresu przetwarzania danych.

Schemat blokowy – sieć liniowa

Z formalnego punktu widzenia wyróżnia się cztery rodzaje schematów blokowych (sieci działań), są to sieci liniowe, z cyklem (z iteracja), z rozwidleniem oraz mieszane. Poniżej przedstawia się ich krótką charakterystykę oraz przykłady. Sieć liniowa Algorytmy o sieci liniowej posiadają najprostszą z możliwych strukturę logiczną. Występują w nich jedynie operatory, przy czym wyjście jednego operatora jest wejściem następnego. Każdy operator jest wykonywany tylko jeden raz.

Schemat blokowy – sieć z cyklem

Sieć z cyklem

Sieci z cyklem służą do opisu algorytmów, w których pewne ciągi operacji (operatorów) muszą być powtarzane wielokrotnie. Charakteryzują się one tym, że posiadają predykaty, a więc operacje logiczne. Wprowadzenie do schematu predykatów (operacji decyzyjnych) pozwala na uproszczenie opisu algorytmu. Istotną wartością w sieci z cyklem jest parametr określający liczbę cykli do wykonania.

Przykład algorytmizacji programu

PROCEDURA „Nalewanie”

***Deklaracje startowe*** Zawartosc := 0 Porcja := 0.5 Licznik := 1 Wzorzec := 5 *** Algorytm przetwarzania *** DO WHILE (.T.)

Zawartosc += Porcja Licznik ++ IF Zwartosc == Wzorzec

EXIT ENDIF

ENDDO ***Koniec obliczeń – komunikat*** eKOM(oMain,'Nalano'+ Str(wzorzec,3)+' w ' +Str(licznik,3)+ 'krokach') eKOM(oMain,'KONIEC PROGRAMU') RETURN

Model funkcjonowania komputera

El e m

enty składowe komputera

Najważniejszy w komputerze jest układ przetwarzający, tj. procesor (można w nim wyodrębnić: jednostkę arytmetyczno-logiczną, część sterującą oraz rejestry).

• Część przetwarzająca zawiera arytmometr oraz różnego rodzaju rejestry np. do pamiętania stanu procesora, pamiętania wyników pośrednich.

• Część sterująca odpowiada za pobieranie z pamięci i wykonywanie kolejnych rozkazów programu.

Procesor współpracuje bezpośrednio z pamięcią operacyjną. W pamięci przechowywane są: rozkazy sterujące, dane podlegające przetwarzaniu oraz wyniki. Urządzenia wejścia/wyjścia komunikują się z procesorem poprzez system wejścia/ wyjścia, zapewniający odpowiednie dopasowanie i konwersję sygnałów przesyłanych między procesorem i urządzeniami.

Powiązania między elementami komputera

W sp ół pr ac a pr oc es or a z pa mi ęc ią op er ac yj

Procesor jest połączony z pamięcią trzema magistralami: sterującą, adresową i danych. Typowa szyna sterująca zawiera linię wyboru operacji (odczyt, zapis) oraz linie sygnalizujące stan pamięci.

W celu odczytania zawartości jakiejś komórki procesor przesyła do pamięci (liniami adresowymi) adres tej komórki. Następnie wysyłany jest sygnał czytania, który uruchamia układy sterujące pamięci. Na podstawie adresu układ sterujący lokalizuje wybraną komórkę. Jej zawartość przesyłana jest na wyjście pamięci, skąd magistralą danych jest przekazywana do procesora.

Operacja zapisu przebiega podobnie. Procesor na magistrali adresowej umieszcza adres komórki, dane przeznaczone do zapisania na magistrali danych, a następnie wysyła sygnał zapisu magistralą sterującą. Na podstawie adresu układ sterujący odszukuje wybraną komórkę, a następnie uaktualnia jej zawartość danymi pobranymi z magistrali danych.

Współpraca z urządzeniami wejścia/wyjścia

Urządzenia zewnętrzne zwykle nie są podłączane bezpośrednio do procesora. Wynika to z faktu, że urządzenia te zawierają również elementy elektromechaniczne.

Aby zapewnić współpracę procesora z układami we/wy, opracowano specjalne układy dopasowujące.

Zbiór układów elektronicznych zapewniających dopasowanie, wraz z regułami wymiany danych i informacji sterujących, nosi nazwę systemu wejścia/wyjścia. Zawiera ona (magistrala) linie adresowe pozwalające procesorowi wskazać urządzenie, z którym chce współpracować, linie danych oraz linie sterujące i linie stanu. Magistrala wejścia/wyjścia może być wydzieloną szyną komputera lub może być współdzielona z magistralą pamięci.

W pierwszym rozwiązaniu, do komunikacji procesora z urządzeniami wejścia/wyjścia używa się innych rozkazów, niż do wymiany danych z pamięcią.

W drugim przypadku, gdy magistrala pamięci i systemu wejścia/wyjścia jest wspólna, urządzenia wejścia/wyjścia są przez procesor traktowane jak obszar pamięci o odrębnych adresach. Wówczas do wymiany informacji z pamięcią i systemem wejścia/wyjścia używa się tych samych rozkazów.

Podstawowe parametry pamięci komputera

Podstawowymi parametrami charakteryzującymi pamięć są: pojemność i czas dostępu. Pojemność pamięci określa liczba komórek przechowujących dane, mianowicie: l k = 1024 = 1000 (k - kilo) l M = 1048576 (M - mega) l G = 1073741824 (G - giga)

Tak więc pamięć o pojemności np. 64 M komórek ma: 64*1048576 = 67108864 komórek.

Każda komórka pamięci ma swój jednoznaczny identyfikator, zwany adresem. Adres jest liczbą całkowitą z przedziału [O, M-l], gdzie M oznacza pojemność pamięci. Adresy komórek pamięci wyraża się liczbami dwójkowymi. Liczba bitów przeznaczona na zapisanie adresu decyduje o maksymalnej wartości tego adresu, a zatem i maksymalnej pojemności pamięci, z jaką będzie mógł współpracować dany procesor.

Drugim ważnym parametrem charakteryzującym pamięć jest czas dostępu. Określa on szybkość pamięci, czyli minimalny czas od chwili zmiany adresu na wejściu pamięci, do ustalenia danych na wyjściu pamięci. Czas ten jest zależny od technologii wykonania układu scalonego pamięci.

Jak są zasilane obecne komputery

Typowe komputery stacjonarne są zasilane prądem przemiennym o napięciu 220V, który jest doprowadzany do zasilacza umieszczonego wewnątrz obudowy. W chwili obecnej używa się wyłącznie zasilaczy impulsowych. Ich zaletą są niewielkie wymiary, mała waga i duża sprawność przy dość dużych mocach. Zasada pracy takiego zasilacza polega na: • wyprostowaniu prądu zasilającego

• zmodulowaniu napięcia przebiegiem o częstotliwości rzędu kHz

• poddaniu transformacji przebiegu o wysokiej częstotliwości

• wyprostowaniu prądu otrzymanego z transformatora.

Operacje te mają na celu zmniejszenie rozmiarów transformatora (przetwarzanie prądu o wyższej częstotliwości umożliwia zastosowanie transformatora o mniejszych wymiarach). Na wyjściu takiego zasilacza otrzymuje się napięcia stałe o wartościach: +5 V, +12 V,-5 V i-12V. Wewnątrz zasilacza znajduje się również wentylator, którego zadaniem jest wymuszenie przepływu powietrza wewnątrz komputera.

Nowsze zasilacze mogą być włączane i wyłączane przez płytę główną komputera. Umożliwia to automatyczne włączanie komputera o określonej godzinie, po wciśnięciu przycisku myszy lub klawiatury oraz wyłączanie komputera po programowym, a nie ręcznym zamykaniu systemu

Funkcje UPS-ów w pracy komputera

• UPS (ang. Uninterruptable Power System - bezprzewodowy system zasilania) służy podtrzymaniu napięcia zasilającego podczas niedługich (kilka do kilkudziesięciu minut- zależy to od obciążenia systemu) przerw w dostawach energii elektrycznej.

• Przerwy te są jedną z najczęstszych przyczyn utraty danych. UPS-y pozwalają jedynie poprawnie (a nie raptownie) zakończyć pracę systemu komputerowego (po to by po powrocie energii elektrycznej można byłoby ja poprawnie kontynuować).

• Obecnie produkowane UPS-y zabezpieczają także przed przepięciami i spadkami napięcia. UPS-y mogą samoczynnie zamykać system, gdy zapas energii w akumulatorach spadnie poniżej określonego poziomu. UPS-y mogą być typu on-line, off-line i mieszane.

• W UPS-ach typu on-line komputer cały czas jest zasilany prądem, wytworzonym z energii zmagazynowanej w akumulatorze, a prąd z sieci energetycznej służy jedynie doładowywaniu akumulatora. Ten typ UPS-a jest najlepszy, ale i najdroższy.

• Przy stosowaniu UPS-ów typu off-line energia z baterii służy jedynie podtrzymaniu napięcia, w przypadku zaników napięcia w sieci energetycznej. Podczas normalnej pracy komputer jest zasilany bezpośrednio z sieci, a akumulator jest doładowywany prądem konserwującym.

• W rozwiązaniach mieszanych podczas normalnej pracy napięcie sieci jest jedynie korygowane.

KONIEC

komentarze (0)
Brak komentarzy
Bądź autorem pierwszego komentarza!
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
Docsity is not optimized for the browser you're using. In order to have a better experience we suggest you to use Internet Explorer 9+, Chrome, Firefox or Safari! Download Google Chrome