Ce este o micro-operație?

Calculatoarele sunt programate cu limbaje de programare. Aceste limbaje sunt în general citite de om și permit programatorului să configureze ceea ce face computerul. Acest cod trebuie apoi compilat în instrucțiuni de calculator. Detaliile exacte ale acestui lucru variază în funcție de Arhitectura setului de instrucțiuni sau ISA pe care computerul îl folosește. Acesta este motivul pentru care există diferite link-uri de descărcare pentru procesoarele x86 de la Intel și AMD și procesoarele ARM așa cum sunt utilizate în dispozitivele Apple moderne. ISA pentru x86 și ARM este diferit; software-ul trebuie compilat separat. După cum a arătat Apple, este posibil să construiți un strat de traducere elegant; pur și simplu nu este obișnuit să faci asta.

S-ar putea să credeți că procesorul vede instrucțiunile cu care este prezentat și apoi le execută în ordine. Există multe trucuri pe care procesoarele moderne le fac, inclusiv execuția necorespunzătoare, permițând procesorului să reordoneze lucrurile din mers pentru a optimiza performanța. Cu toate acestea, o parte inteligentă care este destul de bine ascunsă este micro-operațiile.

Conducta către micro-operare

Instrucțiunile individuale din codul mașinii pot fi numite instrucțiuni sau operații; termenii sunt interschimbabili. Una dintre dificultățile complexului de calcul al seturilor de instrucțiuni sau arhitecturii CISC precum x86 este că instrucțiunile pot varia în funcție de lungimea lor. Aceasta se referă în mod specific la câte date au nevoie pentru a reprezenta. În x86, o instrucțiune poate fi scurtă de un octet sau lungă de 15. Comparați acest lucru cu arhitectura standard RISC-V utilizată de procesoarele ARM moderne cu instrucțiuni de 4 octeți cu lungime fixă.

Sfat: RISC înseamnă Reduced Instruction Set Computing.

Una dintre implicațiile acestei diferențe de structură este că arhitecturile RISC tind să fie mult mai ușor de piperat eficient. Fiecare instrucțiune are mai multe etape de funcționare care utilizează hardware diferit. Pipelining rulează mai multe instrucțiuni prin aceste etape simultan, cu exact o instrucțiune în fiecare etapă. Pipelining oferă un spor considerabil de performanță atunci când este utilizat eficient. Un factor cheie în utilizarea eficientă a unei conducte este asigurarea faptului că fiecare etapă este utilizată simultan. Acest lucru face ca totul să circule fără probleme prin conductă.

Cu toate instrucțiunile având aceeași lungime, instrucțiunile RISC tind să necesite același timp de procesare ca și celelalte. Cu toate acestea, într-un CISC, cum ar fi x86, unele instrucțiuni pot dura mult mai mult decât altele. Acest lucru creează o problemă mare de eficiență la pipelinerea unui procesor. De fiecare dată când apare o instrucțiune mai lungă, aceasta rămâne blocată în conductă pentru mai mult timp. Acest lucru provoacă o bula și susține totul în spatele ei. Micro-operațiile sunt soluția la aceasta.

Micro-operații eficiente

În loc să trateze fiecare instrucțiune ca fiind singurul nivel de operație care poate fi efectuat, micro-operațiile introduc un nou strat inferior. Fiecare operație poate fi împărțită în mai multe micro-operații. Proiectând cu atenție micro-operațiunile, puteți optimiza conducta.

Interesant este că acest lucru oferă un nou avantaj. În timp ce ISA general, să zicem x86, rămâne același între multe generații diferite de CPU, micro-operațiunile pot fi proiectate personalizat pentru fiecare generație de hardware. Acest lucru se poate face cu o înțelegere profundă a cât de multă performanță poate fi strânsă din fiecare etapă de conductă pentru fiecare micro-operație.

În primele zile ale micro-operațiilor, acestea erau conexiuni prin cablu care activau sau dezactivau funcționalități specifice în funcție de micro-operație. În designul modern al procesorului, o micro-operație este adăugată unui buffer de reordonare. Este acest buffer pe care procesorul își poate efectua reordonarea orientată spre eficiență. Sunt micro-operațiuni, nu instrucțiuni reale, cele care sunt reordonate.

În unele cazuri, mai ales cu procesoare mai avansate, se pot face chiar mai multe. Fuziunea micro-op este locul în care mai multe micro-operații sunt combinate într-una singură. De exemplu, o secvență de micro-operații simple poate efectua o acțiune care poate fi efectuată cu o singură instrucțiune, mai complexă. Prin reducerea numărului de micro-operații efectuate, procesul se poate finaliza mai rapid. Acest lucru reduce, de asemenea, numărul de schimbări de stare, reducând consumul de energie. Instrucțiunile complete pot fi chiar analizate și combinate în structuri de micro-operații mai eficiente.

Unele procesoare folosesc un cache pentru micro-operații. Aceasta stochează secvențe de micro-operații complet decodate, care pot fi reutilizate dacă sunt apelate din nou. De obicei, dimensiunea unui astfel de cache se referă la numărul de micro-operații pe care le poate stoca, mai degrabă decât la capacitatea de octeți.

Concluzie

O micro-operație este o implementare specifică CPU a unui set de instrucțiuni. Instrucțiunile sunt decodificate într-o serie de micro-operații. Aceste micro-operații sunt semnificativ mai ușor de canalizat mai eficient și, astfel, folosesc mai bine resursele CPU. Deoarece micro-operațiile nu sunt codificate în setul de instrucțiuni, ele pot fi personalizate pentru hardware-ul specific fiecărei generații de CPU. Micro-operațiile sunt adesea scurtate la micro-ops sau chiar μops. Aceasta folosește litera greacă μ ( pronunțată Mu ), simbolul SI pentru microprefixul.



Leave a Comment

Cum se clonează un hard disk

Cum se clonează un hard disk

În era digitală modernă, în care datele sunt un bun valoros, clonarea unui hard disk pe Windows poate fi un proces crucial pentru mulți. Acest ghid cuprinzător

Cum să remediați driverul WUDFRd care nu s-a încărcat pe Windows 10?

Cum să remediați driverul WUDFRd care nu s-a încărcat pe Windows 10?

În timpul pornirii computerului, vă confruntați cu mesajul de eroare care spune că driverul WUDFRd nu s-a încărcat pe computer?

Cum să remediați codul de eroare NVIDIA GeForce Experience 0x0003

Cum să remediați codul de eroare NVIDIA GeForce Experience 0x0003

Aveți experiența NVIDIA GeForce cu codul de eroare 0x0003 pe desktop? Dacă da, citiți blogul pentru a afla cum să remediați această eroare rapid și ușor.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Cum să eliminați un GPU de pe un computer Windows în 2023

Cum să eliminați un GPU de pe un computer Windows în 2023

Trebuie să eliminați GPU-ul de pe computer? Alăturați-vă pentru a explica cum să eliminați un GPU de pe computer în acest ghid pas cu pas.

Cum se instalează un SSD NVMe pe un desktop și laptop

Cum se instalează un SSD NVMe pe un desktop și laptop

Ați cumpărat un nou SSD NVMe M.2, dar nu știți cum să îl instalez? Citiți mai departe pentru a afla cum să instalați un SSD NVMe pe laptop sau desktop.

Ce este o bombă logică?

Ce este o bombă logică?

O bombă logică este un incident de securitate în care un atacator stabilește o acțiune întârziată. Continuați să citiți pentru a afla mai multe.

Ce este un SoC?

Ce este un SoC?

Dacă v-ați uitat vreodată în interiorul unui turn de PC, puteți vedea că există o mulțime de componente diferite. Laptopul tău obișnuit conține majoritatea componentelor

Ce este criptarea asimetrică?

Ce este criptarea asimetrică?

Algoritmii de criptare asimetrică utilizează două chei distincte. O cheie este folosită pentru criptare, iar cealaltă pentru decriptare.

Steam Deck: Cum se formatează cardul SD

Steam Deck: Cum se formatează cardul SD

Steam Deck vine în trei opțiuni de stocare: eMMC de 64 GB, SSD NVMe de 256 GB și SSD NVMe de 512 GB. În funcție de biblioteca dvs. de jocuri și de dimensiunea jocurilor