KR100251992B1 - 분기 예측 장치 - Google Patents
분기 예측 장치 Download PDFInfo
- Publication number
- KR100251992B1 KR100251992B1 KR1019970020472A KR19970020472A KR100251992B1 KR 100251992 B1 KR100251992 B1 KR 100251992B1 KR 1019970020472 A KR1019970020472 A KR 1019970020472A KR 19970020472 A KR19970020472 A KR 19970020472A KR 100251992 B1 KR100251992 B1 KR 100251992B1
- Authority
- KR
- South Korea
- Prior art keywords
- branch
- stage
- bit
- shifter
- address
- Prior art date
Links
- 238000012795 verification Methods 0.000 claims abstract description 23
- 230000009977 dual effect Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 abstract description 5
- 230000001934 delay Effects 0.000 abstract 1
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements 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
1. 청구범위에 기재된 발명이 속한 기술분야
마이크로프로세서.
2. 발명이 해결하고자 하는 기술적 과제
듀얼 파이프라인 구조와 분기 내용이 저장되어 분기 예측의 근거로 이용되는 BTB를 갖는 마이크로프로세서에서, 분기 예측에 따라 프로그램을 수행할 때에 분기 예측과 분기 검증을 수행하기 위한 분기 예측 장치를 제공하고자 함.
3. 발명의 해결 방법의 요지
분기 검증을 위해서 스테이지별로 분기 정보를 저장하여 파이프라인 진행과 함께 억세스한 내용을 계속 유지할 수 있는 분기 쉬프터를 포함하는 분기 예측 장치를 제공하고자 함.
4. 발명의 중요한 용도
분기 예측 장치를 가진 모든 마이크로프로세서 칩 설계에 이용됨.
Description
본 발명은 마이크로프로세서 내 분기 예측 구조(Branch Prediction Scheme)에서의 효과적인 분기 검증을 포함한 분기 예측 장치에 관한 것으로서 분기 예측 구조를 갖는 모든 마이크로프로세서에서 적용될 수 있다.
프로그램 수행 중 분기 명령이 나올 경우 저장되어져 있는 이전까지의 프로그램 수행 기록에 따라서 분기 다음에 수행될 명령어를 예측하여 미리 가져와서 수행하는 분기 예측 동작에서 예측되어진 분기 명령의 검증을 수행하는데 종래에는 듀얼 파이프 구조에서 X 파이프는 EX 스테이지에서, Y 파이프는 WB 스테이지에서 각기 따로 검증을 진행하였기 때문에 분기 예측 회로가 복잡해지고,복잡한 제어회로가 소요되는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 듀얼 파이프라인 구조와 분기 내용이 저장되어 분기 예측의 근거로 이용되는 BTB를 갖는 마이크로프로세서에서, 분기 예측에 따라 프로그램을 수행할 때에 상기 분기의 검증을 위한 분기 예측 장치를 제공하는데 그 목적이 있다.
도1은 본 발명의 파이프라인된 분기 예측 구조 블록도,
도2는 본 발명의 분기 쉬프터 구조,
도3은 본 발명 분기 쉬프터의 스테이지와 분기 명령어와의 관계.
상기 목적을 달성하기 위한 본 발명은 제1 파이프 및 제2 파이프의 듀얼 파이프라인 구조로 수행할 명령어를 미리 캐쉬에서 가져오는 제1스테이지, 페치한 명령어의 길이를 계산하는 제2스테이지,명령어를 디코딩하는 제3스테이지, 데이터 캐쉬에서 가져올 데이터의 주소를 계산하는 제4스테이지, 명령어를 수행하는 제5스테이지, 수행한 결과를 메모리나 레지스터에 쓰는 제6스테이지들을 갖는 듀얼 파이프라인 구조와 분기 내용이 저장되어 분기 예측의 근거로 이용되는 브렌치타겟버퍼(BTB)를 갖는 마이크로프로세서에서, 분기 예측에 따라 프로그램을 수행할 때에 상기 분기의 검증을 위하여, 상기 파이프라인의 진행에 대응하여 상기 스테이지별 분기 예측 정보를 저장, 쉬프트 시키기 위한 다수의 쉬프터 수단을 포함하며, 상기 분기 검증을 두 개의 파이프 모두 제6스테이지에서 처리하도록 이루어진 분기 예측 장치를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 살펴본다.
프로그램 수행 중 분기 명령이 나올 경우 이 분기를 수행한 후에야 다음에 수행될 명령을 알 수 있어 그 동안 명령어의 가져오기가 중단되는 데 분기 예측(Branch Prediction)은 이러한 성능 저하를 막기 위해 명령어를 가지고 올 때에 이전까지의 프로그램 수행 기록에 따라 분기 명령 다음에 수행될 명령어를 예측하여 미리 가져와서 수행하는 동작을 말한다. 분기단(Branch Unit)을 두어 이 역할을 수행하는데 이 분기단은 BTB(Branch Target Buffer)가 구비되며,프리페치(Prefetch),명령어 페치와 밀접하게 연관되어 동작한다.
이때, 분기 예측에 따라 프로그램을 수행할 때에는 분기 명령 다음에 수행될 명령어를 예측하여 미리 가져와서 수행하는 동작이 맞았는지 틀렸는지를 확인해야 하는데, 이 과정을 분기 검증이라 한다. 본 발명은 이러한 분기 예측과 분기 검증을 수행하기 위한 장치를 제공하는 것으로 도1은 본 발명에 따른 실시예로 파이프라인된 분기 예측 구조의 블록도를 보여준다. 도1은 프리페치 스테이지에서 분기 명령을 가져오고,IA 스테이지에서 X 파이프의 주소와 타겟 명령어의 주소, BTB 조회 내용 등을 저장하는 제1 분기 쉬프터(10), 제1 분기 쉬프터의 내용이 한 사이클동안 지연되어 그대로 저장되는 제2 분기 쉬프터(20), 제2 분기 쉬프터의 내용과 함께 ID 스테이지에서 나온 분기 정보가 저장되는 제3 분기 쉬프터(30), 제3 분기 쉬프터의 내용과 함께 AG 스테이지에서 나온 분기 정보가 저장되는 제4 분기 쉬프터(40), 제4 분기 쉬프터의 내용과 함께 EX 스테이지에서 나온 분기 정보가 저장되는 제5 분기 쉬프터(50), 제5 분기 쉬프터 내용 중 분기 검증에 필요한 일부와 WB 스테이지에서 나온 분기 정보가 저장되는 제6 분기 쉬프터(60)로 구성되며, 상기 제6 분기 쉬프터의 내용으로 BTB 변경을 하고(70) 분기 예측을 잘못한 경우 보정 주소로 다시 프리페치를 하도록(80) 구성되어진다.
이 분기 검증을 X,Y 파이프에 관계없이 WB 스테이지에서 수행하는데, 분기 검증은 첫째,BTB 히트/미스 여부, 둘째,분기 명령 여부 확인, 셋째,분기 타겟이 맞는가 확인, 넷째,분기 예측 여부(Taken/not-taken) 확인 등의 내용을 검증한다. 먼저,BTB 히트/미스 여부는 분기 검증의 가장 기본으로 이 분기가 예상되어 졌는가를 확인하는 것이다. 히트가 났다는 것은 이 분기 명령 이전에 분기 명령으로 취해져 수행된 적이 있다는 것이다. 두 번째 검증 내용인 분기 명령 여부 확인은 IA 스테이지에서 분기 예측을 위해 BTB를 억세스하여 BTB 히트가 났다면 그 다음 X 파이프 혹은 Y 파이프에 오는 명령어에는 분기 명령이 있어야 한다. BTB 히트임에도 다음에 분기 명령이 오지 않으면 해당 BTB 내용을 무효화시켜야 한다. BTB 미스의 경우는 기본으로 분기를 하지 않는 걸로 가정하여 프로그램을 수행하고 분기 검증 시 분기가 취해 졌을 경우에만 BTB 엔트리를 할당하게 된다. 세 번째 검증 내용은 BTB 히트 시 BTB에 저장되어 있는 타겟 주소 값으로 내부의 프로그램 카운터를 바꾸어 놓고 프리페치를 다시 하게 되고, 분기 명령의 AG 스테이지에서 실제 타겟 주소를 구하여 예측되었던 타겟 주소와 비교해 분기 타겟이 맞았는 지를 확인하는 것이다. 비교한 타겟 주소가 서로 다를 경우에는 BTB의 타겟 주소 필드의 내용을 수정하여야 한다. 마지막 네 번째 검증 내용인 분기 예측 여부(Taken/not-taken) 확인은 예측된 분기 예측 여부와 실제를 비교하여 그 결과에 따라 프로그램을 다시 수행할 것인지를 결정하는 것이다.
분기 검증을 WB 스테이지에서 할 때 같은 사이클에 분기 다음 명령이 EX 스테이지에서 수행된다. 만약 검증 결과 진행의 보정이 필요하다고 판단되면 이 실행은 수행되어서는 안되는 것이 된다. 특히 이 명령이 메모리 라이트(memory write)같은 명령이면 복구할 수 없으므로 빨리 수행하여 그 다음의 실행을 즉시 중지시킬 수 있어야 한다.
사실 분기가 X 파이프에서 수행될 때는 EX 스테이지에서 예측의 히트/미스 여부를 알 수 있지만 설계의 일관성과 간단한 회로 구성을 위해 WB 스테이지에서 같이 검증을 한다.
이를 위해서 초기에 BTB에서 억세스한 내용을 검증 시점인 WB 스테이지까지 계속 유지해 검증하는 데 사용한다. 이것은 파이프라인의 진행과 함께 분기 예측 내용을 쉬프트시켜 그 내용을 저장하는 분기 쉬프터의 내용을 참조하여 이루어진다. 분기 쉬프터의 내용을 참조하여 프리페치 로직에서 캐쉬를 억세스하여 분기 타겟 명령어를 가져오고 또 IA 스테이지에서 프리페치 큐(Prefetch Queue)로부터 명령어를 가져오게 된다. 또 예측을 잘못해서 보정 명령어를 프리페치하는 경우도 이 분기 쉬프터의 내용을 참조하게 된다.
도2는 본 발명에 따른 분기 쉬프터의 구조로서, 스테이지별로 분기 정보를 저장하여 파이프라인 진행과 함께 억세스한 내용을 계속 유지할 수 있게 구성된다. 최초의 분기 쉬프터 할당은 분기 전 사이클의 X 파이프에서 수행되는 명령어의 주소로 BTB를 조회하면서 이루어진다. 이때 BTB 히트가 되면, 분기 쉬프터에는 상위 26비트는 BTB 태그 비교에, 하위 6비트는 BTB 인덱스로 사용되는 32비트의 X 파이프 명령어의 주소 32비트(1)와 BTB 히트/미스를 표시하는 1비트(2),BTB 웨이 선택신호 2비트(3),히스토리 2비트(4), LRU(Least Recently Used) 3비트(5),타겟 주소 32비트(6)가 할당되어진다. 상기 내용들은 분기 쉬프터의 스테이지와 분기 명령어와의 관계를 나타낸 도3에서 보여지듯이 분기 명령의 전 사이클에서 유효하며 분기명령의 IA 스테이지 시작 때에 분기 쉬프터에 로딩된다.
상기 래치된 내용은 분기의 ID 스테이지까지 유지된다. 분기의 ID 스테이지에서 분기 명령어 여부(7)와 분기 명령일 경우에는 분기 조건(9)과 보정 주소(8)를 알 수 있다. 이것이 분기 명령의 AG 스테이지로 넘어갈 때 쉬프터의 세 번째 스테이지에 할당된다. 분기 명령어 여부를 표시 하는 2비트는 "0"의 값을 가질 때 분기가 일어나지 않는 것을 표시하고, "1"의 경우는 X 파이프의 조건부 분기를, "10"의 경우는 X 파이프의 분기를, "11"의 경우는 Y 파이프의 무조건 분기를 표시한다.
분기 명령의 AG 스테이지에서는 타겟 주소가 맞았는지를 미리 확인 할 수 있다. 이 타겟 주소 확인 여부 비트 (10), 이것은 분기 명령의 EX 스테이지로 넘어갈 때 쉬프터의 네 번째 스테이지에 할당된다.
분기 명령의 EX 스테이지에서는 이전 명령에서 결정된 분기 조건 비트(9)를 가지고 조건을 체크하여 분기 예측이 맞았는지를 알 수 있다. 분기의 예측 여부(11)를 분기 쉬프터의 다섯 번째 스테이지에 기록한다.
X 파이프에 분기 명령이 왔을 경우에 분기 검증은 전 스테이지의 분기 예측 여부 비트(11)를 보면 분기 명령의 WB 스테이지 시작과 함께 즉시 파이프라인의 비움이나 보정(Flush & Recover) 및 BTB 변경 여부를 알 수 있다. 또한 파이프라인의 비움이 필요할 때는 MMU(Memory Management Unit)에 즉시 메모리 라이트 사이클 중지 신호를 보낸다. Y 파이프에 조건부 분기 명령이 올 경우에는 EX 스테이지에서 예측이 맞았는지 여부를 알 수 없고, WB 스테이지 초기에 분기 수행을 해보아야 알 수 있다. 따라서 일단 EX 스테이지의 분기 예측 여부 비트는 영향을 주지 않는다. 이때 X 파이프의 분기에서처럼 분기 조건 비트(9)를 가지고 분기 검증을 하게 되면 시간이 늦으므로 특별한 하드웨어를 두어 미리 분기 쉬프터에 써 놓았던 분기 조건(9)으로 빠르게 분기 예측 여부를 알아낸다. Y 파이프에 올 수 있는 분기 명령은 16가지 조건부 점프뿐이므로 빠르게 구할 수 있다. WB 스테이지에서 X 파이프 분기의 경우는 분기 쉬프터의 다섯 번째 스테이지의 내용으로, Y 파이프 조건부 분기의 경우는 특별한 하드웨어를 가지고, 파이프라인 비움과 보정을 위한 프리페치,BTB 엔트리 변경 여부를 결정한다. 이러한 동작이 필요할 때는 분기의 WB 스테이지 다음 사이클에서 수행되므로 위의 동작신호와 함께 이에 필요한 정보들이 계속 유지되어야 한다. 이를 위해서 분기 쉬프터가 분기의 WB 스테이지 이후에 한 번 더 쉬프트될 수 있는 구조가 편리하다. BTB 변경 표시 1비트(13), F & R(Flush and Recover)비트(14),BTB 무효 표시 1비트(12)를 분기 쉬프터의 여섯 번째 스테이지에 할당한다. 여기서 F & R 비트는 파이프라인을 비우고,처리과정을 보정 하는가를 표시하는 비트이다. 참고로 도2에서 나타나는 숫자는 각 영역의 비트 크기를 나타내는 것이다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기와 같이 이루어지는 본 발명은 분기 검증을 위해 초기에 BTB에서 억세스한 내용을 검증 시점인 WB 스테이지까지 계속 유지하기 위해 쉬프트 레지스터를 스테이지 별로 따로 두어 파이프라인 진행과 함께 분기 내용을 저장, 쉬프트시켜 WB 스테이지에서 분기 검증을 효율적으로 진행할 수 있고, X 파이프와 Y 파이프를 같이 WB 스테이지에서 검증하는 분기 예측 장치로서 일관성 있는 설계가 가능해지고, 제어회로가 간단해져 종래 방식에 비해 더 나은 성능 향상을 가져오는 효과가 있다.
Claims (12)
- 제1 파이프 및 제2 파이프의 듀얼 파이프라인 구조로 수행할 명령어를 미리 캐쉬에서 가져오는 제1스테이지, 페치한 명령어의 길이를 계산하는 제2스테이지,명령어를 디코딩하는 제3스테이지, 데이터 캐쉬에서 가져올 데이터의 주소를 계산하는 제4스테이지, 명령어를 수행하는 제5스테이지, 수행한 결과를 메모리나 레지스터에 쓰는 제6스테이지들을 갖는 듀얼 파이프라인 구조와 분기 내용이 저장되어 분기 예측의 근거로 이용되는 브렌치타겟버퍼(BTB)를 갖는 마이크로프로세서에 있어서, 분기 예측에 따라 프로그램을 수행할 때에 분기 예측과 분기 검증을 수행하기 위하여 상기 파이프라인의 진행에 대응하여 상기 스테이지별 분기 예측 정보를 저장, 쉬프트 시키기 위한 다수의 쉬프터 수단을 포함하여 이루어진 분기 예측 장치.
- 제 1 항에 있어서,상기 분기 쉬프터의 1번째 스테이지에서 분기 전 사이클의 제1 파이프에서 수행되는 명령어의 주소로 브렌치타겟버퍼를 조회해 브렌치타겟버퍼 히트가 되면, 상위 26비트는 브렌치타겟버퍼 태그 비교에, 하위 6비트는 브렌치타겟버퍼 인덱스로 사용되는 32비트의 제1 파이프 명령어의 주소 32비트와 브렌치타겟버퍼 히트/미스를 표시하는 1비트,브렌치타겟버퍼 웨이 선택신호 2비트, 히스토리 2비트, 최근최소사용(LRU) 3비트, 타겟 주소 32비트를 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
- 제 2 항에 있어서,상기 저장되는 비트들을 분기 명령의 제2스테이지 시작 때에 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
- 제 1 항 또는 제 2 항에 있어서,상기 분기 쉬프터의 2번째 스테이지에서 상기 1번째 스테이지의 내용을 그대로 한 스테이지 쉬프트하여 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
- 제 2 항에 있어서,상기 분기 쉬프터의 3번째 스테이지에서 상기 2번째 스테이지에서 쉬프트되어진 제1 파이프 명령어 주소 비트, 브렌치타겟버퍼 히트/미스 비트,브렌치타겟버퍼 웨이 선택신호 비트, 히스토리 비트,최근최소사용 비트,타겟 주소 비트와 3번째 스테이지에서 분기 명령어 여부 비트, 분기 명령일 경우에는 분기 조건 비트와 보정 주소 비트를 더 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
- 제 5 항에 있어서,상기 저장되는 비트들을 분기 명령의 제4스테이지 시작 때에 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
- 제 5 항에 있어서,상기 분기 쉬프터의 4번째 스테이지에서 상기 3번째 스테이지에서 쉬프트되어진 제1 파이프 명령어 주소 비트, 브렌치타겟버퍼 히트/미스 비트, 브렌치타겟버퍼 웨이 선택신호 비트, 히스토리 비트,최근최소사용 비트,타겟 주소 비트, 분기 명령어 여부 비트, 분기 조건 비트와 보정 주소 비트와 상기 4번째 스테이지에서 타겟 주소가 맞았는지를 나타내는 타겟 주소 확인 여부 비트를 더 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
- 제 7 항에 있어서,상기 저장되는 비트들을 분기 명령의 제6스테이지 시작 때에 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
- 제 7 항에 있어서,상기 분기 쉬프터의 5번째 스테이지에서 상기 4번째 스테이지에서 쉬프트되어진 제1 파이프 명령어 주소 비트, 브렌치타겟버퍼 히트/미스 비트,브렌치타겟버퍼 웨이 선택신호 비트, 히스토리 비트,최근최소사용 비트,타겟 주소 비트, 분기 명령어 여부 비트, 분기 조건 비트와 보정 주소 비트, 타겟 주소 확인 여부 비트와 5번째 스테이지에서 분기 명령의 이전 명령에서 결정된 상기 분기 조건 비트를 가지고 조건을 체크하여 분기 예측이 맞았는지를 나타내는 분기 예측 여부 비트를 더 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
- 제 9 항에 있어서,상기 저장되는 비트들을 분기 명령의 제6스테이지 시작 때에 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
- 제 9 항에 있어서,제6스테이지에서 제1 파이프 분기의 경우는 분기 쉬프터의 상기 다섯 번째 스테이지의 내용으로, 제2 파이프 조건부 분기의 경우는 특별한 하드웨어를 가지고, 파이프라인 비움과 보정을 위한 프리페치,브렌치타겟버퍼 엔트리 변경 여부를 결정하는 동작이 분기의 제6스테이지 다음 사이클에서 수행되므로 필요한 정보들이 계속 유지되기 위하여 분기의 제6스테이지 이후에 한 번 더 쉬프트되어 분기 쉬프터의 여섯 번째 스테이지를 구성함을 특징으로 하는 분기 예측 장치.
- 제 11 항에 있어서,상기 분기 쉬프터의 6번째 스테이지에서 상기 5번째 스테이지에서 쉬프트되어진 제1 파이프 명령어 주소 비트, 브렌치타겟버퍼 히트/미스 비트,브렌치타겟버퍼 웨이 선택신호 비트,히스토리 비트,최근최소사용 비트, 타겟 주소 비트, 보정 주소 비트와 6번째 스테이지에서 브렌치타겟버퍼 변경 표시 비트, 비움이냐 보정이냐를 나타내는 비트,브렌치타겟버퍼 무효 표시 비트를 더 저장하는 분기 쉬프터를 포함하는 것을 특징으로 하는 분기 예측 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970020472A KR100251992B1 (ko) | 1997-05-23 | 1997-05-23 | 분기 예측 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970020472A KR100251992B1 (ko) | 1997-05-23 | 1997-05-23 | 분기 예측 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980084634A KR19980084634A (ko) | 1998-12-05 |
KR100251992B1 true KR100251992B1 (ko) | 2000-04-15 |
Family
ID=19506977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970020472A KR100251992B1 (ko) | 1997-05-23 | 1997-05-23 | 분기 예측 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100251992B1 (ko) |
-
1997
- 1997-05-23 KR KR1019970020472A patent/KR100251992B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980084634A (ko) | 1998-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5640526A (en) | Superscaler instruction pipeline having boundary indentification logic for variable length instructions | |
JP3542020B2 (ja) | 複数予測分岐命令にわたる命令フェッチの位置合わせ命令キャッシュ処理を実行するプロセッサ装置およびプロセッサ制御方法 | |
US6339822B1 (en) | Using padded instructions in a block-oriented cache | |
JP3494736B2 (ja) | 分岐先バッファを用いた分岐予測システム | |
KR100333470B1 (ko) | 세트 예측을 사용하여 세트 연상 캐시에서 대기 시간을감소시키기 위한 방법 및 장치 | |
US5918245A (en) | Microprocessor having a cache memory system using multi-level cache set prediction | |
US6185675B1 (en) | Basic block oriented trace cache utilizing a basic block sequence buffer to indicate program order of cached basic blocks | |
US7203824B2 (en) | Apparatus and method for handling BTAC branches that wrap across instruction cache lines | |
US5790823A (en) | Operand prefetch table | |
US7234045B2 (en) | Apparatus and method for handling BTAC branches that wrap across instruction cache lines | |
US10067875B2 (en) | Processor with instruction cache that performs zero clock retires | |
EP2024820B1 (en) | Sliding-window, block-based branch target address cache | |
US6647490B2 (en) | Training line predictor for branch targets | |
WO2007019001A1 (en) | Call return stack way prediction repair | |
US7844807B2 (en) | Branch target address cache storing direct predictions | |
CA2659310C (en) | Methods and apparatus for reducing lookups in a branch target address cache | |
JP3486690B2 (ja) | パイプライン方式プロセッサ | |
US5794027A (en) | Method and apparatus for managing the execution of instructons with proximate successive branches in a cache-based data processing system | |
US20030204705A1 (en) | Prediction of branch instructions in a data processing apparatus | |
US20040168043A1 (en) | Line predictor which caches alignment information | |
US10922082B2 (en) | Branch predictor | |
US5819080A (en) | Microprocessor using an instruction field to specify condition flags for use with branch instructions and a computer system employing the microprocessor | |
EP4127917B1 (en) | Fetch stage handling of indirect jumps in a processor pipeline | |
KR100251992B1 (ko) | 분기 예측 장치 | |
US6636959B1 (en) | Predictor miss decoder updating line predictor storing instruction fetch address and alignment information upon instruction decode termination condition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20041230 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |