Architektura komputerowa - WYKŁAD .doc

(13506 KB) Pobierz
Mikrokomputer

Mikrokomputer

 

              Mikrokomputerem nazywamy komputer, w którym funkcję jednostki centralnej – CPU (Cenntral Processing Unit) pełni mikroprocesor.

              Przyjmuje się, że mikrokomputer jest systemem zbudowanym z mikroprocesora, pamięci wewnętrznej i układów wejścia/wyjścia.

Wszystkie elementy systemu połączone są ze sobą za pomocą magistrali systemowej.

Uproszczony schemat mikrokomputera wraz z urządzeniami zewnętrznymi :

 

 

 

Rys. 1. Schemat blokowy mikroprocesora von Neumana.

 

 

 

Rys. 2. Schemat funkcjonalny mikrokomputera.

 

Magistrala systemowa

 

              Jest to zestaw połączeń pomiędzy elementami systemu komputerowego. Zadaniem magistrali jest zapewnienie komunikacji między współpracującymi układami mikrokomputera.

              Magistrala systemowa jest podzielona najczęściej na trzy magistrale częściowe :

  1. magistrala adresowa
  2. magistrala danych
  3. magistrala sterująca

 

Magistrala adresowa :

 

  1. przyłączona jest do :

·         licznika rozkazów

·         licznika danych

  1. przeznaczona jest do przekazywania adresów :

·         od mikroprocesora do pamięci

·         od mikroprocesora do urządzeń peryferyjnych

 

Ponieważ jedynym źródłem adresów jest mikroprocesor, to magistrala ta jest zwykle jednokierunkowa.

Potrzeba stosowania dwukierunkowej magistrali adresowej występuje w przypadku bardziej rozbudowanych typów mikroprocesorów wyposażonych w wewnętrzną pamięć notatnikową (cache).

Jeśli adres znajdujący się na magistrali adresowej pochodzi z :

  1. licznika rozkazów, to (po odebraniu) wpisany jest do:

·         rejestru rozkazów

  1. licznika danych, to (odebrane dane) wpisywane są do :

·         akumulatora (rejestr AX)

·         jednego z rejestrów uniwersalnych

 

Magistrala danych :

 

  1. połączona jest z:

·         akumulatorem (rejestrem AX)

·         pozostałymi rejestrami uniwersalnymi

·         rejestrem rozkazów

  1. przeznaczona jest do przekazywania :

·         danych – np. pamięć – procesor, procesor – pamięć

·         rozkazów np. od procesora do urządzeń zewnętrznych

 

Dla umożliwienia przekazywania danych w obydwu kierunkach magistrala ta z reguły powinna być dwukierunkowa.

 

Magistrala sterująca :

 

  1. połączona jest z :

·         układem sterowania mikroprocesora

  1. przeznaczona jest do przesyłania sygnałów :

·         sterujących pamięcią (zapis/odczyt)

·         urządzeniami peryferyjnymi (wejścia/wyjścia)

  1. przeznaczona jest również do przesyłania sygnałów specjalnych :

·         wykorzystywanych w operacjach obsługi przerwań

·         wykorzystywanych w operacjach bezpośredniego dostępu do pamięci

  1. zawiera też sygnały oddziaływujące na stan mikroprocesora

 

Część sygnałów magistrali to sygnały wyjściowe mikroprocesora, a część to sygnały wejściowe.

Funkcje magistrali adresowej i danych w różnych typach mikroprocesorów są do siebie podobne.

W niektórych praktycznych rozwiązaniach mikroprocesorów magistrala adresowa i danych, połączone są w jedną.

Adresy i dane muszą być wtedy przekazywane w różnych okresach czasu, a o rodzaju informacji znajdującej się aktualnie na magistrali, decydują sygnały sterujące na magistrali sterowania tzw. kwalifikatory.

W przypadku połączenia magistral adresowej i danych jest najczęściej wynikiem ograniczeń technologicznych, dotyczących liczby końcówek na obudowie US procesora.

Do rozdzielania magistral wykorzystywane sa dwa sygnały sterujące :

 

1.      ALE (adress latch enable)

2.      DEN (data enable)

 

Sygnały sterujące :

 

  1. ALE – ustala moment czasu, w którym na wspólnej magistrali znajduje się adres i wykorzystywany jest do załadowania go do pomocniczego rejestru adresowego.
  2. DEN – ustala moment czasu, w którym na wspólnej magistrali znajdują się dane i wykorzystywany jest do otwarcia dwukierunkowych wzmacniaczy magistrali danych.

 

Adres wysyłany jest zwykle na wspólną magistralę w pierwszej części cyklu wymiany informacji.

Stosowanie magistralowej struktury mikrokomputera pozwala na :

·         uzyskanie prostych i przejrzystych układów logicznych

·         na dołączanie praktycznie dowolnej liczby urządzeń peryferyjnych

 

Procesor :

 

              Jest to urządzenie cyfrowe przeznaczone do przetwarzania informacji wsposób określony przez użytkownika.

             

Mikroprocesor :

 

              Mikroprocesorem nazywamy układ odpowiadający funkcjonalnie jednostce centralnej komputera (Central Processing Unit) zgrupowanej w jednym układzie scalonym lub niewielkiej liczbie w przypadku procesorów segmentowych. Mikroprocesor (zgodnie z rolą jednostki centralnej w systemie komputerowym) musi wykonywać następujące funkcje :

  1. pobranie rozkazów z pamięci
  2. pobranie danych z pamięci lub urządzeń wejściowych
  3. wykonanie operacji arytmetyczno – logicznej lub sterującej, określonej przez rozkaz
  4. zapis wyniku w pamięci lub przesłanie go do urządzenia wyjściowego

 

Aby wykonanie tych funkcji było możliwe, każdy mikroprocesor musi zawierać co najmniej następujące bloki funkcyjne :

  1. Jednostka arytmetyczno – logiczna ALU (Arythmetic Logic Unit)
  2. Akumulator ACC ()
  3. Licznik rozkazów PC ()
  4. Licznik danych DC ()
  5. Rejestr rozkazów IR()
  6. Układ sterowania CU ()

 

Wewnętrzna struktura większości mikroprocesorów charakteryzuje się dwoma następującymi cechami :

  1. Wymiana informacji między blokami funkcjonalnymi mikroprocesora odbywa się za pomocą magistrali wewnętrznej.
  2. Sterowanie wymianą informacji i między blokami funkcjonalnymi odbywa się metodą mikroprogramową (układ sterowania zawiera z reguły pamięć mikroprogramów, realizujących rozkazy programu)

Mikroprocesor jak każda jednostka centralna pracuje w sposób sekwencyjny.

             

              Klasyfikacja mikroprocesorów jest wg trzech następujących kryteriów :

  1. architektura wewnętrzna
  2. długość słowa maszynowego (8, 32, 64 bity)

3.      technologia (TTL, LMOS, CMOS itd.)

 

Mikroprocesor I8086 :

 

              W 1978 r. opracowano w firmie INTEL mikroprocesor 16 bitowy I8086. Składa się z dwóch części współpracujących zespołów :

·         EU – zespól wykonawczy – jednostka wykonawcza

·         BIU – zespół łącza z magistralą systemową – jednostka interfejsu

 

Zespół wykonawczy EU – zawiera :

·         ALU (Arythmetic Logical Unit) – blok arytmetyczno logiczny

·         FR () – rejestr znaczników

·         GR () – blok rejestrów ogólnego przeznaczenia

·         IP () – rejestr indeksowy

·         CS () – blok sterowania

 

Rejestr flag :

              Rejestr ten (9 bitowy, którego kolejne bity są ustawiane w zależności od zaistnienia jakiegoś zjawiska) umożliwia kontrolę pracy procesora.

·         S – znak

0 = +

1 = -

·         Z – znacznik zero

0 – różne od zera

1 – wynik zerowy

·         P – znacznik parzystości

0 – gdy liczba jedynek wyniku operacji jest nieparzysta

1 – gdy liczba jedynek wyniku operacji jest parzysta

·         A – przeniesienie pomocnicze jest ustawione, gdy powstaje przeniesienie między tetradami (czwórkami) bitów mniej znaczącego bitu

·         C – przeniesienie jest ustawione, gdy wynik operacji arytmetycznej powoduje powstanie przeniesienia z najbardziej znaczącego bitu

·         O – nadmiar, przepełnienie jest ustawione, gdy suma modulo 2 przeniesienia z najbardziej znaczącej pozycji i z przedostatniej jest równa 1 (przekroczenie zakresu w kodzie U2)

·         I – znacznik zezwolenia na przyjmowanie przerwań

0 – zakaz przyjmowania przerwań z INT

1 –zezwolenie na przyjmowanie przerwań z INT

·         D – znacznik kierunku

0 – zerowany rozkazem CLD

1 – ustawiany rozkazem STD

              Wskazuje czy zawartości rejestrów SI i DI mają być zwiększone o 1, czy zmniejszone podczas wykonywania operacji na ciągach (inkrementacja i postinkrementacja)

·         T – znacznik pułapki – umożliwiający pracę krokową wskaźnika może być ustawiony w słowie stanu programu PSW przez zapis jedynki na pozycji odpowiedniego bitu. Można to zrobić rozkazem Push PSW, wpisaniem 1 i rozkazem pop PSW.

 

 

              Procesor, a ściślej ALU, pracuje na danych zgromadzonych w rejestrze. Aby procesor wykonywał jakieś działanie należy :

  1. najpierw załadować rejestr
  2. odczytać znajdujący się w nich wynik

 

Rejestr jest to szereg komórek pamięci, które znajdują się w obudowie procesora. Grupy tych komórek mają ściśle określone nazwy i przeznaczenie. Wszystkie mają rozmiar 16 bitów (w tym procesorze).

 

 

Rys. 4. Rejestr mikroprocesora 8086.

 

 

Rys. 5. Schemat blokowy mikroprocesora 8086.

 

Rejestry ogólnego przeznaczenia :

 

              Są to cztery pary rejestrów 8 bitowych (dostępnych również na całej długości słowa 16 bitowego). Są to :

·         AH, AL. – akumulator (Accumulator register), oznaczenie pary AX

·         BH, BL – rejestr bazowy (Base register), para BX

·         CH, CL – rejestr zliczający (), para CX

·         DH, DL – rejestr danych (), para DX

 

Rejestry ogólnego przeznaczenia mogą być wykorzystywane jako tymczasoe schowki na dane :

·         AX – jest najważniejszym rejestrem wykorzystywanym w operacjach arytmetyczno – logicznych

·         BX – służy do adresowania pamięci

·         CH – jest licznikiem w pętlach

·         DX – umożliwia przekazywanie i odbieranie danych z portów

 

Następna grupa rejestrów to również cztery rejestry 16 bitowe.

 

Rejestry wskaźnikowe (dwa):

 

·         SP – wskaźnik stosu (Stack Pointer)

·         BP – wskaźnik bazowy (Base Pointer)

Oba rejestry SP i BP używane są do adresowania pamięci.

 

Rejestry indeksowe(dwa – celu i źródła) :

 

·         DI – rejestr adresu przeznaczenia (Destination Index)

·         SI – rejestr adresu argumentu (Source Index)

Rejestry te służą do adresowania danych w zasięgu segmentu.

·         IP – rejestr indeksowy (Index Register lub Pointer) jest stosowany przy adresowaniu indeksowym.

 

Zespół łącza z magistralą systemową – BIU

 

              BIU zawiera :

·         Blok rejestrów segmentowych (zespół rejestrów relokacji) :

o       CS

o       DS.

o       SS

o       ES

·         Licznik rozkazów PC

·         Sumator do obliczania adresu fizycznego

·         Układ kolejki rozkazów

·         Blok sterowania

 

Wyodrębnienie zespołu BIU spowodowało przyśpieszenie pracy procesora, co jest efektem nałożenia się w czasie :

·         Wykonania i pobierania rozkazów

Dzięki zastosowaniu kolejki rozkazów możliwe jest jednoczesne pobieranie rozkazów z pamięci operacyjnej i ich wykorzystywanie.

              Procesor 8086 zawiera układy kolejki długości 6 bajtów.

 

BIU – realizuje mechanizmy segmentacji :

·         w celu oderwania logicznych obszarów pamięci od ich fizycznych adresów

·         w celu łatwiejszej relokacji tych obiektów

 

Rejestry segmentowe :

 

              Procesor 8086 rozróżnia cztery logiczne obszary pamięci. Każdemu znich przypisany jest jeden rejestr systemowy :

·         CS – rejestr adresu segmentu programu (Code Segment), wskazuje segmant progarmu, z którego pobierane są rozkazy do wykonania.

·         DS. – rejestr adresu danych (Date Segment), skazuje segment, w którym znajdują się dane zdeklarowane w programie.

·         SS – rejestr adresu segmentu stosu (Stach Segment) – wskazuje segment, w którym jest zdefiniowany stos.

·...

Zgłoś jeśli naruszono regulamin