Altifigence Academy

10 / 24 · 개념

지연시간, 처리량과 개시 간격

한 거래의 시간과 여러 거래의 완료 속도를 따로 계산합니다.

빨리 끝나는 것과 자주 끝나는 것

지연시간 latency는 한 입력의 수락에서 해당 출력의 전달까지 걸린 시간입니다. 처리량 throughput은 관찰한 시간에 전달된 거래 수를 나눈 값입니다. 개시 간격 II는 연속 요청을 시작할 수 있는 최소 사이클 간격입니다. 같은 단위로 세 가지를 적으면 혼동하기 쉬워서 latency는 사이클 또는 ns, throughput은 거래/사이클 또는 거래/s, II는 사이클/거래로 씁니다.

이번 강좌는 모든 거래를 상승 에지에서 수락·전달한다고 정합니다. 두 레지스터 단계에서 에지 0에 입력을 수락하면 결과는 에지 1 뒤에 보이고 에지 2에서 전달됩니다. 따라서 수락부터 전달까지 latency=2사이클입니다. 두 단계가 동시에 서로 다른 거래를 처리하므로 멈춤 없는 정상 상태에서는 에지마다 하나씩 출력됩니다. II=1, 처리량=1거래/사이클이며 latency가 1이라는 뜻은 아닙니다.

구조전달 latencyII멈춤 없는 지속 처리량
한 레지스터 연산기1사이클11거래/사이클
두 단계 파이프라인2사이클11거래/사이클
4에지 계산 후 대기하는 공유 연산기인터페이스 일정에 따라 다름1보다 큼1보다 작음

클록도 같이 봐야 합니다. 가상의 조합 연산 지연이 총 6ns이고 레지스터 및 여유 비용이 0.5ns라면 한 단계의 최소 주기 추정은 6.5ns입니다. 두 단계가 3ns씩 균형을 이루면 추정 주기는 3.5ns입니다. 두 구조 모두 II=1이지만 지속 속도는 각각 약 153.8M거래/s와 285.7M거래/s입니다. 반면 한 거래의 지연은 6.5ns에서 두 사이클인 7ns로 늘 수 있습니다. 이것은 계산 예제이며 실제 구현 타이밍 결과가 아닙니다.

파이프라인은 가장 느린 단계의 조합 지연에 제한됩니다. 5ns와 1ns로 나누면 주기는 5.5ns이고 균형 있게 나눈 것보다 느립니다. 레지스터를 무조건 늘리면 clock-to-Q, setup, 배선, enable 선택 등 추가 비용이 커질 수 있습니다. 합성·배치 후의 타이밍을 확인해야 하며 기능 모델의 사이클 수만으로 MHz를 단정하지 않습니다.

처음에는 채우기, 끝에는 비우기 시간이 있습니다. latency=2,II=1의 장치에 에지 0~3에서 네 입력을 넣으면 에지 2~5에서 네 출력이 나옵니다. 에지 0부터 5까지의 완료 구간은 다섯 클록 간격이지만 이 짧은 묶음의 속도를 정상 상태의 1거래/사이클과 혼동하지 않습니다. 벤치마크는 관찰 구간을 명시하고 채우기·비우기를 포함하는지 적습니다.

출력 정지가 있으면 각 거래의 실제 latency는 달라집니다. 입력이 1사이클마다 제시되더라도 수락되지 않았으면 처리량에 포함할 수 없습니다. 단계를 많이 만들었는데 출력이 대부분 막힌다면 병목은 연산 지연보다 소비자일 수 있습니다. 성능 개선 전에 수락 횟수, 전달 횟수, 정지 사이클을 각각 기록하면 어떤 자원이 제한하는지 확인할 수 있습니다.

직접 생각해 보기

3단계 파이프라인이 II=1, 클록 주기 4ns일 때 멈춤 없는 지속 처리량과 전달 latency는 얼마인가요? 첫 입력을 에지 0에 받으면 다섯 번째 입력의 출력은 어느 에지에 전달되나요?

해설 보기

처리량은 1/4ns=250M거래/s, latency는 3×4ns=12ns입니다. 다섯 번째 입력은 에지 4에 수락되고 에지 7에 전달됩니다. 모든 출력이 준비되어 멈춤이 없다는 가정입니다.

선택은 이 브라우저에만 적용됩니다. 언제든 푸터에서 변경할 수 있습니다.