Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
ARCHITEKTURA WEWNĘTRZNA KOMPUTERA
Realizacja wybranych grup rozkazów: Arytmetycznych Logicznych Elementy logiki komputerów Wewnętrznych (systemowych) –przerwanie, obsługa wejścia-wyjścia Architektura komputerów – wykład Dr inż.. T. Popkowski
2
Rozkazy arytmetyczne ograniczają się do czterech podstawowych działań:
Dodawania (ADD) Odejmowania (SUB) Mnożenia (MUL) Dzielenia (DIV) (dot. liczb całkowitych w kodzie U2)
3
KOD U2 Kod uzupełnień do dwóch (w skrócie U2 lub ZU2) jest obecnie najpopularniejszym sposobem zapisu liczb (najczęściej całkowitych) na bitach. Jego popularność wynika z faktu, że operacje dodawania i odejmowania są w nim wykonywane tak samo jak dla liczb binarnych bez znaku. Z tego też powodu oszczędza się na kodach rozkazów procesora. Nazwa kodu wzięła się ze sposobu obliczania liczb przeciwnych. Dla jednobitowej liczby wartość przeciwną obliczamy odejmując daną liczbę od 2 (uzupełniamy jej wartość do dwóch). Analogicznie, dla liczb n-bitowych wartości przeciwne uzyskujemy odejmując liczbę od dwukrotnej wagi najstarszego bitu (2·2n–1 = 2n). W analogiczny sposób można stworzyć np. kod uzupełnień do jedności. Zaletą tego kodu jest również istnienie tylko jednego zera. Przedział kodowanych liczb nie będzie zatem symetryczny. W U2 na n bitach da się zapisać liczby z zakresu: Dla 8 bitów (bajtu) są to liczby od –128 do 127. Liczba –2n–1 nie posiada swojego przeciwieństwa w n-bitowej reprezentacji kodu U2.
4
ZAPIS LICZB W dwójkowym systemie liczbowym najstarszy bit liczby n-cyfrowej ma wagę 2n–1. Jedyną różnicą, jaką wprowadza tu kod U2, jest zmiana wagi tego bitu na przeciwną (–2n–1). Bit ten jest nazywany bitem znaku, ponieważ świadczy o znaku całej liczby – jeśli jest ustawiony (=1) cała liczba jest ujemna, jeśli jest skasowany (=0) – liczba jest dodatnia lub równa 0. Jeśli chcemy zwiększyć obszar zajmowany przez liczbę w kodzie U2 (np. z jednego bajtu na dwa), dodawany obszar musimy wypełnić bitem znaku. PRZYKŁAD: U2 = -1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 20 = -1910
5
LICZBA PRZECIWNA Aby zamienić liczbę w U2 na przeciwną, należy wykonać dwa kroki: dokonać inwersji bitów, czyli pozamieniać 0 na 1 i odwrotnie zwiększyć wynik o 1. Można też posłużyć się metodą podaną na wstępie, ale powyższa metoda jest prostsza i działa również na procesorach, które nie mają operacji odejmowania. Przykład Dana jest liczba: = -(0) ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 20 = 7410 Dokonujemy inwersji: Zwiększamy o 1: U2 = -1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 20 = -7410
6
DODAWANIE I ODEJMOWANIE LICZB
Dodawanie i odejmowanie w U2 odbywa się standardową metodą – traktujemy liczby jako zwykłe liczby binarne (dodatnie), dodajemy je lub odejmujemy, a wynik otrzymujemy w zapisie U2. Dodawanie i odejmowanie odbywa się łącznie z bitem znaku, a przeniesienia i pożyczki poza najstarszy bit (bit znaku) ignorujemy. Jeśli jednak przepełnienie (lub pożyczka) nie będzie występować jednocześnie na bit znaku i poza niego, wówczas możemy być pewni przekroczenia zakresu wyniku. Uwaga: przecinek oznacza oddzielenie części całkowitej od ułamkowej, kropka znaku liczby od wartości w U2. Rezerwujemy odpowiednią ilość "bitów" uzupełniając z lewej strony bitem znaku, a z prawej zerami zgodnie z zasadą zapisu w U2.
7
PRZYKŁAD: DODAWANIE I ODEJMOWANIE
,010 ,011 ,101 ,011 ,111
8
DZIAŁANIA LOGICZNE I BRAMKI
Działania logiczne posługują się głównie algebrą Boole’a określoną dla zmiennych przyjmujących wartości ze zbioru dwóch elementów {0; 1}. Na zmiennych dwustanowych definiuje się następujące działania: – iloczyn logiczny nazywany funkcją AND: – sumę logiczną OR: – negację argumentu NOT: W praktyce wygodnie jest wprowadzić również funkcje realizujące złożenie funkcji AND z NOT oraz OR z NOT – negacja iloczynu NAND: – negacja sumy NOR: Definicje funkcji AND, OR, NAND i NOR można łatwo rozszerzyć na dowolną liczbę argumentów przez złożenie ich z funkcji dwuargumentowych, np. A*B*C=(A*B)*C
9
Bramka NOT (negacja) Symbol graficzny: Tablica prawdy 1 1
Wejście Wyjście 1 1 Jest to najprostsza bramka; jej zadaniem jest odwracanie (negowanie) sygnału wejściowego. Gdy na wejściu ustawimy sygnał "1" to na wyjściu otrzymamy "0", a gdy na wejściu ustawimy "0" to na wyjściu pojawi się "1". Wejście bramki, wg przedstawionego wyżej symbolu graficznego znajduje się po lewej stronie; po prawej jest jej wyjście. Bramka ta zawsze ma tylko jedno wejście.
10
Bramka AND (iloczyn) Symbol graficzny: Tablica prawdy
Wejście1 Wejście2 Wyjście 1 1 1 1 Bramka ta realizuje tzw. iloczyn logiczny. Na wyjściu stan "1" występuje tylko i wyłącznie wtedy gdy na wszystkich wejściach bramki ustawiony jest również stan logiczny "1". Bramka ta posiada co najmniej dwa wejścia (u nas po lewej stronie) - może jednak posiadać ich więcej - teoretycznie nieskończenie wiele. W praktyce spotyka się bramki posiadające do 8 wejść. Natomiast wyjście wszystkie bramki mają tylko jedno.
11
Bramka OR (suma) Symbol graficzny: Tablica prawdy 1 1 1
Wejście1 Wejście2 Wyjście 1 1 1 1 1 1 Jest to tzw. bramka sumy logicznej. W przypadku tej bramki wystarczy aby choć na jednym z jej wejść pojawił się stan "1" i wtedy na wyjściu również pojawi się jedynka logiczna "1". Odnośnie ilości możliwych wejść - jak wyżej.
12
Bramka NAND (negacja iloczynu)
Symbol graficzny: Tablica prawdy Wejście1 Wejście2 Wyjście 1 1 1 1 1 1 Bramka ta stanowi jakby połączenie bramki AND i NOT. Zero logiczne "0" na wyjściu jest ustawiane tylko wtedy gdy na obu wejściach jest jedynka logiczna "1". W pozostałych przypadkach na wyjściu zawsze jest stan "1". Widać więc, że jest ona dokładną odwrotnością bramki AND - porównaj tablice prawdy dla obu bramek. Również i ta bramka może mieć wiele wejść i tylko jedno wyjście.
13
Bramka NOR (negacja sumy)
Tablica prawdy Symbol graficzny: Wejście1 Wejście2 Wyjście 1 1 1 1 A ta bramka natomiast jest odwrotnością bramki OR. Zero na wyjściu pojawia się zawsze wtedy, gdy choćby na jednym z wejść jest jedynka logiczna. Tylko wtedy gdy wszystkie wejścia są ustawione w stan "0" na wyjściu pojawia się "1".
14
Bramki wielowejściowe
Wejście1 Wejście2 Wejście3 Wejście4 Wyjście 1 Symbol graficzny: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Na symbolu graficznym dochodzą tylko dodatkowe wejścia podobnie jak w tablicy prawdy - zamiast dwóch wejść mamy cztery. A ponieważ jest to bramka AND, wyjście przyjmuje stan "1" tylko wtedy gdy wszystkie wejścia również są ustawione w stan "1".
15
UKŁADY WEJŚCIA / WYJŚCIA
Układem wejścia / wyjścia nazywamy układ elektroniczny pośredniczący w wymianie informacji pomiędzy mikroprocesorem i pamięcią systemu z jednej strony, a urządzeniem peryferyjnym z drugiej. Dla systemu mikroprocesorowego układ wejścia / wyjścia widoczny jest jako rejestr lub zespół rejestrów o określonych adresach oraz pewien zestaw sygnałów sterujących.
16
Układy wejścia / wyjścia współadresowalne z pamięcią operacyjną
CPU – centralna jednostka przetwarzająca PAO – pamięć operacyjna I/O – układy wejścia wyjścia AB – magistrala adresowa W przypadku układów współadresowalnych z pamięcią operacyjną wybieramy obiekt na którym dokonujemy operacji (komórka pamięci lub rejestr układu wejścia / wyjścia), za pomocą adresu. Sygnały sterujące są wspólne dla pamięci i układów wejścia / wyjścia.
17
Układy wejścia / wyjścia izolowane
Dla izolowanych układów wejścia / wyjścia wybieramy obiekt na którym dokonujemy operacji (komórka pamięci lub rejestr układu wejścia / wyjścia), za pomocą sygnałów sterujących. Przestrzenie adresowe pamięci i układów wejścia / wyjścia są rozdzielone.
18
Operacje wejścia / wyjścia
Operacjami wejścia / wyjścia nazywamy całokształt działań potrzebnych do realizacji wymiany informacji pomiędzy mikroprocesorem i pamięcią z jednej strony, a układem wejścia / wyjścia z drugiej. • Bezwarunkowe operacje wejścia / wyjścia Bezwarunkową operacja wejścia / wyjścia nazywamy taką operację przy realizacji której mikroprocesor nie sprawdza gotowości układu wejścia / wyjścia do tej wymiany. • Operacje wejścia / wyjścia z testowaniem stanu układu wejścia / wyjścia - Przy realizacji operacji wejścia / wyjścia z testowaniem stanu układu wejścia / wyjścia, mikroprocesor sprawdza sygnał (np. może to być określony bit) gotowości układu wejścia / wyjścia do tej wymiany. W przypadku potwierdzenia gotowości do wymiany przez układ jest ona realizowana.
19
Operacje wejścia / wyjścia z przerwaniem programu
STEROWNIK PRZERWAŃ: Pośredniczenie w przyjmowaniu zgłoszeń przerwań pomiędzy mikroprocesorem, a innymi układami wejścia / wyjścia Przyjmowanie zgłoszeń przerwań od wielu układów wejścia / wyjścia Wybór z pośród kilku jednocześnie zgłoszonych przerwań tego, które zostanie obsłużony Zasygnalizowanie dokonanego wyboru przez podanie numeru (adresu) układu wejścia / wyjścia, z którym zostanie dokonana wymiana, a dokładniej, adresu programów obsługi przerwania realizującego tą wymianę Po przyjęciu sygnałów zgłoszeń przerwań od układów wejścia / wyjścia i wyborze układów, który będzie obsłużony, wygenerowanie sygnału zgłoszenia przerwania bezpośrednio do mikroprocesora.
20
Wykonanie operacji wejścia / wyjścia z przerwaniem programu
21
Schemat blokowy sterownika przerwań
22
Operacja maskowania sygnałów przerwań
23
Dziękuję za uwagę!
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.