• Title/Summary/Keyword: superscalar processor

Search Result 58, Processing Time 0.028 seconds

The Performance Analysis of Distributed Reorder Buffer in Superscalar Processor using Analytical Model (해석적 모델을 이용한 분산된 리오더 버퍼 슈퍼스칼라 프로세서의 성능분석)

  • Yoon, Wan-Oh;Shin, Kwang-Sik;Kim, Kyeong-Seob;Lee, Yun-Sub;Choi, Sang-Bang
    • Journal of the Institute of Electronics Engineers of Korea SD
    • /
    • v.45 no.12
    • /
    • pp.73-82
    • /
    • 2008
  • There are several approaches for reducing the ROB(Reorder Buffer) complexity in processors. The one technique that makes the simplest ROB ports relies on a distributed implementation that spreads the centralized ROB structure across the functional units(FUs). Each distributed buffers are decided on the size of them by workload of the functional units. The performance of the processor depends on the size of distributed ROB. However, most of previous works have depended on the simulation results to decide the optimsize of distributed ROB. In this Paper, we use an analytical model based on the M/M/1 Queuing theory to determine the optimum size of each distributed ROB. Our schemes are evaluated by using the simulation performed by the CPU2000 benchmarks. We are able to choose the optimum size of distributed ROB showing the 99.2% performance compared with existing superscalar processors. We can save 82% hardware resources in ports and reduce more than 30% of delay when ROB and distributed ROB proposed in this paper are designed by HDL.

On Designing 4-way Superscalar Digital Signal Processor Core (4-way 수퍼 스칼라 디지털 시그널 프로세서 코어 설계)

  • 김준석;유선국;박성욱;정남훈;고우석;이근섭;윤대희
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.23 no.6
    • /
    • pp.1409-1418
    • /
    • 1998
  • The recent audio CODEC(Coding/Decoding) algorithms are complex of several coding techniques, and can be divided into DSP tasks, controller tasks and mixed tasks. The traditional DSP processor has been designed for fast processing of DSP tasks only, but not for controller and mixed tasks. This paper presents a new architecture that achieves high throughput on both controller and mixed tasks of such algorithms while maintaining high performance for DSP tasks. The proposed processor, YSP-3, operates four algorithms while maintaining high performance for DSP tasks. The proposed processor, YSP-3, operates functional units (Multiplier, two ALUs, Load/Store Unit) in parallel via 4-issue super-scalar instruction structure. The performance evaluation of YSP-3 has been done through the implementation of the several DSP algorithms and the part of the AC-3 decoding algorithms.

  • PDF

Performance Analysis of Multicore Processor Architectures Based On Cache Size Effects (캐쉬 용량 효과에 대한 멀티코어 프로세서의 성능 연구)

  • Lee, Jongbok
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.12 no.6
    • /
    • pp.175-180
    • /
    • 2012
  • In order to overcome the complexity and performance limit problems of superscalar processors, the multicore architecture has been prevalent recently. The configuration and the size of instruction and data caches greatly gives effect on the performance of multicore processors. Using SPEC 2000 benchmarks as input, the trace-driven simulation has been performed for the 2-core to 16-core architectures with different sizes of caches extensively. As a result, the 2-way set associative instruction and data cache with the size of 64KB brought the best cost-effective performance.

A Prefetch Architecture with Efficient Branch Prediction for a 64-bit 4-way Superscalar Microprocessor (64비트 4-way 수퍼스칼라 마이크로프로세서의 효율적인 분기 예측을 수행하는 프리페치 구조)

  • 문상국;문병인;이용환;이용석
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.25 no.11B
    • /
    • pp.1939-1947
    • /
    • 2000
  • 본 논문에서는 명령어의 효율적인 페치를 위해 분기 타겟 주소 전체를 사용하지 않고 캐쉬 메모리(cache memory) 내의 적은 비트 수로 인덱싱 하여 한 클럭 사이클 안에 최대 4개의 명령어를 다음 파이프라인으로 보내줄 수 있는 방법을 제시한다. 본 프리페치 유닛은 크게 나누어 3개의 영역으로 나눌 수 있는데, 분기에 관련하여 미리 부분적으로 명령어를 디코드 하는 프리디코드(predecode) 블록, 타겟 주소(NTA : Next Target Address) 테이블 영역을 추가시킨 명령어 캐쉬(instruction cache) 블록, 전체 유닛을 제어하고 가상 주소를 관리하는 프리페치(prefetch) 블록으로 나누어진다. 사용된 명령어들은 SPARC(Scalable Processor ARChitecture) V9에 기준 하였고 구현은 Verilog-HDL(Hardwave Description Language)을 사용하여 기능 수준으로 기술되고 검증되었다. 구현된 프리페치 유닛은 명령어 흐름에 분기가 존재하더라도 단일 사이클 안에 4개까지의 명령어들을 정확한 예측 하에 다음 파이프라인으로 보내줄 수 있다. 또한 NTA를 사용한 방법은 같은 수의 레지스터 비트를 사용하였을 때 BTB(Branch Target Buffer)를 사용하는 방법과 비교하여 2배정도 많은 개수의 분기 명령 주소를 저장할 수 있는 장점이 있다.

  • PDF

A Performance Evaluation of Value Predictors in a Superscalar Processor (슈퍼스칼라 프로세서에서 값 예측기의 성능평가)

  • 전병찬;박희룡;이상정
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10c
    • /
    • pp.10-12
    • /
    • 2001
  • 와이드 이슈 슈퍼스칼라 프로세서에서 값 예측기는 한 명령어의 결과를 미리 예측하여 명령들 간의 데이터 종속관계를 극복하고 실행함으로써 명령어 수준 병렬성(Instruction Level Parallesim ILP)을 향상시키는 기법이다. 본 논문에서는 명령어 수준 병렬성을 이용하여 성능을 향상시키기 위하여 데이터 값을 미리 예측하여 병렬로 이슈하고 수행하는 값 예측기의 성능을 비교분석 한다. 먼저 값 예측기 종류별로 성능을 측정한다 그리고 테이블의 갱신시점, 트레이스 캐시 유무 및 명령윈도우 크기에 따른 값 예측기의 성능영향을 평가분석 한다. 성능분석 결과 최근 값 예측기가 간소한 하드웨어 구성에도 불구하고 우수한 성능을 보였다. 그리고 예측테이블 갱신시점과 트레이스캐시의 사용이 값 예측기의 성능향상에 영향을 주었다.

  • PDF

A Performance Analysis of Superscalar Processor According to the Number of Functional Units (연산처리기 개수에 따른 슈퍼스칼라 프로세서의 성능 분석)

  • Kim, Ji-Sun;Jeon, Joong-Nam;Kim, Suk-Il
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05a
    • /
    • pp.451-454
    • /
    • 2003
  • 슈퍼스칼라 프로세서는 이슈대역폭에 비해 실제로 처리되는 명령어의 개수는 상대적으로 적다. 본 논문에서는 슈퍼스칼라 프로세서의 성능을 높이기 위해, 연산처리기 개수에 따른 슈퍼스칼라 프로세서의 성능을 측정하고, 연산처리기의 활용도를 측정하였다. 실험을 위해 연산처리기 개수는 각각 1개, 2개, 4개로 하였고, 목적프로세서는 4개의 명령어를 동시에 이슈하고 실행할 수 있는 슈퍼스칼라 프로세서를 대상으로 실험하였다. 또한 연산처리기의 활용도를 분석하기 위해 시뮬레이터를 구현하여 명령어가 실행될 때, 실제 처리된 명령어의 개수를 측정하여 연산처리기의 활용도를 측정하였다. 이를 통해 슈퍼스칼라 프로세서에서 명령어를 실행할 때 필요한 연산처리기의 개수를 결정할 수 있었다. 실험 결과 4-way 슈퍼 스칼라 프로세서에서 명령어 실행에 필요한 연산처리기의 개수는 2개가 적당함을 확인할 수 있었다.

  • PDF

Resource Usage Analysis of Superscalar Processor (슈퍼스칼라 프로세서의 자원 활용도 분석)

  • 김지선;전중남;김석일
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.10c
    • /
    • pp.691-693
    • /
    • 2002
  • 슈퍼스칼라 프로세서 구조에서 명령어 실행을 수행하는 데 사용되는 자원은 그 양에 비해 실제로 활용된 자원의 양은 적다. 본 논문에서는 낮은 자원활용도를 보이는 자원을 활용하는 방안으로 슈퍼스칼라 프로세서를 멀티쓰레드 프로세서로 확장하는데 필요한 기본 데이터를 얻기 위해서 실제로 활용되는 자원의 양을 측정하여 어느 정도의 자원을 활용할 수 있는 지와 자원이 충분히 활용되지 못하는 원인을 분석하였다. 실험을 위해 RA(Resource Analyzer)를 구현하여 SimpleScalar 시뮬레이터에서 제공되는 명령어 파이프라인 트레이스 파일을 분석하여 각 파이프라인 단계에서 처리되는 자원의 활용도를 실험하였다. 자원 활용도가 낮은 원인을 분석하기 위해 프로그램 내에 존재하는 데이터 의존성과 여러 가지 미스 요인들의 비율을 실험을 통해 알아본 결과 IPC(Instruction Per Cycle)는 평균 0.6으로 나타났으며, EX단계의 평균 활용 빈도는 22.9%로 낮아 멀티쓰레드 처리의 필요성이 있음을 확인할 수 있었다.

  • PDF

Hybrid Dynamic Branch Prediction to Reduce Destructive Aliasing (슈퍼스칼라 프로세서를 위한 고성능 하이브리드 동적 분기 예측)

  • Park, Jongsu
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.23 no.12
    • /
    • pp.1734-1737
    • /
    • 2019
  • This paper presents a prediction structure with a Hybrid Dynamic Branch Prediction (HDBP) scheme which decreases the number of stalls. In the application, a branch history register is dynamically adjusted to produce more unique index values of pattern history table (PHT). The number of stalls is also reduced by using the modified gshare predictor with a long history register folding scheme. The aliasing rate decreased to 44.1% and the miss prediction rate decreased to 19.06% on average compared with the gshare branch predictor, one of the most popular two-level branch predictors. Moreover, Compared with the gshare, an average improvement of 1.28% instructions per cycle (IPC) was achieved. Thus, with regard to the accuracy of branch prediction, the HDBP is remarkably useful in boosting the overall performance of the superscalar processor.

Proposition and Evaluation of Parallelism-Independent Scheduling Algorithms for DAGs of Tasks with Non-Uniform Execution Time

  • Kirilka Nikolova;Atusi Maeda;Sowa, Masa-Hiro
    • Proceedings of the IEEK Conference
    • /
    • 2000.07a
    • /
    • pp.289-293
    • /
    • 2000
  • We propose two new algorithms for parallelism-independent scheduling. The machine code generated from the compiler using these algorithms in its scheduling phase is parallelism-independent code, executable in minimum time regardless of the number of the processors in the parallel computer. Our new algorithms have the following phases: finding the minimum number of processors on which the program can be executed in minimal time, scheduling by an heuristic algorithm for this predefined number of processors, and serialization of the parallel schedule according to the earliest start time of the tasks. At run time tasks are taken from the serialized schedule and assigned to the processor which allows the earliest start time of the task. The order of the tasks decided at compile time is not changed at run time regardless of the number of the available processors which means there is no out-of-order issue and execution. The scheduling is done predominantly at compile time and dynamic scheduling is minimized and diminished to allocation of the tasks to the processors. We evaluate the proposed algorithms by comparing them in terms of schedule length to the CP/MISF algorithm. For performance evaluation we use both randomly generated DAGs (directed acyclic graphs) and DACs representing real applications. From practical point of view, the algorithms we propose can be successfully used for scheduling programs for in-order superscalar processors and shared memory multiprocessor systems. Superscalar processors with any number of functional units can execute the parallelism-independent code in minimum time without necessity for dynamic scheduling and out-of-order issue hardware. This means that the use of our algorithms will lead to reducing the complexity of the hardware of the processors and the run-time overhead related to the dynamic scheduling.

  • PDF

A Branch Misprediction Recovery Mechanism by Control Independence (제어 독립성과 분기예측 실패 복구 메커니즘)

  • Ko, Kwang-Hyun;Cho, Young-Il
    • Journal of Practical Agriculture & Fisheries Research
    • /
    • v.14 no.1
    • /
    • pp.3-22
    • /
    • 2012
  • Control independence has been put forward as a significant new source of instruction-level parallelism for superscalar processors. In branch prediction mechanisms, all instructions after a mispredicted branch have to be squashed and then instructions of a correct path have to be re-fetched and re-executed. This paper presents a new branch misprediction recovery mechanism to reduce the number of instructions squashed on a misprediction. Detection of control independent instructions is accomplished with the help of the static method using a profiling and the dynamic method using a control flow of program sequences. We show that the suggested branch misprediction recovery mechanism improves the performance by 2~7% on a 4-issue processor, by 4~15% on an 8-issue processor and by 8~28% on a 16-issue processor.