임베디드 시스템에 대한 중요성이 날로 증가함에 따라, 실시간 제약 요건에 맞추기 위하여 고성능 임베디드 프로세서가 요구된다. 현재 범용 컴퓨터 시스템을 구축할 때 성능을 높이기 위하여 멀티코어 프로세서가 널리 이용되고 있으므로, 임베디드 프로세서 역시 멀티코어 프로세서 구조를 채택함으로써 임베디드 시스템에서 높은 성능을 얻을 수가 있다. 본 논문에서는 코어의 유형 및 개수가 임베디드 멀티코어 프로세서의 성능에 미치는 영향을 분석하기 위하여, 2 개에서 16 개로 구성되는 임베디드 멀티코어 프로세서에 대하여, MiBench벤치마크를 입력으로하는 모의실험을 수행하였다. 이 때, 임베디드 멀티코어 프로세서를 구성하는 단위 코어로서, 단순한 RISC형부터 다양한 명령어 윈도우의 크기를 갖는 순차 또는 비순차 실행 수퍼스칼라형 코어에 걸쳐 광범위한 모의실험을 수행하여 그 성능을 분석하였다. 그 결과, 멀티코어 임베디드 프로세서는 RISC형 단일코어 임베디드 프로세서에 대하여 최고 23 배의 성능을 얻을 수 있었다.
임베디드 시스템에 대한 중요성이 날로 증가함에 따라, 실시간 제약 요건에 맞추기 위하여 고성능 임베디드 프로세서가 요구된다. 현재 범용 컴퓨터 시스템을 구축할 때 성능을 높이기 위하여 멀티코어 프로세서가 널리 이용되고 있으므로, 임베디드 프로세서 역시 멀티코어 프로세서 구조를 채택함으로써 임베디드 시스템에서 높은 성능을 얻을 수가 있다. 본 논문에서는 코어의 유형 및 개수가 임베디드 멀티코어 프로세서의 성능에 미치는 영향을 분석하기 위하여, 2 개에서 16 개로 구성되는 임베디드 멀티코어 프로세서에 대하여, MiBench 벤치마크를 입력으로하는 모의실험을 수행하였다. 이 때, 임베디드 멀티코어 프로세서를 구성하는 단위 코어로서, 단순한 RISC형부터 다양한 명령어 윈도우의 크기를 갖는 순차 또는 비순차 실행 수퍼스칼라형 코어에 걸쳐 광범위한 모의실험을 수행하여 그 성능을 분석하였다. 그 결과, 멀티코어 임베디드 프로세서는 RISC형 단일코어 임베디드 프로세서에 대하여 최고 23 배의 성능을 얻을 수 있었다.
Recently, the importance of embedded system is growing rapidly. In-order to satisfy the real-time constraints of the system, high performance embedded processor is required. Therefore, as in general purpose computer systems, embedded processor should be designed as multicore architecture as well. Us...
Recently, the importance of embedded system is growing rapidly. In-order to satisfy the real-time constraints of the system, high performance embedded processor is required. Therefore, as in general purpose computer systems, embedded processor should be designed as multicore architecture as well. Using MiBench benchmarks as input, the trace-driven simulation has been performed and analyzed for the 2-core to 16-core embedded processor architectures with different types of cores from simple RISC to in-order and out-of-order superscalar processors, extensively. As a result, the achievable performance is as high as 23 times over the single core embedded RISC processor.
Recently, the importance of embedded system is growing rapidly. In-order to satisfy the real-time constraints of the system, high performance embedded processor is required. Therefore, as in general purpose computer systems, embedded processor should be designed as multicore architecture as well. Using MiBench benchmarks as input, the trace-driven simulation has been performed and analyzed for the 2-core to 16-core embedded processor architectures with different types of cores from simple RISC to in-order and out-of-order superscalar processors, extensively. As a result, the achievable performance is as high as 23 times over the single core embedded RISC processor.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 RISC, 순차 및 비순차 수퍼스칼라로 구성되는 임베디드 멀티코어 프로세서 아키텍처의 성능을 분석하였다. 이것을 위하여, 2 개부터 16 개까지의 임베디드 멀티코어 프로세서 아키텍처에 대하여 MiBench 벤치마크를 입력으로 하여 모의실험을 통하여 성능을 측정하고 결과를 분석하였다.
본 논문에서는 단위 코어의 형태 및 개수가 임베디드 시스템의 성능에 미치는 영향을 분석하기 위하여, 임베디드 멀티코어 프로세서에 대한 모의실험을 수행하고 분석하였다. 이것을 위하여 2-코어에서 16-코어의 임베디드 멀티코어 프로세서에 대하여, MiBench 벤치마크를 입력으로 모의실험을 수행하여 그 성능을 측정하였다[6].
가설 설정
차 명령어 캐쉬와 1 차 데이터 캐쉬는 각 코어마다 설치되는데, 64KB의 용량을 갖도록 설정하였으며, 2 차 연관도(2-way set associativity) 방식을 통하여 접근된다. 그러나, 모든 코어에 의하여 공유되는 2 차 캐쉬는 충분한 용량으로 인하여 100 % 히트가 난다고 가정하였다.
제안 방법
본 논문에서는 명령어 자취형 모의실험기를 개발하여 모의실험에 이용하였다[9]. 임베디드 멀티코어 프로세서는 제 1 단계 명령어 자취의 발생, 제 2 단계 명령어 자취에 대한 임베디드 멀티코어 프로세서의 실행으로 나누어진다.
이것을 위하여 2-코어에서 16-코어의 임베디드 멀티코어 프로세서에 대하여, MiBench 벤치마크를 입력으로 모의실험을 수행하여 그 성능을 측정하였다[6]. 이 때, 단위 코어를 간단한 RISC 형태로부터, 다양한 크기의 명령어 윈도우 (instruction window)로 구성되는 순차 (in-order) 및 비순차 (out-of-order) 수퍼스칼라 프로세서 형태를 채택하였다.
본 논문에서는 단위 코어의 형태 및 개수가 임베디드 시스템의 성능에 미치는 영향을 분석하기 위하여, 임베디드 멀티코어 프로세서에 대한 모의실험을 수행하고 분석하였다. 이것을 위하여 2-코어에서 16-코어의 임베디드 멀티코어 프로세서에 대하여, MiBench 벤치마크를 입력으로 모의실험을 수행하여 그 성능을 측정하였다[6]. 이 때, 단위 코어를 간단한 RISC 형태로부터, 다양한 크기의 명령어 윈도우 (instruction window)로 구성되는 순차 (in-order) 및 비순차 (out-of-order) 수퍼스칼라 프로세서 형태를 채택하였다.
본 논문에서는 RISC, 순차 및 비순차 수퍼스칼라로 구성되는 임베디드 멀티코어 프로세서 아키텍처의 성능을 분석하였다. 이것을 위하여, 2 개부터 16 개까지의 임베디드 멀티코어 프로세서 아키텍처에 대하여 MiBench 벤치마크를 입력으로 하여 모의실험을 통하여 성능을 측정하고 결과를 분석하였다. 그 결과, 1-코어 RISC형 임베디드 프로세서에 비하여 16-코어 32-윈도우 비순차 임베디드 프로세서에서 최고 23 배의 성능을 얻을 수 있었다.
차 명령어 캐쉬와 1 차 데이터 캐쉬는 각 코어마다 설치되는데, 64KB의 용량을 갖도록 설정하였으며, 2 차 연관도(2-way set associativity) 방식을 통하여 접근된다. 그러나, 모든 코어에 의하여 공유되는 2 차 캐쉬는 충분한 용량으로 인하여 100 % 히트가 난다고 가정하였다.
대상 데이터
멀티코어의 개수는 1 개, 2 개, 4 개, 8 개 및 16 개를 대상으로 하였다. 각 코어는 RISC 방식 또는 수퍼스칼라방식으로 운영되므로, 매 싸이클 마다 1 개에서 N 개의의 명령어를 인출, 이슈, 실행 및 종료한다.
성능/효과
Basicmath는 명령어 캐쉬와 데이터 캐쉬 미스로 인하여 각각 50 %의 성능 손실을 가져왔으며, 또한 태스크 예측 미스에 의하여 17 %의 성능이 하락하였다. Dijkstra의 명령어 캐쉬 미스로 인한 손실은 3 %이나, 데이터 캐쉬미스로 인하여 60 %의 성능이 하락하였다. Qsort 역시 데이터 캐쉬 미스로 인하여 11 %의 성능 손실을 초래하였다.
이것을 위하여, 2 개부터 16 개까지의 임베디드 멀티코어 프로세서 아키텍처에 대하여 MiBench 벤치마크를 입력으로 하여 모의실험을 통하여 성능을 측정하고 결과를 분석하였다. 그 결과, 1-코어 RISC형 임베디드 프로세서에 비하여 16-코어 32-윈도우 비순차 임베디드 프로세서에서 최고 23 배의 성능을 얻을 수 있었다.
따라서, 코어의 개수가 증가 함에 따라, 성능은 증가하지만 그 향상률은 둔화됨을 알 수 있다. 1-코어일 때 평균 성능은 0.
각 코어에서 매 싸이클 마다 최대 한 개의 명령어를 인출하고 한 개의 명령어를 실행할 수 있다. 모의실험 결과에서 알 수 있듯이, 각 벤치마크 프로그램 별로 코어의 개수가 증가할 수록, 성능이 증가함을 알 수 있다. 코어의 개수가 1 개에서 2 개로 증가하였을 때 평균 성능의 향상률은 1.
이 때, 코어의 개수가 증가할수록 성능이 평균 1.8 배 향상하였으며, 윈도우의 크기가 2 배가 될 때마다 성능이 1.5 배 향상되었다. 이것은 순차 실행의 경우보다 모두 높은 값으로서, 명령어 비순차 실행의 유연성으로부터 기인한다.
한편, 단일 코어 프로세서의 데이터 캐쉬는 위에서 거론한 명령어 캐쉬와 달리, 직접캐쉬(Direct-Mapped Cache) 방식으로 구성해도 충분한 성능을 얻을 수가 있었다. 그러나, 멀티코어 프로세서 시스템에서는 여러 코어 간의 캐쉬 일관성(Cache Coherency)을 위한 MESI 프로토콜의 적용으로 인하여 캐쉬의 데이터를 무효화하는 경우가 빈번히 발생한다.
후속연구
추후로, 동질 코어(homogeneous core)가 아닌 비동질코어(heterogeneous core)를 채택하는 비대칭 칩 멀티프로세서(asymmetric chip multiprocessor) 구조를 갖는 임베디드 프로세서에 대한 연구가 필요하다. 더 나아가, 최신 경향인 코어 수 64개 이상의 매니코어 (many-core) 아키텍쳐로 구성된 임베디드 프로세서에 대한 연구 및 모의실험도 수행할 예정이다.
추후로, 동질 코어(homogeneous core)가 아닌 비동질코어(heterogeneous core)를 채택하는 비대칭 칩 멀티프로세서(asymmetric chip multiprocessor) 구조를 갖는 임베디드 프로세서에 대한 연구가 필요하다. 더 나아가, 최신 경향인 코어 수 64개 이상의 매니코어 (many-core) 아키텍쳐로 구성된 임베디드 프로세서에 대한 연구 및 모의실험도 수행할 예정이다.
질의응답
핵심어
질문
논문에서 추출한 답변
범용 컴퓨터시스템에 탑재되는 중앙처리장치는 성능의 증대를 위해 어떠한 방향으로 발전하였는가?
한편, 범용 컴퓨터시스템에 탑재되는 중앙처리장치(CPU)는 성능의 증대를 위하여 CISC에서 RISC 및 수퍼스칼라를 거쳐서 오늘날 멀티코어 프로세서로 발전하여 대세를 이루고 있다[2-5]. 따라서 임베디드 프로세서 역시 간단한 RISC 형태의 단일코어로부터 멀티코어 구조로 발전시켜서 임베디드 시스템의 성능을 끌어올려야 한다.
임베디드 프로세서의 특징은 무엇인가?
임베디드 프로세서는 임베디드 (내장형) 시스템의 두뇌 역할을 하며, 범용 마이크로 프로세서와 달리 디지털 시계, MP3 플레이어, 스마트폰, 교통신호, 공장제어 등의 특정 분야에 적합하도록 간단한 구조로 설계되며 소비전력이 낮은 것이 특징이다. 그러나, 최근에 임베디드 시스템의 복잡도가 증가하고 엄격한 실시간 (real-time) 제약이 점차 요청되므로, 임베디드 프로세서 성능의 고도화가 요구되고 있다[1].
임베디드 프로세서를 멀티코어 구조로 발전시켜야 하는 이유는 어떠한 배경에서 온 것인가?
한편, 범용 컴퓨터시스템에 탑재되는 중앙처리장치(CPU)는 성능의 증대를 위하여 CISC에서 RISC 및 수퍼스칼라를 거쳐서 오늘날 멀티코어 프로세서로 발전하여 대세를 이루고 있다[2-5]. 따라서 임베디드 프로세서 역시 간단한 RISC 형태의 단일코어로부터 멀티코어 구조로 발전시켜서 임베디드 시스템의 성능을 끌어올려야 한다.
참고문헌 (12)
J. Balfour et. al, "An Energy-Efficient Processor Architecture for Embedded Systems," IEEE Computer Architectures, Vol. 7, No. 1, Jun. 2008.
P. K. Dubey, G. B. Adams III, and M. J. Flynn, "Instruction Window Size Trade-Offs and Characterization of Program Parallelism," IEEE Transactions on Computers, vol. 43, pp 431-442, Apr. 1994.
M. R. Guthaus, J. S. Ringenberg, D. Ernest, T. M. Austin, T. Mudge, and R. B. Brown, "MiBench: A free, commercial representative embedded benchmark suite," Workload Characterization, pp. 3-14, Dec. 2001.
G. S. Sohi, S. E. Breach, and T. N. Vijaykumar, "Multiscalar Processors," Proceedings of the 22nd annual international symposium on Computer architecture, pp. 414-425, May 1995.
T-Y. Yeh and Y. N. Patt, "Alternative Implementations of Two-Level Adaptive Branch Prediction," in Proceedings of the 19th International Symposium on Computer Architecture, pp.124-134, May. 1992.
A. Rico, A. Duran. F. Cabarcas, Y. Etsion, A. Ramirex, and M. Valero, "Trace-driven Simulation of Multithreaded Applications," ISPASS, 2011.
T. Austin, E. Larson, and D. Ernest, "SimpleScalar : An Infrastructure for Computer System Modeling," Computer, vol. 35, no. 2, pp. 59-67, Feb. 2002.
I. Jeon, S. Kang, H. Yang, "Development of Security Quality Evaluate Basis and Measurement of Intrusion Prevention System," Journal of the Korea Academia-Industrial cooperation Society, v.11, no.4, April 2010.
D. K. Lee, J. H. Kwon, "Social Search Algorithm considering Recent Interests of User", Journal of Korean Institute of Information Technology, vol. 9, issue 4, pp. 187-194, Apr 2011.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.