Sunteți pe pagina 1din 18

SISTEME CU MICROPROCESOARE (EM)

Denumirea disciplinei :

ARHITECTURA MICROPROCESOARELOR (EA)


Grad didactic, titlul, prenume, numele Conf.univ.dr.ing. Adrian FLOREA E-mail: adrian.florea@ulbsibiu.ro, florea_daa@yahoo.com, http://webspace.ulbsibiu.ro/adrian.florea/html/

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

Obiective / (I) CE urmrim?

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

vedere informativ ct i formativ bazat pe dezvoltarea de aplicaii.

Computer Science and Electrical Engineering Adrian FLOREA

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

Competene specifice disciplinei

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

Computer Science and Electrical Engineering Adrian FLOREA

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.

(II) DE CE un curs de SISTEME CU MICROPROCESOARE (Arhitectura Calculatoarelor) ?

Regula 90 / 10, Legea lui Moore, Legea lui Amdahl, principiul de localitate (temporal, spaial, a valorii), reutilizabiltatea codului

Computer Science and Electrical Engineering Adrian FLOREA

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.

Provocri sociale majore:


o Reducerea consumului de energie consumat Sistemele de calcul i n special centrele de stocare a datelor serverele browserelor web (Data centers) consum aceeai cantitate de energie ct aviaia civil (aproximativ 1.5% - 2% din totalul energie mondiale din anul 2010). n medie, o simpl interogare pe Google, produce 7g de CO2, iar un sistem desktop care este pornit timp de o or degaj 60g de CO2. Turbine masive eoliene inteligente2 interconectate furnizeaz noi surse de energie electric. Acestea reprezint sunt una dintre cele mai mari surse de energie electric pe an, care nlocuiete energie electric produs prin arderea unor cantiti mari de crbune. Astfel, rezult o economisire a energiei i un aer mai curat. Noile aplicaii solicit mai multe resurse hardware: Windows 7 + Office 2010 necesit de 70 de ori mai mult memorie (RAM) dect Windows 98 + Office 2000 pentru a scrie exact acelai text sau pentru a trimite exact acelai mesaj electronic dect acum 10 ani. o Folosirea tehnologiilor avansate pentru mbuntirea sistemului de sntate Dispozitive de monitorizare i asistare n procesul de vindecare. Operaii la distan Dezvoltarea de echipamente performante pentru identificarea cu precizie a diferitelor boli (cancer, etc) n faz incipient Accelerarea procesului de dezvoltare i personalizarea medicamentelor / tratamentelor n funcie de genomul fiecruia, creterea imunitii la anumite boli o Asigurarea unui regim de via decent persoanelor vrstnice sau cu handicap Implementarea conceptului de cas inteligent i automatizarea activitilor casnice Utilizarea roboilor umanoizi pentru ntr-ajutorare o Contribuia CTI la transport i mobilitate Mobilitatea oamenilor reprezint un factor critic al societii moderne. Desfurarea n condiii de siguran, vitez i transport ieftin poate avea loc: prin optimizarea i controlul traficului terestru / aerian sau, prin folosirea autovehiculelor autonome (conduse singure) sau,
2

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.

Computer Science and Electrical Engineering Adrian FLOREA

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.

Computer Science and Electrical Engineering Adrian FLOREA

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.

Computer Science and Electrical Engineering Adrian FLOREA

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.

(III) CE este Arhitectura Calculatoarelor?

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

celulare, tablete de tip IPad)


Sisteme de calcul de uz general de tip Desktop sau mobile (Laptop) Sisteme de calcul dedicate (Embedded Computers) Servere comerciale (internet) Clustere / depozite de calculatoare (zeci de mii de servere) Aplicaii cu caracter tiinific, industrial, de aprare Prerequisites: Computing Hardware (i.e. Basic Digital Logic, Computer Arithmetic), C Programming are required. LINUX, Compilers are a plus, not needed. On the other hand, we do assume that the student is able and highly motivated to learn and has the energy to support that motivation.

(IV) STRUCTURA cursului


TEMATICA CURSURILOR Nr. crt. Denumirea temei Nr. ore 1. Introducere in problematica microarhitecturilor de procesare a 3 informaiei. Evoluia i clasificarea sistemelor de calcul. Conceptul de calculator omniprezent. Structura unui microsistem de calcul. Rolul blocurilor componente i interaciunea acestora: microprocesor Coninutul tematic (descriptori) 2. (decodificatoare / multiplexoare / sumatoare / uniti aritmeticologice, regitrii), memorii, interfee, periferice, bus-uri de interconectare, semnale de comenzi i stri, ntreruperi. Instruciuni, cicli canonici, stri. Probleme ale comunicrii microprocesor memorie. Memorii DRAM, SRAM, EPROM. Moduri de transfer intre microprocesor si dispozitivele periferice (interogare / intrerupere / DMA). Rolul stivei in tratarea intreruperilor imbricate. 3

Computer Science and Electrical Engineering Adrian FLOREA

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

Computer Science and Electrical Engineering Adrian FLOREA

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

alegerea limbajului; depanarea, testarea si incarcarea codului in memoria EPROM.

Computer Science and Electrical Engineering Adrian FLOREA

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

Computer Science and Electrical Engineering Adrian FLOREA

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

hardware a microprocesoarelor RISC (probl. 24, 29 (a, b) i 50


cap.11 [3]). Proiectarea caii de date si a caii de control a

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]).

Computer Science and Electrical Engineering Adrian FLOREA

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.

Computer Science and Electrical Engineering Adrian FLOREA

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.

TEMATICA SEMINARIILOR/LABORATOARELOR/PROIECTULUI 1. Exemplificare de sisteme cu microprocesoare / 2

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.

Computer Science and Electrical Engineering Adrian FLOREA

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.

Computer Science and Electrical Engineering Adrian FLOREA

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.. -

Stabilirea notei finale (procentaje)

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%

Computer Science and Electrical Engineering Adrian FLOREA

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.

Computer Science and Electrical Engineering Adrian FLOREA

18