[App 개발] Cell 아키텍쳐 글을 읽기위한 간단한 토막상식 (2)
본문
* DSP
DSP 라는 것이 각광을 받기 시작한 것은 80년대 말~90년대 초라고 여겨집니다. 그 당시까지는 DSP 라는 개념이 확립되어 있긴 했지만 이것을 실현할 수 있는 빠른 속도의 프로세서가 없었습니다. 그러던 것이 80년대 Texas Instruments 에서 전설적인 TMS 32010 이라는 칩을 발표하면서 새로운 역사가 시작된 셈입니다.
초창기 DSP 를 간단히 정의하면 이렇습니다. "곱셈과 덧셈을 한 번에 한 사이클에 처리할 수 있는 프로세서"
왜 이것이 중요하냐 하면, 사실 신호처리 (Signal Processing) 이라는 작업의 대부분이 바로 이 곱셈과 덧셈의 반복입니다. 벡터 A 랑 벡터 B 를 주루룩 곱하고 더해서 백테 C 의 값 하나를 만들고, 벡터 B 를 한 칸 옆으로 밀어서 다시 곱하고 더하고... 이런 작업을 빠르게 처리할 수 있는 명령어와 회로를 구성해 주는 것이지요. DSP 를 반도체로 구성한 것을 보면 반 이상이 바로 이 곱셈기에 할애되어 있을 정도입니다.
한 사이클에 이 모든 것을 처리하기 위해서 많은 새로운 개념들이 적용됩니다. 하버드 아키텍쳐라고 하는 것이 있습니다. 명령어는 명령어 버스에, 데이터는 데이터 버스에 각각 따로 실어옴으로써 한 사이클에 한 명령을 처리할 수 있게끔 하였고, 그 대신 데이터의 번지수를 작게 만들어서 어드레싱 또한 한 클럭에 동작하게 해야 했습니다. (그래서 DSP 는 억세스할 수 있는 메모리 공간이 작습니다) 그리고 전통적으로 DSP 는 캐시를 쓰지 않고, 초고속의 SRAM 을 사용합니다. 어차피 어드레싱할 공간이 크지 않기 때문에 캐시고 자시고 필요가 없습니다.
어? 점점 더 어디선가 들어본 것 같은 이야기가 되어가고 있지요? ^^
말 그대로 셀이라는 프로세서는 PowerPC G5 에다가 DSP 를 여덟 개 연결해 놓은 칩입니다. 그리고 그 사이를 고속의 로컬 버스로 연결하고 있는 셈이지요. 뭐 이것저것 미사여구를 많이 갖다 붙여놓고, 지금껏 x86 에서는 볼 수 없는 매우 aggressive 한 디자인이 어쩌니 저쩌니 했지만, 사실 옛날부터 있던 것입니다. (해 아래 새 것이 없습니다. ㅡㅡ;)
한때 DSP 만능론이 대두된 적도 있었습니다. TI DSP 의 강력함에 매료되어 모든 업체들이 전부 DSP 로 중요 칩을 구성하려고 했습니다. 하지만, 결국 시장을 움직이는 것은 "가격 대 성능비", 그리고 "효율" 이었습니다. DSP 가 아무리 빨라봤자 ASIC 으로 회로를 구성하는 것보다는 속도가 느릴 수밖에 없었고, 따라서 영상 분야에서 DSP 는 인기를 얻지 못했습니다. 그리고 DSP 를 대량으로 생산한다 해도 가격이 비싸다는 단점이 있었습니다. 그리고 결정적으로 VHDL 등이 주류로 등장하면서 이제 웬만한 하드웨어는 모두 FPGA 하나에 때려박는 시대가 되었기 때문입니다.
하지만 DSP 의 유연성은 대단한 장점입니다. 그리고 코프로세서로서의 DSP 는 무척 좋은 선택일 수 있습니다.
그리고, 일본이 유독 DSP 에 대한 집착이 강한 편입니다. ㅎㅎ 전자과학이나 전자기술 같은 일본 서적들에 DSP 관련 기사들이 참 많았지요. 그리고 닌텐도 슈퍼 패미콤에서 제가 다섯 손가락 안에 꼽는 코나미의 "콘트라 스피리트" 팩에 바로 NEC 의 DSP 가 탑재되어 현란한 360도 회전 스크류~ ㅡㅡ;;; 쿨럭... 회전 스크롤을 선보였죠. 플스 3 에는 바로 이 DSP 가 수도 없이 박히게 됩니다. 이번에는 3차원 회전 스크류를 선보일려나요? ㅎㅎㅎ
최신글이 없습니다.
최신글이 없습니다.
댓글목록 0