Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałAnastazy Krzanowski Został zmieniony 11 lat temu
1
Alokacja pamięci struct Test {char c; int n; double x; } st1; st1 cnxcnx 148148
2
Alokacja pamięci struct Test {char c; int n; double x; } st1; st1 cnxcnx 148148 cnxcnx 8888
3
PROSTY PROCESOR budowa komputera PROCESOR PAMIĘĆ OPERACYJNA URZĄDZENIA ZEWNĘTRZNE
4
PAMIĘĆ OPERACYJNA (PAO) bezpośrednio dostępna dla procesora zestaw ponumerowanych komórek do przechowywania ciągów binarnych 01n01n m 0............
5
PROCESOR procesor : układ, który samoczynnie realizuje program program : ciąg poleceń, które może wykonywać procesor polecenie rozkaz, zapisany jako ciąg binarny program sekwencja (ciąg) rozkazów lista rozkazów ( charakteryzuje procesor ) lokalizacja programu : PAO ( von Neumann 1946 )
6
podstawowy cykl pracy procesora POBIERZ ROZKAZ Z PAMIĘCI OPERACYJNEJ WYKONAJ ROZKAZ
7
POBIERZ ROZKAZ Z PAMIĘCI OPERACYJNEJ WSKAZANY PRZEZ LICZNIK ROZKAZÓW WYKONAJ ROZKAZ ZMIEŃ ZAWARTOŚĆ LICZNIKA ROZKAZÓW wskazanie rozkazu do wykonania : licznik rozkazów, wskaźnik rozkazu ( rejestr ) LR LR + 1 LR LR + N
8
budowa rozkazu bezargumentowy 1 - argumentowy 2 - argumentowy Arg : liczba, adres PAO, ozn. rejestru procesora KodOp Arg Arg1 Arg2
9
architektura prostego procesora KodOp R Arg Rejestr Rozkazu Rejestr A Rejestr B Licznik Rozkazów RR RA RB LR ARYTMOMETR + - STEROWANIE
10
pole R : wskazuje RA ( 0 ) albo RB ( 1 ) pole Arg: liczba NN albo adres komórki pamięci AP Lista rozkazów, mnemoniczne kody rozkazów rozkazy przesyłania danych SETR, NN MOVR, AP MOVAP, R
11
rozkazy arytmetyczne ADDR, AP SUBR, AP INCR DECR rozkazy skoków JMPAP JLER, AP rozkazy wprowadzania - wyprowadzania danych INR, NN OUTNN, R
12
rozkaz SET RA, 45H 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 RR SET R NN 1. RR PAO ( LR ) 2. LR LR + 1 3. dekodowanie KodOP 4. RA RR.Arg
13
rozkaz ADD RB, 5AEH 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 RR ADD R AP 1. RR PAO ( LR ) 2. LR LR + 1 3. dekodowanie KodOP 4. RT PAO ( RR.Arg ) 5. Arytmometr RB, RT, PLUS 6. RB Arytmometr
14
zmiana sekwencji rozkazów skok bezwarunkowy JMP LR JMP 370 +1 JMP 85 +1...... 85 86 250 251 252 370 371
15
rozkaz skoku bezwarunkowego JMP 370 1. RR PAO ( LR ) 2. LR LR + 1 3. dekodowanie KodOP 4. LR RR.Arg skok warunkowy JLE RA, 3223 1. RR PAO ( LR ) 2. LR LR + 1 3. dekodowanie KodOP 4. jeżeli RA < 0 to LR RR.Arg
16
prosty program S = Σ a i 1 i n n, a 1, a 2,..., a n 100 : SET RA, 0; zeruj sumę S 101 : MOV 200, RA; zapamiętaj S 102 : IN RB, 1; czytaj n 103 : DEC RB; n - 1 104 : IN RA, 1; czytaj a 105 : ADD RA, 200; a + S 106 : MOV 200, RA; zapamiętaj S 107 : DEC RB; n – 1 108 : JLE RB, 110; skocz gdy n < 0 109 : JMP 104; skocz gdy n 0 110 : OUT 2, RA; wyprowadź wynik
17
zerowanie obszaru pamięci o długości 2038 bajtów począwszy od adresu 1033 5000 : SET RA, 0; zeruj RA 5001 : MOV 1033, RA 5002 : MOV 1034, RA 5003 : MOV 1035, RA................... 7038 : MOV 3070, RA 2038 rozkazów
18
modyfikacja argumentu rozkazu – adresowanie bezwzględne : adres PAO = argument – adresowanie względne : adres PAO = argument + zawartość rejestru – dodatkowe pole w rozkazie KodOP R M Arg 0101 0101 RA RB bez modyfikacji modyfikacja przez RA
19
MOV RB, 500[RA] RA Adres efektywny 0500 1501 2502 150650 151651 32653765
20
300 : SET RB, 2037;długość 301 : MOV 150, RB;pamiętaj 302 : MOV RA, 0;modyfikator 303 : MOV RB, 0;wartość 0 304 : MOV 1033[RA], RB;zeruj 305 : INC RA;modyfikator + 1 306 : MOV RB, 150;odczytaj długość 307 : DEC RB;długość - 1 308 : MOV 150, RB;pamiętaj 309 : JLE RB, 311;gdy koniec 310 : JMP 303;powrót 311 :;koniec
21
stos – zapis / odczyt NDDNDD wzrost stosu skracanie stosu szczyt stosu WS 0101 PUSH R POP R PAO ( WS ) RWS WS + 1 WS WS – 1 R PAO ( WS ) istnieją inne realizacje
22
stos – wywoływanie podprogramów X + 1 CALL Y X X+1 Y RET...... WS CALL Y RET PAO ( WS ) LR WS WS + 1 WS WS – 1 LR PAO ( WS ) LR Y X + 1
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.