Documente Academic
Documente Profesional
Documente Cultură
I. Setul de regitri
Un registru este n esen o mic memorie cu destinaie special. Spre deosebire de o locaie de memorie, un registru de memorie ofer un acces rapid, fiind uor de adresat. Ca zone de memorie, regitrii sunt utilizai pentru memorarea unui anume gen de informaie asupra creia se opereaz ntr-un anumit mod. Acetia poart denumirea de regitri specializai. Tot ca zone de memorie, regitrii sunt folosii drept zone de prelucrare a datelor de ctre unitatea aritmetico-logic, precum i n transferul datelor cu memoria intern.
Regitrii generali sunt folosii n transferul de informaii cu echipamentele de intrare-ieire. Numrul regitrilor din unitatea central de prelucrare este diferit de la un procesor la altul. Exist un numr de regitri la dispoziia utilizatorului, care pot fi folosii prin intermediul setului de instruciuni. n plus, exist regitri folosii exclusiv de unitatea central de prelucrare i la care utilizatorul nu are acces (ex: registrul segment, folosit pentru localizarea segmentelor de memorie n care sunt memorate informaiile). n funcie de tipul de informaie care se vrea localizat avem : registrul segment de cod, registrul segment de date, registrul extrasegment (folosit pentru suplimentarea dimensiunii segmentului de date), registru segment de stiv (folosit pentru localizarea stivei n memoria intern).
2
Alte categorii de regitri sunt regitrii de lucru cu memoria intern : Registrul de adres a memoriei - conine adresa locaiei de memorie care va fi accesat la un moment dat. Orice operaie cu memoria se realizeaz prin consultarea informaiei din acest registru. Registrul de date - conine cuvntul de date sau de instruciune care a fost citit din memoria intern sau care va fi scris n memoria intern. Registrul acumulator (pot fi mai multe) - memoreaz operanzi i rezultate ale operaiilor executate de unitatea aritmetico-logic n procesul de calcul. Registrul index - este utilizat n cazul adresrii indexate i al modurilor de adresare derivate din aceasta.
Registrul contor program - conine adresa instruciunii ce trebuie executat dup terminarea execuiei instruciunii curente. Coninutul lui se mrete cu lungimea instruciunii executate sau se ncarc adresa unei instruciuni la care se face un salt. Registrul de instruciune - conine zona care descrie codul operaiei i modul de adresare din instruciunea curent. Aceast informaie este folosit de unitatea de comand a unitii centrale de prelucrare. Registrul indicator de stiv - conine adresa vrfului stivei, valoarea lui modificndu-se ori de cte ori se depun sau se extrag informaii din stiv. Registrul de stare al procesorului - memoreaz cuvntul de stare al procesorului ce sintetizeaz starea sistemului la un moment dat. Aici se memoreaz informaia privind procesul n curs de execuie, iar coninutul acestui registru se salveaz n memoria intern n cazul ntreruperii procesului, pentru a fi rencrcat n cazul relurii procesului ntrerupt.
Aceti indicatori se reprezint pe cte un bit, fiind spre exemplu: bitul de transport poziionat n cazul n care a aprut un transport la o operaie de adunare; bitul de depire care se poziioneaz dac rezultatul a fost mai mare dect valoarea maxim admis n modul de reprezentare ales; bitul de zero se poziioneaz dac rezultatul este nul; este folosit n instruciunile de comparare, care se execut prin scderea elementelor comparate, egalitatea fiind confirmat de poziionarea bitului de zero. bitul de paritate intervine la biii de control i specific paritatea rezultatului; bitul de semn care definete semnul rezultatului, fiind poziionat cnd rezultatul este negativ.
Implementarea instruciunilor main n logica de comand a procesorului se face fie prin circuite electronice cablate (aceasta este tehnologia convenional, care este dependent de densitatea circuitelor electronice, dependent, la rndul ei, de tehnologia constructiv utilizat), fie prin microprogramare, n care pentru fiecare cod de operaie se definete o secven de micro-instruciuni care genereaz o operaie elementar.
La un moment dat, pe o magistral se poate efectua un singur transfer de date, de un anumit tip. n funcie de natura informaiei transferate, magistralele pot fi: magistrale de adrese care conin linii de adrese pe care se transfer informaiile de adres; magistrale de comenzi care conin linii de comenzi i de stare ; magistrale de date care conin linii de date. O anumit categorie de sisteme de calcul este aceea care folosete magistrala unic. n acest caz, toate resursele sistemului sunt conectate la aceast magistral. Ea este alctuit din linii grupate n : 1) 2) 3) linii de adrese, linii de date i linii de comenzi i de stare.
Dezavantajul, n acest caz, este c, la un moment dat, se poate efectua un singur transfer, de un anumit tip. n sistemele de calcul cu magistrale multiple, o magistral leag o pereche de uniti funcionale ce trebuie s comunice ntre ele. O astfel de organizare permite transferul de informaii n paralel, ntr-o perioad de ceas, ntre mai multe uniti, pe magistrale diferite. Dup sensul transferului de informaii, magistralele pot fi: unidirecionale, cnd transferul se realizeaz ntr-un singur sens (de exemplu: magistrala de adres, care are ntotdeauna ca destinaie registrul de adres); bidirecionale, cnd informaia poate fi vehiculat n ambele sensuri, alternativ (de exemplu : magistrala de date). Magistralele se caracterizeaz prin: numrul de linii pe care se face transferul de informaii, frecvena de ceas la care lucreaz, rata de transfer a datelor i arhitectura magistralei.
10
Arhitectura magistralei definete tipul de adaptoare pe care le accept i implicit tipul de echipamente periferice, numrul i natura extensiilor. La calculatoarele PC din seria XT, magistrala era pe 8 bii, cu o rat de transfer de 1 MB/sec. La Pentium magistrala era de 64 de bii, cu peste 500 MB/sec. Magistrala ISA (Industry Standard Architecture) este prima arhitectur standard industrial creat de Intel. Magistrala MCA (Micro Chanel Architecture) creat de IBM, include un sistem ce permite unui adaptor s preia controlul de la procesor pe perioada efecturii unei operaii de transfer. Magistrala VESA (Video Electronics Standards Asociations) realizat pentru creterea performanelor adaptorului video, este standardul de memorie din seria PC486 i permite conectarea a trei periferice rapide, a unui adaptor de hard-disk i de reea.
11
Magistrala PCI (Peripheric Connection Interface) - se conecteaz la magistrala local printr-un singur chip. Lucreaz pe 32/64 bii cu o rat de transfer de aproximativ 500 MB/sec. Echipamentele care se conecteaz la magistral sunt de tipul MASTER sau SLAVE. Echipamentele de tipul MASTER pot avea iniiativ de conectare, pe cnd cele de tipul SLAVE pot doar s rspund la iniiativele de conectare. Legtura unui echipament la magistral se realizeaz de obicei printr-un conector fizic numit PORT i printr-o component de interfa numit ADAPTOR. Porturile sunt : seriale, atunci cnd datele se transmit bit cu bit, pe o singur cale i paralele, cnd transferul se face concomitent pentru un numr de bii, pe mai multe ci.
12
Adaptoarele sunt circuite integrate, care permit procesorului s comunice i s conecteze echipamente periferice. Ele au rolul de pregtire a informaiei n forma cerut de magistral, n cazul prelurii informaiilor de la dispozitivele periferice sau invers. Este posibil ca un adaptor s controleze mai multe dispozitive periferice de acelai fel, caz n care adaptoarele au i rol de adresare a dispozitivelor periferice conectate. Spre exemplu, adaptorul SCSI (Small Computer System Interface) definete o magistral care poate conecta unul sau mai multe calculatoare cu dispozitive periferice. Fiecare echipament periferic trebuie s posede un CONTROLER, adic o interfa inteligent local, iar echipamentele conectate pot fi de tipul : uniti de disc, CD/DVD-ROM, uniti de band rapide.
13
3) Structura pipe-line
n acest caz, fiecare etap de execuie a unor instruciuni se realizeaz pe o alt unitate. Putem avea, de exemplu, unitatea de citire a instruciunii din memoria intern n registrul de instruciuni, unitatea de citire a operanzilor din memoria intern n registrul de date, unitatea de execuie a instruciunii etc. Fiecare unitate folosete informaiile furnizate de unitatea funcional anterioar i pregtete date pentru unitatea funcional care i succede. La un moment dat, un astfel de sistem poate executa n paralel mai multe instruciuni, fiecare instruciune fiind n alt stadiu de execuie, aplicat fiind unei alte uniti funcionale.
15
16
17
Observaie : FLOPS reprezint o unitate de msur a puterii de calcul a unui calculator sau
sistem de calcul, msurnd numrul maxim de operaii n virgul mobil, (de regul adunri i nmuliri), ce sunt executate pe secund. Unitatea FLOPS i gsete folosul mai ales n domeniul calculelor tiinifice, la care calculul n virgul mobil este frecvent folosit. FLOPS nu este unitate SI, dar poate fi apreciat ca o unitate de msur avnd mrimea 1/s. Deoarece forma este un acronim i S-ul din final nseamn secund, FLOPS reprezint (n limba englez) att forma de singular, ct i de plural. FLOPS nu msoar doar viteza de calcul a procesorului, ci a ntregii arhitecturi a sistemului de calcul n cauz: procesor + memorie central + bus (magistrale de date i instruciuni) + compilator. Un calculator obinuit de tip PC atinge performane (viteze de calcul) mici la operaiile n virgul mobil. Altfel spus, operaiile n virgul mobil dureaz mai mult dect cele echivalente executate n virgul fix. Un timp de rspuns de sub 0,1 secunde este perceput totui de ctre un operator uman ca rspuns instantaneu. Supercalculatorul NEC SX-9 a fost mult vreme cel mai rapid calculator de tip paralel, depind 100 gigaFLOPS pentru fiecare nucleu de procesor. Supercalculatorul IBM de tip Blue Gene/P este proiectat s opereze la 3 petaFLOPS. IBM Roadrunner a fost primul supercalculator care a atins o vitez permanent de un petaFLOPS.
18