Denumirea informaticã de arhitecturã se referã la structura si componentele fizice ale unui sistem de calcul. Cunoasterea acestora este indispensabilã pentru a întelege cum functioneazã un calculator.
Calculatoarele electronice sunt capabile sã rezolve probleme complexe. Pentru a da rezultatele unei probleme, trebuie sã li se furnizeze datele asupra cãrora se opereazã (date initiale) si succesiunea ordonatã de operatii ce se executã asupra datelor (algoritm) sub forma unui program. Un program este alcãtuit din instructiuni într-un limbaj de programare, adicã descrie un algoritm de calcul într-un limbaj pe care calculatorul îl "întelege" (poate fi tradus în limbajul specific masinii).
Modelul din figura poate fi valabil atât pentru utilizatorii profesionisti care îsi proiecteazã programe de prelucrare proprii, cât si pentru utilizatorii are folosesc produse soft consacrate 939j920j pentru realizarea prelucrãrilor dorite (existã o gamã foarte largã de programe pe care utilizatorii le pot folosi pentru a-si usura munca de obtinere a rezultatelor dorite). În plus, orice calculator "întelege" si este capabil sã execute anumite comenzi de bazã, incluse în sistemul de operare (a se vedea explicatia de mai jos si sisteme de operare).
Pentru a întelege structura fizicã a unui calculator, este util sã urmãrim mental schema de mai sus. Vom vedea ulterior cã de fapt partea dintr-un sistem de calcul care îl face accesibil unei game largi de utilizatori nu este partea sa fizicã - hardware, pe care urmãrim s-o descriem în continuare, ci tocmai partea de programe care i se ataseazã - software. Componentele soft indispensabile pentru exploatarea eficientã a calculatorului alcãtuiesc sistemul de operare.
Astfel, orice calculator trebuie sã fie capabil sã memoreze informatii (date initiale, rezultate, programe) în unitatea de memorie (memoria internã), sã comande executia operatiilor prin unitatea de comandã si sã execute operatiile prin unitatea de calcul [Fre86]. Unitatea de comandã si unitatea de calcul alcãtuiesc împreunã unitatea centralã sau procesorul calculatorului. Conexiunile dintre aceste componente urmãresc buna functionare a calculatorului. Pentru a realiza legãtura dintre calculator si utilizator, apar dispozitive de introducere a datelor si extragere a rezultatelor; acestea se mai numesc echipamente de intrare-iesire sau dispozitive periferice.
Functionarea fizicã a calculatorului se bazeazã în general pe douã stãri electronice posibile, cãrora le corespunde unitatea elementarã de informatie 0 sau 1 (1 bit - BInary Digit). Toate informatiile "circulã" în calculator sub formã de 0 si 1, într-o reprezentare bine determinatã.
Unitatea de memorie (memoria internã)pãstreazã datele initiale, rezultatele intermediare si finale ale problemei, împreunã cu programul care descrie operatiile ce se executã.
Ca si realizare fizicã, existã diferite tehnici care corespund evolutiei calculatoarelor: memorii din ferite, semiconductoare, circuite integrate.
Un element de memorie trebuie sã poatã reproduce douã stãri fundamentale, corespunzãtoare lui 0 si 1, numit element bistabil [Fre86]. Memoria este organizatã pe succesiuni de elemente bistabile care formeazã locatii de memorie; în fiecare locatie se memoreazã o datã. Orice locatie se poate identifica prin pozitia ei, datã de un numãr numit adresã de memorie. O datã, memoratã la o anumitã adresã, se va regãsi într-un program prin intermediul numelui care i s-a atribuit, respectiv al variabilei cãreia i-a fost atribuitã ca valoare. Deci numele unei variabile dintr-un program conduce la adresa locatiei unde se memoreazã data corespunzãtoare; ea poate primi, în timpul executiei programului, mai multe valori, cea curentã fiind ultima introdusã în locatie (scrierea în memorie distruge vechiul continut). Folosirea variabilelor în programe le conferã generalitate, în sensul cã algoritmul de calcul se descrie generic, pentru orice seturi de date. De exemplu, rezolvarea unei ecuatii de gradul al doilea va fi descrisã cu variabilele a, b, c, cãrora li se va putea da diferite seturi de valori la diferite executii ale programului, astfel putând fi rezolvatã orice ecuatie concretã de gradul al doilea.
O adresã de memorie poate fi exprimatã absolut, adicã de la începutul memoriei sau relativ la o altã adresã. Memoria calculatorului poate fi privitã ca o multime finitã si ordonatã de locatii.
Numãrul de elemente bistabile dintr-o locatie determinã lungimea locatiei. Locatia de lungime minimã este un octet (8biti). Pentru a retine date mai lungi, se pot combina mai multi octeti consecutivi: 2O, 4O, 6O, 8O sau 10O (se observã cã lungimea locatiilor de memorie se exprimã mai simplu în octeti decât în biti).
Principii de memorare a datelor
Pentru retinerea informatiilor dorite aflate la un anumit moment în memoria internã, se folosesc suporturile externe (discheta, discul magnetic); operatia corespunzãtoare de înregistrare a informatiilor se numeste salvare.
Unitatea centralã sau procesorul înglobeazã unitatea de comandã si unitatea de calcul. Conform principiului von Neumann, unitatea centralã a calculatoarelor clasice executã, la un moment dat, o singurã instructiune masinã.
Unitatea de calcul efectueazã operatiile aritmetice si logice cerute de programe, adicã toate calculele necesare.
Cel mai important dispozitiv de calcul este sumatorul binar [Fre86], care realizeazã o adunare în baza 2. Un sumator cu mai multe pozitii poate efectua, de exemplu, adunarea:
anan-1...a0+
bnbn-1...b0
-----------
snsn-1...s0
Optional, poate exista un dispozitiv de calcul specializat în calculele cu numere reale, numit dispozitiv de calcul în virgulã mobilã (flotantã). Exemple de asemenea dispozitive sunt coprocesoarele 80287, 80387 asociate respectiv procesoarelor 80286, 80386 ale ceva mai vechilor calculatoare de tip PC (Personal Computer).
În afarã de dispozitivele de calcul propriu-zile, unitatea de calcul mai contine niste locatii de memorie cu vitezã de acces foarte mare, care se folosesc pentru operatiile cerute de instructiunile masinã ale programului care se executã. Aceste locatii se numesc registri si se folosesc pentru:
Observatie Numele orientative de registri sunt valabile pentru calculatoarele mai noi (mini- si microcalculatoare, vezi tipuri de sisteme de calcul).
Unitatea de comandãdescifreazã instructiunile masinã ale programului, indicã unitãtii de calcul operatiile de efectuat si dispozitivelor periferice - operatiile de intrare / iesire. Astfel, componentele sale sunt: decodificatorul de instructiuni si generatorul de comenzi [Fre86].
Dispozitivele periferice asigurã introducerea în calculator a informatiilor de pe suporturi externe si extragerea informatiilor din calculator si depunerea lor pe suporturi externe. Existã diferite tipuri de dispozitive periferice în functie de suporturile pe care le prelucreazã.
Suporturile de înregistrare sunt medii materiale capabile sã pãstreze, permanent sau temporar, informatii. Suporturile pot fi reutilizabile (cele magnetice) sau nereutilizabile (de exemplu, hârtia).
Suporturile magnetice, înregistrând informatie, contribuie la cresterea capacitãtii de memorare a unui sistem de calcul. De aceea, se spune cã ele alcãtuiesc memoria externã a unui sistem de calcul. Spre deosebire de memoria internã, continutul celei externe nu se pierde o datã cu întreruperea curentului electric. În plus, memoria internã este cea cu care lucreazã direct unitatea centralã, deci, dacã este necesar sã fie prelucrate informatii din memoria externã (dischetã, disc magnetic), acestea se vor transfera întâi în memoria internã a calculatorului. Discul magnetic (hard-disk-ul) nu trebuie confundat cu memoria internã chiar dacã se gãseste în interiorul calculatorului.
Dispozitivele de intrare asigurã citirea informatiilor de intrare (date si programe) de pe medii externe si introducerea lor în memoria calculatorului în reprezentãri interne adecvate fiecãrui tip de datã.
Dintre dispozitivele de intrare folosite astãzi amintim: tastatura, mouse-ul, creionul optic, scanner-ul (dispozitiv specializat în introducerea de imagini), cititorul de disc compact (CD-ROM), unitatea de dischetã (asigurã citirea sau scrierea informatiei pe dischetã, deci este un dispozitiv de intrare-iesire), dispozitivul de citire-scriere pe hard-disk (disc magnetic), unitatea de ZIP. Aceasta din urmã este un dispozitiv de citire-scriere care prelucreazã un suport magnetic asemãnãtor cu o dischetã, dar cu o capacitate mult mai mare - 100 MO - , în timp de dischetele obisnuite au 1.44 MO. Capacitatea uzualã a unui CD (Compact Disk) este de 650 MO, ceea ce îl face foarte util în retinerea de programe si informatii audio. Pentru înregistrarea informatiilor multimedia ce contin imagini video, care ocupã un spatiu mai mare (de exemplu, pentru codificarea unui film în format MPEG sunt necesari aproximativ 4GO [Tan97]), se utilizeazã uzual un suport optic de capacitate mai mare, DVD-ROM-ul (Digital Versatile Disk).
Dintre dispozitivele periferice de intrare mai vechi amintim: cititorul de cartele - cartela era un suport din hârtie mai rigidã, cititorul de bandã de hârtie - informatiile se înregistrau pe bandã prin perforatii, unitatea de bandã magneticã - dispozitiv de intrare-iesire care prelucra o bandã magneticã asemãnãtoare celei de magnetofon, dar de dimensiuni mai mari, unitatea de disc magnetic - un volum de disc magnetic era format din mai multe discuri suprapuse, între care se putea deplasa dispozitivul de citire-scriere al unitãtii (cap de citire-scriere), casetofonul (mai ales pentru calculatoare personale familiale), terminalele de teletransmisie - dispozitiv de intrare-iesire pentru minicalculatoare.
Dispozitivele de iesire asigurã depunerea informatiilor din memoria internã pe suporturi externe. Ele se vor trece din reprezentarea internã într-o formã accesibilã omului. Dispozitivele de iesire diferã si ele în functie de suportul folosit.
Dintre dispozitivele de iesire folosite astãzi amintim: monitorul , a cãrui interfatã fizicã cu calculatorul foloseste o placã video, imprimanta, plotter-ul (pentru reprezentãri grafice), unitãti de dischetã, hard-disk si ZIP (dispozitive de intrare-iesire), inscriptor de CD (care permite si citirea CD-urilor). Sistemele multimedia mai sunt dotate cu placã de sunet si difuzoare dar la ele se pot cupla si alte dispozitive de introducere sau extragere de imagini si sunete.
Dintre periferice de iesire vechi amintim: perforatorul de cartele, perforatorul de bandã de hârtie, unitãtile de bandã magneticã si disc magnetic, casetofonul, terminale de teletransmisie (minicalculatoare).
Pentru conectarea unui dispozitiv periferic la un sistem de calcul, trebuie sã existe o interfatã fizicã (de exemplu, placa video pentru monitor, placa de sunet pentru difuzoare etc.) si una logicã. Aceasta din urmã este un program care asigurã utilizarea perifericului prin intermediul sistemului de operare (partea de programe a sistemului de calcul) si se numeste driver.
Discheta (discul flexibil sau floppy disk-ul, prescurtat FD) este un disc dintr-un material flexibil pe care este depus un strat de substantã usor magnetizabilã, cu douã suprafete utile. Discul magnetizabil este protejat de o anvelopã dintr-un material plastic, ale cãrei dimensiuni au evoluat de la 8 x 8 inch si 5 1/4 x 5 1/4 inch la 3 1/2 x 3 1/2 inch, pentru dischetele cu anvelopã rigidã care se folosesc în prezent (1 inch = 2.54 cm).
Discheta are un sistem de antrenare care face posibilã rotirea ei în unitate iar anvelopa are o deschidere care permite capului de citire-scriere al unitãtii sã opereze asupra dischetei, în zona doritã. O dischetã este organizatã pe piste concentrice, fiecare pistã fiind împãrtitã în sectoare. Deci o operatie de citire-scriere va fi efectuatã asupra unui sector.
Densitatea de înregistrare a evoluat cronologic de la densitate simplã (SD, Simple Density) si dublã (DD, Double Density) la densitatea înaltã (HD) folositã astãzi, a cãrei realizare tehnicã este mai preformantã decât precedentele. Fiecare tip de dischetã, în functie de dimensiune si densitatea de înregistrare, are un anumit numãr de piste si de sectoare pe pistã. Acestea se stabilesc la formatare, operatia de pregãtire a dischetei pentru înregistrare de informatii. Astfel, se poate determina capacitatea de înregistrare a dischetei ca numarul de piste * numarul de sectoare pe pistã * numãrul de octeti pe sector. Primele dischete (cu densitate simplã) folosite la PC-uri aveau o capacitate de 360 KO, în timp ce capacitatea uzualã este în prezent de 1.44 MO.
Pentru operatia de formatare (care determinã stergerea vechiului continut al dischetei), sistemele de operare pentru mini- si microcalculatoare oferã o comandã specialã - format.
Hard-disk-ul (HD) sau discul fix este un disc magnetic cu o constructie tehnologicã foarte precisã, o capacitate de memorare si o vitezã de acces foarte mari, care se încorporeazã în calculator, constituind o memorie externã foarte utilã (pentru calculatoarele de tip PC). Corespunzãtor pistelor de pe dischetã, pe discul fix apar cilindri, care sunt formati din piste concentrice. Primele hard-disk-uri aveau o capacitate de câtiva zeci de MO, astãzi ajungându-se la zeci de GO.
Înaintea de aparitia discurilor magnetic fixe, calculatoarele personale se utilizau exclusiv cu ajutorul dischetelor, fapt care avea câteva inconveniente: spatiul de memorie externã destul de limitat nu permitea folosirea unor programe prea complexe si imposibilitatea folosirii calculatorului fãrã o dischetã pe care sã se afle nucleul sistemului de operare (vezi Sistemul de operare DOS).
Pe de altã parte însã, trebuie spus cã dupã aparitia hard-disk-urilor, s-a dezvoltat si industria programelor de tip virus, menite sã producã anomalii în exploatarea calculatorului, acestea gãsindu-si un teren fertil de proliferare în conditiile în care continutul discurilor magnetice se pãstreazã si în absenta curentului electric, spre deosebire de memoria internã. Programele virus se instaleazã în memorie, de unde pot infecta fisiere de pe suporturile magnetice si distruge informatii.
Ca o reactie la virusii informatici, au apãrut curând programe antivirus, care detecteazã si eliminã programele virus si pot oferi facilitãti suplimentare de protectie, cum ar fi semnalarea aparitiei unui program care ar putea fi un virus sau chiar blocarea actiunii acestuia. Uzual, în momentul în care se creeazã un virus - de obicei prin "perfectionarea" unuia deja existent - se pune la punct si "antidotul", care are la bazã caracteristicile virusului creat. Fiecare program antivirus recunoaste si eliminã o anumitã listã de virusi; cum programele de tip virus evolueazã continuu, este recomandat ca si antivirusii instalati pe calculator sã fie actualizati periodic. Este de remarcat faptul cã ultimele programe antivirus sunt de dimensiuni mari si se instaleazã cel mai adesea de pe CD-uri.
Pentru ca un calculator sã poatã fi exploatat în mod eficient, partea esentialã a sistemului sãu de operare (numitã uzual nucleu) trebuie sã se gãseascã în memoria internã, pentru a fi permanent disponibilã si lansatã în executie.
Imprimanta realizeazã tipãrirea pe hârtie, sub formã de sucesiuni de caractere sau de reprezentãri grafice, a informatiilor transmise din memoria internã a calculatorului. Tipurile de imprimante diferã, marcând evolutia lor tehnologicã: imprimante cu tambur, cu rozetã, matriceale, cu jet de cernealã, laser, ultimele fiind rapide si de o mare acuratete.
O imprimantã trebuie sã continã un dispozitiv de antrenare a hârtiei, un dispozitiv de imprimare si un modul propriu de memorie care sã permitã retinerea temporarã a unei cantitãti bine determinate din informatia transmisã spre tipãrire. Primele tipuri de imprimante foloseau o hârtie specialã, de dimensiuni standard, cu gãurele pentru antrenare, numitã listing, dar astãzi se foloseste hârtie obisnuitã, sau chiar alte tipuri de suporturi de imprimare, cum ar fi folia transparentã. Tipãrirea se poate realiza atunci când existã o legãturã de comunicare activã între calculator si imprimantã - se spune ca imprimanta este on line.
Dupã cum se poate observa în figura între unitãtile functionale care compun calculatorul se stabilesc legãturi [Fre86] caracterizate prin transfer de date sau doar de semnale
Viteza de lucru a perifericelor diferã în functie de performantele lor tehnologice (foarte micã la dispozitivele exclusiv mecanice) dar este mult mai micã decât a unitãtii centrale, care functioneazã pe principii exclusiv electronice. Printr-o analogie umanã, noi gândim adesea mult mai repede decât putem scrie.
Dupã ce unitatea de comandã cere perifericelor executia unei operatii de intrare-iesire, ea asteaptã un timp îndelungat (fatã de timpii ei de lucru) pentru terminarea operatiei. Astfel, apare un gol în activitatea unitãtii de comandã. Problema a fost rezolvatã prin introducerea unui bloc auxiliar de comandã care sã preia controlul asupra operatiilor de intrare-iesire efectuate cu ajutorul perifericelor dupã initierea lor de cãtre unitatea de comandã.
Prin intermediul procesorului auxiliar care controleazã operatiile cu perifericele se permite cuplarea, indirectã, la unitatea centralã, a mai multor dispozitive periferice. Aceastã unitate functionalã a calculatoarelor a apãrut odatã cu generatia a doua de calculatoare (vezi Un istoric al aparitiei calculatoarelor), sub numele de de canal de intrare-iesire. Rolul sãu a fost preluat la sistemele de calcul medii mari de unitatea de schimburi multiple (USM), la minicalculatoare - de dispozitivul de control al magistralei de comunicatii iar la microcalculatoare - de o extensie a magistralei.
În timp ce procesorul specializat în operatii de intrare-iesire controleazã schimbul de date între memorie si periferice, blocul de comandã poate superviza executia altor operatii, dintr-un alt program. Modul de lucru cu o unitate centralã si mai multe programe rezidente în memorie spre executie se numeste multiprogramare sau multitasking.
Programele aflate în memoria internã a unui calculator care functioneazã în regim de multitasking se gãsesc în diverse stãri: pot astepta terminarea unei operatii de intrare-iesire, pot astepta sã fie lansate în executie iar un singur program este prelucrat la un moment dat de unitatea centralã [Boi94]; politica de servire a acestor programe este stabilitã de algoritmii implementati în sistemul de operare.
Dupã terminarea unei operatii de intrare-iesire, unitatea de comandã este anuntatã, printr-un semnal numit întrerupere, cã citirea sau scrierea s-a încheiat, astfel încât poate continua executia programului respectiv.
Noua unitate componentã a sistemului de calcul poate fi încorporatã [Fre86] în schema generalã a unui calculator conform figurii:
|