Řazení sudů - Barrel shifter

Schéma 4bitového řadicího zařízení příčníku. 'x' označuje vstupní bity a y označuje výstupní bity.

Hlaveň řazení je digitální obvod , který může posunout se datové slovo o zadaný počet bitů bez použití jakékoliv sekvenční logikou , pouze čistý kombinační logiky , to znamená, že ze své podstaty poskytuje binární operaci . Může být však teoreticky také použit k implementaci unárních operací , jako je logický posun doleva , v případech, kdy je omezen pevnou částkou (např. Pro jednotku generování adres ), pevnou částkou. Jedním ze způsobů, jak implementovat řadicí páku, je posloupnost multiplexorů, kde je výstup jednoho multiplexeru připojen ke vstupu dalšího multiplexeru způsobem, který závisí na vzdálenosti posunu. V moderních mikroprocesorech se často používá k posouvání a otáčení nbitů sudový řadič, obvykle v rámci jednoho hodinového cyklu .

Vezměte si například čtyřbitový řadicí řadič se vstupy A, B, C a D. Řadič může cyklovat pořadí bitů ABCD jako DABC , CDAB nebo BCDA ; v tomto případě nejsou ztraceny žádné bity. To znamená, že může posunout všechny výstupy až o tři pozice doprava (a vytvořit tak libovolnou cyklickou kombinaci A, B, C a D). Přepínač hlavně má řadu aplikací, včetně toho, že je užitečnou součástí mikroprocesorů (vedle ALU ).

Implementace

Přepínač hlavně je často implementován jako kaskáda paralelních multiplexerů 2 × 1. U 8bitového sudového řadiče se používají dva mezilehlé signály, které se posouvají o čtyři a dva bity nebo předávají stejná data na základě hodnoty S [2] a S [1]. Tento signál je pak posunut jiným multiplexorem, který je řízen pomocí S [0]:

 int1  = IN       , if S[2] == 0
       = IN   << 4, if S[2] == 1
 int2  = int1     , if S[1] == 0
       = int1 << 2, if S[1] == 1
 OUT   = int2     , if S[0] == 0
       = int2 << 1, if S[0] == 1

Větší řadicí páky mají další stupně.

Náklady

Počet multiplexorů požadovaných pro n -bitové slovo je . Níže je uvedeno pět běžných velikostí slov a počet potřebných multiplexerů:

  • 128 bitů-
  • 64bitový-
  • 32bitový-
  • 16bitové-
  • 8bitové-

Náklady na kritickou cestu ve FO4 (odhadované, bez zpoždění drátu):

  • 32bitový: od 18 FO4 do 14 FO4

Využití

Běžné použití sudového měniče je v hardwarové implementaci aritmetiky s pohyblivou řádovou čárkou . Pro plovoucí desetinnou čárkou přidat nebo odebrat provozu, significands těchto dvou čísel, musí být vyrovnány, který vyžaduje posouvání menší číslo na pravé straně, zvyšuje její exponent , dokud se shoduje exponent většímu počtu. To se provádí odečtením exponentů a použitím barelového řadiče k posunutí menšího čísla doprava o rozdíl v jednom cyklu. Pokud by byl použit jednoduchý řadič, posun o n bitových pozic by vyžadoval n hodinových cyklů.

Viz také

Reference

Další čtení

externí odkazy