최근 모바일 멀티미디어 기기들의 사용이 증가하면서 고성능, 저전력 멀티미디어 프로세서에 대한 필요성이 높아지고 있는 추세이다. 주문형반도체 (ASIC)는 모바일 멀티미디어에서 요구되는 고성능을 만족시키지만 다양한 형태의 멀티미디어 애플리케이션에서 요구되는 범용성을 만족시키지 못한다. 반면 DSP기반의 시스템은 범용성에 기인하여 다양한 형태의 애플리케이션에서 사용될 수 있으나, 주문형반도체 보다 높은 가격, 전력소모 및 낮은 성능을 가진다. 이러한 문제점을 해결하기 위해 본 논문에서는 범용성을 유지하면서 고성능, 저전력으로 영상데이터 처리가 가능한 단일 명령어 다중 데이터(Single Instruction Multiple Data, SIMD)처리 방식의 매니코어 프로세서를 제안한다. 제안한 SIMD기반 매니코어 프로세서는 16개의 프로세싱 엘리먼트(processing element, PE)로 구성되어 영상데이터 처리에 내재한 무수한 데이터 레벨 병렬성을 높인다. 모의 실험한 결과, 제안한 SIMD기반 매니코어 프로세서는 현재 상용 고성능 프로세서보다 평균 22배의 성능, 7배의 에너지 효율 및 3배의 시스템 면적 효율을 보였다.
최근 모바일 멀티미디어 기기들의 사용이 증가하면서 고성능, 저전력 멀티미디어 프로세서에 대한 필요성이 높아지고 있는 추세이다. 주문형반도체 (ASIC)는 모바일 멀티미디어에서 요구되는 고성능을 만족시키지만 다양한 형태의 멀티미디어 애플리케이션에서 요구되는 범용성을 만족시키지 못한다. 반면 DSP기반의 시스템은 범용성에 기인하여 다양한 형태의 애플리케이션에서 사용될 수 있으나, 주문형반도체 보다 높은 가격, 전력소모 및 낮은 성능을 가진다. 이러한 문제점을 해결하기 위해 본 논문에서는 범용성을 유지하면서 고성능, 저전력으로 영상데이터 처리가 가능한 단일 명령어 다중 데이터(Single Instruction Multiple Data, SIMD)처리 방식의 매니코어 프로세서를 제안한다. 제안한 SIMD기반 매니코어 프로세서는 16개의 프로세싱 엘리먼트(processing element, PE)로 구성되어 영상데이터 처리에 내재한 무수한 데이터 레벨 병렬성을 높인다. 모의 실험한 결과, 제안한 SIMD기반 매니코어 프로세서는 현재 상용 고성능 프로세서보다 평균 22배의 성능, 7배의 에너지 효율 및 3배의 시스템 면적 효율을 보였다.
Recently, as mobile multimedia devices are used more and more, the needs for high-performance and low-energy multimedia processors are increasing. Application-specific integrated circuits (ASIC) can meet the needed high performance for mobile multimedia, but they provide limited, if any, generality ...
Recently, as mobile multimedia devices are used more and more, the needs for high-performance and low-energy multimedia processors are increasing. Application-specific integrated circuits (ASIC) can meet the needed high performance for mobile multimedia, but they provide limited, if any, generality needed for various application requirements. DSP based systems can used for various types of applications due to their generality, but they require higher cost and energy consumption as well as less performance than ASICs. To solve this problem, this paper proposes a single instruction multiple data (SIMD) based many-core processor which supports high-performance and low-power image data processing while keeping generality. The proposed SIMD based many-core processor composed of 16 processing elements (PEs) exploits large data parallelism inherent in image data processing. Experimental results indicate that the proposed SIMD-based many-core processor higher performance (22 times better), energy efficiency (7 times better), and area efficiency (3 times better) than conversional commercial high-performance processors.
Recently, as mobile multimedia devices are used more and more, the needs for high-performance and low-energy multimedia processors are increasing. Application-specific integrated circuits (ASIC) can meet the needed high performance for mobile multimedia, but they provide limited, if any, generality needed for various application requirements. DSP based systems can used for various types of applications due to their generality, but they require higher cost and energy consumption as well as less performance than ASICs. To solve this problem, this paper proposes a single instruction multiple data (SIMD) based many-core processor which supports high-performance and low-power image data processing while keeping generality. The proposed SIMD based many-core processor composed of 16 processing elements (PEs) exploits large data parallelism inherent in image data processing. Experimental results indicate that the proposed SIMD-based many-core processor higher performance (22 times better), energy efficiency (7 times better), and area efficiency (3 times better) than conversional commercial high-performance processors.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 기존의 고성능 프로세서인 TI C6416, ARM926EJ-S[21], ARM1020E[22]와의 성능 비교를 통해 제안하는 매니코어 프로세서의 잠재 가능성을 보여주고자 한다. 따라서 공정한 성능 평가를 위해 제안한 매니코어 프로세서와 고성능 프로세서들을 동일한 130nm 테크놀로지로 실험하였다.
본 논문에서는 모바일 영상데이터 처리를 위한 저전력, 고성능 SIMD기반 매니코어 프로세서를 제안한다. 제안한 SIMD기반 매니코어 프로세서는 16개의 프로세싱 엘리먼트로 구성되어 있으며, 각각의 프로세싱 엘리먼트는 자신에게 맵핑된 영상의 지역데이터를 처리함으로써 데이터 레벨 병렬성을 높인다.
본 논문에서는 영상처리 알고리즘을 저전력, 고성능으로 처리하기 위해 SIMD 기반 매니코어 프로세서를 제안하였다. 제안한 매니코어 프로세서는 16개의 프로세싱 엘리먼트를 메쉬 배열 구조로 구성하였으며, 각각의 프로세싱 엘리먼트는 자신에게 맵핑된 영상의 지역데이터를 효율적으로 병렬처리한다.
제안 방법
테크놀로지 레벨에서는 각 아키텍처 모델들의 테크놀로지 변수 (latency, power, clock frequency)를 계산하기 위해 Generic System Simulator (GENESYS)를 사용하였다[19]. 마지막으로 세 레벨에서 구해진 데이터베이스를 조합하여 각 경우에 대한 실행 시간, 처리량, 에너지 효율을 결정하였다.
그림 4는 세 가지 레벨 (애플리케이션, 아키텍처, 테크놀로지)로 구성되어 있는 SIMD기반 매니코어 프로세서의 실험 방법론이다. 애플리케이션 레벨에서는 명령어 레벨의 SIMD 병렬 프로세서용 정밀 사이클 시뮬레이터를 이용하여, 영상처리 알고리즘에 사용되는 사이클 개수, 동적 명령어 빈도, 프로세싱 엘리먼트 이용률 (utilization) 등의 실행 데이터를 제공한다. 아키텍처 레벨에서는 모델링된 아키텍처의 디자인 변수들을 계산하기 위해 Chai가 제안한 SIMD 병렬 프로세서용 이종 아키텍처 모델링 툴을 사용하였다[18].
제안한 SIMD기반 매니코어 프로세서 아키텍처의 성능을 분석하기위해 다섯 가지의 영상처리 알고리즘을 선택하고 구현하였다. 영상의 기하학적 변환을 표현하기 위한 Translation Transform, 영상의 그레이 레벨 연산을 위한 Subtraction과 Mask Scaling, 영상의 분할을 표현하기 위한 Histogram Segmentation, 마지막으로 영상의 모폴로지 표현을 하기 위한 Edge Detection을 매니코어 프로세서용 시뮬레이터를 이용하여 구현하였다.
이러한 기존의 병렬 프로세서와 다르게, 본 논문에서 모의실험을 위해 사용한 SIMD기반 매니코어 프로세서는 프로세서와 센서의 직접적 연결을 통해 I/O 대역의 문제를 해결하고, 또한 짧은 와이어의 사용으로 높은 면적과 에너지 효율을 보이는 동시에 많은 데이터에 동일한 명령어를 수행하여 고성능을 추구한다.
제안된 SIMD기반 멀티코어 프로세서 구조를 검증하기 위하여 RTL레벨로 설계하고, Xilinx사의 Vertex-4 XC4VLX60 FPGA[23]를 이용하여 합성하고 테스트하였다. 그림 10은 16개의 PE를 내장한 매니코어 프로세서의 스키매틱을 보여주며, 합성한 결과는 표 5와 같다.
제안한 SIMD기반 매니코어 프로세서 아키텍처의 성능을 분석하기위해 다섯 가지의 영상처리 알고리즘을 선택하고 구현하였다. 영상의 기하학적 변환을 표현하기 위한 Translation Transform, 영상의 그레이 레벨 연산을 위한 Subtraction과 Mask Scaling, 영상의 분할을 표현하기 위한 Histogram Segmentation, 마지막으로 영상의 모폴로지 표현을 하기 위한 Edge Detection을 매니코어 프로세서용 시뮬레이터를 이용하여 구현하였다.
본 논문에서는 모바일 영상데이터 처리를 위한 저전력, 고성능 SIMD기반 매니코어 프로세서를 제안한다. 제안한 SIMD기반 매니코어 프로세서는 16개의 프로세싱 엘리먼트로 구성되어 있으며, 각각의 프로세싱 엘리먼트는 자신에게 맵핑된 영상의 지역데이터를 처리함으로써 데이터 레벨 병렬성을 높인다. (예를 들어, 사이즈가 256x256 픽셀인 입력 이미지는 16 PE 아키텍처의 각 PE 메모리에 64x64 픽셀씩 균등하게 할당되고 하나의 명령어에 의해 각 PE에 있는 데이터가 동시에 처리됨) 현재 상용화되고 있는 고성능 프로세서 (C6416[8], ARM926EJ-S[21], ARM1020E[22])와 비교하여 평균 22배의 성능, 7배의 에너지 효율 및 3배의 시스템 면적 효율을 보였다.
따라서 공정한 성능 평가를 위해 제안한 매니코어 프로세서와 고성능 프로세서들을 동일한 130nm 테크놀로지로 실험하였다. 제안한 매니코어 프로세서는 16개의 프로세싱 엘리먼트 (PE)를 사용하여 데이터 레벨 병렬성 (data-level parallelism) 을 추구하는 반면, TI C6416은 8-way VLIW 아키텍처로서 8개의 명령어를 동시에 처리할 수 있는 명령어 레벨 병렬성 (instruction-level parallelism)을 추구한다.
본 논문에서는 영상처리 알고리즘을 저전력, 고성능으로 처리하기 위해 SIMD 기반 매니코어 프로세서를 제안하였다. 제안한 매니코어 프로세서는 16개의 프로세싱 엘리먼트를 메쉬 배열 구조로 구성하였으며, 각각의 프로세싱 엘리먼트는 자신에게 맵핑된 영상의 지역데이터를 효율적으로 병렬처리한다. 동일한 공정 (130 nm Technology)과 클럭 주파수 (720MHz)를 사용하여 제안한 매니코어 프로세서를 고성능 TI C6416 DSP와 비교한 결과, 실행 시간에서 평균 22배, 에너지 효율에서 평균 7배, 시스템 면적 효율에서 평균 3배의 성능 향상을 보였다.
그림 1은 SIMD기반 매니코어 프로세서 아키텍처의 블록 다이어그램을 보여준다. 제안한 매니코어 프로세서는 16개의 프로세싱 엘리먼트와 이를 제어하는 Array Control Unit (ACU)으로 구성되어 있고, 데이터가 각각의 프로세싱 엘리먼트에 일정하게 분배되면 프로세싱 엘리먼트들은 메쉬 배열 구조에서 명령어들을 수행한다. 각 프로세싱 엘리먼트는 다음과 같은 특징을 가진다.
표 1은 구현된 매니코어 프로세서의 파라미터를 보여주며, 성능분석을 위해 SIMD기반 매니코어 프로세서용 정밀 사이클 (cycle-accurate) 시뮬레이터를 사용하였다. 효율적인 영상처리를 위해 16개의 프로세싱 엘리먼트를 메쉬 구조로 연결하였으며, 각각의 프로세싱 엘리먼트는 자신에게 맵핑된 영상의 지역데이터를 처리한다. 각 프로세싱 엘리먼트는 32비트 워드 단위의 4096개의 메모리를 가지고 있으며, 130nm 테크놀로지와 720MHz 클럭 주파수를 사용하여 시뮬레이션 하였다.
대상 데이터
그림 10은 16개의 PE를 내장한 매니코어 프로세서의 스키매틱을 보여주며, 합성한 결과는 표 5와 같다. 각 PE는 1095개의 LUT와 195개의 register가 사용되었으며, ACU는 1147개의 LUT와 124개의 register가 사용되었다. 16 PE로 구성된 매니코어 프로세서는 18,667개의 LUT와 3,244개의 레지스터가 사용되고 전체 메모리 비트는 4,202,496bit이다.
효율적인 영상처리를 위해 16개의 프로세싱 엘리먼트를 메쉬 구조로 연결하였으며, 각각의 프로세싱 엘리먼트는 자신에게 맵핑된 영상의 지역데이터를 처리한다. 각 프로세싱 엘리먼트는 32비트 워드 단위의 4096개의 메모리를 가지고 있으며, 130nm 테크놀로지와 720MHz 클럭 주파수를 사용하여 시뮬레이션 하였다.
본 논문에서는 기존의 고성능 프로세서인 TI C6416, ARM926EJ-S[21], ARM1020E[22]와의 성능 비교를 통해 제안하는 매니코어 프로세서의 잠재 가능성을 보여주고자 한다. 따라서 공정한 성능 평가를 위해 제안한 매니코어 프로세서와 고성능 프로세서들을 동일한 130nm 테크놀로지로 실험하였다. 제안한 매니코어 프로세서는 16개의 프로세싱 엘리먼트 (PE)를 사용하여 데이터 레벨 병렬성 (data-level parallelism) 을 추구하는 반면, TI C6416은 8-way VLIW 아키텍처로서 8개의 명령어를 동시에 처리할 수 있는 명령어 레벨 병렬성 (instruction-level parallelism)을 추구한다.
표 1은 구현된 매니코어 프로세서의 파라미터를 보여주며, 성능분석을 위해 SIMD기반 매니코어 프로세서용 정밀 사이클 (cycle-accurate) 시뮬레이터를 사용하였다. 효율적인 영상처리를 위해 16개의 프로세싱 엘리먼트를 메쉬 구조로 연결하였으며, 각각의 프로세싱 엘리먼트는 자신에게 맵핑된 영상의 지역데이터를 처리한다.
이론/모형
Histogram Segmentation은 Histogram 표현과 Otsu 알고리즘을 이용하여 특정 점을 기준으로 영상의 분할을 표현하였다. 입력 영상의 Histogram을 구한 후 Otsu 알고리즘을 적용하여 선택된 임의의 특정점 다수를 기준으로 영상의각 영역을 분할하는 방법이다.
애플리케이션 레벨에서는 명령어 레벨의 SIMD 병렬 프로세서용 정밀 사이클 시뮬레이터를 이용하여, 영상처리 알고리즘에 사용되는 사이클 개수, 동적 명령어 빈도, 프로세싱 엘리먼트 이용률 (utilization) 등의 실행 데이터를 제공한다. 아키텍처 레벨에서는 모델링된 아키텍처의 디자인 변수들을 계산하기 위해 Chai가 제안한 SIMD 병렬 프로세서용 이종 아키텍처 모델링 툴을 사용하였다[18]. 테크놀로지 레벨에서는 각 아키텍처 모델들의 테크놀로지 변수 (latency, power, clock frequency)를 계산하기 위해 Generic System Simulator (GENESYS)를 사용하였다[19].
아키텍처 레벨에서는 모델링된 아키텍처의 디자인 변수들을 계산하기 위해 Chai가 제안한 SIMD 병렬 프로세서용 이종 아키텍처 모델링 툴을 사용하였다[18]. 테크놀로지 레벨에서는 각 아키텍처 모델들의 테크놀로지 변수 (latency, power, clock frequency)를 계산하기 위해 Generic System Simulator (GENESYS)를 사용하였다[19]. 마지막으로 세 레벨에서 구해진 데이터베이스를 조합하여 각 경우에 대한 실행 시간, 처리량, 에너지 효율을 결정하였다.
성능/효과
[10]에서는 DSP와 멀티미디어 애플리케이션에 대한 MMX 명령어의 성능 평가를 기술하였다. MMX 명령어는 81%의 다이내믹 명령어를 감소시켜 평균 5.5배의 성능 향상을 보였다. 이러한 결과에서 보는 바와 같이 SIMD 명령어는 적당한 수준의 성능을 향상시킨다.
제안한 매니코어 프로세서는 16개의 프로세싱 엘리먼트를 메쉬 배열 구조로 구성하였으며, 각각의 프로세싱 엘리먼트는 자신에게 맵핑된 영상의 지역데이터를 효율적으로 병렬처리한다. 동일한 공정 (130 nm Technology)과 클럭 주파수 (720MHz)를 사용하여 제안한 매니코어 프로세서를 고성능 TI C6416 DSP와 비교한 결과, 실행 시간에서 평균 22배, 에너지 효율에서 평균 7배, 시스템 면적 효율에서 평균 3배의 성능 향상을 보였다. 이러한 결과는 제안한 매니코어 프로세서가 영상처리 애플리케이션 처리에 있어서 무한한 잠재 가능성을 보여주며, 모바일 시스템에 적용할 경우 상당한 성능 향상 및 에너지 소비 감소가 기대된다.
제안하는 SIMD기반 매니코어 프로세서의 명령어 종류에는 9가지 형태의 명령어가 존재하는데 산술, 논리, 쉬프트 (shift), 곱셈, 메모리 명령어, 데이터 지역성의 조건에 따라 PE를 활성화시키는 sleep 명령어, 인접 PE와 외부I/O와 통신하는 NEWS (North, East, West, South)명령어, 프로그램을 분기하는 분기 명령어, ACU의 연산을 담당하는 스칼라 명령어가 있다. 그림 3은 SIMD기반 매니코어 프로세서의 각 PE가 데이터 지역성의 정보 조건에 따라서 실행하는 모습을 보여준다.
후속연구
동일한 공정 (130 nm Technology)과 클럭 주파수 (720MHz)를 사용하여 제안한 매니코어 프로세서를 고성능 TI C6416 DSP와 비교한 결과, 실행 시간에서 평균 22배, 에너지 효율에서 평균 7배, 시스템 면적 효율에서 평균 3배의 성능 향상을 보였다. 이러한 결과는 제안한 매니코어 프로세서가 영상처리 애플리케이션 처리에 있어서 무한한 잠재 가능성을 보여주며, 모바일 시스템에 적용할 경우 상당한 성능 향상 및 에너지 소비 감소가 기대된다.
질의응답
핵심어
질문
논문에서 추출한 답변
기존의 ASIC의 단점은?
기존의 ASIC(Application-Specific Integrated Circuit)은 이러한 모바일 멀티미디어에서 요구되는 고성능, 저전력을 만족 시킬 수 있지만 다양한 형태의 멀티미디어 애플리케이션에서 요구되는 범용성을 만족시키지 못한다[2][3][4].
범용 마이크로프로세서(GPP, DSP)가 멀티미디어 애플리케이션에서 요구되는 높은 레벨의 성능을 만족시키지 못하는 이유는?
하지만, 멀티미디어 애플리케이션에서 요구되는 높은 레벨의 성능을 만족시키지 못한다. 왜냐하면 GPP나 DSP는 프로세서 구조의 특성상 멀티미디어에 내재한 고도 병렬성 (massive parallelism)을 활용 하지 못하기 때문이다.
본 논문에서 고성능 멀티미디어 처리를 위한 대안으로 무엇이 제시되었는가?
고성능 멀티미디어 처리를 위한 대안 중에 하나로 SIMD (Single Instruction Multiple Data)기반 병렬 프로세서 아키텍처가 유망하다[5][6]. 명령어 레벨 (Instruction-level)이나 스레드 레벨 (thread-level) 프로세서들은 실리콘 면적을 멀티포트 레지스터 파일 (multiported register file), 캐쉬 (cache), 파이프라인 (deep pipelined) 기능 유닛 등으로 사용하는 반면, SIMD기반 병렬 프로세서는 여러 개의 저비용 프로세싱 엘리 먼트 (processing element, PE)들을 이용하여 고성능을 추구하고 동시에 저장장소와 데이터 통신 요구를 최소화하기 위해 프로세싱 엘리먼트와 데이터 입출력을 동일위치에 배치함으로써 저전력을 만족시킨다[7].
참고문헌 (23)
S.-H. Kim, S.-Y. Nam, and H.-J. Lim, "An improved area edge detection for real-time image processing," Journal of the Korea Society of Computer and Information, vol. 14, no. 1, pp. 99-106, Jan. 2009.
X.-G. Jiang, J.-Y. Zhou, J.-H. Shi, H.-H. Chen "FPGA Implementation of Image Rotation Using Modified Compensated CORDIC," in Proc. of 6th Intl. Conf. on ASIC, vol. 2, pp. 752-756, 2005.
E. B. Bourennane, S. Bouchoux, J. Miteran, M. Paindavoine, S. Bouillant, "Cost comparison of image rotation implementations on static and dynamic reconfigurable FPGAs," in Proc. of IEEE Intl. Conf. on Acoustics, Speech, and Signal Processing (ICASSP '02), vol. 3, pp. III-3176-3179, 2002.
S.-H. Lee, "The design and implementation of prallel processing system using the Nios(R) II embedded processor," Journal of the Korea Society of Computer and Information, vol. 14, no. 11, pp. 97-103, Nov. 2009.
A. D. Blas et. al, "The UCSC Kestrel Parallel Processor," IEEE Trans. on Parallel and Distributed Systems, vol. 16, no. 1, pp. 80-92, Jan. 2005.
L. V. Huynh, C.-H. Kim, and J.-M. Kim, "A massively parallel algorithm for fuzzy vector quantization," The KIPS Transactions: PartA, vol. 16-A, no. 6, pp. 411-418, Dec. 2009.
P. Ranganathan, S. Adve, and N. P. Jouppi, "Performance of image and video processing with general-purpose processors and media ISA extensions," in Proc. of the 26th Intl. Sym. on Computer Architecture, pp. 124-135, May. 1999.
R. Bhargava, L. John, B. Evans, and R. Radhakrishnan, "Evaluating MMX technology using DSP and multimedia applications," in Proc. of IEEE/ACM Sym. on Microarchitecture, pp. 37-46, 1998.
N. Slingerland and A. J. Smith, "Measuring the performance of multimedia instruction sets," IEEE Trans. on Computers, vol. 51, no. 11, pp. 1317-1332, Nov. 2002.
A. Krikelis, I. P. Jalowiecki, D. Bean, R. Bishop, M. Facey, D. Boughton, S. Murphy, and M. Whitaker, "A programmable processor with 4096 processing units for media applications," in Proc. of the IEEE Intl. Conf. on Acoustics, Speech, and Signal Processing, vol. 2, pp. 937-940, May. 2001.
L. W. Tucker and G. G. Robertson, "Architecture and applications of the connection machine," IEEE Computer, vol. 21, no. 8, pp. 26-38, 1988.
"Connection machine model CM-2 technical summary," Thinking Machines Corp., version 51, May 1989.
MarPar (MP-2) System Data Sheet. MarPar Corporation, 1993.
M. J. Irwin, R. M. Owens, "A Two-Dimensional, Distributed Logic Processor," IEEE Trans. on Computers, vol. 40, no. 10, pp. 1094-1101, 1991.
M. Bolotski, R. Armithrajah, W. Chen, "ABACUS: A High Performance Architecture for Vision," in Proceedings of the International Conference on Pattern Recognition, 1994.
S. M. Chai, T. Taha, D. S. Wills, J. D. Meindl, "Heterogeneous Architecture Models for Interconnect- Motivated System Design," IEEE Trans. on VLSI Systems, vol. 8, no. 6, pp. 660-670, 2000.
V. Tiwari, S. Malik, and A. Wolfe, "Compilation techniques for Low Energy: An Overview," in Proc. IEEE Intl. Symp. on Low Power Electrin., pp. 38-39, 1994.
V. Tiwari, S. Malik,and A. Wolfe, "Compilation Techniques for Low Energy: An Overview," in Proc. of the IEEE Intl. Symp. on Low Power Electron., pp. 38-39, Oct. 1994.
ARM 926EJ-S data sheet, http://www.arm.com/products/processors/classic/arm9/arm926.php.
ARM 1020E data sheet, http://www.hotchips.org/archives/hc13/2_Mon/02arm. pdf
Xilinx Vertex-4 FPGA XC4VLX60 data sheet, http://www.alldatasheet.net/ datasheet-pdf/pdf /152986/XILINX/XC4VLX60.html
※ AI-Helper는 부적절한 답변을 할 수 있습니다.