Superskalarinio

Superskalarinio procesoriaus konstrukcija leidžia viename procesoriuje taikyti lygiagrečiųjų skaičiavimų formą, vadinamą instrukcijų lygmens lygiagretinimu, todėl tuo pačiu taktiniu dažniu galima atlikti daugiau darbų. Tai reiškia, kad CPU per taktinį ciklą vykdo daugiau nei vieną instrukciją, vykdydamas kelias instrukcijas tuo pačiu metu (vadinama instrukcijų siuntimu) dubliuojamuose funkciniuose blokuose. Kiekvienas funkcinis blokas yra tik CPU branduolio viduje esantis vykdymo resursas, pavyzdžiui, aritmetinis loginis blokas (ALU), slankiojo kablelio blokas (FPU), bitų keitiklis arba daugiklis.

Dauguma superskalarinių procesorių taip pat yra su vamzdeliu, tačiau gali būti ir superskalarinių procesorių be vamzdelio arba su vamzdeliu ne superskalarinių procesorių.

Superskalarinį metodą palaiko kelios procesoriaus branduolio savybės:

  1. Instrukcijos pateikiamos iš užsakyto instrukcijų sąrašo.
  2. Procesoriaus techninė įranga gali nustatyti, kurios instrukcijos turi kokią duomenų priklausomybę.
  3. Per vieną taktinį ciklą gali perskaityti kelias instrukcijas

Kiekviena skaliarinio procesoriaus vykdoma instrukcija vienu metu keičia vieną ar du duomenų elementus, o kiekviena vektorinio procesoriaus vykdoma instrukcija vienu metu keičia daug duomenų elementų. Superskalarinis procesorius yra šių dviejų procesų mišinys:

  1. Kiekviena instrukcija apdoroja vieną duomenų elementą.
  2. Kiekviename procesoriaus branduolyje yra keli dubliuojantys funkciniai vienetai, todėl kelios instrukcijos vienu metu apdoroja nepriklausomus duomenų elementus.

Superskalariniame procesoriuje instrukcijų dispečeris nuskaito instrukcijas iš atminties ir nusprendžia, kurias iš jų galima vykdyti lygiagrečiai, ir išsiunčia jas į daugybę dubliuojančių funkcinių blokų, esančių procesoriaus viduje.

Projektuojant superskalarinį procesorių siekiama padidinti instrukcijų dispečerio tikslumą ir užtikrinti, kad daugybė funkcinių blokų būtų nuolat užimti. Nuo 2008 m. visi bendrosios paskirties procesoriai yra superskalariniai, tipiniame superskalariniame procesoriuje gali būti iki 4 ALU, 2 FPU ir du SIMD vienetai. Jei dispečeris negali užimti visų blokų, procesoriaus našumas bus mažesnis.

Paprastas superskalarinis vamzdynas. Imant ir siunčiant po dvi instrukcijas vienu metu, per ciklą galima atlikti ne daugiau kaip dvi instrukcijas.Zoom
Paprastas superskalarinis vamzdynas. Imant ir siunčiant po dvi instrukcijas vienu metu, per ciklą galima atlikti ne daugiau kaip dvi instrukcijas.

CRAY T3e lygiagrečiojo kompiuterio procesoriaus plokštė su keturiais superskalariniais Alpha procesoriaisZoom
CRAY T3e lygiagrečiojo kompiuterio procesoriaus plokštė su keturiais superskalariniais Alpha procesoriais

Apribojimai

Superscalar procesorių našumo didinimą riboja du dalykai:

  1. Instrukcijų sąraše integruoto lygiagretumo lygis
  2. Dispečerio ir duomenų priklausomybės tikrinimo sudėtingumas ir laiko sąnaudos.

Net jei įprastame superskalariniame procesoriuje priklausomybių tikrinimas būtų be galo spartus, jei pats instrukcijų sąrašas turi daug priklausomybių, tai taip pat apribotų galimą našumo padidėjimą, todėl dar vienas apribojimas yra kode integruoto lygiagretumo kiekis.

Nesvarbu, koks didelis būtų dispečerio greitis, yra praktinė riba, kiek instrukcijų galima išsiųsti vienu metu. Nors techninės įrangos pažanga leis sukurti daugiau funkcinių vienetų (pvz., ALU) viename procesoriaus branduolyje, instrukcijų priklausomybių tikrinimo problema padidėja tiek, kad pasiekiama superskalarinio dispečerinio dispečerio riba yra šiek tiek mažesnė. Tikėtina, kad vienu metu siunčiamos penkios-šešios instrukcijos.

Alternatyvos

Įvairūs alternatyvūs metodai nėra vienas kitam prieštaraujantys - jie gali būti (ir dažnai yra) derinami viename procesoriuje, todėl galima sukurti daugiabranduolį procesorių, kuriame kiekvienas branduolys yra nepriklausomas procesorius su keliais lygiagrečiais superskalariniais vamzdynais. Kai kuriuose daugiabranduoliniuose procesoriuose taip pat yra vektorių funkcija.

Susiję puslapiai

Klausimai ir atsakymai

K: Kas yra superskalarinė technologija?


A.: Superskalarinė technologija yra pagrindinių lygiagrečiųjų skaičiavimų forma, leidžianti per kiekvieną taktinį ciklą apdoroti daugiau nei vieną instrukciją, vienu metu naudojant kelis vykdymo vienetus.

K: Kaip veikia superskalarinė technologija?


A: Superskalarinė technologija apima instrukcijas, kurios į procesorių patenka eilės tvarka, ieškant duomenų priklausomybės, ir įkraunant daugiau nei vieną instrukciją per kiekvieną taktinį ciklą.

K: Kuo skiriasi skaliariniai ir vektoriniai procesoriai?


A.: Skalariniame procesoriuje instrukcijos paprastai vienu metu dirba su vienu ar dviem duomenų elementais, o vektoriniame procesoriuje instrukcijos paprastai vienu metu dirba su daugeliu duomenų elementų. Superskalarinis procesorius yra abiejų tipų mišinys, nes kiekviena instrukcija apdoroja vieną duomenų elementą, tačiau vienu metu vykdoma daugiau nei viena instrukcija, todėl procesorius vienu metu apdoroja daug duomenų elementų.

Klausimas: Kokį vaidmenį superskalariniame procesoriuje atlieka tikslus instrukcijų dispečeris?


A: Tikslus instrukcijų dispečeris yra labai svarbus superskalariniam procesoriui, nes užtikrina, kad vykdymo vienetai visada būtų užimti darbais, kurių greičiausiai prireiks. Jei instrukcijų dispečeris nėra tikslus, dalį darbo gali tekti išmesti, todėl procesorius nebus greitesnis už skaliarinį procesorių.

Klausimas: Kuriais metais visi įprasti procesoriai tapo superskalariniais?


A: 2008 m. visi įprasti procesoriai tapo superskaliniais.

K: Kiek ALU, FPU ir SIMD blokų gali būti įprastame procesoriuje?


A: Įprastame centriniame procesoriuje gali būti iki 4 ALU, 2 FPU ir 2 SIMD vienetai.

AlegsaOnline.com - 2020 / 2023 - License CC3