Parancs szintű párhuzamosság

A párhuzamosság (levelizmus) észlelésének két módja van a parancs szintjén:

  • hardver - a párhuzamosság felismerése a munkafolyamatban speciális processzor-áramkörökkel történik a programkód végrehajtása során;
  • szoftver - a párhuzam azonosítását a fordító kezeli, ami egy speciális processzor futtatható programkódját képezi.

A hardver szint dinamikus párhuzamosságon fut. míg a szoftver szintje statikus párhuzamosságon múlik. A korszerű, nagy teljesítményű x86-os processzorok (Intel Pentium 4. Intel Core) dinamikus párhuzamos végrehajtási sorrendben (Extra Command Execution) működnek. Az Itanium processzorokban statikus párhuzamosságot használtak (azonban az Itanium 2 hibrid megközelítést alkalmaz).

Vegye figyelembe a következő programot:

A 3 művelet az 1. és a 2. eredménytől függ, ezért nem számítható ki mindaddig, amíg mindkettő befejeződik. Az 1. és a 2. műveletek azonban függetlenek bármely más művelettől, így számításuk egyszerre történhet. Feltéve, hogy minden egyes művelet egy időegységben befejeződhet, ez a három utasítás összesen két egységnyi időtartamon belül elvégezhető, így az ILP 3/2.

A fordító és a processzor fejlesztőinek célja. az ILP azonosítása és megszerzése a lehető legnagyobb előnyökből. A hagyományos programok általában egy szekvenciális végrehajtási modellre vannak írva, ahol a parancsok végrehajtása egymás után a programozó által meghatározott sorrendben történik. Az ILP lehetővé teszi a fordító és / vagy processzor számára, hogy felülírják az utasítások végrehajtását, vagy módosítsák a parancsok végrehajtásának sorrendjét.

Az ILP mennyisége a programokban nagymértékben függ a program hatókörétől. Bizonyos területeken, például a számítógépes grafika és a tudományos számítástechnika területén, a szám nagyon nagy lehet. Azonban a munkaterhelések, mint a titkosítás. sokkal kevésbé konkurens lehet.

Hardver módszerek a felismeréshez és a konkurenciahasználathoz:

  • Számítástechnikai csővezeték. ahol több utasítás végrehajtása átfedhet;
  • Műveletek túlnyomó végrehajtása, amelyekben több funkcióblokkot használnak több parancs végrehajtására egyidejűleg;
  • Rendkívüli végrehajtás. ahol az utasítások végrehajtása olyan sorrendben történik, amely nem sérti az adatfüggést. Ne feledje, hogy ez a módszer nem függ sem a csővezetéktől, sem a szuperskalálattól. A rendelés nélküli végrehajtás aktuális végrehajtása dinamikus (azaz a program fut és a fordító segítség nélkül) kivonja az ILP-t a megszokott programokból. Alternatív megoldásként ezt a párhuzamosságot kicsomagolhatja fordítási idő alatt, és valamilyen módon átviheti ezt az információt a hardverre. A rendkívüli teljesítmény felidézésének technikájának bonyolultsága miatt az ipar újra átgondolta a csapatcsoportot. amelyek kifejezetten több független műveletet kódolnak az utasításban;
  • Regiszterek átnevezése. amely a program által végrehajtott műveletek szükségtelen sorozatosságának elkerülésére alkalmazott módszerre vonatkozik, amely a nyilvántartások újbóli felhasználását írja elő e műveletek esetében, a megbízás nélküli megbízás végrehajtására használják;
  • Spekulatív végrehajtás, amely lehetővé teszi a teljes utasítások vagy utasításrészek végrehajtását annak ellenőrzésére, hogy ez a végrehajtás megvalósul-e. Általánosan használt forma spekulatív végrehajtás az a feltételezés, az áramlásszabályozó, ahol vezérlő utasításokat telt áramban utasítások (például, kapcsolás) és lefut, mielőtt a meghatározott cél ellenőrzési flow utasításokat. Számos egyéb spekulatív végrehajtás javasoltak és használtak, többek között a spekulatív végrehajtás, fontossága miatt az előrejelzés, a becslés és előrejelzés alapján a memória cache latency;
  • Az átmenet előrejelzése. amelyet arra használnak, hogy elkerülje a függőségek szabályozásának felfüggesztését, amelyet meg kell oldani. A konverziók előrejelzését spekulatív végrehajtással használják.

A streaming architektúrák egy másik architektúrájú osztály, ahol az ILP kifejezetten meg van határozva, lásd például a TRIPS architektúráját.

Korai végrehajtása ILP, mint például a mainframe IBM System / 360 modell 91. ILP alkalmazott módszer, hogy felszámolja a korlátozásokat a viszonylag kis regiszter fájlt.

Kapcsolódó cikkek