Sunteți pe pagina 1din 34

1. Porti logice.

Circuite digitale O poarta logica realizeaza operatii logice cu una sau mai multe intrari logice si produce o singura iesire logica. Functionarea unei porti logice este descrisa de logica Booleana. Portile logice sunt implementate electronic utilizand diode sau tranzistoare dar se pot realiza implementari cu relee, implementari hidraulice sau pneumatice, optrice sau chiar mecanice. Portile logice pentru magistrale permit conectarea mai multor iesiri impreuna Exista doua modalitati de implementare: - Iesire cu Colector in gol - Iesire de tip Trei stari Portile logice de tip trei stari ( three-state, tri-state sau 3-state) permit 3 stari de iesire: 0 logic, 1 logic si Z. Starea Z se numeste stare de inalta impendanta si semnifica deconectarea interna a iesirii. Astfel devine posibila conectarea impreuna la o magistrala a mai multor iesiri, fara a afecta buna functionare a circuitului. 2. Circuitul registru.Tipuri de registre Registrul este o unitate ( o locatie) de memorare foarte rapida in interiorul procesorului destinata stocarii variabilelor la un moment dat. Majoritatea calculatoarelor moderne opereaza pe principiul aducerii datelor din memorie in registrii interni, operarea asupra datelor si transmiterea datelor prelucrate inapoi in memorie: (load-store architecture). Registrii au cel mai scurt timp de acces. Tipuri de registre : Registrii de date sunt utilizati pt. a memora date (numere) de tip intreg sau in virgula mobila. Un registru de date special este registrul acumulator, registru implicat in numeroase operatii. Registri de adrese sunt destinati accesarii memoriei fizice. In unele tipuri de microprocesoare exista Registri index utilizati mai degraba pt. a calcula adresa decat pt. a memora adreasa fizica. Registrii de conditii memoreaza valori de adevar care adesea determina cand se executa sau nu se executa o instructiune . Registri de uz general,General purpose registers, ( GPRs) pot stoca atat date cat si adrese. Floating point registers ( FPRs) sunt utilizati pt. a stoca numerele in virgula mobila in multe tipuri de arhitecturi. Constant registers registri utilizati pt. a se citi valori constante ( zero, one, pi, ...). Vector registers stocheaza date pentru procesarea vectoriala in cazul instructiunilor SIMD (Single Instruction, Multiple Data). Registri Speciali memoreaza starea programului; de obicei ei sunt: program counter ( pointerul de instructiunui), stack pointer (pointerul de stiva), and status register (registrul sau cuvantul de stare). Instruction registers contine instructiune curenta (instructiunea care se executa). Index registers este utilizat pt a modifica operandul adresa.

3.Registru de tip serie-registru de deplasare

4. Registrul de tip serie paralel

5.Unitatea aritmetica logica (ALU) Unitate aritmetica Logica efectueaza operatii aritmetice ( adunare, scadere, etc. ) sau logice ( si sau exclusiv, etc). Sunt structuri fundamentale in componenta procesoarelor. Procesoarele moderne pot avea mai multe nuclee si fiecare nucleu contine mai multe unitati logico aritmetice. Implementarea ALU pe 2 biti Unitate aritmetico logica capabila sa realizeze operatiile: SI, SAU, SAU EXCLUSIV si adunare pe 2biti. 6. Operatii complexe.Moduri de implementare a operatiilor complexe. Se pot proiecta ALU care sa execute operatii ori cat de complexe intr-un singur pas Daca operatia este foarte complexa unitatea va contine multe elemente, va fi foarte scumpa si va disipa multa energie Exemple operatii complexe: extragere radacina patrata, functii trigonometrice, exponentiala, etc. Moduri de implementare a operatiilor complexe: 1 - executia intr-un singur pas 2 executia iterativa in mai multi pasi (divizare op. complexe in micro-coduri

3 utilizarea unor ALU simple de cost redus si pt. operatii complece utilizarea de coprocesoare specializate cu ALU de tip 1 sau 2. 4 emulare co-procesor se testeaza existenta coprocesorului, daca exista acesta executa operatiile complexe, daca nu exista se genereaza o intrerupere (exceptie) si operatia complexa se rezolva soft prin apelarea unor rutine ale sistemului de operare 5 nu exista co-procesor, operatiile complexe se rezolva soft prin apelarea unor rutine din biblioteca aplicatiei Consecinte : Primele obtiuni sunt cele mai rapide si scumpe, ultimele sunt lente dar ieftine Microprocesoarele ieftine pot executa operatti complexe dar necesita un timp indelungat

7.Unitati de adunare : celula de baza Unitate de adunare pe 1 bit

Unitate de adunare de tip ripple carry pe 4 bit

Avantaj: Circuite simple

Dezavantaj: Pt a realiza un sumator pe 32 biti vor exista 31 unitati pt calculul transportului a cate 2 porti fiecare, in total intervenind 31*2+1=63 porti in cascada. Frecventa maxima este limitata de timpul de propagare prin 63 porti. Unitate de adunare de tipCarry Look Ahed:

Avantaj: Timpul de propagare scade semnificativ Dezavantaj: Numarul de porti necesare creste cu patratul numarului de biti, O(n 2), numarul de intrari pe o porta depinde de numarul de biti deci numarul total de tranzistoare depinde de cubul numarului de biti, O(n 3 ), deci aria necesara creste rapid cu numarul de biti Unitati de adunare complexe: Pt. a limita cresterea excesiva a nunarului de tranzistoare in general se construiesc unitati de adunare de 4 biti Unitati de 16 biti pot fi obtinute prin conectarea a 4 celule de adunare pe 4 bit (cresterea numarului de tranzistoare este liniara) Unitati de 64 biti se obtin prin conectarea celulelor de 16 biti 8. Reprezentarea numerelor in calculator Reprezentarea numerelor positive: Reprezentarea numerelor ntregi pozitive n baza 2 este bine cunoscut. Reprezentarea unui numar K in baza 2 se poate simboliza sub forma unui ir de 'n' cifre binare 'c i= 0' sau 'ci= 1' unde indexul 'i' are valori cuprinse ntre 0 si n-1.

cn 1cn
1

c1c0
2

cn

2n

cn

2n

c1 2 c0

Pentru transformarea numrului K n binar se realizeaz imprtirii numarului K la 2 respectiv a cturilor rezultate din impririle anterioara la 2 pana cnd ultimul ct devine 0. Codul binar este reprezentat de resturile mparirilor luate n succesiune i nvers apariiei acestora. Reprezentarea numerelor fractionare,fixa: Reprezentarea in binar a numerelor fractionare se realizeaza dup modelul zecimal. Pentru nceput vom considera un numr zecimal a crui parte ntreag este 0. Reprezentare in binar se va simboliza:

0. c 1c

m 1

Calculul unui numr fracionar pornind de la reprezentarea sa binar este:

c1 2

m 1

m 1

c m2

Partea fractionar este utilizat pentru generarea urmatorelor cifre binare repetand procedura prezentat anterior. Prima cifra a reprezentrii binare a unui numr pozitiv fracionar subunitar este partea ntreg a produsului dintre numarului dat si 2. Reprezentarea numerelor cu semn (pozitive si negative)

Mai multe metode de reprezentare: Semn marime Complement de 1 Complement de 2 Utilizarea unui bias (in cazul reprezentarii exponentului numerelor in virgula mobila)

9.

Formatul numerelor in virgula mobile

Bitul de semn (0 numere pozitive, 1 numere negative) Exponentul (e bits) Mantisa (f bits)

10. Arhitectura Harvard

11.

Arhitectura von Neumann

12.Microprocesorul 8086. Primul microproceosr pe 16 bit Adresarea directa a 1Moctet de memorie Adresarea segmentata a memoriei Organizat din doua unitati distincte: - EU unitate de executie - BIU Unitatea de interfata cu magistrala Modelul soft registri microprocesorului (flags) Overflow Flag (OF) - set if the result is too large positive number, or is too small negative number to fit into destination operand. Direction Flag (DF) - if set then string manipulation instructions will auto-decrement index registers. If cleared then the index registers will be auto-incremented. Interrupt-enable Flag (IF) - setting this bit enables maskable interrupts. Single-step Flag (TF) - if set then single-step interrupt will occur after the next instruction. Sign Flag (SF) - set if the most significant bit of the result is set. Zero Flag (ZF) - set if the result is zero. Auxiliary carry Flag (AF) - set if there was a carry from or borrow to bits 0-3 in the AL register.

Parity Flag (PF) - set if parity (the number of "1" bits) in the low-order byte of the result is even. Carry Flag (CF) - set if there was a carry from or borrow to the most significant bit during last result calculation. Organizarea memoriei (Adresarea segmentata a memoriei)

13. Setul de instructiuni.Moduri de adresare Data moving instructions. Arithmetic - add, subtract, increment, decrement, convert byte/word and compare. Logic - AND, OR, exclusive OR, shift/rotate and test. String manipulation - load, store, move, compare and scan for byte/word. Control transfer - conditional, unconditional, call subroutine and return from subroutine. Input/Output instructions. Other - setting/clearing flag bits, stack operations, software interrupts, etc.

Moduri de adresare : Implied Register Immediate Direct. Register indirect. Indexed Based Indexed Based Indexed with displacement

14. Acessul direct la memorie Este o facilitate care permite perifericelor de a accesa direct memoria fara interventia unitatii centrale Controlerul de disc (hard disk, floppy disk, CD, DVD), placa grafica, placa de retea, placa de sunet au acces DMA Procesorul initiaza transferul si primeste o intrerupere cand sa terminat transferul 15. Intreruperi.Intreruperi hard.Vectori de intrerupere. Intreruperea este un semnal asincron prin care un dispozitiv solicita executia unei subrutine specifice. La acceptarea unei intreruperi hard procesorul salveaza starea si executa subrutina specifica

ntreruper i hard. Rutinele acestor ntreruperi sunt scrise de proiectanii de calculatoare i se afl memorate n cipurile fizice ale calculatorului. Ex: ntreruperea 00h se genereaz ca urmare a unei tentative de mprire la 0 ntreruperea 01h se apeleaz dup fiecare instr uciune main dac este setat TF (TrapFlag = 1). Este folosit de depanatoare gen Turbo Debuger. ntrerupera 02h eroare de paritate la accesul memoriei RAM. Spre exemplu, o rutin a acestei ntreruperi se poate folosi ca soluie de ultim moment la caderi de tensiune, pentru salvarea ntregii memorii pe disc i salvarea de datelor. ntreruperea 08h ntrerupere de ceas. Se genereaz odat la 55 milisecunde. Este folosit pentru a programa anumite aciuni care trebuie s se desfoare periodic. Vectorul de ntrerupere reprezint de fapt o adres de program la care se face salt n momentu l apariiei unei ntreruperi.

16.Memoria Memoria unui computer sau a unui sistem cu microprocesor este o componenta, un dispozitiv sau un mediu de stocare destinat retinerii informatiei (date si program) pentru o perioada de timp in vederea prelucrarii. Este o componenta importanta a oricarui computer si este strans legata de unitatea centrala de prelucrare 17. Organizarea ierarhica a memoriei Nivelul primar de stocare : conectare directa la unitatea centrala de prelucrare. Este prezenta in orice sistem cu microprocesor. - Registri procesorului sunt interni unitatii centrale de prelucrare, contin date in curs de prelucrare - Memoria Cache este interna la procesoarele performate, informatia din memoria principala este duplicata in memoria cache pentru un aces mai rapid. Memoria cache poate fi organizata pe mai multe nivele: nivelul 1 find mai stans cumplat cu unitatea centrala mult mai rapid dar de capacitate mai mica decat nivelul 2. Niveleul 2 este mai rapid decat memoria principala dar de capacitate mult mai mica decat aceasta. - Memoria principala: contine instructiunile si datele Timpul de acces este de ordinul ns

18. Nivelul secundar de stocare si stocare off-line. Nivelul secundar de stocare - Necesita utilizarea sistemului de intrare iesire pentru acces la informatia stocata Este utilizata pentru stocarea informatiei persistente pe termen lung. Unele sisteme de operare utilizeaza nivelul doi de stocare ca memorie virtuala pentru cresterea artificiala, aparenta a memoriei principale (fisiere de tip swap sau cache). Nivelul secundar de stocare este reprezetat de hard disk -uri. Timpul de acces la memoria secundara este de ordinul ms, Rezulta o degradare semnificativa a performantelor oricarui computer atunci cand programele utilizeaza memoria virtuala Stocarea off -line Este un sistem de stocare unde mediul de stocare poate fi scos si introdus in sistem cu usurinta. Este utilizat pentru transferul si arhivarea datelor. In calculatoarele moderne este reprezentat de CD, DVD, carduri de memorie, memorie flesh, discul flexibil (floppy disk), Zip disk, banda magnetica, inclusiv medii care se conecteaza pe portul USB 19. Nivelul de stocare tertiara si bazele de date Nivelul trei de stocare este similar stocarii off-line dar mediile de stocare sunt depozitate si pot fi introduse automat prin intermediul unor brate robotizate. Timpul de acces este de ordinul secundelor Este intalnit la super-computere, (nu apare la computerele personale) O alta posibilitate este stocarea informatiei in retea pe alte computere. Informatiile importante sunt stocate redundand existand mai multe copii.

20. Criterii de clasificare a memoriei Dupa persistenta informatiei in lipsa alimentarii cu energie: - memorie nevolatila - memorie volatila Dupa tehnologia de realizare - memorie semiconductoare - discuri magnetice, benzi magnetice, discuri optice, - alte tipuri (microfilme, banda perforata, cartele perforate 21. Tipuri de memorie semiconductoare Nevolatila are capacitatea de a pastra informatia si cand nu este alimentata cu energie) ROM (Read Only Memory) PROM (Programmable Read Only Memory) EPROM (Erase Programmable Read Only Memory) EEPROM (Electric Erase Programable Read Only Memory Flesh memory Volatila informatia se pastreaza numai pe durata alimentarii cu energie RAM (Random Access Memory) - Static - Dinamic Memorie nevolatila Discul magnetic Fix (Hard-disk) Mobil (Floppy disk) Banda magnetica Discul Optic CD-ROM DVD Cartela perforata (nu se mai utilizeaza) Banda perforata (nu se mai utilizeaza) Microfilm Memoria ROM : Read only memory Este o memorie care poate fi doar citita. Ea este inscrisa in momentul realizarii prin intermediul mastilor de realizare a circuitelor integrate. Celula de memorie consta in existenta, (1 logic), sau absenta, (ze ro logic), unei diode Fabricarea memoriei ROM nu se justifica decat pentru un numar foarte mare de circuite care contin acelas program. A fost utilizata pentru stocarea BIOS la primele computere. Memoria PROM: Programmable read only memory - In mod uzual acest tip de memoria poate fi doar citita.

Memoria poate fi scrisa o singura data. Spre deosebire de memoria ROM care este programata la proiectarea mastilor de executie a circuitului integrat, memoria PROM contine in fiecare celula un element echivalent unei sigurante fuzibile care la programare se arde pentru inscrierea bitului 0. Distrugerea sigurantei fuzibile este ireversibila deci memoria poate fi scrisa o singura data. Programarea se realizeaza cu ajutorul unui dispozitiv special numit programator de PROM-uri. Memoria PROM se utilizeaza acolo unde numarul de exemplare in care este reprodus un program este mai scazut si nu se justifica economic inscrierea sa in memorii de tip ROM. Atat memoriile ROM cat si PROM sunt utilizate pentru stocarea unor programe utilizate la pornirea sistemului. A fost utilizata la stocarea BIOS-ului la primele computere. Memoria EPROM : Erasable Programmable Read Only Memory - Este un tip special de memorie programabila la care informatia este me morata sub forma uneor sarcini stocate in poarta flotanta a unui tranzistor. - Memoria este nevolatila, timpul de injumatatire al sarcinilor stocate in conditii normale este de ordinul zecilor de ani. - Memoria poate fi stearsa prin expunerea la raze ultraviolete. Prin efect fotoelectric, sarcinile stocate sunt eliberate. Memoriile EPROM se disting printr-un gemulet de sticla de regula acoperit cu o eticheta. Dupa stergere memoria poate fi rescrisa, intr-un programator de EPROM necesitand o tensiune ridicata in comparatie cu tensiunea de lucru la citire. Pentru stergere si reprogramare memoria trebuie extrasa din soclu. Acest tip de memorie a fost utilizat pentru stocarea BIOS la comuterele mai vechi. Memoria EEPROM : Electric Erasable Programmable Read Only Memory Stergerea memoriei se realizeaza electric. Rescrierea se realizeaza de asemenea electric. Ciclul de de scriere octet cu octet este mult mai lunng decat in cazul citirii memoriei. Acest tip de memorie poate echipa placi de baza cat si placi de extensie. Prin reprogramarea memoriei EEPROM se pot realiza setari care altfel ar necesita repozitionarea unor jumper. Memoria FLASH ROM : Este un tip special de EEPROM la care stergerea si scrierea se poate face pe blocuri de memorie. Nivelul de tensiune pentru stergere si scriere este mai redus decat la memoria EEPROM. De asemenea timpul de stergere si scriere este mai redus. La ora actuala memoria FLESH ROM este comuna pentru a stoca BIOS ul sistemului (Basic Input Output System). Oferind posibilitatea de a fi actualizata (update) cu versiuni noi disponibile pe internet de la firma producatoare. Nu se recomanda actualizare numai daca este absolut necesara. O cadere a tensiunii in timpul actualizarii sau o eroare in dentificarea versiuni poate fi catastrofala. Memoria SRAM : Static Random Access memory

Memorie cu acces aleator locatiile de memorie pot fi accesate in mod aleator spre deosebire de memoria secventiala (banda magnetica, banda de hartie). Termenul de acces aleator nu inseamna neaparat memorie volatila, exemplu memoria pe miez de ferita este cu acces aleator si nevolatila. De asemenea memoria ROM este nevolatila si asigura acces aleator. In mod uzual prin memorie RAM se intelege memorie semiconductoare care poate fi scrisa si citita si care este volatila. Memoria RAM static (SRAM) are propietatea de a pastra informatia inscrisa atat timp cat memoria este alimentata.

22 . Structura SRAM Fiecare bit este memorat pe patru tranzistoare care formeaza doua ramuri inversoare cuplate incrucisat Celula de stocare are doua stari stabile (0 si 1 logic) Inca doua tranzistoare sunt necesare pentru accesul la celula de memorie Functionarea are stari: - in asteptare linia de selectie nu este activata, tranzistoarele M5 si M6 deconecteaza celula de memorie de la liniile de iesire /BL si BL - Citire potentialul liniilor BL, /BL nu este fixat din ezterior. Prin selectarea celulei, linile de iesire sunt aduse la potentialul iesirilor C, respectiv/Q. - Scriere - potentialul liniilor BL, /BL este fixat din exterior, prin selectiea celuli aceasta este fortata sa basculeze in starea fixata de BL, /BL Existenta a doua linii de iesire BL, /BL nu este obligatorie, totusi dacase dispune de ambele linii, imunitate la zgomot este mai mare Celula are nevoie de 6 tranzistoare, ocupa mult spatiu si deci nu se pot integra un volum mare de memorie pe un singur circuit. Memoria este organizata cu m linii de adrese si n linii de date., in total vor exista 2m x n celule (biti). Este mai rapida decat memoria DRAM La frecvnete mici consuma mai putina energie decat DRAM

Prezentare: Cu interfata asincrona 28 pini 32k x8 bit, si poate ajunge la 16Mbit/cip Cu interfata sincrona (256x72) ajunge la 18Mbit/cip

23. Memoria DRAM Dynamic Random Access Memory Este un tip de memorie cu acces aleator in care informatia este stacata intr-un set de condesatoare integrate (cate unul pt. fiecare bit) Cum condesatoarele reale sunt cu pierderi informatia trebuie sa fie reinprospatata periodic. Celula este mult mai simpla, un tranzistor si un condesator fata de 6 tranzistori la SRAM si deci poate fi integrata cu densitati foarte mari DRAM a fost inventata de Dr. Robert Dennard la IBM Thomas J. Watson Research Center 1966 si patentata in 1968. In 1973 s-a introdus principiul multiplexarii adreselor pe linii si colane Principiul citirii DRAM

Circuitele DRAM pot avea mii de linii si coloane

Principiul Scrierii DRAM

24 . Microprocesorul 80286 . Generalitati.Caracteristici ai Multitasking Lansat in 1 februarie 1982 Contine 134 000 tranzistori Tehnologie 1,5microni 64 pini Procesor pe 16 bit Frecventa 6 si 8MHz (versiuni pana la 25MHz) Modul de adresare protejata permite adresarea directa a 16MOcteti de memorie Proiectat pentru multitasking si multi-user Multitasking : Multitaskingul este o metoda prin care mai multe task-uri cunoscute si sub denumirea de procese impart aceleasi resurse cum ar fi de exemplul procesorul In sistemele cu un singur procesor un singur task (proces) ruleaza la un moment dat. Prin multitasking se realizeaza o programare a proceselor astfel incat resursele sistemului sa fie utilizate eficient in fiecare moment. Procesul de reasignare a CPU unui tasc sau altuia poarta denumirea de cumutarea contextului Daca comutarea contextului se realizeaza frecvent, se obtine iluzia paralelismului Si in cazul sistemelor multiprocesor, procesoarele sunt atribuite pe rand mai multor task -uri

Implementari multitasking : Multiprogramare un task ruleaza pana cand operatia pe care o executa trebuie sa astepte dupa un eveniment extern (citire disk magnetic, etc); are rolul de a maximiza utilizarea CPU Partitionarea in timp (time sharing) procesul elibereaza procesorul voluntar cand termina actiunea sau involuntar ca urmare a unui eveniment extern ( intrerupere hard); Procedeul a fost gandit pentru executia aparent simultana a mai multor programe Sisteme in timp real - garanteaza ca task-urile in asteptare sunt executate atuncui cand are loc un eveniment extern; Sunt utilizate pentru controlul unor di spozitive externe, ex. Roboti industriali

25. Protejarea memoriei. Niveluri de privilegiu In cazul mutitaskingului mai multe programe se afla simultan in memorie Din greseala sau deliberat un program poate scrie in memoria alocata altui program sau a sistemului de operare, bocand astfel sistemul sau producand rezultate eronate. Se inpune evitarea acestei situatii prin restrictionarea accesului la memorie, fiecare program avand acces doar la memoria alocata si orice tentativa de a scrie in alta zona duce la oprirea procesului respectiv inainte se a efectua operatia Niveluri de privilegiu : In modul protejat exista 4 niveluri de privilegiu notate de la 0 la 3. In mod uzual nucleul sistemului de operare ruleaza pe nevelul 0, serviciile sistemului de operare pe nivelul 1 sau 2 iar aplicatiile pe nivelul 3. Unele instructiuni pt. a fi executate necesita nivelul 0 de privilegiu: -LGDT (load global descriptor table), -POPF se poate executa si de pe alt nivel dar necesita nivelul 0 daca schimba campul IOPL

26. Microprocesoare pe 32 biti . Microprocesorul 80386 Generalitati : Procesor pe 32 biti derivat din 8086 a treia generatie de microprocesoare Fabricat intre anii 1986 (lansat septembrie 1986 ) si 1994 Frecventa 16 40 MHz Tehnologie 1,5 microni Soket - 68 pini

Arhitectura procesorului 386:

27 . Registrii microprocesorului 80386 Registrii de uz general (32 biti), index, baza si pointer Registrii de segment (16 biti) Registri de stare si instructiuni Registri cache pt. descriptorul tabelei de adresare Registrii de comanda Registri de test si depanare

28 . Mecanismul de adresare

29. Microprocesorul 80486.Generalitati.Executia pipeline a instructiunilor. Avantaje si dezavantaje a pipeline Al doilea microprocesor pe 32 biti din familia Intel Lansat in 1989 Tehnologie 0.8 microni, 1,2 milioane tranzistoare Frecventa 16 la 100MHz FSB 16-50MHZ Arhitectura de tip pipeline Cache unificat de date si instructiuni Co-procesor matematic in virgula mobila inclus Executia pipeline a instructionilor :

Pipeline cu 5 faze clasic in procesoarele RISC IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Register write back)

Avantaje si dezavantaje: Advantages of pipelining: The cycle time of the processor is reduced, thus increasing instruction bandwidth in most cases. Advantages of not pipelining: The processor executes only a single instruction at a time. This prevents branch delays (in effect, every branch is delayed) and problems with serial instructions being executed concurrently. Consequently the design is simpler and cheaper to manufacture. The instruction latency in a non-pipelined processor is slightly lower than in a pipelined equivalent. This is due to the fact that extra flip flops must be added to the data path of a pipelined processor. A non-pipelined processor will have a stable instruction bandwidth. The performance of a pipelined processor is much harder to predict and may vary more widely between different programs.

Moduri de evitare a hazardului


Hazardul de date se poate evita fr prea mare efort printr -o tehnic numit forwarding. Aceast tehnic implic existena unei entiti hard numite forwarding unit care comand dou multiplexoare amplasate n etapa EX naintea unitii aritmeticologice (ALU). Unitatea de forwarding este de fapt un circuit logic combinaional (CLC) care implementeaz nite expresii booleene, n funcie de care sunt selectate pentru ALU trei surse de date posibile: direct din registrul pipe ID/EX (adic din blocul de registre), de la ieirea ALU din urmtoarea etap pipeline (MEM), sau din etapa WB. Expre siile booleene testeaz apariia a dou tipuri de hazard de date, ntre etapele EX i MEM i/sau ntre etapele EX i WB, selectnd intrrile corespunztoare ale multiplexoarelor. Prin acest artificiu, hazardul de date este evitat fr a introduce timpi mori (stall -uri) n calea de date, permind o procesare secvenial nentrerupt a instruciunilor. 30. Memoria Cache. Functionare. Organizarea memoriei Cache. Este utilizata copierea unor locatii din memoria principala (mare si lenta) intr-o memorie rapida dar mica. La 486 s-a introdus memoria cache interna Functionarea memoriei cache

Organizarea memoriei Cache

31 . Procesorele Pentium.Generalitati.Arhitectura interna, fazele pipe-line Pentium lansat in 22 martie 1993, face parte din generatia a 5 de microprocesoare, contine 3,1 miliaoane de tranzistoare, aproximativ de 3 ori mai mult decat predentul 486 Tehnologie pe 0.8 microni, frecventa de 60 si 66MHz, L1 cache intern 8kocteti pentru date si 8kocteti pentru program Facilitatile MMX au fost adaugate in 1997 Procesor superscalar compatibil cu cu seria x86, ofera performante superioare in comparatie cu precedentele procesoare x86, dar modeste in comparatie cu procesoarele actuale si chiar cu procesoarele RISC din perioada respectiva. (30% din tranzistoare au fost utilizate pentru al face compatibil cu seriax 86) Datorita performantelor modeste (calcule in virgula mobila) nu s-a utilizat in computerele stintifice si statiile de lucru Pentium III generatia a 6 de microprocesoare Pentium 4 generatia a 7 de microprocesoare Arhitectura interna: Arhitectura de tip pipeline cu 5 faze O unitate de procesare intregi cu doua canale (U si V) Numai unitatea U este complet. Cele doua canale nu sunt total independente, existand numeroare restrictii Unitatea de virgula mobila - este simpla oferind performante reduse in comparatie cu procesoarele RISC existente la vremea respectiva Functionarea in paralel a unitatii de virgula mobila si a celei de intregi este supusa unor numeroase restrictii.

Fazele Pipe line : Extragerea instructiunilor Decodare faza 1 Decodare faza 2 Executie Stocare rezultate Fata de procesoarele RISC si DSP din perioada respectiva necesita doua stagii de decodificare datorita instructiunilor complexe. 32 . Generatia a 6 de procesoare . Generalitati . Arhitectura procesoare de generatia a 6 Performante ridicate, sistemele cu procesoare din generatia a 6 devin competitive cu sistemele cu procesoare RISC Procesoare din generatia a 6: - Pentium Pro, 0.6/0.35microni, 5,5milioane tranzistori, 150-200MHz, 8kocteti date si 8kocteti instructiuni - L1 cache, 256/512kocteti L2 cache,1995. - Pentium II: 0,35 microni, 7,5 milioane tranzistori, 233-300MHz, 16kocteti date si 16kocteti instructiuni - L1 cache, 512kocteti L2 cache in aceiasi capsula pe un cip suplimentar, facilitati MMX 1997 Pentium III: 0,25 microni, 9,5 milioane tranzistori, 450-500MHz, 16kocteti date si 16kocteti instructiuni - L1 cache, 512kocteti L2 cache, facilitati MMX si SSE, 1997 K5 de la AMD

Arhitectura procesoare de generatia a 6

Unitatea de executie cu arhitectura de tip RISC Unitatea de decodare si translatare a instructiunilor x86 in microinstructiuni interne decupleaza aducerea instructiunilor de executie. Unitatile de executie sunt alocate dinamic de catre statia de rezervare. O microinstructiune se executa atunci cand toate conditiile pentru executie sunt indeplinite. Ordinea de executie poate fi alta decat cea in care sosesc instructiunile. Alocare dinamica contribuie la incarcarea optima a unitatiilor de executie spre deosebire de alocarea statica realizata de unitatea de control de la procesoarele din generatia a 5-a. Bufferul de reordonare este utilizat pentru a transmitera la iesire rezultatele in ordinea in care au sosit instructiunile Unitatea ROB poate urmarii 40 instructiuni in diferite faze de executie. De asemenea are un rol important in redenumirea registrilor. Procesoarele x86 utilizeaza numai 8 registri pentru intregi si 8 registri pentru virgula mobila cea ce este mult prea putin pt. un procesor de generatia a 6. Statia de rezervare poate examina 20 instructiuni simultan

33. Facilitati MMX. Tipuri de date MMX. Facilitati SSE Facilitati multimedia (MMX la procesoarele Intel, 3Dnow la AMD) introdus in 1997 Reutilizeaza cei 8 registrii ai coprocesorului matematic pentru operatii vectoriale cu intregi pe 64, 32, 16 sau 8 biti (4 tipuri de date) 57 de instructiuni noi Operatii aritmetice cu saturatie. Tipuri de date MMX :

Facilitati SSE : Streaming SIMD Extensions Aduga 8 registrii noi de 128 bits,permitand operatii paralele asupra numerelor in virgula mobila in simpla precizie 32 bits Este similar facilitatilor MMx dar pentru virgula mobila A fost introdus pe Pentium III SSE2 introdus pe Pentium 4 adouga instructiuni vectoriale in dubla precizie (64biti) si pentru intregi 8/16/32 bits

SSE3 adauga facilitati matematice orientate pe procesarea digitala a semnalelor (DSP) SSEE3 adauga operatii se inmultire in virgula fixa pe 16bits SSE4 se adauga noi instructiuni printre care produs scalar - prescrierile SSE4 vor fi implementate pe noile procesoare dual core (Penryn' )

34. Generatia a 8 de procesoare Athlon 64 primul procesor pe 64 bit compatibil cu x86 Lansat in septembrie 2003, tehnologie pe 130nm Athlon64x2 procesor dual core (lansat april 2005) Prevazut cu capacitatea de a reduce tensiunea de alimentare si frecventa cand nu este intens utilizat ( se reduce astfel consumul de la 89 W pana la 32W sau chiar 22W) 35. Microcontrolerul.Generalitati.Unitati component Un microcontroller (MCU) este un minicomputer integrat intr-un singur chip Microcontrollerul integreaza toate periferice necesare functionarii. Majoritatea microcontrolerelor utilizate in prezent sunt inglobate (embedded) in alte sisteme sau produse cum sunt: telefoanele mobile, ceasuri, automobile, infracstructura, echipamente industriale, masini de spalat, cuptoare cu microunde. Sistemele cu microcontrolere in general nu dispun de sistemul de intrare iesire caracteristic computerelor (tastatura, monitor, imprimanta, disc). In schimb microcontrolerele pot controla motoare, relee, si pot citi starea unor contacte sau pozitia unor potentiametere. Uneori singurile iesiri destinate operatorilor umani pot fi simple leduri care pot lipsii si ele ca urmare a unor consrangeri restrictive de pret sau consum de energie. Unitati componente : Unitatea de procesare centrala (central processing unit) de la unitati foarte simple pe 4 sau 8 biti pana la unitati complexe pe 32 sau 64 biti. Memorie RAM pentru stocare date Memorie ROM, EPROM, EEPROM or Flash memory pentru stocare profram si date constante Dispozitive periferice ca: timers si watchdog , unitati de comparare capturare, unitati de PWM Interfata de intrare-iesire Port serial universal (UART) Alte comunicatii seriale ca: IC, Serial Peripheral Interface and Controller Area Network pentru interconectarea Oscilator de tact pilotat cu cristal de cuartz. Convertor analog digital Convertor digital analog

36.Comunicatia UART Comunicatie seriala asincrona universal se caracterizeaza prin transmiterea bitilor de start si stop. Standarde utilizate in comunicatia seriala: RS-232 ( contine minim trei semnale: emisie, receptie, masa); RS-422 (transmiterea diferentiala a semnalelor) RS-485 ( permite conectare si transferul de date intre mai multe dispozitive utilizand doua conductoare Unele dispozitive au capacitatea de a transmite/receptiona sincrn (USART) 37. Comunicatia IC - Inter-Integrated Circuit Utilizat pentru interconectarea perifericelor lente. Inventat de Philips Permite conectarea a maxim 112 noduri (numarul maxim de adrese pe 7 bit); Numarul de noduri este limitat si de capacitatea maxima de 400pF. Nivele de tensiune tipice: 5V sau 3.3V Viteza intre 10 kbits/s la 400kbits/s Standardul nou Adresare pe 10 bit si viteza pana la 3.4Mbits/s

Comunicatia pe magistrala I2C: Start semnalul SDA trece in zero in timpm ce semnalul SCL ramane pe 1. Cand semnalul SCL trece in 0, nivelul semnalului SDA se schimba in acord cu informatia transmisa. Cand semnalalul SCL este pe 1 se citeste informatia transmisa. Trecerea din 0 in 1 a semnalulului SDA cand SCL este pe 1 semnifica sfarsitul transmisiei.

38. Comunicatia SPI (Serial Peripheral Interface Bus) Interfata seriala sincrona pentru periferice permite un master si mai multe periferice

Conectare inlantuita a dispozitivelor slave utilizand o singura linie de selectie

39. Comunicatia Controller Area Network (CAN) Este o transmisie seriala difuzata spre toate nodurile din retea. Toate nodurile din retea pot asculta transmisia Numai nodurile caraora le-a fost destinata informatio o vor utiliza La nivel de semnal fizic este similara transmisiei RS 485 - transmisie diferentiala pe doua conductoare. Imunitatea la zgomot poate fi crescuta prin rasucirea celor doua conductoare. Pachetele de date sunt scurte (0 la 8 octeti) si sunt protejate printr-un cod redundant de 15 bit (CRC-15). A fost dezvoltat in 1980 de firma BOSCH pentru interconectarea microcontrolerelor si perifericelor in industria automobileleor. Viteza de transfer de 1Mbit/s pt. o lungime totala a retelei de 40m si 125kbits/s pt. 500m. Mecanism avansat pentru detectia coliziunilor.

40. Microcontrollerul 8051.Generalitati .Caracteristici MCS51 Lansat de Intel in 1980 (MCS 51) Foarte popular in anii 1980-1990, peste 20 de producatori independenti Arhitectura de tip Harvard Frecventa initiala 12 MHz cu 12 cicli/ciclu masina rezulta 1milion cicli masina/s Majoritatea instructiunilor se executa intr-un ciclu masina La ora actuala sunt disponibile versiuni la 100 -150MHz Procesoare derivate: 8048 controlerul de tastatura Caracteristicile MCS 51 It provides many functions (CPU, RAM, ROM, I/O, interrupt logic, timer, etc.) in a single package 8-bit data bus - It can access 8 bits of data in one operation (hence it is an 8-bit microprocessor) 16-bit address bus - It can access 216 memory locations - 64 kB each of RAM and ROM On-chip RAM - 128 bytes ("Data Memory") On-chip ROM - 4 kB ("Program Memory") Four byte bi-directional input/output port UART (serial port) Two 16-bit timers Two-level interrupt priority Power saving mode

41. Microcontrolere pe 16bit.Microcontrolerul c167cs,schema bloc.Conceptul CPU Familia 80C166 si succesorul C167 Au fost derivate din familia 80C51 Schema bloc C167CS

Conceptul CPU

42. Executia Pipe-line

43.Sistem de intreruperi la c167 Organizarea Intreruperilor

Prioritatea intreruperilor

44. Unitatea de comparare capturare.Schema bloc.Registrii utilizati.Modul de operare a timer

Registri utilizati de unitatea de comparare capturare:

Operare timer T0 si T7

45.

Formulele Calculului frecventei de intrare si a perioadei

46.

Modul capturare

47. Moduri de comparare Modul 0 genereaza numai intrerupere Daca acest mod este programat pt. Reg 8-15 sau 24-31 atunci se va utiliza modul de comparare dublu registru

Modul 1 modifica starea pinului de iesire daca acesta este asociat unitati ca pin de iesire. Mod 2 genereaza o singura intrerupere pe o periada Mod 3 modifica starea unui sinngur pin de iesire pe periada. 48. Unitate de PWM.Structura,registrii utilizati.Moduri PWM

Registri utilizati de unitatea PWM

Moduri PWM : Mod 0 aliniere PWM pe fronturi Mod 1 centrare PWM Modul tren de impulsuri Modul un singur impuls

49.Conversia analog digitala.Definire,rezolutia,tipuri de erori,teorema esantionarii 50. Aplicatii cu microcontrolere.Sisteme cu cost redus Microcontrolere sau DSP la care intreaga memorie disponibila este integrata Limitarea numarului de pini (nu exista magistrala externa de date si adrese) reduce costul total. Producatori: Microchip, Atmel Texas Instruments, etc

Controlul unui motor de curent continuu

Controlul unui motor BLDC

Controlul unui motor pas cu pas

Contor digital de energie electrica

Contor digital de energie termica

S-ar putea să vă placă și