2,208 matches
-
legată de timpul de acces la memorie. De-a lungul timpului, decalajul dintre viteza mai mare a procesorului și cea a accesului la memorie s-a accentuat, astfel că trebuie imaginate mecanisme de acces la memorie care să evite frânarea procesorului. Soluția este de a folosi o memorie de dimensiuni reduse, dar foarte rapidă, numită memorie cache, ca tampon între memoria principală și procesor. Acest lucru este ilustrat în figura 2.4 Memoria cache conține o copie a unei porțiuni din
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
memorie s-a accentuat, astfel că trebuie imaginate mecanisme de acces la memorie care să evite frânarea procesorului. Soluția este de a folosi o memorie de dimensiuni reduse, dar foarte rapidă, numită memorie cache, ca tampon între memoria principală și procesor. Acest lucru este ilustrat în figura 2.4 Memoria cache conține o copie a unei porțiuni din memoria principală, iar atunci când procesorul dorește să scrie sau să citească un cuvânt din memorie, verifică mai întâi dacă data respectivă se află
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
folosi o memorie de dimensiuni reduse, dar foarte rapidă, numită memorie cache, ca tampon între memoria principală și procesor. Acest lucru este ilustrat în figura 2.4 Memoria cache conține o copie a unei porțiuni din memoria principală, iar atunci când procesorul dorește să scrie sau să citească un cuvânt din memorie, verifică mai întâi dacă data respectivă se află în cache. Dacă da, se spune că are loc cache hit, data se livrează procesorului cu viteză maximă. Dacă nu, se spune
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
unei porțiuni din memoria principală, iar atunci când procesorul dorește să scrie sau să citească un cuvânt din memorie, verifică mai întâi dacă data respectivă se află în cache. Dacă da, se spune că are loc cache hit, data se livrează procesorului cu viteză maximă. Dacă nu, se spune că are loc un cache miss, un bloc din memoria principală ce cuprinde și adresa dorită de procesor este adus în memoria cache iar apoi data se livrează procesorului. Principiul localizării spațiale a
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
află în cache. Dacă da, se spune că are loc cache hit, data se livrează procesorului cu viteză maximă. Dacă nu, se spune că are loc un cache miss, un bloc din memoria principală ce cuprinde și adresa dorită de procesor este adus în memoria cache iar apoi data se livrează procesorului. Principiul localizării spațiale a datelor afirmă că atunci când se aduce în memoria cache un bloc de date ce conține și data cerută de procesor, următoarele accesări ale memoriei vor
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
hit, data se livrează procesorului cu viteză maximă. Dacă nu, se spune că are loc un cache miss, un bloc din memoria principală ce cuprinde și adresa dorită de procesor este adus în memoria cache iar apoi data se livrează procesorului. Principiul localizării spațiale a datelor afirmă că atunci când se aduce în memoria cache un bloc de date ce conține și data cerută de procesor, următoarele accesări ale memoriei vor viza, cel mai probabil, celelalte date din bloc, pentru că programul accesează
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
cuprinde și adresa dorită de procesor este adus în memoria cache iar apoi data se livrează procesorului. Principiul localizării spațiale a datelor afirmă că atunci când se aduce în memoria cache un bloc de date ce conține și data cerută de procesor, următoarele accesări ale memoriei vor viza, cel mai probabil, celelalte date din bloc, pentru că programul accesează locațiile de memorie în mod secvențial. În figura 2.4, partea de jos, este ilustrată și utilizarea unor nivele multiple (trei) de memorie cache
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
ale memoriei vor viza, cel mai probabil, celelalte date din bloc, pentru că programul accesează locațiile de memorie în mod secvențial. În figura 2.4, partea de jos, este ilustrată și utilizarea unor nivele multiple (trei) de memorie cache, situație comună procesoarelor desktop moderne. Nivelele suplimentare de memorie cache încearcă să diminueze procentul de cache miss, situație care penalizează extrem de mult viteza procesorului. Timpul mediu de acces la memorie pentru un sistem cu un singur nivel de memorie cache poate fi calculat
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
figura 2.4, partea de jos, este ilustrată și utilizarea unor nivele multiple (trei) de memorie cache, situație comună procesoarelor desktop moderne. Nivelele suplimentare de memorie cache încearcă să diminueze procentul de cache miss, situație care penalizează extrem de mult viteza procesorului. Timpul mediu de acces la memorie pentru un sistem cu un singur nivel de memorie cache poate fi calculat după cum urmează: Unde TS = timpul mediu de acces la memorie T1 = timpul de acces la memoria cache T2 = timpul de acces
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
în condițiile unui raport mare între timpii de acces ai celor două tipuri de memorie. Figura 2.7 Eficiența accesului în funcție de hit-ratio Pentru obținerea unei rate mari hit-ratio este necesar să se apeleze la principiul localizării spațiale, și anume că procesorul tinde să grupeze locațiile de memorie accesate. Prin alegerea unei mărimi suficient de mari a memoriei cache (zeci de Kbytes ... MBytes) se poate asigura acest lucru. Figura 2.8 prezintă microarhitectura unui procesor de la mijlocul anilor 2000, Pentium 4 model
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
la principiul localizării spațiale, și anume că procesorul tinde să grupeze locațiile de memorie accesate. Prin alegerea unei mărimi suficient de mari a memoriei cache (zeci de Kbytes ... MBytes) se poate asigura acest lucru. Figura 2.8 prezintă microarhitectura unui procesor de la mijlocul anilor 2000, Pentium 4 model 640, și se poate observa structurarea pe două nivele a memoriei cache, precum și folosirea de memorii cache separate pentru date și instrucțiuni. Figura 2.8 Microarhitectura procesorului Intel Pentium 4 640 Paralelismul la
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
Figura 2.8 prezintă microarhitectura unui procesor de la mijlocul anilor 2000, Pentium 4 model 640, și se poate observa structurarea pe două nivele a memoriei cache, precum și folosirea de memorii cache separate pentru date și instrucțiuni. Figura 2.8 Microarhitectura procesorului Intel Pentium 4 640 Paralelismul la nivel de instrucțiune Cel mai simplu mod de creștere a performanțelor unui procesor este prin creșterea frecvenței semnalului de tact (creștere extensivă a performanțelor), dar, pentru fiecare structură fizică în parte, există o limită
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
structurarea pe două nivele a memoriei cache, precum și folosirea de memorii cache separate pentru date și instrucțiuni. Figura 2.8 Microarhitectura procesorului Intel Pentium 4 640 Paralelismul la nivel de instrucțiune Cel mai simplu mod de creștere a performanțelor unui procesor este prin creșterea frecvenței semnalului de tact (creștere extensivă a performanțelor), dar, pentru fiecare structură fizică în parte, există o limită până la care se poate crește această frecvență. În consecință, dezvoltatorii de arhitecturi de sisteme de calcul încearcă să folosească
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
în același timp) pentru creșterea performanțelor în condițiile în care se păstrează constantă frecvența semnalului de tact (creștere intensivă a performanțelor). Există două forme generale de paralelism - paralelism la nivel de instrucțiune (Instruction Level Parallelism ILP) și la nivel de procesor (Processor Level Parallelism PLP). În primul caz paralelismul instrucțiunile sunt pipeline Pipelining este o tehnică extrem de folosită în circuitele digitale și sistemele de calcul pentru creșterea vitezei de prelucrare a informațiilor. Pentru a fi eficientă, adică pentru a crește numărul
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
execută o sarcină în etape succesive prin descompunerea ei în sarcini mai mici, ce se pot executa mai rapid decât sarcina originală. Între etape se plasează registre pentru a stoca rezultatele intermediare. Acest mecanism se pretează adaptării în structura unui procesor al unui sistem de calcul, pentru că o instrucțiune a sa trece prin următorii patru pași: -Fetch - aducerea instrucțiunii din memoria de instrucțiuni și încărcarea în registrul instrucțiune al procesorului (Instruction Register IRĂ. -Decode - decodificarea conținutului instrucțiunii pentru a controla operațiile
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
stoca rezultatele intermediare. Acest mecanism se pretează adaptării în structura unui procesor al unui sistem de calcul, pentru că o instrucțiune a sa trece prin următorii patru pași: -Fetch - aducerea instrucțiunii din memoria de instrucțiuni și încărcarea în registrul instrucțiune al procesorului (Instruction Register IRĂ. -Decode - decodificarea conținutului instrucțiunii pentru a controla operațiile efectuate de unitatea aritmetică și logică (ALUĂ sau de calea de date. -Execute - execuția instrucțiunii utilizând datele furnizate la intrările ALU și căii de date. -Write - scrierea rezultatului operației
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
Dacă secvența de instrucțiuni ce urmează a fi executate este diferită de cea aflată în pipeline, structura se golește și se alimentează cu instrucțiunile corecte. Latența structurii pipeline va determina însă în acest caz o încetinire a execuției programului. Toate procesoarele moderne pentru sisteme de calcul de uz general, începând de la Intel 486, dispun de structuri pipeline cu număr mai mic sau mai mare de nivele. Un număr mare de nivele permite creșterea vitezei doar dacă se predicționează eficient salturile condiționate
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
nivele. Un număr mare de nivele permite creșterea vitezei doar dacă se predicționează eficient salturile condiționate pentru că penalizarea impusă vitezei de procesare de latența mare a structurii pipeline este foarte mare. O microarhitectură avansată compatibilă Intel x86 este cea a procesorului cu 4 nuclee AMD Opteron Barcelona, descrisă în figura 2.11; etapele principale ale execuției instrucțiunilor corespund blocurilor indicate. Nucleul ARM Cortex A9 dispune de asemenea de o structură pipeline complexă pe 11 niveluri pentru execuția instrucțiunilor care asigură frecvențe
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
semnalului de tact și performanțe superioare de procesare a datelor. Utilizarea mecanismului pipeline permite realizarea paralelismului la nivel de instrucțiune. Prin combinarea acestei tehnici cu alte îmbunătățiri arhitecturale se poate crește suplimentar paralelismul la nivel de instrucțiune și, deci, viteza procesorului. Două tehnici sunt utilizate în conjuncție cu mecanismul pipeline în procesoarele moderne - arhitectura VLIW (Very Long Instruction Wordă și arhitectura superscalară. Ambele tehnici vizează lansarea simultană în execuție a mai multor instrucțiuni, tehnică numită în literatura de specialitate multiple issue
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
mecanismului pipeline permite realizarea paralelismului la nivel de instrucțiune. Prin combinarea acestei tehnici cu alte îmbunătățiri arhitecturale se poate crește suplimentar paralelismul la nivel de instrucțiune și, deci, viteza procesorului. Două tehnici sunt utilizate în conjuncție cu mecanismul pipeline în procesoarele moderne - arhitectura VLIW (Very Long Instruction Wordă și arhitectura superscalară. Ambele tehnici vizează lansarea simultană în execuție a mai multor instrucțiuni, tehnică numită în literatura de specialitate multiple issue. Procesoarele VLIW Mai multe instrucțiuni (opcodes - operation codesă sunt trimise simultan
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
Două tehnici sunt utilizate în conjuncție cu mecanismul pipeline în procesoarele moderne - arhitectura VLIW (Very Long Instruction Wordă și arhitectura superscalară. Ambele tehnici vizează lansarea simultană în execuție a mai multor instrucțiuni, tehnică numită în literatura de specialitate multiple issue. Procesoarele VLIW Mai multe instrucțiuni (opcodes - operation codesă sunt trimise simultan procesorului pentru a fi executate simultan. Alegerea instrucțiunilor ce urmează a fi lansate într-un cuvânt VLIW este făcută de compilator. Acesta verifică lipsa dependențelor între instrucțiunile aceluiași cuvânt VLIW
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
moderne - arhitectura VLIW (Very Long Instruction Wordă și arhitectura superscalară. Ambele tehnici vizează lansarea simultană în execuție a mai multor instrucțiuni, tehnică numită în literatura de specialitate multiple issue. Procesoarele VLIW Mai multe instrucțiuni (opcodes - operation codesă sunt trimise simultan procesorului pentru a fi executate simultan. Alegerea instrucțiunilor ce urmează a fi lansate într-un cuvânt VLIW este făcută de compilator. Acesta verifică lipsa dependențelor între instrucțiunile aceluiași cuvânt VLIW și dacă procesorul le poate executa în paralel. Un potențial avantaj
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
multe instrucțiuni (opcodes - operation codesă sunt trimise simultan procesorului pentru a fi executate simultan. Alegerea instrucțiunilor ce urmează a fi lansate într-un cuvânt VLIW este făcută de compilator. Acesta verifică lipsa dependențelor între instrucțiunile aceluiași cuvânt VLIW și dacă procesorul le poate executa în paralel. Un potențial avantaj al metodei față de tehnica pipeline este că planificarea instrucțiunilor este terminată înainte de a începe execuția codului. Putem vorbi de o planificare statică a lansării multiple de instrucțiuni în execuție. În figura 2
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
avantaj al metodei față de tehnica pipeline este că planificarea instrucțiunilor este terminată înainte de a începe execuția codului. Putem vorbi de o planificare statică a lansării multiple de instrucțiuni în execuție. În figura 2.13 se prezintă modul de lucru al procesoarelor VLIW. Figura 2.13 Procesor cu un cuvânt VLIW de două instrucțiuni Pentru simplitate, cuvântul VLIW cuprinde 2 instrucțiuni care controlează fiecare câte o cale de date. După cum se poate observa în desfășurarea temporală a conținutului cuvântului VLIW, în cazul
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]
-
pipeline este că planificarea instrucțiunilor este terminată înainte de a începe execuția codului. Putem vorbi de o planificare statică a lansării multiple de instrucțiuni în execuție. În figura 2.13 se prezintă modul de lucru al procesoarelor VLIW. Figura 2.13 Procesor cu un cuvânt VLIW de două instrucțiuni Pentru simplitate, cuvântul VLIW cuprinde 2 instrucțiuni care controlează fiecare câte o cale de date. După cum se poate observa în desfășurarea temporală a conținutului cuvântului VLIW, în cazul în care compilatorul nu poate
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1090]