Superscalaire processor: architectuur, pijplijnen, typen en zijn toepassingen

Probeer Ons Instrument Voor Het Oplossen Van Problemen





In deze wereld wil iedereen zijn spullen/werk snel gedaan krijgen. Is het niet? Van auto's tot industriële tot huishoudelijke machines, iedereen wil dat ze sneller werken. Weet jij wat er in deze machines zit waardoor ze werken? Zij zijn verwerkers . Het kunnen micro- of macroprocessors zijn, afhankelijk van de functionaliteit. De basisprocessor voert in het algemeen één instructie per klokcyclus uit. Om hun verwerkingssnelheid te verbeteren, zodat de machines hun snelheid kunnen verbeteren, is de superscalaire processor die een pipelining-algoritme heeft waarmee het twee instructies per klokcyclus kan uitvoeren. Het werd voor het eerst uitgevonden door Seymour Cray's CDC 6600 uitgevonden in 1964 en werd later verbeterd door Tjaden & Flynn in 1970.


De eerste commerciële single-chip superscalaire microprocessor MC88100 werd ontwikkeld door Motorola in 1988, later introduceerde Intel zijn versie I960CA in 1989 en de AMD 29000-serie 29050 in 1990. Op dit moment is de typische superscalaire processor die wordt gebruikt de Intel Core i7-processor, afhankelijk van de Nehalem-microarchitectuur.



Hoewel de implementaties van superscalar op weg zijn naar meer complexiteit. Het ontwerp van deze processors verwijst normaal gesproken naar een reeks methoden waarmee de CPU van een computer een verwerkingscapaciteit van meer dan één instructie voor elke cyclus kan bereiken terwijl een enkel sequentieel programma wordt uitgevoerd. Laten we in dit artikel verder kijken naar de SuperScalarprocessor-architectuur die de uitvoeringstijd en de toepassingen verkort.

Wat is Superscalar-processor?

Een type microprocessor dat wordt gebruikt om een ​​type parallellisme dat bekend staat als parallellisme op instructieniveau te implementeren in een enkele processor om meer dan één instructie uit te voeren tijdens een CLK-cyclus door gelijktijdig verschillende instructies naar speciale uitvoeringseenheden op de processor te sturen. EEN scalaire processor voert enkele instructie uit voor elke klokcyclus; een superscalaire processor kan tijdens een klokcyclus meer dan één instructie uitvoeren.



De ontwerptechnieken van superscalar omvatten normaal gesproken het hernoemen van parallelle registers, het decoderen van parallelle instructies, uitvoeringen buiten de juiste volgorde en speculatieve uitvoering. Deze methoden worden dus normaal gesproken gebruikt met aanvullende ontwerpmethoden zoals pipelining, vertakkingsvoorspelling, caching en multi-core binnen de huidige ontwerpen van microprocessors.

  Superscalaire processor
Superscalaire processor

Functies

De kenmerken van superscalaire processors omvatten het volgende.

  PCBWay
  • Superscalar-architectuur is een parallelle computertechniek die in verschillende processors wordt gebruikt.
  • In een superscalaire computer beheert de CPU verschillende instructiepijplijnen om meerdere instructies tegelijkertijd uit te voeren tijdens een klokcyclus.
  • Superscalaire architecturen omvatten alles pijpleidingen functies, hoewel er verschillende instructies tegelijkertijd worden uitgevoerd binnen dezelfde pijplijn.
  • Superscalaire ontwerpmethoden omvatten normaal gesproken het hernoemen van parallelle registers, het decoderen van parallelle instructies, speculatieve uitvoering en uitvoering buiten de juiste volgorde. Deze methoden worden dus normaal gesproken gebruikt met aanvullende ontwerpmethoden zoals caching, pipelining, vertakkingsvoorspelling en multi-core in recente microprocessorontwerpen.

Superscalaire processorarchitectuur

We weten dat een superscalaire processor een CPU is die meer dan één instructie uitvoert voor elke CLK-cyclus, omdat verwerkingssnelheden eenvoudig worden gemeten in CLK-cycli voor elke seconde. Vergeleken met een scalaire processor is deze processor een stuk sneller.

Superscalaire processorarchitectuur omvat voornamelijk parallelle uitvoeringseenheden waarbij deze eenheden tegelijkertijd instructies kunnen implementeren. Dus eerst werd deze parallelle architectuur geïmplementeerd binnen een RISC-processor die eenvoudige en korte instructies gebruikt om berekeningen uit te voeren. Dus normaal gesproken vanwege hun superscalaire vaardigheden RISICO processors hebben beter gepresteerd in vergelijking met CISC-processors die op dezelfde megahertz draaien. Maar vooral CISC processors zoals de Intel Pentium bevatten nu ook een bepaalde RISC-architectuur, waardoor ze instructies parallel kunnen uitvoeren.

  Superscalaire processorarchitectuur
Superscalaire processorarchitectuur

De superscalaire processor is uitgerust met verschillende verwerkingseenheden voor het parallel afhandelen van verschillende instructies in elke verwerkingsfase. Door de bovenstaande architectuur te gebruiken, starten een aantal instructies met de uitvoering binnen een vergelijkbare klokcyclus. Deze processors zijn in staat om voor elke cyclus een instructie-uitvoeringsoutput te verkrijgen van de bovenstaande instructie.

In het bovenstaande architectuurdiagram wordt een processor gebruikt met twee uitvoeringseenheden, waarbij de ene wordt gebruikt voor gehele getallen en de andere wordt gebruikt voor de bewerkingen van drijvende komma. De instructie-ophaaleenheid (IFU) is in staat instructies tegelijk te lezen en op te slaan in de instructiewachtrij. In elke cyclus haalt en decodeert de verzendeenheid maximaal 2 instructies van de wachtrij. Als er een enkele instructie met een geheel getal, een enkele drijvende-komma-instructie en geen gevaren is, worden beide instructies binnen een vergelijkbare klokcyclus verzonden.

Pijpleidingen

Pipelining is de procedure waarbij taken worden opgesplitst in substappen en deze worden uitgevoerd binnen verschillende processoronderdelen. In de volgende superscalaire pijplijn kunnen twee instructies tegelijk worden opgehaald en verzonden om maximaal 2 instructies per cyclus te voltooien. De pijplijnarchitectuur in de scalaire processor en de superscalaire processor wordt hieronder weergegeven.

De instructies in een superscalaire processor worden uitgegeven vanuit een sequentiële instructiestroom. Het moet meerdere instructies voor elke klokcyclus toestaan ​​en de CPU moet dynamisch controleren op gegevensafhankelijkheden tussen instructies.

In de onderstaande pijplijnarchitectuur wordt F opgehaald, D wordt gedecodeerd, E wordt uitgevoerd en W is register terugschrijven. In deze pijplijnarchitectuur zijn I1, I2, I3 & I4 instructies.

De pijplijnarchitectuur van de scalaire processor omvat een enkele pijplijn en vier fasen voor ophalen, decoderen, uitvoeren en terugschrijven van resultaten. In de scalaire processor met enkele pijplijn werkt de pijplijn in instructie1 (I1) als; in de eerste klokperiode I1 zal het ophalen, in de tweede klokperiode zal het decoderen en in de tweede instructie zal I2 ophalen. De derde instructie I3 in de derde klokperiode zal ophalen, I2 zal decoderen en I1 zal worden uitgevoerd. In de vierde klokperiode zal I4 ophalen, I3 zal decoderen, I2 zal uitvoeren en I1 zal in het geheugen schrijven. Dus in zeven klokperioden voert het 4 instructies uit in een enkele pijplijn.

  Scalaire pijpleidingen
Scalaire pijpleidingen

De pijplijnarchitectuur van de superscalaire processor omvat twee pijplijnen en vier fasen voor ophalen, decoderen, uitvoeren en terugschrijven van resultaten. Het is een superscalaire processor met twee nummers, wat betekent dat er tegelijkertijd twee instructies worden opgehaald, gedecodeerd, uitgevoerd en het resultaat wordt teruggeschreven. De twee instructies I1 & I2 zullen tegelijkertijd ophalen, decoderen, uitvoeren en terugschrijven in elke klokperiode. Gelijktijdig in de volgende klokperiode zullen de resterende twee instructies I3 en I4 tegelijk ophalen, decoderen, uitvoeren en terugschrijven. Dus in vijf klokperioden voert het 4 instructies uit in een enkele pijplijn.

  Superscalaire pijpleidingen
Superscalaire pijpleidingen

Een scalaire processor geeft dus een enkele instructie per klokcyclus uit en voert een enkele pijplijntrap per klokcyclus uit, terwijl een superscalaire processor twee instructies per klokcyclus afgeeft en twee exemplaren van elke trap parallel uitvoert. Dus de instructie-uitvoering in een scalaire processor kost meer tijd, terwijl het in een superscalaire processor minder tijd kost om instructies uit te voeren .

Soorten superscalaire processors

Dit zijn verschillende soorten superscalaire processors die op de markt verkrijgbaar zijn en die hieronder worden besproken.

Intel Core i7-processor

Intel core i7 is een superscalaire processor die is gebaseerd op de Nehalem-microarchitectuur. In een Core i7-ontwerp zijn er verschillende processorkernen waarbij elke processorkern een superscalaire processor is. Dit is de snelste versie van de Intel-processor die wordt gebruikt in computers en apparaten voor consumenten. Net als de Intel Corei5 is deze processor ingebed in Intel Turbo Boost Technology. Deze processor is beschikbaar in 2 tot 6 varianten die tot 12 verschillende threads tegelijk ondersteunen.

  Intel Core i7-processor
Intel Core i7-processor

Intel Pentium-processor

De superscalaire pijplijnarchitectuur van de Intel Pentium-processor betekent dat de CPU voor elke cyclus minimaal twee of meer instructies uitvoert. Deze processor wordt veel gebruikt in personal computers. Intel Pentium-processorapparaten zijn normaal gesproken gebouwd voor online gebruik, cloud computing en samenwerking. Deze processor werkt dus perfect voor tablets en Chromebooks om sterke lokale prestaties en efficiënte online interacties te bieden.

  Intel Pentium-processor
Intel Pentium-processor

IBM PowerPC601

De superscalaire processor zoals IBM Power PC601 komt uit de familie van PowerPC of RISC-microprocessors. Deze processor is in staat om drie instructies voor elke klok en één voor elk van de drie uitvoeringseenheden uit te geven en terug te trekken. Instructies zijn totaal niet in orde voor verbeterde prestaties; maar de PC601 zorgt ervoor dat de uitvoering in orde komt.

  IBM PowerPC601
IBM PowerPC601

De krachtige PC601-processor biedt 32-bits logische adressen, 8, 16 & 32 bits integer datatypes & 32 & 64 bits floating-point datatypes. Voor de implementatie van 64-bits PowerPC biedt de architectuur van deze processor op 64-bits gebaseerde gegevenstypen met gehele getallen, adressering en andere functies die nodig zijn om de op 64-bits gebaseerde architectuur te voltooien.

MC 88110

De MC 88110 is een single-chip RISC-microprocessor van de tweede generatie die geavanceerde methoden gebruikt om parallellisme op instructieniveau te benutten. Deze processor maakt gebruik van meerdere on-chip caches, superscalaire instructieproblemen, opname van beperkte dynamische instructies en speculatieve uitvoering om maximale prestaties te bereiken, dus het wordt ideaal gebruikt als een centrale processor binnen goedkope pc's en werkstations.

  MC88000
MC88000

Intel i960

Intel i960 is een superscalaire processor die in staat is om tijdens elke klokcyclus van de processor verschillende onafhankelijke instructies uit te voeren en te verzenden. Dit is een op RISC gebaseerde microprocessor die begin jaren negentig erg beroemd werd als een ingebedde microcontroller. Deze processor wordt continu gebruikt in enkele militaire toepassingen.

  Intel i960
Intel i960

MIPS R

De MIPS R is een dynamische en superscalaire microprocessor die wordt gebruikt om de 64-bit MIPS 4-instructieset-architectuur uit te voeren. Deze processor haalt en decodeert 4 instructies voor elke cyclus en geeft ze door aan vijf volledig gepijplijnde uitvoeringseenheden met lage latentie. Deze processor is speciaal ontworpen voor krachtige, grote en real-world toepassingen met een slechte geheugenlocatie. Met geschatte uitvoering berekent het eenvoudig geheugenadressen. MIPS-processors worden voornamelijk gebruikt in verschillende apparaten zoals Nintendo Gamecube, SGI's productlijn, Sony Playstation 2, de PSP & Cisco-routers.

  MIPS R
MIPS R

Verschil B/W Superscalar versus Pipelining

Het verschil tussen superscalair en pipelining wordt hieronder besproken.

Superscalair

Pijpleidingen

Een superscalar is een CPU die wordt gebruikt om een ​​vorm van parallellisme te implementeren dat parallellisme op instructieniveau wordt genoemd in een enkele processor. Een implementatietechniek zoals pipelining wordt gebruikt wanneer verschillende instructies elkaar overlappen tijdens de uitvoering.
Een superscalaire architectuur initieert meerdere instructies tegelijkertijd en voert ze afzonderlijk uit. Pipelining-architectuur voert slechts één pijplijntrap uit voor elke klokcyclus.

Deze processors zijn afhankelijk van ruimtelijk parallellisme. Het hangt af van temporeel parallellisme.
Verschillende bewerkingen worden gelijktijdig uitgevoerd op afzonderlijke hardware. Overlappende verschillende bewerkingen op gemeenschappelijke hardware.
Dit wordt bereikt door hardwarebronnen te dupliceren, zoals registerbestandspoorten en uitvoeringseenheden. Dit wordt bereikt door uitvoeringseenheden die dieper zijn gepijplijnd met zeer snelle CLK-cycli.

Eigenschappen

De superscalaire processorkenmerken omvatten het volgende.

  • Een superscalaire processor is een super-pipelined model waarbij de onafhankelijke instructies gewoon serieel worden uitgevoerd zonder enige wachtsituatie.
  • Een superscalaire processor haalt en decodeert tegelijkertijd verschillende instructies van de inkomende instructiestroom.
  • De architectuur van superscalaire processors maakt gebruik van het potentieel van parallellisme op instructieniveau.
  • Superscalaire processors geven voornamelijk de bovenstaande enkele instructie voor elke cyclus.
  • De nee. van de gegeven instructies hangt vooral af van de instructies binnen de instructiestroom.
  • Instructies worden vaak opnieuw gerangschikt om beter bij de architectuur van de processor te passen.
  • De superscalaire methode wordt meestal geassocieerd met enkele identificerende kenmerken. Instructies worden normaal gesproken uitgegeven vanuit een sequentiële instructiestroom.
  • De CPU controleert tijdens runtime dynamisch op gegevensafhankelijkheden tussen instructies.
  • De CPU voert meerdere instructies uit voor elke klokcyclus.

Voor-en nadelen

De voordelen van de superscalaire processor omvatten het volgende.

  • Een superscalaire processor implementeert parallellisme op instructieniveau in een enkele processor.
  • Deze processors zijn simpelweg gemaakt om elke instructieset uit te voeren.
  • De superscalaire processor, inclusief voorspelling van takken buiten de juiste volgorde en speculatieve uitvoering, kan eenvoudig parallellisme vinden boven verschillende basisblokken en lus-iteraties.

De nadelen van de superscalaire processor omvatten het volgende.

  • Vanwege stroomverbruik worden superscalaire processors niet veel gebruikt in kleine embedded systemen.
  • Het probleem met planning kan zich in deze architectuur voordoen.
  • Superscalaire processor verbetert het complexiteitsniveau bij het ontwerpen van hardware.
  • De instructies in deze processor worden gewoon opgehaald op basis van hun sequentiële programmavolgorde, maar dit is niet de beste uitvoeringsvolgorde.

Superscalaire processortoepassingen

De toepassingen van een superscalaire processor omvatten het volgende.

  • De superscalaire uitvoering wordt vaak gebruikt door een laptop of desktop. Deze processor scant eenvoudigweg het programma dat wordt uitgevoerd om reeksen instructies te ontdekken die als één geheel kunnen worden uitgevoerd.
  • Een superscalaire processor bevat verschillende hardwarekopieën van gegevenspaden die verschillende instructies tegelijk uitvoeren.
  • Deze processor is voornamelijk ontworpen om een ​​implementatiesnelheid van meer dan één instructie te genereren voor elke klokcyclus voor een enkel sequentieel programma.

Hier gaat het dus allemaal om een overzicht van de superscalaire processor – architectuur, typen en toepassingen. Hier is een vraag voor u, wat is de scalaire processor?