• 제목/요약/키워드: SIMD 명령어

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

프로그래밍이 가능한 GPU 상에서의 버텍스 프로그래밍의 최적화 기법 (Optimization Technique for Vertex Programming on Programmable GPU)

  • 오진상;임인성
    • 한국컴퓨터그래픽스학회논문지
    • /
    • 제8권3호
    • /
    • pp.25-34
    • /
    • 2002
  • 최근 프로그래밍이 가능한 그래픽스 프로세서(GPU)의 등장은 렌더링 속도의 향상은 물론 기존의 GPU가 할 수 없었던 다양한 그래픽스 계산을 효과적으로 수행할 수 있도록 해주고 있다. 이로 인하여 기존에 CPU 상에서 수행해야만 했던 그래픽스 계산들의 일부를 GPU 상에서 수행하도록 해주는 기법들에 대한 연구가 활발히 진행되고 있다. 본 논문에서는 선형식에 기반을 둔 여러 응용 문제들을 GPU 상에서 효율적으로 구현할 수 있도록 도와주는 쉐이더 코드 최적화 기법을 제안한다. 이 기법은 SIMD 형태의 병렬 처리 능력을 가진 버텍스 쉐이더의 명령어에 맞게 고안되었다. 본 기법의 활용 가능성을 보이기 위하여 미분 방정식을 풀기 위한 4차 런지-쿠타 방법, 선형방정식을 풀기 위한 가우스-자이델 방법, 자연스러운 유체 모델링을 위한 파동 방정식 등의 문제에 적용하여 보았다. 본 논문에서 제안한 최적화 기법은 버텍스 쉐이더 용 컴파일러 구현에 쓰일 수 있으며, 향후 프로그래밍이 가능한 GPU 상에서의 실시간 그래픽스 소프트웨어 개발에 유용하게 사용될 수 있을 것이다.

  • PDF

ARMv8 상에서 LEA 암호화 고속 구현 (High Speed Implementation of LEA on ARMv8)

  • 서화정
    • 한국정보통신학회논문지
    • /
    • 제21권10호
    • /
    • pp.1929-1934
    • /
    • 2017
  • 경량 블록암호화 (Lightweight Encryption Algorithm, LEA)는 연산의 효율성과 높은 보안성으로 인해 가장 각광받고 있는 블록암호화 알고리듬이다. 해당 블록암호화는 실제 응용프로그램에서도 많이 사용되고 있으며 서비스 가용성을 높이기 위해 연산 성능을 개선하는 연구가 많이 진행되고 있다. 본 논문에서는 최신 ARMv8 프로세서 상에서 LEA 연산을 최적화하는 방안에 대해 제안한다. 구현은 새로운 SIMD 명령어 셋인 NEON을 통해 최적화되었으며 병렬화된 연산을 통해 동시에 24 번의 암호화 연산을 수행하도록 한다. 메모리 접근 횟수를 줄이기 위해 활용가능한 모든 NEON 레지스터에 중간 계산값을 할당하여 활용하였다. 해당 구현 결과는 속도 관점에서 평가되었으며 ARMv8 상에서 LEA 암호 구현은 Apple A7 그리고 Apple A9 프로세서 상에서 각각 2.4 cycles/byte 그리고 2.2 cycles/byte 안에 수행 가능함을 확인할 수 있었다.

다수 혹은 긴 워드 연산을 위한 레지스터 파일 확장을 통한 대칭 및 비대칭 암호화 알고리즘의 가속화 (Accelerating Symmetric and Asymmetric Cryptographic Algorithms with Register File Extension for Multi-words or Long-word Operation)

  • 이상훈;최린
    • 전자공학회논문지CI
    • /
    • 제43권2호
    • /
    • pp.1-11
    • /
    • 2006
  • 본 연구에서는 대칭 및 비대칭 암호화 알고리즘을 가속화하기 위해, 다수 혹은 긴 워드 연산을 위한 레지스터 파일 확장 구조 (Register File Extension for Multi-words or Long-word Operation: RFEMLO)라는 새로운 레지스터 파일 구조를 제안한다. 암호화 알고리즘은 긴 워드 피연산자에 대한 명령어를 통하여 가속화 할 수 있다는 점에 착안하여, RFEMLO는 하나의 레지스터 명을 통해 여러 개의 레지스터에 접근할 수 있도록 하여 여러 연산자에 대해 동일한 연산을 수행할 수 있도록 하거나, 여러 개의 레지스터를 하나의 데이터로 사용할 수 있게 한다. RFEMLO는 긴 워드 피연산자에 대한 명령어 집합의 추가와 이를 지원하는 기능 유닛을 추가함으로서 범용 프로세서에 적용할 수 있다. 제안된 하드웨어 구조와 명령어 집합의 효율성을 평가하기 위해 Simplescalar/ARM 3.0을 사용하여 대칭 및 비대칭의 다양한 암호화 알고리즘에 적용하였다. 실험 결과, RFEMLO을 적용한 순차적 파이프라인을 가진 프로세서에서 대칭 암호화 알고리즘의 경우 $40%{\sim}160%$의 성능 향상을, 비대칭 암호화 알고리즘의 경우 $150%{\sim}230%$의 높은 성능향상을 얻을 수 있었다. RFEMLO의 적용을 통한 성능 항상은 이슈 폭의 증가를 이용한 슈퍼스칼라 구현에 따른 성능 향상과 비교할 때, 훨씬 적은 하드웨어 비용으로 효과적인 성능 향상을 얻을 수 있음을 확인하였으며 슈퍼스칼라 프로세서에 RFEMLO를 적용하는 경우에도 대칭 암호화 알고리즘에서는 최대 83.6%, 비대칭 암호화 알고리즘에서는 최대 138.6%의 추가적인 성능향상을 얻을 수 있었다.

실시간 HEVC 인코더 구현을 위한 병렬화 기법에 관한 연구 (Study of parallelization methods for real-time HEVC encoder implementation)

  • 안용조;황태진;이동규;김상민;오승준;심동규
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2013년도 하계학술대회
    • /
    • pp.119-122
    • /
    • 2013
  • ITU-T VCEG 과 ISO/IEC MPEG 이 공동으로 구성한 JCT-VC (Joint Collaborative Team on Video Coding)이 표준화를 진행 중인 HEVC (High Efficiency Video Coding)은 H.264/AVC 대비 약 2 배의 압축효율을 갖는다. 하지만, 계층적 구조를 갖는 가변크기 블록의 사용과 재귀적 부호화 구조에 따른 인코더의 복잡도 증가는 개선해야 할 문제점으로 지적되고 있다. 본 논문에서는 현재 표준화가 진행 중인 HEVC 인코더의 실시간 구현을 위한 SIMD 명령어를 이용한 data-level 병렬화 기법, CPU 및 GPU 를 이용한 multi-threading 기법과 같은 다양한 병렬화 기법을 소개한다. 또한, 이러한 병렬화 기법들을 HEVC 인코더에 적용하기 위해 적합한 연산 및 기능 모듈에 대하여 소개한다. 본 연구를 통하여 HM (HEVC reference model)에 적용한 결과 $832{\times}480$ 영상의 경우 20-30fps 의 부호화 속도를 나타냈으며, $1920{\times}1080$ 영상의 경우 5-10fps 의 부호화 속도를 나타내었다.

  • PDF

실시간 MPEG-2 to MPEG-4 트랜스코더의 설계 및 구현 (Design and Implementation of Realtime MPEG-2 to MPEG-4 Transcoder)

  • 김제우;김용환;김태완;최병호
    • 한국방송∙미디어공학회:학술대회논문집
    • /
    • 한국방송공학회 2003년도 정기총회 및 학술대회
    • /
    • pp.143-146
    • /
    • 2003
  • 최근 디지털 당송과 이동통신 단말기의 대중화가 이루어짐에 따라 고화질 고해상도의 멀티미디어 컨텐츠의 이동통신 단말기에서의 재생 서비스에 대한 수요가 증가하고 있다 이동통신 단말기에서 멀티미디어 컨텐츠 재생 서비스를 제공하기 위해서는 디지털 방송 컨텐츠를 단말기에 적합한 컨텐츠로 변환할 필요가 있다. 본 논문은 디지털 방송 규격인 MPEG-2 컨텐츠를 이동통신 단말기에서 지원하는 MPEG-4 SP(Simple Profile) 컨텐츠로 실시간으로 변환하는 트랜스 코더에 대한 설계와 구현 기술을 제안한다. 구현된 트래스코더는 화질 유지와 계산량 감소를 위한 적응적 움직임벡터 재구성, 매크로블록 모드 선택, 그리고 움직임벡터 scaling 등의 알고리즘을 포함하고, 인텔사에서 제공하는 SIMD(Single Instruction Multiple Data) 명령어를 이용하여 최적화되었다. 트랜스코더는 30fps, 8Mbps, $720\times480$ 해상도의 멀티미디어 컨텐츠를 다양한 비트율의 30fps, $352\times240$ 해상도의 MPEG-4 컨텐츠로 실시간 변환할 수 있다.

  • PDF

소프트웨어 기반 실시간 HEVC 인코더 구현을 위한 병렬화 기법에 관한 연구 (Study of Parallelization Methods for Software based Real-time HEVC Encoder Implementation)

  • 안용주;황태진;이동규;김상민;오승준;심동규
    • 방송공학회논문지
    • /
    • 제18권6호
    • /
    • pp.835-849
    • /
    • 2013
  • ISO/IEC MPEG과 ITU-T VCEG이 공동으로 구성한 JCT-VC (Joint Collaborative Team on Video Coding)가 표준화를 진행한 HEVC (High Efficiency Video Coding)는 H.264/AVC 대비 약 2배 혹은 그 이상의 압축효율을 목표로 표준화가 시작되었다. 하지만, 계층적 구조를 갖는 가변크기 블록의 사용과 재귀적 부호화 구조에 따른 인코더의 복잡도 증가는 개선해야 할 문제점으로 지적되고 있다. HEVC 인코더의 복잡도를 감소시키기 위하여 다양한 고속화 알고리즘들이 제안되고 있으나, 고속화 알고리즘으로 얻을 수 있는 속도 향상만으로 HEVC 인코더의 실시간성을 확보하기에는 어려움이 있다. 본 논문에서는 현재 표준화가 완료된 HEVC 인코더의 실시간 구현을 위하여 SIMD 명령어를 이용한 데이터 수준 병렬화 기법, CPU 및 GPU를 이용한 멀티스레딩 기법과 같은 다양한 병렬화 기법을 소개한다. 또한, 이러한 병렬화 기법들을 HEVC 인코더에 적용하기 위해 적합한 연산 및 기능 모듈에 대하여 소개한다. 본 연구에서 제안한 방법을 HM (HEVC reference model) 10.0에 적용한 결과 $832{\times}480$ 영상의 경우 20~30fps의 부호화 속도를 나타냈으며, $1920{\times}1080$ 영상의 경우 5~10fps의 부호화 속도를 나타내었다.

통신부담을 감소시킨 영상처리를 위한 병렬처리 방식 ASIC구조 설계 (Design of an Image Processing ASIC Architecture using Parallel Approach with Zero or Little)

  • 안병덕;정지원;선우명훈
    • 한국통신학회논문지
    • /
    • 제19권10호
    • /
    • pp.2043-2052
    • /
    • 1994
  • 본 논문에서는 근접한 Processing Element(PE)들간의 통신 부담을 경감시켜 영상신호를 실시간 처리할 수 있는 새로운 병렬처리 방식 ASIC 구조를 설계한다. 하나의 Sliding Memory Plane (SliM) Image Processor chip을 병렬처리 방식을 사용 $3\times3$ PE를 격자 형태로 연결한다. 제안하는 Image Processor를 구현할 수 있다. Sliding 개념은 별도의 보조 프로세서나 DMA를 사용치 않고 또한 PE들을 interupt 걸지 않고 모든 화소가 이웃 PE로 이동됨을 의미한다. 따라서 근접 통신과 계산이 동시에 일어나 기존의 격자 연결 병렬 컴퓨터의 결정적 단점인 근접 통신 부담을 경감시킬 수 있다. 또한 하나의 PE에 두 개의 입출력용 레지스터 plane을 사용, buffer를 제공하여 입출력 부담을 감소시킨다. SliM Image Processor에서는 단지 4개의 통신 link만으로 8가지 방향의 통신경로를 제공하는 by-passing path에 의해 통신 부담없이 대각선 통신을 수행할 수 있다. 제안하는 유일한 특성들로 인해 영상 신호 처리시 성능을 향상시킬 수 있다. 영상신호 처리를 위한 알고리즘들을 효율적으로 수행키 위한 PE, Image Processor 구조 및 명령어를 설계한다.

  • PDF

고속의 클러스터 추정을 위한 매니코어 프로세서의 디자인 공간 탐색 (Design Space Exploration of Many-Core Processor for High-Speed Cluster Estimation)

  • 서준상;김철홍;김종면
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권10호
    • /
    • pp.1-12
    • /
    • 2014
  • 본 논문에서는 단일 명령어, 다중 데이터 처리 기반의 매니코어 프로세서를 이용하여 높은 계산량이 요구되는 차감 클러스터링 알고리즘을 병렬 구현하고 성능을 향상시킨다. 또한 차감 클러스터링 알고리즘을 위한 최적의 매니코어 프로서서 구조를 선택하기 위해 다섯 가지의 프로세싱 엘리먼트 (processing element, PE) 구조 (PEs=16, 64, 256, 1,024, 4,096)를 모델링하고, 각 PE구조에 대해 실행시간 및 에너지 효율을 측정한다. 두 가지 의료 영상 및 각 영상의 세 가지 해상도(($128{\times}128$, $256{\times}256$, $512{\times}512$)를 이용하여 모의 실험한 결과, 모든 경우에 대해 PEs=4,096구조에서 최고의 성능 및 에너지 효율을 보였다.

영상처리용 16개의 처리기를 위한 다중접근기억장치 및 병렬처리기의 칩 설계 (Design to Chip with Multi-Access Memory System and Parallel Processor for 16 Processing Elements of Image Processing Purpose)

  • 임재호;박성미;박종원
    • 한국멀티미디어학회논문지
    • /
    • 제14권11호
    • /
    • pp.1401-1408
    • /
    • 2011
  • 본 논문에서는 영상처리용 16개의 처리기를 위한 다중접근기억장치(Multi-Access Memory System) 및 병렬처리기의 칩을 설계하였다. 다중접근기억장치는 병렬접근 메모리 시스템의 한 종류로서 영상의 픽셀 데이터값에 8가지 타입으로 동시 접근이 가능하다. 또한 일정한 간격을 두고 픽셀 데이터값에 접근하는 것이 가능하다. 다중접근기억장치가 내장된 병렬처리기는 실제로 2003년에 구현되어진 적이 있다. 하지만 고해상도 영상을 실시간으로 처리하기에는 그 성능이 미치지 못하였다. 이에 본 논문에서는 이전의 시스템의 메모리 모듈(Memory Module)과 처리기(Processing Element)를 추가 확장하여 보다 개선된 병렬처리 시스템을 설계하였다. 이 시스템은 이전의 시스템보다는 3배, 시리얼 시스템보다는 6배 빠른 속도로 모폴로지컬 클로징(Morphological closing) 알고리즘의 수행이 가능하다.