Documente Academic
Documente Profesional
Documente Cultură
Automate deterministe:
|f(i, s)| = 1, |g(i, s)| = 1, i I, s S - au o evoluie unic pentru o pereche (i, s) dat.
XTAL
fanioane
R + ULA UC GT
P d a c
MD MA MC
Generatorul de tact:
- oscilator pilotat de un cristal de cuar (XTAL)
M1
CLK
T1 T2 T3
tCY = T
Durata unui ciclu de tact - tCY - unitatea elementar de timp
Starea main (T) - durata de timp n care are loc cea mai simpl operaie intern;
Ti = tCY (i = 1, 2, 3, ...).
Mulimea strilor main posibile - fixat n structura intern a UC.
Ciclul main (M) - succesiune finit de stri main (T1, T2, ...,Tk);
Corespunde operaiilor fundamentale de schimb de informaii n interiorul
microprocesorului sau ntre microprocesor i exterior (memorie sau porturi I/E):
- Citire din memorie;
- Scriere n memorie;
- Citire dintr-un port de intrare;
- Scriere ntr-un port de ieire.
- Operaii interne - transfer de informaii ntre registrele interne n paralel cu alte
cicluri
Primul ciclu main al unei instruciuni - ciclul de aducere a codului instruciunii din
memorie (Instruction Fetch Cycle). Durata unui ciclu main Tc=kT.
Vcc
A15A8
GND
X1
X2 AD7AD0
CLK
HOLD IO/M
HLDA 8085A S1
S0
TRAP RD
INTR WR
RST 7.5
RST 6.5 ALE
RST 5.5 READY
INTA
SID RESET IN
SOD RESET OUT
Fig.2.3. Microprocesorul 8085 semnale la pini
Tipuri de semnale la pini
Semnale de tact:
oscilator intern pilotat cu cristal de cuar conectat ntre X1 i X2;
generator de tact extern conectat pe X1;
fXTAL = 2 fCLK (6 MHz - AH, 10MHz AH-2, 12 MHz AH-1, 110MHz MSM80C85AH)
CLK semnal de sincronizare furnizat n exterior, cu frecvena fXTAL/2;
Iniializare:
RESET IN - iniializare PC=0000h, CBB IE=0, CBB HLDA=0.
RESET ieire de resetare a altor dispozitive externe.
S1 S 0 00 01 10 11
Tip
HALT WRITE READ FETCH
ciclu
Controlul ntreruperilor
INTR, RST 5.5, RST 6.5, RST 7.5 i TRAP linii de prezentare a cererilor de ntrerupere
INTA - linie de confirmare a acceptrii solicitrii de ntrerupere prezentate pe linia
INTR.
2.3.1. Structura intern a microprocesorului 8085A
Comand Comand
ntreruperi I/E serial
HOLD RESET
CLK RD WR S0 S1 A15A8 AD7AD0
OUT
READY ALE IO/M HLDA Magistrale de
RESET IN adrese i adrese/date
Fig.2.4. Microprocesorul 8085A structura intern
Unitatea aritmetic i logic
- un registru temporar de 8 bii, (ascuns) folosit pentru cel de-al doilea operand;
- conine iniial operandul sau unul dintre cei doi operanzi de prelucrat
CY A7 . . . . . . A0
D7 D6 D5 D4 D3 D2 D1 D0
PSW A7 A6 A5 A4 A3 A2 A1 A0 S Z - AC - P - CY
= , , sau
Magistrala intern de date - izolat de magistrala extern, D7D0, prin intermediul unui
registru tampon bidirecional, care amplific semnalele la nivelul unei sarcini TTL i asigur
memorarea temporar a datelor transmise de microprocesor.
Adresarea informaiilor din stiv- registrul SP Stack Pointer indicatorul vrfului stivei
SP - conine n orice moment adresa vrfului stivei - adresa ultimei locaii ocupate din stiv
Vcc
RESET D R
P
RESET
C
trigger
Schmitt
Iniializare hardware RESET - foreaz unele registre interne ale microprocesorului ntr-o
stare bine definit (de ex. PC=0000h). Nu sunt afectate registrele de uz general.
Regimul de ntreruperi
Regimul de oprire
Stare Comand
Tip ciclu
S1 S0 IO/ M RD WR INTA
OF (Opcode Fetch) 1 1 0 0 1 1
MR (Memory Read) 1 0 0 0 1 1
MW (Memory Write) 0 1 0 1 0 1
IOR (I/O Read) 1 0 1 0 1 1
IOW (I/O Write) 0 1 1 1 0 1
INA (INterrupt Acknowledge) 1 1 1 1 1 0
BI (Bus Idle): DAD 1 0 0 1 1 1
Ack. TRAP, RST 1 1 1 1 1 1
HALT 0 0 HZ HZ HZ 1
INA extragere cod operaie depus de dispozitivul I/E care a cerut o ntrerupere pe INTR.
Diagrama de tranziie a strilor
TRESET RESET
RESET
HALT
T1
HALT
READY
(READY+BI) TWAIT HOLD VALIDINT
T2
HOLD
THALT
VALIDINT
Da
HOLD=1
SET CBB RESET
?
SET CBB HLDA CBB HALT
Nu
HLDA
SET CBB INTA
OF CC=6 Da RESET CBB IE
T3 T4 HOLD=1
?
CC=4 Nu SET
CBB HLDA
T6 T5
CBB Da
HLDA=1
Nu THOLD HOLD
Nu Ultimul HOLD
CM al instruciunii RESET
? CBB HLDA
Da
Nu Da
VALIDINT=1 HALT=1
? ?
Da Nu
SET CBB INTA
RESET CBB IE
M1 M 2 . . . M5
T1 T2 T3 T4 T5, 6 T1 T2
CLK
ALE
IO/M
S1 , S0 S1 = S0 = 1
RD
READY
Adrese Date Decodificare i Adrese Date t
execuie
Fig.2.10. Diagrama de semnale pentru un ciclu Opcode Fetch
M1 M2 M3 M4
T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 T1 T2 T3
CLK
IO/M,
S1, S0 ( 0,1,1) ( 0,1,0 ) ( 0,1,0 ) ( 0,0,1 )
ALE
Date de la Date de la
memorie memorie
RD
WR
OF MR MR MW t
IO/M,
( 0,1,1) ( 0,1,0 ) ( 1,1,0 )
S1, S0
ALE
WR
OF MR RP