Egyidejű többszálú futás

A szimultán többszálú futás, rövidítve SMT, egy technika a hardveres többszálú futással rendelkező szuperskalár CPU-k általános hatékonyságának javítására. Az SMT több független végrehajtási szál használatát teszi lehetővé a modern számítógép-architektúrák által biztosított erőforrások jobb kihasználása érdekében.

A többszálú futás koncepciója hasonló a többfeladatos művelethez, de a modern szuperskalár processzorokban a végrehajtás szálszintjén valósul meg.

A processzorok tervezésénél kétféleképpen lehet növelni a chipen belüli párhuzamosságot kisebb erőforrásigény mellett:

  1. Szuperskalár technika: amely az utasításszintű párhuzamosság (ILP) növelésére törekszik azáltal, hogy egyszerre több utasítást hajt végre (kifejezés: egyidejűleg); az utasítások "egyidejű" szétosztásával (kifejezés: utasítás-diszpatching) a processzorban beépített több redundáns végrehajtó egységre.
  2. Chipszintű többszálú futás (CMT) technika: a szálszintű párhuzamosság (TLP) használata annak érdekében, hogy egy processzorchipen belül több szál utasításait egyszerre hajtsák végre.

Egynél több szál támogatása egy chipen belül többféleképpen lehetséges, nevezetesen:

  1. Interleaved multithreading (IMT) : Több utasítás különböző szálakból történő interleaved kiadása, amelyet időbeli multithreadingnek is neveznek. Az átlapolt kiadás gyakoriságától függően tovább osztható finom szemcsés vagy durva szemcsés multithreadingre. A finom szemcsés többszálúság minden ciklus után különböző szálaknak ad ki utasításokat, míg a durva szemcsés többszálúság csak akkor vált át egy másik szál utasításainak kiadására, ha az aktuálisan futó szál valamilyen hosszú késleltetési eseményt okoz (például oldalhiba stb.). A durva szemcseméretű többszálú futás inkább a szálak közötti kevesebb kontextusváltás miatt gyakori. A magonként egy csővezetékkel rendelkező processzorok esetében az egymásra épülő többszálú futás az egyetlen lehetséges mód, mivel ciklusonként legfeljebb egy utasítást tud kiadni.
  2. Egyidejű többszálú futás (SMT): Több utasítás kiadása több szálból egy ciklusban. Ehhez a processzornak szuperskalárnak kell lennie.
  3. Chip-szintű multiprocesszor (CMP vagy többmagos processzor): két vagy több szuperskalár processzort integrál egy chipbe, mindegyik szálakat önállóan hajt végre.
  4. IMT/SMT/CMP bármely kombinációja

A megkülönböztetésükhöz kulcsfontosságú tényező, hogy megnézzük, hány utasítást tud kiadni a processzor egy ciklusban, és hány szálból származnak az utasítások.

Példák a modern SMT CPU-kra

  1. Az Intel Pentium 4 volt az első olyan modern asztali processzor, amely a 2002-ben megjelent 3,06 GHz-es modellel kezdődően megvalósította az egyidejű többszálú futásmódot, és azóta számos processzorukban bevezetésre került. Az Intel a funkciót Hyper-Threading Technology (HTT) néven nevezi, és egy alapszintű, két szálon futó SMT-motort biztosít. Az Intel állítása szerint akár 30%-os sebességnövekedést is elérhet egy egyébként azonos, SMT nélküli Pentium 4-hez képest.
  2. A legújabb MIPS architektúra tervei tartalmaznak egy "MIPS MT" néven ismert SMT rendszert.
  3. A 2004 májusában bejelentett IBM POWER5 kétmagos DCM, négymagos vagy nyolcmagos MCM, mindegyik mag két szálas SMT motorral. Az IBM implementációja kifinomultabb, mint a korábbiaké, mivel a különböző szálakhoz különböző prioritást tud rendelni, finomabb a finomhangolás, és az SMT-motor dinamikusan ki- és bekapcsolható, hogy jobban lehessen végrehajtani azokat a munkaterheléseket, ahol egy SMT processzor nem növelné a teljesítményt. Ez az IBM második megvalósítása az általánosan elérhető hardveres többszálú feldolgozásnak.
  4. A 2008-ban megjelent Intel Atom az első olyan Intel termék, amely SMT-t (amelyet Hyper-threading néven forgalmaznak) tartalmaz, anélkül, hogy támogatná az utasítások átrendezését, a spekulatív végrehajtást vagy a regiszterek átnevezését.

Kapcsolódó oldalak

Kérdések és válaszok

K: Mi az a szimultán többszálú futás?


V: A szimultán többszálú futás (SMT) egy technika a hardveres többszálú futással rendelkező szuperskalár CPU-k általános hatékonyságának javítására. Több független végrehajtószálat tesz lehetővé a modern számítógép-architektúrák által biztosított erőforrások jobb kihasználása érdekében.

K: Hogyan hasonlítható össze az SMT a többfeladatos művelettel?


V: A többszálú futás koncepciója hasonló a többfeladatos futáshoz, de a modern szuperskalár processzorokban a végrehajtás szálszintjén valósul meg, míg a többfeladatos futás folyamatszinten.

K: Mi a chipen belüli párhuzamosság növelésének két módja?


V: A chipen belüli párhuzamosság növelésének két módja a szuperskalár technika és a chipszintű többszálúság (CMT).

K: Melyek a chipszintű többszálú futás különböző típusai?


V: A chipszintű többszálú futás különböző típusai közé tartozik az interleaved multithreading (IMT), a Fine-Grain multithreading, a Coarse Grain multithreadin és a Simultaneous multithreadin (SMT).

K: Hogyan lehet különbséget tenni az IMT/SMT/CMP között?


V: Az IMT/SMT/CMP közötti megkülönböztetés kulcstényezője annak vizsgálata, hogy a processzor hány utasítást képes kiadni egy ciklusban, és hogy hány szálból származnak az utasítások.

K: Milyen típusú processzort kell használni az SMT-hez?


V: Az SMT-hez szuperskalár processzort kell használni.

K: Milyen típusú processzort használ a chipszintű multiprocesszor?


V: A chipszintű multiprocesszálás olyan többmagos processzorokat használ, amelyek két vagy több szuperskalár processzort integrálnak egy chipbe, amelyek mindegyike önállóan hajt végre szálakat.

AlegsaOnline.com - 2020 / 2023 - License CC3