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 Figura 2.4 Principiul de funcționare al memoriei cache
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1069]
-
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 Figura 2.4 Principiul de funcționare al memoriei cache, pe un nivel și pe trei niveluri Memoria cache conține o copie a unei porțiuni din memoria principală, iar Capitolul 2 Unitatea centrală
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1069]
-
de funcționare al memoriei cache, pe un nivel și pe trei niveluri Memoria cache conține o copie a unei porțiuni din memoria principală, iar Capitolul 2 Unitatea centrală de prelucrare a sistemelor embedded Construcția și tehnologia sistemelor embedded 31 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_1069]
-
Construcția și tehnologia sistemelor embedded 31 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_1069]
-
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_1069]
-
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_1069]
-
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_1069]
-
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_1069]
-
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ă: Ă(Ă1( 211 TTHTHTS Unde TS = timpul mediu de acces la memorie T1 = timpul de acces la memoria cache
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1069]
-
î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_1069]
-
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 Capitolul 2
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1069]
-
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 Capitolul 2 Unitatea centrală de prelucrare a sistemelor embedded Construcția și tehnologia sistemelor embedded 34 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
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1069]
-
și instrucțiuni. Figura 2.8 Microarhitectura procesorului Intel Pentium 4 640 Capitolul 2 Unitatea centrală de prelucrare a sistemelor embedded Construcția și tehnologia sistemelor embedded 34 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_1069]
-
î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_1069]
-
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_1069]
-
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_1069]
-
dar procesul poate fi modificat pentru a acomoda o structură pipeline conform figurii 2.9. Capitolul 2 Unitatea centrală de prelucrare a sistemelor embedded Construcția și tehnologia sistemelor embedded 35 Figura 2.9 Implementarea tehnicii pipeline pentru execuția instrucțiunilor unui procesor Evoluția temporală a instrucțiunilor din pipeline este evidențiată în figura 2.10. Figura 2.10 Evoluția temporală a instrucțiunilor din pipeline La fiecare ciclu de tact se execută o instrucțiune, astfel că factorul maxim de accelerare față de procesul de execuție
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1069]
-
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_1069]
-
condiționate pentru că penalizarea impusă vitezei de procesare de latența mare a structurii pipeline este foarte mare. Capitolul 2 Unitatea centrală de prelucrare a sistemelor embedded Construcția și tehnologia sistemelor embedded 36 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. Figura 2.11 Microarhitectura procesorului AMD Opteron X4 Barcelona Nucleul ARM Cortex A9 dispune de asemenea de o structură pipeline complexă
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1069]
-
embedded Construcția și tehnologia sistemelor embedded 36 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. Figura 2.11 Microarhitectura procesorului AMD Opteron X4 Barcelona Nucleul ARM Cortex A9 dispune de asemenea de o structură pipeline complexă pe 11 niveluri pentru execuția instrucțiunilor care asigură frecvențe ridicate ale semnalului de tact și performanțe superioare de procesare a datelor. Capitolul 2 Unitatea
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1069]
-
2.12 Conducta de instrucțiuni la nucleul ARM Cortex A9 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_1069]
-
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_1069]
-
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_1069]
-
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_1069]
-
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 Capitolul 2 Unitatea centrală de prelucrare a sistemelor embedded Construcția și tehnologia sistemelor embedded 38 este că planificarea instrucțiunilor este terminată înainte de a începe execuția codului. Putem
CONSTRUCŢIA ŞI TEHNOLOGIA SISTEMELOR EMBEDDED by Andrei DRUMEA () [Corola-publishinghouse/Science/674_a_1069]