카테고리 없음

컴퓨터 산술 파이프라인

by이종호기자 2022. 5. 26. 02:00
반응형

오늘은 컴퓨터의 파이프라인 산출장치에 대해서 알아보겠습니다. 산술장치가 어떻게 작용되는지까지 살펴보겠습니다.

산술 파이프라인

파이프라인 산술 장치는 고속 컴퓨터에서 부동 소숫점 연산, 고정 소숫점 수의 곱셈, 과학 계산 등을 구현하기 위하여 사용됩니다. 파이프라인 승산기 (multi- plier)는 근본적으로는 배열 승산기로서 부분곱 사이의 캐리 전파 시간을 최소화하기 위한 가산기를 가지고 있습니다.

부동 소숫점 연산은 쉽게 부연산으로 나눌 수 있는데, 다음에서 부동 소숫점 덧셈과 벨셈을 예로 들어 파이프라인 장치를 설명하겠습니다. 부동 소숫점 가산기 파이프라인의 입력은 두 개의 정규화된 (normalized) 부동 소숫점 이진수입니다.

각 세그먼트의 부연산

A와 B는 가수 (mantissa) 를 나타내는 두 분수 부분이고, a와 b는 지수를 나타냅니다. 부동 소숫점 덧셈과 벨셈을 나타내는 네 세그멘트 파이프라인입니다. 각 세그멘트에서 수행되는 부연산은 다음과 같습니다.

1. 지수의 비교

2. 가수의 정렬

3. 가수의 덧셈이나 벨셈

4. 결과의 정규화

이는 부연산의 실행 시간을 줄이기 위한 약간의 변화를 제외하고는 그림에 나타낸 순서대로 동작합니다. 두 지수는 서로의 차에 의하여 크기가 비교되며, 큰 지수가 결과의 지수로 선택됩니다. 다음에 지수가 작은 수의 가수는 두 지수 의 차이만큼 오른쪽으로 시프트되어 두 가수가 정렬됩니다. 여기서 시프트 회로는 수행 시간의 절약을 위해 조합 회로로 구성되어야 합니다. 세그멘트 3에서 두 가수의 덧셈이나 벨셈이 수행되고, 세그멘트 4에서 결과값이 정규화됩니다. 오버 플로 (overflow)가 발생하면 결과의 가수를 오른쪽으로 시프트하고 지수를 하나 증가시키며, 언더플로 (underflow) 가 발생하면 0이 아닌 수가 나올 때까지 가수를 왼쪽으로 시프트하고 그 숫자만큼 지수에서 빼줍니다.

각 세그멘트에서 수행되는 부연산

다음의 예를 통해 각 세그멘트에서 수행되는 부연산을 알아보겠습니다. 간단히 하기 위하여 여기서는 두 개의 정규화된 부동 소숫점 십진수를 사용합니다.

X=0.9504 x 103

Y = 0.8200 X 10²

첫번째 세그멘트에서는 두 지수의 차 3 -2=1을 계산하여, 결과의 지수로 3을 선택합니다. 다음 세그멘트에서는 Y를 오른쪽으로 한 번 시프트하여 다음과 같 은 중간값을 만듭니다.

X=0.9504 x

103 Y = 0.0820 x 103

두 가수가 같은 지수에 대하여 정렬이 된 후 세그멘트 3에서 두 가수의 합이 구해집니다.

Z=1.0324 x 103

다음 세그멘트에서 결과의 가수를 오른쪽으로 하나 시프트시키고 지수를 하나 증가시켜 정규화합니다.

Z=0.10324 x 104

부동 소숫점 파이프라인은 비교기, 시프터, 가산-감산기, 인크리멘터, 디크리멘 터는 모두 조합 회로로 구성됩니다. 네 세그멘트의 시간 지연이 ti = 60 ns, t2 = 70 ns, t3 = 100 ns, t4 = 80 ns 이고, 중간 레지스터의 지연이 tr = 10 ns 이라고 가 정하면, 클럭 사이클은 tp = t3 + tr = 110 ns 로 결정되어야 합니다. 그리고 이와 동 등한 비파이프라인 가산-감산기는 tn =れ + t2 + t3 +4++ = 320 ns 압니다. 따라서 이 경우에 파이프라인을 통해 320/110 = 2.9 만큼 속도가 증가된 것입니다.

반응형