• 제목/요약/키워드: Instruction-level parallelism

검색결과 49건 처리시간 0.024초

효율적인 영상데이터 처리를 위한 SIMD기반 매니코어 프로세서 구현 (Implementation of SIMD-based Many-Core Processor for Efficient Image Data Processing)

  • 최병국;김철홍;김종면
    • 한국컴퓨터정보학회논문지
    • /
    • 제16권1호
    • /
    • pp.1-9
    • /
    • 2011
  • 최근 모바일 멀티미디어 기기들의 사용이 증가하면서 고성능, 저전력 멀티미디어 프로세서에 대한 필요성이 높아지고 있는 추세이다. 주문형반도체 (ASIC)는 모바일 멀티미디어에서 요구되는 고성능을 만족시키지만 다양한 형태의 멀티미디어 애플리케이션에서 요구되는 범용성을 만족시키지 못한다. 반면 DSP기반의 시스템은 범용성에 기인하여 다양한 형태의 애플리케이션에서 사용될 수 있으나, 주문형반도체 보다 높은 가격, 전력소모 및 낮은 성능을 가진다. 이러한 문제점을 해결하기 위해 본 논문에서는 범용성을 유지하면서 고성능, 저전력으로 영상데이터 처리가 가능한 단일 명령어 다중 데이터(Single Instruction Multiple Data, SIMD)처리 방식의 매니코어 프로세서를 제안한다. 제안한 SIMD기반 매니코어 프로세서는 16개의 프로세싱 엘리먼트(processing element, PE)로 구성되어 영상데이터 처리에 내재한 무수한 데이터 레벨 병렬성을 높인다. 모의 실험한 결과, 제안한 SIMD기반 매니코어 프로세서는 현재 상용 고성능 프로세서보다 평균 22배의 성능, 7배의 에너지 효율 및 3배의 시스템 면적 효율을 보였다.

Exploiting Thread-Level Parallelism in Lockstep Execution by Partially Duplicating a Single Pipeline

  • Oh, Jaeg-Eun;Hwang, Seok-Joong;Nguyen, Huong Giang;Kim, A-Reum;Kim, Seon-Wook;Kim, Chul-Woo;Kim, Jong-Kook
    • ETRI Journal
    • /
    • 제30권4호
    • /
    • pp.576-586
    • /
    • 2008
  • In most parallel loops of embedded applications, every iteration executes the exact same sequence of instructions while manipulating different data. This fact motivates a new compiler-hardware orchestrated execution framework in which all parallel threads share one fetch unit and one decode unit but have their own execution, memory, and write-back units. This resource sharing enables parallel threads to execute in lockstep with minimal hardware extension and compiler support. Our proposed architecture, called multithreaded lockstep execution processor (MLEP), is a compromise between the single-instruction multiple-data (SIMD) and symmetric multithreading/chip multiprocessor (SMT/CMP) solutions. The proposed approach is more favorable than a typical SIMD execution in terms of degree of parallelism, range of applicability, and code generation, and can save more power and chip area than the SMT/CMP approach without significant performance degradation. For the architecture verification, we extend a commercial 32-bit embedded core AE32000C and synthesize it on Xilinx FPGA. Compared to the original architecture, our approach is 13.5% faster with a 2-way MLEP and 33.7% faster with a 4-way MLEP in EEMBC benchmarks which are automatically parallelized by the Intel compiler.

  • PDF

ILP 프로세서에서 데이터 값 예측기의 성능 평가 (The Performance evaluation of Data Value Predictor in ILP Processor)

  • 박희룡;전병찬;이상정
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1998년도 가을 학술발표논문집 Vol.25 No.2 (3)
    • /
    • pp.21-23
    • /
    • 1998
  • 본 논문에서 ILP (Instruction Level Parallelism)의 성능향상을 위하여 데이터 값들을 미리 예측하여 병렬로 이슈(issue)하고 수행하는 기존의 데이터 값 예측기(data value predictor)를 비교 분석하여 각 예측기의 예측율을 측정하고, 2-단계 데이터 값 예측기(Two-Level Data Value Predictor)와 혼합형 데이터 값 예측기(Hydrid Data Value Predictor)에서 발생되는 aiasing 을 측정하기 위해 수정된 데이터 값 예측기를 사용하여 측정한 결과 aliasing은 50% 감소하였지만 예측율에는 영향을 미치지 못함과 데이터 값 예측기의 예측율을 측정한 결과 혼합형 데이터 값 예측기의 예측율이 2-단계 데이터 값 예측기와 스트라이드 데이터 값 예측기(Stride Data Value Predictor)에서 평균 5.7%, 최근 값 예측기(Last Data Value Predictor)보다는 평균 38%의 예측 정확도가 높음을 입증하였다.

  • PDF

SMT 프로세서에 최적화된 명령어 페치 전략에 관한 연구 (An Optimal Instruction Fetch Strategy for SMT Processors)

  • 홍인표;문병인;김문경;이용석
    • 한국통신학회논문지
    • /
    • 제27권5C호
    • /
    • pp.512-521
    • /
    • 2002
  • 최근에 성능의 한계를 드러내고 있는 수퍼스칼라 RISC를 대체할 새로운 프로세서 구조로서 SMT(Simultaneous Multi-Threading)이 활발히 연구되고 있다. SMT는 하나의 프로세서에 여러 개의 스레드가 하드웨어 자원을 동적으로 공유하며 동시에 수행되는 구조이다. 이러한 환경에서는 프로세서 안에 존재하는 여러 스레드로부터 명령어를 원활하게 공급하여 주는 것이 중요하다. SMT 프로세서는 기존의 프로세서에 비하여 사이클 당 실제 처리되는 명령어 수가 월등히 많기 때문에, 사이클 당 명령어 페치량과 페치된 명령어를 임시 저장하는 페치 큐의 엔트리수가 신중하게 결정되어야 한다. 또한 사이클마다 페치할 스레드와 각 스레드의 페치량을 결정하는 것이 성능에 큰 영향을 미친다. 따라서 본 논문에서는 이러한 요소들이 프로세서 전체의 성능에 미치는 영향을 분석하고 그 결과를 바탕으로 SMT 프로세서에 최적화된 명령어 페치 전략에 대하여 논한다.

농업정보기술을 위한 ILP 프로세서에서 새로운 복구 메커니즘 적용 분기예측기 (A Branch Predictor with New Recovery Mechanism in ILP Processors for Agriculture Information Technology)

  • 고광현;조영일
    • Agribusiness and Information Management
    • /
    • 제1권2호
    • /
    • pp.43-60
    • /
    • 2009
  • To improve the performance of wide-issue superscalar processors, it is essential to increase the width of instruction fetch and the issue rate. Removal of control hazard has been put forward as a significant new source of instruction-level parallelism for superscalar processors and the conditional branch prediction is an important technique for improving processor performance. Branch mispredictions, however, waste a large number of cycles, inhibit out-of-order execution, and waste electric power on mis-speculated instructions. Hence, the branch predictor with higher accuracy is necessary for good processor performance. In global-history-based predictors like gshare and GAg, many mispredictions come from commit update of the branch history. Some works on this subject have discussed the need for speculative update of the history and recovery mechanisms for branch mispredictions. In this paper, we present a new mechanism for recovering the branch history after a misprediction. The proposed mechanism adds an age_counter to the original predictor and doubles the size of the branch history register. The age_counter counts the number of outstanding branches and uses it to recover the branch history register. Simulation results on the SimpleScalar 3.0/PISA tool set and the SPECINT95 benchmarks show that gshare and GAg with the proposed recovery mechanism improved the average prediction accuracy by 2.14% and 9.21%, respectively and the average IPC by 8.75% and 18.08%, respectively over the original predictor.

  • PDF

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

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

효율적인 이중 스레드 자자 프로세서 핵심 (An Effective Dual Threaded Java Processor Core)

  • 정준목;김신덕
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1998년도 가을 학술발표논문집 Vol.25 No.2 (3)
    • /
    • pp.700-702
    • /
    • 1998
  • 자바(Java)의 수행 성능을 향상시키기 위한 방법으로 자바 프로세서가 제안되었다. 그러나 현재의 자바 프로세서는 자바 가상 머신(Java Virtual Macjine)의 구조만을 고려한 것이다. 본 논문에서는 기존 자바 프로세서의 성능을 향상시키는 자바 프로그래밍에서 사용되는 다중스레드를 직접 지원하는 새로운 자바 프로세서인 동시 다중스레드 자바 칩(Simultaneous Multithreaded Java Chip SMTJC)을 제안한다. SMTJC은 두 개의 독립적인 스레드를 동시에 수행함으로써, 자바 프로그램에서의 명령어 수준 병렬성(Instruction level parallelism)을 향상시킨다. 다중스레드 수행을 위해 새로운 스택 캐쉬의 구조 및 운영 방법을 사용한다. JavaSim을 통한 시뮬레이션은 SMTJC 이 기존 자바 프로세서에 비해 이중 스택 캐쉬와 추가적 처리 유닛들로 인해 1.28~2.00의 전체적 수행 성능이 향상됨을 보여준다. 본 연구는 하드웨어와 소프트웨어의 상호 보안적인 기술적 경향을 배경으로 자바의 언어적 특성을 고려한 프로세서를 설계, 지원함으로써 자바 프로세서의 성능 향상을 도모하고 있다.

  • PDF

정확하고 효율적인 간접 분기 예측기 설계 (Design of Accurate and Efficient Indirect Branch Predictor)

  • 백경호;김은성
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2005년도 추계종합학술대회
    • /
    • pp.1083-1086
    • /
    • 2005
  • Modern superscalar processors exploit Instruction Level Parallelism to achieve high performance by speculative techniques such as branch prediction. The indirect branch target prediction is very difficult compared to the prediction of direct branch target and branch direction, since it has dynamically polymorphic target. We present a accurate and hardware-efficient indirect branch target predictor. It can reduce the tags which has to be stored in the Indirect Branch Target Cache without a sacrifice of the prediction accuracy. We implement the proposed scheme on SimpleScalar and show the efficiency running SPEC95 benchmarks.

  • PDF

제어 독립성을 이용한 분기 예상 실패 복구 메커니즘 (A Branch Misprediction Recovery Mechanism using Control Independence)

  • 윤성룡;신영호;박홍준;조영일
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (3)
    • /
    • pp.636-638
    • /
    • 2000
  • 제어 독립성(Control Independence)은 슈퍼스칼라 프로세서에서 명령어 수준 병렬성(Instruction-Level Parallelism)을 향상시키기 위한 중요한 요소로 작용하고 있다. 분기 예상기법(Branch Prediction Mechanism)에서 잘못 예상될 경우에는 예상한 분기 방향의 명령어들을 제거하고 올바른 분기 방향의 명령어들을 다시 반입하여 수행해야 한다. 본 논문에서는 컴파일 시 프로파일링을 통한 정적인 방법과 프로그램상의 제어 흐름을 통해 동적으로 제어 독립적인 명령어를 탐지함으로써 분기 명령어의 잘못된 예상으로 인해 제거되는 명령어를 효과적으로 감소시켜 프로세서의 성능을 향상시키는 메커니즘을 제안한다. SPECint95 벤치마크 프로그램에 대해 기존의 방법과 본 논문에서 제안한 방법 사이의 사이클 당 수행된 명령어 수를 분석한 결과, 4-width 프로세서에서 4%~6%, 8-width 프로세서에서 11%~18%, 16-width 프로세서에서 15%~17%의 성능 향상을 보이고 있다.

  • PDF

An On-chip Multiprocessor Miroprocessor with Shared MMU and Cache

  • Lee, Yong-Hwan;Jeong, Woo-Kyeong;An, Sang-Jun;Lee, Yong-Surk
    • Journal of Electrical Engineering and information Science
    • /
    • 제2권4호
    • /
    • pp.1-7
    • /
    • 1997
  • A multiprocessor microprocessor named SMPC(scaleable multiprocessor chip) that contains tow IU (integer unit) is presented in this paper. It can execute multiple instructions from several tasks exploiting task-level parallelism that is free from instruction dependencies, and provide high performance and throughput on both single program and multiprogramming environments. the IU is a 32-bit scalar processor expecially designed to boost up the performance of string manipulations which are frequently used in RDBMS(relational data base management system) applications. A memory management unit and a data cache shared by two IUs improve the performance and reduce the chip area required. ETH SMPC is implemented in VLSI circuit by custom design and automated design tools.

  • PDF