Sistemele de calcul au evoluat şi evoluează odată cu dezvoltarea tehnologiei de realizare a
circuitelor electronice. Totuşi performanţele unui sistem de calcul pot fi îmbunătăţite, fără schimbarea tehnologiei, doar prin modificarea arhitecturii sistemului. Arhitectura defineşte modul de organizare, de interconectare a unităţilor (blocurilor) constitutive ale sistemului, precum şi unităţile însăşi. Ea reprezintă un concept diferit de cel al schemei bloc; schema bloc reprezintă un mod particular de realizare hardware, în timp ce arhitectura defineşte doar din punct de vedere funcţional unităţilşe componente ale sistemului. Un sistem de calcul (SC) este un sistem fizic care prelucrează automat informaţia codificată sub formă de valori discrete, conform unui program ce indică o succesiune determinată de operaţii aritmetice şi logice. Un sistem de calcul este un ansamblu alcătuit din două componente principale: ➢ componenta hardware (echipamentele fizice componente); ➢ componenta software (programele şi structurile de date). Un sistem de calcul modern este cu adevărat un ansamblu de procesoare, memorii, unităţi funcţionale, reţele de interconectare, dispozitive periferice, canale de interconectare precum şi compilatoare, sisteme de operare, limbaje de programare, programe utilitare şi de aplicaţie.
1.2. Structura von Neumann a sistemelor de calcul secvenţiale
Structura de bază a calculatorului secvenţial, cu program memorat, stabilită de John von
Neumann în 1945, este reprezentată în figura 2.1 şi cuprinde cinci unităţi funcţionale: ▪ unitatea de intrare ( UI ); ▪ unitatea de memorare ( M ); ▪ unitatea de ieşire ( UE ); ▪ unitatea aritmetico-logică ( UAL ); ▪ unitatea de comandă ( UC ). Modelului lui John von Neumann de construcţie a calculatoarelor s-a impus de la începuturile maşinilor de calcul electronic şi este până în prezent singurul model funcţional. Acest model defineşte calculatorul ca pe un ansamblu format din două componente centrale: unitatea de comandă şi memoria internă. Unitatea de memorie reprezintă unitatea funcţională a unui calculator în care se stochează informaţia (date şi programe). Memoria unui calculator este formată din: ▪ memoria internă (principală) păstrează programele şi datele ce se utilizează la un moment dat şi este realizată cu circuite electronice de memorie; ▪ memoria externă (secundară) păstrează toate celelalte programe şi date ce trebuie să se afle la dispoziţia sistemului de calcul, iar implementarea memoriei externe se face prin echipamente fizice (periferice) de memorie, cum ar fi de exemplu banda magnetică, discuri magnetice de diferite tipuri, unităţi de casetă magnetică.
UI UAL UE
UC
Flux de date şi instrucţiuni
Fluxul de comenzi şi stări
Figura 2.1. Structura von Neumann
Unitatea de comandă (UC) este cea responsabilă cu administrarea şi prelucrarea informaţiilor
în timp ce memoria internă serveşte la depozitarea acestora. Unitatea aritmetico-logică (UAL) realizează prelucrarea informaţiei preluate din memorie, iar rezultatele se depun din nou în memorie sau sunt furnizate în exterior. UAL realizează două categorii de operaţii: ▪ aritmetice (adunare, scădere, înmulţire, împărţire); ▪ logice ( ŞI logic, SAU logic, SAU-EXCLUSIV, NEGAŢIE ). Acest ansamblu unitate de comandă plus memorie internă comunică cu exteriorul prin intermediul unităţilor de intrare şi de ieşire. Unitatea de intrare permite introducerea informaţiei în calculator. Acestea sunt furnizate de dispozitivul periferic de intrare şi transferate spre unitatea comandă, prin intermediul tastaturi, cititor de cartele. UI realizează totodată conversia reprezentării informaţiei din forma externă accesibilă omului (numere, texte, imagini) în format intern binar. Formatul intern este rezultatul utilizării în construcţia calculatoarelor a circuitelor electronice care prezintă la ieşire numai două stări stabile (niveluri de tensiune). Convenţional cele două stări se reprezintă prin cifrele binare (biţi) “0” şi “1”. Ca exemplu de unităţi de intrare se pot enumera: tastatura, cititor de cartele, cititor de bandă de hârtie, cititor optic de caractere, etc. Unitatea de ieşire realizează trimiterea, în exteriorul sistemului de calcul, a rezultatelor prelucrărilor efectuate de unitatea de comandă. În cazul în care rezultatele sunt destinate: ▪ utilizatorului uman, unitatea de ieşire execută conversia din format intern (binar) în format direct accesibil omului (cifre, texte, grafice, imagini); ▪ acţionării unor echipamente, unitatea de ieşire, prin intermediul unor circuite speciale numite convertoare numeric-analogice generează semnale necesare acţionării de echipamente.
1.3. Generaţii de sisteme de calcul
În timpul dezvoltării sistemelor de calcul s-au remarcat câteva caracteristici care au
determinat clasificarea acestora în câteva grupuri numite generaţii, în perioade de timp care nu sunt strict delimitate şi se suprapun. Clasificarea sistemelor de calcul în generaţii este determinată de tehnologia folosită, arhitectura sistemului, modul de prelucrare a datelor şi limbajele utilizate. Aceste generaţii de calculatoare sunt următorele: Generaţia I - tuburile cu vid (1945-1955) se caracterizează prin: • calculatoare cu relee electromagnetice şi tuburi electronice interconectate cu fişe, tuburi ce implicau un consum mare de putere; • cablaj prin fire; • structura de tip serie; • set de 10-20 de instrucţiuni simple; • periferie redusă (lector/perforator de bandă); • o singură memorie lentă şi de capacitate mică (tambur magnetic pentru 1000-4000 cuvinte); • viteza de calcul mică (sute-mii de operaţii pe secundă) iar raportul între timpul pentru o înmulţire şi timpul pentru o adunare era tînmulţire/tadunare =20/1 • prelucrarea datelor pe biţi (bit cu bit), utilizarea limbajelor binare de programe programele fiind scrise direct în cod maşină. Generaţia II - tranzistoarele (1955-1965), fiind determinată de o tehnologie şi o structură organizatorică nouă, ceea ce a condus la mărirea performanţelor. Principalele caracteristici sunt: ▪ calculatoare cu diode şi tranzistoare cu Si şi Ge interconectate prin cablaj imprimat; prin înlocuirea tuburilor electronice cu dispozitive semiconductoare (diode şi tranzistori) calculatoarele au dimensiuni mult mai mici, puterea disipată este mai mică, siguranţa în funcţionare este mai mare şi astfel se elimină fenomenele de radiaţie şi cuplajele parazite; ▪ construirea memoriilor cu ferite (în anul 1959); acestea ofereau un timp de acces de 2-12s (de 1000 de ori mai repede decât tamburul magnetic); ▪ raportul tînmulţire/tadunare =10/1; ▪ tipizarea circuitelor, ceea ce a uşurat activitatea de organizare şi întreţinere; ▪ echipamente periferice simple: tambur magnetic, banda magnetică, disc magnetic, dispozitive de imprimare, echipamente de trasare şi echipamente de afişare pe tub catodic; ▪ prelucrarea datelor pe loturi (“batch”) şi utilizarea limbajelor de programare mai evaluate cum era FORTRAN şi COBOL, Generaţia III - circuitele integrate (1965-1980) avea următoarele caracteristici: ▪ utilizarea circuitelor integrate pe scară simplă (până la 10 tranzistoare pe cip) SSI şi MSI conectate pe circuite imprimate pe mai multe niveluri (straturi); ▪ utilizarea memoriilor semiconductoare, cu timp de acces pentru memoria internă de 0.5-1.75s; ▪ creşte viteza de calcul, astfel tînmulţire/tadunare =2.5; ▪ memorii externe de mare capacitate, reprezentate prin discuri de masă (capacităţi mai mari de 1Moctet); ▪ dezvoltarea perifericelor a avut două tendinţe, prima a fost de a perfecţiona perifericele existente şi a doua de a realiza echipamente noi, în special pentru prelucrarea de date din documente primare (la început pentru operaţii bancare); ▪ spre sfârşitul acestei perioadfe s-a remarcat aşa numita generaţie 3.5 care utiliza circuite integrate pe scară largă ( MSI ), memorii cu circuite integrate, microprocesoare pe 8-16 biţi, microprogramare. Apar astfel minicalculatoarele; ▪ utilizarea limbajelor de programare evaluate, utilizarea multiprocesării (separarea programelor în task-uri şi operaţii de I/O), apariţia sistemelor de operare şi a memoriilor virtuale. Generaţia IV - circuite VLSI (1980-1990) a cărei principale caracteristici sunt: ▪ utilizarea circuitelor integrate pe scară largă LSI (“Large Scale Integration”) şi a circuitelor integrate pe scară foarte largă VLSI (“Very Large Scale Integration”), în care un cip conţine mii de tranzistori pe un cm3 de siliciu, cu timpi de comutare de 1-5 ns şi timpi de acces de 10ns; a început era calculatoarelor personale; ▪ noi tipuri de memorii MOS, bule magnetice, holografice; ▪ dezvoltarea de noi echipamente periferice legate de sesizarea primară a datelor; ▪ utilizarea microfilmelor pentru înregistrarea afişajelor de pe tuburile electronice; ▪ dacă minicalculatoarele făceau posibilă existenţa unui calculator în fiecare departament al unei companii, microcalculatoarele au făcut posibil ca fiecare individ să aibă propriul lui calculator; cele mai puternice calculatoare personale utilizate în afaceri, universităţi sau instituţii guvernamentale sunt uzual numite workstation; de obicei ele sunt interconectate în reţele pe zone geografice întinse; ▪ are loc o întrepătrundere între industria de calculatoare şi cea de telecomunicaţii; ▪ apariţia calculatoarelor “pipe-line” şi a sistemelor multiprocessor, apariţia supercalculatoarelor; ▪ utilizarea limbajelor de programare de nivel înalt orientate pe prelucrarea vectorilor de date; ▪ apariţia conceptelor de multimedia şi de programare orientată pe obiecte. S-a constatat că sistemele de calcul cu organizare convenţională prezintă performanţe modeste faţă de cerinţele impuse de prelucrarea datelor nenumerice (propoziţii, simboluri, vorbire, informaţie grafică, imagini). De asemenea componentele au atins viteza limită de funcţionare. Au apărut o serie de dificultăţi în elaborarea software-ului de sistem şi a celui de aplicaţie în diferite domenii. A apărut astfel necesitatea realizării unei noi generaţii de calculatoare. Generaţia V - prelucrare masivă paralelă (după 1990) are următoarele caracteristici: ▪ grad mare de modularizare şi densitate ridicată de integrare şi “împachetare”; utilizarea circuitelor realizate în tehnologie ULSI şi 3D; ▪ evoluţia procesoarelor ia un avânt puternic, frecvenţa de lucru creşte de la 100MHz la peste 3 GHz, arhitectura microprocesorului este îmbunătăţită prin specializare, memorie cache, paralelism (“pipe-line”), optimizarea algoritmilor; ▪ prelucrare masivă paralelă; ▪ sisteme multiprocessor, apariţia microprocesoarelor specializate (de exemplu prelucrarea digitală a semnalelor); ▪ apariţia şi dezvoltarea serviciului www (Wold Wide Web) iniţiat de Laboratorul CERN din Geneva în colaborare cu mai multe universităţi americane; ▪ interactivitatea serviciului www este asigurată prin introducerea tehnologiei Java. ▪ arhitectura de bază a acestor calculatoare cuprinde trei componente: 1. interfaţa inteligentă permite dialogul pe bază de limbaj natural, voce, imagini, informaţie grafică; 2. componenta pentru rezolvarea de probleme(inferenţă) realizează raţionamente logice cu ajutorul cărora descoperă cunoştinţele utile noi şi relevante, construind astfel o secvenţă a raţionamentului ce conduce la soluţia problemei; 3. baza de cunoştinţe cu un volum imens în care căutarea se va face extrem de rapid. Actual se lucrează la punerea la punct a unor calculatoare ultrarapide, maşini pentru traducere automată, dispozitive perfecţionate pentru extragerea şi memorarea imaginilor. Calculatoarele vor fi conectate la reţele locale, conectate la rândul lor în reţele globale, formând un adevărat sistem informaţional cu aspectul unei reţele telefonice.