Documente Academic
Documente Profesional
Documente Cultură
Denumirea disciplinei :
Coordonator de Disciplin
1. Dobndirea principalelor cunotine i nelegerea conceptelor de baz referitoare la sistemele cu microprocesoare, abordate prin prisma unui sistem unitar interactiv la nivelul
hardware-software. 2. Cunoaterea principiilor de proiectare, modelare i simulare n vederea optimizrii microarhitecturilor de procesare a informaiei.
3. Abordarea microarhitecturilor de calcul att din punct de
Grila de competene asigurat prin specializarea la nivel licen:( http://www.rncis.ro/ ) Electromecanic (EM): o C2 Operarea cu concepte fundamentale din tiina calculatoarelor i tehnologia informaiei o C5 Automatizarea proceselor electromecanice Electronic aplicat (EA): o C3 Aplicarea cunotinelor, conceptelor i metodelor de baz privitoare la arhitectura sistemelor de calcul, microprocesoare, microcontrolere, limbaje si tehnici de programare o C4 Proiectarea si utilizarea unor aplicaii hardware i software de complexitate redus specifice electronicii aplicate
1.
Cunoatere i nelegere: nelegerea principiilor de baz ale structurii sistemelor de calcul in general i a sistemelor cu microprocesoare in particular. nelegerea simbiozei microprocesor-compilator. Identificarea principalelor componente ale unui sistem de calcul. nelegerea fluxului datelor si a celui de control in cadrul unui microprocesor. nelegerea necesitii unui sistem ierarhic de memorie. Abordarea cantitativ a proiectrii i analizei sistemelor de calcul pe baza observaiei empirice a programelor1, experimentare i utiliznd instrumente de simulare.
nelegerea modelului de execuie von Neumann, (componentele modelului i ciclul instruciunii) aferent unei microarhitecturi de calcul, a limbajului de asamblare propriu. Cunoaterea interfeei cu tastatura i monitorul, a apelurilor sistem (ntreruperi software reprezentnd servicii ale sistemului de operare prin instruciuni dedicate), modurile de adresare pentru instruciunile cu referire la memorie (load / store), mecanismul de apel i revenire din subrutin.
2
2. Instrumental aplicative
Scrierea de programe in limbaj de asamblare aferent microprocesoarelor MIPS, DLX. Simularea arhitecturilor superscalare cu accent pe sistemul ierarhic de memorie, pe performana de procesare i pe consumul de putere. Optimizari software in vederea reducerii ratei de miss in cache. Concluzii i interpretri ale rezultatelor simulrilor. Rezolvarea unor probleme de proiectare folosind circuite de memorie, regitrii, automate programabile. Rezolvarea problemelor ce implic memorii cache, graful dependenelor de date ntre instruciuni, timpul de aducere i execuie a unei instruciuni. Scrierea de programe in limbajul de programare C. Compilarea si incarcarea programelor pe microcontrollerul PIC32MX460F512L. Crearea de aplicatii de transfer pe interfete de comunicatii seriale USART, SPI, I2C. Implementarea unei interfee grafice de control al sistemului integrat dintr-un PC n limbajul C# (WPF). Aplicaii cu porturile microcontrolerului PIC32MX460F512L.
Regula 90 / 10, Legea lui Moore, Legea lui Amdahl, principiul de localitate (temporal, spaial, a valorii), reutilizabiltatea codului
Scopul principal al tiinei calculatoarelor i tehnologiei informaiei (CTI) l reprezint realizarea unei lumi mai bune pentru fiecare dintre noi, creterea nivelului de trai folosind toat gama de sisteme de calcul moderne (calculatoare desktop/laptop, servere i centre de procesare date de nalt performan, tablete, smartphone i alte dispozitive portabile multimedia, sisteme dedicate, etc). Pentru a aborda provocrile tehnice ale sistemelor de calcul trebuie discutate i analizate care sunt provocrile sociale majore, constrngerile tehnologice, oportunitile n dezvoltarea economic i afaceri, caracteristicile aplicaiilor viitorului, ntruct toate acestea au ca suport sistemele de calcul.
Turbinele sunt comandate automat adaptndu-se n timp real prin intermediul microcontrollerelor care monitorizeaz i modific pasul paletelor turbinei, viteza de rotaie n funcie i de modificari ale condiiilor de vnt, temperatur, vibraii.
prin evitarea anumitor cltorii implementndu-se ntlniri virtuale (tele/video - conferine). o Asigurarea siguranei persoanelor Protejarea persoanelor n cazul defectrii mijloacelor de transport Implementarea de tranzacii electronice (bancare) sigure Pstrarea intimitii (securitii) individului ntr-o societate bazat pe comunicare i apartenen la diverse reele sociale
Constrngeri tehnologice:
o Din punct de vedere economic durata de via a software-ului este mult mai mare dect cea a hardware-ului Utilizatorii sunt tentai s adapteze / s achiziioneze sisteme hardware care s le ruleze aplicaiile software complexe dorite. Sistemele noi hardware, dei mai performante (mai multe nuclee de procesare, set de instruciuni extins) nu sunt exploatate eficient dect de ctre cele mai noi aplicaii software (caracterizate de un grad de paralelism mai mare). Portarea aplicaiilor software existente (dorite) pe ultimele sisteme hardware poate fi extrem de scump i de multe ori conduce la instabilitatea sistemului. o Puterea consumat definete (influeneaz) performana Pn recent, dublarea numrului de tranzistori integrai n circuit enunat prin Legea lui Moore, era nsoit de reducerea nivelului tensiunii de alimentare a circuitului, asigurnd o putere consumat relativ stabil. Din nefericire, reducerea tensiunii de alimentare are ca efect secundar creterea puterii statice care compenseaz (n mod negativ) reducerea puterii dinamice (de comutare) reducerea nivelului tensiunii de alimentare nu mai este eficient. Pentru pstrarea puterii consumate n limite acceptabile, este probabil ca n cazul procesoarelor multicore, doar o parte din nuclee vor fi active (alimentate cu energie). Dac nu sunt folosite toate nucleele atunci nu are sens ca sistemul multicore s aib toate nucleele identice microarhitecturile serverelor i al sistemelor embedded tind s fie heterogene. o Transferul datelor influeneaz performana. Comunicaia (preluarea datelor) n sistemele multicore Se disting trei tipuri de transfer date: (i) dintre procesor (CPU) i sistemul ierarhic de memorie. Memorie mare timp de acces ridicat soluie memorii cache (cost) (ii) dintre procesoarele din sistemul multicore (CPU1) ...(CPUn) Numr ridicat de procesoare interconectarea printr-o singur magistral produce gtuire sunt necesare reele de interconectare (cost) (iii) dintre sistem i mediul exterior (dintre procesor i dispozitivele periferice) n acest caz, att procesorul multicore ct i perifericele contribuie decisiv la costul ntregului sistem Necesitatea i dificultatea scrierii / depanrii aplicaiilor paralele Din pcate cercettorii afirm c doar 10% dintre programatori vor scrie cod cu adevrat paralel, pentru ceilali 90% companiile productoare de procesoare vor dezvolta medii de programare i tools-uri care s paralizeze automat (integral / parial) aplicaiile. Computer Science and Electrical Engineering Adrian FLOREA 5
Principala dificultate n programarea paralel o constituie codul motenit (aplicaiile deja existente care trebuiesc paralelizate pentru a exploata noul hardware). o Relevana timpului n sistemele embedded i n aplicaii care conin task-uri paralele Aplicaii / servicii personalizate, accesate ubicuu, folosind cantiti mari de date O aplicaie bazat pe servicii web (vizibil pe mobil sau pe monitoare / dispozitive inteligente3 acas) efectueaz analiza datelor colectate de la reele de senzori i o ilustreaz n condiii grafice ridicate. Monitorizarea parametrilor ambientali (temperatur, umiditate, iluminat) afereni unei cldiri inteligente echipat cu o reea de senzori alimentai la surse de electricitate ieftine (baterii) sau contoare inteligente (smart meters) n vederea optimizrii consumului de energie. Staiile de reele inteligente (smart grid is IP-based networked) comunic cu sistemul de gestionare a energiei de unde locuim pentru a opri sistemele care nu sunt critice n timpul unui deficit de energie. Sisteme de iluminat public inteligente care se adapteaz i emit cantitatea optim de lumin n funcie de condiiile de trafic, de cele meteorologice, de perioada zilei (zi / noapte).
Tendinele aplicaiilor
o
DE CE SISTEME CU MICROPROCESOARE?
Pentru a nelege cum lucreaz (funcioneaza inside) sistemele de calcul moderne din perspectiv mai ales hardware. Pentru nelegerea tendinelor de dezvoltare viitoare ale sistemelor de calcul. o i s nvm cum s contribuim la acest viitor Pentru a ncerca s rspundem la intrebarea: Ce impact vor avea modificarile hardware asupra sistemelor i aplicaiilor software? o Este esenial s nelegem simbioza dintre microprocesor i sistem de operare / compilator / limbaj de programare; ele trebuie abordate n mod integrator ntr-un sistem unitar hardware-software o O mai bun nelegere a sistemului de calcul la nivel hardware ne va ajuta s scriem aplicaii software mult mai eficiente din punct de vedere al exploatrii resurselor hardware ale sistemului (de ex. pentru a fi exploatate eficient arhitecturile multicore necesit aplicaii paralele).
Aceste display-uri fiind disponibile 24/7 trebuie s combine starea de lucru cu cea de veghe (sleep) pentru a fi energy-saving.
Ce impact vor avea tehnologiile viitoare asupra sistemelor de calcul i asupra vieii cotidiene? (vezi conceptul de ubiquitous computing/ambient intelligence) o medii inteligente bazate pe roboi de serviciu: Aplicabilitate: medicin, biologie, inginerie civil (protecie), divertisment, militar Roboi inspirai de comportamentul i aspectul animalelor, dotai cu inteligen artificial i folosii pentru monitorizarea biodiversitii marine, prevenirea / tratarea scurgerilor de petrol n mare, roboi zburtori pentru survolarea / explorarea cldirilor afectate de incendii, cutremure, roboi de tip arpe care se pot deplasa i insera camere video pentru capturi de imagini din respectivele zone
Roboi umanoizi care ndeplinesc diverse sarcini domestice: acompaniaz persoane n vrst, ghideaz persoanele n muzeu, au rol de barmani sau chelneri. Inteligena artificial precum i camerele web, senzorii de perimetru, microfoanele pentru recunoaterea la distan a vocii i conexiunile de tip Wi-Fi pentru controlul remote le permit acestora generarea de hri, deplasarea pe coridoare, evitarea obstacolelor, unduirea printre cltori, furnizarea de bturi, etc.
Roboi care pot ndeplini sarcini periculoase: scufundarea la mare adncime cu echipamente grele n vederea reparrii de conducte marine, nave avariate; inspectarea etaneizrii rezervoarelor de carburant inflamabil / toxic. Roboi pentru sporirea performanelor oamenilor cu dizabiliti: implantarea de cipuri pe retin pentru mbuntirea vederii; mn bionic, picioare bionice; inserarea de nano-roboi n snge care lucreaz n paralel pentru diagnosticarea / vindecarea celulelor bolnave.
Microprocesorul creierul sistemului de calcul (centrul existentei umane servere http://zamolxe.hpc.ulbsibiu.ro/ganglia/, sisteme de uz general desktop, laptop si sisteme dedicate omniprezente in viata de zi cu
Computer Science and Electrical Engineering Adrian FLOREA 8
zi). Analog cu organismul uman, nu poate funciona singur ci n strns conexiune cu celelalte componente ale sistemului: memorie, sisteme de intrare / ieire, interfee, bus-uri. Tipuri de sisteme de calcul i aplicaii
Dispozitive mobile cu caracter personal / multimedia (PMD telefoane
3.
Modaliti de evaluare a sistemelor de calcul. Metrici de evaluare si alegerea metricilor. Rolul performantei. Evaluare multicriteriala a microarhitecturilor de calcul. Ecuaia de stabilire a performanei procesorului. Legea lui Amdahl. Simulatoare software dedicate microarhitecturilor de calcul. Metodologii de simulare. Platforme de simulare monolitice respectiv modulare (SimpleScalar / UniSim). Clasificare, caracteristici, utilitate (Execution Driven respectiv Trace Driven). Simularea la nivel tranzactional in sistemele many-core. Benchmark-uri standardizate (SPEC, EEMBC). Instrumente software utile in analiza si proiectarea microarhitecturilor (asambloare, link-editoare, debuggere, cross-compilatoare). Proiectare simulatoare (interfata cu utilizatorul si crearea resurselor; nucleul functional al simulatorului; optimizatoare software de cod obiect).
Exemple, aplicatii. 4. Proiectarea sistemului ierarhizat de memorii ntr-o microarhitectura de calcul. Necesitatea ierarhizrii sistemelor de memorii. Localiti temporale i spatiale: caracteristici intrinseci ale programelor n execuie (regula 90-10). Memoria cache definiie, metrici folosite n caracterizare (Rhit, Tacces, Rata de procesare). Tipuri arhitecturale de memorii cache: definitie, structur, regula de mapare, principii de proiectare / implementare. Funcionare dinamic algoritmii de nlocuire a blocurilor conflictuale, strategia de scriere. Folosirea instrumentelor software n evaluarea complexitii i a consumului de putere n microarhitecturi; evaluare bazat pe necesitatea simulrii consumului energetic aferent unui cache (simulatorul CACTI: http://quid.hpl.hp.com:9081/cacti/detailed.y ) 3
10
5.
Metode
de
mbuntire
performanei
cache-urilor.
Optimizari software in vederea reducerii ratei de miss in cache. Coerenta cache-urilor in sistemele multiprocesor. Evidenierea conceptelor legate de cache-uri modul de organizare, regulile de mapare, algoritmii de nlocuire a blocurilor conflictuale, strategia de scriere, optimizari software folosind simulatorul PCSPIM-CACHE. Insistat pe organizare simulator (ferestre Registru / Sesiune / Cache_Instructiuni_Date), vizualizare metrici, limbaj asamblare MIPS. Aplicaii: prima (g_cache.s) are un caracter explicativ cu rolul de a evidentia eficienta memoriilor cache din prisma celor doua principii de localitate: temporala si spatiala. Sunt ilustrate interferentele produse de accesul in aceeasi zona a cache-ului de date din partea a dou tablouri (aflate evident la adrese diferite n memoria principal). A doua aplicaie (cache_loop.s / cache_loop_i.s) se refer la implementarea unei metode software de optimizare care s determine creterea ratei de hit, i anume interschimbarea buclelor. 6. Testare parial din materia parcurs. Seminar de aplicaii. (I) Interogare/Intreruperi/DMA probl. 42, 36, 30 cap.11 [3]; Metrici Cache-uri (rata de hit, timp mediu de acces la memorie) probl. 40, 64 cap.11 [3], probl. cache - Structura sistemelor de calcul [Baruch Zoltan]. 7. Microcontrollere i aplicatii hard-soft. Introducere. Caracteristici arhitecturale specifice. Programarea microcontrollerului: 3 3
11
8.
Microcontrollerul
Philips
80C51.
Organizarea memoriei.
Schema bloc de principiu a unui microcontroller. Setul de instructiuni, moduri de adresare. Structura mecanismelor de intreruperi hardware. Structura interfetelor de I/O. Magistrala de interconectare I2C. Magistrala ACCES.bus. Protocolul CAN (Control Area Network). Placi si softuri de dezvoltare a aplicatiilor. 9. Arhitectura microprocesoarelor RISC. Arhitectura setului de instructiuni (ISA): regitrii procesorului, modurile de adresare, sintaxa asamblor, utilizarea memoriei i convenii de apel, formatul instruciunilor i setul de instruciuni. Optimizarea ISA in vederea facilizarilor compilarilor HLL: formate de instructiuni de lungime fixa, opcode de lungime fixa, permiterea adnotarilor pentru cresterea performantei de procesare prin interactiunea software hardware, determinarea variabilelor de memorie (frecvent folosite) care pot fi stocate in registrii. Simbioza procesor compilator. Generarea codului obiect pentru o arhitectur dat. Implementarea n hardware a funciilor din programele de nivel nalt. Stiva de date aferent funciilor. Transferul parametrilor n cazul apelului. Translatarea codului de la nivel high (C) la nivel low (asamblare). (Cap. 1 [3], Cap. 10 [2]) 3
12
10.
Principiile
arhitecturale
ale
microprocesoarelor
moderne.
Caracteristicile de baz ale modelului RISC. Setul optimizat de instruciuni: diferene MIPS DLX (instruciuni pentru rest, instruciuni de transfer i de salt condiionat). Structura pipeline a microprocesorului (fazele). Avantajele procesrii pipeline.
Implementarea non-pipeline respectiv pipeline a arhitecturii
microprocesorului. Problemele hazardurilor in microprocesoarele RISC: definire, clasificare (structurale, de date, de ramificatii), soluii de evitare a efectelor defavorabile. Principii de proiectare a unitatii de control in vederea detectrii / eliminrii hazardurilor (forwarding, renaming). Optimizarea unitilor secveniale de program i predicia ramificaiilor (probl. Branch prediction Example, pg. 263, cap.3.5
[5], Probl. 3.7, 3.8, pg. 348, cap. 3.15 [5]).
13
11.
Principiile mainilor cu execuie multipla. Consideraii generale. Taxonomii (procesoare superscalare si VLIW). Tehnici de optimizare statica a programelor (locale List Scheduling: Loop Unrolling i Software Pipelining, globale Trace Scheduling). Aplicaii: a) Utilizarea simulatorului WinDLX: configurarea WinDLX, ncrcarea programelor de test, simularea benchmarkurilor, sistemul de ferestre. Investigaii arhitecturale utiliznd simulatorul DLX: benchmark - urile Fact.s, Invers.s, rutina Input.s, probleme propuse spre rezolvare. Evidenierea efectului defavorabil al hazardurilor RAW n cadrul arhitecturilor pipeline scalare asupra performanei de procesare. Modificarea programului de test fact.s i simularea hazardurilor structurale i a conflictelor de nume (WAW). Vizualizarea tehnicii de forwarding ctigul de performan obinut. b) Utilizarea simulatorului VLIW-DLX: ilustrarea principiilor fundamentale ale procesrii VLIW (very long instruction word). Rolul software-lui n detecia i eliminarea hazardurilor RAW. Relaia dintre instruciunea multipl i instruciunile RISC primitive i independente, care vor fi alocate unitilor de execuie n conformitate strict cu poziia lor n instruciunea multipl (numr/latene). Optimizri software in procesoarele VLIW (loop unrolling, software pipelining). Avantaje / Dezavantaje fa de procesoarele superscalare. Aplicabilitate sisteme dedicate (procesoare de semnal, procesoare multimedia). Aplicaie rezolvat execuia pe un procesor VLIW a unui program care nmulete dou matrici ptratice.
14
12.
Principiile mainilor cu execuie multipla. Consideraii generale. Modele si algoritmi de procesare a instruciunilor in microprocesoarele superscalare (in order / out of order). Resurse arhitecturale implicate. Influena caracteristicilor arhitecturale specifice procesoarelor RISC superscalare asupra consumului de putere i respectiv asupra performanei. Predictorul de salturi una din principalele cauze care determin consum ridicat de putere n arhitecturi. Evidenierea efectului negativ al prediciei greite a instruciunilor de ramificaie att asupra vitezei de execuie a procesorului ct i asupra energiei consumate (simulatorul PSATSim). Seminar de aplicaii. (II) Problematica hazardurilor in microprocesoarele pipeline. Graful dependentelor de date, timpul de executie al unui program inainte si dupa optimizare (renaming, forwarding) probl. 7, 8, 2, 23, 28 cap.11 [3]. Recapitulare finala. Parcurgerea conceptelor esentiale.
13.
microcontrollere folosite n industrie. Avantajele utilizarii sistemelor dedicate fa de cele universale. Prezentare a conceptelor fundamentale din teoria sistemelor i cu microprocesoare. Asemnri / deosebiri microprocesoare vs. Microcontrollere. Noiuni introductive prezentarea general structurii laboratorului.
15
2.
Prezentare general a mediului de lucru i instalarea instrumentelor hardware / software folosite n dezvoltarea de proiecte cu microprocesoare. Prezentare plac de dezvoltare EasyPic Fusion. Prezentare microcontroller
PIC32MX460512L. Prezentare MicroC Pro for Pic32 IDE. Implementarea, compilarea i ncrcarea programului de test Hello PIC pe microcontrollerul PIC32MX460F512L. Testarea funcionrii. Utilizarea bibliotecilor din MicroC. 3. Instalare Visual Studio 2010. Introducere n C#, lucrul n consol, exerciii de conversie binar, blocuri de decizie. Introducere n programarea orientat obiect (POO), lucrul cu clase i obiecte, necesare pentru crearea de interfee vizuale (WPF). Utilizare controale de tip Textbox, Listbox, Button,etc. 4. Realizarea comunicrii ntre interfaa grafic i 2 microcontroller prin interfaa serial. Vizualizare process i crearea unui protocol de comenzi. Prezentarea noiunilor de socket, accesul la interfaa serial din C# i transferul datelor dinspre microcontroller ctre PC. 5. Prezentare Timere: noiuni generale de funcionare a timerelor, configurarea i utilizarea acestora. Prezentare mod de funcionare intern al timerelor n cadrul arhitecturii sistemului cu microcontrollere i exemplificarea utilitii acestora n proiecte viitoare. Utilizarea ntreruperilor generate de timere i folosirea lor pentru gestiunea taskurilor ntr-un sistem. 6. 7. Evaluare parial a cunotintelor. Interfee de comunicare receive serial: UART (universal 2 2 4 2
asynchronous
transmit),
I2C
(Inter-Integrated
Circuit), SPI (Serial Peripheral Interface). Introducere n modul de funcionare i descrierea detaliat a acestora la nivel fizic.
16
8.
Comunicaie serial: detaliere i proiectarea unui sistem complex de mesaje pe LCD ce ilustreaz starea unui PC. Aceast lucrare va presupune mbinarea tuturor cunotinelor de pn acum n crearea unei monitorizri simpliste a unui sistem. Generare de date i feedback. Construcie minisistem de operare ce administreaz un system timesharing a task-urilor microprocesorului. Se va creea un sistem de administrare a unor apeluri de funcii n funcie de timpul de acces i de prioritatea acestora.
9.
10.
Salvarea de date primite din aplicaia C# n memoria Flash. Se va ncerca s se creeze un sistem de partiionare al memoriei, pentru a putea indexa rapid locaia unui fiier. Aplicaii cu LCD-ul grafic: desenare forme. Se va creea o interfa grafic n C# de desenare, ce va transmite desenul prin interfaa serial microcontroller-ului. Acesta din urm va afia desenul pe LCD-ul plcii de dezvoltare. Evaluare practic privind materia studiat la laborator. 50 20 30
11.
12.. -
rspunsurile la examen/colocviu(evaluare final) teste pe parcursul semestrului rspunsurile finale la lucrrile practice de laborator activitai gen teme/referate/eseuri/traduceri/proiecte etc. teme de control alte activitti(precizai) .. - TOTAL
100%
17
Bibliografia
Minimal obligatorie: 1. Vinan Lucian Organizarea i proiectarea microarhitecturilor, http://webspace.ulbsibiu.ro/lucian.vintan/html/Organizarea.pdf. 2. Florea Adrian Introducere n tiina i Ingineria Calculatoarelor. Interfaa Hardware Software, Editura Matrix ROM, Bucureti, ISBN 978-973-755264-8, 2007 (313 pg.). 3. Florea Adrian, Vinan Lucian Simularea i optimizarea arhitecturilor de calcul n aplicaii practice, Editura Matrix ROM, Bucureti, ISBN 973-685605-4, 2003 (443 pg. + CD atasat). 4. Florea Adrian Predicia dinamic a valorilor n microprocesoarele generaiei urmtoare, Editura MatrixROM, Bucuresti, ISBN 973-685-980-0, 2005, (413 pg. + CD atasat). 5. Patterson David, Hennessy John Computer Architecture: A quantitative Approach, Morgan Kaufmann Publishers, Fourth Edition, 2007. Complementar: 6. Patt Yale, Patel Sanjay Introduction to Computing Systems: from bits & gates to C & beyond, McGraw-Hill Higher Education, 2001. 7. Patterson David, Hennessy John Computer Organisation and Design: The Hardware/Software Interface, Third Edition, Elsevier, 2005, ISBN: 1-55860604. 8. Baruch Zoltan Francisc Structura sistemelor de calcul, Editura Albastra Cluj Napoca, 2005, ISBN 973-650-143-4. 9. M. Duranton et al. The HiPEAC Vision, HiPEAC Roadmap, 2010, http://www.hipeac.net/system/files/hipeacvision.pdf .
Pentru detalii suplimentare legate de instrumente software utile n analiza i proiectarea microarhitecturilor a se vedea capitolul 3 din lucrarea 4 Predicia dinamic a valorilor n microprocesoarele generaiei urmtoare din bibliografia obligatorie prezentat n cursul introductiv i n fia disciplinei.
18