Documente Academic
Documente Profesional
Documente Cultură
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.
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.
4.
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
6.
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
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
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
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
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
15
16
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
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)
22
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
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
Processing Unit N DS N
Interconnection network
Shared memory
33
Interconnection network
34