eW01 Klaus ASK struktura i dzialanie - cs.put.poznan.pl filemagistrale ALU Jednostka sterująca...
Transcript of eW01 Klaus ASK struktura i dzialanie - cs.put.poznan.pl filemagistrale ALU Jednostka sterująca...
drKlaus 1
Szablon wykładu – należy uzupełnićpodczas spotkania z wykładowcą
STRUKTURA I DZIAŁANIE KOMPUTERA
dr inż. Rafał KlausInstytut InformatykiPolitechnika Poznańska
[email protected]/rklaus
Struktura i działanie komputera W1
2
struktura, funkcje, komputerPN-ISO/IEC 2382-1:1996 - 01.03.03, PN-N-01602:1997 - 2.24
STRUKTURA – to sposób wzajemnego powiązania składników
FUNKCJE – określają działanie poszczególnych składników jako części struktury
KOMPUTER - jednostka funkcjonalna, która może wykonywać obliczenia, włączając w to liczne operacje arytmetyczne i operacje logiczne, bez interwencji człowieka.
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Programy użytkowe
System operacyjny
Sprzęt
3
Model funkcjonalny komputera
Komputer w ogólności realizuje cztery funkcje:
przetwarzanie danychprzechowywanie danychprzenoszenie danychsterowanie
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Urządzenie do przemieszczania
danych
Urządzenie sterujące
Urządzenie do przechowywania
danych
Urządzenie do przetwarzania
danych
Środowisko użytkoweźródło i miejsce przeznaczenia danych
drKlaus 2
4
Operacje realizowane przez komputer
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
przemieszczanie
sterowanie
pamięć przetwarzanie
przemieszczanie
sterowanie
pamięć przetwarzanie
przemieszczanie
sterowanie
pamięć przetwarzanie
przemieszczanie
sterowanie
pamięć przetwarzanie
5
Struktura komputera
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Urządzenia peryferyjne
Linie komunikacyjne
Komputer
•pamięć
•przetwarzanie
wejście-wyjście
Połączenia systemowe
Pamięćgłówna
Jednostka centralna
komputer
Jednostka centralna -procesor
steruje działaniem komputera i realizuje jego funkcje przetwarzania danych
Pamięć głównaPrzechowuje dane
Wejście-wyjściePrzenosi dane między komputerem a jego otoczeniem zewnętrznym
Połączenia systemoweMechanizmy zapewniające łączność między procesorem, pamięcią a wej.-wyj.
6
Cztery główne składniki procesora
Jednostka sterującasteruje działaniem procesora i przez to komputera
Jednostka arytmetyczno-logiczna (ALU)
realizuje funkcje przetwarzania danych
Rejestryrealizują wewnętrzne przechowywanie danych w procesorze
Połączenia wewnętrzneMechanizm zapewniający łączność między jednostkąsterującą, ALU a pamięcią
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
wejście-wyjście
Połączenia systemowe
Pamięćgłówna
Jednostka centralna
komputer
rejestry
Połączenia wewnętrzne
Jednostka arytmetyczno
-logiczna
Jednostka sterująca
Jednostka centralna
drKlaus 3
7
Jednostka sterująca
Wykonanie rozkazu to szereg kroków zwanych cyklami (pobranie, adresowanie, wykonanie,..)Każdy cykl to sekwencja operacji - mikrooperacji
np. przeniesienie danych między rejestrami, magistralązewnętrzną, ALU
Jednostka sterująca ma dwa zadania:
Wykonanie mikrooperacji przez procesor we właściwej kolejności wynikającej z realizowanego programuGenerowanie sygnałów sterujących, które powodująwykonanie mikrooperacji (otwieranie, zamykanie bram logicznych)
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Układy logiczne
szeregowania Rejestry i dekodery jednostki sterującej
Pamięćsterująca
Jednostka sterująca
rejestry
magistrale
ALU
Jednostka sterująca
procesor
8
Komputer PN-ISO/IEC 2382-1:1996 - 01.03.04
Urządzenie, które jest sterowany przez wewnętrznie zapamiętane programy i który jest zdolny wykorzystaćwspólną pamięć dla całego programu, bądź jego części, a także dla wszystkich lub części danych koniecznych do wykonania programów; wykonuje programy napisane lub zlecone przez użytkownika; wykonuje zlecone przez użytkownika manipulacje na danych dyskretnych reprezentowanych cyfrowo, włączając w to operacje arytmetyczne i operacje logiczne; także wykonuje programy, które się same modyfikują w trakcie przetwarzania.
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
9
Hardware und Software in einem Computersystem
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.mklaus.prv.pl
drKlaus 4
10
Aufbau eines Computersystems
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.mklaus.prv.pl
11
Podstawowy cykl rozkazu
Procesor realizując program wykonuje pewne powtarzające się czynności, polegające na cyklicznym pobieraniu kodów rozkazu z pamięci i wczytaniu ich do układu sterowania procesora, a następnie realizacji rozkazów, których kod został pobrany. W cyklu rozkazowym wyróżniamy dwie podstawowe fazy: fazę pobrania (fetch) i fazę wykonania (execution).
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
12
Aufbau eines Mikrocomputersystems
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.mklaus.prv.pl
drKlaus 5
13
Cykl rozkazuOdczytanie z pamięci operacyjnej rozkazu wskazywanego przez licznik rozkazów LR i umieszczenie go w rejestrze rozkazów RRDekodowanie rozkazu – określenie jego typu i liczby ewentualnych dalszych argumentówJeśli to konieczne to wyznaczenie adresów i pobranie potrzebnych argumentówPrzesłanie do rejestru adresowego RA adresów argumentów i zmiana zawartości LR tak, aby wskazywał na następny rozkaz do pobraniaWykonanie wymaganych czynności wskazywanych przez rozkaz i zapamiętanie wyniku, a mianowicie, po zdekodowaniu i zinterpretowaniu rozkazu, układ sterujący generuje ciąg odpowiednich sygnałów. Rozkaz wykonuje ALU w procesorze, wykorzystując do tego celu rejestry robocze. W zależności od wyniku wykonania rozkazu ustawiane są znaczniki (ang. flags), które informują układ sterowania o bieżącym stanie procesoraOdczytanie stanu procesora i przejście do kroku pierwszego
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.jlk.prv.pl
14
CYKLECykl maszynowySekwencja operacji w jednostce centralnej, odpowiadająca jednemu cyklowi pamięci, cyklowi wejścia/wyjścia (we/wy) albo równoważnej operacji wewnętrznej.
Rozkaz do jednego wykonania może wymagać jednego lub więcej cykli maszynowych, a cykl maszynowy zawiera zwykle więcej niż jeden cykl zegarowy.
Wykonanie programu
Cykl rozkazu
Cykl rozkazu ...
pobranieadresowaniewykonanieprzerwanie
µOP
µOP
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.jlk.prv.pl
15Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.mklaus.prv.pl
drKlaus 6
16
Przykład zależności czasowych związanych z operacją wczytania danych z urządzenia wejściowego.
Cykl rozkazowy
Cykl maszynowy 1 Cykl maszynowy 2 Cykl maszynowy 3
Impulsy taktujące
0T 1T 2T 3T 4T 5T 6T 7T 8T 9T 10T
Cykl zegarowy
Etap pobrania oraz Etap pobrania adresu Etap wczytaniadekodowania rozkazu urządzenia wejścia danych
17Architektura Systemów Komputerowych dr inż. Rafał KLAUS
18
Adresowanie zawartością wskaźnika rozkazówRozkaz przesłania D:=C a) sieć działań; b) pobranie rozkazu; c) wykonanie rozkazu
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
drKlaus 7
19
Adresowanie zawartością wskaźnika danych
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
20Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Adresowanie zawartością wskaźnika danych (pointer addressing)
21Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Rozkaz z argumentem bezpośrednim = rozkaz z adresem natychmiastowym (immediateaddressing)
drKlaus 8
22Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Adresowanie bezpośrednie (direct addressing)
23
Formaty rozkazów
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
00 d 110
n
00 001 110
10011000
MVI C,152D
0 B 1 C 2 D 3 E 4 H 5 L
6 M(HL) 7 A
0011 010
aL
aH
0 STA1 LDA
M(a):=A
A:=M(a)
24
Z Z –– zero zero –– Z=1 gdy wynik operacji wynosi zeroZ=1 gdy wynik operacji wynosi zero
SS-- znak znak -- najbardziej znacznajbardziej znacząący bit wynikucy bit wyniku
P P –– parzystoparzystośćść –– gdy wynik zawiera parzystgdy wynik zawiera parzystąą liczbliczbęę jedynekjedynek
CY CY –– przeniesienie przeniesienie –– przeniesienie (poprzeniesienie (pożżyczka) z najbardziej znaczyczka) z najbardziej znacząącego bitucego bitu
ACAC-- przeniesieni pomocnicze przeniesieni pomocnicze –– przeniesieni z 3 przeniesieni z 3 ––go bitugo bitu
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
A = 1001 0101
+y = 1101 0111
1 0110 1100
CY A
drKlaus 9
25
Skok do podprogramu a) z programu głównego b) z innego podprogramu (zagnieżdżenie)
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.jlk.prv.pl
26
Zapis i odczyt informacji ze stosu
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.jlk.prv.pl
27Architektura Systemów Komputerowych dr inż. Rafał KLAUS
11001101
aL
aH11001001
drKlaus 10
28Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Zespół jednostki centralnej prostego mikroprocesora
www.mklaus.prv.pl
29
Fluβdiagramm der Operationsschritte
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
30Architektura Systemów Komputerowych dr inż. Rafał KLAUS
drKlaus 11
31
Rozkaz RST
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.jlk.prv.pl
32
Rozkaz MOV M,B
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.jlk.prv.pl
33Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.jlk.prv.pl
drKlaus 12
34Architektura Systemów Komputerowych dr inż. Rafał KLAUS
www.jlk.prv.pl
35Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Zapisać w pamięci RAM od adresu 0000H 3 bajty rozkazu CALL 01ABH. Wykonać rozkaz w cyklu maszynowym obserwując zmiany na magistrali. Jaki rozkaz powinien poprzedzać CALL ?
W celu poprawnego zadziałania rozkazu CALL należy najpierw ustawićwskaźnik stosu SP.W celu dokonania tej poprawki należy na początku programu dodać rozkaz LXI SP, 0400h który to ustawi wskaźnik stosu na adres 0400h.
01h0002h
ABh0001h
CALL 01ABhCDh0000h
MnemonikWartośćAdres
01h0005h
ABh0004h
CALL 01ABhCDh0003h
04h0002h
00h0001h
LXI SP, 0400h31h0000h
MnemonikWartośćAdres
36
Adres= 8*n
Np. dla RST 7
8*7=56D=38H
Wprowadzić do pamięci RAM program ustawiający wskaźnik stosu na adres 400H wykonujący kolejno rozkazy RST 7-4 i zatrzymujący mikroprocesor (rozkaz HALT ) . Pod odpowiednimi adresami , do których odwołują się RST 7-4 , umieścić rozkaz powrotu z podprogramu .
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
RETC9h0038h
RETC9h0030h
RETC9h0028h
RETC9h0020h
HLT76h0007h
RST 4E7h0006h
RST 5EFh0005h
RST 6F7h0004h
RST 7FFh0003h
10h0002h
00h0001h
LXI SP, 1000h31h0000h
MnemonikWartośćAdres
drKlaus 13
37
Interakcja jednostki centralnej ze sterownikiem urządzenia wejścia-wyjścia
Odpytywanie (ang. polling) — procesor co jakiś czas (w szczególności bez przerwy) wykonuje rozkaz odczytu odpowiedniego rejestru sterownika, sprawdzając jego stan.Sterowanie przerwaniami (ang. interrupt-driven I/O) —procesor inicjalizuje pracę sterownika a o jej zakończeniu lub zaistnieniu określonego stanu informowany jest przez przerwanie, które zgłasza sterownik.Bezpośredni dostęp do pamięci (ang. direct memory access) — zadanie przekazywania danych pomiędzy sterownikiem a pamięcią spada na specjalizowany układ (DMA), który wykonuje swoje zadanie bez angażowania procesora.
działa?
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
38
PrzerwanieWstrzymanie takiego procesu, jak wykonanie programu maszynowego, spowodowane przez zdarzenie zewnętrzne w stosunku do tego procesu i realizowane w taki sposób, że proces może być jeszcze wznowiony.
procesor rejestry adaptera
inicjalizacja operacji
sprawdzanie stanu
adapter
sterownik przerwań
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
39
Sterowanie przerwaniami — przepływ sterowania
zapis I/O
zapis I/O
1
2a
3a
program użytkownika
modułsterujący
rozkaz I/O
4
5
14
52b4
53b
realizacja na osi czasu
podprogram obsługi
przerwania2b
2a
3b
3a
realizacja operacji I/O
realizacja operacji I/O
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
drKlaus 14
40
Sekwencyjna obsługa przerwań— przepływ sterowania
program użytkownika
procedura obsługi
przerwania 1
procedura obsługi
przerwania 2
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
41
Zagnieżdżona obsługa przerwań— przepływ sterowania
program użytkownika
procedura obsługi
przerwania 1procedura
obsługi przerwania 2
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
42
Priorytetowa obsługa przerwań— przepływ sterowania
program użytkownika
procedura obsługi przerwania o
średnim priorytecie procedura obsługi przerwania o
wysokim priorytecie
procedura obsługi przerwania o
niskim priorytecie
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
drKlaus 15
43
Podać +12V na wyjście INTA. Sprawdź czy przerwanie zostanie przyjęte. Jaki rozkaz i pod jakim adresem umieścić, aby możliwe było przyjęcie przerwania?
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Program ten nie reaguje na sygnał przerwania. W celu włączenia obsługi przerwań należy wykonać rozkaz EI. W podanym powyżej programie należałoby go umieścić np. zamiast rozkazu NOP
RETC9h0038h
00h0006h
03h0005h
JMP 0003hC3h0004h
NOP00h0003h
10h0002h
00h0001h
LXI SP, 1000h31h0000h
MnemonikWartośćAdres
EIFBh0003h
44
Kiedy pojawia się INTE?Czy przerwanie, które przyszło przed otwarciem systemu przerwań jest zapamiętywane i obsługiwane po otwarciu?
Wysłać przerwanie w czasie pobrania kodu rozkazu JMP. Kiedy rozpocznie sięreakcja na przerwanie?
Kiedy pojawia się INTA? Kiedy zmienia się INTE?
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
sygnał INTE pojawia się po wykonaniu następnego (w stosunku do EI) rozkazuprzerwanie które przyszło przed otwarciem systemu przerwań zostanie zignorowaneprzerwanie które pojawi się w trakcie wykonywania rozkazu EI zostanie zignorowane (układ przerwań jest włączany po wykonaniu się kolejnego rozkazu)rozpoczęcie obsługi przerwania wysłanego w trakcie wykonywania się rozkazu JMP zostanie obsłużone po wykonaniu skokusygnał INTA pojawia się w momencie rozpoczęcia obsługi przerwaniachwilę później zostaje zdjęty z magistrali sygnał INTE w celu zapobiegnięcia przerwania obsługiwanego właśnie przerwania (można oczywiście jeśli potrzebujemy „ręcznie” odblokować system przerwań rozkazem EI)
RETC9h0038h
00h0006h
03h0005h
JMP 0003hC3h0004h
EIFBh0003h
10h0002h
00h0001h
LXI SP, 1000h31h0000h
MnemonikWartośćAdres
45
Obsługa przerwań
adres mnemonika
0000000300040005003800390042
LXI SP,400HEI
NOPJMP 4 INR A
STA 80HRET
Napisać program umożliwiający przyjmowanie i zliczanie przerwań . Program obsługi przerwania znajduje się w pamięci od adresu 38H . Zliczanie przerwań ma następować w komórce pamięci o adresie 80H .
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
RETC9h0039hINR M34h0038h
00h000Bh08h000Ah
JMP 0008hC3h0009hEIFBh0008h
00h0007hMVI M, 00h36h0006h
00h0005h80h0004h
LXI H, 0080h21h0003h10h0002h00h0001h
LXI SP, 1000h31h0000hMnemonikWartośćAdres
drKlaus 16
46
Obsługa przerwań
LXI SP 400HEIHALTJMP 4INR ASTA 80HRET
0000000300040005003800390042
mnemonikaadres
Zmodyfikować program tak , aby przerwania były przyjmowane w stanie HALT
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
RETC9h003AhEIFBh0039hINR M34h0038hHLT76h0009hEIFBh0008h
00h0007hMVI M, 00h36h0006h
00h0005h80h0004h
LXI H, 0080h21h0003h10h0002h00h0001h
LXI SP, 1000h31h0000hMnemonikWartośćAdres
47
Zmodyfikowaćprogram tak, aby po przyjęciu 20 przerwań zamknąćsystem przerwań i zasygnalizowaćfakt urządzeniom zewnętrznym (np. port 8255).
RETC9h0043h13h0042h
OUT 13hD3h0041hRETC9h0040hEIFBh003Fh
00h003Eh41h003Dh
JZ 0041hCAh003Ch20h003Bh
CPI 20hFEh003AhMOV A, M7Eh0039hINR M34h0038hHLT76h0009hEIFBh0008h
00h0007hMVI M, 00h36h0006h
00h0005h80h0004h
LXI H, 0080h21h0003h10h0002h00h0001h
LXI SP, 1000h31h0000hMnemonikWartośćAdres
48
Klaus R. Lemieszewski Ł.:
Systemy operacyjne – cykl wykładów, WOM, Gorzów Wlkp., 2007, ISBN 978-83-89560-19-3
179 stronicowy podręcznik akademicki podzielono na dwie części.
W pierwszej opisane zostały podstawy teoretyczne budowy systemów operacyjnych.
W drugiej części książki znajdują się ćwiczenia, stanowiące podstawę zdobycia praktycznych umiejętności obsługi istniejących na rynku systemów operacyjnych.
Książka została wzbogacona o płytę CD zawierającązbiór programów freeware poszerzających zakres materiału do nauki systemów operacyjnych.
Ksiązka jest cenową alternatywą dla innych tego typu pozycji na rynku.
Kupić można w Księgarni Akademickiej na Politechnice Poznańskiej (budynek BM) lub u autora. ([email protected])
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
drKlaus 17
49
Dziękuję za uwagę
Komentarze i pytania
Architektura Systemów Komputerowych dr inż. Rafał KLAUS
Prawo Balaniego: Jak długo trwa minuta, zależy od tego, po której stronie drzwi toalety się znajdujesz.