Procesor de calculator personal - programare stiinta calculatoarelor

Controlul accelerației hardware și software

Încercarea de stabilitate

Caracteristici de overclocking ale procesoarelor AMD și INTEL

1. Principiul muncii

Procesorul central (CPU), CPU sau procesor PC - este un cip special care efectuează toate operațiile de bază de calcul și realizează procesarea informațiilor. Procesorul PC execută codul de program - o secvență de instrucțiuni (instrucțiuni), fiecare dintre acestea fiind codificată și stocată în memorie.







Există două tipuri de instrucțiuni:

Deși secvența de execuție a instrucțiunilor este prescrisă în mod clar de codul de comandă, aceasta poate fi încălcată de excepții și întreruperi. Excepțiile sunt situații speciale care apar atunci când instrucțiunile sunt executate (controlate de sistemul de operare). Întreruperile hardware sunt apeluri de procedură pentru semnale electrice în contacte speciale ale procesorului. Sursele de întreruperi hardware sunt, de exemplu, controlori de dispozitive, sisteme de gestionare a energiei. În plus, secvența de instrucțiuni poate fi modificată de către semnalul de repornire al procesorului.

Logică și aritmetică

Când execută instrucțiunea, procesorul extrage două numere binare din locurile indicate în ea (registru, memorie, constantă), iar rezultatul acțiunii pe care le scrie scrie la locul unuia dintre ei. Procesorul efectuează funcții aritmetice (adunare, scădere, multiplicare, diviziune) pe date întregi (semnat și nesemnat, binar și zecimal binar).

Lucrările pe numere cu un punct de plutire (sub formă de mantisă și ordine) sunt atribuite unui coprocesor matematic. Acesta este un set de registre de 80 de biți și un dispozitiv aritmetic care, pe lângă patru operații aritmetice, calculează valoarea rădăcinii pătrate, logaritmilor, gradelor de cifre și funcțiilor trigonometrice.

Arhitectură și microarhitectură

Arhitectura procesorului PC este determinată de setul de instrucțiuni, registre și structură de date, iar microarhitectura este o implementare a circuitelor arhitecturii sale. Noi microarhitecturi au fost create pentru a obține procesoare de înaltă performanță, de exemplu Intel NetBurst în procesoare Pentium IV sau P6 în procesoare mai vechi.

Blocurile de execuție ale procesorului (pentru prelucrarea numerelor întregi și a punctelor în virgulă mobilă) trebuie să primească continuu comenzile necesare. În microarhitectura Intel NetBurst se aplică mai multe noutăți, care asigură o încărcare constantă a unităților de execuție. Dintre acestea - o magistrală de sistem cu o frecvență de 400 MHz, memoria cache L2 cu transfer îmbunătățit de date (cache de transfer avansat), memoria cache L1 cu performanță de urmărire și întârziere de timp redusă pentru date, îmbunătățesc performanța dinamică.

2. Principiul de calcul

Procesorul de design este o placă de siliciu cu câteva sute de contacte, pe care sunt situate mai multe milioane de tranzistori. Numărul de contacte este determinat de conectorul plăcii de bază. Tranzistori și contacte sunt adăpostite într-o carcasă pe care este instalat un radiator cu ventilator (acest design se numește un răcitor, de la un răcitor englez - un răcitor).

Principiul procesorului este următorul. Datele cu care procesorul funcționează sunt plasate în registrele sale (memorie procesor) sau microinstrucție, în memoria RAM a PC-ului. Dacă informațiile sunt stocate pe dispozitive de memorie externe, de exemplu, pe un hard disk, acestea trebuie citite în memoria RAM, din ea în cache-ul procesorului și apoi în registrele procesorului. Microcomandările procesorului introdu numere în registre, le procesează și apoi trimit rezultatul, de exemplu, în memoria RAM. Pentru a adăuga numere întregi 5 și 3, procesorul, cu excepția acestora, primește comanda "adăugați numere". Rezultatul este rezultatul - un număr întreg de 8.

3. Autobuze procesoare

Baza pentru arhitectura calculatoarelor moderne a pus principiul principal - modular. Arhitectura modulară presupune principiul principal (magistrală) de schimb de informații între dispozitive utilizând următoarele magistrale:

Din punct de vedere fizic, autobuzele sunt linii multi-conductoare.

Pe această magistrală, datele, de exemplu blocurile de informații citite din memoria RAM, pot fi transferate către procesor și apoi, după procesare, trimise înapoi în memoria RAM pentru stocare temporară. Caracteristica principală a magistralei de date este capacitatea bitului, care este determinată de capacitatea procesorului (numărul de biți procesați pe ciclu de ceas). Cu cât este mai mare capacitatea de biți, cu atât este mai mare cantitatea de biți. Procesoarele x486 au avut busuri de date pe 32 de biți, 64-bit Pentium și 64-bit Pentium III.

Pe magistrala de control se transmit semnale care determină natura schimbului de informații. Semnalele de control determină ce operație să efectueze, sincronizează schimbul de informații dintre dispozitive și așa mai departe.

Aproape tot timpul procesorului este conectat la memoria RAM, din care sunt extrase și stocate datele (operanzii) care vor fi procesate. Prin urmare, lucrarea este împărțită în mai multe etape, iar rezultatele sunt păstrate. Pentru aceste circuite, este utilizată memoria proprie a procesorului (registre).







Toate prelucrările de date în procesor se realizează prin comenzi reprezentate într-un anumit format - o combinație între mărimea tuturor câmpurilor și locația lor în comandă. Echipa este împărțită în două domenii:

- domeniul de aplicare al codului de operare (indică ce trebuie să facă);

Primele registre ale procesoarelor ar putea să stocheze numai numere pe 4 biți. Apoi au fost procesoare de 8 și 16 biți, odată cu apariția procesorului x386, a fost implementat modul pe 32 de biți, ceea ce a permis lucrul cu numere mai mari de două miliarde.

Aceasta este o memorie statică (Statis RAM - SRAM), care, spre deosebire de memoria dinamică, nu necesită regenerare periodică (actualizare). Timpul de acces pentru această memorie nu este mai mare de 2 ns. adică poate funcționa sincron cu procesorul la o frecvență de 500 MHz sau mai mult. Controlerul de memorie cache se află în cipul de la puntea de nord a chipset-ului plăcii de bază.

În procesoarele x386, o placă de memorie de 128 KB a fost localizată pe placa de bază. Începând cu procesoarele x486, a apărut un cache suplimentar în procesor, care rulează la frecvența sa, - cache-ul de nivel 1 (Nivel I - LI). Placa de bază instalează un cache secundar (L2). În majoritatea procesoarelor moderne, cache-ul LI și L2 sunt integrate în nucleul procesorului. Și dacă cache-ul Pentium II și Pentium III funcționează la jumătate din frecvența procesorului, atunci Celeron, AMD K6-III, Athlon și Pentium IV - la frecvența procesorului, care afectează în mod pozitiv performanța.

7. Tehnologii pentru extinderea instrucțiunilor procesorului

Prima astfel de tehnologie dedicată poate fi considerată MultiMedia eXtension (MMX) - o extensie a setului de bază de instrucțiuni pentru procesor (57 de comenzi pentru procesarea graficelor și sunetului). O comandă poate procesa o mulțime de date, ceea ce îmbunătățește semnificativ performanța (SIMD - Instrucțiune unică, Multe date - o comandă, o mulțime de date).

Când lucrați cu comenzi MMX, datele sunt stocate în registrele coprocesorului, ceea ce înseamnă că este imposibil să efectuați o operațiune în virgulă mobilă în timpul executării programului MMX. În plus, MMX - comanda este destinată numai pentru lucrul cu numere întregi.

Din tehnologia SIMD au ieșit două sisteme concurente pentru prelucrarea datelor în linie.

Deci, în procesoarele AMD K6 - 2, cu excepția blocurilor de comenzi MMX, a fost adăugat un bloc 3D Now. responsabil pentru procesarea imaginilor tridimensionale. Acesta include 27 de comenzi noi pentru procesarea numerelor cu puncte în virgulă și, spre deosebire de MMX, 3D Now! Nu acceptă lucrul cu procesorul.

În procesoarele Pentium III a apărut un accelerator multimedia universal, care lucrează pe principiul SIMD, dar nu depinde de nucleu. Acest lucru a devenit posibil datorită unui nou bloc de SSE (Streaming SIMD Extensions). Acesta include 70 de echipe, care operează 8 registre speciale de 128 biți. SSE vă permite să efectuați operații simultane asupra conținutului a două registre.

Până de curând, creșterea vitezei procesoarelor a fost atribuită numai creșterii frecvenței ceasului și mărimii cache-ului. Dar executarea simultană a mai multor fire duce și la o creștere a vitezei procesorului, și mai semnificativă. Este în procesarea mai multor fire ca esența noii tehnologii Hyper-Threading este.

Ceva similar cu multithreading oferă o nouă tehnologie de la Intel numită Hyper-Threading. A apărut ca răspuns la problema utilizării incomplete a unităților de procesare ale procesorului. Hyper-Threading este denumirea tehnologiei Simultaneous Multi-Threading (SMT). Un procesor fizic, de fapt, emula OS-ul ca două logice. Într-un procesor cu Hyper-Threading, fiecare procesor logic are un set propriu de registre (inclusiv un contor de comandă separat) și pentru a nu complica tehnologia, nu realizează execuția simultană a unor comenzi în două fire.

9. Stream comandă clasică procesor

Atunci când comenzile sunt extrase din cache (sau RAM), acestea trebuie să fie decodate și trimise spre executare. Aceste operații (achiziția de comenzi, decodarea și trimiterea la execuție) sunt efectuate pe preprocesor. De la preprocesor, ele sunt trimise postprocesorului, unde sunt executate. După aceasta, rezultatul revine în memoria cache (memorie de acces aleatoriu).

După cum puteți vedea, întregul proces de procesare a comenzii constă în patru etape, determinate de așa-numitul proces în 4 pași (transportor).

1. Extrageți din memoria cache (RAM).

2. Decodarea (dezasamblarea echipei).

3. Executarea echipei (aplicarea acțiunilor).

4. Scrieți memoria cache (RAM).

Fiecare dintre acești pași trebuie să treacă printr-un singur ciclu de ceas. Prin urmare, cu cât mai repede fiecare dintre etape își îndeplinește funcțiile, cu atât mai rapid funcționează întregul procesor și frecvența ceasului este mai mare. Executarea tuturor acestor patru comenzi determină ciclul. Majoritatea procesoarelor execută comenzi într-un singur ciclu, dar există comenzi complexe care necesită mai multe cicluri. Atunci când execută comenzi complexe, diferite dispozitive utilizează propriile lor conducte de execuție, adăugând astfel câțiva pași la conducta principală a procesorului. Numărul de pași determină adâncimea transportorului.

10. Flux de comandă a procesorului

Spre deosebire de varianta clasică, atunci când întreaga conductă este format din patru etape, în majoritatea procesoarelor moderne transportoare este împărțit în șapte etape sau mai mult (proces giperkonveyernaya), care necesită o frecvență de ceas mai mare.

Tehnologia hiperconductoarelor implică o dublare a lungimii transportorului în comparație cu microarhitectura anterioară P6. de exemplu, unul dintre elementele principale ale conductei, unitatea de predicție a sucursalelor și de recuperare a muncii este împărțită în 20 de cicluri.

În Pentium IV, în stadiul de execuție, se utilizează mai puține blocuri funcționale ale procesorului. Dar fiecare dintre ele are un transportor mai lung și mai scurt. Procesorul Pentium IV poate executa simultan 126 de instrucțiuni în diferite etape. Mai mult decât atât, Pentium IV, în primul cache de nivel este împărțit și memoria cache de instrucțiuni este de fapt pe preprocesor. Se numește un cache de urmărire și afectează atât conducta cât și fluxul principal de comandă. Această memorie cache conține comenzi x86 decodate (microcomenzi), care elimină întârzierea în codurile de comandă de decodare. Unitățile de execuție ale procesorului primesc un flux continuu de comenzi, iar timpul general de recuperare pentru predicția incorectă a ramificației este redus semnificativ.

În procesoare cu microarhitectura x86, cum ar fi Athlon sau Pentium III, echipa vine la decodorul de cache-ul de instrucțiuni, în cazul în care acestea sunt defalcate în părți mai mici (micro-ops). Aceste microcomenzi sunt aplicate la o execuție extraordinară a comenzilor, dispozitivul executiv efectuează planificarea, executarea și resetarea acestora. O astfel de partiție are loc atunci când procesorul execută instrucțiunea.







Trimiteți-le prietenilor: