Sunteți pe pagina 1din 9

ARHITECTURI DE PROCESOARE SI CONTROLLERE

MASTER Sisteme electronice i de comunicaii integrate

Obiectivele disciplinei
Introducerea principiilor teoretice i practice privind arhitecturile moderne de microprocesoare / microcontrollere. Disciplina formeaz o baz pentru urmtoarele activiti: concepie i proiectare, cercetare, testare i exploatare n domeniul embedded systems Este un curs introductiv, ca baz pentru cele trei trasee opionale din planul de nvmnt:
Sisteme cu microcontrollere Reele de comunicatii digitale Embedded Systems
2

Coninutul cursului
1.

Coninutul cursului
3.

Introducerea principiilor teoretice i practice privind arhitecturile moderne de microprocesoare / microcontrollere


Piaa microprocesoarelor / microcontrollerelor Tendine n dezvoltarea procesoarelor: mbuntire tehnologic, progrese arhitecturale, piaa arhitecturilor de calcul Paralelism (surse i utilizare): ILP (Instruction-level parallelism), DLP (Data-level parallelism), TLP (Task-level parallelism) Arhitecturi paralele, clasificarea lui Flynn

Procesoare superscalare
Planificare dinamic a instruciunilor (Scoreboarding) Introducere n tehnici de re-denumire registre Planificare dinamic a instruciunilor (Algoritmul lui Tomasulo) Reducerea costurilor prin predicia ramificrilor, predicie static a ramificrii, predicie dinamic a ramificrii Exemple de arhitecturi (DEC Alpha 21164, Pentium P6, procesoare VLIW/EPIC)

2.

Paralelism la nivelul instruciunilor - fundamente


Exemplificare RISC MIPS64 Etape n execuia instruciunilor MIPS Consideraii privind performanele pipelining Principalele probleme ale conductei - hazarduri Eficiena tehnicilor de pipelining la RISC

4.

ILP tehnici avansate


Planificare pipeline i desfacere bucle (Loop Unrolling) Paralelism realizat de compilator (planificare, loop unrolling, software pipelining) Tomasulo: Loop Unrolling in Hardware Emitere multipl de instruciuni (static): VLIW Predicia dinamic a ramificrilor, execuie speculativ Branch History Table (Branch Prediction Buffer), predictie cu 1 bit si cu 2 biti, Branch target buffer (BTB) Speculaie utiliznd hardware Tomasulo cu speculaie

Coninutul cursului
5.

Bibliografie
1. 2. 3. 4. 5. http://vega.unitbv.ro/~romanca D.A. Petterson and J. L. Hennessy, Computer Architecture A Quantitative Approach, 4th ed., Morgan Kaufmann, 2007 M. Romanca, Arhitectura microprocesoarelor, Editura Universitii "Transilvania" din Braov, 2004 W. Stallings Computer Organization and Architectures Seventh edition, 2006 Baer J.L., Microprocessor Architecture, From simple pipelines to chip multiprocessors, Cambridge University Press, ISBN-13 978-0-521-76992-1, 2010
6

Ierarhia memoriei cache


Tehnici de mbuntire acces L1 cache Optimizri pentru micorare laten Tehnici de organizare multi-nivel

6.

Arhitectura procesoarelor digitale de semnal (DSP)


Exemplificare DSP: DSP de la Texas Instruments DSP seria C6000 de la TI Memoria interna, sistem IO, pipelining, registre de control, sistem de intreruperi

EVALUARE
Forme de evaluare Examen Seminar Evaluare Procent din nota final 60%

LABORATOR
Lucrri cu ajutorul sistemului de dezvoltare Spartan, cu FPGA
Dezvoltarea pe o platforma pe baza de MC a unei serii de 6 lucrari de laborator care abordeza: Introducerea mediului de dezvoltare Xilinx EDK Lucrul cu perifericele de IO de uz general Circuite Timer - Counter Comanda monitorului, afiare, Lucrul cu mai multe zone de memorie pentru imagini

Scris i oral

Laborator

Evaluare activitate laborator i tem de cas

40%

Proiect

n cadrul laboratorului studenii vor avea de proiectat i implementat o tem de cas, pe baza modulului de dezvoltare Spartan-3E FPGA
7 8

Dou direcii pentru creterea performanelor


mbuntirea tehnologic i Perfecionarea arhitecturilor
Densitatea de integrare era de aproximativ un miliard de tranzistoare echivalente pe chip, la nivelul anului 2006 Specialitii au constatat c aproximativ 65% din creterea de performan a calculatoarelor se datoreaz progreselor arhitecturale i doar 35% progresului tehnologic.
9

Piaa microprocesoarelor / microcontrollerelor


Desktop
Exemple: PC, staii de lucru Metrici: laten (grafic i sistem de IO)

Servere furnizeaz servicii de fiiere i calcul


Exemple : server Web, server baz de date, server LAN Metrici: throughput, fiabilitate, scalabilitate

Sisteme Embedded (sisteme cu procesor nglobat)


Exemple: telefon celular, PDA, cuptor cu microunde, camer video digital Metrici: complexitate, putere redus, laten

Piaa embedded este cea mai mare ! Procesor Embedded = Un procesor programabil a crui interfa de programare nu este accesibil utilizatorului final i care realizeaz un set restrns de funciuni dedicate aplicaiei specifice.
10

Piaa microprocesoarelor / microcontrollerelor


Caracteristica
Pre sistem. Pre MP/MC (pe procesor)

ARHITECTURA CALCULATORULUI
Arhitectura: abstractizare a proprietilor unui calculator Arhitectura de calculator (procesor) include:
1. Arhitectura setului de instruciuni ISA (Instruction Set Architecture) 2. Implementare, cu dou componente: Organizare Hardware
12

Desktop
500-5.000 USD 50-500 USD

Server
5.000-5.000.000 USD 200-10.000 USD server Web, server baz de date, server LAN - furnizeaz servicii de fiiere i calcul Throughput, availability, scalability

Embedded
10-100.000 USD 0,01-100 USD

Exemple

PC, staie de lucru, notebook

telefon celular, PDA, cuptor cu microunde, camer video digital

Constrngeri critice la proiectarea sistemelor

Pre / performan, Laten grafic i IO

Pre, putere, performa pentru aplicaii specifice


11

Arhitectura Setului de Instruciuni


Interfa ntre hardware i software. ISA trebuie cunoscut de programator pentru a scrie programe n limbaj de asamblare, sau pentru a concepe i construi un program de tip compilator, ori rutine destinate sistemului de operare . ISA permite ca dou maini diferite (implementare, costuri i performane diferite), dar cu acelai ISA, s ruleze aceleai programe.

Implementare
Organizarea (microarhitectur) include aspectele de nivel nalt ale proiectului; exemple:
Numrul, tipul i localizarea unitilor funcionale; Descrierea setului de registre; Structura pipeline a cii de date; Ierarhia memoriei, localizarea i configuraia memoriei cache.

Hardware se refer la aspectele specifice de implementare ale mainii. Include proiectul de detaliu al logicii, tehnologia semiconductoare utilizat, tipul de capsul.

13

14

Sisteme Embedded Actuale


MP/MC performante Multiprocesoare ce ruleaz milioane de linii de cod Timp real Putere consumat redus

Paralelism (surse i utilizare)


Paralelismul se poate implementa la diferinte niveluri de abstractizare:
ILP (Instruction-level parallelism) DLP (Data-level parallelism) TLP (Task-level parallelism)

15

16

Paralelism (surse i utilizare)


ILP (Instruction-level parallelism) exploatat de microprocesoarele moderne. Conform numelui, paralelismul apare la nivelul execuiei instruciunii:
Load Stores Operaii ALU

Paralelism (DLP)
DLP (Data-level parallelism) paralelismul la nivelul datelor se obine atunci cnd fiecare procesor realizeaz aceeai sarcin de lucru (task) pe segmente diferite ale datelor Exemplu (pseudocod care aplic o operaie arbitrar, foo, asupra fiecrui element din matricea d):
if CPU = "a lower_limit := 1 upper_limit := round(d.length/2) else if CPU = "b" lower_limit := round(d.length/2) + 1 upper_limit := d.length for i from lower_limit to upper_limit by 1 foo(d[i])
18

ILP nu este vizibil n codul surs i nu poate fi influenat de programator

17

Paralelism (TLP)
Paralelismul la nivel de task - se aloc task-uri diferite executate n paralel pe procesoare diferite. Exemplu (pseudocod care efectueaz dou task-uri (A i B) pentru 2 elemente de procesare: a i b:
. if CPU="a" then do task "A else if CPU="b" then do task "B end if...

Procesare paralel
Procesare paralel = task-uri de prelucrare simultan a datelor Prin prelucrarea concurent a datelor crete viteza de prelucrare, dar cresc i costurile sistemului. Criterii de clasificare procesare paralel:
Organizare intern a procesoarelor Structura de interconectare dintre elementele de procesare Calea fluxului de informaie prin sistem (taxonomia lui Flynn consider numrul de instruciuni i fluxuri de date simultane)

19

20

CALCULATOARE MULTI-PROCESOR
Sisteme de calcul care constau din mai multe uniti de procesare conectate printr-o reea de interconectare i care includ software de sistem pentru coordonarea i sincronizarea unitilor de procesare care lucreaz mpreun Unitile de procesare pot comunica i interaciona ntre ele utiliznd:
sisteme de memorie partajat transmitere / recepie de mesaje care au i rol de sincronizare

CALCULATOARE MULTI-PROCESOR
Avantaje calculatoare multi-procesor:
creare de calculatoare puternice prin conectarea mai multor procesoare viteza de lucru mai mare a calculatorului multiprocesor, dect a unuia uni-procesor cost mai redus, dect construcia unui uni-procesor cu aceleai performane de vitez toleran la greeli / defecte (chiar dac performanele scad la cderea unuia dintre procesoare)

Reeaua de interconectare pentru sistemele cu memorie partajat poate fi de tip


hardware (bazat pe magistrale) software (bazat pe comutare - switch)
21

22

Utilizare paralelism funcional


Paralelismul existent poate fi utilizat de ctre
architectur - arhitecturi cu exploatare ILP compilatoare -compilator paralel optimizator sistem de operare - multitasking

Tehnici paralele de baz


Pipelining (paralelism n timp)
organizarea unei secvene de uniti funcionale care realizeaz o prelucrare singular un numr de pai pentru fiecare prelucrare

Multiplicare (paralelism n spaiu)


un numr de uniti funcionale care realizeaz mai multe prelucrri de acelai tip simultan
mai multe procesoare mai multe memorii mai multe ALU

mai multe sisteme de calcul


23 24

Principalele metode utilizate pentru implementare ILP i efectul de reducere

Procesare paralel
Clasificarea lui Flynn evideniaz caracteristicile comportamentale ale sistemelor de calcul i nu structura operaional i interconexiunile interne. Clasificarea lui Flynn consider fluxuri de date i fluxuri de instruciuni concurente:
Single instruction stream, single data stream (SISD) Single instruction stream, multiple data stream (SIMD) Multiple instruction stream, single data stream (MISD) Multiple instruction stream, multiple data stream (MIMD)

25

26

SISD
Instruciunile sunt executate secvenial, iar sistemul poate, sau nu, s aib capaciti interne pentru paralelism. n acest caz, procesarea paralel se poate obine prin uniti funcionale multiple, sau prin procesare pipeline.
Control Unit
Instruction stream (IS)

SIMD
Organizarea SIMD include mai multe uniti de procesare ce lucreaz sub supervizarea unei uniti de control Toate elementele de procesare execut aceeai instruciune, prelucrarea fiind efectuat pentru date diferite. Varianta care folosete unitate de memorie partajat trebuie s conin ci de comunicaie pentru ca toate elementele de prelucrare s lucreze simultan.

SISD

Processing Unit
Data stream (DS)

Main memory

27

28

SIMD cu memorie paratajat


Control Unit IS Processing Unit 1 DS 1 Processing Unit 2 DS 2 Interconnection network Shared memory Processing Unit N DS N

SIMD cu memorie ne-partajat


Local Mem. Control Unit IS Processing Unit 1 DS 1 Local Mem. 1 Processing Unit 2 DS 2 Local Mem. 2 Interconnection network Processing Unit N DS N Local Mem. N

29

30

MISD
MISD din cadrul acestei clasificri este deocamdat doar o structur teoretic. Nu exist sistem practic, comercial, construit cu aceast organizare

MIMD
Organizarea MIMD se refer la calculatoare capabile s ruleze mai multe programe n acelai timp. n aceast categorie includem cele mai multe dintre sistemele multi-procesor sau multi-calculator actuale.

31

32

MIMD with shared memory


Control Unit 1 IS 1 Processing Unit 1 DS 1 Local Mem. 1 Local Mem. 2 IS 2 Processing Unit 2 DS 2 Local Mem. N Control Unit 2 Control Unit N IS N

MIMD with non-shared memory


Control Unit 1 IS 1 Control Unit 2 IS 2 Processing Unit 2 DS 2 Local Mem. 2 Local Mem. N Control Unit N IS N Processing Unit N DS N

Processing Unit N DS N

Processing Unit 1 DS 1 Local Mem. 1

Interconnection network

Shared memory
33

Interconnection network
34