A Study on Improving Application Processor Performance of Smartphones
- 주제(키워드) Cache , Architecture , Cache Replacement Algorithm , Processor Performance , Branch Predictor , Application Processor , Smartphone
- 발행기관 서강대학교 일반대학원
- 지도교수 정옥현
- 발행년도 2020
- 학위수여년월 2020. 8
- 학위명 석사
- 학과 및 전공 일반대학원 전자공학과
- UCI I804:11029-000000065453
- 본문언어 영어
- 저작권 서강대학교 논문은 저작권보호를 받습니다.
초록/요약
현재 모바일 디바이스의 프로세서는 RISC 구조로 설계된다. 본 논문에서는 RISC 구조의 프로세서 성능 향상을 위해 분기 예측 변수와 캐시 교체 알고리즘의 새로운 구조를 제안하고 평가하였다. RISC 프로세서 파이프라인 구조의 20 ~ 30%를 차지하는 분기 예측은 프로세서 성능 저하의 주요 원인 중 하나이다. 분기를 예측하지 못하면 스톨이라는 파이프라인이 플러싱되는 현상이 발생하고 프로세서는 해당 사이클 동안 명령어를 처리할 수 없게 된다. 다양한 분기 예측 변수가 제안되어 왔지만 글로벌 분기 예측이나 지역 분기 예측 방안은 메모리를 낭비하거나 예측 정확도가 낮다는 단점을 가지고 있다. 글로벌 예측 변수들은 예측 변수에 접근하는 중복된 인덱스로 인해 잘못된 예측을 초래하는 현상이 주로 발생한다. 본 논문에서 소개하는 분기 명령어에 대한 예측 방법은 기존 방식과 비교하여 인덱스 생성과정에서 XOR 연산을 한단계 더 수행하여 인덱스의 중복 현상을 줄이는 것을 목표로 하였다. 캐시 교체 알고리즘은 메모리의 측면에서 프로세서의 동작 효율성을 향상시키기 위한 것이다. 캐시 교체 알고리즘의 목적은 크기가 제한된 메모리에 자주 참조될 데이터를 저장하고, 사용하지 않을 데이터를 내보내는 것이다. 기존 알고리즘은 프로그램의 시간적, 공간적 지역성에 중점을 두고 설계되었다. 하지만 일부 프로그램은 지역성이 높지 않아 캐시 메모리에 원하는 데이터가 없는 캐시 미스율이 높은 경우가 있다. 이러한 문제를 보완하기 위해 캐시 교체 알고리즘을 프로그램 별로 특성에 맞게 전환하는 알고리즘을 제안하였다. 본 연구에서는 SimpleScalar 3.0 시뮬레이터와 벤치마크 프로그램인 SPEC CPU2000 을 사용하여 시뮬레이션을 진행하였다. 실험 결과, 제안된 분기 예측 방법은 현재 스마트폰에서 사용되고 있는 분기 예측기의 캐시 크기가 128KB 일 때 최적의 예측 정확도를 기록했으며, 캐시 교체 알고리즘은 기존 알고리즘과 비교했을 때 최대 2%의 미스율이 감소하는 것으로 나타났다.
more초록/요약
The processors in current mobile devices are designed with a reduced instruction set computer (RISC) architecture. In this paper, we report on work into improving the performance of the branch predictor and cache replacement algorithms in order to improve the performance of RISC processors. Branch instructions, which account for 20-30% of the RISC pipeline structure, are one of the major causes of processor performance degradation. Failure to predict a branch will result in a pipeline flush called a stall, and the processor will not be able to process instructions during that cycle. Various branch predictors have been proposed; conventional schemes such as global and local predictors have the disadvantage of wasting memory or having low prediction rates. Global predictors are slow to predict because of index aliasing; a phenomenon that results in false predictions due to overlapping indexes that access predictors. The approach described here is designed to reduce the occurrence of index aliasing by using more XORs, and performing more work in the index creation process than is carried out in the traditional approach. The cache replacement algorithm is intended to improve the processor’s operational efficiency in terms of memory. The purpose of the cache replacement algorithm is to store data that will be referenced frequently in memory of limited size, and to export data that will not be used. The existing algorithm is designed with a focus on the temporal and spatial localities of the program. However, some programs do not have high locality, so the cache miss rate of the existing algorithm can be high. To solve this problem, we developed an algorithm that switches the cache replacement algorithm according to locality characteristics. In this study, simulations were run using the SimpleScalar 3.0 simulator and benchmark program SPEC CPU2000. Experimental results show that the proposed method produced the best prediction when the branch predictor's cache size was 128KB, as currently used in smartphones, and the cache replacement algorithm showed a reduction in maximum miss rate of up to 2% compared to the existing algorithm.
more