인프런 커뮤니티 질문&답변
pipeline 관련 질문입니다.
작성
·
337
1
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
퀴즈
HW 변수에서 오버플로우(Overflow)가 발생하는 근본적인 이유는 무엇일까요?
변수의 이름이 너무 길게 정의되어서
변수가 표현 가능한 값의 범위를 넘어섰기 때문에
클럭 주파수가 너무 높게 설정되어서
리셋 신호가 비활성화 상태이기 때문에
답변 1
0
안녕하세요 :)
공지사항 대로 개인이 임의로 수정한 코드는 봐드리고 있지 않구요.
이 문장에서 잘못되었음을 확인했습니다.
f/f 으로 인하여 cycle 이 딜레이 됩니다. 다시 확인 부탁드릴께요. 즐공하세요 :)
안녕하세요 맛비님. pipe line 복습하다가 pipeline을 사용하지 않으면 clk의 1cycle이 아닌 3cycle 마다 결과값이 한번씩 출력이 되어야하는 것으로 알고 있습니다.
이해 감사드립니다 :)
영상에서 pipeline 이론편을 보셨으면 이해가 되실 것 같습니다. (retiming)
예를들어 Combinational Logic 이 10 ns 가 걸린다고 가정하겠습니다.
100 MHz 에 돌릴때는 10ns 의 주기를 갖기 때문에, 10ns 의 로직에서는 Timing Violation 이 없습니다.
하지만 200 MHz 로 Freq 를 2배 올리고 싶습니다.
200 MHz 는 5ns 의 주기로, 10ns 를 1 cycle 처리시 Timing Violation 이 발생합니다.
이 경우 Logic 은 정상 동작하지 않습니다.
이때, F/F 으로 10ns 의 Logic 을 5ns F/F 5ns 로 나눈다고 가정하겠습니다.
이때는 200 MHz 는 Timing Violation 이 아니죠.
하고싶은 이야기는, Pipeline 은 중간에 저장 소자가 있다라는 전제하에 성립합니다. (이론편 참고)
현재 여쭤보신 상황은, Pipeline 을 유지하던 F/F 을 없앤다고 해서, Pipeline 이 깨지는 Case 가 아닙니다. 다만 Logic 의 Delay 가 늘어난거죠. "모든 Case 에서 중간의 F/F 을 제거했다고 해서 Pipeline 이 아니다" 가 아닙니다.
즉, F/F 을 제거하면, Timing Violation 에 의한 Freq 차이가 발생, Performance 가 다른 결과를 만들 수 있습니다.
적어주신 문장은 옳습니다. :)
추가로 "중간의 F/F 을 없앴다고 해서, Pipeline 이 아니다."
위 말이 false 임을 이해하셨다면, 성공입니다 ㅎ
즐공하세요 :)





아하 이해됐습니다 감사합니다..
질문 하나만 더 드리겠습니다... 제가 이해한 바로는 결과값이 나오는 주기에서 파이프라인이 더 이득인 것으로 이해하고 있었습니다.
파이프라인을 쓰지 않았을때 2사이클이 더 값이 빨리나오고 결과값이 1사이클 마다 나오게되면 사용하지 않을때와 비슷한 결과값 효율이지 않나 질문드립니다..