Sunteți pe pagina 1din 11

MAGISTRALE EXTERNE

• magistrala de adrese
• magistrala de date
• magistrala de control

SEMNALE LA INTERFAŢA
a
MICROPROCESORULUI CU Magistralã
de adrese
Arbitrare
magistrale

EXTERIORUL Magistralã
de date
d Stare
Microprocessor Control
magistrale Magistralã
tipic de control
Linii de
alimentare Control cereri
de întrerupere

Semnal Diverse
de ceas
1 2

MAGISTRALA DE ADRESE Logică de adresare şi decodificare


memorie
• Linii de adresă, ce transmit doar semnale de ieşire din CS N
Logică
microprocesor decodificare CS 2
adrese N
• Este o magistrală unidirecţională CS 1

• Liniile de pe această magistrală se folosesc pentru adresarea 2


1 Dispozitiv
locaţiilor de memorie şi a porturilor de intrare-ieşire.
memorie
• Ieşirile µP spre magistrala externă de adrese pot trece în starea de Magistrală adrese
Dispozitiv
principală
înaltă impedanţă (HiZ) la o cerere externă, când UCP cedează memorie
Dispozitiv
Microprocesor principală
memorie
controlul magistralelor către alt dispozitiv Magistrală date principală
• De obicei valorile binare cele mai semnificative (cu ponderea binară RD
maximă) din adresă se folosesc pentru selectarea blocurilor de
WR
memorie

3 4
Exemplu de selecţie liniară pentru o memorie Decodificare pentru generarea semnalelor de
de 12k×8, din care 8k×8 memorie ROM selecţie şi adresarea unei memorii de 64 k prin
A14
Magistralã de adrese
A13 A12
decodificare completă
Write
Read

0
Selecţie bloc 1 (16 k)

A15 1
A11-A0 A11-A0 A11-A0 A11-A0 Decodificator Selecţie bloc 2 (16 k)
2 la 4
ROM 1 ROM 2 RAM 1 RAM 2
4K ×4 4K × 4 2
4K × 8 4K × 8 Selecţie bloc 3 (16 k)
R/W R/W A14
CS CS CS = RD ⋅ A14 3
CS CS Selecţie bloc 4 (16 k)
D7-D0 D7-D0 D7-D4 D3-D0 CS = RD ⋅ A14 Control acces
memorie CS
CS = RD + A14

Magistalã de date R / W = WR ⋅ A14 = WR + A14

CS = A12 ⋅ (RD + WR ) = A12 ⋅ RD + A12 ⋅ WR = A12 ⋅ RD ⋅ A12 ⋅ WR


5 6
= (A12 + RD) ⋅ (A12 + WR )

Magistrală de ADRESE

16
Construire de memorii cu număr
A17 A16
A15:A0

Address
mai mare de biţi pe cuvânt
Construire Mem. 1 Data
64 KB
8

Address Bus
CS
de memorii 16 A15:A0
16 16

mai MARI 0 Address


8 A15:A0
A15:A0
Mem. 2 Data
ca nr. A17 2 to 4 1
CS
64 KB
Address Address
Decoder
cuvinte A16
2
16
A15:A0
Mem. 1 Data 8 Mem. 2 Data 8
Address 64 KB 64 KB
Examplu: Mem. 3 Data 8 CS CS
64 KB
256 KB cu CS 3
CS
Chip Select

16 A15:A0
circuite de Chip Select
Address
8
64 KB Mem. 4 Data
64 KB
CS D15-D8 D7-D0

Magistrală de DATE 7 8
MAGISTRALA DE DATE MAGISTRALA DE CONTROL
• Lărgimea magistralei de date este de obicei multiplu de
octet (d = 8, 16, 32, 64...) 1. Semnale de control şi sincronizare pentru transferuri de date
• Cele d linii ale magistralei de date sunt bidirecţionale cu memoria şi dispozitivele de I/O;
• Liniile au posibilitatea de trecere în starea de înaltă 2. Semnale de control şi sincronizare a cererilor de cedare a
impedanţă (HiZ) controlului magistralelor;
• Pentru economie de pini, unele microprocesoare 3. Semnale de control şi sincronizare cu evenimente externe ce
multiplexează în timp liniile magistralei de date generează cereri de întrerupere;
– În primul ciclu maşină al fiecărei instrucţiuni pe 4. Semnale indicatoare de stare;
magistrala de date se pot transmite informaţii de adresă 5. Semnale utilitare, cum ar fi reset, clock, alimentare cu
sau informaţii de control tensiune;
– De exemplu la procesoarele Intel 8085 şi 8086 pini ai 6. Semnale diverse, specifice tipurilor de microprocesoare şi
magistralei de date sunt multiplexaţi pentru a se putea scopului pentru care au fost proiectate. De exemplu:
transmite şi informaţie de adresă (adresă validată de – intrări testabile prin software
semnalul de control ALE (Address Latch Enable) care – intrări pentru comanda activităţii pas cu pas a UCP
comandă stocarea adresei într-un registru extern – intrări pentru semnalizarea unor erori
9 – intrări / ieşiri pentru lucrul în sistem multi-procesor etc. 10

Semnale de control pentru transferul Exemplu general ciclu de citire


datelor pe magistrale asincron
Mag. adrese

Mag. date
• Rol: control şi sincronizare al transferurilor pe Memorie
magistrala de date, cu memoria şi dispozitivele de IO UCP RD

• Set minim: AS

RD = (ReaD, citeşte) GATA


T1 T2 Tw T3 T4
WR = (WRite, scrie) CLK
La unele microprocesoare există un singur semnal de ieşire
(R/W), Adresã
De la
AS UCP
Address Strobe = validare adresă (de la
RD master)
GATA
GATA De la
Date HiZ memorie
(Ieşire memorie)
11 12
Exemple semnale control Semnale de control a cererilor de
transfer cedare a controlului magistralelor
• Problema cererii / cedării controlului magistralelor se poate pune
Tip microprocesor Echivalent AS Echivalent GATA doar în sisteme de calcul care conţin mai multe dispozitive ce pot
controla cele trei tipuri de magistrale (dispozitive active / master)
IOR IOW • alte procesoare de uz general (UCP), procesoare cu sarcini specifice
I8080+ I8228 READY
MEMW MEMR (de exemplu procesoare de I/O), circuite de tip controller care au şi
MREQ IOREQ
posibilitatea de transfer al datelor direct cu memoria principală
Z80 (transfer DMA)
WAIT
RFSH
• Set minim de semnale:
ALE M / IO DT / R • cerere de acces la controlul magistralelor, BR (Bus Request).
I8086, I8088, I80x86 READY
DEN • semnal de confirmare a cedării controlului magistralelor, BG (Bus
AS UDS LDS
Grant)
MC680x0 DTACK

13 14

Semnale de control a cererilor de Exemple semnale cerere/cedare


cedare a controlului magistralelor magistrale
• În urma cedării controlului magistralelor, UCP trece ieşirile sale
către magistralele de date, adrese şi o parte din cele de control în Tip microprocesor Echivalent BR Echivalent BG
stare de înaltă impedanţă (HiZ)
• UCP prevăzut cu această pereche de semnale sondează de obicei I8080, I8085, I8086 în
HOLD HLDA
semnalul de cerere, de tip BR, la sfârşitul fiecărui ciclu maşină şi mod minim
cedează controlul magistralelor cât mai curând posibil, cu excepţia
Z80 BUSRQ BUSAK
unor cazuri speciale în care operaţiile nu pot fi întrerupte
• Întârzierea maximă cu care este servită o cerere de acces la controlul
magistralelor este deci un ciclu maşină. MC680x0 BR BG si BGACK
• În cazul mai multor cereri de acordare a controlului magistralelor,
analiza priorităţilor se face de obicei cu un circuit de arbitrare
centralizată a cererilor de magistrală.

15 16
Semnale de sincronizare cereri de Exemple semnale de cereri de
întrerupere întrerupere
• Semnalele au rolul sincronizării evenimentelor externe cu
microprocesorul
Tip microprocesor Echivalent INT Echivalent INTA
• Cererea de întrerupere provenită din exterior este de obicei o cerere
de servicii
I8080, I80x86 INTR, NMI INTA
• Există două tipuri de cereri de întrerupere hardware (iniţiate prin
semnal electric de întrerupere):
• întreruperi mascabile Z80 INT NMI IORQ + M 1
• întreruperi nemascabile
• Un set minim de semnale pentru manevrarea cererilor de întrerupere MC680x0 IPL2, IPL1, IPL0 FC2, FC1, FC0
cuprinde:
– cerere de întrerupere, INT, NMI
– confirmarea acceptării întreruperii (INTA)

17 18

Semnale indicatoare de stare Semnale utilitare: RESET


• Semnale, sau combinaţii de semnale, care indică starea în care
se găseşte microprocesorul • Semnalul de tip RESET este prezent la toate
• Semnalele de stare pot indica: microprocesoarele şi el aduce conţinutul registrelor
– tipul ciclului maşină curent microprocesorului într-o stare prefixată prin proiectare
– informaţii despre registrele interne implicate în calculul de adresă • În această stare predeterminată contorul de program (PC) se
– informaţii de sincronizare cu alte module master de magistrală iniţializează la o valoare fixă (de obicei la zero), iar
– starea memoriei tampon (cache, coadă) internă întreruperile mascabile sunt invalidate
– speciale, pentru lucrul cu coprocesoare aritmetice externe (cerere / – Restartare microprocesor
acceptare de transfer operand, test busy, informare de eroare). – Power-on Reset (Resetare la alimentarea circuitului)

19 20
Semnale utilitare: CLOCK

C1

cuarţ
X1

Microprocesor
X1

Microprocesor
UNITATEA DE
C2
X2
C
X2 CONTROL
cuarţ cu schemă echivalentă cuarţ cu schemă echivalentă
RLC paralel RLC serie

21 22

INTRODUCERE INTRODUCERE în UC

Fluxul de informaţii este controlat de microprocesor • Cale de date – conţine o reţea de unităţi funcţionale
pe două căi de transmisie: capabile să efectueze anumite operaţii asupra datelor
⇒Calea de date este un ansamblu de unităţi funcţionale
– Cale de date – (Calea de transfer şi unităţile de procesare a capabile să regăsească datele şi să le prelucreze.
datelor) ⇒Cuprinde în principal:
⇒unitatea / unităţile aritmetice şi logice,
– Cale de control – (Unitatea de control şi căi de transmisie a ⇒registrele de uz general şi
comenzilor şi sincronizărilor) ⇒căile de comunicare (magistrale interne) dintre acestea

23 24
INTRODUCERE
FUNCŢII PRINCIPALE ALE
• Unitatea de control (UC) - generează semnale de
UNITĂŢII DE CONTROL
control către calea de date
⇒ Rolul UC a unui microprocesor ce recunoaşte un set de • Secvenţierea instrucţiunilor se referă la maniera în
instrucţiuni, este să aducă instrucţiunile codificate binar din care controlul procesorului este transferat de la o
memoria principală (externă procesorului) şi să transmită instrucţiune la alta, prin ordinea de generare a
semnale de control către calea de date şi către memorie şi adreselor către memoria principală a calculatorului.
sub-sistemul de I/O, în scopul executării instrucţiunilor
⇒ Semnalele de control selectează la fiecare moment funcţia de • Interpretarea instrucţiunilor se referă la modul în care
executat de către calea de date şi selectează traseul specific
UC decodifică codul fiecărei instrucţiuni şi la
al datelor prin unităţile funcţionale
modalitatea de generare a semnalelor de control
⇒ Conform semnalelor emise, unitatea de control (UC) face, către calea de date, pentru a comanda execuţia
periodic, o reconfigurare din punct de vedere logic a unităţii de
instrucţiunilor.
prelucrare, astfel încât aceasta să execute un set impus de
(micro)operaţii.
25 26

SECVENŢIEREA INSTRUCŢIUNILOR SECVENŢIEREA INSTRUCŢIUNILOR


• Instrucţiunile sunt selectate pentru execuţie în ordinea • Adresa instrucţiunii următoare poate fi calculată prin
dictată de UC (secvenţiere) după interpretarea codului incrementare !
instrucţiunii curente şi a semnalelor de reacţie din • Adresa este stocată într-un registru - numărător de adrese al
exterior instrucţiunilor numit “contor de program”, notat pe scurt PC
• Informaţie de secvenţiere? • Adresa instrucţiunii următoare se calculează prin operaţia:
? Dacă fiecare instrucţiune conţine adresa următoarei instrucţiuni PC ← PC + c
ce trebuie adusă din memorie ⇒ lungime mare a codului
instrucţiunii – unde c reprezintă numărul de cuvinte de memorie pe care se
întinde instrucţiunea curentă
• Cele mai multe instrucţiuni dintr-un program au un • La ramificare (instrucţiuni de salt, sau tratare a evenimentelor de
succesor unic întrerupere) adresa următoarei instrucţiuni este ne-consecutivă
– Instrucţiunea Ii are ca unic succesor instrucţiunea Ii+1
• În cazul unei ramificări, registrul de adresare PC se încarcă
– Stocare Ii în locaţia de adresă A ⇒ stocare Ii+1 în locaţia de direct cu adresa la care se face saltul
adresă A+1 ce urmează imediat după A
PC ← X
27 28
INTERPRETAREA
INTERPRETAREA
INSTRUCŢIUNILOR
INSTRUCŢIUNILOR • Tipurile de semnale de intrare şi
ieşire dintr-o unitate de control Csin Csout
• Fiecărei instrucţiuni interpretate de UC, îi corespunde Unitate
tipică pot fi clasificate astfel: de
o succesiune de comenzi emise de UC, conform – Cout - sunt semnale ce Control
algoritmului dorit de proiectantul UC. controlează direct funcţionarea
căii de date
• Comportarea UC din punctul de vedere al semnalelor – Cin – feedback de la calea de Cout Cin
de control generate (ca funcţie şi ca succesiune în date.
timp) pentru comanda operaţiilor se poate descrie – Csout - aceste semnale sunt
prin: transmise la alte unităţi de Ieşire
Intrare Cale
control, (ale altor procesoare de Date de date Date
– Tabele de tranziţie a stărilor uz general sau specific) şi pot
– Organigrame indica condiţii de stare, şi
– Limbaje de descriere hardware semnale de sincronizare.
– Csin - Semnale primite de la alte
– Combinaţii ale metodelor de mai sus
unităţi de control, de exemplu de
29 30
la un controller supervizor.

IMPLEMENTAREA UC IMPLEMENTAREA UC
• Unitatea de control cablată este un automat secvenţial proiectat
şi construit pentru generarea unui set specific şi într-o secvenţă
fixă de semnale de control
• Organizarea internă aleasă pentru UC şi aspectele – Odată proiectată, algoritmul de control nu mai poate fi modificat
specifice de implementare folosite influenţează în decât prin reproiectarea întregii structuri
– Scop: minimizarea numărului de componente utilizate şi
mod direct: maximizarea vitezei de operare.
– viteza cu care lucrează UC • La unitatea de control microprogramată semnalele de control
– costurile de proiectare şi construcţie sunt incluse în cuvinte binare succesive (microinstrucţiuni)
stocate într-o memorie de mare viteză, inclusa în UC, numită
– suprafaţa ocupată pe circuitul integrat memorie de control
• Există două metode de proiectare şi implementare a – Implementarea algoritmului de control se face prin programarea
conţinutului memoriei de control
UC:
– Fiecărei instrucţiuni recunoscute de procesor îi corespunde o
– Unitate de control cablată secvenţă de microoperaţii generate prin citirea unei secvenţe de
– Unitate de control microprogramată microinstrucţiuni din memoria de control (secvenţă de
microinstrucţiuni numită microprogram)
– Microprogramele conţinute în memoria de control formează un
31 interpretor al setului de instrucţiuni recunoscut de procesor 32
IMPLEMENTAREA UC CONTROL CABLAT
• Unitatea de control este un automat secvenţial proiectat special
pentru a recunoaşte un anumit set de instrucţiuni, respectiv
• Tehnica cablată are câteva avantaje: pentru a genera set corespunzător (pre-fixat) de semnale de
– dimensiuni mici ale UC control
– viteză mare de operare • Set complex de instrucţiuni ⇒ proiectarea şi optimizarea
• Tehnica microprogramată are şi ea câteva avantaje: proiectului este dificilă
– un set de instrucţiuni recunoscut poate fi uşor schimbat prin – Controlul cablat este folosit pentru procesoare care recunosc un set
schimbarea microprogramelor şi nu prin reproiectarea întregii UC regulat şi relativ redus de instrucţiuni (de obicei instrucţiuni cu
– permite o metoda sistematică de proiectare a UC format de lungime fixă)
– dacă este nevoie, permite modificarea dinamică (în timpul rulării • Schemă principiu -unitatea de control cablată este un automat
programelor) a setului de instrucţiuni recunoscut de UC prin ce cuprinde:
utilizarea unei memorii de control cu scriere-citire – registrul de memorare a stării curente
– registrul de instrucţiuni, care memorează codul operaţiei
– logică de control (de obicei combinaţională)

33 34

CONTROL CABLAT
CONTROL CABLAT
- schemă bloc de principiu -
• În exemplul simplificat din figură s-au neglijat:
Unitatea de control
– registrele de adresare a memoriei principale din cadrul UC
– semnalele de control şi sincronizare pentru registrele interne ale
Magistrale
unităţii de control
cãtre

Logicã de
Cale de date memoria • Starea următoare a automatului este generată de logica
principalã
control de control conform algoritmului cablat şi conform
reacţiilor de la calea de date
• Starea următoare se încarcă în registrul de stare sincron
cu impulsul de ceas
Registru de Registru
instrucţiuni stare

35 36
CONTROL CABLAT CONTROLUL MICROPROGRAMAT
• Exemplu complexitate:
– 21 linii de intrare
– 40 ieşiri • Modul microprogramat de construcţie a UC a fost enunţat
– Pentru implementare logică de control prin ROM (fără minimizare) în 1951 de către Maurice Wilkes
dimensiunea este 221 × 40 biţi = 2M × 5 × 8 biţi = 10 MB !
• Soluţia lui Wilkes a fost să transforme UC într-un
• Metodele de proiectare a unităţii de control cablată
– metode folosite pentru implementarea cablată a oricărui automat
calculator în miniatură, ce are două tabele în memoria de
secvenţial (cu minimizarea logicii de control) control:
– metodele moderne de proiectare asistată de calculator includ limbajele – Tabel care specifică modul de control a căii de date
de descriere hardware, care permit automatizarea diferitelor faze ale
proiectării – Tabel care determină ordinea de generare (secvenţiere) a
– Implementarea se poate face prin construcţii hardware de tip PLA semnalelor de control pentru operaţiile elementare
(programmed logic array) • Soluţia a fost numită "microprogramare" şi de aici alte
denumiri derivate: microinstrucţiune, microcod,
microprogram, etc.
37 38

STRUCTURĂ DE CONTROL
CONTROLUL MICROPROGRAMAT
MICROPROGRAMATĂ
• O microinstrucţiune specifică toate semnalele de control pentru
calea de date plus posibilitatea de a decide condiţional care
Tabel Tabel
(informaţie) de (informaţie) de microinstrucţiune va fi următoarea executată (secvenţiere)
secvenţiere control • O dată ce calea de date şi memoria pentru microinstrucţiuni, sunt
Intrări de la proiectate şi construite, controlul devine în special o problemă de
calea de date programare care constă în scrierea unui interpretor pentru setul de
Logică de instrucţiuni
Registrul de microadresă
selecţie • Microprogramarea permite schimbarea setului de instrucţiuni
instrucţiuni Memorie de
(codul
microadres
microprograme recunoscut de µP prin schimbarea conţinutului memoriei de control
ă
operaţiei) • Structura microprogramului este asemănătoare cu diagrama de
stări, în care pentru fiecare stare din diagramă corespunde o
secvenţiere microinstrucţiune.
Comenzi
(Cout)

39 40
CONTROLUL MICROPROGRAMAT CONTROLUL MICROPROGRAMAT
• Fiecare bit dintr-o microinstrucţiune reprezintă o comandă
elementară care merge:
• Avantajele microprogramării:
– Direct la o resursă comandată (registru, sau CLC), sau
– Permite schimbarea uşoară a algoritmului de control
– Este prelucrată împreună cu alte informaţii (pentru decodificare şi
sincronizare) pentru ca apoi să se comande resursa fizică. • în faza de dezvoltare simpla schimbare a unui 0 în 1 în memoria de
control, poate salva proiectul (altfel reproiectarea componentelor hw)
• Fiecare cod de instrucţiune citit şi decodificat produce saltul la o
– prin emularea altui set de instrucţiuni, în microcod, se simplifică
adresă din memoria de control unde se găseşte microprogramul
compatibilitatea software.
asociat execuţiei acelei instrucţiuni
– reduce costurile în cazul adăugării unei instrucţiuni mai complexe la
• La realizarea unei UC sub forma microprogramată obiectivele
o microarhitectura standard.
principale sunt:
– reducerea costurilor generale de proiectare şi construcţie a UC – flexibilitate - construcţia hardware poate începe înainte ca setul de
instrucţiuni şi microcodul să fie complet scris, pentru că specificarea
– reducerea dimensiunilor microprogramelor
controlului este doar o problema de software.
– reducerea dimensiunii microinstrucţiunilor.
• Dezavantajele microcodului:
– Viteza redusă de lucru, dependentă de tehnologia de realizare a
memoriilor
41 – Gabaritul mare (suprafaţă mare ocupată pe chip) 42

CONTROL MICROPROGRAMAT
Exemplu de microinstrucţiune
- schemă bloc de principiu -
cu şapte cîmpuri
Unitatea de control

Magistrale Destination ALU operation Source 1 Source 2 Misc Cond Jump address
către
Cale de date memoria
Memorie de
principală
control Format microinstrucţiune:
• orizontal

1 • vertical
Contor de µinstrucţiuni
+

Microsecvenţiator
(logică selecţie
adresă)

Registru de instrucţiuni
43 44

S-ar putea să vă placă și