M&M curs

download M&M curs

of 73

Transcript of M&M curs

Microprocesoare & MicrocontrolereCURSConf. dr. ing. Tiberiu Coroescu Autor: tefan Amaximoaie 2011/2012

Arhitectura sistemelor cu microprocesoare1. Schema bloc a sistemelor cu microprocesorMicroprocesoarele sunt destinate realizarii sistemelor de calcul. Pentru sisteme de comanda, in functie de tipul microprocesorului, rezulta si complexitatea sistemului precum si puterea de procesare. Pe langa sistemul de calcul, microprocesoarele sunt destinate implementarii unor sisteme de conducere automata a unor sisteme industriale denumite sisteme cu microprocesor sau microsisteme. Aparitia sistemelor cu microprocesor a determinat inlocuirea logicii cablate cu logica programabila. Din punct de vedere functional, sistemul cu microprocesor este un sistem programabil de prelucrare a informatiei ce contine doua componente fundamentale: hardware si software. Schema bloc a unui sistem cu micrprocesor are aspectul:M

MD

(D) Date

UCP (CPU)

MA

(A) Adrese

MC

(C) Comenzi

Port I/E Pi

Port I/E PdProcess

Subsisteme: UCP: unitatea centrala de procesare (central processing unit); M: memoria; Port I/E: porturi intrare iesire; Pi: periferice informatice; Pd: periferice dedicate; MD, MA, MC: magistralele de date, adrese si comenzi. Page

UCP gestioneaza functionarea sistemului, magistralele si asigura comunicarea cu celelalte subsisteme.

1

Magistrala are trei componente: - Magistrala de date (MD) bidirectionala prin care se furnizeaza date spre celelalte subsisteme sau invers (4, 8, 16, 32 si 64 biti); - Magistrala de adrese (MA) unidirectionala prin care sunt identificate porturile I/E si memoria M; - Magistrala de comenzi (MC) bidirectionala. O parte din liniile ei reprezinta iesiri de transmitere a unor comenzi de citire/scriere, iar alta parte din linii sunt intrari cu rol de sincronizare a unitatii UCP cu celelalte sisteme. Memoria (M) este destinata stocarii programelor si datelor din sistem. La sisteme cu complexitate mica si medie, memoria este memorie program si memorie date. Memoria program gestioneaza functionarea sistemului de tip ROM, PROM, EPROM. Memoria de date e realizata din memorie de tip RAM. La sisteme de complex mare, memoria se imparte in memorie principala interna (ROM sau RAM) si memorie auxiliara sau externa realizata pe suporturi magnetice (floppy disc, hard disc) sau optice de tip CD-ROM. Porturile I/E au rolul de-a realiza comunicarea sistemelor cu exteriorul. Asigura conectarea celor doua subsisteme de periferice informatice si periferice dedicate. Porturile informatice (Pi) sunt reprezentate prin tastatura, display (cu tub catodic, celule cu afisaj numeric, LED, LCD), imprimante, cititoare de banda, etc. Porturile dedicate (Pd) sunt destinate conectarii la proces. Sunt reprezentate prin interfete de intrare si interfete de iesire ce pot fi analogice sau numerice. Softul este definit de sistemul de operare cu programe de baza ce permit accesul la resursele sistemului si programelor de utilizator ce asigura functionarea sistemului conform unui algoritm prestabilit.

Page

2

Unitatea centrala a sistemelor cu microprocesor2. Structura unitatii centrale (UC)Unitatea centrala de prelucrare si procesare a sistemelor cu microprocesor gestioneaza functionarea intregului sistem. Elementul de baza este microprocesorul. Unitatea centrala mai contine, pe langa microprocesor, si o serie de circuite auxiliare care asigura initializarea (CR circuit reset, amplificarea magistralelor, etc.) si de sincronizare a functionarii (semnal de ceas (clock)). Schema bloc a CPU (central processing unit): Q cristal de cuart BDCLK

BDA ABD

PBCON

BA ABA

BAA

BC BRCR

BCA ABC

Microprocesorul genereaza magistrala unica cu BD, BA si BC, iesirile acestuia pot comanda o singura sarcina a TTL. In cazul in care structura sistemului cu microprocesor este realizata astfel incat apar mai multe sarcini TTL, este necesar ca magistralele semnalelor sa fie amplificate. Amplificatoarele trebuie sa fie cu trei stari: - Conductie; - Blocare; - Impedanta ridicata. La magistralele de date se utilizeaza un amplificator bidirectional, iar pentru amplificatoarele magistralelor de comenzi si adrese se folosesc amplificatoare unidirectionale. Initializarea va fi realizata de circuitul de reset (CR), care asigura si initializarea automata la conectarea circuitului de alimentare. Butonul de reset (BR) asigura reinitializarea prin operatorul uman. Sincronizarea are loc prin semnalul de ceas (clk), care genereaza un semnal periodic, foarte stabil datorita cristalului de cuart (Q).

Page

3

3. Operatii de intrare iesire sincronTehnicile de sincronizare a microprocesorului cu echipamentele periferice se numesc operatii de intrare iesire si pot fi de doua tipuri: sincrone si asincrone. Operatiile sincrone au la baza metoda de interogare continua (pelling): - Se caracterizeaza prin faptul ca transferul de informatie dintre microprocesor si periferice se face la initiativa microprocesorului; - Metoda este sincrona deoarece este realizata prin program. Reprezentarea intuitiva a metodei pelling apare un urmatoare schema: M CPUbus unic

P I/E1

P I/E2

P I/En

P1

P2

Pn

Microprocesorul din CPU interogheaza periodic porturile de intrare iesire P I/E1 P I/En, care asigura conectarea perifericelor P1 Pn din cadrul sistemului. Interogarile periodice sunt sugerate prin liniile sageata. Daca portul este disponibil are loc schimbul de informatii. Linia sageata pune in evidenta faptul ca legatura intre microprocesor si porturi este informationala, nu fizica. Schimbul fizic de informatii se realizeaza prin intermediul magistralei bus unic. Aceasta tehnica are avantajul ca orice schimb de informatii se realizeaza sincron cu programul prin instructiunile de program. Se indica numai unde apar solicitari rare si de durata mare sau unde nu pot aparea evenimente a caror evolutie nesesizata sa aiba efecte negative. Nu implica hard suplimentar. Dezavantaje majore: - Consuma din timpul de prelucrare al procesorului; - Apare posibilitatea unor desfasurari de evenimente rapide ce nu vor fi sesizate.

Page

4

4. Operatii de intrare iesire asincroneDin aceasta categorie fac parte transferul prin intreruperi si transferul prin DMA. Transferul prin intreruperi se realizeaza la solicitarea perifericelor si este prezentat in schema urmatoare: M CPU INTP I/E1 P I/E2 P I/En bus unic

P1

P2

Pn

In momentul in care unul dintre perifericele P1 Pn solicita un transfer de date, portul aferent acestui periferic va genera un semnal ce va fi transmis microprocesorului pe una din liniile de intrerupere INT. Aceste linii de intrerupere sunt esantionate permanent de catre microprocesor la sfarsitul fiecarei instructiuni. Ca urmare a sesizarii solicitarii microprocesorului din CPU, va parasi programul in curs de executie si va stabili un schimb de informatii cu perifericul prin intermediul portului prin care s-a transmis cererea de intrerupere. Intreruperile microprocesorului sunt: - Mascabile; - Nemascabile: au prevazuta o intrare separata a microprocesorului notata NMI (nonmascable interrupt). Denumirea acestei intreruperi se datoreaza celor doua caracteristici definitorii: o Nu poate fi inhibata prin program; o Rutina de deservire are o adresa bine definita de fabricant. Intrarile de intrerupere nemascabila sunt alocate unor evenimente de intrerupere precum ceasul de timp real sau disparitia tensiunii. Intreruperile mascabile reprezinta categoria cea mai raspandita. Caracteristica intreruperilor mascabile este ca pot fi validate sau invalidate prin program. Terminalul microprocesorului destinat intreruperilor mascabile se noteaza INT.

Page

5

Transferul DMA (direct memory access) reprezinta un transfer cu acces direct la memorie. Realizarea acestui tip de transfer presupune un hard suplimentar si are urmatoarea configuratie: M CPU BUSRQP I/E1 Controler DMA(BUS Request) - Cerere de acces la magistrala

P I/E2

P I/En

P1

P2

Pn

Pentru realizarea transferului DMA se realizeaza un controler DMA, care este un circuit electronic complex capabil sa preia controlul magistralelor sistemului. Cand apare necesitatea unui transfer cu DMA se emite un semnal BUSRQ, semnal ce poate fi considerat un semnal de intrerupere special. In momentul cand CPU sesizeaza semnalul, se opreste, trecandu-si busul unic in cea de a treia stare (impedanta ridicata). Controlul magistralelor este acum preluat de controlerul DMA, care asigura transferul informatiei dintre memorie si perifericul care a solicitat intreruperea. In acest caz, viteza de transfer este foarte mare, mult mai mare decat in cazul transferului gestionat de microprocesor.

Page

6

5. Structura microprocesoarelor. Schema blocAvand in vedere diversitatea microprocesoarelor, structura lor este foarte diferita, insa tinand cont de functiile realizate pot fi realizate o serie de blocuri functionale comune ce difera doar intern ca mod de implementare. Din punct de vedere arhitectural, microprocesoarele difera in functie de firma producatoare. Din punct de vedere structural se evidenteaza urmatoarea reprezentare comuna: DateBuffer Date (BD)

Magistrala interna

Ri

UAL MUX RM

ROM Di BLCC RAM RA

Control

Buffer Adrese (BA)

Adrese BLCC bloc logic de comanda si control; Blocurile principale comunica intre ele prin intermediul magistralei interne. Comunicatia intre magistrala interna si cea de date se realizeaza prin intermediul bufferului de date (memorie tampon). Bufferul de date este bidirectional si are trei stari (conductie, blocare, impedanta ridicata). Dimensiunile bufferului de date sunt date de dimensiunea magistralei de date externe (8, 16, 32, 64). Comunicatia intre magistrala interna si magistrala de adrese se realizeaza prin registrul de adrese RA, ce transmite adresa spre exterior pe magistrala de adrese printr-un buffer de adrese, care este unidirectional cu trei stari. Numarul liniilor de adrese stabileste si capacitatea de memorie ce poate fi selectata fizic direct. Astfel avand a linii de adresa, memoria adresabila direct este 2a cuvinte. UAL este unitatea aritmetica si logica. Consta dintr-un circuit combinational ce realizeaza mai multe functii standard precum operatii aritmetice si logice.

Page

7

RM reprezinta registrii interni ai microprocesorului destinati stocarii temporare a unor date, reprezentand locatia RAM. Registrii interni se impart in doua categorii: generali si speciali. Accesul fizic la registrii RM se face prin MUX, conectate la magistrala interna. Registrul de instructiuni Ri preia instructiunile citite din memorie si retransmite la decodificatorul de intructiuni Di, ce face parte din BLCC. Microprocesorul poate avea incluse pe cip si celule de memorie de tip ROM sau RAM. Memoria ROM contine sistemul de operare. Memoria RAM este memorie de lucru al carui continut dispare la disparitia tensiunii. Sincronizarea functionarii partii componente se face printr-un semnal de clock si stabileste si viteza de lucru a microprocesorului prin frecventa impulsurilor respective din tactul de ceas.

Page

8

6. Structura microprocesorului. Transferuri de date, cicluri si stariPrin transfer de date se intelege deplasarea de operanzi sau de rezultate in microprocesor, adica deplasarea informatiei intre microprocesor si celelalte subsisteme. Din punct de vedere al transferului de date, microprocesoarele de uz general se impart in: - Microprocesoare de categoria A, caracterizate prin faptul ca toate transferurile de date se fac numai prin acumulator, indiferent ca transferul trebuie facut intre registrii, memorie sau porturi; - Microprocesoare de caterogia B, permit schimburi de date intre registrii generali, memorie si porturi; - Microprocesoare de categoria C, apare schimbul intre locatiile de memorie; - Microprocesoare de categoria D, apar transferuri directe intre mai multe locatii directe de memorie consecutive (blocuri de date). Schema bloc pentru tranferul de blocuri de date din memorie:START

I