배럴 시프터

Barrel shifter
4비트 크로스바 배럴 시프터의 개략도.'x'는 입력 비트를 나타내고 y는 출력 비트를 나타냅니다.

배럴 시프터순차 로직을 사용하지 않고 데이터 워드를 특정 비트 수만큼 이동할 수 있는 디지털 회로이며, 순수 조합 로직만 사용합니다. 즉, 본질적으로 바이너리 연산을 제공합니다.그러나 이론적으로는 고정된 양(예를 들어 주소 생성 장치)에 의해 제한되는 경우, 왼쪽 논리 이동과 같은 단항 연산을 구현하기 위해서도 사용될 수 있다.배럴 시프터를 구현하는 한 가지 방법은 멀티플렉서 시퀀스로서 한 멀티플렉서의 출력이 시프트 거리에 따라 다음 멀티플렉서의 입력에 연결됩니다.배럴 시프터는 일반적으로 단일 클럭 사이클 내에서 최신 마이크로프로세서에서 [citation needed]n비트를 시프트 및 회전시키는 데 자주 사용됩니다.

예를 들어 입력이 A, B, C 및 D인 4비트 배럴 시프터를 예로 들어 보겠습니다.시프터는 비트 ABCD의 순서를 DABC, CDAB 또는 BCDA로 전환할 수 있습니다.이 경우 비트는 손실되지 않습니다.즉, 모든 출력을 오른쪽으로 최대 3개 위치까지 이동할 수 있습니다(따라서 A, B, C 및 D의 모든 주기적 조합을 만들 수 있습니다).배럴 시프터는 (ALU와 함께) 마이크로프로세서의 유용한 구성 요소로서 다양한 용도로 사용됩니다.

실행

가장 빠른 시프터는 위에서 설명한 4비트 시프터와 유사한 방식으로 전체 크로스바로 구현되며, 크기가 더 큽니다.이 경우 최소 지연이 발생하며, 출력이 항상 입력 뒤에 있는 단일 게이트 지연이 발생합니다(시프트 카운트 디코더가 안정되는 데 필요한 작은 시간을 허용한 후, 단, 이 패널티는 시프트 카운트가 변경될 때만 발생합니다).2, 이러한 크로스바 시프터는 n비트 시프트를 위해 n개의 게이트가 필요합니다.이 때문에 배럴 시프터는 병렬 2×1 멀티플렉서의 캐스케이드로 구현되는 경우가 많아 게이트 카운트를 크게 줄일 수 있으며 현재는 n x log n에서만 증가하지만 전파 지연은 log n과 함께 증가하므로(크로스바 시프터와 같이 일정하지 않음) 더 커집니다.

8비트 배럴 시프터의 경우 S[2] 및 S[1]의 값에 따라 4비트 및 2비트씩 이동하거나 동일한 데이터를 전달하는 두 개의 중간 신호가 사용됩니다.그런 다음 이 신호는 S[0]에 의해 제어되는 다른 멀티플렉서에 의해 전환됩니다.

int1 = IN (S[2] == 0 IN < < 4인 경우), S[2] == 1 int2 = int1인 경우, S[1] == 0 = int1 < < 2인 경우, S[0] == 0 OUT = int2 < 1인 경우, S[0]

대형 배럴 시프터에는 추가 단계가 있습니다.

캐스케이드 시프터는 전체 크로스바 시프터보다 변속 카운트에 대한 디코딩 논리가 필요하지 않다는 이점이 있습니다.

비용.

n비트 워드에 필요한 멀티플렉서의 수는 2n \ n \ _ {[1]입니다.다섯 개의 일반적인 워드사이즈와 필요한 멀티플렉서의 수를 다음에 나타냅니다.

  • 128비트 - × × 128 \ _ { \ 7 =}
  • 64비트 - × × 64 \ \ _ { \ 6 384 }
  • 32 비트 - 32 × × 5 { \ \ _ { 32 5 }
  • 16 비트 - × 4 × 16 \ _ \ 4 =}
  • 비트 -8 × 2 × 8 \ \ _ { \ 3 =}

FO4에서의 중요 경로 비용(추정, 와이어 지연 없음):

  • 32비트: FO4×18~14[2] FO4

사용하다

배럴 시프터의 일반적인 용도는 부동소수점 연산의 하드웨어 구현입니다.부동소수점 덧셈 또는 뺄셈 연산의 경우 두 숫자의 유의점을 정렬해야 합니다.그러면 큰 숫자의 지수와 일치할 때까지 작은 숫자를 오른쪽으로 이동하고 지수를 증가시켜야 합니다.이것은 지수를 빼고 배럴 시프터를 사용하여 작은 숫자를 차이에 따라 오른쪽으로 이동시키는 방식으로 한 사이클에 걸쳐 수행됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Kroening, Daniel; Strichman, Ofer (2008). Decision Procedures. Springer. p. 159. ISBN 978-3-540-74104-6.
  2. ^ Wang, David T. (2002-08-15). "Revisiting the FO4 Metric". Retrieved 2016-05-19.

추가 정보

외부 링크