Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Aceasta lucrare prezinta principalele componente ale unui sistem de calcul precum si modul de functionare al acestora. Se va analiza modul in care diferitele componente ale unui calculator influenteaza performantele globale ale sistemului. Ca si exemplu de implementare se considera arhitectura calculatoarelor personale compatibile IBM.
Un sistem de calcul este un ansamblu de componente hardware (dispozitive fizice) si software (programe) care permit solutionarea unor probleme a caror rezolvare se poate descrise sub forma unui algoritm. Desi astazi exista foarte multe domenii si aplicatii in care calculatorul se dovedeste util, chiar indispensabil, sunt si probleme care nu pot fi rezolvate pe calculator. De exemplu alegerea partenerului ideal se pare ca nu este o problema algoritmizabila, desi au fost incercari chiar si in aceasta directie. In schimb sunt multe cazuri in care absenta calculatorului ar fi de neconceput. De exemplu in cazul unor procese tehnologice in care timpul de reactie trebuie sa fie sub o anumita limita, controlul nu s-ar putea realiza fara un calculator. De exemplu controlul centralelor nucleare, controlul unor procese chimice rapide, sau un stimulator cardiac depinde in mare parte de calculator.
Un sistem de calcul poate fi analizat din mai multe perspective: dintr-o perspectiva logica (structurala) si dintr-o perspectiva fizica.
Intr-o abordare logica un calculator este un sistem stratificat pe mai multe nivele ierarhice. In figura I1 s-a reprezentat o posibila stratificare a functiilor unui calculator.
La nivelul cel mai de jos se afla masina fizica alcatuita din componente electronice si mecanice. La acest nivel se lucreaza cu secvente de biti care reprezinta coduri de instructiuni si date. Nivelul urmator, al limbajului de asamblare, permite programarea calculatorului prin instructiuni simple exprimate prin mnemonici. Fiecare mnemonica corespunde unui cod de instructiune. Lucrul la acest nivel necesita cunostinte detaliate cu privire la structura si modul de functionare al diferitelor componente ale calculatorului. Acest nivel este de obicei rezervat specialistilor care scriu drivere sau alte componente pentru sistemul de operare.
Sistemul de operare usureaza accesul la resursele calculatorului oferind un limbaj sau un mediu de operare si un set de rutine predefinite (drivere) pentru lucrul cu aceste resurse. Prin apelul unor functii sistem (eng. System calls) se pot efectua diferite operatii cu resursele fizice (ex: disc, tastatura, mouse, ecran, etc.) si logice (ex: ceasul sistem) ale calculatorului. Utilizatorul trebuie sa cunoasca doar interfata de acces la aceste functii (ex: parametrii de apel), fara sa fie necesara cunoasterea detaliata a resurselor utilizate. Mai mult, modificarile aduse in timp diferitelor resurse nu afecteaza modul de utilizare a apelurilor sistem.
Nivelul urmator este cel al limbajelor de nivel inalt si a mediilor de programare. Majoritatea limbajelor de programare dispun de o biblioteca bogata de functii prin care se pot utiliza resursele calculatorului. La acest nivel se lucreaza cu concepte mai abstracte (ex: fisier in loc de sectoare pe disc, structuri de date in loc de locatii de memorie) care simplifica semnificativ efortul de programare.
Pentru diferite tipuri de aplicatii exista produse program care faciliteaza accesul la resursele unui calculator si pentru personal ne specializat in domeniul calculatoarelor. Astfel un proiectant in domeniul mecanic sau in domeniul constructiilor utilizeaza calculatorul prin intermediul unor medii de proiectare asistata (CAD - Computer Aided Design). Acesti proiectanti opereaza cu comenzi specifice domeniului si mediului de proiectare utilizat. In aceeasi categorie se pot include programe de uz general precum produsele Windows Office (Word, Excel, Power Point) sau cele de navigare si comunicare pe Internet.
Cu cat opera la un nivel mai inalt comenzile date calculatorului sunt mai abstracte si in general mai simple. Dar operatiile ce pot fi solicitate sunt mai limitate si ele afecteaza in masura mai mica functionarea intima a resurselor calculatorului. De exemplu cu un program de editare reusim sa scriem pe un suport extern de date, dar nu se poate controla sectorul sau pista pe care va avea loc inscrierea. De asemenea eventualele erori aparute sunt tratate de sistemul de operare.
Din punct de vedere fizic, conform modelului clasic definit de J. Von Neumann, un calculator se compune din tipuri de 5 componente:
dispozitive de intrare (ex: tastatura, mouse, interfete de proces, etc.)
memorie (interna si externa, volatila si nevolatila)
unitate aritmetico-logica
unitate de comanda
dispozitive de iesire (ex: ecran, imprimanta, etc.)
Aceste componente sunt conectate intre ele prin una sau mai multe magistrale. Magistrala se defineste ca un mediu de comunicatie intre componentele unui calculator. O magistrala se compune dintr-un set de semnale prin care se transmit date si comenzi. Transferul de date pe magistrala se face pe baza unui set de reguli. Aceste reguli stabilesc cine, cand si cum comunica pe magistrala; stabilesc secventa de aparitie a semnalelor, interconditionarile existente intre semnale si relatiile de timp intre semnale.
Schema simplificata a unui calculator este redata in figura I2.
Un calculator actual, cum ar fi de exemplu un calculator personal are in mod uzual urmatoarele tipuri de componente:
procesor - indeplineste functia de coordonare a sistemului; realizeaza citirea instructiunilor si pe baza lor prelucreaza un set de date
memoria interna - pastreaza instructiunile si datele in curs de prelucrare
controlorul de intreruperi - detecteaza anumite evenimente interne sau externe si alerteaza procesorul in vederea procesarii acestora
controlorul de 'acces direct la memorie' - controleaza transferul de mare viteza al unor date intre memorie si o interfata de intrare/iesire
interfata paralela - asigura conexiunea calculatorului cu un dispozitiv extern (ex: imprimanta) prin intermediul unui set de linii de date
interfata seriala - asigura conexiunea calculatorului cu un dispozitiv extern printr-un set limitat de linii (de obicei o linie/directie de transfer)
interfata cu dispozitivele externe de memorare (unitati de disc fix si flexibil, CD, DVD, etc.)
interfata video - permite afisarea datelor pe un ecran (tub cinescop sau LCD)
interfata de retea
interfata seriala de mare viteza - USB
sursa de alimentare
Dintre dispozitivele periferice tipice ale unui calculator se pot aminti:
tastatura
mouse, touchpad, joystick
ecran
disc magnetic rigid si flexibil, unitate CD, DVD, memory-stick
imprimanta, plotter
scaner, camera Web, camera digitala
In cadrul lucrarii de fata se vor identifica fizic aceste componente si se vor analiza variantele constructive si parametrii de performanta (ex: viteza, capacitate, caracteristici functionale, etc.).
Datorita caracterului lor versatil, aceste calculatoare au devenit cele mai utilizate calculatoare de astazi. Aceste calculatoare au la baza un procesor din familia Intel x86, sau un clon al acestuia. La data la care s-a scris acest document (2004) procesorul folosit era Pentium IV, care are urmatoarele caracteristici functionale si de performanta:
este un procesor pe 32 de biti, adica majoritatea registrelor si a magistralelor interne au 32 de biti
este un procesor super-scalar, cu arhitectura de tip pipeline; permite executia mai multor instructiuni simultan intr-un singur tact de ceas
lucreaza la o frecventa de ceas de 2-4GHz
are o memorie interna (memorie cache) de 256k-1Mocteti
spatiul de adresare maxim permis este de 4Gocteti
procesorul dispune de mai multe unitati de executie pentru aritmetica in virgula fixa, pentru virgula flotanta si pentru date de tip multimedia
procesorul foloseste diferite tehnici de executie in paralel a instructiunilor (SIMD, Pipeline, unitati multiple de executie, etc.)
Intr-o configuratie uzuala, procesorul, memoria interna si o parte din interfetele de intrare/iesire se situeaza pe o placa comuna denumita 'placa de baza' (eng. mother board). Restul interfetelor se monteaza in locatiile libere (eng. slots) aflate pe placa de baza. La variantele actuale majoritatea interfetelor uzuale sunt integrate pe placa de baza: interfata video, interfata de disc rigid si flexibil, interfata de retea, interfata de tastatura, interfata seriala si interfata paralela. Pentru extinderea sistemului sau pentru inlocuirea unor interfete cu altele mai performante se adauga placi, care se conecteaza pe una din magistralele sistemului. Intr-un calculator personal actual se intalnesc urmatoarele tipuri de magistrale:
ISA - cea mai veche si mai putin performanta magistrala; in multe cazuri se pastreaza doar pentru a asigura compatibilitatea cu interfetele mai vechi; lucreaza la o frecventa de 8MHz, iar datele se transmit pe 16 biti (32 la varianta extinsa)
PCI - o magistrala mai performanta; utilizeaza 32 de linii de date (64 la varianta extinsa); frecventa de lucru este de 133MHz (255 la varianta mai performanta); magistrala are suport pentru auto-configurarea noilor placi conectate in sistem (functia PnP - plug and play) si pentru controlul consumului
AGP - o magistrala special dezvoltata pentru placile video de mare performanta; asigura un flux ridicat de date, necesar pentru reimprospatarea rapida a informatiilor video
USB - nu este o magistrala in adevaratul sens al cuvantului, insa poate indeplini acest rol; este o interfata seriala de mare viteza care permite conectarea unor dispozitive externe (ex: imprimanta, scanner, memory-stick, etc.) in timpul functionarii sistemului; are suport pentru plug-and play
Principalele functii ale placii de baza sunt integrate in cateva circuite integrate (eng. chipset), special proiectate pentru o anumita varianta de procesor. Aceste circuite solutioneaza transferul ultrarapid intre procesor si memoria interna a calculatorului si asigura conexiunea cu principalele tipuri de interfete. In figura I3 s-a reprezentat schema de principiu a unei placi de baza, in care s-au folosit 2 astfel de circuite.
Se va analiza structura logica a unui sistem de calcul si se vor specifica implicatiile lucrului la diferite nivele ierarhice (ex: eficienta in programare sau eficienta in executie, necesar de cunostinte, detalii de programare la diferite nivele).
Se vor identifica in mod practic componentele fizice ale unui calculator. In acest scop se vor dezasambla principalele componente ale unui calculator PC. Se vor identifica tipurile si variantele constructive de componente, placi si interfete. In masura posibilitatilor se vor obtine date de catalog (Datasheet) despre componentele identificate folosind Internet-ul.
Pe placa de baza a calculatorului se vor identifica: tipul procesorului, tipul si capacitatea placutelor de memorie, tipul circuitelor care insotesc procesorul, tipul de sloturi (magistrale) existente pe placa, etc. Pentru obtinerea acestor informatii se va solicita ajutorul laborantului. Pentru detalii se va consulta Internet-ul.
Se vor identifica tipurile de interfete care sunt incluse in placa de baza si cele care sunt atasate in sloturi, ca si extensii.
Se vor determina tipurile de conexiuni externe ale unui calculator tip PC (ex: conector serial, paralel, USB, monitor, tastatura, modem, etc.) Pentru fiecare tip de conexiune se va analiza numarul de semnale folosite, forma mecanica a conectorilor, numarul de conexiuni de un anumit tip, etc.
Se va face o apreciere aproximativa a pretului diferitelor componente de calculator. Se vor consulta in acest scop listele de preturi accesibile prin Internet.
Toate datele culese vor fi cuprinse intr-un document care va descrie configuratia calculatorului respectiv.
Sa se dea exemple de aplicatii in care se justifica programarea la un nivel scazut (ex: nivelul limbajului de asamblare).
Sa se defineasca rolul principalelor componente ale unui sistem de calcul.
Sa se explice diferenta dintre un 'slot' si o magistrala
Sa se identifice limitarile unui calculator de tip PC actual (ex: frecventa, capacitate de memorare, numar de unitati de disc, numar de interfete, etc.). Sa se analizeze care sunt limitari tehnologice si care sunt limitari impuse de proiectant, prin structura calculatorului.
Sa se explice rolul privilegiat al circuitelor de memorie in raport cu procesorul (a se vedea modul de conectare a memoriei pe placa de baza).
Sa se analizeze in ce masura un calculator este un sistem uniprocesor sau multiprocesor (tinand cont de faptul ca unele dispozitive periferice sau chiar interfete au in constructie cate un microptocesor.
Sa se defineasca o configuratie medie si una de varf pentru un calculator personal, la data la care se executa lucrarea de laborator. Se va lua in calcul raportul performanta/utilitate.
Copyright © 2024 - Toate drepturile rezervate