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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: DUNDAS JAMES DAVID, SNYDER TIMOTHY RUSSELL, ZURASKI GERALD DAVID
Format: Patent
Sprache:eng ; kor
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
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는 새로운 시드로서 그래프 안에 핫한 분기를 삽입할 수 있다.