Prelucrarea transportoarelor
Pipelining este o modalitate de a executa instrucțiuni de la procesor, în care executarea următoarei comenzi începe înainte ca execuția întregii comenzi să fie completă (presupunând că nu există ramificație).
Posibilitatea de conducte este asociată cu divizarea procesului de executare a comenzilor în etape succesive. comandă de probă, decriptare, operanzi de probă, executați comanda, scrieți rezultatul în memorie.
Caracteristicile arhitecturii procesoarelor superscalare
Termenul "arhitectură superscalar" se referă la o arhitectură a procesorului care conține mai multe blocuri de calcul. Aceste unități de calcul sau transportoare, sunt noduri în care apar date toate procesele de bază și comenzi.
Superscalar arhitectura este o dezvoltare a arhitecturii scalare a SISD (Single Instruction Single Date) - un flux de comandă controlează un flux de date.
După cum se știe, performanța oricărui procesor atunci când programul prestabilit depinde de trei parametri: tact (sau frecvența) de sincronizare, numărul mediu de instrucțiuni executate pe ciclu de ceas, iar numărul total al instrucțiunilor programelor executate. Este imposibil de a modifica oricare dintre acești parametri, în mod independent de celălalt, deoarece tehnologiile care stau la baza respective sunt interconectate: frecvența ceasului este determinată de nivelul atins de tehnologie circuit integrat și organizarea procesor funcțional, numărul mediu de cicluri la comanda depinde de organizarea și set de instrucțiuni arhitectura funcțională, precum și numărul de instrucțiuni de program executate este determinată de arhitectura sistemului de comandă și de tehnologia compilatorului.
Din acest motiv, este clar că crearea unui nou procesor de înaltă performanță necesită rezolvarea unor probleme complexe în toate cele trei domenii de dezvoltare. În același timp, un design rentabil nu se poate baza numai pe creșterea frecvenței ceasului. Considerațiile economice determină dezvoltatorii să adopte decizii bazate pe tehnologia de masă.
Ce este necesar pentru a vă asigura că microprocesorul funcționează rapid pe orice aplicație? Frecvență înaltă a ceasului, un număr mare de dispozitive executive funcționale în paralel (FIU); "Abilitatea" de a încărca toate aceste dispozitive pe diferite aplicații; memoria cache de mare capacitate cu capacitate mare (MS) și latență redusă în manipulare, este de dorit să conțină un set de pagini de aplicații; sistem de autobuz cu FS mare, etc.
Datorită limitărilor tehnologiei moderne, aceste cerințe se contrazic adesea între ele și, bineînțeles, cu cerința de a obține un randament suficient de mare de cipuri adecvate la un preț destul de scăzut. Dacă frecvența ceasului crește, este dificil să se efectueze operații complexe în 1 ciclu, astfel încât conductele sunt adesea împărțite în mai multe etape (abordare super-conduită, tipică, de exemplu, pentru Alpha 21064). Dar acest lucru mărește timpul necesar pentru a umple transportoarele lungi.
În cazul în care un număr tot mai mare PID-ul (Abordarea superscalar), există o provocare a sarcinii lor, care este folosit, în special, tehnica extraordinara (out - of - ordine) și «speculativ» (speculativ) (pe baza de predicție, în care ramură a programului va avea loc condiționată tranziție). Aceasta crește complexitatea microprocesorului și, în consecință, a zonei sale, care este plină cu o scădere a randamentului chipsurilor potrivite. Exemple ale acestei abordări includ microprocesoarele IBM cu arhitectura POWER / P 2 SC și SGI / MIPS R 10000; HP PA-8000 se aplică și aici.