디지털 신호 처리에 펜티엄 칩을 쓰면 안되나?
안될 일은 없다. 그럼 왜 잘 안 쓸까? 가장 큰 이유는 비싸기 때문일 것이다. 비등한 이유로 엄청난 전력소모 요인도 크게 작용할 것이다. 비용측면이 크게 고려되지 않는 분야에서는 펜티엄 칩이 아주 훌륭한 신호처리엔진으로 사용되고 있다.
그러나, 몇만원짜리 모터를 돌리기 위해서 몇십만원짜리 펜티엄 칩을 사용한다면?, 휴대용 MP3 플레이어에 펜티엄칩이 사용된다면 그다지 큰 허풍을 안 보태더라고 승용차용 배터리를 짊어지고 다녀야할 지도 모른다는 얘기를 할 수 있을 것이다. 그리고, 펜티엄 칩하고 TMS320LF2403A 하고 칩 크기도 한 번 비교해보시기 바란다.
가격, 전력소비, 크기등 이 세가지 요소만이 DSP를 사용하게되는 배경일까? 주요 DSP 알고리즘을 살펴보자.
대표적인 DSP 알고리즘들
영어에다가 수식이다보니 모니터를 부수려들려고 하시는 분이 나오실런지 모르겠다. 조금만 참고 몇줄만 더 읽어봐주시기 바란다.
처음 두 수식은 필터에 관한 것이다. 세 번째는 선형시스템의 입출력 관계를 나타내고, 마지막 두 수식은 변환에 관련된 수식이다.수식을 보면 한결같이 곱셈 항들의 덧셈으로 구성되어 있음을 알 수 있다. 처음 수식에서 M = 2가 되면 제어 시스템에서 흔히 볼 수 있는 PID제어 알고리즘이 된다.
표에서 보여주는 수식은 한결같이 곱셈과 덧셈으로 표현되고 있음에 주목하자. 곱해지고 더해지고...
곱셈 항들의 이어지는 덧셈을 영어로는 Sum of Product 라고 표현한다. 이 Sum of Product가 DSP의 핵심 연산 엔진이 된다. 이 부분에 주력한 것이 바로 DSP가 된다.
펜티엄과 같은 칩은 어디에 쓰이나?
펜티엄과 같은 칩을 범용 프로세서로 분류하고, 영어로는 GPP(General Purpose Processor) 라고 부르기도 한다. 이러한 범용 칩들의 특징으로는 매우 큰 메모리를 관리할 수 있다는 것과, 윈도우즈 XP와 같은 범용 대용량 운영체제를 탑재할 수 있다는 것이 대표적이다. 실제로 게임기부터 산업용 PC 등등 곳곳에 두루두루 쓰인다.
DSP 칩은 어디에 쓰이나?
실시간 시스템에서는 펜티엄과 같은 GPP의 사용 비율이 얼마되지 않는다. 대체적으로 실시간 시스템의 경우, 요구하는 작업 수는 많지 않으나, 작업 특성상 계산량을 많이 요구하며 시간내에 처리하지 못하면 시스템에 치명적인 오류가 발생하는 특징을 띄고 있다. 이런 분야에 DSP 같은 칩이 널리 쓰인다. 물론 DSP 칩도 규모가 점점 커짐에 따라 범용성을 점점 확보하고는 있으나, 기본적으로 Sum of Product를 잘하는데 초점을 맞추고 있다.
다음은 세종대학교 정보통신공학과 백 종빈, 조 수정씨가 조사 정리한 실시간 시스템과 실시간 운영체제에 대한 설명이다. 시간을 내어서, 한번 읽어 봐주시기 바란다.
Real Time System(RTS 실시간 시스템)
정해진 시간 내에 시스템의 결과를 출력하는 시스템이다. 이 말은 주어진 작업을 빨리 처리하는 것이 아니라 정해진 시간을 넘겨서는 안된다는 것으로 임베디드 시스템이 실시간적인 요소가 있기 때문에 실시간 시스템이라고도 하지만 모든 임베디드 시스템이 실시간이라는 것은 아니므로 실시간 시스템이 임베디드 시스템에 포함된다는 것이 정확하다.
Hard Real-Time Sysytem
정해진 시간 내에 작업의 결과가 절대적으로 출력되어야 하는 시스템으로 핵발전소의 제어 시스템이라던지 인공위성 전투기 등의 제어시스템이 이에 속한다.
Soft Real-Time System
정해진 범위를 넘는 시간 지연이 발생하더라도 그것이 시스템에러가 되지 않는 경우. 휴대폰을 예로 들 수 있음.
Real Time Operation System(RTOS 실시간 운영체제)
초기 임베디드 시스템의 경우 단순한 순차적인 프로그램을 실행하면 되었으나 최근엔 시스템 자체가 커지고 네트워크, 멀티미디어가 시스템의 기본으로 자리잡으면서 운영체제의 필요성이 부각되고 있다. 임베디드 시스템이 갖는 특성 중 실시간 적인 요소를 충족하기 위해 나온 운영체제로 임베디드 시스템의 근간이 되는 운영체제이다. 일반 운영체제들이 수행하는 요소들도 지원하지만 시간 제약의 차이, 신뢰성, 범용성, 특수성에서 차이가 있다. 임베디드 시스템은 정해진 시간 내에 수행하는 능력, 신뢰성이 일반 운영체제보다 확실하게 지켜져야 한다.
<자료출처 - (주)싱크웍스(http://www.syncworks.co.kr)>
※ 글을 옮겨갈 때에는 꼭 출처를 밝혀주시기 바랍니다.