Documente Academic
Documente Profesional
Documente Cultură
1. Obiectivul lucrării
2. Introducere teoretică
Linia continuă din schemă reprezintă fluxul de date şi instrucţiuni, iar linia
întreruptă, fluxul de comenzi şi stări.
Unitatea de comandă şi control (UCC) urmăreşte ordinea de execuţie a
instrucţiunilor unui program şi controlează întreaga activitate a unităţii centrale, astfel:
interpretează instrucţiunile programului din memoria internă şi comandă
circuitele să execute instrucţiunile;
comandă şi controlează transferul de date dintre memoria internă şi
dispozitivele periferice.
Unitatea aritmetică şi logică (ALU) realizează prelucrarea informaţiei preluate
din memorie, producând rezultate care se depun din nou în memorie sau sunt furnizate
în exterior. ALU realizează două categorii de operaţii:
aritmetice: adunare, scădere, înmulţire, împărţire;
logice: ŞI (AND), SAU (OR), NEGAŢIE (NOT), SAU-EXCLUSIV (XOR).
42 Arhitectura sistemelor de calcul – lucrări practice
Memoria este alcătuită din registre interne (RI), care pot fi:
de uz general;
cu destinaţie specifică.
Registrele de uz general sunt acele registre interne care stochează valorile
intermediare ale calculelor.
Registrele cu destinaţie specifică – contorul de program (PC) indică adresa
noii instrucţiuni care urmează a fi executată precum şi adresa instrucţiunii curente
care se execută.
Datele care trebuie prelucrate sunt aduse din registrele interne în registrele de
intrare ale ALU, unde rămân în timpul în care ALU face operaţiile de calcul aritmetic şi
logic. Rezultatul calculului preluat de registrele de ieşire ale ALU este stocat într-unul
din registrele de uz general. Există trei tipuri de instrucţiuni, conform figurii 2:
Execuţia unei instrucţiuni este privită ca fiind alcătuită din mai multe faze care
se succed una după alta şi care pot fi tratate de unităţi specializate într-un mod
asemănător cu o linie de asamblare (de exemplu, o linie de asamblare dintr-o fabrică
de automobile).
Exemplu. Fie un şir de procese care are loc la execuţia unei instrucţiuni,
conform schemei reprezentate în figura 4.
Exemplu. Fie 3 procese paralele P1, P2 şi P3, fiecare proces fiind văzut în
timp ca o succesiune de trei etape: intrare (i), calcul (c) şi ieşire (o).
L2b: Noţiunea de multithreading şi performanţele sale 45
2.3. Multiprogramarea
În acelaşi interval de timp, pot exista mai multe programe (procese) active în
sistemul de calcul, concurând pentru memorie, dispozitivele I/O şi CPU. Totuşi, unele
programe sunt orientate către calcule (utilizând intens CPU), în timp ce altele sunt
orientate către citirea/scrierea dispozitivelor I/O. Se pot astfel organiza (intercala) cele
două clase de programe pentru a obţine un timp de prelucrare global cât mai bun. În
figura 6b, câştigul de timp este notat cu Δ. Intercalarea programelor permite utilizarea
mai eficientă a resurselor calculatorului prin suprapunerea operaţiilor I/O cu operaţiile
CPU. Acest mod de organizare este gestionat de sistemul de operare (programul de
supervizare). Astfel, multiprogramarea se poate defini ca intercalarea operaţiilor CPU
cu operaţii I/O pentru mai multe programe.
Observaţie. Procesele P1÷P3 pot aparţine aceluiaşi program sau unor programe
diferite. În cadrul multiprogramării, se poate întâmpla ca un proces cu prioritate mare să
ocupe CPU un timp îndelungat şi în acest fel se împiedică execuţia altor procese. Acest
neajuns se poate înlătura folosind un sistem de operare cu divizare în timp.
3. Descrierea aplicaţiei
algoritm în parte va afişa rezultatul sortării, timpul de start, timpul de sfârşit şi timpul
total (diferenţa). Modul de evoluţie al fiecărei operaţii de sortare poate fi urmărit în
fereastra din stânga jos. La încheierea proceselor, pot fi vizualizate în partea de jos
diagramele pentru timpii rezultaţi în funcţie de metoda de sortare (stânga, Grafic timpi
metode de sortare), precum şi pentru timpii rezultaţi în cazurile cu şi fără
multithreading (dreapta, Grafic comparație între metode). În partea din dreapta sus
există un buton care realizează ștergerea câmpurilor şi a rezultatelor (Clear).
4. Desfăşurarea lucrării
1. Se lansează aplicaţia L2B.
2. Se parcurg noţiunile introductive ale fiecărei opţiuni din meniu.
3. Se execută, pe rând, părţile aplicative ale celor 6 opţiuni din meniu.
3.1. Prelucrarea pe loturi / multiprogramarea / diviziunea în timp. Se
aleg diferite valori pentru numărul de procese şi durata unei etape. Se
vizualizează şi se desenează (pentru două cazuri reprezentative) diagrama
proceselor şi timpii comparativi prin cele două/trei procedee.
3.2. Simularea pipe-line. Se aleg diferite valori şi combinaţii pentru tipul
operaţiilor, numărul ciclurilor de execuţie şi registrele sursă/destinaţie. Se
vizualizează şi se desenează (pentru două cazuri reprezentative) diagrama
execuţiei instrucţiunilor pe cicluri, evidenţiindu-se semnificaţia fiecărei
etape. Se notează durata totală de lucru şi se compară situaţiile studiate.
L2b: Noţiunea de multithreading şi performanţele sale 51
5. Întrebări