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).
Prelucrarea datelor cu ajutorul calculatorului
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 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
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
-
într-o locatie se păstrează o dată care se va regăsi prin adresa ei (un program va opera asupra datelor prin intermediul adreselor lor date de variabile, fapt ce-i conferă generalitate în rezolvarea unui tip de problemă)
-
citirea (referirea) unei date dintr-o locatie nu-i modifică continutul (este nedistructivă)
-
memorarea unei date într-o locatie se face cu stergerea implicită a continutului anterior existent (scrierea este distructivă)
-
continutul memoriei interne folosite de programe se pierde în absenta curentului electric.
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ă
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:
-
retinerea adresei instructiunii următoare (Program Counter sau Instruction Pointer)
-
retinerea de informatii despre executia programului curent (registru de flag-uri)
-
retinerea adresei de revenire din subprograme (Stack Pointer)
-
calcule (de exemplu, într-un registru se află primul operand, al doilea se găseste în memorie printr-o operatie de calcul a adresei sale, se efectuează operatia iar rezultatul se depune din nou în acel registru)
-
retinerea de informatii pentru calcului adresei operanzilor din memorie
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].
Dostları ilə paylaş: |