A Branch Target Buffer Using Shared Tag Memory with TLB

TLB 태그 공유 구조의 분기 타겟 버퍼

  • Published : 2005.10.28

Abstract

Pipeline hazard due to branch instructions is the major factor of the degradation on the performance of microprocessors. Branch target buffer predicts whether a branch will be taken or not and supplies the address of the next instruction on the basis of that prediction. If the branch target buffer predicts correctly, the instruction flow will not be stalled. This leads to the better performance of microprocessor. In this paper, the architecture of a tag memory that branch target buffer and TLB can share is presented. Because the two tag memories used for branch target buffer and TLB each is replaced by single shared tag memory, we can expect the smaller ship size and the faster prediction. This hared tag architecture is more advantageous for the microprocessors that uses more bits of address and exploits much more instruction level parallelism.

마이크로프로세서의 성능 저하를 일으키는 주된 원인은 분기에 의한 파이프라인의 정지이다. 분기타겟 버퍼는 분기를 예측하여 다음 실행 명령어의 주소를 제공한다. 이로써 마이크로프로세서의 자연스런 명령어의 실행 흐름은 끊어지지 않게 되고 높은 성능 향상을 기대할 수 있다. 본 논문에서는 가상주소를 실제주소로 바꾸어 주는 TLB와 분기 타겟 버퍼가 각각 가지고 있는 태그 메모리를 공유하는 구조를 제안한다. 이러한 공유 태그 구조의 이점은 2개의 태그 메모리를 하나로 공유함으로써 칩 면적의 감소를 꾀하고 분기 예측 속도를 향상시킬 수 있다는 점이다. 또한, 이러한 구조는 주소로 사용되는 비트 수가 커지거나 여러 개의 명령어를 동시에 실행할 수 있는 구조에서 이점이 더욱 커지기 때문에 향후 개발되는 마이크로프로세서에서 더욱 유용하게 사용될 수 있을 것이다.

Keywords