반응형
벡터 프로세서는 벡터 연산을 위한 명령어를 가진 CPU를 의미한다. Array Processor라고도 한다.
파이프 라인 (Pipeline)이 복수의 명령어를 동시에 처리하는 것이라면 벡터 프로세싱은 복수의 데이터를 동시에 처리하는 것이다. 즉, 스칼라 값인 1개의 데이터를 연산하는 것이 아니라 벡터로 구성된 여러 데이터를 1개의 명령어로 벡터 합, 차, 곱 등의 연산을 하는 것이다. 벡터 연산을 소프트웨어가 아닌 하드웨어로 고속으로 처리한다.
현재 PC와 스마트폰에 사용되는 대부분의 CPU에는 벡터 프로세싱 기능을 가지고 있다.
예를 들면, 다음과 같은 벡터 내적 (Dot Product)에서 2개의 데이터(a1과 a2 또는 b1과 b2)로 구성된 2개의 벡터를 곱하는 동작을 1개의 명령으로 할 수 있다.
벡터 내적은 디지털 필터의 기본 형태이기 때문에 벡터 프로세싱을 하면 디지털 필터를 고속으로 구현할 수 있다. 이러한 벡터 연산을 소프트웨어로 구현하려면 많은 시간이 소요된다. 100개의 데이터를 처리하기 위해서는 100번의 곱셈과 100번의 덧셈이 필요하다. 하지만, 벡터 프로세서는 이것은 1개의 명령어로 처리할 수 있다.
TI에서 나오는 DSP는 벡터 프로세싱 기능을 내장하고 있다.
반응형
'컴퓨터공학' 카테고리의 다른 글
아스키 코드표 (0) | 2017.09.15 |
---|---|
마크업 언어 (Markup Language) (0) | 2017.09.13 |
해시 (Hash)란 무엇인가? (0) | 2017.09.02 |
사용자 인터페이스는 어떻게 설계해야 하는가? (0) | 2017.08.31 |
Runtiime과 Runtime Library 이란? (0) | 2017.08.29 |
댓글