planning pipeline 의미
15 Oct 2019 | ROS
Planning Pipeline
- Pipeline이란
- 프로세서에서 성능을 높이기 위해서 명렁어 처리 과정으로 명령어 처리를 여러 단계로 나누어 단계볼로 동시에 수행하여 병렬화 시키는 것
- pipeline 동작 방식
- 매 클록마다 여러 명령어를 중복된 단계 없이 실행킨다.
- 가장 효율인 pipeline 조건
- 각 단계별 처리 시간이 일정 해야한다.
- 각 명령어의 처리 단계는 균일 해야한다.
-
- 그러나 실제로는 처리 시간일 일정하지도 않고 처리 단계가 균등하지 않아서 문제가 발생한다.
- 헤저드의 종류(Hazard)
1) 구조 헤저드
- 프로세서의 자원이 부족해서 발생한다.
- 아래와 같이 명령어 2에서 EXE가 1클락에 안끝날 경우, 명령어 3에서 WB 수행할때 멈춤(stall) 이 발생한다.
- 이를 구조 헤저드라한다.
- 또한 명령어4 에서는 OF단계가 필요없는 명령어이므로 EXE를 수행하려고할시 명령어3에서 EXE가 수행되고 있어 이때 또한 Stall이 발생한다
2) 데이터 헤저드
- 이전 명령어의 결과를 기반으로 다음 명령이 수행될때 발생한다.
3) 컨트롤 헤저드
- 프로그램의 의존성에 의해서 발생한다
- 분기 분의 경우 해당 명령어 경과같이 나와야 다음 명령어가 수행되는데, 이때 해당 멸령어가 끝날때까지 다음 명령어가 멈춤이 발생한다. 이른 컨트롤 헤저드라고 한다.
- 소프웨어에서 pipeline 기법 사용하기(매력적인 방법이다)
- 만약 소프으웨어가 여러 단계로 독립적으로구현 될수 있다면, 다음 방식으로 pipeline으로 구현 할수 있다.
- 1단계 : 각 단계를 Thread 구현
- 2단계 : 각 Thread를 queue로 연결
Reference
https://en.wikipedia.org/wiki/Pipeline_planning
https://doitnow-man.tistory.com/72
Planning Pipeline
- Pipeline이란
- 프로세서에서 성능을 높이기 위해서 명렁어 처리 과정으로 명령어 처리를 여러 단계로 나누어 단계볼로 동시에 수행하여 병렬화 시키는 것
- pipeline 동작 방식
- 매 클록마다 여러 명령어를 중복된 단계 없이 실행킨다.
- 가장 효율인 pipeline 조건
- 각 단계별 처리 시간이 일정 해야한다.
- 각 명령어의 처리 단계는 균일 해야한다.
-
- 그러나 실제로는 처리 시간일 일정하지도 않고 처리 단계가 균등하지 않아서 문제가 발생한다.
- 헤저드의 종류(Hazard)
1) 구조 헤저드
- 프로세서의 자원이 부족해서 발생한다.
- 아래와 같이 명령어 2에서 EXE가 1클락에 안끝날 경우, 명령어 3에서 WB 수행할때 멈춤(stall) 이 발생한다.
- 이를 구조 헤저드라한다.
- 또한 명령어4 에서는 OF단계가 필요없는 명령어이므로 EXE를 수행하려고할시 명령어3에서 EXE가 수행되고 있어 이때 또한 Stall이 발생한다
2) 데이터 헤저드
- 이전 명령어의 결과를 기반으로 다음 명령이 수행될때 발생한다.
3) 컨트롤 헤저드
- 프로그램의 의존성에 의해서 발생한다
- 분기 분의 경우 해당 명령어 경과같이 나와야 다음 명령어가 수행되는데, 이때 해당 멸령어가 끝날때까지 다음 명령어가 멈춤이 발생한다. 이른 컨트롤 헤저드라고 한다.
- 소프웨어에서 pipeline 기법 사용하기(매력적인 방법이다)
- 만약 소프으웨어가 여러 단계로 독립적으로구현 될수 있다면, 다음 방식으로 pipeline으로 구현 할수 있다.
- 1단계 : 각 단계를 Thread 구현
- 2단계 : 각 Thread를 queue로 연결
Reference
https://en.wikipedia.org/wiki/Pipeline_planning
https://doitnow-man.tistory.com/72
Comments