Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Calculatoare


Index » educatie » » informatica » Calculatoare
» SISTEME DE CALCUL


SISTEME DE CALCUL


SISTEME DE CALCUL

ISTORIC

Cu totii stim ca necesitatea reprezinta mama inventicii. Acest lucru este valabil si in lumea computerelor. U.S Army a fost prima care a solicitat si a avut nevoie de puterea computerelor. Pentru inceput inginerii de la Fortele Aeriene au dorit o masina care sa poata simula zborul. In al doilea rand armata a dorit sa fie capabila sa calculeze cu precizie traiectoria balistica a proiectilelor. Acest lucru facut manual lua de obicei 1-2 saptamani, ceea ce era inacceptabil.

Ca raspuns la aceste cereri Universitatea din Harward a pornit realizarea primei masini de calcul - Marck I. Pentru ca nu a fost suficient de rapida aceasta masina a fost inlocuita cu un succesor in 1943.



La Universitatea din Pensivania doi oameni de stiinta au pornit proiectul ENIAC (Electronic Numerical Integrator and Computer) care a fost terminat 1946. El era alcatuit din 42 de cutii metalice asezate in forma de U si care ocupau peste 72 de m2. Fiecare cutie continea 18800 de lampi, 6000 comutatoare, 1500 de conectoare si 5000 de rezistente. Timpul de incalzire pentru o functionare corespunzatoare era de 30 de minute. De multe ori in timpul functionarii unele lampi electronice trebuiau inlocuite, iar pentru programarea ENIAC-ului erau necesare modificarea conectoarelor si rearanjarea unor fire de legatura.

In anii '60 a fost facut un pas important in ceea ce priveste dezvoltarea acestui domeniu. Vechile lampi au fost inlocuite cu tranzistoarele. La inceput cu cele pe germaniu, mai tarziu cu cele pe siliciu. O consecinta imediata a fost reducerea dramatica a dimensiunilor computerelor.

Aparitia apoi a circuitelor integrate a permis in 1970 firmei Intel sa construiasca prototipul unui microprocesor realizat pe un singur cip. Acest procesor simplu pe 4 biti a fost proiectat pentru un computer si incorpora 2300 de tranzistori.

In 1975 a fost produs primul calculator pentru utilizator individual. Apoi un tanar student al Universitatii harvard - William Gates a renuntat la scoala pentru a programa calculatorul Altaire 8800. El a realizat pentru aceasta si un limbaj, foarte cunoscut in prezent - Limbajul BASIC.

In timp microprocesorul a devenit cea mai importanta componenta a uni calculator de tip personal. Generatii intregi de calculatoare au primit numele tipului de microprocesor in jurul careia se dezvolta intreaga arhitectura interna.

Parametrii tehnici ai microprocesorului s-au imbunatatit considerabil de la o versiune la alta, ajungand sa se dubleze aproape la fiecare an si jumate.

Evolutia procesoarelor Intel in timp este cea mai sugestiva:

Tabel Evolutia microprocesoarelor realizate de firma INTEL

An

Tip

Nr. Tranzist.(mii)

Frecventa (MHz)

Nr biti

Pentium I

Pentium II

Celeron

Pentium III

Pentium IV

Pentium 'N'

PRINCIPALELE COMPONENTE ALE SISTEMULUI DE CALCUL

Principalele componente ale unui sistem de calcul, incluse in unitatea centrala sunt:

microprocesorul;

memoria interna si externa;

magistrala de date si de comenzi;

La un prim nivel simplist putem spune cs structura interna a unui calculator personal se prezinta ca in fig.urmatoare:

Microprocesorul

Elementul de baza al unui sistem de calcul este reprezentat de microprocesor sau prescurtat, procesor, un cip deosebit de complex care, de obicei, este plasat pe placa de baza - motherboard, a sistemului de calcul.

Daca am face o comparatie functionala intre un sistem de calcul si corpul omenesc, rolul si functiile creierului ar fi identice cu cele ale unui microprocesor ce doteaza sistemul nostru de calcul.

Microprocesorul este elementul ce asigura procesarea datelor, adica interpretarea, prelucrarea si controlul acestora, vizeaza sau supervizeaza transferurile de informatii si contro/eaza activitatea generala a celorlalte componente care alcatuiesc sistemul de calcul.

Intr-un mod asemanator, creierul 'proceseaza' informatiile (reprezentate de imagini, miros, sunete, proprietati tactile, gust, alte semnale provenite de la diverse organe interne etc.) culese si transmise de diferiti senzori ai corpului uman, controleaza activitatea motorie a membrelor corpului si activitatea interna a diverselor organe, pe baza unor mesaje primite de la toate acestea.

Aproape toate deciziile ce privesc functionarea 'compo­nentelor' corpului omenesc sunt luate in principal de creier, in functie de caracteristícile mediului inconjurator si datele culese din acest mediu, respectiv informatiile primite de la organele interne.

Interactiunea fiinta-mediu este necesara si este o conditie sine-qua-non a existentei. In momentul in care aceasta interactiune este perturbata, intervine degradarea biologica, deoarece procesul de adaptare la mediu este intrerupt prin lipsa de informatii referitoare la acesta.

Sistemul de calcul si componentele sale, sunt comandate de microprocesor, in functie de modificarile mediului sau de informatiile ce-i parvin de la mediu (aici o modificare de mediu poate insemna o tasta apasata, o cerere de citire sau scriere pe harddisc, neutilizarea harddiscului sau tastaturii un interval definit de timp, un apel oarecare lansat de un program etc.).

Reactia microprocesorului este prompta si poate fi diferita de la caz la caz, in functie de resursele hardware sau software de care poate dispune acesta in acel moment, comunicarea microprocesor­-componente fiind permanenta.

Fiecare microprocesor este alcatuit intern din mai multe micromodule, interconectate prin intermediul unor cai de comuni­catie, adevarate autostrazi informationale dotate cu mai multe benzi. Aceste cai de comunicatie sunt numite magistrale interne sau bus-uri interne si pot transfera date si instructiuni sau comenzi.

Datele si instructiunile formeaza codul unui program ce este rulat pe un sistem de calcul si reprezinta informatia care este procesata. Comenzile reprezinta informatia ce ajuta la aceste procesari, prin actiunile hard sau soft pe care le determina. Microprocesorul unui sistem de calcul joaca rolul unui adevarat motor, iar arhitectura sa se bazeaza pe 3 componente esentiale si anume:

Fig. Principalele componente ale procesorului

motorul de executie,

- registrii interni,

- modulul interfata

Motorul de executie reprezinta componenta principala a microprocesorului, asigurand prelucrarea instructiunilor si datelor necesare, prin intermediul unei Unitati Logice si Aritmetice - ULA incorporate, precum si furnizarea rezultatelor obtinute in urma procesarilor efectuate.

Registrii interni reprezinta zone de memorie interne, de mici dimensiuni, a caror accesare, de catre ULA si celelalte module ale microprocesorului, este foarte rapida.

Modulul interfata (controller‑ul de bus intern) reprezinta dispozitivul ce controleaza transferurile de intrare/iesire (magistralele interne microprocesorului ‑ magistralele sistemului), lucrand similar cu un controller extern de magistrala (vezi Cai de transfer a datelor), semaforizeaza aceste transferuri pe bus si genereaza intr‑o zone de memorie interna (buffer), o structura de tip coada pentru retinerea instructiunilor ce vor fi procesate de modulul executor. Magistralele inteme microprocesorului sunt, dupe cum am mai spus, cai de comunicatie intre modulele ce alcatuiesc intern microprocesorul, deosebit de rapide, cu latimi de 8, 16, 32, 64, 128 si chiar 256 de biti, in functie de microprocesor, realizate la nivel microscopic (s-a ajuns ca distanta maxima intre doua componente sa fie de numai 0,35 microni).

Simplificand, modul de lucru general al unui microprocesor este urmatorul: sistemul de operare (SO) incarca programul in memoria de lucru a calculatorului (memoria RAM), informand microprocesorul, prin intermediul modulului interfata, despre adresele la care acesta a fost plasat in RAM. Acest modul va initializa registrii de segment la valorile corespunzatoare, setand totodata pointerul de instructiune la offset‑ul primei instructiuni a programului respectiv, in segmentul de cod.

Prin intermediul magistralelor sistemului, acest modul preia instructiunile si operanzii corespunzatori secvential, incrementand simultan si indicatorul de instructiune, astfel incat acesta sa pointeze la instructiunea urmatoare din program.

Odata decodificata, instructiunea este plasata in acea coada, din care urmeaza a fi preluata de catre motorul executor, practic de catre ULA. Totodata si operanzii sunt transmisi pe magistrala interna catre acest modul, urmand a fi incarcati in registrii de lucru. In functie de instructiunea executata, ULA modifica registrul de stare si de asemenea, plaseaza pe magistrala interna valorile rezultate prin procesarea instructiunii. Intre timp, modulul de interfata repeta actiunea pentru instructiunea urmatoare, pentru asigurarea fluentei executiei sirului de instructiuni.

Controller‑ul de bus intern ‑ interfata ‑ realizeaza si plasarea datelor de pe magistrala interna, furnizate de modulul executor, pe magistrala externa a sistemului, asigurand protocolul general de transfer.

Un microprocesor este caracterizat in mod special de :

viteza de lucru ;

capacitatea maxima de memorie pe care o poate adresa ;

setul de intructiuni pe care le poate executa ;

La randul ei viteza de lucru a unui microprocesor este determinata de mai multi factori :

frecventa ceasului intern ;

dimensiunea registrelor interne si a magistralei de date ;

tipul constructiv al microprocesorului ;

memoria cache ;

a)Frecventa ceasului intern. Ceasul intern al unui microprocesor este de fapt un oscilator, care trimite in calculator pulsuri la intervale de timp egale, bine determinate. Toate activitatile calculatorului sunt coordonate de aceste pulsuri periodice si in special functio­narea microprocesorului. Daca ne amintim modalitatea in care era executata o instructiune (depunerea adresei pe magistrala, comanda de citire din memorie, citirea efectiva cu depunerea valorii citite pe magistrala, preluarea valorii de catre microprocesor si executarea instructiunii corespunzatoare acestei valori) consta­tam ca realizarea unei instructiuni de catre microprocesor reprezinta o suma de etape partiale. Fiecare din aceste etape se realizeaza in intervalul dintre doua pulsuri de ceas.

Asadar, ceasul intern nu are nimic de-a face cu masurarea orei exacte asa cum ar sugera denumirea sa. El are rolul de a asigura in permanenta pulsul pe baza caruia componentele unui calculator isi coordoneaza activitatea. Frecventa cu care sunt generate aceste pulsuri se numeste frecventa ceasului intern. Unitatea de masura pentru frecventa este Hertz-ul, impreuna cu multiplii sai.

1 Kilo Hertz = 1.000 Hertz

1 Mega Hertz = 1.000.000 Hertz

De exemplu, o frecventa de 200 MHz inseamna 200 de milioane de pulsuri pe secunds.

Orice actiune interna a unui microprocesor (ne referim in special la preluarea datelor, procesarea instructiunilor si furnizarea rezultatelor) este guvernata de un semnal de baza periodic, stabil in frecventa, dat de un circuit special numit ceas (clock).

Acest ceas reprezinta elementul principal ce influenteaza viteza de lucru a sistemului in ansamblu, deoarece, crescand frecventa acestui semnal, numarul de 'actiuni‑procesor' (transferuri, procesari de instructiuni etc.) intr‑o unitate de timp va creste proportional.

Ceasul intern al unui calculator personal este de fapt un oscillator care transmite in calculator pulsuri la intervale de timp egale bine determinate.

Acest circuit contine:

cristalul de cuart, element ce poate genera un semnal cu frecventa de ordinul MHz;

convertorui analog‑digital realizat cu un cip specializat (de exemplu circuitul integrat i82284 la 80286);

divizorul de frecventa, element ce asigura divizarea frecventei primare in diverse frecvente secundare.

Cristalul de cuart este componenta activa principala a ceasului, generand o unda sinusoidala (deci semnal analogic), cu frecventa deosebit de stabila in timp, numita frecventa master (master frequency) sau frecventa principala. Este folosit efectul piezoelectric, care reprezinta fenomenul de aparitie a unei tensiuni, in momentul in care un cristal de cuart sufera o deformare mecanica prin presarea intre doua armaturi metalice; fenomenul invers apare prin aplicarea unei tensiuni la armaturile cristalului, acesta suferind o microdeformare. Semnalul analogic este preluat de circuitul convertor analog‑digital, care va realiza transformarea semnalului primar analogic in semnal digital.

Divizorul de frecventa, in functie de tip, imparte frecventa master in frecvente secundare cu diferite valori, folosite de micro­procesor si de celelalte circuite ale sistemului.

Toate componentele sistemului, functionand numai pe baza unei frecvente bine stabilite, vor prelua semnalele secundare de tact de la iesirile circuitului de ceas, utilizandu‑le chiar la acele frecvente sau divizandu‑le la valori proprii de functionare, prevazute constructiv pentru componenta in cauza. Unele modele de placi periferice dispun de propriul sistem de ceas, lucrand independent de ceasul sistemului, dar in concordanta cu acesta.

In unele cazuri, o parte din circuitul de ceas poate fi inclusa in microprocesor, cu exceptia cristalului de cuart, care este conectat exterior la doi pini ai microprocesorului notati X1 si X2.

Microprocesoarele folosesc semnalul digital generat de ceas impartindu‑l in asa‑numitele cicluri instructiune, adica intervale de timp bine definite, in care microprocesorul va executa cate o instructiune. La randul sau un ciclu instructiune este divizat in trei parti numite cicluri masina. Aceste cicluri masina stabilesc timpul pentru:

‑ preluare a codului de operatie (Op Code Fetch);

‑ citire a memoriei (Memory Read);

scriere a memoriei (Memory Write).

Un astfel de ciclu masina are o durata variabila, in functie de numarul de tacturi ce il compun (de fapt in functie de operatia in cauza si de ce anume necesita aceasta) si de tipul (implicit puterea si viteza) microprocesorului (vezi figura 1.1.4)

Pana la aparitia microprocesoarelor performante, la care pretentiile privind viteza de procesare au crescut, un proces ce intervenea curent in activitatea sistemului a fost aproape ignorat. Este vorba de introducerea asa‑numitelor stari de asteptare (Wait States‑ WS), masurate in nanosecunde, ce reprezinta perioade in care, cu toate ca ceasul sistemului functioneaza normal furnizand tactul, microprocesorul nu desfasoara nici o activitate.

Introducerea acestui artificiu a fost necesara deoarece un sistem de calcul nu este o masina ideala, la care am putea con­sidera ca momentul in care este necesara actiunea unei compo­nente, coincide cu intrarea in functiune a componentei respective.

Fiecare componenta a sistemului va consuma un timp anume de la lansarea comenzii si pana la intrarea efectiva in functiune, deci pana la indeplinirea sarcinii specifice, comandate.

De exemplu microprocesorul comanda o citire pe discul dur si asteapta primirea datelor solicitate, date care intarzie din cauza timpului de acces mare al harddiscului, transferului lent pe magistralele sistemului, plus intermedierea de catre RAM. Ca atare procesorul este silit sa efectueze o pauza ce va dura pana la primirea datelor cerute.

Prin folosirea unui sistem hardware bine pus la punct, in care vitezele de reactie si realizare efectiva a sarcinilor specifice, pentru componentele utilizate (microprocesor‑ magistrale ‑ periferice), sunt compatibile ca viteze de lucru, se pot obtine procesari fluente, fara a impune pauze pentru microprocesor.

Aceasta inseamna folosirea unui standard de magistrala capabil sa transporte datele cerute de microprocesor in timp util, fo­losirea unor memorii sau alte medii de stocare extrem de rapide etc.

Stabilirea numarului de stari de asteptare se poate face folosind optiunile din CMOS, in meniul intalnit in general sub denumirea Chipset Features Setup.

Aceste setari trebuie facute si in functie de celelalte resurse hardware de care dispune sistemul, respectiv de calitatea si parametrii acestora si nu numai in functie de microprocesorul ce doteaza sistemul respectiv.

Daca vom stabili 0 WS, fortand astfel microprocesorul sa functioneze neintrerupt in cazul unui proces ce necesita de exemplu 2 WS, acesta va ignora setarea stabilita la 0 WS folosind in acel proces cele 2 WS necesare. Doar in cazul invers microprocesorul va lua in considerare valoarea de WS stabilita.

Un calcul relativ al duratei unei stari, pentru microprocesoarele i80x86, se face plecand de la frecventa de lucru a micro­procesorului, f.

O stare este reprezentata de o perioada egala cu:

s = 1OOO(ns)/f.

De exemplu, pentru o frecventa interna microprocesorului de 1000 Mhz,

s = 1000/1000 = 1,000, deci o stare de asteptare dureaza circa ~ 1 ns.

Astfel se pot calcula timpii de acces optimi pe care ar trebui sa‑i utilizeze de exemplu memoria de lucru. In acest caz, din momentul in care microprocesorul lanseaza o actiune de citire din memorie si pana la sosirea efectiva a datelor la procesor acesta nu va astepta mai mult de 10 ns; altfel, efectueaza 1 WS.

In cazul in care o actiune (precum un acces la memorie) este realizata complet in intervalul unei stari s, spunem ca avem de‑a face cu un proces fara stare de asteptare (zero‑wait state), situatie deosebit de favorabila pentru viteza generala de lucru, dar din pacate rar intalnita in sistemele pana la 80386 inclusiv. In cazul in care acelasi proces are nevoie pentru executie de doua stari, microprocesorul va executa 1 WS.

b)Registrii. Din punct de vedere fizic, registrii sunt circuite electronice realizate dintr-un numar mare de celule basculante bistabile (explicatiile privind CBB sunt prezentate in subcapitolul Memoria) si au rolul de a primi, stoca si transfera informatia binara. In functie de numarul de biti manevrati de un registru, acestia pot fi de 4, 8, 16, 32 sau 64 de biti. O alta clasificare a registrilor ii imparte in:

- registri serie, ce dispun de o singura intrare de date si o iesire. Stocarea bitilor se face pe baza unui tact (vezi mai departe, clock), bit cu bit, prin poarta de intrare.

Initial, toate CBB sunt resetate ('stocheaza' valoarea binara 0). La primui tact se va scrie in pozitia unu, bitul 1 (in figura, valoarea 1). La al doilea tact, primul bit stocat este deplasat la dreapta cu o pozitie si bitul 2 (valoarea 0) este memorat in pozitia 1. Pentru stocarea bitului 3, se repeta actiunea de deplasare cu un bit la dreapta, pentru bitii 1 si 2 si stocarea bitului 3 (valoarea 0) se poate efectua in prima pozitie, acum eliberata. Bitul 4 (valoarea 1) este scris dupa deplasarea bitilor 1, 2 si 3 cu o pozitie la dreapta si procesul este terminat. In functie de marimea in biti a registrului (8, 1664), acest proces este repetat pana la completarea totala a registrului

-registri paraleli, ce au numarul de intrari egal cu numarul de CBB, adica egal cu numarul de biti simultan memorabili. Numarul de iesiri al registrului poate fi egal cu numarul de intrari. Pot exista insa si registri de acest tip, cu o singura iesire serie.

Registrii paralel sunt mai rapizi in manipularea datelor, deoarece scrierea se face in acelasi timp, pentru 'n' biti (n = 4, 8, 16, 32, 64) la un singur tact si nu bit cu bit ca la cei serial) (vezi figure 1.3 B). ‑ registri tip mixt sau registru serie‑paralel ce pot functiona in ambele moduri. O alta clasificare a registrilor se face dupa natura elementului ce realizeaza functia de memorare efectiva (vezi celulele de memorie, Memoria) si anume:

‑ registri statici, la care functia de memorare este realizata de CBB‑urile circuitului, prin setarea (valoarea 1) sau resetarea (valoarea 0) acestora;

‑ registri dinamici, la care functia de memorare este realizata de condensatoare, iar informatia este stocata sub forma de sarcina electrica pe aceste condensatoare, existenta sarcinei corespunzand valorii binare 1 iar absenta acesteia, valorii binare 0.

Registrii interni microprocesorului sunt clasificati si folositi de microprocesor dupa cum urmeaza:

‑ registri de date sau registri generali sunt folositi pentru manipularea datelor. In general acesti registri sunt utilizati de instructiunile logice, si aritmetice, si pot fi de 16 biti la 8086 si 80286, 32 de biti la 80386 si 80486 si 64 de biti la Pentium;

‑ registri de pointer si index sunt utilizati de catre instructiunile pentru transfer de date, adresari indexate si stiva;

‑ registrii de segment, folositi in accesarile de memorie si transferuri de date, contin adresele de segment pentru program, date curente, extrasegment si stiva;

‑ registru indicator de instructiune, care indica instructiunea curenta in cadrul unui program in curs de executie;

‑ registru de stare, prin intermediul caruia se poate verifica efectul executiei anumitor instructiuni ori stari ale microprocesorului.

c)Tipul constructiv al microprocesoarelor. Activitatea generala a unui microprocesor foloseste doua tehnici si anume:

tehnica pipelined, ce utilizeaza inlantuirea mai multor module ce vor prelucra in cascada o informatie: modulul curent Mi-1preia informatia de procesat (a, b, ..)Mi‑2 de la modulul anterior Mi-1 (care si‑a terminat sarcina de prelucrare a informatiei (x, y,)Mi‑2), o prelucreaza si o trimite modulului urrnator, Mi+1, care, daca este ulti­mul din cascada, va termina de procesat informatia respectiva, daca nu o va trimite modulului imediat urmator, sub forma (p,q,..)Mi.

Prelucrarea efectiva a datelor este rapida, insa metoda de adresare a memoriei si de preluare a datelor din aceasta lasa de dorit, existand momente in care nu sunt efectuate citiri sau scrieri la nivelul memoriei

tehnica burst O tehnica mai noua, folosita incepand cu 80486, ce a impus introducerea in aceeasi capsula cu microproce­sorul a unei rnemorii de tip SRAM numita memorie cache.

Burst‑ul presupune folosirea acestei memorii pentru a putea citi nu instructiuni singulare, preluate secvential, ci blocuri de in­structiuni, care, in prealabil, au fost incarcate din memoria de lucru

Astfel, citirea din RAM nu se face explicit pentru fiecare locatie de memorie, deci pentru cate un cuvant (de 16 biti = doi octeti) ci, la o singura adresare, este efectuata o accesare simultana a patru locatii (deci 4 cuvinte‑64 de biti, odata).

Asadar, citirea memoriei de catre controller‑ul specializat este efectuata pentru 8 octeti (4 cuvinte), folosind o singura adresare, a locatiei 'de inceput' a celor 4 cuvinte. Observam ca se elimina trei adresari, corespunzatoare celor trei locatii de memorie ulterioare crescand considerabil viteza de lucru.

Prezentarea generala de pana acum corespunde tipului de microprocesoare CISC (Complex Instruction Set Computer), cele mai raspandite si accesibile din familia PC.

Specificam existenta unui alt tip de microprocesoare destinate tehnicii de calcul si anume microprocesoarele RISC (Reduced Instruction Set Computer), concepute initial pentru a fi incorporate in supercalculatoare (statii grafice si in general, echipamente profesionale dedicate) utilizate in domeniile tehnico‑stiintifice, unde procesarea in timp real a informatiei este esentiala.

Datorita faptului ca, la executarea codului ce formeaza un program, un microprocesor CISC foloseste intens numai aproximativ 35‑40% din setul de instructiuni ce ii alcatuieste limbajul, prin aceasta microprocesorul nefiind utilizat la adevarata sa capacitate de procesare, s-a recurs la reducerea drastica a numarului de instructiuni din set (in functie de tip, au ramas circa 40‑60 de instructiuni). Unele tipuri noi de microprocesoare CISC (Nx586, Pentium, AMD) se apropie foarte mult de caracteristicile RISC, prin integrarea unor mecanisme ce pot simula o functionare tip RISC.

Acest lucru a dus, in principal, la accelerarea generala a procesarii, dar si la reducerea problemelor legate de programarea unui microprocesor.

Microprocesoarele RISC au incorporate, in acelasi cip, unitatea logica aritmetica, unitatea de virgula flotanta si o unitate grafica, memoriile cache si managerul de memorie, fapt ce le face deosebit de rapide. Ele pot prelucra minim doua instructiuni per ciclu, posibilitate datorata arhitecturii superscalare a acestor micro­procesoare.

Revenind la microprocesoarele CISC, un element care poate sugera complexitatea acestora este numarul de tranzistoare integrate in microprocesor, numar care in prezent a crescut foarte mult.

Doi factori ce influenteaza direct numarul de componente integrate la un microprocesor, ar fi cantitatea mare de caldura ce se disipa in mediu si problemele tehnologice ce apar la dezvoltarea structurilor de componente pe placutele de siliciu.

In primul caz, de nivelul emisiei calorice depinde chiar durata de viata a cipului, deoarece o disipare necorespunzatoare a energiei termice dezvoltate de tranzistoarele integrate poate duce la distrugerea cipului.

In capsulele ceramice ce inglobeaza placutele de siliciu pot apare microfisuri din cauza fenomenelor de dilatare sau contractare. De aceea, microprocesorul (de fapt intregul sistem de calcul) trebuie ferit de orice variatie de temperatura ce ar putea apare la pornirea acestuia (temperatura componentelor sistemului trebuie sa fie egala cu temperatura ambientului).

Ca solutii tehnice de racire, sunt indicate mini‑ventilatoarele montate deasupra capsulei microprocesorului (cooler‑e ‑ incepand cu 80486), si/sau radiatoare. Periodic, este recomandata verificarea functionarii cooler‑ului, defectarea sau decuplarea acestuia nefiind semnalata de calculator.

Cea de a doua problema tine chiar de constructia efectiva a cipurilor, deoarece o data cu cresterea complexitatii unui cip prin cresterea numarului de componente integrate, creste si numarul erorilor de productie.

In ceea ce priveste noile produse aparute pe piata in domeniul procesoarelor, lucrurile au luat o dinamica accentuata in ultimul timp, modelele noi succedandu-se unul dupa altul.

Cei mai puternici jucatori pe piata de procesoare sunt compania Intel: fondata in 1968 in Santa Clara, California cu vanzari in jur de $26.6 miliarde si compania AMD (Advanced Micro Devices) fondata in 1969 cu baza in Sunnyvale, California, cu vanzari in jur de $3.9 miliarde in 2001.

Facand o analiza a pietei mondiale de procesoare firma Intel detine peste 78 % din vanzari, iar AMD numai 21%.

Paradoxal cand vine vorba despre piata romaneasca de procesoare procentele se schimba: AMD detine 74%, Intel 24,5% iar alte firme 1,5%. Acest lucru este explicabil prin structura pietei noastre si raportului foarte bun pret/performanta al procesoarelor AMD.

d)Memoria CACHE. O ultima caracteristica ce influenteaza viteza de lucru a unitatii centrale o reprezinta dimensiunea memoriei cache (memoria de "prindere'). Respectiva memorie este o memorie tampon foarte rapida, intre microprocesor si memoria interna, conceputa pentru a fi mai apropiata microprocesorului decat memoria interna. Memoria CACHE contine datele din memoria interna care au o mai mare probabilitate de a fi apelate, evitand astfel asteptarea microprocesorului la citirea din memoria interna.


Fig. Citirea din memoria interna utilizand memoria cache

Microprocesorul comunica mult mai rapid cu memoria cache (dat fiind modul constructiv special al acesteia), iar daca programul pe care il are de executat se afla in aceasta memorie cache, el va functiona mult mai rapid.

Memoria CACHE este de doua feluri: de nivel unu (interna) si de nivel doi (externa). Cea interna este integrata in microprocesor si are dimensiuni de 8 pans la 16 Kb. Marimea memoriei CACHE externa variaza de la un calculator la altul, valorile uzuale fiind de 256 sau 512 Kb.

O exemplificare a principiului de functionare este urmatoarea: initial, micropro­cesorul cauta informatiile necesare in memoria CACHE interna; in cazul ca nu le gaseste, le cauta in memoria CACHE externa si, numai daca lipsesc si de aici, va citi memoria interna. Fara memorie CACHE, viteza microprocesorului poate scadea cu 25%.

Capacitatea maxima de memorie adresabila.

In principiu, un microprocesor nu poate adresa o cantitate infinita de memorie, ci numai cantitatea maxima impusa de procesul sau constructive (tehnologia pe 16, 32, 64 biti). De ce este importanta aceasta valoare maxima a memoriei adresabile ? In primul rand pentru ca microprocesorul lucreaza mult mai rapid cu memoria interna decat cu cea externa, iar in al doilea rand un program nu se poate executa decat daca se afla in memoria interna.

Setul de instructiuni. Microprocesoarele din familia Intel 80x86 permit cuplarea, extern sau intern, cu unitati specializate in operatii matematice in virgula mobila ‑ asa numitele coprocesoare matematice (notate i80x87), programabile prin propriul lor set de instructiuni.

Prin folosirea unui asttel de tandem microprocesor ‑ coprocesor matematic se obtin sporiri ale vitezei de lucru sesizabile mai ales in situatia rularii unui program ce prelucreaza date in virgula mobila, deci calcule matematice ce se doresc foarte precise. Odata cu aparitia microproprocesorului 80486, conceptul de unitate matematica in virgula mobila cuplata exterior la microprocesor, a fost modificat prin integrarea lui in aceeasi capsula. Toate microprocesoarele i80x86 au corespondentul propriu in ce priveste coprocesorul matematic.

Avantajul integrarii in aceeasi capsula a coprocesorului matematic este sporul de viteza obtinut prin eliminarea transferurilor pe magistralele externe microprocesorului, mult mai lente decat cele interne acestuia.

Microprocesoarele Intel incepand cu Pentium (microprocesorul 80586), inglobeaza coprocesorul in aceeasi capsula, renuntandu‑se, se pare definitiv la variantele cu coprocesor separat.

Primul microprocesor ce a putut prelucra in paralel minim doua instructiuni a fost Pentium care, este capabil de o astfel de procesare datorita faptului ca dispune de doua ULA incorporate in acelasi cip.

Toate instructiunile pe care un microprocesor le poate executa (interpreta) formeaza setul de instructiuni al microprocesorului. Acest set este proiectat si optimizat pentru fiecare microprocesor in parte. Toate microprocesoarele Intel 80x86, au setul de instructiuni complet compatibil 'in jos', cu versiunile inferioare (Pentium IV - Pentium III - Pentium II - Pentium ‑ 486 ‑ 386 ‑ 286).

Instructiunile limbajelor evoluate (C, Pascal, Prolog, Lisp etc.) necesita transformarea lor de catre compilator in instructiuni simple, interpretabile de catre microprocesor. Astfel, pentru fiecare instructiune a limbajului de nivel inalt, se genereaza mai multe instructiuni apartinand setului de instructiuni al microprocesorului ce reprezinta pasii executati de procesor pentru executia efectiva a instructiunii limbajului. Setul de instructiuni pe care un procesor le poate executa si care formeaza limbajul de programare la nivel scazut al microprocesorului, formeaza limbajul masina sau codul masina.

In limbaj masina fiecare instructiune este codificata ca un numar organizat binar si este evident faptul ca programarea in acest mod este deosebit de dificila si cronofaga, motiv pentru care programatorul foloseste un compilator ori asamblor, sisteme software ce sunt capabile sa transforme instructiunile ce compun un limbaj de nivel inalt, in instructiuni tip masina.

Si coprocesoarele matematice dispun de un set propriu de instructiuni, clasificate in sase categorii; trei categorii sunt folosite in operatii generale de control coprocesor, transfer de date si comparari de date, iar celelalte trei tipuri, pentru instructiuni pur matematice: instructiuni‑constante, pentru furnizarea unor constante larg folosite (de exemplu, Pi), instructiuni pentru functii netranscendente (+, ‑, x, :' radicalul etc.) si instructiuni pentru functii transcendente (functii logaritmice si trigonometrice).

Tendinte actuale in dezvoltarea microprocesoarelor

In afara de aparitia noilor procesoare ce lucreaza pe 64 biti este din ce in ce mai sigur ca sistemele noastre vor ajunge in curand sa utilizeze procesoare dualcore. Acest lucru presupune existenta fizica a doua procesoare in unul singur. Pe masura ce suprafata pastilei procesoarelor scade, aceasta idee are din ce in ce mai mult suport fizic.

Intel a pregatit terenul pentru multicore prin lansarea procesoarelor Pentium 4 cu HiperThreading.

Aceasta tehnologie face ca sistemul sa vada doua procesoare virtuale si ajuta procesorul sa lucreze mai eficient. Din 2005 cele doua procesoare nu mai sunt doar virtuale.

Cipurile dual-core, proiectate pentru a sustine doua nuclee distincte, ofera practic doua unitati centrale de procesare integrate intr-o singura bucata de silicon.

Primul pas a fost facut de Procesorul AMD Athlon 64 X2 4800+, ce lucreaza la o frecventa de tact de 2,4 GHz pe o arhitectura de 90 nm, are 1 MB de memorie cache L2 pe fiecare nucleu. Magistrala sistemului functioneaza la 2.000 MHz datorita tehnologiei HyperTransport. Procesorul consuma maximum 110 W, beneficiind si de tehnologia Cool'n'quiet, care ajusteaza puterea consumata in functie de activitatea desfasurata de procesor. Lansate in iunie anul curent, procesoarele Athlon 64 X2 pe 64 biti propulseaza deja serverele dual-core Opteron si statiile de lucru.

Intel nu s-a lasat mai prejos si a lansat procesorul Intel Pentium 840 Extreme Edition. Este implementat pe o arhitectura de 90 nm, functionand la o frecventa de tact de 3,2 GHz. Ca si competitorul direct, are cate 1 MB de memorie cache L2 pe fiecare nucleu. Front Side Bus-ul acestui procesor atinge 800 MHz.

Interesant este ca pe langa tehnologia Dual-Core, acest model este dotat si cu functia Hyper Threading. Astfel, avand in vedere ca fiecarui procesor fizic dintre cele doua de pe capsula ii sunt alocate doua procesoare logice prin HT, rezulta ca noul model de la Intel poate executa nu mai putin de patru procese in paralel.

Computerele cu procesoare dual-core au inceput sa apara deja pe piata in diferite variante. Pentru o mai usoara trecere intre generatiile de procesoare, la platformele AMD exista posibilitatea de upgrade a existentului Athlon 64 din PC doar printr-un simplu upgrade de BIOS. Pe de alta parte, Intel nu ofera aceeasi flexibilitate, pentru trecerea la tehnologia Intel Dual-Core fiind necesara achizitia unei noi placi de baza.

Tehnologia Dual-Core Intel

Un procesor dual-core Intel are doua nuclee de executie separate pe acelasi cip care ruleaza la aceeasi frecventa. Ambele nuclee impart aceeasi package fizic si aceleasi interfete cu chipset-ul si memoria. Totusi, ele pot opera ca nuclee distincte de executie. Procesarea dual-core este una dintre metodele de a furniza performanta in timp ce se balanseaza cerintele de putere si consta in adaugarea mai multor resurse procesorului si nu in cresterea frecventei acestuia. O statie de lucru bazata pe un procesor dual-core Intel extinde capabilitatile PC-ului si asigura un mai mare grad de procesare simultan, un utilizator putand, de exemplu, sa randeze si sa editeze o secventa video in acelasi timp. Ca o analogie, imaginati-va o autostrada cu patru benzi: pe ea trec pana la de doua ori mai multe masini fara a obliga fiecare masina sa mearga de doua ori mai repede

Procesorul Intel dual-core este o evolutie a tehnologiei Hyper Threading. Atat tehnologia HT, cat si un procesor dual-core permit rularea mai multor aplicatii concepute pentru a exploata procesele multiple, dar dual-core aduce mai multe resurse si putere de procesare in cadrul PC-ului. In alte cuvinte, procesarea dual-core face acelasi lucru ca si Hyper Threading, doar ca mai repede, avand o putere de calcul mai mare.

In viitor, Intel va lansa procesoare ce vor imbina cele doua tehnologii, Hyper-Threading si Dual-Core, pentru a asigura rularea in paralel a unui numar maxim de patru procese diferite. Acest lucru va duce, pe langa dublarea teoretica a vitezei, la o explozie a numarului aplicatiilor concepute sa ruleze pe sistemele multi-core.

Tehnologia Dual-Core AMD

AMD continua drumul inovatiilor introducand tehnologia dual-core (dual socket) pentru piata PC. Procesoarele dual-core Opteron pentru statii de lucru extind arhitectura Direct Connect a AMD, conectand doua unitati centrale de procesare (CPU) intr-un singur circuit integrat, imbunatatind per total performantele sistemului si eficienta acestuia.

Un lucru imbucurator pentru fanii AMD este ca tehnologia dual-core este extrem de usor de implementat prin urmatoarele considerente principale:

-procesorul dual-core contine doua unitati centrale de procesare intr-un singur circuit integrat, fiecare nucleu avand propria memorie cache L2 de 1 MB;

-se conecteaza pe socket-urile existente cu 940 de pini pentru procesoarele AMD Opteron;

-un update de BIOS este tot ceea ce este necesar pentru a obtine un sistem compatibil de a rula cu procesoare dual-core;

-cele doua nuclee CPU se descurca cu aceeasi memorie si cu tehnologia HyperTransport disponibile pentru procesoarele single-core.

Procesoarele AMD Opteron dual-core prezinta, de asemenea, avantajele arhitecturii unui procesor cu un singur nucleu. Aceste avantaje cuprind urmatoarele tehnologii:

- Direct Connect Arhitecture - ajuta la imbunatatirea performantei sistemului si a eficientei prin conectarea directa a procesoarelor, controllerului de memorie si a dispozitivelor de intrare-iesire ale procesorului.

-HyperTransport Technology - asigura interconectare cu latime de banda scalabila intre procesoare, subsitemele periferice si alt chipset.

- AMD PowerNow! Technology cu Optimized Power Management (OPM) - asigura necesarul de putere de calcul in functie de cerinte, rezultand un raport performanta-putere optimal.

Ce se poate face concret cu procesoarele dual-core?

Pentru a plasa procesoarele dual-core intr-un context potrivit, trebuie sa reconsideram modul de lucru cu computerul. Sistemele cu doua procesoare logice sunt perfect potrivite pentru a face operatiuni multiple, simultan, fara ca utilizatorul sa observe scaderi de performanta.

Desi primele procesoare cu doua nuclee abia au fost anuntate si cu greu pot fi gasite deocamdata pe piata, AMD si-a propus deja ca in 2007 sa produca primele sale procesoare (in regim de mostre) care sa foloseasca 4 nuclee.

Cel mai probabil aceste procesoare isi vor gasi cea mai buna aplicare in servere, putand fi realizate configuratii mult mai puternice folosind design-uri si costuri asemanatoare celor din prezent. In acelasi timp, presedintele AMD recunoaste faptul ca vanzarile de procesoare dual-core vor atinge un volum important abia anul viitor, ceea ce poate naste intrebari referitoare la oportunitatea lansarii unor versiuni cu 4 nuclee peste doar 2 ani.

Intel nu ofera date despre specificatiile arhitecturii sale de urmatoare generatie dar spune insa ca produsele bazate pe noua arhitectura vor fi lansate in cea de-a doua jumatate a anului 2006.
Arhitectura de urmatoare generatie va fi orientata spre imbunatatirea eficientei energetice si capabilitatile multi-core si va fi utilizata in toata gama de procesoare pentru PC-uri, servere si dispozitive mobile. Accelerarea lansarii procesorului Xeon dual-core a alimentat speculatiile conform carora Intel intentioneaza de asemenea sa accelereze lansarea urmatoarea fazei in dezvoltarea multi-core, care implica procesoare cu patru unitati de procesare pe un singur chip.

Impulsionati de succesul inregistrat de solutia dual-core Athlon 64 X2, specialistii de la AMD si-au propus ca, in maxim doi ani, sa produca, in regim de mostre, primele procesoare care sa foloseasca patru nuclee. Acestea urmeaza, cel mai probabil, sa fie folosite pentru realizarea unor servere perfomante, la costuri compatibile cu cele din prezent. La randul lor, "concurentii" de la Intel au anuntat ca pregatesc un procesor quad-core, care poarta numele de cod Whitefield, acesta urmand a fi prezentat cel mai probabil la inceputul anului 2008.

Se pare ca primele procesoare quad-core vor folosi, cel mai probabil, tehnologia de 65 nanometri. Specialistii companiei au afirmat, cu aceeasi ocazie, ca AMD se afla pe calea unui "progres ireversibil" din punctul de vedere al noilor arhitecturi, specificand in mod deosebit noile facilitati care vor fi oferite atit procesoarelor pe 64 de biti cat si celor dual-core. Executivii au confirmat faptul ca AMD planuieste sa imbunatateasca liniile tehnologice de fabricatie pentru solutiile Opteron pentru a trece pe solutii quad-core, atentia folcalizandu-se pe cresterea perfomantelor chip-urilor - viteze mai mari de rulare, consum mai mic de energie, stabilitate crescuta. Viitoarele imbunatatiri care vor fi aduse arhitecturii AMD vor consta in solutii de power management pentru fiecare nucleu in parte, in cazul solutiilor multi-core, si imbunatatiri ale specificatiilor HyperTransport si chiar co-procesoare dedicate.

Totusi procesoarele de la Intel doteaza marea majoritate a serverelor x86, care ruleaza pe sistemul de operare Linux sau pe Microsoft Windows. AMD a inregistrat o crestere a cotei de piata pe segmentul procesoarelor x86 pentru servere la 7,4% in trimestrul II fata de 5,6% in trimestrul I. Pe piata serverelor x86 cu cel putin patru procesoare, AMD a obtinut aproape 20% din piata din Statele Unite, fata de 11,4% in trimestrul I al anului


Ce va urma ?

Directorul diviziei de futurologie de la British Telecom, Ian Pearson, observa nu de mult ca prezentarea consolei Sony PlayStation 3, un dispozitiv de 35 de ori mai puternic decat modelul pe care il inlocuieste, este un semn al lucrurilor care urmeaza sa se intample.

"Noul PlayStation are 1% din puterea creierului uman si deci are statut de supercomputer, fata de sistemele de acum 10 ani. PlayStation 5 va fi probabil la fel de puternic ca si creierul uman".

Pearson a prevazut de asemenea ca va fi posibila construirea unui computer complet constient cu un nivel supra-uman de inteligenta chiar din 2020.

Computerul BlueGene al IBM poate deja efectua 70,72 trilioane de calcule pe secunda, iar Pearson crede ca urmatorul obiectiv este replicarea informatiilor din creier si a constiintei umane si spune ca realizarea unor computere cu constiinta ar putea duce la dezvoltarea unui numar mare de proiecte ale unor sisteme cu emotii, cum ar fi avioanele care se tem de prabusire.

Pearson a prevazut crearea pana in 2020 a unei "lumi virtuale" de medii generate de computer, in care ne vom petrece din ce in ce mai mult timp.

"Cand tehnologia iti ofera o imagine 3D in marime naturala iar legaturile catre sistemul nervos iti permit sa strangi virtual mana cuiva, este ca si cum te-ai afla in biroul interlocutorului. Este imposibil sa nu consideri acest mijloc ca metoda normala de comunicare", a spus el.

Pe de alta parte cercetatorii Hewlett Packard au inventat o tehnologie revolutionara de proiectare a viitoarelor nano-circuite electronice, pe baza teoriei de codificare, care ar putea inlocui tranzistorii - elementele fundamentale ce au stat la baza computerelor in ultima jumatate de secol. Tehnologia poate sta la baza unor calculatoare de mii de ori mai puternice decat cele actuale si foloseste componente electronice de ordinul nanometrilor care vor completa pentru prima oara si vor inlocui probabil, la un moment dat, tehnologia bazata pe siliciu, ale carei limite fizice se estimeaza ca vor fi atinse in circa 10 ani.

Cu toate acestea, reducerea dimensiunii chip-urilor va implica de acum incolo o serie de provocari tehnologice pentru toata lumea. Desi chip-uri pe 65nm sunt programate pentru sfarsitul acestui an, companiile vor trebuie sa adopte un numar de noi tehnologii pentru generatia chip-urilor pe 45nm, care trebuie sa soseasca in 2007.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate