FRONT END OF MICROPROCESSOR AND COMPUTER-IMPLEMENTED METHOD USING THE SAME
Embodiments include a micro-branch target buffer (BTB), capable of estimating branch. The micro-BTB can predict up to two branches per cycle while inserting zero bubbles into the token or the not-taken prediction, thereby greatly improving the performance of a microprocessor and reducing power consu...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Patent |
Sprache: | eng ; kor |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Embodiments include a micro-branch target buffer (BTB), capable of estimating branch. The micro-BTB can predict up to two branches per cycle while inserting zero bubbles into the token or the not-taken prediction, thereby greatly improving the performance of a microprocessor and reducing power consumption. The front end of the microprocessor may include a main front end logic section having a main BTB, a micro BTB for generating prediction information, and a decoupling queue. The micro BTB may include a graph with a plurality of entries and a content addressable memory (CAM) with a plurality of items. Each of the entries in the graph may include a link pointer to a next branch in the taken direction, and a link pointer to a next branch in the not-taken direction. The micro-BTB may insert a hot branch into the graph as a new seed.
실시예들은 마이크로 BTB를 포함한다. 마이크로 BTB는 테이큰 또는 낫 테이큰 예측에 제로 버블을 삽입하는 것과 함께, 싸이클 당, 매 싸이클마다 두 개의 분기들까지 예측할 수 있고, 그럼으로써, 마이크로프로세서의 성능을 크게 향상시키고 전력 소비를 감소시킬 수 있다. 마이크로프로세서의 프론트 엔드는 메인 BTB, 예측 정보를 생성하는 마이크로 BTB 및 디커플링 큐를 갖는 메인 프론트 엔드 로직 섹션을 포함할 수 있다. 마이크로 BTB는 복수의 엔트리들을 갖는 그래프 및 복수의 아이템들을 갖는 CAM을 포함할 수 있다. 그래프의 엔트리들 각각은 테이큰 방향의 다음 분기에 대한 링크 포인터, 및 낫 테이큰 방향의 다음 분기에 대한 링크 포인터를 포함할 수 있다. 마이크로 BTB는 새로운 시드로서 그래프 안에 핫한 분기를 삽입할 수 있다. |
---|