Procesor superscalar: arhitectură, conducte, tipuri și aplicații ale acestuia

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În această lume, toată lumea vrea să-și facă lucrurile/lucrările rapid. Nu-i aşa ? De la mașini la mașini industriale până la mașini de uz casnic, toată lumea vrea ca acestea să funcționeze mai repede. Știți ce se află în interiorul acestor mașini care le fac să funcționeze? Sunt procesoare . Pot fi micro sau macro procesoare, în funcție de funcționalitate. Procesorul de bază în general execută o instrucțiune pe ciclu de ceas. Un mod de a-și îmbunătăți viteza de procesare, astfel încât mașinile să își poată îmbunătăți viteza a apărut este, procesor superscalar care are un algoritm de pipelining pentru a-i permite să execute două instrucțiuni pe ciclu de ceas. A fost inventat pentru prima dată de CDC 6600 al lui Seymour Cray, inventat în 1964 și a fost ulterior îmbunătățit de Tjaden & Flynn în 1970.


Primul microprocesor superscalar comercial cu un singur cip MC88100 a fost dezvoltat de Motorola în 1988, ulterior Intel și-a introdus versiunea I960CA în 1989 și seria AMD 29000 29050 în 1990.  În prezent, procesorul superscalar tipic utilizat este procesorul Intel Core i7 care depinde microarhitectura Nehalem.



Chiar dacă, implementările superscalarului se îndreaptă spre creșterea complexității. Designul acestor procesoare se referă în mod normal la un set de metode care permit CPU-ului unui computer să atingă un randament de peste o instrucțiune pentru fiecare ciclu în timp ce execută un singur program secvenţial. Să vedem în continuare în acest articol arhitectura SuperScalarprocessor care reduce timpul de execuție și aplicațiile sale.

Ce este procesorul superscalar?

Un tip de microprocesor care este folosit pentru a implementa un tip de paralelism cunoscut sub numele de paralelism la nivel de instrucțiune într-un singur procesor pentru a executa mai mult de o instrucțiune în timpul unui ciclu CLK prin trimiterea simultană a diferitelor instrucțiuni către unități speciale de execuție de pe procesor. A procesor scalar execută o singură instrucțiune pentru fiecare ciclu de ceas; un procesor superscalar poate executa mai multe instrucțiuni în timpul unui ciclu de ceas.



Tehnicile de proiectare ale superscalarului cuprind în mod normal redenumirea registrului paralel, decodificarea instrucțiunilor paralele, execuții în afara ordinii și execuția speculativă. Deci, aceste metode sunt utilizate în mod normal cu metode de proiectare complementare, cum ar fi pipelining, predicție de ramificație, caching și multi-core în modelele actuale ale microprocesoarelor.

  Procesor superscalar
Procesor superscalar

Caracteristici

Caracteristicile procesoarelor superscalare includ următoarele.

  PCBWay
  • Arhitectura superscalar este o tehnică de calcul paralelă utilizată în diferite procesoare.
  • Într-un computer superscalar, CPU gestionează mai multe conducte de instrucțiuni pentru a executa numeroase instrucțiuni simultan în timpul unui ciclu de ceas.
  • Arhitecturile suprascalare le includ pe toate conducte caracteristici, deși există mai multe instrucțiuni care se execută simultan în cadrul aceleiași conducte.
  • Metodele de proiectare superscalare cuprind în mod normal redenumirea registrului paralel, decodificarea instrucțiunilor paralele, execuția speculativă și execuția în afara ordinului. Așadar, aceste metode sunt utilizate în mod normal cu metode de proiectare complementare, cum ar fi stocarea în cache, pipelining, predicția ramurilor și multi-core în proiectele recente de microprocesoare.

Arhitectura procesorului superscalar

Știm că un procesor superscalar este un CPU care execută peste o instrucțiune pentru fiecare ciclu CLK, deoarece vitezele de procesare sunt pur și simplu măsurate în cicluri CLK pentru fiecare secundă. Comparativ cu un procesor scalar, acest procesor este foarte rapid.

Arhitectura procesorului superscalar include în principal unități de execuție paralele în care aceste unități pot implementa instrucțiuni simultan. Deci, mai întâi, această arhitectură paralelă a fost implementată într-un procesor RISC care utilizează instrucțiuni simple și scurte pentru a executa calcule. Deci, datorită abilităților lor superscalare, în mod normal RISC procesoarele au funcționat mai bine în comparație cu procesoarele CISC care rulează la același megaherți. Dar cel mai mult CISC procesoarele, cum ar fi Intel Pentium, includ și o arhitectură RISC, care le permite să execute instrucțiuni în paralel.

  Arhitectura procesorului superscalar
Arhitectura procesorului superscalar

Procesorul superscalar este echipat cu mai multe unități de procesare pentru manipularea diferitelor instrucțiuni în paralel în fiecare etapă de procesare. Prin utilizarea arhitecturii de mai sus, o serie de instrucțiuni încep execuția într-un ciclu de ceas similar. Aceste procesoare sunt capabile să obțină o ieșire de execuție a instrucțiunii din instrucțiunea de mai sus pentru fiecare ciclu.

În diagrama de arhitectură de mai sus, un procesor este utilizat cu două unități de execuție, unde una este folosită pentru întreg și alta este folosită pentru operațiunile cu virgulă mobilă. Unitatea de preluare a instrucțiunilor (IFU) este capabilă să citească instrucțiuni la un moment dat și le stochează în coada de instrucțiuni. În fiecare ciclu, unitatea de expediere preia și decodifică până la 2 instrucțiuni din prima coadă. Dacă există un singur întreg, o singură instrucțiune în virgulă mobilă și nu există pericole, atunci ambele instrucțiuni sunt trimise într-un ciclu similar de ceas.

Conducte

Pipelining-ul este procedura de împărțire a sarcinilor în sub-pași și de executare a acestora în diferite părți ale procesorului. În următoarea conductă superscalară, două instrucțiuni pot fi preluate și expediate la un moment dat pentru a finaliza maximum 2 instrucțiuni pe ciclu. Arhitectura de pipelining în procesorul scalar și procesorul superscalar este prezentată mai jos.

Instrucțiunile dintr-un procesor superscalar sunt emise dintr-un flux de instrucțiuni secvențial. Trebuie să permită instrucțiuni multiple pentru fiecare ciclu de ceas, iar CPU trebuie să verifice dinamic dependențele de date dintre instrucțiuni.

În arhitectura conductei de mai jos, F este preluat, D este decodat, E este executat și W este rescrierea registrului. În această arhitectură pipeline, I1, I2, I3 și I4 sunt instrucțiuni.

Arhitectura de pipeline de procesor scalar include o singură conductă și patru etape de preluare, decodificare, execuție și scriere înapoi a rezultatelor. În procesorul scalar cu o singură conductă, conducta din instrucțiunea1 (I1) funcționează ca; în prima perioadă de ceas I1 va prelua, în a doua perioadă de ceas va decoda și în a doua instrucțiune, I2 va prelua. A treia instrucțiune I3 din a treia perioadă de ceas va fi preluată, I2 va decoda și I1 se va executa. În a patra perioadă de ceas, I4 va prelua, I3 va decoda, I2 va executa și I1 va scrie în memorie. Deci, în șapte perioade de ceas, va executa 4 instrucțiuni într-o singură conductă.

  Conducte scalare
Conducte scalare

Arhitectura de conducte de procesor superscalar include două conducte și patru etape de preluare, decodare, execuție și scriere înapoi a rezultatelor. Este un procesor superscalar cu două ediții, ceea ce înseamnă că două instrucțiuni la un moment dat vor prelua, decodifica, executa și vor scrie înapoi. Cele două instrucțiuni I1 și I2 vor prelua, decoda, executa și scrie înapoi în fiecare perioadă de ceas. Simultan, în următoarea perioadă de ceas, celelalte două instrucțiuni I3 și I4 vor prelua, decoda, executa și scrie înapoi la un moment dat. Deci, în cinci perioade de ceas, va executa 4 instrucțiuni într-o singură conductă.

  Conducte superscalare
Conducte superscalare

Astfel, un procesor scalar emite o singură instrucțiune per ciclu de ceas și efectuează o singură etapă pipeline per ciclu de ceas, în timp ce un procesor superscalar emite două instrucțiuni pe ciclu de ceas și execută două instanțe ale fiecărei etape în paralel. Deci execuția instrucțiunilor într-un procesor scalar durează mai mult timp, în timp ce într-un superscalar durează mai puțin timp pentru a executa instrucțiuni .

Tipuri de procesoare superscalare

Acestea sunt diferite tipuri de procesoare superscalare disponibile pe piață, care sunt discutate mai jos.

procesor Intel Core i7

Intel core i7 este un procesor superscalar care se bazează pe micro-arhitectura Nehalem. Într-un design Core i7, există diverse nuclee de procesor în care fiecare nucleu de procesor este un procesor superscalar. Aceasta este cea mai rapidă versiune a procesorului Intel folosită în computerele și dispozitivele de consum. Similar cu Intel Corei5, acest procesor este încorporat în tehnologia Intel Turbo Boost. Acest procesor este accesibil în 2 până la 6 variante care acceptă până la 12 fire diferite simultan.

  procesor Intel Core i7
procesor Intel Core i7

Procesor Intel Pentium

Arhitectura pipeline superscalare a procesorului Intel Pentium înseamnă că procesorul execută cel puțin două instrucțiuni sau mai mult pentru fiecare ciclu. Acest procesor este utilizat pe scară largă în computerele personale. Dispozitivele cu procesor Intel Pentium sunt în mod normal construite pentru utilizare online, cloud computing și colaborare. Deci, acest procesor funcționează perfect pentru tablete și Chromebookuri pentru a oferi performanțe locale puternice și interacțiuni online eficiente.

  Procesor Intel Pentium
Procesor Intel Pentium

IBM Power PC601

Procesorul superscalar precum IBM power PC601 este din familia PowerPC de microprocesoare RISC. Acest procesor este capabil să emită și să retragă trei instrucțiuni pentru fiecare ceas și una pentru fiecare dintre cele 3 unități de execuție. Instrucțiunile sunt total neregulate pentru o performanță îmbunătățită; dar, PC601 va face execuția să apară în ordine.

  IBM Power PC601
IBM Power PC601

Procesorul PC601 de putere oferă adrese logice pe 32 de biți, tipuri de date întregi pe 8, 16 și 32 de biți și tipuri de date în virgulă mobilă pe 32 și 64 de biți. Pentru implementarea PowerPC pe 64 de biți, arhitectura acestui procesor oferă tipuri de date întregi pe 64 de biți, adresare și alte caracteristici necesare pentru a finaliza arhitectura bazată pe 64 de biți.

MC 88110

MC 88110 este un microprocesor RISC cu un singur cip, a doua generație, care utilizează metode avansate pentru a exploata paralelismul la nivel de instrucțiuni. Acest procesor folosește mai multe cache-uri pe cip, probleme de instrucțiuni superscalare, înregistrarea instrucțiunilor dinamice limitate și execuție speculativă, pentru a obține performanțe maxime, așa că este utilizat în mod ideal ca procesor central în PC-urile și stațiile de lucru cu costuri reduse.

  MC 88000
MC 88000

Intel i960

Intel i960 este un procesor superscalar care este capabil să execute și să trimită diverse instrucțiuni independente în timpul fiecărui ciclu de ceas al procesorului. Acesta este un microprocesor bazat pe RISC care a devenit foarte faimos ca microcontroler încorporat la începutul anilor 1990. Acest procesor este utilizat continuu în câteva aplicații militare.

  Intel i960
Intel i960

MIPS R

MIPS R este un microprocesor dinamic și superscalar utilizat pentru a executa arhitectura MIPS pe 64 de biți cu 4 seturi de instrucțiuni. Acest procesor preia și decodifică 4 instrucțiuni pentru fiecare ciclu și le trimite către cinci unități de execuție complet canalizate și cu latență scăzută. Acest procesor este conceput în special pentru aplicații de înaltă performanță, mari și din lumea reală, cu o memorie slabă. Cu execuție aproximativă, calculează pur și simplu adresele de memorie. Procesoarele MIPS sunt utilizate în principal pe diverse dispozitive precum Nintendo Gamecube, linia de produse SGI, Sony Playstation 2, routerele PSP și Cisco.

  MIPS R
MIPS R

Diferența B/N Superscalar vs Pipelining

Diferența dintre superscalar și pipelining este discutată mai jos.

Superscalar

Conducte

Un superscalar este un CPU, folosit pentru a implementa o formă de paralelism care se numește paralelism la nivel de instrucțiune într-un singur procesor. O tehnică de implementare, cum ar fi pipelining, este utilizată în cazul în care mai multe instrucțiuni sunt suprapuse în cadrul execuției.
O arhitectură superscalară inițiază mai multe instrucțiuni simultan și le execută separat. Arhitectura de pipeline execută o singură etapă de conductă numai pentru fiecare ciclu de ceas.

Aceste procesoare depind de paralelismul spațial. Depinde de paralelismul temporal.
Mai multe operațiuni rulează simultan pe hardware separat. Suprapunerea mai multor operațiuni pe hardware comun.
Se realizează prin duplicarea resurselor hardware, cum ar fi porturile de fișiere de înregistrare și unitățile de execuție. Se realizează prin unități de execuție canalizate mai profund cu cicluri CLK foarte rapide.

Caracteristici

The caracteristicile procesorului superscalar includ următoarele.

  • Un procesor superscalar este un model super-pipeline în care pur și simplu instrucțiunile independente sunt efectuate în serie fără nicio situație de așteptare.
  • Un procesor superscalar preia și decodifică simultan mai multe instrucțiuni din fluxul de instrucțiuni primite.
  • Arhitectura procesoarelor superscalare exploatează potențialul paralelismului la nivel de instrucțiuni.
  • Procesoarele superscalare emit în principal instrucțiunea unică de mai sus pentru fiecare ciclu.
  • Nu-ul. de instrucțiuni emise depinde în principal de instrucțiunile din fluxul de instrucțiuni.
  • Instrucțiunile sunt reordonate frecvent pentru a se potrivi mai bine cu arhitectura procesorului.
  • Metoda suprascalară este de obicei asociată cu unele caracteristici de identificare. În mod normal, instrucțiunile sunt emise dintr-un flux de instrucțiuni secvențial.
  • CPU verifică în mod dinamic dependențele de date între instrucțiuni în timpul rulării.
  • CPU execută mai multe instrucțiuni pentru fiecare ciclu de ceas.

Avantaje și dezavantaje

The avantajele procesorului superscalar includ următoarele.

  • Un procesor superscalar implementează paralelismul la nivel de instrucțiuni într-un singur procesor.
  • Aceste procesoare sunt pur și simplu făcute pentru a efectua orice set de instrucțiuni.
  • Procesorul superscalar, care include predicția ramurilor de execuție în afara ordinii și execuția speculativă, poate găsi pur și simplu paralelism deasupra mai multor blocuri de bază și iterații de buclă.

The dezavantajele procesorului superscalar includ următoarele.

  • Procesoarele superscalare nu sunt foarte folosite în sistemele încorporate mici din cauza consumului de energie.
  • Problema cu programarea se poate întâmpla în această arhitectură.
  • Procesorul superscalar mărește nivelul de complexitate în proiectarea hardware-ului.
  • Instrucțiunile din acest procesor sunt pur și simplu preluate în funcție de ordinea lor secvențială a programului, dar aceasta nu este cea mai bună ordine de execuție.

Aplicații pentru procesoare superscalare

Aplicațiile unui procesor superscalar includ următoarele.

  • Execuția superscalară este folosită frecvent de un laptop sau desktop. Acest procesor pur și simplu scanează programul în execuție pentru a descoperi seturi de instrucțiuni care pot fi executate ca unul singur.
  • Un procesor superscalar include diverse copii hardware ale căilor de date care execută diverse instrucțiuni simultan.
  • Acest procesor este conceput în principal pentru a genera o viteză de implementare de peste o instrucțiune pentru fiecare ciclu de ceas pentru un singur program secvenţial.

Astfel, despre asta este vorba o privire de ansamblu asupra procesorului superscalar – arhitectură, tipuri și aplicații. Iată o întrebare pentru tine, ce este procesorul scalar?