• 제목/요약/키워드: branch target buffer

검색결과 15건 처리시간 0.025초

TLB 태그 공유 구조의 분기 타겟 버퍼 (A Branch Target Buffer Using Shared Tag Memory with TLB)

  • 이용환
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2005년도 추계종합학술대회
    • /
    • pp.899-902
    • /
    • 2005
  • 마이크로프로세서의 성능 저하를 일으키는 주된 원인은 분기에 의한 파이프라인의 정지이다. 분기타겟 버퍼는 분기를 예측하여 다음 실행 명령어의 주소를 제공한다. 이로써 마이크로프로세서의 자연스런 명령어의 실행 흐름은 끊어지지 않게 되고 높은 성능 향상을 기대할 수 있다. 본 논문에서는 가상주소를 실제주소로 바꾸어 주는 TLB와 분기 타겟 버퍼가 각각 가지고 있는 태그 메모리를 공유하는 구조를 제안한다. 이러한 공유 태그 구조의 이점은 2개의 태그 메모리를 하나로 공유함으로써 칩 면적의 감소를 꾀하고 분기 예측 속도를 향상시킬 수 있다는 점이다. 또한, 이러한 구조는 주소로 사용되는 비트 수가 커지거나 여러 개의 명령어를 동시에 실행할 수 있는 구조에서 이점이 더욱 커지기 때문에 향후 개발되는 마이크로프로세서에서 더욱 유용하게 사용될 수 있을 것이다.

  • PDF

효율적인 분기 예측을 위한 공유 구조의 BTB (A Combined BTB Architecture for effective branch prediction)

  • 이용환
    • 한국정보통신학회논문지
    • /
    • 제9권7호
    • /
    • pp.1497-1501
    • /
    • 2005
  • 프로그램의 순차적인 실행 순서를 바꾸는 명령어를 분기 명령어라 하며, 분기는 마이크로프로세서의 파이프라인 정지를 일으켜 성능을 저하시키는 가장 큰 원인이 된다. 이에 따라 분기를 정확히 예측하여 다음 실행될 명령어를 제공한다면 마이크로프로세서의 자연스런 명령어의 실행 흐름은 끊어지지 않게 되고 이로써 논은 성능의 향상을 기대할 수 있게 된다. 분기 예측을 위해서는 분기 타겟 버퍼가 필수적이며, 분기 타겟 버퍼는 분기 예측 결과에 따라 다음에 실행할 명령어의 주소를 제공한다. 본 논문에서는 가상주소를 실제주소로 바꾸어 주는 TLB와 분기 타겟 버퍼가 각각 가지고 있는 태그 메모리를 함께 사용하는 구조를 제안한다. 이러한 공유 태그 구조의 이점은 2재의 태그 메모리를 하나로 공유함으로써 칩 면적의 감소를 꾀하고 더불어 분기 예측 속도를 향상시킬 수 있다는 점이다. 또한, 본 논문에서 제안된 구조는 주소로 사용되는 비트 수가 커지거나 여러 개의 명령어를 동시에 실행할 수 있는 구조에서 그 이점이 더욱 커지기 때문에 향후 개발되는 마이크로프로세서에서 유용하게 사용될 수 있을 것으로 기대된다.

Performance Monitor Counter를 이용한 Intel Processor의 Branch Target Buffer 구조 탐구 (Exploring Branch Target Buffer Architecture on Intel Processors with Performance Monitor Counter)

  • 정주혜;김한이;서태원
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2019년도 추계학술발표대회
    • /
    • pp.24-27
    • /
    • 2019
  • Meltdown, Spectre 등 하드웨어의 취약점을 이용하는 side-channel 공격이 주목을 받으면서 주요 microarchitecture 구조에 대한 철저한 이해의 필요성이 커지고 있다. 현대 마이크로프로세서에서 branch prediction이 갖는 중요성에도 불구하고 세부적인 사항은 거의 알려지지 않았으며 잠재적 공격에 대비하기 위해서는 반드시 현재 드러난 정보 이상의 detail을 탐구하기 위한 시도가 필요하다. 본 연구에서는 Performance Monitor Counter를 이용해 branch 명령어를 포함한 프로그램이 실행되는 동안 Branch Prediction Unit에 의한 misprediction 이벤트가 발생하는 횟수를 체크하여 인텔 하스웰, 스카이레이크에서 사용되는 branch target buffer의 구조를 파악하기 위한 실험을 수행하였다. 연구를 통해 해당 프로세서의 BTB의 size, number of way를 추정할 수 있었다.

간접 분기의 타형태 타겟 주소의 정확한 예측 (Accurate Prediction of Polymorphic Indirect Branch Target)

  • 백경호;김은성
    • 전자공학회논문지CI
    • /
    • 제41권6호
    • /
    • pp.1-11
    • /
    • 2004
  • 현대적인 프로세서들은 그 성능을 높이기 위해서 분기 예측과 같은 투기적인 방식으로 가용한 ILP 즉 명령어 수준의 병렬성을 추구한다. 전통적으로, 분기 방향은 2-단계 예측기를 사용하여 아주 높은 비율의 정확도로 예측이 가능하고, 분기 타겟 주소는 BTB를 사용하여 예측한다. 간접 분기를 제외한 모든 분기들은 그 자신의 타겟 주소가 유일하기 때문에 BTB로 거의 정확하게 예측되지만, 간접 분기는 그 타겟 주소가 동적으로 수시로 달라지기 때문에 예측하기가 매우 어렵다. 일반적으로, 분기 방향을 예측하는 기술을 간접 분기의 타겟 주소를 예측하는데 적용하여 전통적인 BTB 보다 훨씬 좋은 정확도를 얻고 있다. 본 논문에서는 간접 분기 명령과 이와 데이터 종속적인 관계를 갖고 있는 이 간접 분기 명령 보다 훨씬 앞서 수행되는 명령어의 레지스터 내용을 결합하여 간접 분기의 타겟을 예측하는 전혀 새로운 방법을 제안한다. 제안된 방식의 효율성을 검증하기 위해 심플스칼라 시뮬레이터 상에서 제안된 예측기를 구현하고 SPEC 벤치마크를 시뮬레이션하여, 수시로 바뀌는 간접분기의 타겟을 거의 완벽하게 예측할 수 있음을 보이고, 기존의 다른 어떤 방법보다도 우수한 결과임을 보인다.

Design of a G-Share Branch Predictor for EISC Processor

  • Kim, InSik;Jun, JaeYung;Na, Yeoul;Kim, Seon Wook
    • IEIE Transactions on Smart Processing and Computing
    • /
    • 제4권5호
    • /
    • pp.366-370
    • /
    • 2015
  • This paper proposes a method for improving a branch predictor for the extendable instruction set computer (EISC) processor. The original EISC branch predictor has several shortcomings: a small branch target buffer, absence of a global history, a one-bit local branch history, and unsupported prediction of branches following LERI, which is a special instruction to extend an immediate value. We adopt a G-share branch predictor and eliminate the existing shortcomings. We verified the new branch predictor on a field-programmable gate array with the Dhrystone benchmark. The newly proposed EISC branch predictor also accomplishes higher branch prediction accuracy than a conventional branch predictor.

BTB를 이용한 프로세서 기반 멀티미디어 응용 SoC 설계 (A Design of Multimedia Application SoC based with Processor using BTB)

  • 정윤진;이병엽;류광기
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2009년도 추계학술대회
    • /
    • pp.397-400
    • /
    • 2009
  • 본 논문에서는 멀티미디어 어플리케이션을 위한 BTB(Branch Target Buffer)를 이용한 RISC 프로세서 기반 SoC 플랫폼의 ASIC 설계에 대해 기술한다. 제안된 SoC 플랫폼은 성능 개선을 위해 BTB를 포함하며 분기 명령어 패치 시 분기할 타깃 주소를 BTB에 저장함으로써 예측 주소의 명령어를 미리 패치, 파이프라인의 지연을 최소화하였다. 또한, 다양한 멀티미디어 어플리케이션을 위해 VGA 제어기, AC97 제어기, UART 제어기, SRAM 인터페이스, 디버그 인터페이스를 포함한다. 구현된 플랫폼은 다양한 테스트 프로그램을 사용하여 시뮬레이션을 수행하였으며, Xilinx VIRTEX-4 XC4VLX80 FPGA를 이용해 기능 및 타이밍 검증을 수행하였다. 최종적으로 Chartered 0.18um 공정을 이용하여 단일 ASIC 칩으로 구현되었으며 100MHz에서 정상 동작함을 확인하였고, 이전 OpenRISC 마이크로프로세서를 사용한 플랫폼과의 비교를 위해 산술연산 및 AC97 테스트 프로그램을 이용한 시뮬레이션 결과 5~9%의 성능향상을 확인하였다.

  • PDF

임베디드 RISC 코어의 성능 및 전력 개선 (Performance and Power Consumption Improvement of Embedded RISC Core)

  • 정홍균;류광기
    • 한국정보통신학회논문지
    • /
    • 제14권2호
    • /
    • pp.453-461
    • /
    • 2010
  • 본 논문에서는 임베디드 RISC 코어의 성능 및 전력 소모 개선을 위해 동적 분기예측 구조, 4원 집합연관 캐쉬 구조, ODC 연산을 이용한 클록 게이팅 기법을 제시한다. 동적 분기 예측 구조는 분기 명령에 대해 다음에 실행될 명령에 대한 예측 주소를 저장하는 BTB (Branch Target Buffer)를 사용한다. 4원 집합연관 캐쉬는 네 개의 메모리 블록을 한 개의 캐쉬 블록에 사상되는 구조로서 직접사상 캐쉬에 비해 접근 실패율이 낮고 라인 교체 방식으로 Pseudo-LRU 방식을 채택하여 LRU 정보를 저장하는 비트 수를 감소시킨다. ODC를 이용한 클록게이팅 기법은 논리합성 개념인 무관조건의 입출력 ODC 조건을 찾아 클록 게이팅 로직을 삽입함으로써 동적 소비전력을 줄인다. 제시한 구조들을 임베디드 RISC 코어인 OpenRISC 코어에 적용하여 성능을 측정한 결과, 기존 OpenRISC 코어 대비 실행시간이 약 29% 향상 되었고, Chartered $0.18{\mu}m$ 라이브러리를 이용하여 동적 전력을 측정한 결과, 기존 OpenRISC 코어 대비 소비전력이 16% 이상 감소하였다.

AE32000에서의 효율적인 분기 예측 기법 (Effective Branch Prediction Schemes in AE32000)

  • 정주영;김현규;오형철
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (3)
    • /
    • pp.25-27
    • /
    • 2001
  • 본 논문에서는 AE32000 프로세서에 적응 가능한 효율적인 분기 예측 기법에 관하여 연구하였다. 실험결과, 내장형 응용분야에서의 비용 효율성이란 측면에, AE32000 프로세서에서는 1비트의 분기 예측기와 한 개의 엔트리를 갖는 BTB(Branch Target Buffer)를 사용하는 것이 가장 적합함을 관찰하였다. 또한, 분기 목적 주소에서 나타나는 LERI 명령을 폴딩하여 분기 손실을 줄이는 방안은, BTB와 LERI 폴딩 유닛을 사용하는 설계에서, 가져오는 성능 향상이 미미함을 확인하였다.

  • PDF

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% 줄어든다.

Performance Improvement and Power Consumption Reduction of an Embedded RISC Core

  • Jung, Hong-Kyun;Jin, Xianzhe;Ryoo, Kwang-Ki
    • Journal of information and communication convergence engineering
    • /
    • 제10권1호
    • /
    • pp.78-84
    • /
    • 2012
  • This paper presents a branch prediction algorithm and a 4-way set-associative cache for performance improvement of an embedded RISC core and a clock-gating algorithm with observability don’t care (ODC) operation to reduce the power consumption of the core. The branch prediction algorithm has a structure using a branch target buffer (BTB) and 4-way set associative cache that has a lower miss rate than a direct-mapped cache. Pseudo-least recently used (LRU) policy is used for reducing the number of LRU bits. The clock-gating algorithm reduces dynamic power consumption. As a result of estimation of the performance and the dynamic power, the performance of the OpenRISC core applied to the proposed architecture is improved about 29% and the dynamic power of the core with the Chartered 0.18 ${\mu}m$ technology library is reduced by 16%.