DSP 시스탬에 대하여

waves dsp 는 램타입 같은건 아닙니다..전 사실 램타입이라는게 무슨뜻으로 말씀하신건지 잘 모르겠습니다 ㅠ
그냥 x86아키택처(CPU) 를 오디오 dsp로 쓰는것 라고 생각하심 됩니다.(뒤에 이야기 하지만 사실상 돈낭비죠)
계산기 기능을 하는 칩에는 몇가지 종류가 있는데요
그래픽 계산을 위한 GPU . 범용으로 쓰이는 CPU , 그리고 오디오 로 쓰이는 DSP 입니다.
셋은 구분이 매우 애매한데요
일단 GPU 는 좌표계산, 색표현 그리고 픽셀곗수(해상도)만큼의 동시 계산 능력이 중요하기 떄문에 단순 한 계산기유닛을 수천계를 병렬로 연결해놓은 구조입니다. 화면에 있는 점 하나하나 마다 좌표, 색 등의 간단 계산을 한번에 처리하는게 중요하죠
그리고 CPU는 원래는 그냥 계산기에, 여러가지 컴퓨터의 하드웨어및 주변기기 컨트롤 명령어 라인을 추가한놈입니다.그래서 범용 컴퓨터 용도로 쓰는것이구요
DSP 는 CPU 처럼 그냥 계산기에 여러가지 오디오 신호 처리 명령어 라인을 추가한 놈입니다.
(여기서 미리 밝혀두자면, 현제의 컴퓨터는 멀티미디어 성능이 매우 중요하기 때문에 CPU 가 GPU 와 DSP 를 흡수한 형태로 발전해서…. 요즘 CPU 는 왠만한 GPU 나 DSP 보다도 더 ….좋습니다…라고 미리 서두에 밝혀둡니다.)
GPU, CPU , DSP 에 공통으로 들어있는 계산 능력은 한번에 얼마나 큰 수를 덧샘 뺼샘 곱샘 나눗샘 등 계산을 할수 있느냐가 중요한 스팩인데요 자리수 표현을 위해서 16비트, 24비트 32비트 등의 스팩이 있습니다. 우리가 흔히 말하는 32비트 컴퓨터가 32비트 부동소수 연산 능력을 말하는거구요 지금은 64비트 CPU 가 나오고 있죠, GPU들은 128비트 더블 프레시젼 등을 계산하는걸로 알고 있습니다.
DSP 도 이런 비트가 있습니다. 예전 UAD1 이 24비트 스팩이었구요, 지금 UAD2 는 32비트 부동소수 스팩입니다.프로툴의 경우 예전 TDM 유닛이 48비트 더블프레시젼 유닛이었구요. AAX 는 32비트 부동수스 스팩입니다.
여담이지만 TDM 시절 플러그인을 CPU 로 돌리는 RTAS 는 32비트 부동소수라 TDM 48비트해상도와 RTAS 32비트 부동소수해상도가 서로 사운드가 달랐습니다. 당연히 해상도만 보자면 RTAS 가 더 좋은데도 딜레이 컴펜세이션 지원등의 미비로 뭐가 더 낫다 그렇다 는 유저들의 판단에……
해상도는 24비트 <48비트 <32비트 부동소수 순서로 32비트 부동소수가 제일 높습니다.
여튼 기본 숫자 계산 능력만 보자면 GPU 가 압도적으로 높은걸로 알고 있습니다. 그담은 매우 단가가 비싼 칩인 CPU …
그리고 계산기 기능외에 나머지 오디오 신호 처리 명령어 라인인데요
요즘 인텔 이나 AMD CPU 들은 DSP 만큼의 오디오 신호처리 명령어 라인이 내장되어 잇습니다… (GPU 명령어 라인들도 GPU 만큼 내장하고 있죠..)
요즘은 사실상 모든 CPU 들은 DSP 고 DSP 들은 CPU 에서 오디오 기능과 계산기기능만 가진것과 같다고 보시면 됩니다.
다만 CPU 가 그렇게 막강한데도 불구하고, 큐베이스 등의 CPU 사용 DAW 들이 오디오 처리 신호속도가 늦는것은……기본으로 OS 가 그 CPU 상에서 돌고 있고 다른 소프트웨어들도 돌고 있기 떄문입니다. (윈도우 나 맥OS 의 멀티테스킹 떄문입니다…멀티테스킹이란게 실제로 동시에 여러가지가 한번에 되는게 아니고 각각 소프트웨어와 명령어들이 톱니처럼 하나하나 매우빠르게 반복되고 있기 떄문에 매우 빠르게 돌리면 동시에 돌아가는것처럼 느껴지는 것뿐입니다. 여튼 이 톱니바퀴 사이클 만큼 레이턴시가 추가 됩니다….)
만약 CPU 를 오디오 전용으로만 따로 DSP 로 쓴다면 (피라믹스의 masscore 시스탬이 그와 같은 경우) 레이턴시를 극적으로 줄일수 있습니다.
예를들면 피라믹스의 매쓰코어는 CPU 가 시스탬상에서 코어 몇개가 사라집니다. 쿼드코어 CPU 를 쓰는데 매쓰코어를 2코어를 활성화 하면 아마 CPU 코어가 2개 윈도우 상에서 사라지고 그 CPU 는 피라믹스 전용의 DSP 처럼 동작하게 되서 피라믹스에서 돌리는 VST 플러그인들을 dSP 플러그인처럼 거의 제로레이턴시로 돌릴수 있게 되는걸로 알고 있습니다..
waves 의 dsp 는 그런 비슷한 제품입니다. 제가 dsp 서버가 있는데 뜯어보면 그냥 컴퓨터입니다. I5 cpu 에 메모리 2기가 있고 부팅용 스몰 ssd 박혀 있습니다. 그 ssd 에 전용 OS 가 깔려있는데 이 OS 가 사운드그리드 네트ㅇ워크로 들어오는 모든신호를 CPU 로 연결해서 DSP 처리를 해주는 중간 계층일뿐입니다.(랜 입력 ->CPU 직결) 레이턴시는 0.8ms 로 프로툴 aax dsp 나 UAD dsp 보다 훨씬 짧습니다.
근데 사실상 이런 시스탬은 등장할수 없어야 정상입니다/.
왜냐면 CPU 가격은 몇십만원씩 하지만 DSP 칩은 하나당 몇만원 도 안합니다….. 그래서 CPU 로 DSP 처럼 쓰느니 그냥 DSP 를 사서 전용 프로그래밍을 해서 쓰는게 훨씬 이익인데요
근데 더 따지고 들어가보면, 그런 DSP 전용의 명령어 라이브러리를 써서 새로 프로그램을 짜서 만드는것은 노력의 비용이 또 들어가기 떄문이죠….
waves 의 경우는 그냥 CPU 용으로 돌리던 플러그인에 조금만 개조해주면 사운드그리드 DSP 용으로 돌아가는 모양입니다 . 왜냐면 똑같은 명령어라이브러리를 쓰기 떄문이죠…..
하지만 프로툴이나 UAD 의 경우에는 다른 명령어라이브러리를 쓰는(칩이 인텔이 아닌다른회사꺼라) 다시 제 프로그래밍 해야 하겠죠?
다시말해서 프로그래머에게 줄돈 100, DSP 가격 10 해서 110 이고 웨이브스의 경우는 프로그래머에게 줄돈10 CPU 가격 100 해서 110 이라 (왜냐하면 모든 플러그인이 이미 기존에 다 만들어져있는 상태이기 떄문이죠..새로 만들 필요가 없기 떄문이죠..)
가격경쟁력이 비슷해진 케이스입니다…….
제가 분명 말하는건 칩의 스팩으로 보면 인탤 CPU 는 다른 칩들에 비해서 넘사벽의 스팩과 능력이 있는 칩입니다…이걸 오디오 전용의 DSP 만으로 쓰는건 엄청 낭비인데,…..
타회사 제품들이 소프트웨어 개발비 명목으로 원가가 저렴한 DSP 제품을 비싸게 파니..
그런일이 벌어지고 있는것 뿐입니다/
제 생각은 64비트 해상도 칩이나 뭐 128비트 해상도 계산등의 새로운 스팩의 dsp 가 나타나지 않는한 같은 해상도와 같은 샘플레이트 상에서는 CPU 나 DSP 나 다를게 없습니다. 프로그램 명령어라이브러리가 다르기 떄문에, 각기 전용으로 플러그인을 제작해야 할뿐이죠
뭔가 여러가지 상황에 대해서 장황하게 썼는데 이해가 되셨으면 좋겠습니다.