Documente Academic
Documente Profesional
Documente Cultură
Arhitectura Microprocesoarelor
Arhitectura Microprocesoarelor
INTRODUCERE N STUDIUL
MICROSISTEMELOR LECTRONICE
1. Obiectul lucrrii
Lucrarea i propune o introducere n studiul sistemelor cu microprocesorul
Z80. Sunt descrise componentele microsistemului i rolul acestora. Se introduc
comenzile programului monitor, prin intermediul cruia se acioneaz n mod
direct asupra microsistemelor existente n laborator. Este prezentat ansamblul de
programe tip mediu de dezvoltare IAR Systems Embedded Workbench i
comenzile de baz pentru depanarea i simularea programelor n limbaj de
asamblare sau realizarea de programe n limbaj de nivel nalt. Lucrarea propune i
o scurt recapitulare a sistemelor de numeraie binar i hexazecimal. n final sunt
prezentai regitrii de lucru pentru microprocesorul Z-80.
2. Breviar teoretic
2.1. Elemente generale
ndrumar de laborator 1
BLOC MEMORIE
DCD
MA
UC
MD
MC
DCD
BLOC CIRCUITE
I/O
ECH. PERIF.
ECH. PERIF. N
ECH. PERIF. I/O
ndrumar de laborator 1
ndrumar de laborator 1
ndrumar de laborator 1
ndrumar de laborator 1
ndrumar de laborator 1
ndrumar de laborator 1
neconcordane, precum i cele dou date diferite (din prima i, respectiv, a doua
zon).
e) SUBSTITUTE - permite vizualizarea i modificarea coninutului memoriei,
locaie cu locaie.
Modificarea este posibil doar dac zona de memorie asupra creia se aplic
comanda este una de tip RAM. Vizualizarea este posibil indiferent de tipul zonei
de memorie.
Tastarea acestei comenzi prezint cteva variante, ea fiind interactiv cu
operatorul. Se ncepe prin tastarea literei S urmat de adresa de la care se dorete
vizualizarea i eventual modificarea. Dup adres se apas tasta blank ( space ).
Microsistemul rspunde reafind adresa introdus anterior ( xxxx ), urmat fiind
de semnul : i de coninutul respectivei locaii de memorie ( yy ). Se afieaz
apoi o liniu de desprire ( - ). Liniua are semnificaia interogrii operatorului
asupra modificrii respectivului coninut. Dac acesta dorete modificarea
introduce noua dat ( zz ). Dac nu, are dou variante de continuare la dispoziie.
n prima, poate s apese tasta blank (space), trecndu-se astfel la adresa imediat
urmtoare (xxxx + 1), cu afiarea coninutului acesteia i lsnd coninutul locaiei
anterioare nemodificat. Lucrnd astfel, se va putea vizualiza i modifica coninutul
memoriei pas cu pas ( locaie cu locaie). n a doua variant de continuare, poate s
apese tasta CR (enter, return), comanda lund sfrit i afindu-se un nou
prompter.
>Sxxxx xxxx : yy - zz xxxx +1 : uu - vv ........ <CR>
unde
xxxx
= adresa locaiei;
yy, uu = datele memorate n locaiile indicate;
= liniua de dialog cu operatorul;
zz , vv = datele modificate;
Dac nu se dorete modificarea locaiei se apas tasta blank. Cu caractere italice
(aplecate) este prezentat rspunsul microsistemului .
f) EXAMINE - Afiarea i modificarea regitrilor microprocesorului. Comanda are
mai multe variante.
n forma urmtoare permite afiarea coninutului tuturor regitrilor
microprocesorului :
> X <CR>
Pe linia urmtoare, la display, apare coninutul tuturor regitrilor
microprocesorului:
ndrumar de laborator 1
ndrumar de laborator 1
10
ndrumar de laborator 1
Make
Debugger
Fereastra de
reprezentare a
proiectului sub
forma de arbore
Zona de editare
a programelor
Fereastra mesajelor
date de asamblor
11
ndrumar de laborator 1
Regitrii
microprocesorului
Z80
Codul
main
Memoria
microprocesorului
12
ndrumar de laborator 1
Utilizarea aplicailor
Embedded Workbench i C compiler dau
posibilitatea de editare a programelor n limbajul C. Asamblorul poate genera
fiiere cu extensia .hex ce conin codul main a programului n limbajul C sau n
limbaj de asamblare. Aceste fiiere se pot descrca n memoria unui microsistem
cu microprocesor Z80.
13
ndrumar de laborator 1
14
ndrumar de laborator 1
15
ndrumar de laborator 1
PC
S Z
SP
semn
zero
IX
transport la jumtate
IY
I
depire / paritate
negativ
transport
16
O N C
ndrumar de laborator 1
S Z
O N C
S - Sign (semn) - indicator ce prezint semnul rezultatului operaiei aritmeticologice; este practic bitul cel mai semnificativ al rezultatului; acest indicator are
semnificaie doar dac operanzii implicai n operaie sunt exprimai n cod
complement fa de 2 (CC2), adic au o reprezentare cu semn. n aceast situaie:
S = 1 reprezint un rezultat negativ,
S = 0 reprezint un rezultat pozitiv sau 0.
Z - Zero (zero) - indic dac rezultatul operaiei aritmetico-logice este nul
Z = 1 reprezint rezultat nul,
Z = 0 reprezint rezultat nenul.
H - Half carry (transport la jumtate) - indic apariia unui transport ntre nybbleul inferior i cel superior (adic ntre D3 i D4 ) la un rezultat al unei operaii
17
ndrumar de laborator 1
18
ndrumar de laborator 1
19
ndrumar de laborator 1
I1
O1
I2
I31
I32
I4
O41
O42
I51
I52
I61
I62
O6
Instruciunea 1
Instruciunea 2
Instruciunea 3
Instruciunea 4
Instruciunea 5
Instruciunea 6
20
ndrumar de laborator 1
Deci, stiva crete ctre napoi, adic spre adresele de nceput ale
memoriei (ctre adresa 0000h).
IX, IY = (regitrii Index X i Y) . Sunt regitrii pe 16 bii folosii n operaii de
adresare indexat. Procedura de adresare indexat va fi prezentat ulterior.
I = (Interrupt) - registrul de ntreruperi. Este un registru pe 8 bii folosit n
situaiile de tratare a ntreruperilor mascabile, primite de procesor pe intrarea INT ,
n modul 2 de tratare a acestora. Modurile de tratare a ntreruperilor mascabile vor
fi prezentate ulterior. Nu poate fi folosit pentru memorarea altor informaii.
R = (Refresh) - registrul de remprosptare. Este de fapt un registru pe 8 bii folosit
pentru remprosptarea eventualelor memorii de tip DRAM conectate la
magistralele microprocesorului Z-80. Doar ultimii apte bii ai acestui registru sunt
activi, bitul cel mai semnificativ fiind ntotdeauna 0. Dup execuia oricrei
instruciuni, coninutul acestui registru se incrementeaz. n total se pot executa
128 ( 27 ) cicli de refresh. Coninutul acestui registru se transmite pe magistrala de
adrese, pe octetul cel mai puin semnificativ al acesteia ( A7 , ... , A0 ) pe timpul
efecturii ciclului. Aceast informaie este folosit pentru asigurarea refresh-ului la
DRAM-urile conectate extern. n aceste situaii, pe octetul cel mai semnificativ al
aceleiai magistrale ( A15 , ... , A8 ) se transmite coninutul registrului I, fr nici
un fel de nsemntate practic. Aceast dubl trimitere se constituie ntr-o
explicaie a considerrii regitrilor I i R, ca fcnd parte din categoria regitrilor
pe 16 bii. Nu poate fi folosit pentru memorarea altor informaii.
4. Desfurarea lucrrii
Se va citi i conspecta breviarul teoretic. Se atrage atenia asupra faptului
c toate cunotinele cptate n acest laborator vor fi necesare i n derularea
celorlalte lucrri.
Se vor studia comenzile programului monitor. Se vor efectua operaiile
indicate mai jos, respectnd ordinea propus.
OBSERVATIE. Din punct de vedere al arhitecturii hardware a
microsistemelor aflate n laborator se specific faptul c zona de RAM (32
Koctei), se afl cuprins ntre adresele 8000h i 0FFFFh. Se recomand totui ca
utilizatorul s foloseasc zona cuprins ntre adresele 8010h i 0FF00h. Celelalte
locaii sunt folosite de programul monitor pentru plasarea de variabile. Zona de
memorie ROM (n care se afl programul monitor) este cuprins ntre adresele
0000h i 7FFFh (32 Koctei). Aceast zon este protejat la eventualele ncercri
de scriere accidental. De la adresa 0000h la 3FFFh se afl programul monitor iar
de la adresa 4000h la 7FFFh exist posibilitatea cuplrii unui emulator de memorie
ROM, microsistemul dispunnd de un soclu adecvat. Prin intermediul unui astfel
de aparat va fi posibil punerea la punct foarte rapid a programelor. Se poate
21
ndrumar de laborator 1
22
ndrumar de laborator 1
23
ndrumar de laborator 1
24