Přesměrování operandů - Operand forwarding
Přesměrování operandů (nebo předávání dat) je optimalizace v pipeline CPU omezit výkonnostní deficity, ke kterým dochází v důsledku stánky potrubí.[1][2] A datové nebezpečí může vést k a stání potrubí když aktuální operace musí čekat na výsledky dřívější operace, která ještě neskončila.
Příklad
PŘIDAT A B C # A = B + CSUB D C A # D = C-A
Pokud tito dva shromáždění instrukce pseudokódu běží v potrubí, po načtení a dekódování druhé instrukce se potrubí zastaví a čeká, až bude zapsán a přečten výsledek přidání.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
Načíst PŘIDAT | Dekódovat PŘIDAT | Přečíst operandy PŘIDAT | Provést PŘIDAT | Napiš výsledek | |||
Načíst SUB | Dekódovat SUB | stánek | stánek | Číst operandy SUB | Provést SUB | Zapsat výsledek |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|
Načíst PŘIDAT | Dekódovat PŘIDAT | Přečíst operandy PŘIDAT | Provést PŘIDAT | Napiš výsledek | ||
Načíst SUB | Dekódovat SUB | stánek | Číst operandy SUB: použijte výsledek z předchozí operace | Provést SUB | Zapsat výsledek |
V některých případech lze všechna zastavení z takových datových rizik čtení a zápisu zcela eliminovat předáváním operandů:[3][4][5]
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|
Načíst PŘIDAT | Dekódovat PŘIDAT | Přečíst operandy PŘIDAT | Provést PŘIDAT | Napiš výsledek | |
Načíst SUB | Dekódovat SUB | Číst operandy SUB: použijte výsledek z předchozí operace | Provést SUB | Zapsat výsledek |
Technická realizace
CPU řídící jednotka musí implementovat logiku pro detekci závislostí, kde má předávání operandů smysl. A multiplexer pak lze použít k výběru správného Registrovat nebo žabky číst operand z.
Viz také
Reference
- ^ „CMSC 411 Lecture 19, Pipelining Data Forwarding“. University of Maryland Baltimore County Computer Science and Electrical Engineering Department. Citováno 2020-01-22.
- ^ „Vysoce výkonná výpočetní technika, poznámky třídy 11“. hpc.serc.iisc.ernet.in. Září 2000. Archivovány od originál dne 2013-12-27. Citováno 2014-02-08.
- ^ Gurpur M. Prabhu. „Výukový program pro počítačovou architekturu“. Sekce„Přeposílání“. a„Klasifikace nebezpečnosti dat“.
- ^ Dr. Orion Lawlor.„Pipelining, Pipeline Stalls, and Operand Forwarding“.
- ^ Larry Snyder.„Kontrola potrubí“.
externí odkazy
Tento počítačové inženýrství související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |