Documente Academic
Documente Profesional
Documente Cultură
• 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
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
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
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
Mag. date
• Rol: control şi sincronizare al transferurilor pe Memorie
magistrala de date, cu memoria şi dispozitivele de IO UCP RD
• Set minim: AS
13 14
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
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
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