KR100265332B1 - 분기예측방법 - Google Patents

분기예측방법 Download PDF

Info

Publication number
KR100265332B1
KR100265332B1 KR1019970020473A KR19970020473A KR100265332B1 KR 100265332 B1 KR100265332 B1 KR 100265332B1 KR 1019970020473 A KR1019970020473 A KR 1019970020473A KR 19970020473 A KR19970020473 A KR 19970020473A KR 100265332 B1 KR100265332 B1 KR 100265332B1
Authority
KR
South Korea
Prior art keywords
branch
stage
instruction
address
btb
Prior art date
Application number
KR1019970020473A
Other languages
English (en)
Other versions
KR19980084635A (ko
Inventor
안문원
김현은
Original Assignee
김영환
현대전자산업주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김영환, 현대전자산업주식회사 filed Critical 김영환
Priority to KR1019970020473A priority Critical patent/KR100265332B1/ko
Publication of KR19980084635A publication Critical patent/KR19980084635A/ko
Application granted granted Critical
Publication of KR100265332B1 publication Critical patent/KR100265332B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

본 발명은 듀얼 파이프라인 구조와 분기 내용이 저장되어 분기 예측의 근거로 이용되는 BTB를 갖는 마이크로프로세서에서, 분기 예측에 따라 프로그램을 수행할 때에 빠른 클럭속도에서도 분기 예측이 가능하고, 또한 효율적인 분기의 검증을 진행할 수 있는 분기 예측 방법을 제공하기 위한 것으로, 이를 위해 본 발명은 다수의 스테이지를 가진 제1 파이프 및 제2 파이프의 듀얼 파이프 마이크로프로세서에서, 수행할 명령어를 미리 캐쉬에서 가져오는 제1 스테이지, 페치한 명령어의 길이를 계산하는 제2 스테이지, 명령어를 디코딩하는 제3 스테이지, 데이터 캐쉬에서 가져올 데이터의 주소를 계산하는 제4 스테이지, 명령어를 수행하는 제5 스테이지, 수행한 결과를 메모리나 레지스터에 쓰는 제6스테이지로 각각 수행하고, 분기 예측에 따라 프로그램을 수행할 때 브렌치타겟버퍼(BTB) 조회와 분기 명령의 다음 명령어 가져오기를 상기 각각 상기 제2 스테이지와 상기 제3 스테이지로 나누어 처리하고, 상기 분기 명령어의 자체 주소로 분기 예측을 했을 때 생성되는 1사이클의 공백을 제거하기 위해, 상기 제2 스테이지에서 상기 분기 명령어가 수행되는 사이클의 이전 사이클에서 수행되는 명령어의 주소로 상기 브렌치타겟버퍼(BTB)를 조회한다.

Description

분기 예측 방법{Branch Prediction Method}
본 발명은 마이크로프로세서 내 분기 예측 구조(Branch Prediction Scheme)에서의 효과적인 분기 예측과 분기 검증을 위한 분기 예측 방법에 관한 것으로서, 분기 예측 구조를 갖는 모든 마이크로프로세서에 적용될 수 있다.
일반적으로, 프로그램 수행 중 분기 명령(branch instruction)이 나올 경우 저장되어져 있는 이전까지의 프로그램 수행 기록에 따라서 분기 다음에 수행될 명령어를 예측하여 미리 가져와서 수행하는 분기 예측 동작과 예측되어진 분기의 검증 동작을 수행한다.
종래에는 분기 예측 시 브랜치 타겟 버퍼(Branch Target Buffer, 이하 BTB라 함)에 대한 조회와 분기 명령의 다음 명령어의 가져오기를 하나의 스테이지에서 수행하였기 때문에 빠른 클럭속도를 가지는 경우에 처리가 불가능하였다. 또한, 종래의 듀얼 파이프라인 구조에서는 제1 파이프라인인 X 파이프에 대한 분기 검증을 실행 스테이지인 EX 스테이지에서, 제2 파이프라인인 Y 파이프에 대한 분기 검증을 라이트-백(Write-back) 스테이지인 WB 스테이지에서 각기 따로 진행하였기 때문에 분기 예측 회로가 복잡하고, 이를 제어하기 위한 제어회로가 복잡한 문제가 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 듀얼 파이프라인 구조와 분기 내용이 저장되어 분기 예측의 근거로 이용되는 BTB를 갖는 마이크로프로세서에서, 분기 예측에 따라 프로그램을 수행할 때에 빠른 클럭속도에서도 분기 예측이 가능하고, 또한 효율적인 분기의 검증을 진행할 수 있는 분기 예측 방법을 제공하는데 그 목적이 있다.
도1은 본 발명의 일실시예에 따른 분기 예측을 설명하기 위한 블록 다이어그램도.
도2는 본 발명의 일실시예에 따른 분기 예측 방법을 설명하기 위하여 파이프라인된 각 스테이지를 개념적으로 도시한 도면.
상기 목적을 달성하기 위한 본 발명의 분기 예측 방법은, 다수의 스테이지를 가진 제1 파이프 및 제2 파이프의 듀얼 파이프 마이크로프로세서에서, 수행할 명령어를 미리 캐쉬에서 가져오는 제1 스테이지, 페치한 명령어의 길이를 계산하는 제2 스테이지, 명령어를 디코딩하는 제3 스테이지, 데이터 캐쉬에서 가져올 데이터의 주소를 계산하는 제4 스테이지, 명령어를 수행하는 제5 스테이지, 수행한 결과를 메모리나 레지스터에 쓰는 제6스테이지로 각각 수행하고, 분기 예측에 따라 프로그램을 수행할 때 브렌치타겟버퍼(BTB) 조회와 분기 명령의 다음 명령어 가져오기를 상기 각각 상기 제2 스테이지와 상기 제3 스테이지로 나누어 처리하고, 상기 분기 명령어의 자체 주소로 분기 예측을 했을 때 생성되는 1사이클의 공백을 제거하기 위해, 상기 제2 스테이지에서 상기 분기 명령어가 수행되는 사이클의 이전 사이클에서 수행되는 명령어의 주소로 상기 브렌치타겟버퍼(BTB)를 조회하는 것을 특징으로 한다.
또한, 본 발명의 분기 예측 방법은 각각 다수의 스테이지를 가지고, 분기 내용이 저장되어 분기 예측의 근거로 이용되는 브렌치타겟버퍼(BTB)를 구비한 제1 파이프 및 제2 파이프의 듀얼 파이프 마이크로프로세서에서, 수행할 명령어를 미리 캐쉬에서 가져오는 제1 스테이지, 페치한 명령어의 길이를 계산하는 제2 스테이지, 명령어를 디코딩하는 제3 스테이지, 데이터 캐쉬에서 가져올 데이터의 주소를 계산하는 제4 스테이지, 명령어를 수행하는 제5 스테이지, 수행한 결과를 메모리나 레지스터에 쓰는 제6 스테이지로 각각 수행하고, 분기 예측에 따라 다음에 수행될 명령어를 예측하여 미리 가져와서 수행하는 동작이 맞았는지 틀렸는지를 확인하는 분기 검증을 상기 제1 및 제2 파이프 모두 상기 제6 스테이지에서 처리하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 상세히 살펴본다.
프로그램 수행 중 분기 명령이 나올 경우, 이 분기 명령을 완전히 수행한 후에야 다음에 수행될 명령을 알 수 있기 때문에, 분기 명령을 수행하는 동안에는 명령어의 가져오기가 중단된다. 분기 예측은 이러한 성능 저하를 막기 위해 분기 명령어를 가지고 올 때에 이전까지의 프로그램 수행 기록에 따라 분기 명령 다음에 수행될 명령어를 예측하여 미리 가져와서 수행하는 동작을 말한다. 이러한 분기 예측은 분기단(Branch Unit)을 통해 이루어지며, 이 분기단은 BTB를 포함하고, 프리페치(Prefetch), 명령어 페치(fetch)와 밀접하게 연관되어 동작한다. 이때, 분기 예측에 따라 프로그램을 수행할 때에는 분기 명령 다음에 수행될 명령어를 예측하여 미리 가져와서 수행한 동작이 맞았는지 틀렸는지를 확인해야 하는데, 이 과정을 분기 검증이라 한다.
본 발명은 이러한 분기 예측과 분기 검증을 수행하기 위한 방법을 제공하는 것으로, 도1은 본 발명의 일실시예에 따른 분기 예측을 설명하기 위한 블록 다이어그램도이다.
도1은 수행할 명령어를 미리 캐쉬에서 가져오는 PF(Prefetch, 100), 페치한 명령어의 길이를 계산하는 IA(Instruction Addressing, 200), 명령어를 디코딩하는 ID(Instruction Decoding, 300), 데이터 캐쉬에서 가져올 데이터의 주소를 계산하는 AG(Address Generation, 400), 명령어를 수행하는 EX(Execution, 500), 수행한 결과를 메모리나 레지스터에 쓰는 WB(Write Back, 600)의 스테이지를 갖는 X, Y 듀얼 파이프라인 구조와 분기 내용이 저장되어 분기 예측의 근거로 이용되는 BTB(700) 및 분기 검증 시 참조하기 위해 분기 내용을 저장하는 분기 쉬프터들로 이루어진다. 구체적으로, 상기 분기 쉬프터는 IA 스테이지(200)에서 X 파이프의 주소와 타겟 명령어의 주소, BTB 조회 내용 등을 저장하는 제1 분기 쉬프터(10), 제1 분기 쉬프터(10)의 내용이 한 사이클동안 지연되어 그대로 저장되는 제2 분기 쉬프터(20), 제2 분기 쉬프터(20)의 내용과 함께 ID 스테이지(300)에서 나온 분기 정보가 저장되는 제3 분기 쉬프터(30), 제3 분기 쉬프터(30)의 내용과 함께 AG 스테이지(400)에서 나온 분기 정보가 저장되는 제4 분기 쉬프터(40), 제4 분기 쉬프터(40)의 내용과 함께 EX 스테이지(500)에서 나온 분기 정보가 저장되는 제5 분기 쉬프터(50), 제5 분기 쉬프터(50) 내용 중 분기 검증에 필요한 일부와 WB 스테이지(600)에서 나온 분기 정보가 저장되는 제6 분기 쉬프터(60)로 이루어지며, 상기 제6 분기 쉬프터(60)의 내용으로 BTB(70)의 내용을 변경하고(70), 분기 예측을 잘못한 경우 PF 스테이지(100)로 보정 주소를 보내 다시 프리페치를 하도록 한다(80).
상기 스테이지별 파이프라인 진행에서 분기 예측시 필요한 BTB 조회는 IA 스테이지(200)에서 진행되고, 분기 명령의 다음 명령어의 가져오기는 ID 스테이지(300)에서 나누어 진행한다. 이와 같이 BTB 조회와 다음 명령어의 가져오기를 나누어 진행하면서 분기 명령어 자체 주소로 분기 예측을 할 경우에는 1사이클의 공백(hole)이 발생하게 된다.
도2는 본 발명에 따른 분기 예측 방법을 설명하기 위한 개념도로서, 상기 발생한 공백을 제거하기 위해 분기 명령어가 수행되는 사이클의 이전 사이클에서 수행되는 명령어의 주소로 BTB(700)를 조회하고, 듀얼 파이프에서 진행하는 명령어의 연관성에 따르는 문제를 없애기 위해 항상 X파이프에서 수행되는 명령의 주소를 가지고 BTB 조회를 한다. 구체적으로, 분기 명령의 전 사이클에 수행되는 명령어인 이전 명령의 IA 스테이지에서 BTB를 조회하여 분기 명령에 대한 예측을 시도한다. 이에 따라 다음 사이클에서는 분기의 예상되는 타겟 어드레스를 가지고 타겟을 프리페치한다. 도2에서 다음 명령은 분기가 BTB의 내용대로 진행되지 않았을 경우에 분기 다음에 수행되어야할 명령어로, WB 스테이지에서 분기 검증 후 예측이 틀렸을 경우에 파이프라인을 모두 비우고(pipeline flush) 분기 전 상태로 돌려놓은 후 분기 다음부터 수행해야 할 명령어이다. 도면에서 분기 예측이 틀렸을 때 보정 수행이 분기 예측을 잘못한 후 다음 명령을 수행하는 것이다.
도1을 참조해 스테이지별로 상세히 살펴보면, 먼저 PF 스테이지(100)에서는 실제 프로그램 진행과 무관하게 미리 수행할 명령어를 캐시로부터 가져오고, 분기에 따른 추가 지연없이 프로그램을 수행하기 위해 분기 명령 이전의 명령어 주소로 분기 예측을 한다.
IA 스테이지(200)에서는 X 파이프 주소를 인덱스 주소 필드에 쓰며, 이때 X의 명령이 받아들여지지 않을 경우에는 인덱스 무효를 표시해야 한다. 지연 스테이지는 파이프라인의 정식 스테이지는 아니고, 분기 명령의 이전 명령어 주소로 예측하기 때문에 생기는 지연을 보정하기 위하여 IA 스테이지(200)에서 넘어온 정보를 그냥 1 사이클 지연시킨다. ID 스테이지(300)에서는 X 또는 Y 파이프의 명령이 분기 명령인가를 체크하여 이를 분기 쉬프터(30)에 쓰며, 이와 함께 명령어의 유효 여부도 알 수 있어 함께 분기 쉬프터(30)에 저장한다. 분기 검증시 IA 스테이지(200)에서 유효로 받아들여지고, ID 스테이지(300)에서 유효 분기라고 판정된 명령어에 한하여 BTB 변경을 수행한다. AG 스테이지(400)에서는 데이터 캐쉬에서 가져올 데이터의 주소를 계산하며, 타겟 주소가 맞았는지를 확인할 수 있다. EX 스테이지(500)에서는 명령어를 처리하고, 분기 조건을 체크한다. WB 스테이지(600)에서는 분기를 처리하고 분기 쉬프터의 내용을 참조하여 모든 경우에 대해 분기검증을 한다.
이 분기 검증을 X, Y 파이프에 관계없이 WB 스테이지(600)에서 수행하는데, 분기 검증은 첫째, BTB 히트/미스 여부, 둘째, 분기 명령 여부 확인, 셋째, 분기 타겟이 맞는가 확인, 넷째, 분기 예측 여부(Taken/not-taken) 확인 등의 내용을 검증한다. 먼저, BTB 히트/미스 여부는 분기 검증의 가장 기본으로 이 분기가 예상되어 졌는가를 확인하는 것이다. 히트가 났다는 것은 이 분기 명령 이전에 분기 명령으로 취해져 수행된 적이 있다는 것이다. 두 번째 검증 내용인 분기 명령 여부 확인은 IA 스테이지(200)에서 분기 예측을 위해 BTB(700)를 조회하여 BTB 히트가 났다면 그 다음 X 파이프 혹은 Y 파이프에 오는 명령어에는 분기 명령이 있어야 한다. BTB 히트임에도 다음에 분기 명령이 오지 않으면 해당 BTB 내용을 무효화시켜야 한다. BTB 미스의 경우는 기본으로 분기를 하지 않는 걸로 가정하여 프로그램을 수행하고 분기 검증 시 분기가 취해 졌을 경우에만 BTB 엔트리를 할당하게 된다. 세 번째 검증 내용은 BTB 히트 시 BTB(700)에 저장되어 있는 타겟 주소 값으로 내부의 프로그램 카운터를 바꾸어 놓고 프리페치를 다시 하게 되고, 분기 명령의 AG 스테이지(400)에서 실제 타겟 주소를 구하여 예측되었던 타겟 주소와 비교해 분기 타겟이 맞았는지를 확인하는 것이다. 비교한 타겟 주소가 서로 다를 경우에는 BTB(700)의 타겟 주소 필드의 내용을 수정하여야 한다. 마지막 네 번째 검증 내용인 분기 예측 여부(Taken/not-taken) 확인은 예측된 분기 예측 여부와 실제를 비교하여 그 결과에 따라 프로그램을 다시 수행할 것인지를 결정하는 것이다.
분기 검증을 WB 스테이지(600)에서 할 때, 같은 사이클에 분기 다음 명령이 EX 스테이지에서 수행된다. 만약, 검증 결과 진행의 보정이 필요하다고 판단되면 이 실행은 수행되어서는 안 되는 것이 된다. 특히 이 명령이 메모리 쓰기(memory write)같은 명령이면 복구할 수 없으므로 빨리 수행하여 그 다음의 실행을 즉시 중지시킬 수 있어야 한다.
사실 분기가 X 파이프에서 수행될 때는 EX 스테이지에서 예측의 히트/미스 여부를 알 수 있지만 설계의 일관성과 간단한 회로 구성을 위해 WB 스테이지에서 같이 검증을 한다.
이를 위해서 초기에 BTB에서 조회한 내용과 분기 예측 내용을 검증 시점인 WB 스테이지까지 계속 유지해 검증하는 데 사용한다. 이것은 파이프라인의 진행과 함께 분기 예측 내용을 쉬프트 시켜 그 내용을 저장하는 분기 쉬프터의 내용을 참조하여 이루어진다. 분기 쉬프터의 내용을 참조하여 PF 스테이지(100)에서 캐쉬를 조회하여 분기 타겟 명령어를 가져오고 또 IA 스테이지(200)에서 프리페치 큐(Prefetch Queue)로부터 명령어를 가져오게 된다. 또, 예측을 잘못해서 보정 명령어를 프리페치하는 경우도 이 분기 쉬프터의 내용을 참조하게 된다.
상기의 분기 예측은 모든 명령을 캐시에서 찾을 수 있다는 가정 하에서 이루어져야 하므로 항상 이전 사이클과 분기 사이클과의 관계만으로 BTB 변경 및 조회를 하도록 하는 것이 정상적인 분기 예측 방법이다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기와 같이 이루어지는 본 발명은, 듀얼 파이프라인 구조와 분기 내용이 저장되어 분기 예측의 근거로 이용되는 BTB를 갖는 마이크로프로세서에서의 분기 예측을 위해, 분기 프로그램을 수행할 때 BTB 조회와 분기 명령의 다음 명령어의 가져오기를 2 스테이지로 나눠서 진행하여 빠른 클럭속도에서의 분기 예측을 가능하게 한다. 또한, 분기 검증을 위해 쉬프트 레지스터를 스테이지 별로 따로 두어 파이프라인 진행과 동시에 분기 내용을 저장, 쉬프트시켜 WB 스테이지에서 분기 검증을 하도록 하여 분기 예측 구조의 일관성 있는 설계가 가능해지고, 제어회로가 간단해져 종래 방식에 비해 더 나은 성능 향상을 가져오는 효과가 있다.

Claims (4)

  1. 다수의 스테이지를 가진 제1 파이프 및 제2 파이프의 듀얼 파이프 마이크로프로세서에서, 수행할 명령어를 미리 캐쉬에서 가져오는 제1 스테이지, 페치한 명령어의 길이를 계산하는 제2 스테이지, 명령어를 디코딩하는 제3 스테이지, 데이터 캐쉬에서 가져올 데이터의 주소를 계산하는 제4 스테이지, 명령어를 수행하는 제5 스테이지, 수행한 결과를 메모리나 레지스터에 쓰는 제6스테이지로 각각 수행하고, 분기 예측에 따라 프로그램을 수행할 때 브렌치타겟버퍼(BTB) 조회와 분기 명령의 다음 명령어 가져오기를 상기 각각 상기 제2 스테이지와 상기 제3 스테이지로 나누어 처리하되,
    상기 분기 명령어의 자체 주소로 분기 예측을 했을 때 생성되는 1사이클의 공백을 제거하기 위해, 상기 제2 스테이지에서 상기 분기 명령어가 수행되는 사이클의 이전 사이클에서 수행되는 명령어의 주소로 상기 브렌치타겟버퍼(BTB)를 조회하는 것을 특징으로 하는 분기 예측 방법.
  2. 제 1 항에 있어서,
    상기 듀얼 파이프에서 진행하는 명령어의 연관성에 따르는 문제를 없애기 위해 상기 제2 스테이지에서,
    상기 분기 명령어가 수행되는 사이클의 이전 사이클에서 수행되는 명령어 중 상기 제1 파이프에서 수행되는 명령어의 주소로 상기 브렌치타겟버퍼(BTB)를 조회하는 것을 특징으로 하는 분기 예측 방법.
  3. 각각 다수의 스테이지를 가지고, 분기 내용이 저장되어 분기 예측의 근거로 이용되는 브렌치타겟버퍼(BTB)를 구비한 제1 파이프 및 제2 파이프의 듀얼 파이프 마이크로프로세서에서,
    수행할 명령어를 미리 캐쉬에서 가져오는 제1 스테이지, 페치한 명령어의 길이를 계산하는 제2 스테이지, 명령어를 디코딩하는 제3 스테이지, 데이터 캐쉬에서 가져올 데이터의 주소를 계산하는 제4 스테이지, 명령어를 수행하는 제5 스테이지, 수행한 결과를 메모리나 레지스터에 쓰는 제6 스테이지로 각각 수행하고, 분기 예측에 따라 다음에 수행될 명령어를 예측하여 미리 가져와서 수행하는 동작이 맞았는지 틀렸는지를 확인하는 분기 검증을 상기 제1 및 제2 파이프 모두 상기 제6 스테이지에서 처리하는 분기 예측 방법.
  4. 제 3 항에 있어서,
    상기 제6 스테이지에서 분기 검증을 처리하기 위해 분기 예측시 상기 브렌치타겟버퍼(BTB)에서 조회한 내용과 분기 예측 내용을 검증 시점인 상기 제6 스테이지까지 계속 유지하여 상기 검증 시 사용하는 것을 특징으로 하는 분기 예측 방법.
KR1019970020473A 1997-05-23 1997-05-23 분기예측방법 KR100265332B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970020473A KR100265332B1 (ko) 1997-05-23 1997-05-23 분기예측방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970020473A KR100265332B1 (ko) 1997-05-23 1997-05-23 분기예측방법

Publications (2)

Publication Number Publication Date
KR19980084635A KR19980084635A (ko) 1998-12-05
KR100265332B1 true KR100265332B1 (ko) 2000-09-15

Family

ID=19506978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970020473A KR100265332B1 (ko) 1997-05-23 1997-05-23 분기예측방법

Country Status (1)

Country Link
KR (1) KR100265332B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468618B1 (ko) * 2002-03-28 2005-01-31 매그나칩 반도체 유한회사 가변 길이 명령어를 갖는 수퍼스칼라 프로세서에 있어서의분기 예측 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262007A (ja) * 1994-03-16 1995-10-13 Hitachi Ltd 情報処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262007A (ja) * 1994-03-16 1995-10-13 Hitachi Ltd 情報処理装置

Also Published As

Publication number Publication date
KR19980084635A (ko) 1998-12-05

Similar Documents

Publication Publication Date Title
US5377336A (en) Improved method to prefetch load instruction data
KR100411529B1 (ko) 제2 레벨 분기 예측 테이블을 이용한 분기 예측 방법 및장치
Hsu et al. Prefetching in supercomputer instruction caches
JP5425627B2 (ja) 明示的サブルーチンコールの分岐予測動作をエミュレートするための方法および装置
US5790823A (en) Operand prefetch table
US20090006803A1 (en) L2 Cache/Nest Address Translation
US7797520B2 (en) Early branch instruction prediction
US7680985B2 (en) Method and apparatus for accessing a split cache directory
US10042776B2 (en) Prefetching based upon return addresses
JP5734945B2 (ja) スライドウィンドウブロックベースの分岐ターゲットアドレスキャッシュ
KR20070108939A (ko) 포워드 룩킹 브렌치 타겟 어드레스 캐싱
CA2297402A1 (en) Method and apparatus for reducing latency in set-associative caches using set prediction
KR19980034443A (ko) 슈퍼 스칼라 마이크로 프로세서의 효율적인 비티비(btb) 방법
US7937530B2 (en) Method and apparatus for accessing a cache with an effective address
US20100287358A1 (en) Branch Prediction Path Instruction
CA2659310C (en) Methods and apparatus for reducing lookups in a branch target address cache
KR20090042303A (ko) 가변 길이 명령 세트의 브랜치 명령의 최종 입도와 캐싱된 브랜치 정보의 관련
WO2000038050A1 (en) Instruction decomposition to branch and sequential sections
US20040225866A1 (en) Branch prediction in a data processing system
US20030204705A1 (en) Prediction of branch instructions in a data processing apparatus
US11526356B2 (en) Prefetch mechanism for a cache structure
KR100265332B1 (ko) 분기예측방법
JP2004038338A (ja) 分岐予測機構を有する情報処理装置
KR100251992B1 (ko) 분기 예측 장치
US7343481B2 (en) Branch prediction in a data processing system utilizing a cache of previous static predictions

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050524

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee