Zastavení potrubí - Pipeline stall
tento článek potřebuje další citace pro ověření.Srpna 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
V designu zřetězené počítačové procesory, a stání potrubí je zpoždění při provádění návod za účelem vyřešení a nebezpečí.[1]
Standardně pětistupňový plynovod, Během dekódovací fáze, řídící jednotka určí, zda dekódovaná instrukce čte z registru, do kterého instrukce aktuálně ve fázi provádění zapisuje. Pokud tato podmínka platí, řídicí jednotka zastaví instrukci o jeden hodinový cyklus. Také zastaví instrukci ve fázi načítání, aby se zabránilo přepsání instrukce v této fázi další instrukcí v programu[2].
V Von Neumannova architektura který používá registr programového čítače (PC) k určení aktuální instrukce načítané v potrubí, aby se zabránilo načítání nových instrukcí, když byla instrukce ve fázi dekódování pozastavena, hodnota v PC registr a instrukce ve fázi načítání jsou zachovány, aby se zabránilo změnám. Hodnoty se zachovají, dokud instrukce způsobující konflikt neprojde fází provádění.[3] Taková událost se často nazývá a bublina, analogicky se vzduchovou bublinou v potrubí kapaliny.
V některých architekturách musí fáze provádění kanálu vždy provádět akci v každém cyklu. V takovém případě je bublina implementována krmením NOP („žádná operace“) pokyny do prováděcí fáze, dokud kolem ní bublina nevyplaví.
Příklady
Časová osa
Následuje dvě provedení stejných čtyř instrukcí prostřednictvím 4stupňového kanálu, ale z jakéhokoli důvodu zpoždění načítání fialové instrukce v cyklu # 2 vede k vytvoření bubliny, která zpozdí i všechny následující instrukce.
Normální provedení | Provedení s bublinou |
Klasické potrubí RISC
Níže uvedený příklad ukazuje vložení bubliny do a klasický RISC plynovod, s pěti fázemi (IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Access access, WB = Register write back). V tomto příkladu jsou data dostupná po fázi MEM (4. fáze) první instrukce požadována jako vstup do fáze EX (3. fáze) druhé instrukce. Bez bubliny má stupeň EX (3. stupeň) přístup pouze k výstupu předchozího stupně EX. Přidání bubliny tedy vyřeší časovou závislost, aniž by bylo nutné šířit data zpět v čase (což je nemožné).
Obejít zpět v čase | Problém byl vyřešen pomocí bubliny |
Viz také
Reference
- ^ Patterson, David A .; Hennessey, John L., Organizace a design počítače (4. vyd.), Morgan Kaufmann, str. 338
- ^ Patterson, David A; Hennessy, John L (2014), Organizace a design počítače: hardwarové / softwarové rozhraní (5. vydání), s. 318, OCLC 1130276006, vyvoláno 2020-05-25
- ^ Patterson, David A .; Hennessey, John L., Organizace a design počítače (4. vyd.), Morgan Kaufmann, str. 373