• 제목/요약/키워드: 분기 예측기

검색결과 47건 처리시간 0.033초

내장형 프로세서를 위한 저전력 분기 예측기 설계 기법 (A Power-aware Branch Predictor for Embedded Processors)

  • 김철홍;송성근
    • 정보처리학회논문지A
    • /
    • 제14A권6호
    • /
    • pp.347-356
    • /
    • 2007
  • 프로세서의 파이프라인 길이가 점차 길어지고 한 사이클에 이슈되는 명령어의 수가 증가함에 따라, 분기 예측기의 정확도는 프로세서의 성능에 상당한 영향을 미치게 되었다. 또한, 내장형 프로세서를 설계하는데 있어서는 전력 효율성이 가장 중요한 설계 고려 사항 중 하나가 되었다. 그러므로, 내장형 프로세서의 분기 예측기를 설계할 때에는 성능과 전력 효율성이 함께 고려되어야 한다. 본 논문에서는 gshare 분기 예측기가 적용된 내장형 프로세서에서 선택적인 BTB (Branch Target Buffer) 접근을 가능하게 하는 저전력 분기 예측기를 제안하고자 한다. 제안하는 분기 예측기 내에서 BTB는 직전 명령어가 테이큰 (Taken) 분기로 예측되지 않는 경우에는, PHT (Pattern History Table)의 예측 결과가 테이큰인 경우에만 접근된다. PHT의 예측 결과가 테이큰인 분기 명령어의 경우에만 다음에 인출될 명령어의 주소를 BTB 접근을 통해 얻은 주소로 결정하기 때문이다. 물론, 이와 같은 선택적인 BTB 접근으로 인하여 성능 저하가 발생하는 것을 방지하기 위해 직전 명령어가 테이큰분기로 예측된 경우에는 PHT의 예측 결과에 관계없이 BTB는 항상 접근된다. 선택적인 BTB 접근을 하기 위해, 제안하는 분기 예측기 내의 PHT는 기존 분기 예측기의 PHT와 비교하여 1 사이클 일찍 접근되도록 구현한다. 1 사이클 빠른 접근을 위해 제안하는 PHT는 한 번의 접근을 통해 두 개의 예측 결과를 동시에 얻어오게 구현하고, 이를 통해 PHT의 접근 횟수도 줄임으로써 분기 예측기의 전력 소모를 줄이는 효과 또한 얻게 된다. 제안하는 분기 예측기는 하드웨어 오버헤드나 예측 정확도의 감소 없이 전력 소모를 줄일 수 있다는 장점을 가진다. 실험 결과에 따르면, 제안하는 분기 예측기는 기존의 분기 예측기와 비교하여 $35{\sim}48%$의 전력 소모를 줄이는 결과를 보인다.

고성능 내장형 마이크로프로세서의 분기 예측기 구현 및 성능 대비 비용 분석 (Implementation of a Branch Predictor and Its Cost Per Performance Analysis for a High Performance Embedded Microprocessor)

  • 신상훈;최린
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 가을 학술발표논문집 Vol.30 No.2 (1)
    • /
    • pp.202-204
    • /
    • 2003
  • EISC ISA를 기반으로 한 64 비트 고성능 내장형 마이크로프로세서 AE64000의 효과적인 성능 향상을 위해서 비용 대비 성능 향상이 우수한 분기 예측 기법을 도입하여 AE64000 파이프라인에 적합한 분기 예측기를 추가로 설계하고 SPEClnt 벤치마크 및 타 내장형 벤치마크의 성능 분석 시뮬레이션을 통해 최적의 분기 예측기의 구조를 결정하였다. AE64000에서 LERI 명령 처리를 위해 AE64000 파이프라인에 추가된 독특한 IFU에 의하여 복잡성을 갖지만, IF 단계의 PC 대신에 IFU 단계의 PrePC를 이용하여 분기 명령을 명령어 prefetch 단계에서 예측함으로써, 올바른 분기 예측시 분기로 인한 손실을 제거할 수 있다. 결과적으로 최종 선정된 최적의 분기 예측기는 Verilog로 구현하여 AE64000 프로세서 코어 모델과 통합 합성하였고 아울러 추가되는 면적과 최종 목표 클럭에 동작하기 위한 타이밍 분석을 통해 최종 생산에 적합하도록 설계된 분기 예측기의 기능 및 타이밍 검증을 수행하였다. 최종 구현된 분기 예측기는 프로세서 칩 전체의 1% 미만의 비용으로 최고 12%의 성능 향상을 달성하여 성능 대비 면적의 효율성에서 높은 결과를 보였다.

  • PDF

고성능 슈퍼스칼라 프로세서를 위한 분기예측기의 설계 및 구현 (A Design and Implementation of Branch Predictor for High Performance Superscalar Processors)

  • 서정민;김귀우;이상정
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 봄 학술발표논문집 Vol.28 No.1 (A)
    • /
    • pp.22-24
    • /
    • 2001
  • 슈퍼스칼라 프로세서에서는 분기 명령의 결과 지연으로 명령의 공급이 중단되는 것을 방지하고 지속적인 파이프라인 처리를 위해서 분기의 결과를 미리 예측하여 명령을 폐치하고 있다. 본 논문에서는 심플스칼라 툴 셋을 사용하여 슈퍼스칼라 프로세서에서 사용되는 대표적인 동적 분기예측 방법 시뮬레이션 환경을 구축한다. 동적 분기예측 방법으로 분기 타겟버퍼(Branch Target Buffer, BTB) 상에서 분기명령의 자기 히스토리에 근거한 BTB 방식과 이전 분기명령의 히스토리와의 상관관계를 고려한 Gshare 분기예측기를 적용 구현한다. 심플스칼라 시뮬레이터에 SPEC95 벤치마크 프로그램을 실행시켜 디자인 파라미터 변화에 따른 분기 예측기의 예측정확도를 실험한다. 또한 BTB와 Gshare 분기예측기를 VHDL로 구현하고 Synopsys 툴을 이용하여 시뮬레이션 및 합성 과정을 거쳐 게이트 크기와 파워 소모량을 측정한다.

간단한 전역 분기 히스토리 복구 메커니즘 (Simple Recovery Mechanism for Global Branch History)

  • 깅주익;고광현;조영일
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 한국컴퓨터종합학술대회 논문집 Vol.32 No.1 (A)
    • /
    • pp.808-810
    • /
    • 2005
  • 조건 분기예측실패는 많은 사이클을 낭비시키며, 비순서적 실행을 방해하고, 잘못 예측된 명령어들을 수행하게 되므로 전력을 낭비한다. gshare와 GAg같은 전역 히스토리를 기반으로 하는 예측기에서는 히스토리의 명령어 완료시간 갱신(commit update)에 의해 많은 분기예측실패가 발생한다. 이를 위해 히스토리를 모험적으로 갱신하고, 분기예측실패 시 히스토리를 복구시키는 메커니즘에 관한 연구들이 제시되었다. 본 논문에서는 기존 분기예측기에 age_Counter를 추가하여 미해결 분기명령어 수를 저장하며, 이를 분기예측실패 후 분기 히스토리 레지스터를 복구하는데 사용하는 간단한 복구 메커니즘을 제안한다. SimpleScalar 3.0/PISA 툴셋과 SPECINT95 벤치마크 프로그램에서 시뮬레이션 한 결과, 제안된 복구 메커니즘은 GAg와 gshare 예측기에서 예측정확도는 각각 $9.21\%$$2.14\%$가 개선되었고, IPC는 $18.08\%$$8.75\%$ 개선되었다.

  • PDF

분기 히스토리의 모험적 갱신을 허용하는 전역 히스토리 기반 분기예측기에서 분기예측실패를 위한 간단한 복구 메커니즘 (Simple Recovery Mechanism for Branch Misprediction in Global-History-Based Branch Predictors Allowing the Speculative Update of Branch History)

  • 고광현;조영일
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제32권6호
    • /
    • pp.306-313
    • /
    • 2005
  • 조건 분기예측은 프로세서 성능 개선을 위한 중요한 기술이다 그러나, 분기예측실패는 많은 사이클을 낭비시키며, 비순서적 실행을 방해하고, 잘못 예측된 명령어들을 수행하게 되므로 전력을 낭비한다. 따라서 높은 정확도를 갖는 분기 예측기는 좋은 성능을 갖는 프로세서를 위해 중요하다. gshare와 GAg같은 전역 히스토리를 기반으로 하는 예측기에서는 히스토리의 명령어 완료시간 갱신 (commit update)에 의해 많은 분기예측실패가 발생한다. 그런 문제를 해결하기 위해 히스토리를 모험적으로 갱신하고, 분기예측실패 시 히스토리를 복구시키는 메커니즘에 관한 연구의 필요성이 제시되었고, 연구 되었다. 본 논문에서는 분기예측실패 발생 후 분기 히스토리를 복구하는 간단한 복구 메커니즘을 제안한다. 제안한 복구 메커니즘은 기존 분기예측기에 age_counter를 추가하고 분기 히스토리 레지스터 크기를 2배로 확장시킨다. age_counter는 미해결 분기명령어 수를 저장하며, 분기예측실패 후 분기 히스토리 레지스터를 복구하는데 사용한다. Simplescalar 3.0/PISA 툴셋과 SPECINT95 벤치마크 프로그램에서 시뮬레이션 한 결과, 제안된 복구 메커니즘을 gshare와 GAg 예측기에 적용하였을 때 예측 정확도와 프로세서 성능을 개선시킬 수 있었음 을 보여준다. GAg와 gshare 예측기에서 예측정확도는 각각 9.21$\%$와 2.14$\%$가 개선되었고, WC는 18.08$\%$와 8.75$\%$ 개선되었다.

4-Way 캐쉬의 선택된 Element를 이용한 향상된 동적 분기 예측기 구현 (An Improved Dynamic Branch Predictor by Selective Access of a Specific Element in 4-Way Cache)

  • 황인성;황선영
    • 한국통신학회논문지
    • /
    • 제38A권12호
    • /
    • pp.1094-1101
    • /
    • 2013
  • 본 논문은 4-Way 캐쉬의 선택된 element만을 사용하여 어플리케이션 수행 사이클을 줄인 향상된 동적 분기 예측기를 제안한다. 제안된 동적 분기 예측기는 분기명령어가 페치되면 MRU 버퍼를 참조하여 4-Way 캐쉬의 선택된 element에서 타깃 주소를 얻으므로, 모든 element에 접근하는 기존의 동적 분기 예측기보다 제한된 전력하에서 BTAC entry 수를 증가시킬 수 있어 분기 예측 성공률과 어플리케이션의 수행속도가 상당히 향상된다. 제안된 동적 분기 예측기의 효율성을 SMDL 시스템에 의해 생성된 코어가 벤치마크 어플리케이션을 수행하여 검증한다. 실험결과 동적 분기 예측기가 없는 코어에 비해 생성된 코어의 어플리케이션 수행 사이클은 평균 10.1% 감소하고 어플리케이션의 전력소모는 7.4% 증가한다. 기존 동적 분기 예측기를 사용하는 코어에 비해 수행 사이클은 평균 4.1% 줄어든다.

적응 가능한 분기 히스토리 길이를 사용하는 분기 예측 메커니즘 (A Branch Prediction Mechanism Using Adaptive Branch History Length)

  • 조영일
    • 전자공학회논문지CI
    • /
    • 제44권1호
    • /
    • pp.33-40
    • /
    • 2007
  • 최근, 프로세서의 파이프라인 깊이와 이슈 폭이 점차로 증가함에 따라 분기예측 실패에 의한 페널티가 더욱 증가하고 있다. 분기예측 실패는 프로세서 성능을 개선하는데 가장 심각한 성능 장애 요소이다. 따라서 좀 더 정확한 분기 예측기는 최신 프로세서들에게 필수적이다. 많은 분기예측기들은 분기 명령의 주소와 고정 분기히스토리 길이로 예측을 수행한다. 최적의 분기히스토리 길이는 프로그램과 프로그램에 있는 분기 명령에 따라 달라지므로 고정 분기히스토리를 사용하는 예측기들은 잠재적 성능을 얻을 수 없다. 본 논문에서는 5개 뱅크로부터의 예측 중 가장 높은 예측정확도를 갖는 뱅크로 예측하는 가변 길이 분기 히스토리를 사용하는 분기예측 메커니즘을 제안한다. 뱅크 0는 분기 명령의 주소만을 사용하여 인덱스 하는 bimodal 예측기이고, 나머지 뱅크는 다른 히스토리 길이와 분기 명령 PC로 인덱스 하는 예측기이다. 실험결과 제안한 메커니즘은 12, 13의 고정 히스토리 길이를 사용하는 gshare보다 최대 6.34% 예측 정확도를 개선시켰고, 각 벤치마크에 대한 최적의 히스토리 길이를 사용하는 gshare와 비교해도 최대 2.3% 개선시켰다.

내장형 프로세서를 위한 동적 분기 예측기의 최적화 구성 (Finding Optimal Configuration of Dynamic Branch Predictors for Embedded Processors)

  • 김성은;이영림;유혁
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 한국컴퓨터종합학술대회논문집 Vol.34 No.1 (B)
    • /
    • pp.261-266
    • /
    • 2007
  • 내장형 시스템에 보다 강력한 성능이 요구됨에 따라 내장형 마이크로 프로세서는 보다 깊은 파이프라인을 채택하고 있다. 따라서, 내장형 마이크로 프로세서는 보다 정확한 분기 예측기를 필요로 하고 있다. 이러한 상황에서 분기 예특기의 구조, 성능 및 전력 소모와 전체 시스템의 전력 소모 사이의 trade-off를 분석하는 것은 매우 중요하다. 내장형 환경에서 시스템의 전력 소모는 설계 시 매우 중요하게 고려되어야 한다. 특히 내장형 시스템의 요구사항은 동작할 응용 프로그램에 의하여 규정되고, 전력 소모도 응용프로그램의 구조와 강하게 연관되어 있다. 본 논문의 목표는 내장형 환경에서 성능-전력 공간에서 분기 예측기를 분석하는 기법을 제시하는 것에 있다. 이를 통하여, 분기 예측기 테이블의 성능-전력을 고려한 최적화된 크기를 찾을 수 있다. 이러한 목표는 수학적 모델링을 통한 정량적 예측의 수행 및 시뮬레이션 결과와의 비교를 통한 수학적 모델링의 검증의 과정을 통하여 이루어진다. 결과는 우리의 수학적 모델이 성능-전력 공간에서 분기 예측기 테이블의 최적화된 크기 결정의 해법을 제공하고 있음을 보여주고 있다.

  • PDF

명령어 연관성 분석을 통한 가변 입력 gshare 예측기 (Variable Input Gshare Predictor based on Interrelationship Analysis of Instructions)

  • 곽종욱
    • 한국컴퓨터정보학회논문지
    • /
    • 제13권4호
    • /
    • pp.19-30
    • /
    • 2008
  • 분기 히스토리는 분기 예측기의 주된 입력 요소로 사용된다. 따라서 적절한 분기 히스토리의 사용은 분기 예측의 정확도 향상에 큰 영향을 미친다. 본 논문에서는 분기 예측의 정확도를 향상시키기 위한 방법의 하나로, 명령어의 연관성 분석을 통한 선별적 분기 히스토리 사용 기법을 제안한다. 우선, 본 논문에서는 명령어의 연관성을 분석하는 세 가지 서로 다른 알고리즘을 제안한다. 제안된 기법은 명령어의 레지스터 쓰기 연산에 기반하는 방법, 분기 명령어의 참조 레지스터에 기반하는 방법, 그리고 이들 두 가지 방식을 상호 결합하는 방법이다. 또한, 제안된 세 가지 알고리즘의 실질적 구현을 위해 이를 적용할 수 있는 가변 입력 gshare 예측기를 제안한다. 본 논문에서는 모의실험을 통해 세 가지 알고리즘의 특징 및 장단점을 비교 분석한다. 특히, 기존의 고정된 입력을 사용하는 방식과 비교하여 제안된 기법의 성능 향상의 정도를 분석하며, 사전 프로파일링을 통해 얻어진 최적의 입력에 대한 성능상의 차이도 소개한다.

  • PDF

세트 연관 캐쉬를 사용한 2단계 적응적 분기 예측 (2-Level Adaptive Branch Prediction Based on Set-Associative Cache)

  • 심원
    • 정보처리학회논문지A
    • /
    • 제9A권4호
    • /
    • pp.497-502
    • /
    • 2002
  • 조건부 분기 명령어는 분기 벌칙을 야기함으로써 명령어 수준의 병렬도 향상에 제약을 가한다. 고성능 슈퍼스칼라 프로세서의 등장으로 인해, 정확한 분기 예측의 중요성은 더욱 높아지고, 이를 위해 동적 분기 예측의 일종인 2단계 적응적 분기 예측(2-level adaptive branch prediction) 방식이 개발되었다. 그러나 2단계 적응적 분기 예측이 상당히 높은 예측 정확도를 보여주고 있음에도 불구하고, 정확도에 따른 비용이 기하급수적으로 증가하는 등의 문제점을 가지고 있다. 본 논문에서는 2단계 적응적 분기 예측의 이러한 문제점을 개선하기 위하여 세트 연관 캐쉬를 이용한 캐쉬 상관 분기 예측기(cached correlated branch predictor)를 제안하고, 기존의 방식에 비해 예측의 정확도는 증가하고, 비용은 줄어든 것을 시뮬레이션을 통하여 확인한다. 세트 연관 예측기의 경우 전역과 지역 방식의 가장 좋은 예측 실패율은 각각 5.99%, 6.28%이며, 이는 종래의 2단계 적응적 분기 예측 방식에서의 가장 좋은 결과인 9.23%, 7.35%에 비해 각각 54%, 17% 향상된 결과이다.