ComputerÎn articolul anterior am discutat despre conceptele fundamentale folosite în domeniul computerelor. Continuăm astăzi seria dedicată ştiinţei computerelor cu prezentarea arhitecturii computerului şi a funcţionării acestuia.

 

 

 

Computerul. Concepte fundamentale

Computerul. Prezentare generală


Arhitectura computerului


Memoria de tip RAM (Random Access Memory)

"Accesul aleator" (random access) al memoriei înseamnă că datele din memorie pot fi accesate în orice ordine. RAM-ul este format din condensatoare ce stochează mici cantităţi de sarcină electrică, fiecare reprezentând un bit: 0 ori 1.

Există două tipuri de memorii: DRAM (dynamic RAM) şi SRAM (static RAM). DRAM foloseşte condensatoare ce trebuie încărcate periodic, pe când SRAM pot menţine sarcina pentru perioade foarte lungi. Ca  urmare, SRAM este mai rapid, căci nu are nevoie de perioade de încărcare, dar este şi mai scump; de aceea, memoria de tip DRAM este mult mai răspândită.

RAM-ul este împărţit în "cuvinte", secţiuni de memorie cu adresă unică ce pot conţine 8 biţi (1 byte) ori mai mulţi baiţi. O memorie de 256 MB va avea 268.435.455 de unităţi de memorie (deci, de adrese). De ce nu 256.000.000? Vezi articolul anterior, Computerul. Concepte fundamentale.

Rolul memoriei în funcţionarea computerului


Atunci când un utilizator comandă executarea unui program, întâi acesta este mutat de pe hard-disk (ori de unde este stocat) şi adus în memoria principală (memoria principală reprezintă memoria RAM, câteodată completată de o memorie virtuală, adică un spaţiu de stocare de pe alt dispozitiv, ca hard-diskul, folosit pe post de memorie volatilă). De ce este necesară mutarea în memoria principală? Pentru că aceasta este mult mai rapidă decât hard-diskul şi poate lucra la viteze sporite cu procesorul.

 

 

Bootarea (pornirea) computerului

Ce se întâmplă atunci când apăsăm butonul de pornire a computerului? Sistemul de operare se află pe hard-disk, deci nu poate rula.

Procesul de pornire a computerului şi de iniţiere a executării sistemului de operare se numeşte bootare. Primul program care intră în scenă se numeşte BIOS (Basic Input / Output System). Acesta este un set de mici programe stocate pe un tip de memorie nevolatilă numită ROM (read-only memory), care nu pot fi modificate. Rolul BIOS-ului este să iniţieze toate dispozitivele computerului, să efectueze câteva teste de diagnoză şi, în fine, să încarce sistemul de operare în memorie. În fapt, BIOS încarcă doar un program special de pe hard-disk din sectorul de boot, program care are rolul de a activa restul sistemului de operare.


Procesorul

Arhitectura şi funcţionarea procesorului

Procesorul are trei componente majore: unitatea logico-aritmetică (ALU - arithmetic logic unit), regiştrii (registers) şi unitatea de control (CU  - control unit).

ALU are rolul de a executa calcule matematice (de exemplu, înmulţiri) şi operaţii logice (de exemplu, compararea a două numere), această componentă considerând orice dată ca fiind un număr.

Regiştrii stochează date temporar. ALU nu poate accesa direct memoria de tip RAM, ci doar regiştrii, fiind un avantaj, deci, un număr mai mare de regiştri.

Unitatea de control, CU, are rolul de a controla mişcarea datelor în interiorul procesorului. De exemplu, determină date din regiştri sunt trimise către ALU pentru efectuarea calculelor.

În esenţă, funcţionarea procesorului înseamnă un ciclu nesfârşit de aducere de date şi executare:
- întâi o instrucțiune este adusă din memoria principală;
- apoi unitatea de control decodează instrucţiunea pentru  a stabili cum s-o execute;
- în fine, instrucţiunea este executată.

Componenta de bază a unui procesor este tranzistorul. Deşi noi spunem că un procesor efectuează calcule, la nivelul cel mai jos procesorul manipulează două stări ale tranzistoarelor, on şi off, care reprezintă cele două stări fundamentale, 0 şi 1.

Cache-ul procesorului

Deşi unitatea logico-aritmetică, regiştrii şi unitatea de control sunt componentele necesare şi suficiente pentru a avea un procesor funcţional, procesoarele moderne alocă din spaţiul mic pe care-l ocupă cache-ului. Cache-ul este o memorie de tip SRAM care este folosită pentru accesarea de informaţii de către procesor într-o manieră mult mai rapidă decât este în cazul memoriei de tip RAM, dat fiind că acesta se află în interiorul procesorului.

Pentru eficienţă maximă, cache-ul trebuie să conţină datele de care are nevoie procesorul. Cache-ul este mult mai mic decât RAM-ul, prin urmare procesorul are reguli speciale, bazate pe principiul localizării (atunci când o anumită adresă a memoriei este accesară, este probabil ca adresele alăturate să fie nevoie să fie accesate în curând), care stabilesc ce date vor fi transferate din RAM în chache.

Cache-ul este important în arhitectura curentă a computerelor, întrucât, în comparaţie cu viteza de ceas a procesorului (clock speed) capacitatea de accesare a memoriei principale este foarte lentă, ceea ce înseamnă că mare parte din timp procesorul este în stare de aşteptare de date.

Procesoarele cu mai multe nuclee


Două procesoare într-un sistem cresc performanţa acestuia, deşi nu-i cresc viteza. Aceasta este ideea din spatele procesoarelor cu mai multe nuclee (de exemplu, dual-core). Pe lângă faptul că măresc performanţa, nici nu cresc emisia de căldură.

Viteza de ceas (clock speed)

Cifra esenţială care se afişează de către comercianţi despre un procesor este viteza de ceas (de exemplu, 2,4 GHz). Viteza de ceas reprezintă numărul de cicluri pe secundă. Deşi aceasta este valoarea considerată fundamentală de către majoritatea clienţilor, lucrurile nu sunt chiar aşa. Dacă un procesor ar executa o singură instrucțiune pe ciclu de ceas, atunci această viteză ar putea fi folositoare pentru comparaţia procesoarelor, dar sunt probleme de construcție şi funcţionare (de exemplu, complicaţiile generate de pipelining - spargerea instrucțiunilor în componente mici şi executarea lor simultană, uneori generând procesări inutile de date şi, deci, întârzieri) care complică lucrurile. Dacă, totuşi, ne putem baza pe viteza de ceas pentru compararea a două procesoare de acelaşi model, ale aceluiaşi fabricant, nu ne putem baza pe acest criteriu pentru a compara procesoare ale unor producători diferiţi. De exemplu, modelul AMD Athlon XP, la frecvenţa de 2,2 GHz, execută acelaşi număr de instrucțiuni ca modelul Intel, Pentium IV, cu frecvenţa de 2,8 GHz.

Dacă viteza de clock nu este cel mai bun indicator pentru compararea unor procesoare, atunci care este? Se consideră că cea mai bună soluţie este testarea efectivă (benchmarking) a procesoarelor prin rularea aceluiaşi program, pe un sistem unde se schimbă doar procesorul. Nici această soluţie nu este infailibilă, pentru că s-a constatat că există diferenţe de performanţă între procesoare, funcţie de ce program este rulat. Una peste alta însă, benchmarkingul este considerat cel mai rezonabil mod de a compara procesoarele.

Placa de bază

Placa de bază este numele pentru placa de circuite care conţine multiple elemente esenţiale ale computerului, printre care: procesorul, memoria de tip RAM, placa grafică ori placa de sunet. Placa de bază şi elementele computerului sunt alimentate de sursa de alimentare, care este astfel calibrată pentru a putea alimenta toate componentele conectate la computer (exceptându-le pe cele care se alimentează separat de la reţeaua electrică). La placa de bază se conectează, prin diverse tipuri de interfeţe: hard-diskul, unitatea CD-ROM, unitatea DVD etc.

Hard-diskul şi dispozitivele optice (CD-ROM ori DVD) se conectează la placa de bază prin intermediul unei interfeţe IDE (Integrated Drive Electronics); în fapt, IDE a fost înlocuit de EIDE (enhanced IDE), care permite transferul mai rapid de date şi conectarea unor hard-diskuri de o mai mare capacitate. O interfaţă IDE suportă conectarea a două dispozitive; dacă sunt conectate două dispozitive, unul trebuie stabilit "master", iar altul "slave". Această "setare" se face prin intermediul unor comutatoare disponibile pe dispozitive (unde sunt menţionate şi instrucţiuni privind funcţionarea dispozitivului ca "master" ori "slave").

Placa de bază dispune de magistrale (buses) necesare comunicării de date între diferite componente ale computerului.

Placa grafică

Procesorul nu generează direct imagini care sunt afişate pe monitor. Sarcina de a produce şi afişa imaginile revine plăcii grafice.

Plăcile grafice de ultimă generaţie sunt computere în miniatură, având propria memorie de tip RAM, din ce în ce mai mare, comparabilă cu memoria de tip RAM a sistemului informatic. De asemenea, au propriul procesor care poate fi mai complicat decât procesorul principal al computerului.

Cum funcţionează un sistem de operare

Bibliografie:
Computer Science Made Simple de V. Anton Spraul