Register byta namn

Registerbyte är en  metod för att försvaga det ömsesidiga beroendet av instruktioner som används i processorer med ur funktion av instruktioner. En av metoderna som används i beräkningspipelines för att implementera parallellism på instruktionsnivå .

I händelse av att det, i enlighet med två eller flera instruktioner, är nödvändigt att skriva data till ett register, blir deras korrekta out-of-order exekvering omöjlig (en senare instruktion kan inte behandlas innan en tidigare avslutad), även om det inte finns något beroende av data. Sådana ömsesidiga beroenden kallas ofta falska (vid ett verkligt beroende finns det också ett beroende av data).

Eftersom antalet arkitektoniska register vanligtvis är begränsat (exempelvis har x86 -arkitekturen endast åtta allmänna register som standard), är risken för falska beroenden ganska stor, vilket kan leda till försämring av processorprestanda.

Registerbyte är omvandlingen av programvarureferenser till arkitektoniska register till referenser till fysiska register och låter dig minska effekten av falska ömsesidiga beroenden genom att använda ett stort antal fysiska register istället för ett begränsat antal arkitektoniska register (till exempel x86-kompatibla processorer av Intel P6- arkitekturen innehåller 40 fysiska register [1 ] ). I det här fallet övervakar processorn tillståndet för vilka fysiska register som motsvarar tillståndet för de arkitektoniska, och utmatningen av resultaten utförs i den ordning som tillhandahålls av programmet.

Metoden användes i IBM System/360 Model 91 (1964), POWER1 (1990), MIPS R10000 och senare processorer.

Se även

Anteckningar

  1. The Unadbridged Pentium 4: IA32 Processor Genealogy

Litteratur

Länkar