18
Sisteme Inglobate

Sisteme Inglobate

Embed Size (px)

Citation preview

Page 1: Sisteme Inglobate

Sisteme Inglobate

Page 2: Sisteme Inglobate

De-a lungul acestui curs vom vorbi despre

Procesoare Memorii Dispositive de input/output

Page 3: Sisteme Inglobate

Procesorul

Este componenta cea mai importanta dintr-un sistem. In functie de scopul unui sistem, procesoarele se impart in 3 mari categorii: 1 Procesoare cu scop general;

2 Microcontrolere;3 Procesoare de semnal digital.

De asemenea pot fi proiectate procesoare pentru aplicatii specifice atat tip cat cererea de astfel de prcesoare este mare iar costurile de proiectare si productie sunt acoperite. Ca o alternativa se poate folosi un FPGA(Field Programmable Gate Arrays), un cip versatil extrem de popular in crearea de prototipuri de circuite integrate.

Page 4: Sisteme Inglobate

Scopul procesorului?

Scopul unui procesor este acela de a rezolva in timp rapid task-uri, imbunatatind timpul general de executie, in orice domeniu. S-a incurajat proiectarea procesoarelor ce pot fi intergare in domenii pe scara larga, astfel incat producatorii de circuite intergrate se pot concentra asupra optimizarii acestor circuite, rezultatul final fiind vizibil in consumul redus de energie sau dimensiunile reduse ale circuitului.

Page 5: Sisteme Inglobate

Arhitectura unui procesor

Datapath este o componenta a procesorului al carei scop este acela de a stoca temporar date sau a realiza diverse operatii cu datele.

Unitatea aritmetica logica realizaeaza operatii precum adunarea, scaderea, AND logic, OR logic, shifting, etc. In registrii se stocheaza temporar date ce rezulta in urma operatiilor din ALU.

Magistrala de memorie interna interna transfera informatiile dintre ALU si registrii in timp ce magistrala externa transfera date dintre memorie catre datapath. Latimea magistralei indica pe cat biti este constituita arhitectura procesorului. Spre exemplu, o magistrala de 8 biti este folosita in cazul procesoarelor pe 8 biti (ex. 8085).

Page 6: Sisteme Inglobate

Unitatea de control este compusa din circuite capabile sa extraga instructiuni de program si sa faca schimb de date prin datapath conform instructiunilor. Detine un numarator de program pentru a pastra adresa urmatoarei instructiuni de program careia sa ii realizeze fetch si un registru de instructiuni pentru a pastra instructiunile carora le-a facut fetch.

Controllerul genereaza semnale de control necesare pentru a citi instructiunile din IR (Instruction Register) si pentru a controla fluxul de date din datapath. Pentru fiecare instructiune, controllerul trece prin mai multe stari: se realizeaza fetch-ul instructiunii din memorie, aceasta este decodata, se realizaeaza fetch-ul operanzilor executand instructiunile din datapath si stocheaza rezultatele. Fiecare pas dureaza cateva cicluri de ceas.

Page 7: Sisteme Inglobate

Microcontrollere

Conceptual, un microcontroller reuneste toate compunentele majore de pe placa de baza a unui PC intr-un singur chip.

Page 8: Sisteme Inglobate

Arhitectura unui microcontroller

Arhitectura unui microcontroller C500 produs de Infineon Technology, Germania

Nucleul C500 contine un procesor compus din decodorul de instructiuni, unitatea aritmetico-logica si sectiunea de Progoram Control.Housekeeper genereaza semnale interne pentru controlul functiilor ale unitatilor din interiorul microcontroller-ului. Port 0 /Port 2 au scopul de a accesa date din memorie.Blocul extern de control manevreaza semnalele externe de control si gernerarea impulsurilor de tact.Access control unit este responsabila de accesarea resusrlor de memorie ale chip-ului. IRAM constituie memoria RAM interna.XRAM este o unitate aditionala de RAM ce poate lipsi.Interrupt Controller Unit manipuleaza IRQ-urile perifericelor.Serial interfaces, timers, multiply/divide unit, watchdog, sunt alte exemple de unitati intergate ale chip-ului. Semnalele externe ale acestor unitati sunt captate prin porturi I/O sau prin pini specifici. 

Page 9: Sisteme Inglobate

Procesoare de semnal digital (DSP)

Aceste procesoare au fost create pe arhitectura Harvard pentru a opera cu semnale in timp real.

Sunt prevazute cu unitati MAC (Multiplier and Accumulator).

Instructiunile sunt executate intr-un signur ciclu. Se pot atinge viteze mai mari de procesare prin implementarea paralela.

Un DSP foloseste accesari multiple (Multiple Acces) si unitati de memorie multi-port (Multi Ported Memory units). MAU si MPM ofera posibilitatea mai multor accesari intr-un ciclu.

Page 10: Sisteme Inglobate

Microprocesor Microcontroller

Un microprocesor este unitatea central de procesare a unui calculator digital cu scopuri generale.

Un microcomputer mai contine memorie (ROM si RAM), decodoare de memorie si despozitve de I/O.

Principala utilizare a unui microprocesor este de a citi date, executa operatii cu datele si sa stocheze datele pe un dispozitiv de stocare sau sa afiseze datele. Memoria este impartita pe mai multe nivele (multi level cache). Proiectarea unui microprocesor este indelungata datorita unui VLSI extreme de complex.

Scopul unui microcontroller este acela de a permite utilizarea pe o scara cat mai larga.

Un microcontroller are de obicei incorporate memorie RAM si ROM (sau EPROM), hardware pentru I/O. Sunt prevazute cu timere care genereaza intreruperi.

Un dezavantaj al lor este ca puterea de procesare este redusa.

Unul dintre principalele scopuri este ca pot fi folosite la controlul operatiilor unei masini folosind un program stocat in ROM si care nu trebuie schimbat de-a lungul timpului.

Microprocesoare vs Microcontrollere

Page 11: Sisteme Inglobate

Contrastul dintre microprocesoare si microcontrollere este evidentiat de faptul ca un microprocesor este prevazut cu mai multe opcode-uri pentru extragerea datelor din memoria externa, in timp ce un microcontroller are de obicei unul/doua opcode-uri in acest scop. Microprocesoarele au una/doua tipuri de instructiuni de bit handling, pe cand microcontrollerele au mai multe.

Page 12: Sisteme Inglobate

Procesorul Procesorul de semnal digital

1. Folosite in cazul pc-urilor sau serverelor

2. Folosesc principiile Von Neumann 3. 1 accesare de memorie pe ciclu4. Instructiuni generale. De obicei se

executa o singura operatie/ instructiune

5. Software loop 6. Intruruperile rareori blocate7. Shadowing de registri8. Porturi seriale asincrone9. Adresare generala

1. Specializate in procesarea de semnale.

2. Constituite pe arhitectura Harvard3. 3 / 4 accesari de memorie pe ciclu4. Instructiuni specializate, complexe5. Hardware loop6. Intreruperile sunt blocate in timpul

anumitor opreratii7. Shadowing limitat sau inexistent8. Porturi seriale sincrone9. Adresare speciala (auto-increment)

Procesorul vs Procesorul de semnal digital

Page 13: Sisteme Inglobate

Memoria

Ofera procesorului stocare de scurta sau lunga durata a informatiei. Arhitectura Princeton presupune ca datele si programul sa ocupe aceeasi memorie.

Aceasta este o arhitectura simpla. Arhitectura Harvard presupune ca programul si datele sa ocupe blocuri separate de

memorie. Acest lucru presupune doua conexiuni separate, prin urmare se poate folosi procesarea paralela.

Memoria poate fi ROM (Read only memory) sau RAM (Random access memory).

Page 14: Sisteme Inglobate

Poate exista pe acelasi cip cu procesorul sau se poate intalni in afara cip-ului. Memoria intalnita pe cip este mai rapida. Pentru a reduce timpii de acces, o copie locala a unei portiuni de memorie poate fi pastrata intr-o memorie mica, dar rapida, memoria cache.

Memoria mai poate fi impartita in: statica sau dinamica. Memoria dinamica disipa putina energie, este compacta si ieftina. In schimb accesul este mai lent decat la memoria statica. In memoria dinamica RAM (DRAM) datele sunt retinute prin operatii periodice de refreshing. In memoria Statica (SRAM), datele sunt retinute continuu. SRAM este mult mai rapida decat DRAM dar consuma mai multa energie.

Page 15: Sisteme Inglobate

Un procesor de uz general, atunci cand are nevoie de date, intai verifica proprii registrii. Numai daca datele nu se regasesc acolo, procesorul verifica daca le regaseste in memoria cache de nivel 1. Daca nici de aceasta data nu gaseste informatia, cautarea se va realiza in memoria cache de nivel 2. In cazul in care informatia nu este regasita, procesorul va cauta datele in memoria calculatorului. In cazul unui rezultat negativ si in acest stadiu, procesorul va lua datele de pe disc.

Page 16: Sisteme Inglobate

Dispositive de I/O si Chipuri de interfata

Un Real time embedded system (RTES) interactioneaza cu mediul si userii prin hardware-ul cu care este prevazut. Spre exemplu, un handset mobil are ca dispositive de i/o tastatura, display-ul, antena, microfon, difuzor, indicatori led, etc. Semnalul pe care il foloseste un astfel de dispozitiv poate fi analog sau digital. Pentru a genera un semnal analog cu ajutorul microprocesorului, avem nevoie de un DAC iar pentru a primi un semnal analog, avem nevoie de un ADC. Atat DAC cat si ADC pot opera la viteze diferite fata de microprocesor. Este necesara o sincronizare intre componente. Dispozitivele de i/o sunt in general mai lente decat procesorul. Astfel, procesorul va trebui sa astepte pana dispozitivele raspund unei cereri de transfer de date. Pentru a evita acest lucru, cipurile de interfete i/o executa aceste task-uri in locul procesorului, evitandu-se timpii in care acesta ar trebui sa stea idle.

Page 17: Sisteme Inglobate

Alte tipuri de RTES

In afara de unitatile despre care am discutat pana acum, mai exista RTES care au circuite specifice incluse pe aceeasi placa de circuit, cunoscute sub numele Application Specific Integration Circuit (ASIC)

Mentionam cateva exemple:1. MODEM (modulator, demodulator units)Sunt folosite pentru modularea unui semnal digital in un semnal analog de inalta frecventa pentru transmisii wireless. Sunt diverse metode pentru a converti un semnal digital in unul analog:

Amplitude Shift Keying (ASK)Frequency Shift Keying (FSK)Phase Shift Keying (PSK)Quadrature Phase Shift Keying (QPSK)

Aceeasi unitate realizeaza si demodularea semnalului analog in semnal digital.

2. CODEC (Compress and Decompress Units)Folosite in general pentru procesarea fisierelor digitale (video/audio). Un CODEC reduce cantitatea de date ce trebuie transmisa inlaturand datele redundante din dransmisie si reconstituind semnalul la receptie.

Page 18: Sisteme Inglobate

 3. FiltreleSunt folosite pentru refacerea semnalului de receptie eliminand zgomotul din afara benzii si alte semnale captate. O clasa aparte de filtre sunt cele Anti-aliasing, care sunt folosite inaintea conversiei A-D, pentru a preveni dedublarea semnalului, atunci cand se folosesc semnale cu spectrul de frecvente larg. 4. ControllereleCircuite specifice pentru controlul motoarelor, servomotoarelor etc.