검색어 입력폼

Branch Target Buffer란 무엇인가

저작시기 2005.11 |등록일 2007.06.10 한글파일한글 (hwp) | 7페이지 | 가격 700원

소개글

Branch Target Buffer(이하 BTB)는 쉽게 말해서 embedded processor에서 높은 성능과 효율적인 비용측면에서 사용하는 스킬이라 할 수 있다.
이 BTB에 대해서 알아본다.

본문내용

ranch Target Buffer란 무엇인가?

Branch Target Buffer(이하 BTB)는 쉽게 말해서 embedded processor에서 높은 성능과 효율적인 비용측면에서 사용하는 스킬이라 할 수 있다.
ARM에서 사용하는 측면보다 좀 더 보편적인 경우를 살펴보도록 하겠다.
흔히 processor에서는 pipeline이라는 기술을 사용한다. 이 기술은 fetch-decode-execute 3단계를 좀 더 효율적으로 하기 위해 동시에 서로 다른 명령어들을 미리 가져와서 실행하는 것이다.

전형적인 프로그램에서 약 10~30프로가 branch instruction이다.
이중에서도 conditional branch는 예측을 하기가 더욱 어렵기 때문에 pipeline에는 더욱 안좋다. 그리고 ARM은 conditional instruction을 제공한다.
지금 현재 배우고 있는 ARM에서는 3-stage pipeline을 사용하고 있지만 펜티엄4같은 경우에는 20-stage pipeline을 사용한다.

정상적으로 동작한다고 가정 할 때 5가지의 instruction을 실행하는 경우에
pipeline을 사용하지 않을 경우 3단계 cycle이 도니까 총 15계가 필요하다.
반면에 pipeline을 사용하면 단 7단계에 끝낼 수 있다.
이렇게 효율적인 pipeline이 stall(쓸모없게 되는 현상)이 되는 경우가 있다.(flush라고도 한다.pipeline에 들어있는 모든 instruction을 다 버리는 경우)
다운로드 맨위로