Documente Academic
Documente Profesional
Documente Cultură
Microprocesorul curs 10
Unitatea centrală de procesare (UCP)sau microprocesorul
1/11
Competenţe T.I.C. Microprocesorul curs 10
Primul microprocesor a fost Intel 4004, introdus în 1971. 4004 nu era foarte puternic - tot
ce putea face era să adune și să scadă și putea să facă doar cu 4 biți la un moment dat. Dar a fost
uimitor că totul era pe un singur cip. Înainte de 4004, inginerii construiau computere fie din
colecții de cipuri, fie din componente discrete (tranzistoare cablate unul câte unul). 4004 a
alimentat unul dintre primele calculatoare electronice portabile.
2/11
Competenţe T.I.C. Microprocesorul curs 10
https://computer.howstuffworks.com/microprocessor.htm
Unitatea centrală de procesare (UCP) sau procesorul supervizează aproape orice acţiune în
calculator:
1. citeşte din memorie pe rând fiecare instrucţiune a programului, în ordinea de execuţie, o
decodifică (de exemplu, adunare), citeşte din memorie datele pe care instrucţiunea
trebuie să le prelucreze (termenii adunării), efectuează operaţia indicată de
instrucţiune(cu ajutorul unităţii aritmetico-logice), scrie rezultatul în memorie şi trece la
instrucţiunea următoare – care poate fi şi din alt program, dacă programul curent s-a
terminat sau se întrerupe; în acest din urmă caz, informaţiile curente din procesor sunt
salvate într-o stivă, pentru a putea fi restaurate la reluarea programului întrerupt. Cei trei
„actori” implicaţi în acest proces, microprocesorul, memoria şi magistrala de memorie
acţionează la diferite viteze, de aceea, cu cât una dintre componente are o viteză de
acţionare mai mare, cu atât va contribui mai mult la scurtarea timpului de execuţie al
unui program. (North Bridge )
Procesorul este implicat şi în alte tipuri de acţiuni, cum sunt :
2. furnizarea tactului de către orologiul central şi
3. emiterea semnalelor de control pentru execuţia instrucţiunilor.
Fiecare procesor (CPU) conţine un ceas intern care produce şi trimite semnale electrice pe
magistrala de control pentru a sincroniza operaţiile sistemului.
Ceasul intern – este componenta hardware construită dintr-un cristal de cuartz , care vibrează la
aplicarea unei tensiuni electrice, deci , generează un număr de impulsuri electrice într-o perioadă
de timp. Un impuls generat de ceas se numeşte tact.
Acest curent alternativ se numeşte semnalul de ceas. Frecvenţa cu care se alterneazǎ
impulsurile electrice se numeste ciclu de ceas sau perioada ceasului (clock cycle).
Frecvenţa ceasului este exprimată în cicluri/secundă = Hertz (Hz) şi este o măsură a
performanţei procesorului.
Frecventa de ceas - numărul de cicluri de ceas pe secundă.
O perioadă(ciclu) de ceas este cel mai mic element de timp al procesorului.
Un Ciclu de ceas este
o cea mai mică unitate de timp sesizabilă de către un procesor.
o un puls electronic în care un procesor poate finaliza o operațiune de bază, cum ar
fi preluarea unui punct de date specific.
3/11
Competenţe T.I.C. Microprocesorul curs 10
Cele mai multe operaţii de calcul necesită de fapt mai multe cicluri de ceas. Procesoarele
mai rapide pot finaliza mai multe cicluri de ceas pe secundă decât procesoarele mai lente. Noi
măsurăm acest lucru în hertzi(Hz) =numărul de cicluri pe secundă.
Valoarea frecvenţei este de ordinul cel puţin al milioanelor într-un PC, de aceea se
măsoară în MHz
Un procesor de 1 GHz poate completa un miliard de cicluri pe secundă.
Exemplu: Ceasul unui procesor la 300 de MHz ticăie de exact 300.000.000 ori pe
secundă. Un ciclu de ceas al unui astfel de procesor are o durată de 1 / 300.000.000 secunde.
Cycles per Instruction (CPI) – fiecare instrucţiune durează un anumit număr de cicluri de ceas
.
Exemplu: instrucţiunea MOVE durează între 2 si 14 cicluri de ceas în funcţie de natura
operanzilor.
un procesor rulând la 800 Mhz execută o aceeaşi instrucţiune mai repede decât unul
rulând la 300 Mhz – durata ciclului de ceas fiind mai scurtă.
Viteza actuală a unui sistem de calcul se mǎsoarǎ în:
MIPS – Milioane de instrucţiuni (întregi) pe secundǎ; De exemplu, 8088 ,5 MHz,
execută doar 0.33 MIPS (aproximativ o instrucțiune per 15 cicluri de ceas).
Procesoarele moderne pot executa şi două instrucțiuni pe ciclu de ceas.
MFLOPS – Milioane de instrucţiuni in virgulǎ flotantǎ pe secundǎ.
Majoritatea unităţilor centrale de procesare lucrează cu două tipuri de numere:
în virgulă fixă şi în virgulă mobilă.
Numerele în virgulă fixă au un număr specific de cifre de fiecare parte a punctului zecimal.
Această restricţie limitează mulţimea de valori posibile pentru aceste numere, dar, în schimb,
permite cea mai rapidă aritmetică.
Numerele în virgulă mobilă (flotantǎ ) sunt numerele care sunt exprimate în notaţiile
ştiinţifice, în care un număr este reprezentat ca un număr zecimal înmulţit cu o putere a lui
10.
De exemplu în virgulă fixă 123,67 este în virgulă mobilă 1.2367*102
Notaţia ştiinţifică este un mod compact de a exprima numere foarte mari sau foarte mici.
Înaintea şi după punctul zecimal. Acest lucru este important pentru a reprezenta grafice şi
pentru munca ştiinţifică, însă aritmetica în virgulă mobilă este mai complexă şi poate dura
mai mult. Realizarea unei operaţii a unui număr în virgulă mobilă poate necesita mai multe
perioade de ceas ale unităţii centrale de prelucrare.
Microprocesoare produc mai multe firme, printre care cea mai cunoscută este
Intel(Integrated Electronics Corporation ); alte firme producătoare de microprocesoare sunt:
AMD (Advanced Micro Devices), Cyrix, Motorola , Sun Microsystems ,etc.
4/11
Competenţe T.I.C. Microprocesorul curs 10
5/11
Competenţe T.I.C. Microprocesorul curs 10
acestei interpuneri conduce de cele mai multe ori la eliminarea timpului de aşteptare de către
microprocesor, a încărcării datelor sau instrucţiunilor programelor din memoria internă DRAM.
Limbajul maşină.
Fiecare program, indiferent de limbajul în care a fost scris de către programator, ajunge să fie
executat de (micro)procesor numai după ce a fost tradus (compilat) în singurul limbaj pe care îl
“ştie” procesorul (şi deci calculatorul): limbajul său maşină- limba maternă a unui
microprocesor.
Dacă dăm spre execuţie la două calculatoare, unul cu procesor Intel şi celălalt cu
procesor Motorola, un acelaşi program scris în C++, de fapt fiecare procesor va executa
programul dat ca pe un şir de instrucţiuni în propriul său limbaj-maşină; aşadar, în
momentul execuţiei, un acelaşi program va arăta diferit în calculatoare cu procesoare diferite.
Limbajul-maşină conţine câteva zeci de instrucţiuni elementare, cele mai simple ce pot fi
executate de procesor. Execuţia unei singure instrucţiuni scrisă într-un limbaj evoluat (C++, de
exemplu) constă de fapt din execuţia unui şir de astfel de instrucţiuni elementare.
O instrucţiune în limbaj-maşină poate indica procesorului:
1. să execute, prin intermediul Unităţii Aritmetice şi Logice, o operaţie aritmetică sau
booleană asupra unei reprezentări de număr – întreg sau fracţionar – sau asupra unei
valori de adevăr; microprocesoarele moderne conțin procesoare complete în virgulă
mobilă care pot efectua operațiuni extrem de sofisticate pe numerele mari în virgulă
mobilă.
2. să transfere un şir de biţi dintr-o zonă a memoriei în alta;
3. să modifice ordinea de execuţie a instrucţiunilor memorate, eventual după verificarea
unei condiţii logice.
Acestea sunt operaţiile la nivelul limbajului maşină. Ele sunt acei atomi din care este alcătuit
calculul, aşa cum îl “vede” procesorul. Felul în care sunt proiectate instrucţiunile limbajului-
maşină – din punctul de vedere al circuitelor care le execută şi al structurii şirurilor de biţi
pe care le prelucrează – constituie elementul fundamental de definire şi de proiectare a unui
anumit procesor.
De ce au fost inventate aceste noi limbaje, care constituie un nivel suplimentar faţă de
limbajul-maşină? Descrisă în instrucţiuni ale limbajului-maşină, rezolvarea unei probleme
poate fi dusă la capăt de procesor, dar este foarte greu de înţeles pentru om. Calculatoarele pot fi
programate în limbaj-maşină de foarte puţini specialişti, şi în prezent este utilizată doar la
programarea unor microprocesoare pentru automatele simple.
Un prim pas în drumul calculatorului spre larga utilizare de azi l-a constituit tocmai
creşterea numărului celor care îl puteau programa: au apărut limbaje mai apropiate de modul în
care omul îşi reprezintă rezolvarea unei probleme; astfel de limbaje (primul a fost Fortran, în
1954) se numesc limbaje evoluate. Pentru ca, aşa cum aminteam, procesoare diferite să execute
6/11
Competenţe T.I.C. Microprocesorul curs 10
la fel un acelaşi program scris într-un limbaj evoluat este nevoie în primul rând ca fiecare
calculator să posede, în software-ul său, un compilator1 pentru limbajul evoluat şi, în al doilea
rând, este nevoie ca reprezentările datelor să fie standardizate pentru toate calculatoarele.
Condiţia de standardizare ţine de arhitectura calculatoarelor: reprezentările interne ale datelor
elementare (numere şi caractere) fac parte din arhitectura procesorului. Alegerea unei
reprezentări înseamnă deciderea procedurii (standardului) de codificare / decodificare a datelor,
inclusiv opţiunea privind lungimile pe care se reprezintă acestea. Spre exemplu, literele se pot
reprezenta în toate calculatoarele folosind codul ASCII, care asociază unei litere un şir de opt
biţi: litera “A” se reprezintă în ASCII ca “01000001”.
Limbajele de programare
Cronologic, limbajul în cod maşină, a fost primul limbaj de programare utilizat. Pornindu-
se de la descrierea semantică a algoritmului, programul cuprinde un şir finit de instrucţiuni,
redactate sub forma unor secvenţe cu caractere binare
Astăzi, o mare parte din etapele necesare în programarea în limbajul maşină au fost
transferate calculatorului, prin crearea unor tipuri de limbaje de programare. Aceste limbaje
sunt recunoscute de calculator care este utilat cu anumite programe în acest sens, denumite
compilatoare, care le transformă în limbaj maşină.
Din punct de vedere semiotic, majoritatea specialiştilor susţin că unele dintre limbajele de
programare sunt mai apropiate de cele logice, pe când altele mai apropiate de cele naturale.
7/11
Competenţe T.I.C. Microprocesorul curs 10
PROLOG – limbaj folosit pentru programe expert din diferite domenii: medicină (
pentru diagnostic şi recomandări tratament), geologie, procese tehnologice, etc.;
C a fost creat în 1971 de către firma Bell-Telephone pentru a permite realizarea
sistemului de operare Unix. Este un limbaj foarte performant care posedă conceptele
limbajelor structurale de nivel înalt şi în plus îi permit accesul la hardware.
C++ – limbaj orientat pe obiecte ce asigura stocarea datelor din realitate, instrumente de
programare şi de modelare a unor situaţii din lumea reala
JAVA– este un limbaj modern, orientat spre obiecte şi este utilizat pentru paginile Web,
fiind bine protejat împotriva viruşilor.
Evoluţia microprocesoarelor.
Intel 4004 a reprezentat prima realizare a unui întreg procesor prin integrare pe un
singur cip (chip);
Intel 8008 a fost primul microprocesor folosit ca unitate centrală de procesare într-un
calculator.
Din punctul de vedere al succesului comercial al microprocesoarelor, capul de serie a
fost pentru Intel 8080 din 1974 – un microprocesor pe 8 biţi, cu frecvenţă a ceasului de 2 MHz
şi care integra 6000 de tranzistoare pe un singur cip.
Procesorul 80286 din 1982 lucra pe 16 biţi şi avea aproape 150000 de tranzistori, la o
frecvenţă de 6 MHz.
Pentium, lansat în 1993, ajunsese la 3 milioane de tranzistoare şi la frecvenţa de 60
MHz; procesorul lucra cu date pe 32 sau 64 de biţi. După Pentium II (1997) şi Pentium III
(1999), în anul 2000 a apărut Pentium IV, având 42 de milioane de tranzistori şi o frecvenţă de
1500 MHz.
8/11
Competenţe T.I.C. Microprocesorul curs 10
CISC(Complex Instruction Set Computer – calculator cu mulţime complexă de instrucţiuni).,
este vorba de numărul instrucţiunilor din limbajul maşină. În arhitectura RISC, orice
instrucţiune-maşină CISC neinclusă în limbajul-maşină RISC se simulează printr-o secvenţă de
instrucţiuni RISC. Păstrând puţine instrucţiuni (cele mai frecvent folosite), arhitecturile RISC
sunt considerate ca dând procesoare mai rapide În acest fel, într-un singur ciclu al ceasului ajung
să se efectueze două instrucţiuni, faţă de o instrucţiune la 15 cicluri ale ceasului, la procesorul
8088. De altfel, faţă de comparaţia 80286 – Pentium I, în interiorul familiei Pentium diferenţa
dintre raportul frecvenţelor şi cel al numărului de instrucţiuni pe secundă s-a redus şi chiar
inversat, ilustrând relativa stagnare din punctul de vedere al ideilor de arhitectură.
Pentium.
Anunţat în 1992 şi lansat în 1993, tipul de microprocesor Pentium păstrează compatibilitatea cu
cele patru generaţii anterioare de microprocesoare, inclusiv cu 8088, Pentium introduce ideea de
procesare paralelă: având două căi identice de procesare a datelor, el poate executa simultan
două intrucţiuni (pairing). Numită de Intel “arhitectură superscalară”, acest mod de execuţie
ilustrează pentru prima dată funcţionarea paralelă la un procesor CISC Simplificând, putem
imagina un procesor Pentium ca integrând pe un singur cip două procesoare 486. Pentru a putea
folosi întreaga putere oferită de Pentium, poate fi nevoie ca ordinea instrucţiunilor să fie
modificată (compilatoare cu optimizarea codului), din cauza execuţiei în etape distincte a
fiecărei instrucţiuni (pipeline).
Familia Pentium Pro
http://microprocesorul.weebly.com/intel.html
Este cunoscut ca P6, fiind cel mai puternic procesor Intel. A fost complet reproiectat
renunţându-se la arhitectura CISC pentru a adopta arhitectura RISC mai rapidă.
Familia Pentium II
Se bazează pe arhitectura Pentium Pro, la care s-au adăugat extensiile MMX (Multimedia
Extensions).
Familia Pentium III
Este ultimul din cadrul familiei P6, şi se bazează pe arhitecturile procesoarelor Pentium Pro şi
Pentium II. Au fost adăugate 70 de noi instrucţiuni la setul de instrucţiuni existent.
Familia Pentium IV
Face parte din a şaptea generaţie cu o arhitectură numită NetBurst.
9/11
Competenţe T.I.C. Microprocesorul curs 10
http://microprocesorul.weebly.com/intel.html
Ajuns astăzi la o frecvenţă a ceasului de peste 3GHz (trei miliarde de tacturi pe secundă),
magistrala de comunicare a datelor având peste 500 MHz, Pentium în versiunea IV reprezintă un
important avans tehnologic – zeci de milioane de tranzistori pe un cip
Name Date Transistors Microns Clock speed Data width MIPS
32 bits
Pentium 4 "Prescott" 2004 125,000,000 0.09 3.6 GHz ~7,000
64-bit bus
10/11
Competenţe T.I.C. Microprocesorul curs 10
În ultimii câţiva ani au apărut însă doar îmbunătăţiri strict tehnologice
Intel a lansat recent procesoarele de desktop din generația a 10-a, de la Core i3-10100 cu 4
nuclee și până la Core i9-10900K cu 10 nuclee fizice și 20 virtuale, parte din familia cu nume de
cod Comet Lake.
11/11