Superskalarinis procesorius: architektūra, vamzdynai, tipai ir taikymas

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Šiame pasaulyje visi nori greitai susitvarkyti savo reikalus/darbus. ar ne? Nuo automobilių iki pramoninių ir buitinių mašinų visi nori, kad jos dirbtų greičiau. Ar žinote, kas slypi šių mašinų viduje, todėl jos veikia? Jie yra procesoriai . Priklausomai nuo funkcionalumo, jie gali būti mikro arba makroprocesoriai. Pagrindinis procesorius paprastai vykdo vieną komandą per laikrodžio ciklą. Siekiant pagerinti jų apdorojimo greitį, kad mašinos galėtų pagerinti savo greitį, atsirado superskaliarinis procesorius kuris turi konvejerių algoritmą, leidžiantį vykdyti dvi komandas per laikrodžio ciklą. Pirmą kartą jį išrado Seymour Cray's CDC 6600, išrastas 1964 m., o vėliau jį patobulino Tjaden & Flynn 1970 m.


Pirmąjį komercinį vieno lusto superskaliarinį mikroprocesorių MC88100 sukūrė Motorola 1988 m., vėliau Intel pristatė savo versiją I960CA 1989 m., o AMD 29000 seriją 29050 Nehalemo mikroarchitektūra.



Nepaisant to, superskaliarinio diegimo sudėtingumas didėja. Šių procesorių konstrukcija paprastai reiškia metodų rinkinį, leidžiantį kompiuterio CPU pasiekti didesnį nei vienos komandos pralaidumą kiekvienam ciklui vykdant vieną nuoseklią programą. Šiame straipsnyje pažiūrėkime į „SuperScalarprocessor“ architektūrą, kuri sumažina jo vykdymo laiką ir programas.

Kas yra superskaliarinis procesorius?

Mikroprocesoriaus tipas, naudojamas viename procesoriuje įdiegti lygiagretumo tipą, vadinamą komandų lygio lygiagretumu, kad per CLK ciklą būtų vykdoma daugiau nei viena komanda, vienu metu siunčiant įvairias komandas į specialius procesoriaus vykdymo įrenginius. A skaliarinis procesorius kiekvienam laikrodžio ciklui vykdo vieną komandą; superskaliarinis procesorius gali vykdyti daugiau nei vieną komandą per laikrodžio ciklą.



Superskaliarinio projektavimo metodai paprastai apima lygiagretų registro pervadinimą, lygiagretų komandų dekodavimą, netvarkingą vykdymą ir spekuliacinį vykdymą. Taigi šie metodai paprastai naudojami kartu su papildančiais projektavimo metodais, tokiais kaip vamzdynų sudarymas, šakų numatymas, talpyklos kaupimas ir kelių branduolių dabartinės konstrukcijos mikroprocesoriai.

  Superskaliarinis procesorius
Superskaliarinis procesorius

funkcijos

Superskaliarinių procesorių savybės yra šios.

  PCBWay
  • Superskaliarinė architektūra yra lygiagretus skaičiavimo metodas, naudojamas įvairiuose procesoriuose.
  • Superskaliariniame kompiuteryje centrinis procesorius valdo kelis instrukcijų vamzdynus, kad vienu metu vykdytų daugybę instrukcijų per laikrodžio ciklą.
  • Superskaliarinės architektūros apima visas vamzdynas funkcijas, nors tame pačiame konvejeryje vienu metu vykdomos kelios instrukcijos.
  • Superskaliariniai projektavimo metodai paprastai apima lygiagretų registro pervadinimą, lygiagretų komandų dekodavimą, spekuliacinį vykdymą ir netvarkingą vykdymą. Taigi, šie metodai paprastai naudojami kartu su papildančiais projektavimo metodais, tokiais kaip talpyklos kaupimas, vamzdynų sudarymas, šakų numatymas ir kelių branduolių naujausiuose mikroprocesorių projektuose.

Superskaliarinė procesoriaus architektūra

Žinome, kad superskaliarinis procesorius yra CPU, kuris vykdo daugiau nei vieną komandą kiekvienam CLK ciklui, nes apdorojimo greitis tiesiog matuojamas CLK ciklais kiekvieną sekundę. Palyginti su skaliariniu procesoriumi, šis procesorius yra labai greitesnis.

Superskaliarinio procesoriaus architektūra daugiausia apima lygiagrečius vykdymo blokus, kuriuose šie įrenginiai gali įgyvendinti komandas vienu metu. Taigi, pirma, ši lygiagreti architektūra buvo įdiegta RISC procesoriuje, kuriame skaičiavimams atlikti naudojamos paprastos ir trumpos instrukcijos. Taigi dėl jų superskaliarinių sugebėjimų, paprastai RIZIKA procesoriai veikė geriau, palyginti su CISC procesoriais, kurie veikia tuo pačiu megahercu. Tačiau dauguma CISC Procesoriai, tokie kaip „Intel Pentium“, taip pat turi tam tikrą RISC architektūrą, kuri leidžia jiems atlikti instrukcijas lygiagrečiai.

  Superskaliarinė procesoriaus architektūra
Superskaliarinė procesoriaus architektūra

Superskaliariniame procesoriuje yra keletas apdorojimo blokų, skirtų įvairioms instrukcijoms tvarkyti lygiagrečiai kiekviename apdorojimo etape. Naudojant aukščiau pateiktą architektūrą, daugybė instrukcijų pradeda vykdyti panašiu laikrodžio ciklu. Šie procesoriai kiekvienam ciklui gali gauti pirmiau nurodytos vienos komandos komandų vykdymo išvestį.

Aukščiau pateiktoje architektūros diagramoje procesorius naudojamas su dviem vykdymo blokais, kur vienas naudojamas sveikiesiems skaičiams, o kitas naudojamas slankiojo kablelio operacijoms. Instrukcijų gavimo įrenginys (IFU) gali vienu metu nuskaityti instrukcijas ir išsaugo jas komandų eilėje. Per kiekvieną ciklą siuntimo įrenginys paima ir iššifruoja iki 2 instrukcijų iš eilės priekio. Jei yra vienas sveikasis skaičius, vienas slankiojo kablelio nurodymas ir nėra pavojų, abi instrukcijos siunčiamos per panašų laikrodžio ciklą.

Vamzdynas

Konvejerinis sujungimas – tai užduočių suskirstymo į etapus ir jų vykdymo skirtingose ​​procesoriaus dalyse procedūra. Šiame superskaliariniame konvejeryje vienu metu galima gauti ir išsiųsti dvi instrukcijas, kad būtų įvykdytos daugiausia 2 instrukcijos per ciklą. Skaliarinio procesoriaus ir superskaliarinio procesoriaus konvejerių architektūra parodyta toliau.

Instrukcijos superskaliariniame procesoriuje pateikiamos iš nuoseklaus komandų srauto. Jis turi leisti kelias komandas kiekvienam laikrodžio ciklui, o CPU turi dinamiškai tikrinti, ar nėra duomenų priklausomybės tarp komandų.

Toliau pateiktoje konvejerio architektūroje paimamas F, iškoduojamas D, vykdomas E ir W yra registro įrašymas atgal. Šioje dujotiekio architektūroje I1, I2, I3 ir I4 yra instrukcijos.

Skaliarinio procesoriaus konvejerio architektūra apima vieną konvejerį ir keturis paėmimo, dekodavimo, vykdymo ir rezultatų rašymo etapus. Vieno konvejerio skaliariniame procesoriuje konvejeris instrukcijoje1 (I1) veikia kaip; pirmame laikrodžio periode I1 jis pateiks, antrame laikrodžio periode iššifruos, o antroje komandoje pateiks I2. Trečioji instrukcija I3 trečiojo laikrodžio periode bus paimta, I2 iššifruos ir I1 vykdys. Ketvirtajame laikrodžio periode I4 paims, I3 iššifruos, I2 vykdys ir I1 įrašys į atmintį. Taigi per septynis laikrodžio periodus jis vykdys 4 instrukcijas viename konvejeryje.

  Skaliarinis vamzdynas
Skaliarinis vamzdynas

Superskaliarinio procesoriaus dujotiekio architektūra apima du konvejerius ir keturis paėmimo, dekodavimo, vykdymo ir rezultatų įrašymo etapus. Tai 2 laidų superskaliarinis procesorius, o tai reiškia, kad vienu metu dvi instrukcijos bus paimtos, iššifruotos, vykdomos ir rezultatas bus parašytas atgal. Dvi instrukcijos I1 ir I2 vienu metu paims, iššifruos, vykdys ir įrašys atgal kiekvienu laikrodžio periodu. Tuo pačiu metu kitame laikrodžio periode likusios dvi komandos I3 ir I4 vienu metu paims, iššifruos, vykdys ir įrašys atgal. Taigi per penkis laikrodžio periodus jis vykdys 4 komandas viename konvejeryje.

  Superskaliarinis vamzdynas
Superskaliarinis vamzdynas

Taigi, skaliarinis procesorius išduoda vieną komandą per laikrodžio ciklą ir atlieka vieną konvejerio etapą per laikrodžio ciklą, o superskaliarinis procesorius išduoda dvi komandas per laikrodžio ciklą ir lygiagrečiai vykdo du kiekvieno etapo atvejus. Taigi komandų vykdymas skaliariniame procesoriuje užtrunka daugiau laiko, o superskaliariniame procesoriuje komandų vykdymas trunka mažiau laiko .

Superskaliarinių procesorių tipai

Tai yra įvairių tipų superskaliariniai procesoriai, kuriuos galima rasti rinkoje, kurie aptariami toliau.

Intel Core i7 procesorius

„Intel core i7“ yra superskaliarinis procesorius, pagrįstas „Nehalem“ mikroarchitektūra. „Core i7“ konstrukcijoje yra įvairių procesoriaus branduolių, kur kiekvienas procesoriaus branduolys yra superskaliarinis procesorius. Tai greičiausia „Intel“ procesoriaus versija, naudojama vartotojams skirtuose kompiuteriuose ir įrenginiuose. Panašiai kaip Intel Corei5, šis procesorius yra integruotas į Intel Turbo Boost technologiją. Šį procesorių galima pasiekti nuo 2 iki 6 variantų, kurie vienu metu palaiko iki 12 skirtingų gijų.

  Intel Core i7 procesorius
Intel Core i7 procesorius

Intel Pentium procesorius

„Intel Pentium“ procesoriaus superskaliarinė konvejerinė architektūra reiškia, kad CPU kiekvienam ciklui vykdo mažiausiai dvi ar daugiau instrukcijų. Šis procesorius plačiai naudojamas asmeniniuose kompiuteriuose. „Intel Pentium“ procesoriaus įrenginiai paprastai yra skirti naudoti internete, debesų kompiuterijai ir bendradarbiavimui. Taigi šis procesorius puikiai tinka planšetiniams kompiuteriams ir „Chromebook“ įrenginiams, kad būtų užtikrintas didelis vietinis našumas ir efektyvi sąveika internetu.

  Intel Pentium procesorius
Intel Pentium procesorius

IBM Power PC601

Superskaliarinis procesorius, kaip IBM power PC601, yra iš RISC mikroprocesorių PowerPC šeimos. Šis procesorius gali išduoti ir atšaukti tris komandas kiekvienam laikrodžiui ir po vieną kiekvienam iš 3 vykdymo vienetų. Instrukcijos visiškai netinkamos, kad būtų pagerintas našumas; tačiau PC601 vykdymas bus tvarkingas.

  IBM Power PC601
IBM Power PC601

Power PC601 procesorius teikia 32 bitų loginius adresus, 8, 16 ir 32 bitų sveikųjų duomenų tipus ir 32 ir 64 bitų slankiojo kablelio duomenų tipus. Kad būtų galima įdiegti 64 bitų PowerPC, šio procesoriaus architektūra suteikia 64 bitais pagrįstus sveikųjų skaičių duomenų tipus, adresus ir kitas funkcijas, reikalingas 64 bitų architektūrai užbaigti.

MC 88110

MC 88110 yra vienos lusto antros kartos RISC mikroprocesorius, kuris naudoja pažangius metodus, kad išnaudotų komandų lygiagretumą. Šis procesorius naudoja keletą lustų talpyklų, superskaliarinių instrukcijų problemas, ribotų dinaminių komandų įrašymą ir spekuliacinį vykdymą, kad pasiektų maksimalų našumą, todėl jis idealiai tinka kaip centrinis procesorius nebrangiuose kompiuteriuose ir darbo vietose.

  MC 88000
MC 88000

Intel i960

Intel i960 yra superskaliarinis procesorius, galintis vykdyti ir siųsti įvairias nepriklausomas instrukcijas per kiekvieną procesoriaus laikrodžio ciklą. Tai yra RISC pagrįstas mikroprocesorius, kuris dešimtojo dešimtmečio pradžioje išgarsėjo kaip įtaisytasis mikrovaldiklis. Šis procesorius nuolat naudojamas keliose karinėse programose.

  Intel i960
Intel i960

MIPS R

MIPS R yra dinaminis ir superskaliarinis mikroprocesorius, naudojamas 64 bitų MIPS 4 instrukcijų rinkinio architektūrai vykdyti. Šis procesorius gauna ir dekoduoja 4 kiekvieno ciklo instrukcijas ir išduoda jas penkiems visiškai konvejeriniams ir mažos delsos vykdymo vienetams. Šis procesorius yra ypač sukurtas didelio našumo, didelėms ir realaus pasaulio programoms, kurių atminties vieta yra prasta. Su apytiksliu vykdymu jis tiesiog apskaičiuoja atminties adresus. MIPS procesoriai daugiausia naudojami įvairiuose įrenginiuose, tokiuose kaip Nintendo Gamecube, SGI produktų linija, Sony Playstation 2, PSP ir Cisco maršrutizatoriai.

  MIPS R
MIPS R

Skirtumas B/W Superscalar vs Pipelining

Skirtumas tarp superskaliarinio ir vamzdyno yra aptariamas toliau.

Superskaliarinis

Vamzdynas

Superskaliarinis yra centrinis procesorius, naudojamas viename procesoriuje įgyvendinti lygiagretumo formą, vadinamą instrukcijų lygio lygiagretumu. Įdiegimo technika, pvz., konvejerinė sistema, naudojama, kai vykdant sutampa kelios instrukcijos.
Superskaliarinė architektūra inicijuoja kelias instrukcijas vienu metu ir vykdo jas atskirai. Konvejerinė architektūra vykdo vieną konvejerio etapą tik kiekvienam laikrodžio ciklui.

Šie procesoriai priklauso nuo erdvinio lygiagretumo. Tai priklauso nuo laiko paralelizmo.
Kelios operacijos vienu metu vykdomos atskiroje aparatinėje įrangoje. Sutampa kelios operacijos su įprasta aparatūra.
Tai pasiekiama dubliuojant aparatūros išteklius, tokius kaip registrų failų prievadai ir vykdymo įrenginiai. Tai pasiekiama vykdymo vienetais, sujungtais giliau su labai greitais CLK ciklais.

Charakteristikos

The superskaliarinio procesoriaus charakteristikos įtraukti toliau nurodytus dalykus.

  • Superskaliarinis procesorius yra superkonvejerinis modelis, kuriame tiesiog nepriklausomos instrukcijos vykdomos nuosekliai be jokios laukimo situacijos.
  • Superskaliarinis procesorius vienu metu gauna ir dekoduoja kelias gaunamų komandų srauto instrukcijas.
  • Superskaliarinių procesorių architektūra išnaudoja instrukcijų lygio lygiagretumo galimybes.
  • Superskalariniai procesoriai daugiausia išduoda aukščiau pateiktą nurodymą kiekvienam ciklui.
  • „Nr. Išduodamų instrukcijų skaičius daugiausia priklauso nuo instrukcijų sraute esančių instrukcijų.
  • Instrukcijos dažnai pertvarkomos, kad geriau atitiktų procesoriaus architektūrą.
  • Superskaliarinis metodas paprastai siejamas su kai kuriomis identifikavimo savybėmis. Nurodymai paprastai pateikiami iš nuoseklaus komandų srauto.
  • CPU vykdymo metu dinamiškai tikrina, ar tarp instrukcijų nėra duomenų priklausomybių.
  • CPU kiekvienam laikrodžio ciklui vykdo kelias instrukcijas.

Privalumai ir trūkumai

The Superskaliarinio procesoriaus pranašumai įtraukti toliau nurodytus dalykus.

  • Superskaliarinis procesorius įgyvendina komandų lygio lygiagretumą viename procesoriuje.
  • Šie procesoriai yra tiesiog sukurti atlikti bet kokį instrukcijų rinkinį.
  • Superskaliarinis procesorius, įskaitant netvarkingos vykdymo šakos numatymą ir spekuliacinį vykdymą, gali tiesiog rasti lygiagretumą virš kelių pagrindinių blokų ir ciklo iteracijų.

The Superskaliarinio procesoriaus trūkumai įtraukti toliau nurodytus dalykus.

  • Superskalariniai procesoriai mažai naudojami mažose įterptosiose sistemose dėl energijos suvartojimo.
  • Šioje architektūroje gali kilti planavimo problema.
  • Superscalar procesorius padidina techninės įrangos projektavimo sudėtingumo lygį.
  • Šio procesoriaus instrukcijos tiesiog paimamos pagal nuoseklią programų tvarką, tačiau tai nėra geriausia vykdymo tvarka.

Superskaliarinės procesoriaus programos

Superskaliarinio procesoriaus programos apima šias programas.

  • Superskaliarinis vykdymas dažnai naudojamas nešiojamajame arba staliniame kompiuteryje. Šis procesorius tiesiog nuskaito vykdomą programą, kad surastų instrukcijų rinkinius, kuriuos galima vykdyti kaip vieną.
  • Superskaliarinis procesorius apima įvairias duomenų kelio aparatinės įrangos kopijas, kurios vienu metu vykdo įvairias instrukcijas.
  • Šis procesorius iš esmės yra skirtas generuoti didesnį nei vienos komandos diegimo greitį kiekvienam laikrodžio ciklui vienai nuosekliai programai.

Taigi, visa tai yra apie superskaliarinio procesoriaus apžvalga – architektūra, tipai ir programos. Štai jums klausimas, kas yra skaliarinis procesorius?