Você está na página 1de 32

Arhitectura microprocesoarelor Cap.

3
Corneliu BURILEANU
1
3. 3. PRINCIPIILE DE BAZ ALE UNEI ARHITECTURI TIPICE CISC PRINCIPIILE DE BAZ ALE UNEI ARHITECTURI TIPICE CISC
3.1. Structura registrelor 3.1. Structura registrelor
- - numr de registre numr de registre i dimensiuni i dimensiuni
- - registre fizice sau logice registre fizice sau logice
- - registre atribut de arhitectur registre atribut de arhitectur
- - func func iile registrelor iile registrelor
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
2
Microprocesoarele compatibile x86 Microprocesoarele compatibile x86 n modul real n modul real
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
3
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
4
3.2. Organizarea memoriei microcalculatorului 3.2. Organizarea memoriei microcalculatorului
- - dimensiunea hr dimensiunea hr ii memoriei ii memoriei
- - formatul memoriei formatul memoriei
- - conven conven iile de stocare iile de stocare n memorie a datelor care ocup mai mult de o loca n memorie a datelor care ocup mai mult de o loca ie ie
- - structurarea logic a memoriei structurarea logic a memoriei
3. 3.2 2. .1. 1. Microprocesoarele compatibile x86 Microprocesoarele compatibile x86 n modul real n modul real
AF AF
bazei bazei segmentului segmentului
= AS = AS 0000 0000
AF = AS AF = AS 0000 + AE 0000 + AE
AF = AS AF = AS 0H + AE 0H + AE
- - adresa fizic adresa fizic: : AF AF adresa logic adresa logic: : AL AL adr32 adr32, c , compus din ompus din: :
adresa segment: adresa segment: AS AS adr16 adr16
adresa efectiv adresa efectiv: : AE AE adr16 adr16
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
5
AS = (CS) AS = (CS) | | (SS) (SS) | | (DS) (DS) | | (ES) (ES) [ | [ | (FS) (FS) | | (GS) (GS)] ]
AE = (SP) AE = (SP) | | (BP) (BP) | | (SI) (SI) | | (DI) (DI) | | (IP) (IP) | | (BX) (BX) | | adr adr
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
6
AS AS impune: impune:
- - numrul de segmente realizabile simultan numrul de segmente realizabile simultan; ;
- - tipurile de segmente; tipurile de segmente;
- - contribuie la stabilirea pozi contribuie la stabilirea pozi iei absolute a segmentelor; iei absolute a segmentelor;
- - pozi pozi ia relativ a segmentelor ia relativ a segmentelor. .
AE AE impune: impune:
- - dimensiunea segmentelor dimensiunea segmentelor
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
7
Redefinirea utilizrii unui segment Redefinirea utilizrii unui segment: :
- - redirec redirec ionare ionare
- - suprapunere suprapunere
Destinaia AF implicit AF modificat
program (CS) 0H + (IP) NU
stiva primar (SS) 0H + (SP) NU
stiva alternativ (SS) 0H + (BP) (CS) 0H + (BP)
(DS) 0H + (BP)
(ES) 0H + (BP)
date (DS) 0H + AE


(CS) 0H + AE
(SS) 0H + AE
(ES) 0H + AE
n care: AE = (BX) | (SI) | (DI) | adr
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
8
3. 3.2 2. .2 2. . Microprocesoarele Microprocesoarele Motorola Motorola
AF AF adr24 adr24
AF AF AE = (PC) | (Ai) AE = (PC) | (Ai)
i=0..6 i=0..6
| (USP) | (SSP) | (Di) | (USP) | (SSP) | (Di)
i=0..7 i=0..7
| adr24 | adr24
Organizare liniar a memoriei Organizare liniar a memoriei Organizare segmentat a memoriei Organizare segmentat a memoriei
- - timp de acces timp de acces
- - ocuparea hr ocuparea hr ii memoriei ii memoriei
- - modularizare modularizare
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
9
Transferurile de date: depla Transferurile de date: deplasrile de operanzi srile de operanzi i/sau rezultate i/sau rezultate n interiorul n interiorul
microprocesorului, microprocesorului, ntre microprocesor ntre microprocesor i celelalte componente ale microcalculatorului, sau i celelalte componente ale microcalculatorului, sau ntre ntre
microcalculator microcalculator i lumea exterioar i lumea exterioar. .
Din punctul de vedere al complexit Din punctul de vedere al complexit ii transferurilor de date, ii transferurilor de date, se poate face urmtoarea se poate face urmtoarea
clasificare a microprocesoarelor de uz general: clasificare a microprocesoarelor de uz general:
Procesoare din categoria Procesoare din categoria A A: :
3.3. Transferurile de date 3.3. Transferurile de date
(A) (A) ( (r r
i i
) )
( (r r
i i
) ) (A) (A)
(A) (A) ( (mem mem) )
( (mem mem) ) (A) (A)
(A) (A) (port) (port)
(port) (port) (A) (A)
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
10
Procesoare din categoria Procesoare din categoria C C: au toate caracteristicile celor din categoria : au toate caracteristicile celor din categoria B B i i n plus: n plus:
Procesoare din categoria Procesoare din categoria B B: au toate caracteristicile celor din categoria : au toate caracteristicile celor din categoria A A i i n plus: n plus:
( (r r
i i
) ) ( (r r
j j
) )
( (r r
i i
) ) ( (mem mem) )
( (r r
i i
) ) (port) (port)
( (mem mem
i i
) ) ( (mem mem
j j
) )
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
11
Procesoare din categoria Procesoare din categoria D D: a : au toate caracteristicile celor din categoria precedent u toate caracteristicile celor din categoria precedent i, i, n plus: n plus:
for for i=1 i=1 to to n n do do
begin begin
( (mem mem
i i
) ) ( (mem mem
j j
) )
j j j + 1 j + 1
end end
Definim din acest moment ca Definim din acest moment ca registre atribute de arhitectur registre atribute de arhitectur ale unui microprocesor registrele care ale unui microprocesor registrele care
iau parte la transferuri de date iau parte la transferuri de date
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
12
2. 2. Adresare imediat Adresare imediat
data8 = ((PC) + 1) data8 = ((PC) + 1)
sau sau
data16 = ((PC) + 2) data16 = ((PC) + 2) ((PC) + 1) ((PC) + 1)
3.4. Tehnici de adresare 3.4. Tehnici de adresare
Tehnic Tehnic (mod) de adresare: modalitatea de specificare, (mod) de adresare: modalitatea de specificare, n formatul unei instruc n formatul unei instruc iuni, a loca iuni, a loca iei iei
(adresei) unui operand, rezultat sau a codului altei instruc (adresei) unui operand, rezultat sau a codului altei instruc iuni iuni
1. 1. Adresare implicit Adresare implicit ( ( n registru): n registru):
Un registru (p Un registru (pereche de registre) este ereche de registre) este specificat specificat (specifica (specificat t) ) ntr ntr- -unul dintre cmpurile codului instruc unul dintre cmpurile codului instruc iunii iunii
cod
semantic
cod reg.
destinaie
cod reg.
surs
3.4.1. Tehnici de adresare simple 3.4.1. Tehnici de adresare simple
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
13
data = ( data = (adr adr
h h
adr adr
l l
) )
u unde nde
adr adr
l l
= ((PC) + 1) = ((PC) + 1) i i adr adr
h h
= ((PC) +2) = ((PC) +2)
3. Adresare absolut 3. Adresare absolut (extins (extins , direct , direct ) )
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
14
4. Adresare scurt 4. Adresare scurt
data = ( data = (adr adr
h h
adr adr
l l
) )
adr adr
l l
= ((PC) + 1) = ((PC) + 1) i i adr adr
h h
= 00H = 00H
5. Adresare relativ 5. Adresare relativ
data = ((PC) data = ((PC) disp8 | disp16) disp8 | disp16)
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
15
6.a. Adresare indirect 6.a. Adresare indirect prin registru prin registru
data = (( data = ((r r
i i
) ) ( (r r
j j
)) | ((r16)) )) | ((r16))
6.b. Adresare indirect 6.b. Adresare indirect cu memoria cu memoria
data = (adr
2
) = ((adr
1
))
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
16
7.a. Adresare cu 7.a. Adresare cu preindexare preindexare
data = ((IX) +disp8) = ('BAZA' +disp8) data = ((IX) +disp8) = ('BAZA' +disp8)
s sau au
data = ((IX) +disp16) = ('BAZA' +disp16) data = ((IX) +disp16) = ('BAZA' +disp16)
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
17
7.b. Adresare cu 7.b. Adresare cu postindexare postindexare
data = ((IX) +( data = ((IX) +(adr adr)) = ('BAZA' +( )) = ('BAZA' +(adr adr)) ))
sau sau
data = ((IX) +(adr+1) data = ((IX) +(adr+1) (adr)) = ('BAZA' + (adr+1) (adr)) = ('BAZA' + (adr+1) (adr)) (adr))
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
18
3 3. .4 4. .2 2. Tehnici de adresare pentru Intel x86 . Tehnici de adresare pentru Intel x86 n modul real n modul real
a) Adresarea memoriei de program: a) Adresarea memoriei de program:
1. Adresarea relativ 1. Adresarea relativ ( ( salturi intra salturi intra- -segment segment ): ):
(IP) (IP) (IP) + disp8|disp16 (IP) + disp8|disp16
2. Adresarea direct 2. Adresarea direct ( ( salturi inter salturi inter- -segment segment ): ):
(IP) IP) adr32 adr32
l l
(CS) (CS) adr32 adr32
h h
b) Adresarea memoriei de date (operanzi/rezultate): b) Adresarea memoriei de date (operanzi/rezultate):
1. Adresarea imediat 1. Adresarea imediat : :
AF = [(CS) AF = [(CS) 0H+(IP)+2 0H+(IP)+2 ] (CS) ] (CS) 0H+(IP)+1 0H+(IP)+1
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
19
3. Adresarea indexat 3. Adresarea indexat : :
AF = (DS) AF = (DS) 0H + (SI)|(DI) + disp8|disp16 0H + (SI)|(DI) + disp8|disp16
adic adic : : AF = (DS) AF = (DS) 0H + (SI)|(DI) + [((CS) 0H + (SI)|(DI) + [((CS) 0H+(IP)+2) 0H+(IP)+2) ]((CS) ]((CS) 0H+(IP)+1) 0H+(IP)+1)
4. Adresarea indirect 4. Adresarea indirect - -implicit implicit : :
AF = (DS) AF = (DS) 0H +(SI)|(DI) 0H +(SI)|(DI)
2. Adresarea direct 2. Adresarea direct : :
AF = (DS) AF = (DS) 0H + adr8|adr16 , 0H + adr8|adr16 ,
sau: sau: AF = (DS) AF = (DS) 0H + [((CS) 0H + [((CS) 0H+(IP)+2) 0H+(IP)+2) ]((CS) ]((CS) 0H+(IP)+1) 0H+(IP)+1)
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
20
5. Adresarea relativ 5. Adresarea relativ la baz la baz : :
5.1. Adresare direct 5.1. Adresare direct relativ relativ la baz la baz : :
AF = (DS) AF = (DS) 0H + (BX) + adr8|adr16 0H + (BX) + adr8|adr16
cu: cu: adr8 = ((CS) adr8 = ((CS) 0H+(IP)+1) 0H+(IP)+1)
sau sau: : adr16 = ((CS) adr16 = ((CS) 0H+(IP)+2) 0H+(IP)+2) ((CS) ((CS) 0H+(IP)+1) 0H+(IP)+1)
5.2. Adresare indexat 5.2. Adresare indexat relativ relativ la baz la baz : :
AF = (DS) AF = (DS) 0H + (BX) + (SI)|(DI) + disp8|disp16 0H + (BX) + (SI)|(DI) + disp8|disp16
cu: cu: disp8 = ((CS) disp8 = ((CS) 0H+(IP)+1) 0H+(IP)+1)
sau sau: : disp16 = ((CS) disp16 = ((CS) 0H+(IP)+2) 0H+(IP)+2) ((CS) ((CS) 0H+(IP)+1) 0H+(IP)+1)
5.3. Adresare implicit 5.3. Adresare implicit relativ relativ la baz la baz : :
AF = (DS) AF = (DS) 0H + (BX) + (SI)|(DI) 0H + (BX) + (SI)|(DI)
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
21
6. Adresarea 6. Adresarea n stiv n stiv : :
6.1. Adresare direct 6.1. Adresare direct n stiv n stiv : :
AF = (SS) AF = (SS) 0H + (BP) + adr8|adr16 0H + (BP) + adr8|adr16
cu: cu: adr8 = ((CS) adr8 = ((CS) 0H+(IP)+1) 0H+(IP)+1)
sau sau: : adr16 = ((CS) adr16 = ((CS) 0H+(IP)+2) 0H+(IP)+2) ((CS) ((CS) 0H+(IP)+1) 0H+(IP)+1)
6.2. Adresare indexat 6.2. Adresare indexat n stiv n stiv : :
AF = (SS) AF = (SS) 0H + (BP) + (SI)|(DI) + disp8|disp16 0H + (BP) + (SI)|(DI) + disp8|disp16
cu: cu: disp8 = ((CS) disp8 = ((CS) 0H+(IP)+1) 0H+(IP)+1)
sau sau: : disp16 = ((CS) disp16 = ((CS) 0H+(IP)+2) 0H+(IP)+2) ((CS) ((CS) 0H+(IP)+1) 0H+(IP)+1)
6.3. Adresare implicit 6.3. Adresare implicit n stiv n stiv : :
AF = (SS) AF = (SS) 0H + (BP) + (SI)|(DI) 0H + (BP) + (SI)|(DI)
7. Adresarea 7. Adresarea n registru: n registru:
pe 8 bi pe 8 bi i: i: AF = AL | AH | BL | BH | CL | CH | DL | DH AF = AL | AH | BL | BH | CL | CH | DL | DH
pe 16 bi pe 16 bi i: i: AF = AX | BX | CX | DX | SP | BP | SI | DI AF = AX | BX | CX | DX | SP | BP | SI | DI
pe pe 32 32 bi bi i: i: AF = AF = E EAX | AX | E EBX | BX | E ECX | CX | E EDX | DX | E ESP | SP | E EBP | BP | E ESI | SI | E EDI DI
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
22
000 000 (BX)+(SI) (BX)+(SI) (BX)+(SI)+disp8 (BX)+(SI)+disp8 (BX)+(SI)+disp16 (BX)+(SI)+disp16 AL AL AX AX 000 000
001 001 (BX)+(DI) (BX)+(DI) (BX)+(DI)+disp8 (BX)+(DI)+disp8 (BX)+(DI)+disp16 (BX)+(DI)+disp16 CL CL CX CX 001 001
010 010 (BP)+(SI) (BP)+(SI) (BP)+(SI)+disp8 (BP)+(SI)+disp8 (BP)+(SI)+disp16 (BP)+(SI)+disp16 DL DL DX DX 010 010
011 011 (BP)+(DI) (BP)+(DI) (BP)+(DI)+disp8 (BP)+(DI)+disp8 (BP)+(DI)+disp16 (BP)+(DI)+disp16 BL BL BX BX 011 011
100 100 (SI) (SI) (SI)+disp8 (SI)+disp8 (SI)+disp16 (SI)+disp16 AH AH SP SP 100 100
101 101 (DI) (DI) (DI)+disp8 (DI)+disp8 (DI)+disp16 (DI)+disp16 CH CH BP BP 101 101
110 110 adr8|adr16 adr8|adr16 (BP)+adr8 (BP)+adr8 (BP)+adr16 (BP)+adr16 DH DH SI SI 110 110
111 111 (BX) (BX) (BX)+adr8 (BX)+adr8 (BX)+adr16 (BX)+adr16 BH BH DI DI 111 111
___________________________________________________________________________________________
________________________________________________________________________________________
r/m r/m mod: 00 mod: 00 mod: 01 mod: 01 mod: 10 mod: 10 mod: 11 mod: 11
w=0 w=0 w=1 w=1 reg reg
________________________________________________________________________________________
Octet pentru modul de adresare Octet pentru modul de adresare (face parte din formatul instruc (face parte din formatul instruc iunii, pozi iunii, pozi ia sa fiind imediat ia sa fiind imediat
dup codul propriu dup codul propriu- -zis). No zis). Notm cu tm cu b b
7 7
b b
6 6
b b
5 5
b b
4 4
b b
3 3
b b
2 2
b b
1 1
b b
0 0
: :
b b
7 7
b b
6 6
: : mod mod
b b
5 5
b b
4 4
b b
3 3
: : reg reg
b b
2 2
b b
1 1
b b
0 0
: : r/m r/m
w w un bit din codul propriu un bit din codul propriu- -zis al instruc zis al instruc iunii iunii
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
23
3.5. Tipuri de instruc 3.5. Tipuri de instruc iuni iuni
PUSH PUSH R1R2 R1R2; ;
(SP) SP) (SP) (SP) - - 1 1
((SP)) ((SP)) (R2) (R2)
(SP) (SP) (SP) (SP) - - 1 1
((SP)) ((SP)) (R1) (R1)
POP POP R1R2 R1R2; ; (R1) (R1) ((SP)) ((SP))
(SP) (SP) (SP) + 1 (SP) + 1
(R2) (R2) ((SP)) ((SP))
(SP) (SP) (SP) + 1 (SP) + 1
3.5.1. Instruc 3.5.1. Instruc iuni de transfer de date iuni de transfer de date
Repeat Repeat
((R1,R2)) ((R1,R2)) ((R3,R4)) ((R3,R4))
(R1,R2) (R1,R2) (R1,R2) + 1 (R1,R2) + 1
(R3,R4) (R3,R4) (R3,R4) + 1 (R3,R4) + 1
(R5,R6) (R5,R6) (R5,R6) (R5,R6) - - 1 1
Until Until (R5,R6) = 0H (R5,R6) = 0H
(d) (d) (s) (s)
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
24
opera opera ii ii monadice monadice: :
- - cu acumulator: cu acumulator: (d) (d) (d) (d)
- - f f r r acumulator acumulator: : (d) (d) (s) (s)
opera opera ii ii diadice diadice: :
- - cu acumulator cu acumulator: : (d) (d) (d) (d) (s) (s)
- - f f r r acumulator acumulator: : (d) (d) (s1) (s1) (s2) (s2)
3.5.2. Instruc 3.5.2. Instruc iuni de prelucrri de date iuni de prelucrri de date
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
25
(R1,R2) (R1,R2) (R1,R2) + (R3,R4) [ + (C)] (R1,R2) + (R3,R4) [ + (C)]
(A) (A) - - (s) (s) if if (A) = (s) (A) = (s) then then (Z) (Z) 1 1
if if (A) > (s) (A) > (s) then then (C) (C) 0 0
else else (C) (C) 1 1
Repeat Repeat
(A) (A) - - ((R3,R4)) ((R3,R4))
(R3,R4) (R3,R4) (R3,R4) + 1 (R3,R4) + 1
(R5,R6) (R5,R6) (R5,R6) (R5,R6) - - 1 1
Until Until (R5,R6) = 0H (R5,R6) = 0H (A) = ((R3,R4)) (A) = ((R3,R4))
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
26
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
27
3.5.3. Instruc 3.5.3. Instruc iuni de control al programului iuni de control al programului
Teste: Teste:
A A - - testeaz un fanion testeaz un fanion
B B - - testeaz o combina testeaz o combina ie logic de fanioane ie logic de fanioane
C C - - testeaz un bit oarecare dintr testeaz un bit oarecare dintr- -un operand oarecare un operand oarecare
D D - - testeaz linii de intrare testeaz linii de intrare serie serie
Salturi: Salturi:
- - dup cum urmeaz sau nu unor teste dup cum urmeaz sau nu unor teste: :
- - necondi necondi ionate ionate
- - condi condi ionate ionate
- - dup modul de adresare dup modul de adresare
- - dup complexitatea salturilor dup complexitatea salturilor: :
A A salturi cu dou posibilit salturi cu dou posibilit i i
B B salturi cu trei posibilit salturi cu trei posibilit i i
C C cicluri cicluri
- - dup cum memoreaz sau nu valoarea curent a numrtorului de pr dup cum memoreaz sau nu valoarea curent a numrtorului de program ogram: :
- - salturi propriu salturi propriu- -zise zise
- - apelurile de subprograme apelurile de subprograme
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
28
Moduri de adresare pentru salturile propriu Moduri de adresare pentru salturile propriu- -zise zise: :
adresarea absolut adresarea absolut: :
(PC) (PC) adr adr , ,
n care n care adr adr face parte din formatul instruc face parte din formatul instruc iunii iunii
adresarea relativ adresarea relativ: :
(PC) (PC) ( (PC PC) + disp8 | disp16 ) + disp8 | disp16 , ,
n care n care disp8 disp8 sau sau disp16 disp16 fac parte din formatul instruc fac parte din formatul instruc iunii iunii
adresarea indirect prin registru adresarea indirect prin registru: :
(PC) (PC) (( ((r r
i i
, , r r
j j
) + 1) ) + 1) (( ((r r
i i
, , r r
j j
)) ))
adresarea scurt adresarea scurt ( ( n n pagina 0 pagina 0 ): ):
(PC) (PC)
l l
adr8 adr8
(PC) (PC)
h h
0H 0H
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
29
Moduri de adresare pentru apeluri de subprograme Moduri de adresare pentru apeluri de subprograme
CALL CALL adr adr ; ; (SP) (SP) ( (SP SP) ) - - 1 1
((SP)) ((SP)) (PC) (PC)
h h
(SP) (SP) ( (SP SP) ) - - 1 1
((SP)) ((SP)) (PC) (PC)
l l
(PC) (PC) adr adr
(SP) (SP) ( (SP SP) ) - - 2 2
((SP) + 1) ((SP) + 1) (PC) (PC)
h h
((SP)) ((SP)) (PC) (PC)
l l
(PC) (PC) adr adr
RET ; RET ; (PC) (PC)
l l
((SP)) ((SP))
(SP) (SP) ( (SP SP) + 1 ) + 1
(PC) (PC)
h h
((SP)) ((SP))
(SP) (SP) ( (SP SP) + 1 ) + 1
(PC) (PC)
l l
((SP)) ((SP))
(PC) (PC)
h h
((SP) + 1) ((SP) + 1)
(SP) (SP) ( (SP SP) + 2 ) + 2
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
30
Clasificare dup complexitatea salturilor Clasificare dup complexitatea salturilor
if if condi condi ie ie = = true true then then (PC) (PC) adr adr
if if ( (r r
i i
) | ( ) | (mem mem
i i
) > ( ) > (r r
j j
) | ( ) | (mem mem
j j
) ) then then
(PC) (PC) adr1 adr1
else else
if if ( (r r
i i
) | ( ) | (mem mem
i i
) = ( ) = (r r
j j
) | ( ) | (mem mem
j j
) ) then then
(PC) (PC) adr2 adr2
else else
(PC) (PC) adr3 adr3
( (r r
i i
) ) ( (r r
i i
) ) 1 1
if if ( (r r
i i
) ) 0H 0H then then (PC) (PC) ( (PC PC) + disp8 | disp16 ) + disp8 | disp16
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
31
3.5.4. Instruc 3.5.4. Instruc iuni de intrare/ie iuni de intrare/ie ire ire
IN IN d, port; d, port; (d) (d) (port) (port)
OUT OUT port, s port, s ; ; (port) (port) (s) (s)
- - d d sau sau s s - - acumulatorul implicit sau dedicat acumulatorul implicit sau dedicat
- - harta porturilor este mult mai mic dect harta memoriei harta porturilor este mult mai mic dect harta memoriei
- - moduri de adresare foarte restrictive pentru porturi: moduri de adresare foarte restrictive pentru porturi:
direct direct
indirect prin registru indirect prin registru
Acces rapid la porturi Acces rapid la porturi
Arhitectura microprocesoarelor Cap.3
Corneliu BURILEANU
32
3.5.5. Instruc 3.5.5. Instruc iuni de control a iuni de control al l microcalculatorului microcalculatorului
Instruc Instruc iuni care sincronizeaz microcalculatorul cu anumite stri speci iuni care sincronizeaz microcalculatorul cu anumite stri speciale ale microprocesorului: ale ale microprocesorului:
- - stare de a stare de a teptare; teptare;
- - func func ionare pas cu pas; ionare pas cu pas;
- - acces direct la memorie; acces direct la memorie;
- - partajarea resurselor sistemului cu alte procesoare. partajarea resurselor sistemului cu alte procesoare.
Accesul la anumite fanioane (setare, resetare), Accesul la anumite fanioane (setare, resetare), n special fanioanele care semnaleaz ac n special fanioanele care semnaleaz ac iuni specifice iuni specifice
(ca (ca de pild validarea cererilor de de pild validarea cererilor de ntrerupere). ntrerupere).

Você também pode gostar