ARCHITEKTURA WEWNĘTRZNA KOMPUTERA

Slides:



Advertisements
Podobne prezentacje
Teoria układów logicznych
Advertisements

Minimalizacja formuł Boolowskich
Teoria układów logicznych
Programowanie w PMC.
Architektura systemów komputerowych
UKŁADY ARYTMETYCZNE.
Wykonał : Marcin Sparniuk
Mikroprocesory i procesory sygnałowe
Liczniki.
Michał Łasiński Paweł Witkowski
PRZERZUTNIKI W aktualnie produkowanych przerzutnikach scalonych TTL wyróżnia się dwa podstawowe rodzaje wejść informacyjnych: - wejścia asynchroniczne,
Lista rozkazów Działanie mikroprocesora jest kontrolowane poprzez rozkazy (instrukcje). Dla każdego typu mikroprocesora istnieje specyficzny zbiór rozkazów,
Liczby w Komputerze Zajęcia 3.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
Podstawowe składniki funkcjonalne procesora i ich rola.
Budowa komputera Wstęp do informatyki Wykład 15
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Od algebry Boole’a do komputera
Układy cyfrowe Irena Hoja Zespół Szkół Łączności
ARCHITEKTURA KOMPUTERÓW Dr inż. Tadeusz POPKOWSKI A.D. 2007
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Mikroprocesory i procesory sygnałowe
Architektura komputerów
Zapis informacji Dr Anna Kwiatkowska.
Bramki Logiczne.
Elektronika cyfrowa i mikroprocesory
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
Układy kombinacyjne cz.2
opracowanie: Agata Idczak
Podstawy układów logicznych
Funkcje logiczne i ich realizacja. Algebra Boole’a
Cyfrowe układy logiczne
W układach fizycznych napięcie elektryczne może reprezentować stany logiczne. Bramką nazywamy prosty obwód elektroniczny realizujący funkcję logiczną.
Zasada działania komputera
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI,
Układy cyfrowe.
Systemy liczbowe.
Liczby całkowite dodatnie BCN
Sygnały cyfrowe i bramki logiczne
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Matematyka i system dwójkowy
Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne
Pudełko Urządzenia Techniki Komputerowej
PODSTAWOWE BRAMKI LOGICZNE
Złożone układy kombinacyjne
Podstawy arytmetyki komputerowej Paweł Perekietka
Bramki logiczne i układy kombinatoryczne
Programowanie Niskopoziomowe
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Dwójkowy system liczbowy
T. 3. Arytmetyka komputera. Sygnał cyfrowy, analogowy
Własności bramek logicznych RÓZGA DARIUSZ 20061
Przerzutniki Przerzutniki.
Procesor, pamięć, przerwania, WE/WY, …
Podstawy Techniki Cyfrowej
Zasady arytmetyki dwójkowej
METODY REPREZENTOWANIA IFORMACJI
Sumator i półsumator.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
LICZBY NATURALNE I CAŁKOWITE. Liczby Naturalne Liczby naturalne – liczby używane powszechnie do liczenia (na obiedzie były trzy osoby) i ustalania kolejności.
Elementy cyfrowe i układy logiczne
Elementy cyfrowe i układy logiczne
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Technika Mikroprocesorowa 1
Wstęp do Informatyki - Wykład 6

POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

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

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)

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.

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: 11101101U2 = -1 ⋅ 27 + 1 ⋅ 26 + 1 ⋅ 25 + 0 ⋅ 24 + 1 ⋅ 23 + 1 ⋅ 22 + 0 ⋅ 21 + 1 ⋅ 20 = -1910

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: 010010102 = -(0) ⋅ 27 + 1 ⋅ 26 + 0 ⋅ 25 + 0 ⋅ 24 + 1 ⋅ 23 + 0 ⋅ 22 + 1 ⋅ 21 + 0 ⋅ 20 = 7410 Dokonujemy inwersji: 10110101 Zwiększamy o 1: 10110110U2 = -1 ⋅ 27 + 0 ⋅ 26 + 1 ⋅ 25 + 1 ⋅ 24 + 0 ⋅ 23 + 1 ⋅ 22 + 1 ⋅ 21 + 0 ⋅ 20 = -7410

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.

PRZYKŁAD: DODAWANIE I ODEJMOWANIE 1.10100,010 +1.11000,011 ------------ 1.01100,101 -1.11000,011 1.11011,111

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

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.

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.

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.

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.

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".

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".

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.

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.

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.

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.

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.

Wykonanie operacji wejścia / wyjścia z przerwaniem programu

Schemat blokowy sterownika przerwań

Operacja maskowania sygnałów przerwań

Dziękuję za uwagę!