Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Alokacja pamięci struct Test {char c; int n; double x; } st1; st1 cnxcnx 148148.

Podobne prezentacje


Prezentacja na temat: "Alokacja pamięci struct Test {char c; int n; double x; } st1; st1 cnxcnx 148148."— Zapis prezentacji:

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


Pobierz ppt "Alokacja pamięci struct Test {char c; int n; double x; } st1; st1 cnxcnx 148148."

Podobne prezentacje


Reklamy Google