Documente Academic
Documente Profesional
Documente Cultură
• Acces la :
MICROCONTROLERE http://etc.unitbv.ro/~romanca/MpMCtrl
• Sau:
http://www.unitbv.ro/dec/Despredepartament.aspx -> Membri
3 4
FIŞA
FIŞA DISCIPLINEI FIŞA
FIŞA DISCIPLINEI
2. ARHITECTURA SETULUI DE INSTRUCŢIUNI (ISA)
1. INTRODUCERE ÎN ARHITECTURA
MICROPROCESOARELOR
• ISA ca interfaţă între hardware şi software,
principalele caracteristici.
• Definire microprocesor / microcontroller, • Formatul instrucţiunilor, tipuri de instrucţiuni,
evoluţie istorică interpretarea adreselor de memorie.
• Organizare generală, cale de date, cale de • Moduri de adresare, spaţiu de adresare.
control, memorie, magistrale, sincronizare • Clasificarea arhitecturilor setului de instrucţiuni
• Organizarea ierarhică a sistemului de memorie: • Modelul RISC, caracteristici generale,
memorie internă, cache, memorie externă comparaţie caracteristici CISC / RISC
• Reprezentări structurale şi funcţionale ale
calculatorului
5 6
FIŞA
FIŞA DISCIPLINEI FIŞA
FIŞA DISCIPLINEI
3. ORGANIZAREA ŞI FUNCŢIONAREA PROCESORULUI
DE UZ GENERAL
4. UNITATEA DE CONTROL
• Organizarea CPU, comportare, structura unităţii de control şi a
căii de date, sincronizări.
• Structura şi funcţionarea unei UCP simple pe bază de • Secvenţierea şi interpretarea
acumulator, extinderi la structura simplă (seturi de registre de instrucţiunilor
date, registre de adresare, circuite aritmetice suplimentare,
registre de stare şi control, registre speciale, contor de • Control cablat
program, pointer de stivă, pipelines) • Control microprogramat
• Semnale de interfaţare ale procesorului (magistralele de date,
adrese şi control).
• Întreruperi şi excepţii
• Memoria stivă, organizare, funcţionare, aplicaţii.
• Ferestre de registre la arhitecturile RISC
7 8
FIŞA
FIŞA DISCIPLINEI FIŞA
FIŞA DISCIPLINEI
5. PIPELINING 6. ARHITECTURA MICROCONTROLLERELOR
9 10
EVALUARE
Bibliografie
Forme de Procent din nota
Modalitate evaluare
evaluare finală
Romanca M., Microprocesoare si microcontrolere, Editura
Universitatii Transilvania din Brasov, 2015, ISBN: 978- Examen Examinare scrisă (E) 60 %
606-19-0683-3, disponibilă în format electronic la
http://etc.vega.unitbv.ro/∼romanca Prezenţa la curs şi
Ca formă de cooperare în însuşirea
Burileanu, C., Arhitectura microprocesoarelor, Editura activitate la 10 %
cunoştinţelor (Pp)
DENIX, Bucuresti, 1994; seminar
Stallings, William, Computer Organization and Bonificaţie în
Architecture, 5th edition, Prentice Hall International, Inc., Seminar Verificare pe parcurs (B)
limita 10%
2000.
Tanenbaum, A., Structured Computer Organization, 4th
ed., Prentice-Hall Inc. 1999 Laborator 2L – Aplicaţii (L) 20%
Patterson, D., Hennessy, J., Computer Architecture A
Quantitative Approach, Morgan Kaufmann Publishers, Inc. Proiect 1P – Aplicaţii dezvoltate (P) 10%
(4th ed.) 2007
Pentru promovarea examenului este obligatorie obţinerea notei minime 5.00 la
toate formele. Calcul medie finală: =E*0.6+L*0.2+P*0.1+P*0.1+B
11 12
Ce este un Microprocesor ?
Calcul medie finală (M)
• M = E*0.6+L*0.2+P*0.1+Pp+B
• Un microprocesor (MP) este o unitatea Centrală
de Procesare (UCP) integrată într-un singur chip.
– Pp (procent prezenţă) = (Nr. Prezenţe)/ (Nr. Total
de cursuri) • UCP pentru un (micro)calculator de uz general
– Bonificatie Seminar: calcul alocare din tabel cu este un microprocesor de uz general
prezenta seminar si numar de raspunsuri.
Prezenta peste 80% si minim 2 raspunsuri asigura
• UCP-ul unui calculator este o structură de
B=1 procesor de uz general
• Toate calculatoarele moderne sunt construite cu
microprocesoare cu funcţia de UCP.
13 14
Ce este un calculator?
calculator? Sistem de calcul
• Un calculator este o maşină de prelucrare automată a datelor
ce funcţionează sub controlul unei liste de instrucţiuni • De obicei un sistem de calcul conţine un calculator
(program) stocate în memoria principală a calculatorului. şi periferice
• Organizare generală calculator:
– UCP (căi de date şi control)
• Un calculator este constituit dintr-un ansamblu de resurse – Memoria principală
fizice (hardware) şi de programe de sistem (software de – Sistem de intrare-ieşire (legătura cu dispozitivele externe –
sistem) care asigură prelucrarea automată a informaţiilor, în periferice)
conformitate cu algoritmii specificaţi de utilizator prin • Perifericele calculatorului includ
programele de aplicaţii (software utilizator). – Dispozitive de intrare (tastatură, mouse, memorii secundare)
– Dispozitive de ieşire (display, difuzoare, memorii secundare,
imprimantă)
• Calculatorul conţine: UCP + Memorie + IO
15 16
MICROCONTROLER Microprocesor vs. Microcontroller
• Microprocesoarele sunt utilizate în general pentru aplicaţii de înaltă
• Microcontroller – un calculator ce include un performanţă de procesare
microprocesor şi care este destinat aplicaţiilor de • Microprocesoarele sunt utilizate ca UCP pentru calculatoare de uz
general (GPC)
control (nu calculului de uz general) • Microprocesoarele necesită extern memorie şi interfeţe IO
• Microprocesoarele sunt utilizate în PC-uri, staţii de lucru, servere,
laptop-uri, unde compatibilitatea software, performanţa, generalitatea
• Un microcontroller conţine în acelaşi CI cel puţin: şi flexibilitatea sunt importante.
UCP, memorie şi IO
• Microcontrollerele sunt proiectate pentru a se obţine o dimensiune
• Un microcontroller este un microcalculator pe un chip redusă a chip-ului, micşorarea costurilor şi includerea de spaţiu de
memorie şi IO pe chip.
proiectat pentru aplicaţii de control. • Microcontrollerele sunt adesea “specializate pe aplicaţii” în dauna
flexibilităţii.
• Un microcontroller conţine: UCP, Memorie, IO
17 18
Microcoprocesor Microcontroler
21 22
23 24
Scurtă analiză istorică a progresului
Links: Multiprocessors/ Multicores
• Anii 1960 – calculatoare mari. Aplicaţiile tipice includeau
procesări de date în afaceri şi calcule ştiinţifice
• http://www.cs.cornell.edu/courses/cs6410/2013fa/slid • Anii 1970
es/08-multiprocessors.pdf – apariţia minicalculatorului: laboratoare ştiinţifice, utilizatori
multipli care partajează resursele de la terminale independente
– microprocesorul : îmbunătăţiri în tehnologia circuitelor integrate,
cost redus, producţie în număr mare, răspândire în multe aplicaţii de
• http://superuser.com/questions/214331/what-is-the- calcul numeric
difference-between-multicore-and-multiprocessor • Generalizarea limbajelor de programare de nivel înalt
(HLL) + translatoare a înlăturat nevoia compatibilităţii
programelor la nivel de cod obiect
• Crearea de sisteme de operare standardizate, independente
de producător, care au scăzut costurile şi riscurile de utilizare
a noilor arhitecturi
25 26
27 28
PRINCIPALE CATEGORII DE APLICAŢII PRINCIPALE CATEGORII DE APLICAŢII
ALE MICROPROCESOARELOR ALE MICROPROCESOARELOR (P&H 2012)
Piaţa microprocesoarelor s-a dezvoltat pe trei direcţii mari: • Dispozitive de calcul personale şi mobile:
– Telefoane mobile şi tabletele. Dispozitive controlate prin intermediul unui SO
• Desktop
– Exemple: PC, staţii de lucru – Principalele caracteristici de proiectare: costuri reduse, gabarit mic şi
eficienţă energetică mare
– Metrici: latenţă (grafică şi sistem de IO)
• Servere – furnizează servicii de fişiere şi calcul • Calculatoare desktop
– Exemple : server Web, server bază de date, server LAN • Servere
– Metrici: throughput, fiabilitate, scalabilitate, disponibilitate • Clusters/ Warehouse-Scale Computers (WSC) [Hennesy 2012]
• Sisteme Embedded (sisteme cu procesor înglobat) – centru de calcul masiv cu dimensiunea unui depozit de calculatoare
– Exemple: telefon celular, PDA, cuptor cu microunde, cameră video – organizate ca noduri de calcul conectate local printr-o reţea
digitală
– WSC sunt direcţionate spre aplicaţii de tip SaaS ( Software as a Service ):
– Metrici: complexitate, putere redusă, latenţă căutare, reţele sociale, partajare de fişiere video, cumpărături on-line, jocuri
Piaţa embedded este cea mai mare ! multiplayer
• Procesor Embedded = Un procesor programabil a cărui interfaţă • Calculatoare încorporate în aplicaţie
de programare nu este accesibilă utilizatorului final şi care
realizează un set restrâns de funcţiuni dedicate aplicaţiei specifice.
29 30
Arhitectura Setului de
ARHITECTURA CALCULATORULUI
Instrucţiuni
• “Arhitectul” de calculator proiectează maşina pentru a • Interfaţă între hardware şi software.
rula programe.
• ISA include tot ce trebuie să cunoască un programator
• Arhitectura de calculator (procesor) include: pentru a programa la nivel fizic al maşina.
1. Arhitectura setului de instrucţiuni ISA (Instruction Set • ISA permite ca două maşini diferite (implementare,
Architecture) costuri şi performanţe diferite) să ruleze aceleaşi
2. Implementare, cu două componente: programe.
– Organizare
– Hardware
31 32
Organizarea generală a unui calculator
Implementare uni-processor
• Organizarea include aspectele de nivel înalt • Fluxul de informaţii este controlat de UCP pe două căi:
ale proiectului, cum ar fi organizarea sistemului – cale de control – (“creierul” procesorului). Semnalele de control
spun căii de date, memoriei şi sistemului de intrare/ieşire ce să
de memorie, structura magistralelor, facă, conform instrucţiunilor unui program.
organizarea internă a UCP. – cale de date – (“muşchii” procesorului). Calea de date realizează
operaţii aritmetice / logice şi de transfer
– Două maşini pot avea organizări diferite, dar să aibă
acelaşi ISA.
UCP Calculator
• Hardware se referă la aspectele specifice de ALU Registre
implementare ale maşinii. Include proiectul de date
Memorie
detaliu al logicii, tehnologia semiconductoare instrucţiuni
principală
utilizată, tipul de capsulă.
Unitate de Control
adrese şi comenzi
33 34
de la/la Memorie
ALU principală
Logică de Control memorie
Interfeţe IO
c, v 39 40
LOCALIZAREA REFERINŢELOR LOCALIZAREA REFERINŢELOR
LA MEMORIE LA MEMORIE
• Două variante: • Pentru a folosi caracteristica referinţelor localizate în
timp, datele cele mai recent accesate trebuie păstrate
– localizare temporală a referinţelor: dacă
programul face acces la o celulă de memorie la cât mai aproape de procesor
momentul t, este foarte probabil ca programul să • Pentru a folosi caracteristica referinţelor localizate în
facă din nou acces la aceeaşi celulă la momentul spaţiu la transferul între niveluri trebuie mutate
t+∆ blocuri continue de date şi nu cuvinte individuale.
– localizare spaţială a referinţelor: dacă la • Organizare ierarhică şi referinţe localizate
momentul t programul face acces la o celulă de
⇒pe diferite niveluri ierarhice există copii ale aceluiaşi
memorie de adresă X, este foarte probabil ca la
bloc de date, date ce pot fi modificate doar pe nivelul
momentul t + ∆ programul să facă acces la celula
cel mai apropiat de UCP, sau şi pe nivelurile inferioare
de adresă X + ε.
41 42
43 44
ORGANIZARE IERARHICĂ MAGISTRALA SISTEM
Memory Memory Memory
Level 1 Level i Level i+1
CPU
Block Block
A B • Principalele unităţi componente ale sistemului (procesor,
memorie principală, module de I/O) sunt interconectate
pentru a schimba informaţii de date şi control
• Proprietatea de coerenţă exprimă faptul că
informaţia existentă la o anumită adresă în spaţiul • Calea de comunicare între două sau mai multe unităţi este
de memorie trebuie să fie aceeaşi, indiferent de numită magistrală (bus)
nivelul de memorie pe care se află. • Magistrala conţine linii electrice care transferă informaţia
• Dacă un cuvânt este modificat pe nivelul i, atunci va codificată în binar
trebui modificat şi pe nivelul i+1 şi pe toate nivelurile • O magistrală la care sunt conectate principalele
inferioare. componente ale calculatorului (procesor, memorie
– Coerenţa nivelurilor de memorie se poate obţine fie prin principală, module de I/O) este numită magistrală sistem
propagarea valorii modificate spre toate nivelele inferioare
("write-through"), sau prin actualizarea nivelurilor inferioare
în momentul înlocuirii informaţiei de pe nivelul curent
("write-back").
45 46
– sincronizare
– lărgimea magistralelor (număr de biţi transmişi în
paralel)
47 48
IERARHIE DE MAGISTRALE MAGISTRALE MULTIPLE
- structură tradiţională tipică -
MULTIPLE
Magistrală locală
Procesor Cache
• Cu cât sunt mai multe dispozitive conectate la o Controller
magistrală, cu atât mai mare este lungimea acesteia local I/O
• Cu cât sunt mai multe dispozitive conectate la o Memorie
magistrală, cu atât mai mare va fi întârzierea produsă la principală
transmisia datelor
• Dispozitivele conectate la o magistrală au viteze mult Magistrală sistem
diferite de funcţionare
Interfaţă cu
– Comparaţi viteza procesorului (UCP) cu a unui echipament magistrala de
periferic extensie
• Magistrala unică conduce la scăderea vitezei medii a Reţea SCSI
Modem Serial
transmiterii informaţiilor
Magistrală de extensie
49 50
MAGISTRALE MULTIPLE
- structură de înaltă performanţă - MAGISTRALE SINCRONE
Memorie
principală
• Magistralele sincrone includ o linie de CLOCK (controlată de
Mag. locală un oscilator cu cuarţ) între liniile magistralei de control.
Cache /
Procesor Bridge
Magistrală sistem Frecvenţele tipice sunt între 5 - 133 MHz
• Toate transferurile pe magistrală durează un număr întreg de
cicluri de ceas, numite cicluri magistrală.
SCSI FireWire Grafică Video LAN • Avantajul magistralei sincrone se regăseşte în viteza mare de
transfer şi într-o logică suplimentară foarte simplă
• Dezavantajul constă în faptul că pentru transferurile care s-ar
Magistrală de mare viteză putea face mai rapid decât intervalul corespunzător unui
număr întreg de cicluri magistrală, protocolul trebuie păstrat
Interfaţă cu (timp prestabilit de transfer)
FAX magistrala de Modem Serial
extensie
Magistrală de extensie
51 52
MAGISTRALE ASINCRONE MAGISTRALE ASINCRONE
- Handshaking - - Handshaking -
• Motive transfer asincron:
Date Date
• Există diferenţe mari de viteză între UCP şi unele periferice – nu putem face
comunicaţie sincronă ! Strobe
Sursă Destinaţie
• Distanţa mare între două dispozitive ce comunică. Strobe
• De exemplu, dacă semnalul de ceas are o perioadă de 10 ns (frecvenţă de 100 RDY
MHz), iar datele se transmit la o distanţă echivalentă cu 60 m, semnalul este primit
după 200 ns (20 de impulsuri de ceas), considerând viteza egală cu viteza luminii în RDY
vid (3×108 m/s).
• Transfer asincron:
• Nu există linie de ceas
• Etapele transferului presupun transmiterea şi recepţionarea unor semnale de Date Date
confirmare între doi corespondenţi ( “handshaking”)
• Un eveniment pe magistrală se produce ca urmare a producerii unui alt Strobe
eveniment precedent Sursă Destinaţie Strobe
ACK
• Se prezintă două variante:
• transfer iniţiat de sursă - sursa decide momentul când se transmit date pe ACK
magistrala comună
• transfer iniţiat de destinaţie – destinaţia decide când să ceară date 53 54
55 56
Arhitectură de uz general secvenţială
Architectura
Architectura von Neumann (von Neumann) – reprezentare
structurală
(definită
(definită în 1945)
Principii: Sistem de calcul – conceptul de “program stocat”
d biţi
• Sistemul de IO conţine locaţii adresabile (port-uri) prin
Adresa 0
care calculatorul face schimb de informaţie cu lumea
externă. Sistemul conţine circuite pentru funcţiile:
Adresa 1 – schimbare format date (serial / paralel)
– stocare temporară de date (latch)
– verificare a corectitudinii datelor transferate
Adresa k – sincronizare între periferic şi UCP (datorită diferenţelor mari de
viteză de funcţionare).
– logică de decodificare
Adresa 2a-2
Adresa 2a-1
63 64
Periferice REPREZENTAREA FUNCŢIONALĂ A
UNUI CALCULATOR
• Un calculator poate fi descris şi prin funcţiile -
operaţiile pe care le pune la dispoziţia utilizatorului
• Dispozitive (periferice) de intrare – recepţionează • Circuitele electronice ale unui calculator recunosc şi
informaţia din mediul extern (prin diverşi senzori) şi o execută doar un set limitat de instrucţiuni elementare,
transformă ca natură fizică şi format de reprezentare ↔ codificate în formă binară
compatibilitate cu nivelurile de tensiune recunoscute de • Instrucţiunile recunoscute sunt rareori mai complicate
calculator (ca valori binare). decât:
• Dispozitive (periferice) de ieşire – operaţie inversă – adună două numere
dispozitivelor de intrare. Prelucrează datele din calculator – verifică dacă un număr este egal cu zero
şi le transformă în informaţie acceptabilă la dispozitivul – copiază date dintr-o zonă a memoriei calculatorului în altă
zonă.
de ieşire.
65 66
MAŞINI VIRTUALE
LIMBAJ DE PROGRAMARE
• Funcţional, se poate spune că limbajul L1 corespunde unei
maşini virtuale programabile numită M1. Numele acestui limbaj
• Instrucţiunile elementare, recunoscute de un procesor formează simbolic de programare este “limbaj de asamblare”, iar
limbajul maşină al procesorului programul de translatare este numit “asamblor”.
• Notaţie: limbaj L0 ce corespunde maşinii fizice M0. • Translatarea: - tot programul scris în L1 este transformat în
• Programatorul scrie programele sale într-un limbaj L1, format program scris în L0 (executabil), iar programul
din instrucţiuni simbolice (succesiuni de litere şi cifre) şi mai în L1 este abandonat.
apropiat de limbajul uman - programul în L0 este încărcat în memoria
• Pentru a putea executa acest program pe maşina M0 fiecare calculatorului şi executat
instrucţiune din L1 a programului trebuie translatată în • Exemple de programe translator: compilator, asamblor.
instrucţiuni din limbajul L0
• Interpretorul este un program în L0 care rulează pe M0 şi care
• De exemplu programatorul poate scrie în L1 instrucţiunea: preia instrucţiunile programului în L1 ca pe date de intrare.
add al,6 Interpretorul citeşte şi decodifică fiecare instrucţiune din L1 şi
• iar programul de translatare va genera succesiunea binară, apoi trece imediat la execuţia acesteia. La interpretare nu se
corespunzătoare lui L0: generează un program executabil ca la translatare
0000 0100 0000 0110 • Limbaje de programare mai apropiate de limbajul uman: L2, L3,
... (pentru maşini virtuale M2, M3, ...)
67 68
aux=z[k];
Calculator = succesiune de maşini virtuale Pachete de aplicaţii for (j=k;j<q;j++) z[j]=z[j+1];
z[q]=aux;
Translatare sau interpretare if(z[k]==k) k++;
Nivelul n: Programele în Ln pot sã fie else {printf("\n");k=1;
interpretate de un interpretor ce ruleazã pe o Limbaj de nivel înalt
Maşina virtualã Mn, cu maşinã de nivel inferior, sau pot sã fie
limbajul maşinã Ln translatate cãtre limbajul maşinã al unei maşini
inferioare Asamblor Translatare
shl dl,1
Ierarhie Translatare jnc adr1
add ax,bx
Maşina fizicã
programat Unitãţi funcţionale
(realã) M0, cu Nivelul 0: Programele în L0 pot fi executate
direct de cãtre circuitele electronice Implementare
limbajul maşinã L0
Dispozitive electronice
69 70
SOFTWARE
- software utilizator
• compilatoare
- software de sistem • interpretoare de comenzi
• sisteme de operare
⇒ sistem de fişiere
⇒ memorie virtualã
⇒ drivere dispozitive de I/O
71