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

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

A Study on Effect of Code Distribution and Data Replication for Multicore Computing Architectures

  • Cho, Doosan
    • International Journal of Advanced Culture Technology
    • /
    • 제9권4호
    • /
    • pp.282-287
    • /
    • 2021
  • A multicore system must be able to take full advantage of the program's instruction and data parallelism. This study introduces the data replication technique as a support technique to maximize the program's instruction and data parallelism. Instruction level parallelism can be limited by data dependency. In this case, if data is replicated to each processor core and used, instruction level parallelism can be used to the maximum. The technique proposed in this study can maximize the performance improvement effect when applied to scientific applications such as matrix multiplication operation.

OpenGL ES 2.0 기반 셰이더 명령어 병렬 처리를 위한 컴파일 기법 (OpenGL ES 2.0 based Shader Compilation Method for the Instruction-Level Parallelism)

  • 김종호;김태영
    • 한국게임학회 논문지
    • /
    • 제8권2호
    • /
    • pp.69-76
    • /
    • 2008
  • 본 논문에서는 최근 경향의 3D 그래픽 프로세서 아키텍처를 분석하여 모바일 환경에 적합한 프로세서 및 명령어 형식을 제시한다. 또한 모바일 환경에서의 3D 그래픽스 표준안인 OpenGL ES 2.0 명세에 따르는 컴파일 방식을 바탕으로 온/오프라인 방식의 세이더 프로그램 컴파일 구조 및 방법을 제시하고, 모바일 환경에 적합성을 고려한 다중 명령어 기반의 코드 생성 방법과 새로운 ILP(Instruction-Level Parallelism) 최적화 기법을 제시한다. 본 논문에서 제시하는 컴파일 구조 및 기법을 통하여 생성된 세이더 명령어는 동일한 코어 클럭을 가지는 프로세서에서 단일 명령어 기반 코드보다 약 1.5$\sim$2배 빠른 연산 처리결과를 보여준다.

  • PDF

고성능 마이크로프로세서에서 값 예측기의 성능평가 (Performance Evaluation of Value Predictor in High Performance Microprocessors)

  • 전병찬;김혁진;류대희
    • 한국컴퓨터정보학회논문지
    • /
    • 제10권2호
    • /
    • pp.87-95
    • /
    • 2005
  • 고성능 마이크로프로세서에서 값 예측기는 한 명령어의 결과를 미리 예측하여 명령들 간의 데이터 종속관계를 극복하고 실행함으로써 명령어 수준 병렬성(Instruction Level Parallelism, ILP)을 향상시키는 기법이다. 본 논문에서는 ILP 프로세서 명령어 수준 병렬성의 성능향상을 위하섞 값을 미리 예측하여 병렬로 이슈하고 수행하는 값 예측기를 비교 분석하여 각 테이블 갱신 시점에 따른 예측기별 평균 성능향상과 예측률 및 예측정확도를 측정하여 평가한다 이러한 타당성을 검증하기 위해 실행구동방식 시뮬레이터를 사용하여 SPECint95 벤치마크를 시뮬레이션하여 비교한다.

  • PDF

임베디드 응용 프로그램 성능 분석 (Performance Analysis of Embedded Applications)

  • 김선욱;오재근;한영선;최홍욱;김철우
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2003년도 하계종합학술대회 논문집 Ⅲ
    • /
    • pp.1355-1358
    • /
    • 2003
  • This paper presents performance analysis of the embedded application, called EEMBC consisting of 5 categories and total 34 applications. We measured various performance metrics, such as code sizes, TLP(Thread Level Parallelism) using OpenMP API and ILP(Instruction Level Parallelism) on ARM-modeled SimpleScalar in detail. We show that the embedded applications have the similar characteristics as integer applications to deliver low ILP and TLP in our environment. They have many small loops, which result in large instruction overhead in TLP and loop control overhead in ILP.

  • PDF

VLIW (Very Long Instruction Word) 형식 드론 FCC(Flight Control Computer)의 실시간성 개선을 위한 소프트웨어 성능 가속화 연구 (A Study on software performance acceleration for improving real time constraint of a VLIW type Drone FCC)

  • 조두산
    • 한국산업융합학회 논문집
    • /
    • 제20권1호
    • /
    • pp.1-7
    • /
    • 2017
  • Most conventional processors execute program instructions in a sequential manner. On the other hand, VLIW processor can execute multiple instructions at the same time. It exploits instruction level parallelism to improve system performance. To that end, program code should be rearranged to VLIW instruction format by a compiler. The compiler determine an optimal execution order of instructions of a program code. This instruction ordering is also called instruction scheduling. The scheduling is an algorithm that decides the execution order for instruction codes in loop parts of a program so that the instruction level parallelism can be maximized. In this research, we apply an existing scheduling algorithm to a VLIW FCC and describe analysis results to further improve its performance. And, we present a solution to solve some limitation of the existing scheduling technique. By using our solution, FCC's performance can be improved upto 32% compared to the existing scheduling only setting.

Latency Hiding based Warp Scheduling Policy for High Performance GPUs

  • Kim, Gwang Bok;Kim, Jong Myon;Kim, Cheol Hong
    • 한국컴퓨터정보학회논문지
    • /
    • 제24권4호
    • /
    • pp.1-9
    • /
    • 2019
  • LRR(Loose Round Robin) warp scheduling policy for GPU architecture results in high warp-level parallelism and balanced loads across multiple warps. However, traditional LRR policy makes multiple warps execute long latency operations at the same time. In cases that no more warps to be issued under long latency, the throughput of GPUs may be degraded significantly. In this paper, we propose a new warp scheduling policy which utilizes latency hiding, leading to more utilized memory resources in high performance GPUs. The proposed warp scheduler prioritizes memory instruction based on GTO(Greedy Then Oldest) policy in order to provide reduced memory stalls. When no warps can execute memory instruction any more, the warp scheduler selects a warp for computation instruction by round robin manner. Furthermore, our proposed technique achieves high performance by using additional information about recently committed warps. According to our experimental results, our proposed technique improves GPU performance by 12.7% and 5.6% over LRR and GTO on average, respectively.

고급 언어에서 ASIP을 위한 전용 부호 생성 기술 연구 (A Custom Code Generation Technique for ASIPs from High-level Language)

  • 알람 삼술;최광석
    • 디지털산업정보학회논문지
    • /
    • 제11권3호
    • /
    • pp.31-43
    • /
    • 2015
  • In this paper, we discuss a code generation technique for custom transport triggered architecture (TTA) from a high-level language structure. This methodology is implemented by using TTA-based Co-design Environment (TCE) tool. The results show how the scheduler exploits instruction level parallelism in the custom target architecture and source program. Thus, the scheduler generates parallel TTA instructions using lower cycle counts than the sequential scheduling algorithm. Moreover, we take Tensilica tool to make a comparison with TCE. Because of the efficiency of TTA, TCE takes less execution cycles compared to Tensilica configurations. Finally, this paper shows that it requires only 7 cycles to generate the parallel TTA instruction set for implementing Cyclic Redundancy Check (CRC) applications as an input design, and presents the code generation technique to move complexity from the processor software to hardware architecture. This method can be applicable lots of channel Codecs like CRC and source Codecs like High Efficiency Video Coding (HEVC).

슈퍼스칼라 프로세서에서 동적 분류 능력을 갖는 혼합형 데이타 값 예측기의 설계 (Design of a Hybrid Data Value Predictor with Dynamic Classification Capability in Superscalar Processors)

  • 박희룡;이상정
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제27권8호
    • /
    • pp.741-751
    • /
    • 2000
  • 슈퍼스칼라 프로세서에서 명령어 수준 병렬성(Instruction Level Parallelism)을 적극적으로 활용하기 위해서는 명령들 사이에 존재하는 제어 종속관계 및 데이타 종속관계를 극복하는 것이 필수적이다. 데이타 값 예측은 하나의 명령 결과가 생성되기 전에 미리 결과 값을 예측하고 이 예측된 결과를 사용하여 데이타 종속관계가 있는 명령들을 투기적으로 실행(speculative execution)하는 기법이다. 본 논문에서는 동적 분류 능력을 갖는 혼합형 데이타 값 예측기를 제안한다. 제안된 예측기는 최근 값 예측기, 스트라이드 예측기 및 2 단계 예측기를 결합한 혼합형으로 구성되며, 예측되는 명령은 하드웨어에 의한 동적 분류에 의해 각 예측기로 할당된다. 각 명령들의 특성에 따라 각 예측기로 실행 시에 동적 분류됨으로써 각 예측기는 기존의 혼합형 방식보다도 더욱 효과적으로 활용될 수 있다. 제안된 방식의 타당성 검증을 위해 실행구동방식(execution-driven) 시뮬레이터를 사용하여 SPECint95 벤치마크를 시뮬레이션하여 비교한다. 실험 결과 Instruction Per Cycle 비교실험에서 2 단계 예측기 보다 0.36, 혼합형 예측기 보다 0.0l8의 성능을 보였고, 제안된 방식이 기존의 혼합형 방식보다 예측 정확도가 평균 16%가 향상되었고, 하드웨어 비용을 측정한 결과 45%의 감소효과를 얻었다.

  • PDF

목적 코드 레벨에서의 벡터화 기법 (A Vectorization Technique at Object Code Level)

  • 이동호;김기창
    • 한국정보처리학회논문지
    • /
    • 제5권5호
    • /
    • pp.1172-1184
    • /
    • 1998
  • 명령어 재배치는 ILP(Instruction Level Parallelism) 프로세서의 병렬성을 활용하는 주요한 코드 최적화 기법이다. 명령어 재배치 알고리즘을 루프(loop)에 적용하면서 서로 다른 반복(iteration) 사이의 동시 수행 가능한 명령어들이 인접한 위치로 모여지는 소프트웨어 파이프라인(software pipeline)된 루프가 얻어진다. 그러나 루프로부터 병렬성을 추출하는 소프트웨어 파이프라인 방법은 주로 명령어사이의 자료 종속성에 근거하여 스케줄링을 수행하므로 그 자체에 무한한 병렬성을 가지고 있는 벡터 루프의 경우 그 병렬성을 충분히 드러내지 못한다는 문제점을 안고 있다. 본 논문에서는 이러한 벡터루프에 대해 프로그램의 목적 코드 레벨에서 행해질 수 있는 새로운 벡터 스케줄링 방법을 제안한다. 벡터 스케줄링 방법은 프로그램의 목적 코드 레벨에서 루프의 구조나 반복 조건, 그리고 자료 종속성 등에 대한 전체적인 정보에 기반하여 스케줄링을 수행함으로써 소프트웨어 파이프라인 방법보다 프로그램의 수행속도를 향상시킬 수 있다. 본 논문에서는 벡터 스케줄링을 수행한 결과를 전통적인 소프트웨어 파이프라인 방법에 대해 생산된 병렬 루프의 결과와 수행속도 측면에서 비교한다.

  • PDF

분기 동시 수행을 이용한 단일 칩 멀티프로세서의 성능 향상 기법 (Performance improvement of single chip multiprocessor using concurrent branch execution)

  • 이승렬;정진하;최재혁;최상방
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2006년도 하계종합학술대회
    • /
    • pp.723-724
    • /
    • 2006
  • Exploiting the instruction level parallelism encountered with the limit. Single chip multiprocessor was introduced to overcome the limit of traditional processor using the instruction level parallelism. Also, a branch miss prediction is one of the causes that reduce the processor performance. In order to overcome the problems, in this paper, we make single chip multiprocessor having the idle core execute the two control flow of conditional branch. This scheme is a kind of multi-path execution technique based on single chip multiprocessor architecture.

  • PDF