OSK.doc

(256 KB) Pobierz
11

[3] OGÓLNY OBRAZ DZIAŁANIA KOMPUTERA I JEGO URZĄDZEŃ WEWNĘTRZNYCH

 

 

[3.1] Zespoły komputera

 

 

Architektura von Neumanna:

 

Architektura von Neumanna:

- dane i rozkazy w tej samej pamięci, umożliwiającej zapis i odczyt

- zawartość pamięci adresowana przez wskazanie miejsca bez względu na to co tam się mieści (dane, rozkazy)

- jeżeli nie zdefiniowane inaczej, to rozkazy są wykonywane jeden po drugim (sekwencyjnie)

 

Programowanie:

 

Programowanie, rozwiązanie sprzętowe (hardwired programming):

- połączenie jednostek sprzętowych tak, żeby realizowały jakieś operacje (AL)

- dla każdego nowego zadania, musimy tworzyć nowy system połączeń jednostek sprzętowych

- dostarczamy dane do (wyspecjalizowanego) urządzenia, a to po obliczeniu zwraca wynik

 

Programowanie, rozwiązanie programowe (software programming):

- budujemy zestaw funkcji o ogólnym przeznaczeniu, tak żeby dla konkretnego zadania nie budować nowego zestawu funkcji,

  ale tylko dostarczyć oprócz danych też inne sygnały sterujące, wskazujące na to, co ma z tymi danym zrobić

- z każdym rozkazem dostarczamy również sygnały sterujące (zakodowane w postaci kodu)

- sekwencja tych kodów lub rozkazów jest nazywana ‘oprogramowaniem

- dostarczamy kody rozkazów, interpreter rozkazów je analizuje i wysyła sygnały sterujące do funkcji, do funkcji dostarczamy

  też dane i na podstawie danych i sygnałów sterujących wykonywane są obliczenia odpowiednie

 

 

System komputerowy (organizacja na najwyższym poziomie):

 

a) Jednostka centralna, składa się z:

- moduł interpretujący kody sygnałów sterujących

- moduł realizujący funkcje arytmetyczne i logiczne

b) Moduły wejścia/wyjścia:

- przyjmowanie rozkazów w pewnej formie i zamiana na formę zrozumiałą przez komputer (we)

- wyprowadzanie wyników pracy na formę zrozumiałą dla człowieka (wy)

- przenosi dane pomiędzy urządzeniami we/wy a procesorem i pamięcią (w obie strony)

c) Moduł pamięci głównej:

- służy do przechowywania danych jak i rozkazów tymczasowo

- składa się z zestawu komórek ponumerowanych sekwencyjnie, każde z tych miejsc zawiera liczbę binarną, interpretowaną

   jako dane albo jako rozkaz

d) Procesor:

- komunikuje się z pamięcią główną i pobiera z niej dane, które zapisuje w swoich rejestrach

 

 

CPU zawiera:

 

Rejestry procesora:

- rejestr adresowy pamięci (MAR) – określa adres w pamięci następnego zapisu lub odczytu

- rejestr buforowy pamięci (MBR) – zawiera dane, które mają być zapisane lub odczytane z pamięci

 

Rejestry wejścia/wyjścia:

- rejestr adresowy we/wy (I/OAR) – określa konkretne urządzenie we/wy

- rejestr buforowy we/wy (I/OBR) – wykorzystywany do wymiany danych miedzy urządzeniami we/wy a jednostką centralną

 

Inne rejestry:

IR – rejestr rozkazu (zawiera ładowane rozkazy)

PC – licznik programu

AC – służy do tymczasowego przechowywania danych (akumulator)

 

 

[3.2] Działanie komputera

 

 

Cykl rozkazów:

 

Podstawowy cykl rozkazu:

- procesor pobiera rozkaz z pamięci (cykl pobierania)

- procesor wykonuje ten rozkaz (cykl wykonania)

 

Akumulator (AC) – służy do przechowywania danych przez procesor tymczasowo

 

Licznik programu (PC) – służy do śledzenia, który rozkaz ma być w danej chwili pobrany przez procesor (zawiera adres rozkazu)

Jeżeli procesor nie otrzyma innego polecenia to inkrementuje licznik i pobiera kolejny rozkaz w kolejności.

 

Dokładniejszy cykl rozkazu:

- pobranie rozkazu z pamięci (zgodnie z licznikiem PC)

- załadowanie rozkazu do rejestru rozkazu IR

- interpretacja rozkazu i wykonywanie konkretnych obliczeń

 

Rodzaje czynności wykonywanych przez procesor wynikających z rozkazów:

- procesor-pamięć – przenoszenie danych między procesorem i pamięcią

- procesor-we/wy – przenoszenie danych między procesorem i urządzeniami we/wy

- przetwarzanie danych – operacje arytmetyczno logiczne

- sterowanie – np. zmiana sekwencji wykonywania rozkazów

 

Stany rozkazu:

a) obliczenie następnego rozkazu (iac)

b) pobranie rozkazu (if)

c) dekodowanie operacji rozkazu (iod) – analiza kodu, by zobaczyć o co chodzi w rozkazie

d) obliczanie adresu argumentu (oac) – jeżeli znajdują się na we/wy albo w pamięci

e) pobieranie argumentu (of)

f) operacje na danych (do)

g) zapisanie argumentu (os)

 

 

Przerwania:

 

Przerwania – są to przerwania normalnego wykonywania rozkazów przez urządzenia np. we/wy

 

Klasy przerwań:

a) programowe – generowane przez warunki będące efektem wykonania programu (np. dzielenie przez zero itd.)

b) zegarowe – generowane przez zegar wewnętrzny

c) we/wy – generowane przez urządzenia we/wy

d) uszkodzenia sprzętu – generowane przez uszkodzenie, np. wyłączenie zasilania

 

Na przykład w poleceniach we/wy, gdy są realizowane (zajmują dużo czasu) procesor może zająć się czym innym. Rozkazy we/wy i inne działanie procesora są realizowane współbieżnie. Urządzenia we/wy same pobierają dane z pamięci itd.

 

Cykl pracy procesora z przerwaniami:

- procesor napotyka na rozkaz związany z we/wy

- przechodzi do niego i przekazuje mu informacje

- moduł we/wy sam przygotowuje wszystko podczas, gdy procesor robi swoje

- gdy moduł we/wy jest gotowy wysyła przerwania i procesor zawiesza swoją pracę i idzie do niego, zapisują kontekst

  aktualnego rozkazu i ustawia licznik programu na pierwszy rozkaz z programu obsługi przerwań

- pobiera ten rozkaz i wykonuje go

- po obsłużeniu urządzenia następuje powrót do programu głównego i pozostałych rozkazów procesora

 

Przerwania wielokrotne (dwie koncepcje):

a)      uniemożliwienie przerwań wielokrotnych – jeżeli sterowanie przechodzi do programu obsługi przerwań, to nie możliwe jest wywołanie innego przerwania, jeżeli wystąpi to czeka w kolejce, aż tamto się skończy

b)      priorytety przerwań – tylko przerwania o wyższych priorytetach mogą przerywać inne przerwania o niższych

 

 

Moduły wejścia/wyjścia:

 

Działanie obsługi wejścia/wyjścia:

- procesor może sam odnosić się bezpośrednio do adresów pamięci na urządzeniach we/wy, np. dysku

- procesor może przekazać sterowanie we/wy modułom we/wy, wtedy one same, bez żadnego angażowania procesora

   pobierają i zapisują dane na nośnikach we/wy (DMA – direct memory access)

 

 

[3.3] Struktura połączeń wewnętrznych

 

 

Trzy najważniejsze moduły w komputerze (procesor, pamięć, we/wy) komunikują się między sobą za pomocą sieci połączeń wewnętrznych.

 

Struktura połączeń pomiędzy modułami:

a) pamięć:

  - składa się ze słów o określonej długości

  - słowo może być odczytane i zapisane do pamięci

b) moduł we/wy:

  - może sterować więcej niż jednym urządzeniem zewnętrznym

  - port - to każdy z interfejsów obsługujących urządzenie zewnętrzne

  - może komunikować się z pamięcią w celu odczytu i zapisu danych

  - może wysyłać przerwania do procesora

c) procesor:

  - wczytuje rozkazy i dane

  - wysyła dane po przetworzeniu

  - steruje całą pracą systemu przez sygnały sterujące

  - otrzymuje sygnały przerwania

 

Struktura połączeń musi umożliwić przesyłanie informacji pomiędzy:

a) procesorem i pamięcią

b) procesorem i modułami we/wy

c) modułami we/wy i pamięcią (DMA)

 

 

[3.4] Połączenia magistralowe

 

 

Magistrala:

- jest drogą połączenia pomiędzy urządzeniami

- jest wspólną drogą transmisji dla wszystkich urządzeń (shared transmission medium)

- sygnał nadany przez urządzenie może być odczytany przez wszystkie inne

- w jednym czasie nadawać może tylko jedno urządzenie jednocześnie

- czasem składa się z wielu dróg (linii komunikacyjnych)

 

Magistrala systemowa – łączy podstawowe urządzenia (procesor, pamięć, we/wy), zawiera od 50 do setek oddzielnych linii

 

Podział linii magistrali:

a)       linie danych – przenoszenie danych pomiędzy adresami, wszystkie razem tworzą „szynę danych”, szerokość „szyny” to liczba linii w niej zawartych, jedna linia może przenosić jednocześnie tylko jeden bit, więc liczba linii określa ilość bitów przesyłanych jednocześnie

b)       linie adresowe – określanie źródła przeznaczenia danych przesyłanych magistralą, wszystkie razem tworzą „szynę adresową”, szerokość szyny adresowej musi być równa maksymalnej pojemności systemu pamięci, używa się ich również do adresowania we/wy, często pierwszy bit oznacza jaki moduł używamy, np. 1 oznacza pamięć a 0 oznacza we/wy

c)        linie sterowania – sterowanie dostępem do linii danych i linii adresowych i sterowania ich używaniem, typowe linie sterowania to: zapis w pamięci lub we/wy (zapisuje dane z szyny danych w określonej w szynie adresowej pamięci), odczyt z pamięci lub we/wy, żądanie przerwania, zawieszenie przerwania, przywrócenie (ustawia moduły w stanie początkowym), zegar (do obsługi czasowej)

 

Jeżeli moduł chce się skomunikować z inny modułem musi:

- uzyskać dostęp do magistrali

- wysłać sygnał sterujący określającym czego potrzebuje

- czekać na odzew innego urządzenia

 

Jak to wygląda fizycznie:

- dzisiaj najczęściej wszystkie jednostki komputera są na jednej płycie (głównej), a magistrala jest wbudowana w płytę i łączy je

- inne jednostki można podłączać do magistrali za pomocą gniazd (płytki drukowane)

- służy to np. ułatwieniu wymieniania modułów (pamięci, procesora)

 

 

Hierarchiczne struktury wielomagistralowe

 

 

Im więcej urządzeń tym wolniej działa magistrala, bo spada przepustowość. Dobrym rozwiązaniem jest zastosowanie kilku magistrali. Na przykład do magistrali głównej dołączamy interfejs szyny rozszerzenia (expansion bus). W ten sposób do magistrali głównej podłączamy tylko szynę rozszerzenia, a do tej szyny wszystkie urządzenia we/wy. Dzięki temu możemy odizolować ruch urządzeń we/wy od innych. Do takiej szyny można podłączyć np: urządzenia LAN, porty drukarki itd., porty obsługi dysków (SCSI).

 

Architektura międzypiętrowa – budowanie szybkich magistrali połączonych bezpośrednio z systemową magistralą

 

Rodzaje magistrali:

- specjalistyczne – trwale przypisana do określonej funkcji lub urządzenia

- multipleksowane – ta sama magistrala używana do różnych funkcji, urządzeń, każda funkcja ma określony czas na korzystanie

                             z magistrali, po czym inna funkcja jest realizowana

 

Rodzaje specjalizacji:

- fizyczna – używanie magistrali dla konkretnych urządzeń tylko, np. magistrala adresowa

- multipleksowana czasowa – używanie tej samej magistrali do różnych funkcji, np. magistrala we/wy

 

Metoda arbitrażu:

 

Wiele urządzeń może chcieć korzystać z magistrali, czyli przejąć nad nią sterowanie. Ale w danym czasie tylko jeden moduł może transmitować dane przez magistralę.

 

Rodzaje metod arbitrażu:

a)       scentralizowane – jedno urządzenie (sterownik magistrali, arbiter) zarządza czasem używania magistrali, może być oddzielnym modułem albo częścią procesora

b)       rozproszone – każdy moduł zawiera układy logiczne sterujące dostępem, a te moduły współpracują ze sobą przez inną magistralę

 

Urządzenie nadrzędne – to urządzenie, które samo inicjuje w magistrali transfer danych z innymi urządzeniami.

Urządzenie podrzędne – musi czekać aż nadrzędne go o coś poprosi

 

Koordynacja czasowa:

 

Koordynacja czasowa – to sposób w jaki są koordynowane zdarzenia na magistrali.

 

Rodzaje koordynacji czasowych:

a)       synchroniczna – występowanie zdarzeń jest kontrolowane przez zegar, magistrala zawiera dodatkowo linię zegarową, którą zegar steruje wszystkim, wysyła w jednakowych odstępach sekwencje zer i jedynek po sobie, cykl zegara to transmisja pojedyncza 1-0, każde zadanie musi zaczynać się z początkiem takiego cyklu

b)       asynchroniczna – występowanie zdarzenia jest zależne od zdarzenia poprzedniego, następuje po nim, lub na jego życzenie

 

Szerokość magistrali:

- szyny danych – ma wpływ na wydajność systemu, im większa szerokość, tym większa ilość przesyłanych bitów jednocześnie

- szyny adresowej – ma wpływ na pojemność systemu, im większa szerokość, tym większa ilość alokacji możliwych do 

                             określenia w pamięci

 

Rodzaj transferu na magistrali:

- zapis – transfer z modułu nadrzędnego do podrzędnego

- odczyt – transfer w kierunku odwrotnym

 

 

[3.5] Magistrala PCI

 

PCI – system połączeń urządzeń peryferyjnych

Magistrala PCI – to magistrala nienależąca do procesora, międzypiętrowa albo peryferyjna

 

Cechy magistrali PCI (Peripheral Component Interconnect):

- obsługa szybkich urządzeń we/wy wydajnie

- obsługuje działanie innych magistrali

- jest ekonomiczna i wydajna

- nie jest skomplikowana sprzętowo

- wykorzystuje koordynację synchroniczną i arbitraż scentralizowany

- realizuje funkcje o ogólnym przeznaczeniu, jest bardzo kompatybilna z wieloma urządzeniami

 

Bufor między magistralami – służy do tego, by mogła być różna prędkość przesyłania danych na magistrali systemowej i na magistrali PCI, w celu uniezależnienia prędkości magistrali PCI od prędkości procesora

 

Struktura magistrali PCI:

 

Może być konfigurowana jako magistrala 32 lub 64 bitowa.

 

Rozkazy PCI:

- działanie magistrali odbywa się na zasadzie transakcji pomiędzy inicjatorem (moduł nadrzędny) a celem (moduł podrzędny)

- inicjator chcąc sterować magistralą, określa rodzaj transakcji, jaką chce przeprowadzić

 

Przesyłanie danych:

- każde przesłanie danych to jedna transakcja, składająca się z fazy adresowej i kilku faz danych

 

Arbitraż ukryty – arbitraż odbywa się w tym samym czasie co inny cykl magistrali

 

 

Terminy angielskie:

 

magistrala – bus

PCI – peripheral component interconnect

magistrala systemowa – system bus

przerwanie – interrupt

MAR – memory address register

MBR – memory buffer register


[7] Wejście i wyjście

 

 

Techniki wejścia wyjścia:

 

- programowane wejście/wyjście operacje we/wy realizowane przez zgłaszanie zapotrzebowania przez programy

- wejście/wyjście sterowane przerwaniami – program wydaje polecenie we/wy i kontynuuje pracę dopóki sprzęt we/wy nie

  zakończy swojej pracy i nie zasygnalizuje tego

- bezpośredni dostęp do pamięci (DMA) – specjalny procesor we/wy przejmuje kontrolę nad operacjami we/wy

 

Moduły we/wy:

 

- obok procesora i pamięci głównej najważniejsze moduły

- sterują wieloma urządzeniami we/wy jednocześnie

- dołączone do magistrali bezpośrednio

- służy komunikacji pomiędzy urządzeniami peryferyjnymi a magistralą

- są pomostem pomiędzy urządzeniami zewnętrznym a procesorem (bo urządzenia peryferyjne mają inną prędkość zapisu i

  odczytu, używają innych formatów danych itd.)

- szybkość przesyłania danych na urządzenia peryferyjne jest mniejsza niż z pamięcią główną

 

Rola modułu wejścia/wyjścia:

 

- interfejs z procesorem i pamięcią przez magistralę

- interfejs z urządzeniem peryferyjnym

 

 

[7.1] Urządzenia zewnętrzne

 

 

Urządzenie peryferyjne – urządzenie zewnętrzne podłączone do modułu we/wy

 

Kategorie urządzeń zewnętrznych:

 

a) do komunikowania się z człowiekiem:

  - drukarki, monitory

b) do komunikowania się z inną maszyną:

  - dyski taśmowe, czujniki

c) komunikacyjne do komunikowania się z odległymi urządzeniami:

  - odległe terminale

 

Interfejs wejścia/wyjścia:

 

- sygnały sterowania – wskazują jakie funkcje mają być wykonane

- sygnały stanu – informują o stanie urządzenia

- sygnały danych – zawierają przesyłane dane

 

Logiczne układy sterowania – sterują pracą modułu we/wy

Przetwornik – konwersuje sygnał z elektronicznego na inny (specyficzny dla urządzenia)

Bufor – czasowo przechowuje dane przekazywane między urządzeniem we/wy i modułem

 

 

Przegląd urządzeń wejścia/wyjścia

 

 

a) klawiatura i monitor:

 

  - podstawową wymienianą jednostką jest znak

  - najczęściej używanym kodem tekstowym jest alfabet IRA

  - znaki drukowane (znaki alfabetu, cyfry i specjalne – czyli widzialne dla człowieka)

  - znaki kontrolne (znaki kontroli formatu np. powrót karetki i znaki kontroli transmisji np. potwierdzenie odbioru)

  - jak naciskamy klawisz, powstaje impuls elektryczny interpretowany przez przetwornik i wysyłany w postaci 8 bitów kodu IRA

  - jeżeli wyświetlamy na monitor, to 8 bitów w kodzie IRA zamieniane jest przez przetwornik na impuls elektryczny dla niego

 

IRA – międzynarodowy alfabet wzorcowy (international reference alphabet) – każdy znak w kodzie jest reprezentowany przez unikalny 7-bitowy kod binarny, możliwe jest reprezentowanie 128 znaków, ...

Zgłoś jeśli naruszono regulamin