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

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

병렬구조 컴퓨터에서 Branch penalty를 감소시키기 위한 소프트웨어와 하드웨어 방법 (A Software And Hardware Scheme For Reducing The Branch Penalty In Parallel Computers)

  • 함찬숙;조종현;조영일
    • 전자공학회논문지B
    • /
    • 제30B권11호
    • /
    • pp.11-16
    • /
    • 1993
  • VLIW architecture capable of testing multiple conditions in a cycle must support an efficient mechanism for multi-way branches. This paper proposes a mechanism to speed up the execution of multi-way branches and an efficient memory packing method of instructions, which reduced the wasted memory space. Also, we develops a new compiler technique which can transform program segments that are not applied to multi-way branches into ones that are applied to multi-way branches. The benefits gained by the transformation are to reduce branch penalty and to increase instruction-level parallelism.

  • PDF

모바일 초음파 영상신호의 빔포밍 알고리즘을 위한 멀티코어 프로세서 구현 (Implementation of Multi-Core Processor for Beamforming Algorithm of Mobile Ultrasound Image Signals)

  • 최병국;김종면
    • 정보처리학회논문지A
    • /
    • 제18A권2호
    • /
    • pp.45-52
    • /
    • 2011
  • 과거에는 환자가 초음파 영상진단장치가 설치되어 있는 방에 가서 진단을 받았지만, 현재는 의사가 초음파 영상 진단장치를 가지고 이동하면서 환자를 진단(모바일 초음파, handheld ultrasound)할 수 있는 시대가 왔다. 그러나 초음파 영상진단장치로서의 기본적인 기능만을 구현하였으며, 초음파 영상의 질을 결정하는 초음파 빔의 포커싱 알고리즘에서 요구되는 고성능을 만족하지 못하는 실정이다. 또한 모바일 기기의 경우 저전력의 요구조건도 만족하여야 한다. 이를 위해 본 논문에서는 모바일 초음파 영상신호의 포커싱을 위한 방법 중 대표적인 빔포밍 알고리즘(Beamforming Algorithm)을 고성능, 저전력으로 처리 가능한 단일 명령어 다중 데이터(Single Instruction Multiple Data, SIMD)기반의 멀티코어 프로세서를 제안한다. 제안한 SIMD기반 멀티코어 프로세서는 16개의 프로세싱 엘리먼트(Processing Element, PE)로 구성되어 있으며, 초음파의 에코 영상데이터에 내재한 무수한 데이터 레벨 병렬성을 활용하여 빔포밍 알고리즘에서 요구되는 고성능을 만족시킨다. 모의실험 결과, 제안한 멀티코어 프로세서는 현재 상용 고성능 프로세서인 TI DSP C6416보다 평균 15.8배의 성능, 6.9배의 에너지 효율 및 10배의 시스템 면적 효율을 보였다.

세트 연관 캐쉬를 사용한 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% 향상된 결과이다.

SVLIW 프로세서와 VLIW 프로세서의 명령어 캐싱에 따른 성능 분석 (Performance Analysis of Caching Instructions on SVLIW Processor and VLIW Processor)

  • 지승현;박노광;김석일
    • 전기전자학회논문지
    • /
    • 제1권1호
    • /
    • pp.101-110
    • /
    • 1997
  • 실시간에 VLIW 명령어를 스케줄링하는 SVLIW 프로세서 구조는 실행 중 LNOP(긴 NOP 명령어)를 삽입하여 자원 충돌이나 자료 종속 문제를 스스로 해결할 수 있다. 따라서 SVLIW 프로세서에서는 메모리나 캐시에 적재되는 목적 코드로부터 LNOP 명령어를 제거할 수 있다. 그러므로 SVLIW 프로세서에서는 같은 크기의 캐시를 가진 VLIW 프로세서에 비하여 프로그램의 실행 도중에 발생하는 캐시 미스의 발생 빈도가 적어진다. 캐시 미스가 적게 발생하면 결국 평균 메모리 참조 시간이 짧아지므로 프로그램을 수행하는데 걸리는 실행 사이클의 수가 적어지게 된다. 이러한 특징은 한편 명령어 파이프라인 단계를 늘림으로 인한 영향을 상쇄할 수 있기 때문에 전체적으로 성능을 향상시킬 수 있다. 본 논문에서는 두 가지 프로세서 구조에서 어떤 응용 프로그램을 수행할 때 소요되는 실행 사이클을 예측하는 모델을 확립하고 이를 비교하였다. 또한, 시뮬레이션 결과로부터 캐시 미스가 발생하였을 때 메모리를 참조하는데 걸리는 시간이 길어질수록 SVLIW 프로세서에서의 실행 사이클이 VLIW 프로세서의 경우에 비하여 짧아지는 것을 확인할 수 있었다.

  • PDF

슈퍼스칼라 프로세서에서 예상 테이블의 모험적 갱신과 명령어 실행 유형의 정적 분류를 이용한 혼합형 결과값 예측기 (A Hybrid Value Predictor using Speculative Update of the Predictor Table and Static Classification for the Pattern of Executed Instructions in Superscalar Processors)

  • 박홍준;조영일
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제8권1호
    • /
    • pp.107-115
    • /
    • 2002
  • 데이타 종속성을 제거하기 위해서 명령어의 결과값을 예상하는 여러 결과값 예측기의 장점을 이용하여 높은 성능을 얻을 수 있는 새로운 혼합형 예측 메커니즘을 제안한다. 제안된 혼합형 결과값 예측기는 예상 테이블을 모험적으로 갱신할 수 있기 때문에 부적절한(stale) 데이타로 인해 잘못 예상되는 명령어의 수를 효과적으로 감소시킨다. 또한 정적 분류 정보를 사용하여 명령의 반입시 적절한 예측기에 할당함으로써 예상 정확도를 더욱 향상시키며, 하드웨어 비용을 효율적으로 감소시키도록 하였다. 5개의 SPECint 95 벤치마크 프로그램에 대해 SimpleScalar/PISA 3.0 툴셋을 사용하여 실험하였다. 16-이슈 폭에서 모험적 갱신을 사용한 평균 예상 정확도는 73%의 실험 결과가 나왔으며, 정적 분류 정보를 사용하였을 경우 예상 정확도가 88%로 증가된 결과를 얻었다.

수퍼스칼라 프로세서의 해석적 모델 및 성능 분석 (Analytical Models and their Performance Analysis of Superscalar Processors)

  • 김학준;김선모;최상방
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제26권7호
    • /
    • pp.847-862
    • /
    • 1999
  • 본 논문에서는 유한버퍼의(finite-buffered) 동기화된(synchronous) 큐잉모델(queueing model)을 이용하여 명령어들간의 병렬성, 분기명령의 빈도수, 분기예측(branch prediction)의 정확도, 캐쉬미스 등의 파라미터들을 고려하여 프로세서의 명령어 실행율을 예측하며 캐쉬의 성능과 파이프라인 성능간의 관계를 분석할 수 있는 새로운 해석적 모델을 제안하였다. 해석적 모델은 모델의 타당성을 검증하기 위해서 시뮬레이션을 수행하여 얻은 결과와 비교하였다. 해석적 모델과 시뮬레이션을 비교한 결과 대부분 10% 오차 내에서 일치하였다. 본 연구를 통하여 얻은 해석적 모델을 사용하면 시뮬레이션에서는 드러나지 않는 성능제약의 원인에 대한 명확한 규명이 가능하기 때문에 성능향상을 위한 설계자료를 얻을 수 있으며, 시스템 성능 밸런스를 위한 캐쉬와 비순차이슈 파이프라인 성능간의 관계에 대한 정확한 분석이 가능하다.Abstract This research presents a novel analytic model to predict the instruction execution rate of superscalar processors using the queuing model with finite-buffer size and synchronous operation mode. The proposed model is also able to analyze the performance relationship between cache and pipeline. The proposed model takes into account various kinds of architectural parameters such as instruction-level parallelism, branch probability, the accuracy of branch prediction, cache miss, and etc.. To prove the correctness of the model, we performed extensive simulations and compared the results with the analytic model. Simulation results showed that the proposed model can estimate the average execution rate accurately within 10% error compared to simulation results. The proposed model can explain the causes of performance bottleneck which cannot be uncovered by the simulation method only. The model is also able to show the effect of the cache miss on the performance of out-of-order issue superscalar processors, which can provide an valuable information in designing a balanced system.

분산된 VLIW 구조에서의 최대 전력 최소화 방법 (Peak Power Minimization for Clustered VLIW Architectures)

  • 서재원;김태환;정기석
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제30권5_6호
    • /
    • pp.258-264
    • /
    • 2003
  • VLIW 구조는 다량의 데이터를 처리하는 멀티미디어 애플리케이션에 매우 적합한 구조로서, 이 같은 종류의 애플리케이션에 대해 높은 수준의 병렬 처리를 가능케 한다. 이러한 병렬성을 더욱 증대 시키기 위하여 시스템을 확장하는 경우에 있어, 분산된 VLIW 구조는 그렇지 않은 구조에 비해 큰 강점을 갖는다. 하지만 여러 개의 분산된 클러스터를 하나의 구조 속에 포함하는 것은 필연적으로 적지 않은 양의 하드웨어를 요구하고, 이로 말미암아 전체 시스템에서 소모되는 전력 문제가 중요한 이슈로 대두된다. 본 논문에서는 분산된 VLIW 구조에서 전체 시스템의 성능 제한 조건을 만족시키는 동시에 최대 전력 소모량을 줄이는 효과적인 알고리즘을 제시한다. 일련의 실험을 통해 제시된 알고리즘이 최대 30.7%의 최대 전력 소모 감소 효과를 얻을 수 있음이 확인되었다.

VLIW 기반 고성능 DSP에서의 SAD 알고리즘 최적화 스케줄링 (Optimal Scheduling of SAD Algorithm on VLIW-Based High Performance DSP)

  • 유희재;정수환;정선태
    • 한국콘텐츠학회논문지
    • /
    • 제7권12호
    • /
    • pp.262-272
    • /
    • 2007
  • SAD(Sum of Absolute Difference) 알고리즘은 동영상 인코더에서 가장 많은 시간이 소용되는 것으로 잘 알려진 움직임 추정에서 가장 자주 계산이 수행되는 알고리즘으로, 동영상 인코딩 수행시간을 줄이기 위해서 우선적으로 최적화 구현되어야 하는 알고리즘이다. 본 논문에서는 VLIW 기반 고성능 DSP 프로세서에서의 조건 분기를 갖는 SAD 알고리즘의 최적 스케줄링 구현 방법을 제안한다. 제안 방법은 먼저 조건 분기를 갖는 중첩 루프를 VLIW 구조가 제공하는 ILP(Instruction Level Parallelism) 능력을 잘 활용할 수 있도록 충분한 크기의 루프 몸체를 가지며 또한 빨리 루프를 탈출 할 수 있는 조건 분기를 갖는 단일 루프로 변환한 후에, 모듈로 스케줄링 기법을 적용하여 VLIW 기반 프로세서에서 최적화 스케줄링 구현을 한다. 제안된 구현 방안을 TMS320C6713에서 구현하고, 코드 크기 및 수행 시간에 대한 성능 분석을 하였다. 구현된 최적화 SAD 루틴은 코드 크기도 크지 않아 임베디드 응용에 적합하며, 이 SAD 구현을 사용한 H.263 인코더가 그렇지 않은 H.263 인코더보다 훨씬 좋은 성능을 보임을 실험을 통해 확인하였다.

3차원 구조 멀티코어 프로세서의 분기 예측 기법에 관한 온도 효율성 분석 (Analysis on the Thermal Efficiency of Branch Prediction Techniques in 3D Multicore Processors)

  • 안진우;최홍준;김종면;김철홍
    • 정보처리학회논문지A
    • /
    • 제19A권2호
    • /
    • pp.77-84
    • /
    • 2012
  • 프로세서의 성능을 효율적으로 증가시키기 위한 기법 중 하나로 명령어 수준의 병렬성을 높이는 추론적 수행(Speculative execution)이 사용되고 있다. 추론적 수행 기법의 효율성을 결정하는 가장 중요한 핵심 요소는 분기 예측기의 정확도이다. 하지만, 높은 예측율을 보장하는 복잡한 구조의 분기 예측기를 최근 주목 받고 있는 3차원 구조 멀티코어 프로세서에 적용하는데 있어서는 발열 현상이 큰 장애요소가 될 것으로 예측된다. 본 논문에서는 3차원 구조 멀티코어 프로세서에서 발생할 수 있는 분기 예측기의 높은 발열 문제를 해결하기 위해 두 가지 기법을 제시하고, 이에 대한 효율성을 상세하게 분석하고자 한다. 첫번째 기법은 분기 예측기의 온도가 임계 온도 이상으로 올라가는 경우 분기 예측기의 동작을 일시적으로 정지시키는 동적 온도 관리 기법이고, 두번째 기법은 3차원 구조 멀티코어 프로세서의 각 층 별로 온도를 고려하여 서로 다른 복잡도를 지닌 분기 예측기를 차등 배치하는 기법이다. 두 가지 기법 중에서 복잡도를 고려한 차등 배치 기법은 평균 $87.69^{\circ}C$의 온도를 나타내는 반면, 동적 온도 관리 기법은 평균 $89.64^{\circ}C$의 온도를 나타내었다. 그리고, 각 층에서 발생하는 온도 변화율을 각 기법에 대하여 비교한 결과, 동적 온도 관리 기법의 온도 변화율은 평균 $17.62^{\circ}C$을 나타내었고 복잡도 차등 배치 기법의 온도 변화율은 평균 $11.17^{\circ}C$을 나타내었다. 이러한 온도 분석을 통하여 3차원 멀티코어 프로세서에서 분기 예측기의 온도를 제어하였을 경우, 복잡도 차등 배치 기법을 적용하는 것이 더 효율적임을 알 수 있다. 성능적인 측면을 분석한 결과, 동적 온도 관리 기법은 해당 기법을 적용하지 않았을 경우보다 평균 27.66%의 성능하락을 나타내었지만, 복잡도 차등 배치 기법은 평균 3.61%의 성능 하락만을 나타내었다.