marți, 6 septembrie 2011

PLACA DE BAZA(MAINBOARD)

    Practic, un calculator complet contine urmatoarele componente:
1.Unitatea de sistem, cu urmatoarele:
     Placa de baza (inclusiv chipset, procesor, memorie),Sursa de alimentare,Hard disc,Unitate optica
     Urmatoarele 3 componente pot fi integrate în placa de baza sau pot exista ca si module separate:
     Placa video
     Placa de sunet
     Placa de retea
2.Monitor
3.Tastatura, mouse.

   Conectarea între UCP si celelalte echipamente se face prin intermediul magistralelor. Regulile care stabilesc functionarea magistralei trebuie foarte bine definite. Aceste reguli se alcatuiesc protocolul de

magistrala.

Ele contin specificatii mecanice si electrice. Placile (echipamentele) proiectate de diferitii producatori trebuie sa încapa în carcasa calculatorului, sa existe conectori care sa se potriveasca din punct de vedere mecanic cu cei de pe placa de baza, sau cu cei de pe panoul din spatele unitatii de sistem a calculatorului. Semnificatia semnalelor electrice disponibile în conectoare trebuie respectata de toti producatorii pentru ca echipamentele sa functioneze. Exista mai multe posibilitati (magistrale) care permit conectarea procesorului sau a PC-ului cu exteriorul.Astfel, prin constructie, PC-ul este dotat cu un set de conectoare accesibile în exterior, pe panoul din spatele PC-ului, la care se pot conecta echipamente obligatorii sau optionale. Aceste conectoare corespund portului serial, portului paralel, portului video, placii de retea (LAN), placii de sunet, precum si câte unul pentru tastatura si mouse. În ultimul timp, au aparut doua noi magistrale, universale, disponibile de asemenea prin conectori pe panoul din spatele PC-ului, care încearca sa raspunda cerintelor actuale: USB si IEEE 1394 sau FireWire. De asemenea, în special pentru calculatoare Notebook sunt disponibile porturi pentru comunicatie fara fir: WLAN (WirelessLAN) si Blue Tooth. Pe de alta parte, exista conectori care sunt situati în interiorul PC-ului, la care sunt accesibile magistralele clasice ca PCI (ISA), PCI Express sau AGP. În acesti conectori se pot introduce asa numitele placi de extensie, care la rândul lor au conectori accesibili pe panoul din spatele PC-ului. Magistralele IDE (ATA), SATA, SCSI sunt necesare pentru conectarea hard discurilor sau a dispozitivelor optice.

Fiecare echipament de intrare-iesire (monitor, hard disc, tastatura) contine un controlor (controller) care este un modul care contine în majoritate componente electronice. Misiunea controlorului este de a comanda functionarea echipamentului de intrare-iesire propriuzis, precum si gestiunea accesului acestuia la magistrala
sistemului. Exemple: controlorul pentru hard disc, adaptorul video pentru comanda monitorului sau controlorul pentru tastatura. Semnalele binare furnizate de UCP nu sunt suficient de puternice pentru a alimenta (din punct de vedere al curentului necesar) o magistrala, mai ales daca la ea sunt conectate multe dispozitive. Din acest motiv echipamentele sunt conectate la magistrala prin asa numitele amplificatoare de magistrala (buffere sau tranceivere).

    SETUL DE CIPURI
Termenul de Chipset (Setul de cipuri) se refera la un grup de circuite care contin: interfata cu magistrala procesorului, controllerele de memorie, controllerele de magistrala, controllerele de intrare-iesire si altele. Practic, aproape toate circuitele de pe placa de baza sunt continute în setul de cipuri. Procesorul nu poate sa comunice cu memoria, placile adaptoare, celelate dispozitive, fara sa treaca prin setul de cipuri. Setul de cipuri este cel care controleaza interfata între procesor si restul calculatorului. La primele PC-uri nu exista un chipset propriuzis. Astfel, pe lânga procesor, pentru completarea sistemului, mai existau alte circuite separate: generatorul de tact, controllerul de magistrala, temporizatorul sistemului, controllerele de întreruperi si DMA, memoria CMOS, controllerul de tastatura.
Actualmente seturile de cipuri prezinta doua tipuri de arhitecturi: arhitectura North/South Bridge si arhitectura centralizata (hub).
Arhitectura North/South Bridge contine sectiunile:
     Puntea de nord (Northbridge)
     Puntea de sud (Southbridge)
     Cipul Super I/O

Circuitul Northbridge este un circuit integrat pe scara foarte larga, aproape la fel de complex ca si cipul UCP. El face legatura între magistrala de mare viteza a procesorului (cu frecvente posibile 1066/566/400/266/200/133/100/66 MHz) si magistralele mai lente: AGP (266/133/66 MHz) si PCI (33 MHz). Magistrala procesorului (numita si FSB - front side bus) este calea de comunicare dintre procesor si setul de cipuri. Frecventa reala a procesorului este un multiplu (2×, 2,5×, 3×, 5× etc.) al frecventei magistralei procesorului. Conectarea UCP la memoria cache de nivelul 2 se face direct, printr-o magistrala mai rapida decât cea a procesorului, functionând la acelasi tact cu cel al UCP. Magistrala memoriei este utilizata pentru transferarea informatiilor între procesor si memoria principala, RAM. Aceasta magistrala este conectata la cipul North Bridge. Cel mai bine este ca aceasta magistrala sa functioneze la aceeasi viteza
cu magistrala procesorului.
Conectarea UCP la adaptorul video se face prin intermediul magistralei numite AGP (Accelerated Graphics Port). Placile de baza ale PC-urilor sunt dotate cu câte un slot special de tipul AGP, unde se introduce placa video. Magistrala PCI, este disponibila ca iesire a circuitului Northbridge si contine 3-4 sloturi unde se pot conecta placi de extensie. Circuitul Southbridge este situat la cealalta extremitate a magistralei PCI (33 MHz), si permite legatura spre magistrala ISA (8,33 MHz), unde pot exista 1-2 sloturi disponibile. Interfetele IDE pentru hard disc, precum si noile interfete USB si IEEE 1394 (FireWire) îsi au originea în acest circuit.

  Cipul Super I/O este atasat magistralei ISA. În unele cazuri se considera sau este inclus în cipul Southbridge. În acest circuit, îsi au originea: portul de tastatura, portul de mouse (de magistrala), porturile seriale, portul paralel, interfata pentru unitatile de discheta.

Arhitectura centralizata (Hub)
În acest caz, cipul fostei punti de nord se numeste Memory Controller Hub, iar fosta punte de sud se numeste I/O Controller Hub. Principala diferenta în acest caz este ca cele doua cipuri nu mai sunt conectate prin magistrala PCI ci printr-o interfata de doua ori mai rapida (hub interface). Magistrala PCI este acum o iesire a cipului I/O Controller Hub. Principalele avantaje ale acestei arhitecturi sunt: viteza superioara de comunicare precum si faptul ca interfata PCI nu mai este implicata în comunicarea între cipuri astfel ca latimea sa de banda poate fi în totalitate folosita de dispozitivele conectate pe aceasta.

  Magistrale disponibile în exteriorul PC-ului
Portul serial
 În interiorul PC-ului informatia circula sub forma de unul sau mai multi octeti odata, pe un numar de linii paralele egal cu numarul bitilor care compun octetii. În exteriorul PC-ului, exista si o alta modalitate, mai ales daca distanta este mai mare si viteza necesara nu trebuie sa fie foarte mare. Aceasta modalitate este comunicatia seriala, în care informatia se transmite bit cu bit, pe o singura linie fizica. În practica, pentru o comunicatie seriala sunt necesare minimum 3 fire: unul pentru transmisia într-un sens, altul pentru transmisia în celalat sens si al treilea pentru masa (pentru întoarcerea curentului). Adeseori mai sunt necesare si alte linii, pentru semnalarea unor evenimente: de exemplu daca receptorul poate sa primeasca date.
Pentru implementarea unui port serial, un PC contine pe placa de baza un circuit de tip UART (Universal Asynchronous Receiver/Transmitter), încapsulat întrun circuit VLSI alaturi de alte circuite în interiorul puntii de sud. În principiu, procesul de transmitere seriala (asincrona) a datelor este în felul urmator: UCP transmite un octet circuitului UART. Acesta îl preia si îl memoreaza într-un registru, dupa care transmite bitii octetului unul câte unul pe linia seriala.
Fiecare octet este precedat de un bit de start (o tranzitie de pe 1 logic pe 0 logic), iar la sfarsitul octetului este inserat optional un bit de paritate (pentru detectia eventualelor erori) si 1 sau 2 biti de stop (pe 1 logic) La celalalt capat al liniei este un alt UART care dupa ce detecteaza bitul de start, „despacheteaza” ceea ce a împachetat primul UART. Când a primit toti bitii (întregul octet), el face o cerere de întrerupere catre propriul UCP, pentru ca aceasta sa preia octetul. Un circuit UART poate transmite date cu diferite viteze: 9600, 19200, 38400 bps, (biti pe secunda) viteza maxima fiind 115200 bps, care, datorita bitilor de încadrare de la transmisia asincrona devine aproximativ 11,5 kBps. Exista si un standard care precizeaza aceste aspecte legate de comunicatia seriala, numit RS 232. Un PC are un port serial de uz general, numit COM 1. Pentru acest port se foloseste conectorul cu 9 pini de tip tata (male), numit DE9. În cadrul PC-ului, de asemenea tastatura si mouse-ul comunica cu acesta printr-o interfata seriala.

Tastatura se conecteaza la PC printr-un conector special (exista 2 modele: DIN, cu 5 pini, sau mini-DIN cu 6 pini, numit si PS/2) care poate fi utilizat numai în acest scop. Interfata seriala este destul de asemanatoare cu cea de uz general descrisa anterior. Circuitul UART aferent este o parte a controlerului de tastatura. Bufferul acestuia este localizat în memoria principala a PC-ului, unde este disponibil pentru orice program care are nevoie de el.

Mouse-ul se poate conecta la PC prin doua tipuri de conectori. Primul este de tip mini-DIN cu 6 pini, asemanator cu cel al tastaturii, dar diferit din punct de vedere functional, si este folosit pentru mouse-urile de magistrala (PS/2). Al doilea tip este conectorul DE9 de tip tata al portului serial COM1, caz în care cablul mouse-ului este dotat cu un conector DE9 de tip mama. Un astfel de mouse se numeste mouse serial.
In variante mai noi atat tastatura cat si mouse-ul folosesc porturile USB pentru conectarea cu pc-ul.


Portul paralel
Portul paralel al PC-ului, numit LPT, transmite la fiecare moment de timp un octet, având astfel 8 linii de date, câte una pentru fiecare bit al octetului.
În momentul când IBM a lansat PC-ul, l-a dotat cu o interfata de imprimanta care folosea un port paralel. Interfata respectiva a fost dezvoltata initial de firma Centronix, care folosea un cablu cu câte un conector „micro ribbon” de 36 contacte la fiecare capat. IBM a considerat ca un astfel de conector ar fi prea mare pentru a încapea pe placa de extensie din PC, asa ca a ales pentru portul paralel cupla de DB25 de tip mama. Asadar, pentru a conecta o imprimanta la calculator este nevoie de un cablu cu un conector DB25 tata la un capat si unul de tip „micro ribbon” tata de 36 de contacte la celalalt capat (în acest conector exista mai multe contacte legate la masa).
În principiu, comunicatia calculator-imprimanta prin portul paralel se face în felul urmator: UCP trimite datele catre imprimanta plasând octetul pe cele 8 linii de date ale portului. În continuare, transmite un impuls pe o alta linie, numita strob, care informeaza imprimanta ca octetul este disponibil. Dupa primirea impulsului de strob, imprimanta citeste octetul iar apoi transmite înapoi catre PC, pe o alta linie numita acknowledge (confirmare), un impuls care spune portului ca poate pregati urmatorul octet. Astfel, PC-ul transmite date cât de repede le poate prelua imprimanta.
O interfata paralela standard este capabila sa transmita date cu rate de la 50 la 150 kB/s. Aceasta viteza este limitata în principal de câte actiuni trebuie sa execute UCP pentru a trimite în exterior fiecare octet, precum si de viteza magistralei. Desi initial, portul paralel al calculatorului avea rolul de a transmite date catre imprimanta, ulterior a devenit evident ca ar fi foarte bine sa se poata si receptiona date prin port. Astfel, variantele ulterioare de PC-uri au fost dotate cu porturi bidirectionale (adica porturi de intrare si de iesire), care permit rate de transfer pentru operatiile de intrare, comparabile cu cele de iesire.
   În prezent însa, portul serial si paralel încep sa nu mai fie prezente pe placile
de baza ale calculatoarelor, fiind considerate învechite, locul lor fiind luat treptat de
magistrala USB. Totusi, exista înca echipamente care se pot interfata cu PC-ul prin
aceste porturi, încât cunoasterea lor este înca necesara.

Portul Video


Portul Video reprezinta iesirea placii sau adaptorului video si este destinat conectarii monitorului. Este caracterizat printr-o cupla DE 15 mama, cu contacte pe 3 rânduri.
 La aceasta cupla se conecteaza printr-un cablu adecvat (cu o cupla DE 15 tata)
monitorul.





                Magistrale interne
  


  Magistrala PCI
Magistrala ISA devenise prea lenta în raport cu noile versiuni de UCP, ale caror frecvente de tact treceau de 33 MHz. În plus magistrala de date avea 32 de biti. Asa ca devenise imperios necesar ca o noua magistrala sa fie inclusa în PC-uri. Asa a aparut magistrala PCI (Peripheral Component Interconnect) impusa de firma Intel.

Magistrala PCI înseamna regândirea modului de interconectare a partilor unui PC. Initial erau luate în calcul numai partile interne ale unitatii de sistem, dar apoi modelul PCI a inclus si modalitatile de conectare ale pieselor exterioare acelei cutii. S-a dorit ca PCI sa fie un mijloc mai eficient de conectare a circuitelor din jurul UCP,
iar aceasta interconectare sa devina mai putin dependenta de tipul UCP.
  Initial, magistrala PCI avea de doua ori mai multe linii de date si putea opera de 4 ori mai repede decât magistrala ISA (adica 32 de biti de date si o frecventa de tact de 33 MHz), rezultând o rata de transfer (se mai numeste largime de banda) de 133 MB/s.
  Rata de transfer se calculeaza prin relatia:
ftact x N, unde N reprezinta numarul de octeti al magistralei de date.
În acest caz 1MB/s reprezinta 106 octeti/sec.
Conectoarele aveau 120 de conexiuni. Variantele ulterioare puteau lucra cu o frecventa de 66 MHz sau 133 MHz (varianta PCI-X) si magistrala de date de 64 biti. În acest caz, conectorul mai contine o sectiune cu înca 64 de contacte. Ca si unele dintre placile ISA mai noi, magistrala PCI accepta configurarea automata a sistemului (plug-and-play). Fiecare placa PCI trebuie sa dispuna de o unitate de stocare a propriilor date de configurare. În procesul de configurare, sistemul citeste si scrie datele stocate aici.
Multi producatori de PC-uri au introdus-o în calculatoarele lor si multi alti producatori au început sa faca placi de extensie PCI (placi video, interfete de hard disc, placi de retea, acestea fiind placile pentru care viteza mai mare a magistralei PCI este într-adevar vitala).În ultimul timp a aparut o magistrala numita PCI Express, compatibila software cu PCI, dar diferita din punct de vedere hardware, deoarece datele circula
serial (!). Se stie ca, teoretic transferul serial al datelor este mai lent decât cel paralel din simplul motiv ca se desfasoara pe o singura linie (de fapt doua, daca se considera si masa). Totusi, transferul paralel are doua dezavantaje, la viteze foarte mari: apar interferente între linii, datorate cuplajelor magnetice, respectiv apar întârzieri, ceea ce face ca la receptie datele sa poata fi eronate. Pentru a înlatura aceste dezavantaje, magistrala PCI Express foloseste transferul serial, care poate avea o frecventa de tact suficient de mare. Astfel, viteza de transfer realizata de varianta standard (care contine o pereche de linii, una pentru un sens, alta pentru celalalt numita lane – ulita!) este de 250 MB/s. Exista si în acest caz versiunile PCI Express x 2, x 4,..., x 32 care se obtin prin combinarea mai multor elemente standard (lane).

Imaginea de mai sus prezinta comparativ conectorii magistralei PCI Express cu cel de tip
PCI.

   Magistrala AGP (Accelerated Graphics Port)
În varianta initiala (1996), magistrala AGP lucra cu un tact de 66 MHz si o magistrala de date de 32 de biti, transferând o data (adica 32 biti) pe ciclu (o perioada a frecventei de tact). A rezultat o viteza de transfer de 264 MB/s. Urmatoarea varianta, chiar daca folosea tot o magistrala de date de 32 biti si-a dublat viteza prin aceea ca putea transfera 2 date pe durata unui ciclu (o data pe front crescator, cealalta pe front descrescator). A fost notata AGP 2x. Ulterior au fost create modelele AGP 4x si AGP 8x.

În placile de baza ale PC-urilor poate fi gasit un conector de tipul AGP, unde se introduce placa video. În ultimul timp însa conectorul de tip PCI Express tinde sa-l înlocuiasca, având an vedere si tendinta producatorilor de placi video.






     Magistrala IDE
  Magistrala IDE (Integrated Device Electronics) este o parte a magistralei ISA, care trebuie sa accepte unitati de disc sau alte asemenea dispozitive (unitati de CD, DVD, unitati de banda magnetica), redirijata spre un conector special, pentru a economisi sloturile ISA. Este cunoscuta si sub numele IDE/EIDE (Extented IDE) sau ATA (Advanced Technology Attachment).

  Un „canal” IDE este destinat utilizarii în interiorul unitatii de sistem a PC-ului (spre deosebire de SCSI care permite o extindere externa).
La început, hard discurile, desi aveau înglobate ceva componente electronice, mai aveau nevoie si de un controler situat pe o placa speciala, care era situata într-un slot de extensie si era legata la hard disc printr-un cablu de tip panglica. Apoi, aproape tot ce era necesar pentru functionarea si interfatarea cu PC-ul a fost pus pe unitatea de disc, dar a rezultat o placa mare care ocupa un slot ISA si mai obtura înca unul. În fine, circuitele electronice si-au redus si mai mult dimensiunea, încât puteau fi puse în totalitate pe unitatea de disc. Astfel, unitatea s-a numit Integrated Device Electronics (IDE), si se conecteaza la placa de baza printr-un cablu panglica cu 40 de fire.Pe un astfel de cablu se pot conecta doua unitati IDE, dintre care una trebuie sa fie principala (master), iar cealalta secundara (slave). Pe cutia fiecarui dispozitiv IDE exista jumperi (contacte) care permit stabilirea functiei de master sau slave.
  Exista sisteme BIOS care permit alocarea automata, daca fiecare dispozitiv IDE are pus jumperul in pozitia „cable select”. O placa de baza are doua conectoare pentru dispozitive IDE, încât pot fi conectate pâna la 4 astfel de dispozitive. Tot pe placa de baza, în apropierea celor 2 cuple pentru canalele IDE exista cupla cu 34 de contacte destinata unitatii de discheta, al carui controler este situat pe placa de baza.
  Când sunt instalate doua unitati (doua controllere), ambele receptioneaza toate comenzile sistemului, dar fiecare raspunde doar la comenzile adresate ei.. Adica, controllerul unei unitati nu raspunde atâta timp cât lucreaza cealalta unitate. IDE este o interfata paralela pe 16 biti.
Rata de transfer a interfetei IDE a crescut continuu, în functie de versiunile aparute. Astfel, rata are valori în gama 4...16 (modul PIO sau modul DMA), sau 16, 33, 66, 100 sau 133 în modurile ultra-DMA, toate valorile fiind în MB/s.

       Magistrala SATA (serial ATA)


Aceasta magistrala a aparut în anul 2004, fiind versiunea seriala a magistralei IDE (ATA sau parallel ATA) pe care tinde sa o înlocuiasca.
Pe placa de baza a unui PC exista 4-6 conectori SATA, fiecare conector având 7 pini Aceasta interfata elimina folosirea jumperilor pentru Master Slave, permite deconectarea/conectarea hard discului si când calculatorul este sub tensiune. Este realizata în 3 variante, având urmatoarele rate de transfer 1,5 Gb/s, 3 Gb/s, 6 Gb/s. Aceste rate sunt potrivite în special pentru dispozitivele de stocare de tip SSD, care au rate de circa 240 MB/s la citire si 70 MB/s la scriere.
Pentru conectarea hard discurilor dotate cu interfata IDE pe o placa de baza cu conectori SATA, exista adaptoare SATA-IDE. Este disponibila de asemenea în varianta e-SATA (external SATA), care permite conectarea exterioara a hard discurilor.

   Magistrala SCSI 
SCSI (Small Computer System Interface) este o varianta alternativa pentru conectarea hard discurilor în interiorul unui calculator, folosita initial la calculatoarele Macintosh, dar apoi si la PC-uri.
Avantajele utilizarii hard discurilor SCSI sunt doua: rata de transfer mai mare si posibilitatea conectarii mai multor hard discuri la calculator. Magistrala SCSI exista în varianta pe 8 biti sau pe 16 biti.
Pentru a implementa o astfel de magistrala, este necesar un controlor SCSI, introdus într-o cupla ISA (PCI). La acest controlor se poate conecta intern (în calculator) un hard disc SCSI, iar extern, la o cupla a controlorului accesibila în exteriorul calculatorului, înca maxim 7 dispozitive SCSI (alte hard discuri, unitati de CD-ROM sau CD-RW, chiar si imprimante). Fiecare astfel de dispozitiv are un identificator unic (adresa) între 0 si 7. De asemenea, fiecare dispozitiv are doi conectori, unul pentru intrare si unul pentru iesire. Iesirea unui dispozitiv este conectata prin cablu la intrarea urmatorului, adica dispozitivele sunt conectate în serie. Ultimul dispozitiv trebuie sa contina un terminator pentru a preveni interferenta dintre reflexiile de la sfârsitul magistralei SCSI si alte date de pe magistrala (acesta absoarbe energia undei). Daca magistrala este pe 16 biti, numarul dispozitivelor care se pot conecta este 16 (inclusiv controlorul).
Controlorul SCSI poate permite dispozitivelor SCSI sa comunice între ele în

sensul transferului de date, fara ca acesta sa mai intervina. Mai mult, toate
dispozitivele SCSI pot rula în acelasi timp. IDE sau EIDE permit ca numai un singur
dispozitiv sa fie activ la un moment dat.
Cablul cel mai des întâlnit pentru SCSI are 50 de fire.

Rata de transfer are valori de tipul 4, 8,..., si pâna la 320 sau 640 MB/s.
Hard discurile SCSI sunt folosite în majoritatea statiilor de lucru UNIX de tip SUN, în calculatoarele Macintosh dar si în PC-urile profesioniste, în special în serverele de retea.

       Magistrala USB

Din cele prezentate pâna în prezent rezulta ca exista destul de multe posibilitati de a
conecta diferitele echipamente de intrare-iesire la un PC. Unele necesita desfacerea
cutiei calculatorului (care bineînteles ca trebuie sa fie deconectat de la reteaua de
alimentare) si introducerea unei placi de extensie într-unul din conectorii PCI sau ISA. Daca placile nu sunt de tip PnP, acestea au comutatoare sau jumpere care trebuie configurate. Apoi trebuie reconectat calculatorul. Altele pot fi conectate la una din cuplele magistralelor standard (paralel, serial), însa numarul acestora este limitat, si în plus nu asigura o viteza de transfer suficienta. Apoi, exista nenumarate tipuri de conectori si, respectiv, cabluri. În concluzie, conectarea acestor echipamente era dificila.
Magistrala USB (Universal Serial Bus) a fost introdusa pentru a înlatura toate aceste neajunsuri.
Obiectivele pe care si le-au propus realizatorii acestei magistrale (companiile Compaq, IBM, Intel, Microsoft, etc.) au fost:

1. Utilizatorii nu trebuie sa aibe de pozitionat comutatoare sau jumpere pe placi sau echipamente.
2. Pentru a instala noi dispozitive de I/O, utilizatorii nu trebuie sa deschida cutia calculatorului.
3. Trebuie sa existe un singur tip de cablu, pentru conectarea tuturor dispozitivelor.
4. Atasarea a pâna la 127 de dispozitive la un singur calculator.
5. Dispozitivele trebuie sa poata fi instalate în timp ce calculatorul functioneaza (hot
plug and play).
6. Dupa instalarea unui nou dispozitiv sa nu trebuiasca sa fie repornit calculatorul.
USB îndeplineste toate aceste conditii. Este proiectata pentru dispozitive de viteza redusa si medie (tastaturi, mouse-uri, camere de luat vederi, scanere, imprimante).
Dispozitivele care se conecteaza sunt de doua tipuri:
-functii, care sunt dispozitive care se ataseaza individual la magistrala USB (tastatura,
mouse, camera digitala, imprimanta);
-distribuitoare (imaginea alaturata), care pun la dispozitie puncte suplimentare de conectare la
magistrala USB, permitând atasarea mai multor dispozitive distribuitoare sau functii;
fiecare punct de atasare se numeste port, existând distribuitoare cu 4 sau 8 porturi.

Calculatoarele sunt dotate cu 4-8 conectori USB.
Fiecare astfel de conector este considerat un distribuitor radacina (root hub), care este legat în interiorul PC-ului, la placa de baza. La fiecare conector USB se pot conecta prin cabluri dispozitive de tip functie sau distribuitoare. Astfel, topologia unui sistem USB este sub forma de arbore, cu radacina în conectorul calculatorului.

Cablul de conexiune contine 4 fire: doua pentru transmiterea datelor, unul pentru

alimentare (+5V), unul pentru masa. Alimentarea poate fi folosita de dispozitivele
care au consum redus (de exemplu, mouse-ul), iar cele care au un consum mare (de
exemplu, un difuzor) trebuie sa aibe alimentare proprie.
Cablurile de conexiune au doua tipuri de conectori: A (pentru conectare la PC sau la portul unui distribuitor, având o forma dreptunghiulara în sectiune) si B (pentru conectare la dispozitiv, având o forma patrata în sectiune).
Au fost realizate 3 variante ale standardului care defineste aceasta magistrala:

USB 1.0, USB 1.1 (foarte apropiate)
Permitea rate de transfer de 1,5 Mb/s (valoarea minima) si 12 Mb/s (valoarea
maxima).
USB 2.0
În acest caz, rata maxima de transfer a ajuns la 480 Mb/s. Când se conecteaza un nou dispozitiv de I/O hub-ul radacina detecteaza acest eveniment si întrerupe sistemul de operare. Apoi, sistemul de operare interogheaza dispozitivul, pentru a determina ce este si ce latime de banda necesita. Daca sistemul de operare accepta banda, asociaza dispozitivului o adresa unica (între 1 si 127) si încarca adresa în registrul de configurare. Toate dispozitivele partajeaza latimea de banda, adica pentru fiecare dispozitiv adaugat, magistrala va fi mai lenta.
Indiferent câte dispozitive sunt conectate, se foloseste o singura întrerupere IRQ. USB suporta trei moduri de lucru:
-întrerupere, pentru dispozitive care nu necesita viteza mare: tastatura, mouse-ul;
-izocron, pentru dispozitive care lucreaza în timp real: microfoane, difuzoare;
-bulk, pentru dipozitive care necesita cantitati mari de date, si permit corectia erorilor, dar nu lucreaza în timp real, cum ar fi imprimantele.

   Magistrala IEEE 1394 sau FireWire a fost a doua magistrala alaturi de USB,

introdusa pentru a compensa dezavantajele celorlalte. Este asemanatoare cu USB.
Este tot o interfata seriala, dar care functioneaza cu rate de transfer mai mari.
Ratele de transfer tipice sunt: 400 Mb/s, 800 Mb/s si 3200 Mb/s.
Cablul de conexiune contine 6 linii: 2 pentru alimentare, si 2 perechi de 2 fire pentru
semnal (numite Signal Pair A si Signal Pair B). Exista si varianta cu 4 linii, în care nu exista alimentarea.


Este folosita în special în domeniul multimedia (camere video digitale).
A fost introdusa de Apple Computer sub numele FireWire, care nu a permis si altor
firme sa o foloseasca sub acest nume.
Se pot conecta pâna la 63 de dispozitive.
Conectarea dispozitivelor se face în serie, prin înlantuire, fiecare având doi conectori.
Se pot folosi si distribuitoare, daca se doreste schimbarea dispozitivelor în timpul
functionarii. Nu necesita un calculator (host), adica pot fi conectate de exemplu doar
doua dispozitive.

CURS 2 MEMORIA -Memoria primara

   Memoria principala (main memory, physical memory) este folosita pentru memorarea instructiunilor care vor fi executate de procesor, precum si a datelor folosite de acestea. Din punct de vedere al caracteristicilor de functionare, memoria principala este o memorie de tip volatil, adica pierde informatia în momentul deconectarii tensiunii de alimentare. Varianta constructiva care corespunde memoriilor volatile poarta numele de RAM (Random Access Memory, memorie cu acces aleator). Termenul de aleator provine datorita faptului ca locatiile memoriei pot fi accesate în orice ordine, în timp ce initial, memoriile puteau fi aceesate doar secvential, adica în ordinea locatiilor. Denumirea de RAM s-a pastrat pâna astazi, desi caracteristica principala a acestor memorii este ca pot fi scrise sau citite de un numar nelimitat de ori. Dupa principiul de functionare, exista doua tipuri de memorii RAM: statice (static
RAM, SRAM) si dinamice (dynamic RAM, DRAM). Memoriile SRAM sunt construite pe baza unor circuite numite bistabile (6 tranzistoare pentru un bit), sunt foarte rapide, având un timp de acces de 2 ns sau mai putin. În schimb, ocupa un spatiu relativ mare si au un pret ridicat. Sunt utilizate, asa cum se va vedea, la memoria intermediara. Memoriile DRAM sunt construite cu ajutorul unor capacitati care pot fi încarcate sau descarcate (1 tranzistor si un condensator pentru un bit). Deoarece sarcina tinde sa se piarda, memoriile DRAM trebuie reîncarcate (refresh) la fiecare câteva zeci de microsecunde. Au o densitate mai mare de biti per cip, din acest motiv fiind mai ieftine. Sunt însa mai lente decât cele de tip SRAM, având un timp de acces de zeci de ns (de la 50 ns, si mai recent 10 ns). Sunt folosite pentru implementarea memoriei principale la PC. La rândul lor, memoriile DRAM au fost concepute în mai multe variante, fiecare urmarind îmbunatatirea performantelor: FPM DRAM (Fast Page Mode DRAM) EDO RAM (Extended Data Out RAM). Aceste prime doua variante nu se mai folosesc în prezent. SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM), reprezinta o varianta îmbunatatita a memoriei SDRAM, deoarece realizeaza doua transferuri pe un ciclu de tact: unul pe front crescator, iar celalat pe front descrescator.

Pe lânga varianta initiala DDR SDRAM, au aparut variantele DDR2 si DDR3 SDRAM.

RDRAM (Rambus DRAM), este un tip de memorie complet nou, în care datele circula în pachete de 16 biti dar cu o viteza mai mare. A fost promovata pe piata în jurul anilor 2000 dar nu a avut succes, si ca urmare în momentul de fata este folosita relativ putin.O memorie RDRAM arata ca in imaginea alaturata:
         

              Din punct de vedere constructiv (fizic), memoriile DRAM sunt realizate sub forma de circuite integrate (cipuri), care au diferite capacitati de memorare si diferite viteze de transfer.




În prezent, varianta constructiva folosita în PC-uri pentru memoria principala este realizata pe o placa de dimensiuni reduse (modul), care contine 8 sau 9 cipuri, si un mare numar de contacte (pini). Aceasta placa se introduce într-un conector special existent pe placa de baza a PC-ului. Pentru primele tipuri de memorii, FPM si EDO, au fost folosite modulele SIMM (Single Inline Memory Module), care actualmente se folosesc mai rar. Memoriile de tip SDRAM si DDR SDRAM sunt realizate sub forma modulelor DIMM (Dual Inline

Memory Module). Ambele module, SIMM si DIMM au contacte (pini) pe ambele


fete, deosebirea fiind ca la SIMM contactele de pe o parte si de pe cealalta sunt identice (conectate între ele), în timp ce la DIMM sunt diferite. În plus, modulele SIMM contin memorii la care magistrala de date este de 32 de biti, iar cele de tip DIMM contin memorii cu 64 de biti. Un modul DIMM exista în diferite variante în functie de numarul de contacte: 100,...,204, 214, 240, corespunzând la diferite tipuri functionale (SDRAM, DDR, DDR2, DDR3) si capacitati. Trebuie mentionata si varianta SO-DIMM (Small Option DIMM), folosita pentru sisteme de mici dimensiuni (laptop, ruter, etc.) Oricare din aceste module pot avea capacitati de 128 MB, 256 MB, 512 MB, 1024 MB (1 GB), 2 GB sau 4 GB. Pe placa de baza a PC-ului exista 2, 3 sau 4 conectoare pentru astfel de memorii, în care pot fi introduse module, astfel rezultând capacitatea totala a memoriei. Trebuie precizat ca aceste tipuri de memorii nu sunt compatibile, în sensul ca nu se poate înlocui un tip de memorie cu un altul (de exemplu, o memorie DDR RAM cu una DDR2 RAM sau invers).
În aceste sens, în functie de principiul de functionare si numarul de pini, modulele DIMM au câte o crestatura (cele pentru DDR, DDR2 sau DDR3), sau 2 (pentru SDRAM) care permite montarea corecta în soclurile de pe placa de baza .

Fiecare placa de baza admite un anumit tip de memorie RAM, în functie de care contine soclurile (conectorii) adecvate.Capacitatea maxima a memoriei RAM care se poate pune într-un PC depinde însa de structura placii de baza a PC-ului.
Actualmente se pot pune memorii pâna la ordinul a 8-16 GB. Calculatoarele de tip server pot avea memorii de peste 16GB. Pe lânga capacitate, a doua caracteristica importanta a memoriilor este viteza. În prima faza, viteza este exprimata cantitativ prin timpul de acces (timpul necesar pentru realizarea transferului în/din memorie). Totusi, în practica, viteza este caracterizata adesea prin latimea de banda (bandwidth), adica cantitatea de informatie transmisa în unitatea de timp. Ea se determina prin produsul dintre frecventa semnalului de tact din magistrala de date a memoriei si numarul de octeti pe care se face transferul si se masoara în MB/s (1 MB/s reprezinta 106 octeti pe secunda!). Frecventa din magistrala memoriei poate sa fie identica sau nu cu cea din magistrala Front Side Bus (FSB), dar sigur mai mica decât cea a procesorului. De exemplu, la un procesor Pentium III cu frecventa procesorului de 1,2 GHz, folosind o memorie de tip SDRAM, frecventa magistralei memoriei este de 133 MHz., iar magistrala de date are 64 biti. Atunci, latimea de banda este: 133,33 MHz × 8 B = 1064 MB/s. Inversul frecventei de tact, adica 1/133,33 MHz=7,5 ns trebuie sa corespunda în acest caz cu timpul de acces al memoriei (acesta poate fi eventual mai mic). Pentru procesoarele dual core sau quad core frecventa magistralei (FSB) poate fi 1066 MHz sau 1333 MHz.Pentru a preciza viteza unui modul de memorie, se specifica de catre producator fie frecventa magistralei (PC 100, PC 133, pentru module SDRAM) sau latimea de banda (PC-1600, PC2-3200, PC3-6400 pentru module DDR-SDRAM).Latenta unei memorii se exprima sub forma unui sir de 4 numere, exprimate în cicluri de tact, tCAS-tRCD-tRP-tRAS. Aceste numere reprezinta întârzierile care se produc în procesul de accesare a memoriei si depind de modul în care este organizata o memorie,asemamator cu o matrice cu linii si coloane. Latenta poate influenta valoarea ratei de transfer, în sensul cresterii ei, daca de exemplu primul timp, tCAS (column acces strobe time) se micsoreaza prin intermediului programului de configurare BIOS setup. Acest lucru poate duce însa la instabilitatea sistemului.
Alte probleme legate de memorii:
-protectia antistatica (înainte de montarea în interiorul calculatorului, persoana respectiva trebuie sa se descarce de electricitate statica prin atingerea cu mâna a carcasei calculatorului);
-atasarea unor radiatoare sau ventilatoare în scopul racirii memoriilor
La fel ca si capacitatea maxima a memoriei, si frecventa magistralei de memorie, este o caracteristica a placii de baza. În functie de valoarea acesteia se aleg memoriile care se pot introduce pe o placa de baza. Informatia înscrisa în memoriile RAM poate fi afectata însa de erori, adica inversarea bitilor. Exista posibilitatea detectarii sau corectarii erorilor, însa aceasta necesita biti suplimentari, si, respectiv, costuri suplimentare.
O metoda pentru detectarea erorilor este paritatea. Astfel, la fiecare octet, se adauga un al 9-lea bit, a carui valoare este 1 daca cei 8 biti contin un numar par de valori 1 logic, sau 0 în caz contrar.
Exista trei tehnici de protectie împotriva erorilor la memoriile moderne:
-fara paritate, nu au practic nici o protectie împotriva erorilor;
-cu paritate, pot detecta erorile;
-ECC (Error Correcting Code), pot corecta erorile.
Când detecteaza o eroare de paritate, circuitele de verificare a paritatii de pe placa de baza, genereaza o întrerupere, care îndreapta atentia sistemului asupra erorii. Urmeaza lansarea în executie a unei rutine (program) din memoria ROM, care ofera optiunea alegerii între repornirea sistemului si ignorarea erorii.


 Memoria intermediara sau cache a fost introdusa în scopul cresterii vitezei de lucru a UCP. Ideea de baza a memoriei intermediare este
urmatoarea: cuvintele de memorie cele mai frecvent utilizate sunt pastrate în memoria intermediara; doar când UCP nu gaseste un cuvânt îl cauta în memoria principala. Problema care se pune este în ce mod si când se aduc cuvintele de memorie din memoria principala în cea intermediara. Controlerul de memorie cache îndeplineste aceasta functie. În acest sens, se stie  ca instructiunile unui program sunt continute în locatii de memorie succesive. Doar când se fac ramificatii sau apeluri de subrutine, octetii corespunzatori instructiunilor sunt în zone
diferite. Astfel, când un octet este referit de catre UCP, atât el cât si o parte dintre vecinii sai sunt adusi din memoria principala în memoria intermediara. În acest fel, la urmatoarele referiri, octetii sunt adusi din memoria intermediara, adica mult mai rapid.
O posibila dispunere a UCP, memoriei intermediare si memoriei principale este prezentata în figura alaturata:
 Din punct de vedere logic, memoria intermediara este între
UCP si memoria principala. Din punct de vedere fizic,
întreaga memorie intermediara se afla în UCP desi initial o parte a memoriei intermediare  era plasata pe placa de baza.

În momentul în care PC-ul începe functionarea, microprocesorul acestuia trebuie sa gaseasca undeva instructiunile necesare. Locul ideal pentru instructiunile respective este memoria de tip ROM (Read Only Memory, memorie doar pentru citire). Caracteristica principala a acestei memorii este ca pastreaza informatia si dupa deconectarea tensiunii de alimentare, din acest motiv ea se numeste nevolatila. În PC, memoria ROM are alocat un interval de adrese din spatiul memoriei RAM, adica se poate spune ca face parte din memoria RAM. Plecând de la varianta initiala ROM (care poate fi înscrisa o singura data de catre producator), au aparut apoi memoriile de tip PROM –  Programmable ROM (care pot fi scrise tot o singura data, dar de catre utilizator), EPROM-Erasable PROM (acestea pot fi sterse prin iradiere la o radiatie ultravioleta timp de 15 minute si bineînteles rescrise). În fine, varianta EEPROM – Electrical EPROM, poate fi stearsa electric, prin aplicarea unor impulsuri, în timp ce circuitul este pe placa în care functioneaza în mod normal. Înscrierea se face cu circuitul în acelasi loc, spre deosebire de EPROM care necesita scoaterea circuitului si introducerea într-un echipament special. EEPROM nu poate intra în competitie cu DRAM sau SRAM pentru ca este mai lent si mai scump. O varianta recenta de EEPROM este memoria flash, care poate fi scrisa si stearsa la nivel de blocuri de octeti, fiind folosita la camere video digitale telefoane sau alte aparate digitale.

La un PC, memoria ROM, este neceesara pentru înscrierea unui software numit ROM BIOS (Basic Input Output System)

sau simplu BIOS. BIOS-ul contine programele de pornire si driverele care actioneaza ca interfata cu hardware-ul de baza din sistem (tastatura, hard disc, unitatea de discheta, etc.). În afara de cipul ROM de pe placa de baza, exista cipuri ROM si pe unele placi adaptoare cum ar fi placa video.


Pe placa de baza mai exista o memorie numita RAM CMOS. Aceasta contine parametrii ceasului de timp real (data, ora) precum si parametrii de configurare (pentru hard disc, etc.). Cipul RAM CMOS pastreaza informatia la deconectare, deoarece este alimentat de la o baterie. Tehnologia CMOS permite un consum foarte mic (1 microA). O parte a programului BIOS, numita BIOS setup, citeste acesti parametri sau permite utilizatorului sa-i modifice. Capacitatea acestei memorii este de 64 octeti. Pe lânga varianta clasica cu baterie separata (de litiu, miniaturala), exista si variante constructive care contin în aceeasi capsula circuitul RAM CMOS cât si bateria. Capacitatea cipului ROM care contine BIOS-ul este în mod uzual de 128 KB, dar poate ajunge la 256 KB, 512 KB sau chiar câtiva MB, si este realizat în tehnologie
EEPROM sau flash EEPROM. Rularea de catre PC a BIOS-ului se face la conectare si are ca scop final încarcarea sistemului de operare.
Deoarece este realizata într-o tehnologie Flash EEPROM, tot aici trebuie amintita memoria numita Memory Stick sau USB mini drive. Este realizata pe un dispozitiv de dimensiuni reduse, se conecteaza la portul USB  al calculatorului. Are capacitati de ordinul 1 GB, 2 GB sau 4 GB sau chiar 16 GB.




CURS 1 Memoria calculatorului-GEMERALITATI


Memoria unui calculator este necesara pentru stocarea informatiei sub forma datelor si a programelor. Într-un calculator, memoria este constituita sub forma unei ierarhii: memoria primara si memoria secundara. Memoria primara contine: rgistrele UCP, care pot fi accesate la viteza acesteia, memoria intermediara (cache) si memoria principala. Memoria primara este utilizata pentru memorarea temporara a informatiei. Desi permite memorarea permanenta a informatiei, memoria ROM poate fi inclusa tot în categoria memoriei primare. Memoria secundara poate fi realizata prin discuri magnetice sau discuri optice. Se foloseste pentru memorarea permanenta (depozitarea) informatiei.
                                                            

CURS 1 CPU-UNITATEA CENTRALA DE PRELUCRARE(UCP sau CPU)


In ultimul timp au aparut procesoarele de tip dual core si  quad core, care contin 2 sau 4 procesoare în aceeasi capsula. Acesta lucreaza cu o frecventa de tact de pâna la3 GHz.Pentru a utiliza aceste procesoare, sistemul de operare trebuie sa recunoasca structura multithreading (multifir-executia simultana a mai multor parti ale unui program, fara a se influenta unele pe altele) si sa contina partea de cod care sa permita lucrul în tehnologia multithreadiding. Exemplu: Adobe Photoshop este un program care foloseste tehnologia multithreading. Un astfel de procesor îmbunatateste viteza de executie si eficienta rularii programului, fiecare miez (core) poate executa pâna la 4 instructiuni simultan.Cerintele impuse în proiectarea oricarei variante noi de procesor au fost sa pastreze compatibilitatea cu variantele anterioare, încât orice program care ruleaza pe o anumita varianta de procesor sa poata rula la fel si pe urmatoarele variante. Bineînteles ca noile variante puteau face totdeauna lucruri pe care predecesoarele lor nu le puteau face. Scopul pentru care a fost creat un procesor este de a executa un program, care este compus dintr-o succcesiune de instructiuni. Aceste instructiuni sunt stocate în memorie sub forma de octeti (în general între 1 si 12 octeti pentru o instructiune), la adrese succesive. Principalii parametri ai unui procesor sunt latimea si viteza. Latimea, sau numarul de biti, este influentata de trei caracteristici: magistrala de date, magistrala de adrese si registrele interne.  Viteza procesorului este exprimata prin frecventa de tact (ceasul sistemului) pe care acesta îl primeste de la un oscilator cu cristal de cuart. O perioada (ciclu) a semnalului cu frecventa de tact este unitatea de timp elementara în functie de care se se exprima viteza procesorului. Frecventa de tact se exprima în MHz  sau GHz . 1 Hz înseamna un ciclu (o oscilatie) pe secunda. 

Primul procesor a avut frecventa de tact de ordinul a 5 MHz. Pentru variantele ulterioare, aceasta a crescut la valori succesive de zeci, sute de MHz, ajungându-se actualmente la valori de câtiva GHz.
Procesoarele originale aveau nevoie de 12 perioade (ciclii) pentru a face o instructiune. Apoi, numarul de perioade s-a redus, de exemplu 486 avea nevoie de 2, iar cele începând cu generatia Pentium II pot executa 3 sau mai multe instructiuni pe un ciclu. Rezulta ca procesoarele nu se pot compara din punct de vedere al vitezei doar în functie de frecventa de tact. În concluzie, cresterea numarului de instructiuni/unitatea de timp pentru un procesor se poate face: 
-brut, prin marirea frecventei de tact; 
-printr-o proiectare avansata care sa permita mai multe instructiuni într-unciclu(multithreading).
Legat de frecventa pocesorului trebuie retinut ca celelalte componente de pe placa de baza functioneaza la o frecventa mai mica decât procesorul. În acest sens trebuie amintita magistrala FSB (Front Side Bus) care face legatura între procesor si asa numita punte de nord (North Bridge), care lucreaza la o frecventa fFSB. Frecventa de lucru a procesorului se obtine prin înmultirea fFSB(frecventa magistralei FSB) cu un factor, numit clock multiplier (cm). Exemplu: fFSB=800 MHz, cm=4, rezulta fprocesor= 3200 MHz. Tot legat de frecventa de tact a procesorului trebuie amintita idea de overclocking, adica practica de a face procesorul (si alte componente ale calculatorului) de a functiona peste performantele pentru care au fost proiectate. De exemplu, cresterea frecventei de tact a procesorului se poate face prin modificarea factorului de multiplicare sau a frecventei magistralei FSB. Acest lucru se realizeaza practic prin modificari în programul BIOS setup sau modificari ale unor comutatoare de pe placa de baza. 
                           Magistrale

Din punct de vedere constructiv procesorul are o multime de pini (terminale). Acestiase pot grupa în trei mari categorii: pinii magistralei de date, pinii magistralei de adresesi pinii magistralei de control. Procesorul este conectat prin intermediul acestor treimagistrale la pini similari ai memoriilor sau echipamentelor de intrare-iesire. Altfel spus, o magistrala este constituita dintr-o multime de linii (fire) paralele. Pentru a vorbi despre magistrale este necesar sa se cunoasca (reaminteasca) ce este aceea memorie. Memoria este un dispozitiv care contine mai multe locatii, fiecare putând memora un octet. Fiecare locatie are o adresa. Magistrala de date este „poarta” pe care intra sau iasa informatia propriuzisa în/din procesor (atât datele cât si programele, acestea din urma doar ca intrare) de la sau catre memorie. Caracteristica sa principala este numarul de biti (largimea). Initial, procesoarele aveau magistrale de date de 8 biti, apoi acest numar a cresut, având succesiv valorile: 16, 32 sau 64 de biti. Prin magistrala de adrese, procesorul precizeaza adresa din memorie a octetului care urmeaza sa fie citit sau scris. Si în acest caz caracteristica principala este numarul de biti. Acesta a evoluat în timp, având urmatoarele valori: 16, 20, 32, 36, 44. Marimea (latimea) acestei magistrale determina dimensiunea maxima a memoriei pe care procesorul o poate adresa. Asa cum s-a precizat anterior, latimea unui procesor depinde de magistralele de date si adrese. Astfel, un procesor cu n biti în magistrala de adrese poate adresa 2^n locatii de memorie. Un procesor cu m biti pe magistrala de date poate citi sau scrie într-o
singura instructiune cuvinte de m biti.Un registru este o locatie speciala pentru memorarea datelor din interiorul procesorului permitând cea mai mare viteza de citire sau scriere dintre toate dispozitivele calculatorului. Toate datele trebuie introduse în registre înainte de prelucrare. Fiecare procesor are mai multe registre, unele având functii dedicate, altele de uz general. În general, latimea, în biti a registrelor procesorului este aceeasi cu cea a magistralei de date.


Totusi, prin magistralele de adrese si date se poate accesa si altceva în afara de locatii
de memorie. Anume, daca nivelul logic al tensiunii de pe un pin numit Memory (din magistrala de control) se modifica din 1 în 0, procesorul semnalizeaza faptul ca doreste ca adresa respectiva sa fie interpretata de o locatie dintr-un spatiu total diferit. Deoarece rolul principal al acestor locatii este sa transfere informatii între procesor si alte parti ale PC-ului, inclusiv spre exterior, respectivul spatiu a fost numit spatiul porturilor de intrare/iesire (I/O, input-output) al PC-ului. Indiferent câte linii de adrese are procesorul în total, pentru porturile de intrare-iesire sunt folosite doar 16. Deosebirea esentiala între porturile de intrare-iesire si memorii consta în actiunile care se efectueaza asupra datelor: când se scriu octeti într-un port, acestia vor ajunge la un dispozitiv hardware receptor (exemplu: monitor, imprimanta), iar când se citesc, acestia reprezinta informatia receptionata de port din exterior (exemplu: tastatura, mouse), adica, în general nu se citeste ceea ce a fost scris initial, cum se întâmpla la memorii. Multe dispozitive folosesc o gama de adrese de intrare/iesire, exprimata ca un interval de numere hexazecimale. Magistrala de control are rolul de a regla fluxul si cadenta datelor de la si catre UCP,
precum si alte câteva functii. Pinii care compun aceasta magistrala au functii individuale, spre deosebire de cei din magistralele de date si adrese. Pe lânga pinii din cele 3 magistrale mai exista si pinii la care trebuie aplicate
tensiunile continue de alimentare.
Structura unui procesor. Unitatea aritmetica si logica. Registre mai importante Procesorul este format în principal din unitatea aritmetica si logica (UAL) si mai multe registre, care sunt legate împreuna prin magistrale interne. Unul dintre cele mai importante registre al unui procesor este registrul numarator de program (program counter, PC). Acesta contine totdeauna adresa din memorie a instructinunii care se executa (sau urmeaza sa se execute), si îsi modifica continutul în ritmul executarii programului. De asemenea, un alt registru important este si registrul de instructiuni, care pastreaza instructiunea în curs de executie. În plus, UCP contine mai multe registre de uz general. UAL executa asupra datelor de intrare operatii aritmetice (adunari, scaderi, înmultiri,împartiri), operatii logice (SI, SAU) si alte operatii simple. În fig. 3.1 se prezinta o parte a UCP, numita „calea de date von Neumann”, având ca element central UAL. În continuare se exemplifica realizarea unei adunari de catre aceasta structura.
1. Cei doi operanzi, O1 si O2, se afla în doua registre de uz general, A si B.
2. Operanzii sunt transferati în cele doua registre de intrare ale UAL.
3. UAL calculeaza rezultatul adunarii, si depune rezultatul în registrul de iesire.
4. Rezultatul este mutat în alt registru de uz general al UAL, C.Apoi, daca se doreste, continutul registrului C poate fi transferat în memorie.

Majoritatea instructiunilor sunt de tipul registru-registru sau registru-memorie. În
primul caz, operanzii (operandul) sunt extrasi din registre si adusi în registrele de
intrare ale UAL, iar rezultatul este depus într-un alt registru. În al doilea caz,
operanzii (operandul) sunt adusi din memorie în registre, de unde pot fi folositi ca
date de intrare pentru UAL. Rezultatul este depozitat înapoi în memorie.
În principiu, pasii pe care îi realizeaza procesorul la executia unei instructiuni sunt
urmatorii:
1. Transfera instructiunea din memorie în registrul de instructiuni (extrage instructiunea).
2. Schimba numaratorul de program astfel încât acesta sa indice adresa urmatoarei instructiuni (continutul acestuia creste cu un numar egal cu numarul de octeti al instructiunii în curs de executie).
3. Determina tipul instructiunii proaspat extrase (decodifica).
4. Daca instructiunea are nevoie de un operand (cuvânt) din memorie, determina unde se gaseste acesta.
5. Extrage (aduce) cuvântul respectiv în unul dintre registrele UCP, daca este cazul.
6. Executa instructiunea.
7. Salt la pasul 1 pentru a începe executia instructiunii urmatoare.Deseori, aceasta secventa de pasi este denumita ciclul extrage-decodifica-executa (fetch-decode-execute).Trebuie precizat ca exista situatii când executia programului contine ramificatii sau salturi, adica instructiunile executate nu sunt situate la locatii succesive în memorie.În acest caz la punctul 6 de mai sus efectul instructiunii este ca în registrul numarator de program este introdusa adresa instructiunii de salt, care este diferita de adresa instructiunii introduse la punctul 2.

Alte caracteristici ale procesoarelor


Tehnica pipeline În scopul cresterii vitezei de executie a instructiunilor, procesoarele folosesc tehnica numita pipeline (banda de asamblare sau conducta).
Astfel, executia unei instructiuni este împartita în mai multe parti, de fiecare parte ocupându-se o componenta hardware dedicata (unitate) a procesorului. Toate unitatile hardware pot sa functioneze în paralel.
În imaginea alaturata este prezentata o banda de asamblare cu 4 unitati (numite si segmente), S1 pentru extragere instructiune, S2 pentru decodificare, S3 pentru extragere operanzi iar S4 pentru executie.

Functionarea este prezentata în continuare: -pe perioada ciclului 1, unitatea S1 extrage instructiunea 1 (I1) din memorie; -pe perioada ciclului 2, unitatea S1 extrage instructiunea 2 (I2) din memorie, iar unitatea S2 decodifica I1; -pe perioada ciclului 3, unitatea S1 extrage instructiunea 3 (I3) din memorie, unitatea S2 decodifica I2, iar unitatea S3 extrage operanzii pentru I1; -pe perioada ciclului 4, unitatea S1 extrage instructiunea 4 (I4) din memorie, unitatea S2 decodifica I3, unitatea S3 extrage operanzii pentru I2, iar unitatea S4 executa I1. Astfel, dupa 4 cicluri, instructiunea 1 este executata complet, instructiunea 2 este executata în proportie de 75%, etc.

Memoria intermediara
În general, procesoarele pot lucra la viteze mult mai mari în raport cu memoriile.        
Introducerea unei memorii mai mari în interiorul UCP i-ar creste acesteia
dimensiunile si costul. Memoria intermediara sau cache (de la frantuzescul cacher, a
ascunde) este o memorie de capacitate mai mica dar foarte rapida. Memoria principala
a calculatorului (identificata de obicei ca RAM) are o capacitate foarte mare dar este
mai lenta. Ideea de baza a memoriei intermediare este urmatoarea: cuvintele de
memorie cele mai frecvent utilizate sunt pastrate în memoria intermediara; doar când
UCP nu gaseste un cuvânt, îl cauta în memoria principala.
Orice procesor are un controler de memorie cache care este responsabil cu aducerea datelor din memoria principala în cea de tip cache. O caracteristica a memoriei cache este raportul dintre cache hit (numarul de accesari reusite la memoria cache, adica atunci când datele de care procesorul avea nevoie au fost gasite în memoria cache) si numarul total de accesari.
Termenul de cache miss se refera la cazurile în care datele solicitate de procesor nu au fost
încarcate în prealabil în memoria cache, urmând sa fie preluate din memoria principala, mai lenta. De exemplu, un procesor Intel Core Duo 6600 are o memorie intermediara pe doua      
niveluri. Exista o pereche de memorii intermediare de 32 KB pentru instructiuni si 32
KB pentru date, chiar în cipul UCP (level 1-nivelul 1), precum si o memorie
intermediara unificata, situata tot în interiorul capsulei circuitului integrat care
gazduieste UCP, legata de UCP printr-o cale de mare viteza (nivelul doi), de 4 MB.
Ambele memorii ruleaza la frecventa cu care lucreaza si procesorul, adica 2 GHz.
Procesorul Itanium a fost construit chiar cu 3 niveluri de memorie cache. Pentru alte procesoare dual core sau quad core memoria cache L2 este în gama 6MB -12 MB, asa cum rezulta si din tabelul da la pag. 12. Acesata memorie este
folosita în comun de toate procesoarele.
Modul protejat :Initial, procesoarele (8088 si 80286) rulau în asa numitul mod real. În acest mod, sistemul de operare (asigura gestionarea resurselor hardware si software ale calculatorului si interfata cu utilizatorul) era de tipul single-tasking, adica numai un program rula la un moment dat. Sistemul de operare folosea instructiuni de 16 biti si putea adresa 1 MB de memorie. Nu exista protectie incorporata pentru ca un program sa nu suprascrie peste un alt program sau chiar peste sistemul de operare. Astfel, daca rulau mai multe programe, întregul sistem se putea bloca. O importanta facilitate a procesoarelor, aparuta odata cu generatia Intel 386, o reprezinta existenta modului protejat. Conform acestui mod nu se pot face scrieri la orice adresa din spatiul de memorie. Acest mod este folosit pentru facilitarea unui mod de lucru multitasking foarte bun. Modul multitasking înseamna ca pe un calculator pot rula în acelasi timp mai multe programe aplicatie, fara ca ele sa interfere unul cu celalalt. Sistemele de operare scrise pentru aceste calculatoare opereaza cu instructiuni pe 32 de biti si pot adresa întregul spatiu de memorie. Un program eronat nu putea deteriora alte programe sau sistemul de operare. Putea fi terminat, în timp ce restul sistemului continua sa functioneze fara a fi afectat.
Întreruperi
Un alt aspect important al procesoarelor este conceptul de întrerupere. În principiu prin întrerupere se întelege întreruperea executiei normale a unui program datorita unui eveniment care a avut loc în exteriorul sau în interiorul UCP. Ca efect, programul în rulare va fi întrerupt si se va face un salt la un alt program a carui adresa depinde de evenimentul care a generat întreruperea. Programul respectiv trebuie sa realizeze niste actiuni în functie de evenimentul (sursa) care a generat întreruperea. Dupa efectuarea acelui program, procesorul va continua cu rularea programului initial, din punctul în care a fost întrerupt. O alternativa mult mai putin eficienta este ca UCP sa verifice periodic daca anumite evenimente au avut loc. În acest caz s-ar pierde timp în situatiile în care verificarea se face degeaba. În plus, s-ar putea ca anumite evenimente sa apara între doua verificari consecutive, iar deservirea lor ulterioara sa fie prea târzie. Semnalele (cererile) de întreruperi pot veni de la diverse surse. De exemplu, apasarea unei taste, receptia unui octet la portul serial sau conectarea unui dispozitiv la un port USB genereaza întreruperi. Acestea sunt întreruperi hardware. Întreruperile initiate în urma executiei unui program se numesc întreruperi software (de exemplu la realizarea unei împartiri cu zero).


IRQ (Interrupt ReQuest line) reprezinta liniile prin care dispozitivele hardware pot cere întreruperi procesorului. Fiecare dispozitiv (porturi, tastatura, hard disc,...) are alocata o astfel de linie, numita IRQi, cu i având valori între 1 si 15. Cele 15 linii sunt conectate la intrarile a doua circuite speciale numite controllere de întreruperi, legate în cascada, de unde o singura linie este conectata la o intrare speciala (pin) al procesorului. Procesoarele din familia Intel accepta 256 de tipuri de întreruperi (15 hardware), fiecare corespunzând unui anumit eveniment. Prin constructie, s-a stabilit modalitatea de determinare a adresei unde se va face saltul pentru deservirea întreruperii, astfel: în memorie exista o tabela, cu 1024 de locatii, situata chiar la începutul memoriei; pentru fiecare întrerupere exista alocati 4 octeti, în functie de care se calculeaza adresa de salt. Aceasta tabela este creata în timpul procedurii de initializare a sistemului, de catre programul continut în memoria ROM BIOS.
Tehnica DMA
O alta caracteristica standard a procesoarelor din PC-uri este tehnica DMA. De fiecare data când are loc un transfer între un dispozitiv de intrare-iesire (prin intermediul unui port) catre memorie sau invers, acesta are loc în doua etape: în prima octetul este citit de UCP într-unul dintre registre, iar în a doua octetul este scris în memorie. Daca numarul de octeti care trebuie transferat este mare, aceasta metoda are dezavantajul ca UCP nu poate face altceva în acel timp si, respectiv, transferul se face în doi pasi. Pentru a elimina acest neajuns, proiectantii PC-urilor au decis sa incorporeze în acesta un circuit (procesor) suplimentar, numit controller de acces direct la memorie (Direct Memory Access, DMA). Astfel, UCP poate sa-i spuna controller-ului de DMA sa transfere un bloc de octeti din memorie într-un dispozitiv de iesire, sau în sens invers, dintr-un dispozitiv de intrare în memorie. Un PC are 8 canale DMA, folosite de placa de sunet, unitatile de hard disc si de discheta, etc.
Când PC-ul este pus sub tensiune, procesorul sare automat la adresa FFFF0h, asteptând sa gaseasca aici instructiuni de executat. Rezulta ca la adresa respectiva trebuie sa existe memorie ROM, care pastreaza informatia în permanenta. Deoarece aceasta adresa este cu exact 16 octeti mai jos de sfârsitul primului megaoctet (MB) de memorie, care reprezinta tot ceea ce vede procesorul la pornire, la adresa respectiva trebuie înscrisa o adresa de salt la o adresa mai mica.
   Un program reprezinta o lista secventiala de instructiuni.
Un procesor poate sa faca în principal urmatoarele trei tipuri de instructiuni:
-operatii aritmetice si logice pe baza UAL
-poate transfera un operand dintr-o locatie de memorie în alta
- poate testa rezultatul operatiilor efectuate si apoi, functie de rezultatul testului, poate
face salturi în program.
Exista mai multe tipuri de limbaje de programare:
-Limbaje de nivel înalt (C, Pascal, BASIC)
-Limbaje de nivel coborât, numite limbaje de asamblare.
Orice program trebuie translatat într-un limbaj masina pe care îl întelege procesorul. Acest
lucru este realizat de programe numite complilatoare, interpretoare sau asambloare.
Exemple de instructiuni în limbaj de asamblare:
• LOADA mem – Încarca registrul A cu continutul locatiei de memorie de la
adresa mem.
• LOADB con – Încarca registrul B cu constanta con.
• SAVEB mem – Salveza registrul B în locatia de memorie de la adresa mem.
• ADD – Aduna registrele A si B si depune rezultatul în registrul C.
• SUB – Scade registrele A si B si depune rezultatul în registrul C.
• JUMP addr – Salt la adresa addr
• JNEQ addr – Salt, la adresa addr, daca operandul A nu este egal cu B.
Fiecare instructiune în limbaj de asamblare este reprezentata prin 1, 2 sau mai multi octeti. Aceste numere binare reprezinta limbajul masina. Astfel, un program este reprezentat printr-un numar de octeti în memorie.