Sunteți pe pagina 1din 18

MICROPROCESOARE ŞI Course web page:

• Acces la :
MICROCONTROLERE http://etc.unitbv.ro/~romanca/MpMCtrl
• Sau:
http://www.unitbv.ro/dec/Despredepartament.aspx -> Membri

Profesor Mihai ROMANCA

Departament: Electronică şi Calculatoare


email: romanca@unitbv.ro • Studenţii sunt îndemnaţi
să-şi tipărească slide-
urile în avans şi să le
utilizeze pentru a lua
notiţe în clasă
1 2

OBIECTIVE CURS OBIECTIVE


• Introducere în arhitectura microprocesoarelor şi • Obiective Seminar:
microcontrolerelor cu explicarea noţiunilor privind: – Fixarea şi aprofundarea cunoştinţelor transmise la curs, pe
– setul de instrucţiuni baza unor aplicaţii rezolvate împreună cu studenţii şi pe
– aritmetica în procesor şi structura căii de date baza discutării unor studii de caz privind funcţionarea şi
– calea de control exemple concrete de aplicare a microprocesoarelor şi
microcontrollerelor.
– memorie de date şi memorie de program
– structurile de tip pipeline • În urma asimilării cunoştinţelor predate la această
– semnalele de interfaţare ale microprocesorului disciplina, viitorul inginer îşi va putea asuma
– sistemul de întreruperi. – responsabilitatea punerii în funcţiune a diferitelor sisteme de
control cu microprocesor / microcontroller
• Clasificarea şi exemplificarea arhitecturilor de – întreţinerea sau proiectarea şi construcţia diferitelor interfeţe
microprocesoare/microcontrollere moderne. (acestea fiind realizabile şi prin studiul suplimentar al
• Introducere în utilizarea sistemelor cu microprocesoare documentaţiilor de firmă).
şi microcontrollere

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

• Introducere, aspecte specifice comparativ cu


• Consideraţii generale, exemple de prelucrare arhitecturile de microprocesor de uz general
pipeline, creşterea în viteză datorită structurii • Organizarea memoriei
pipeline • Arhitectura internă: registre de control, moduri de
• Conducte aritmetice, exemple pentru adunare adresare, tipuri de instrucţiuni, structura şi funcţionarea
şi scădere în virgulă mobilă sistemului de intrare / ieşire
• Circuite counter / timer
• Conducte de instrucţiuni, tipuri de conflicte • Metode de economisire a energiei
(hazard), principii de înlăturare a conflictelor • Interfeţe seriale sincrone şi asincrone

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

Poate funcţiona ca maşină de calcul doar dacă


adăgăm în exterior memorie şi sistem de I/O
Este o maşină de calcul autonomă, având toate
componentele necesare incluse în circuitul
Microprocesor vs. Microcontroller
integrat (nucleu microprocesor, memorie, sistem
I/O)
Este destinat aplicaţiilor de uz general Este destinat aplicaţiilor de control • Principalul obiectiv al proiectării pentru fiecare tip de
chip poate fi rezumat ca:
Performanţe ridicate în viteza de prelucrare, Performanţe mai reduse de viteză, dar suficiente
pentru a satisface o gamă largă de aplicaţii rulate pentru aplicaţiile rulate
În setul de instrucţiuni există puţine instrucţiuni ce În setul de instrucţiuni există multe instrucţiuni ce Microprocesoarele (MP) sunt mai ales flexibile şi
pot manipula individual biţii unui cuvânt pot manipula individual biţii unui cuvânt au performanţe de procesare mai ridicate
Sunt utilizate în PC-uri, staţii de lucru, servere, Sunt utilizate în sisteme cu calculator încorporat,
laptop-uri, unde compatibilitatea software, unde fiabilitatea, gabaritul şi costul sunt extrem
performanţa, generalitatea şi flexibilitatea sunt de importante Microcontrollerele (MC) sunt mai ales compacte şi
importante au cost mai scăzut
La capsulă există puţini pini cu funcţii multiple, La capsulă există mulţi pini cu funcţii multiple,
multiplexate multiplexate
Capacitatea de adresare a memoriei principale Capacitatea de adresare totală a memoriei
este foarte mare (tipic maxim sute de MB - GB) principale este redusă (tipic KB)
Pentru a creşte viteza medie de acces la memorie Memoria de program şi date este inclusă în CI şi
foloseşte o ierarhie de niveluri de memorie au rar nevoie de niveluri externe de memorie
19 20
interne şi externe
Scurtă analiză istorică a
Legea lui Moore
progresului calculatoarelor
• În 1965, dr. Gordon E. Moore a prezis că numărul
de tranzistoare echivalente pe un singur chip va
• De-a lungul timpului, performanţele creşte în ritm constant şi se prevedea o creştere în
calculatoarelor nu au crescut în ritm constant acelaşi ritm pentru următoarele decenii
• Această predicţie, numită Legea lui Moore (denumire
• Există două forţe care stimulează dezvoltarea încetăţenită din 1975), spune că “puterea de calcul
calculatoarelor: va creşte exponenţial, dublându-se la fiecare 18 -
24 luni, pentru un viitor previzibil”
1. dezvoltarea tehnologiei semiconductoare utilizată la • Legea lui Moore este adesea criticată, pentru că
construcţia microprocesoarelor (îmbunătăţirea utilizatorii sunt interesaţi în primul rând de creşterea
tehnologică) performanţelor procesoarelor
– Este greu să se echivaleze creşterea numărului de
2. inovaţii în organizarea şi proiectarea tranzistoare echivalente pe un chip cu creşterea
calculatoarelor performanţei procesoarelor

21 22

Tendinţă: oprirea creşterii frecvenţei Tendinţă: oprirea creşterii frecvenţei


de ceas de ceas
• Procesoare multi-core (mai multe nuclee ce lucrează în paralel)
• Cu cât sunt mai multe impulsuri pe secundă cu atât se fac mai • Intel a calculat că scăderea cu 20% a frecvenţei pentru un
multe operaţii nucleu conduce la scăderea la jumătate a puterii consumate şi
doar la 13% pierdere de performanţă
• Cu cât frecvenţa este mai mare cu atât creşte si puterea
consumată (comutaţie) • Dacă se împart sarcinile de prelucrare între 2 nuclee ce
lucrează la o frecvenţă redusă la 80%, se obţine o performanţă
• Creşterea frecvenţei impune mijloace de disipare a căldurii mai mare cu 73% pentru aceeaşi putere consumată
procesorului
• Disiparea căldurii este mai bună (două noduri în loc de unul)

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

ENIAC (Electronic Numerical Integrator Microprocesoare


Microprocesoare – secolul
and Computer) XXI
Universitatea din Pennsylvania Frecvenţe de ceas mai mari de 2 GHz
Procesoare de putere mică (aplicaţii mobile)
Conţinea aproximativ Micro-arhitecturi superscalare (mai multe instrucţiuni lansate
18.000 tuburi electronice, în paralel)
70.000 rezistoare, 10.000 SIMD (Single Instruction Stream Multiple Data Stream):
condensatoare şi 6.000 de operaţii similare efectuate în paralel pe seturi diferite de date
comutatoare Funcţii de prelucrare DSP: MMX, 3D, grafică, sunet
Consum de putere 140 kW Nuclee procesor multiple pe un chip
Memorie cache pe mai mult de 2 niveluri
............................

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

Organizare generală a unui (micro)processor, cu


indicarea interfeţelor principale cu exteriorul Structura generală a unui calculator
Program Counter (pt.
Calculator (GPC)
Bloc Registre aducere instrucţiuni)
PC data
Adresă instr. addresses
UCP control
(Microprocesor)
IR Instrucţiunea curentă
Instrucţiune

de la/la Memorie
ALU principală
Logică de Control memorie

Interfeţe IO

Reg. adrese memorie (pt. aducere date)


Adresă Date
MAR
Date Periferice
MDR 35 36
PRINCIPII DE REALIZARE A
SISTEM DE MEMORIE
SISTEMULUI DE MEMORIE
• Dispozitivele de memorare au rolul de a stoca informaţia • Informaţia stocată este distribuită pe o varietate de dispozitive
numerică (programe, date iniţiale, rezultate intermediare şi de memorie (dispozitive cu raport cost / performanţă şi
finale) cu posibilitatea ca informaţia numerică să poată fi caracteristici fizice foarte diferite)
accesată printr-o adresa, pentru a fi citită sau scrisă – Organizate pentru a asigura o viteza medie cât mai mare, la un
cost specific mediu cât mai mic
• Sistemul de memorie al calculatorului = dispozitivele de • Transferul de informaţii între diferitele niveluri ale memoriei se
stocare a informaţiei + algoritmii de control ai memoriei desfăşoară transparent pentru utilizator (sarcina sistemului de
(implementaţi fie în software fie în hardware) operare)
• La proiectarea şi construcţia unui sistem de memorie, se – metode de alocare dinamică a spaţiului disponibil de memorie,
pentru o utilizare cât mai eficientă.
face un compromis, al cărui obiectiv să se obţină: • Realizarea conceptelor memoriei virtuale pentru a elibera
– o viteză de acces medie cât mai mare programele utilizator de funcţia administrării spaţiului de
– în condiţiile unui cost total minim memorie şi pentru a face programele relativ independente de
configuraţia dată a memoriei fizice.
• Creşterea lărgimii de bandă a sistemului de memorie şi
asigurarea unor mecanisme de protecţie
37 38

Exemplu de organizare ierarhică a LOCALIZAREA REFERINŢELOR


memoriei LA MEMORIE
Acces direct Acces indirect
• La majoritatea programelor rulate se manifestă
“localizarea referinţelor la memorie”
– Doar o mică porţiune a memoriei este accesată la un
moment dat.
UCP Memorie
auxiliară
• Această caracteristică nu este o lege naturală, ea
IO
(externă)
putând fi uneori încălcată
Memorie • Localizarea referinţelor este o caracteristică a
Memorie principală programelor, care se manifestă în cea mai mare
Registre de
memorie cache parte a timpului la rularea programelor.
internă UCP (tampon) • Pe baza localizării referinţelor sistemul de memorie
păstrează cele mai recent accesate articole, pe cât
posibil, în memoria cea mai rapidă
S

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

SISTEME DE MEMORIE ORGANIZARE IERARHICĂ


MULTI-NIVEL Memory Memory Memory
Level 1 Level i Level i+1
CPU
Block Block
A B
• Sistemele de memorie multi-nivel, cu
posibilitatea de scriere-citire trebuie • Proprietatea de incluziune exprimă faptul că
să satisfacă două proprietăţi privind totdeauna informaţiile care se găsesc pe un
informaţia stocată: anumit nivel de memorie se vor găsi şi pe nivelul
de memorie inferior (M1 ⊂ M2 ⊂ ... ⊂ Mn )
– proprietatea de incluziune – Este posibil ca o informaţie existentă pe nivelul Mi+1
să nu se găsească pe nivelul Mi, dar să fie accesată
– proprietatea de coerenţă (cerută) pe nivelul i de memorie. În acest caz
(evenimentul este numit "word miss") cuvântul necesar
a fi accesat trebuie adus pe un nivel de memorie
superior (de pe nivelul i+1, pe nivelul i).

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

MAGISTRALA SISTEM MAGISTRALĂ SISTEM

• Magistrala este un canal de comunicare partajat în timp


Bloc Bloc
– Doar un dispozitiv poate transmite date pe magistrală la un UCP Memorie Memorie I/O I/O
moment dat principală principală
• Pentru a înlătura supraîncărcarea canalului de comunicaţie,
şi a creşte performanţele acestuia, se construieşte o ierarhie
Magistrală de control
de mai multe magistrale interconectate.
Magistrală de adrese
• Elemente cheie la proiectarea magistralelor:
– arbitrare Magistrală de date

– 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

Două tipuri principale de arhitecturi


MAGISTRALE
Arhitectură von Neumann – o singură memorie pentru date şi instrucţiuni

• Tip magistrală Memorie address bus


CPU
date şi
– Dedicată instrucţiuni data bus
– Multiplexată
• Metoda de arbitrare Arhitectură Harvard – Memorii separate pentru instrucţiuni şi date
– Centralizată
Memorie de Memorie
– Distribuită UCP
Program addr. bus PM addr. bus DM de Date

doar data bus PM data bus DM


doar date
instrucţiuni

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”

• Datele şi instrucţiunile sunt stocate în aceeaşi memorie


principală (conceptul de program stocat);
• Conţinutul memoriei este adresabil la nivel de locaţie (fără Periferice Sistem de Memorie Sistem de Periferice
a se considera ce informaţie este stocată: date sau cod); intrare intrare principală ieşire ieşire
• Instrucţiunile sunt executate secvenţial (una câte una în
ordinea locaţiilor de memorie în care sunt stocate) cu I D
excepţia faptului când acest lucru este precizat explicit. Unit.
ALU &
• Calculatorul conţine următoarele subsisteme: unitate de control
Registre
control, unitate aritmetică şi logică (ALU), sistem IO, (UC)
memorie UCP
• Calculatoarele cu arhitectură von Neumann sunt
calculatoare de uz general. Ele pot rezolva diverse probleme Calculator
în funcţie de programul executat.
57 58

Reprezentare structurală Reprezentare a ciclului


instrucţiune
von Neumann • Reprezentare simplificată
ciclu instrucţiune:
O reprezentare extinsă a ciclului
instrucţiune :
• Funcţia principală a UCP este să execute instrucţiunile
aduse (“fetch”) din memoria principală.
• O instrucţiune codifică pentru UCP o operaţie de bază Fetch
(aritmetică, logică, transfer de date la / de la memorie, etc.) Instrucţiune
ce trebuie efectuată. Fetch
Instrucţiune
• UC interpretează (decodifică) instrucţiunea curent adusă şi
Decodifică
comandă celelalte unităţi funcţionale pentru a se putea
instrucţiune
executa instrucţiunea.
• UCP conţine un set de registre folosite ca locaţii de stocare Execuţie
temporară pentru rezultate intermediare şi date inmtens Fetch operand
utilizate de program.
• Fiecare instrucţiune este executată într-o secvenţă de paşi,
numită ciclu instrucţiune. Execuţie

Pentru rularea programului UCP are


o funcţionare ciclică la fiecare
59 instrucţiune executată 60
Unitate de Control Unitate de prelucrare
(ALU şi Registre)
• Unitatea de control (UC) este “creierul” procesorului
• UC controlează şi sincronizează toate elementele din • Unitatea aritmetică şi logică (ALU), realizează
interiorul UCP şi interfeţele către calea de date externă. operaţii logice sau aritmetice cu operanzii adresaţi
de UC
• Înainte de prelucrare, operanzii se stochează într-
un set de registre de uz general, folosite ca
Registru Semnale de control memorie temporară
Instrucţiune interne UCP
• Registrele reprezintă o memorie locală UCP, de
Unitate de Semnale de control către foarte mare viteză
Control magistrala sistem – Setul de registre de uz general poate fi folosit însă şi
Indicatori condiţii şi pentru salvarea diferitelor informaţii privind adresarea
stare Semnale de la magistrala memoriei principale.
sistem
• În funcţie de rezultatul operaţiilor efectuate, ALU
setează anumiţi indicatori de condiţii (indicatori de
Clock stare, fanioane)
61 62

MEMORIA PRINCIPALĂ (INTERNĂ) Sistem de Intrare / Ieşire

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

Nivelul 2: Programele în L2 pot sã fie


de maşini Maşina virtualã a sistemului de operare shl ax,1
dec cl
Interpretare parţială
Maşina virtualã M2, cu
limbajul maşinã L2
interpretate de un interpretor ce ruleazã pe M1
sau M0, sau pot sã fie translatate în L1 sau L0 virtuale la Instrucţiuni maşinã 0110 1101 0000 0100 1110 1011 1101 1100

Maşina virtualã M1, cu


GPC Interpretare
1000 0000 1101 1001 0100 1101 1110 1110
1000 0110 1110 1100 0111 0000 1110 1101
Nivelul 1: Programele în L1 pot sã fie 0111 1010 1111 1011 1000 0010 1110 1001
Microprogram
limbajul maşinã L1 interpretate de un interpretor ce ruleazã pe
M0, sau pot sã fie translatate în L0
micro- Interpretare

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

Software - software de asistenţã (pentru dezvoltarea aplicaţiilor)

• compilatoare
- software de sistem • interpretoare de comenzi

• sisteme de operare

⇒ sistem de fişiere
⇒ memorie virtualã
⇒ drivere dispozitive de I/O

71