TMS320은 텍사스 인스트루먼트에서 생산하는 디지털 신호 처리 장치(DSP) 시리즈를 통칭하는 이름이다. 1983년 4월 8일 TMS32010 프로세서를 통해 처음 도입되었으며, 당시 시장에서 가장 빠른 DSP였다.
이 프로세서는 다양한 변종으로 제공되며, 일부는 고정 소수점 연산을, 일부는 부동 소수점 연산을 지원한다. TMS320 프로세서는 NMOS와 CMOS 변종을 포함하여 반도체 제조 공정을 통해 생산되었다. 지연 분기 논리(delayed branch logic)를 활용하는 부동 소수점 DSP인 TMS320C3x는 최대 3개의 분기 지연 슬롯을 가진다.
이 프로세서 시리즈는 디지털 신호 처리 보조 프로세서로 사용되거나, 일부 응용 분야에서는 메인 CPU로 사용된다. 최신 구현 제품들은 경계 주사(boundary scan) 및 인서킷 디버깅을 위한 표준 IEEE JTAG 제어를 지원한다.
초기 TMS32010과 그 후속 변종들은 수정 하버드 구조(modified Harvard architecture)를 가진 CPU의 예로, 명령어 메모리와 데이터 메모리에 대한 별도의 주소 공간을 가지면서도 명령어 메모리로부터 데이터 값을 읽어올 수 있는 능력을 갖추고 있다. TMS32010은 DSP 응용 분야와 컴퓨터 그래픽스 변환 작업에 유용한 고속 곱셈-누산(multiply-and-accumulate) 연산 기능을 갖추고 있었다. 1985년에 출시된 아폴로 컴퓨터 DN570 워크스테이션용 그래픽 컨트롤러 카드는 TMS32010을 기반으로 했으며, 초당 20,000개의 2D 벡터를 변환할 수 있었다.
변종
TMS320 아키텍처는 오랜 기간 사용되어 왔기에 수많은 제품 변종이 개발되었다. 첫 번째 TMS32010 프로세서 이후 텍사스 인스트루먼트가 사용한 제품 코드는 "TMS320Cabcd" 형태의 프로세서 이름을 포함하는데, 여기서 a는 메인 시리즈, b는 세대, cd는 하위 변종을 나타내는 특정 숫자이다.
이러한 이유로 DSP 관련 종사자들은 실제 이름이 TMS320C5510인 경우에도 종종 "C5x"와 같이 약칭으로 부르는데, 이는 모든 제품이 "TMS320"이라는 이름을 공유하고 이름에 "C5"가 포함된 모든 프로세서는 코드 호환이 가능하며 동일한 기본 기능을 공유하기 때문이다. 마찬가지로, 같은 시리즈 및 세대의 프로세서들은 더욱 유사하므로 "C55x"와 같이 하위 그룹으로 지칭될 수 있다.
C2000 마이크로컨트롤러 제품군(C28x)은 실시간 제어 응용 분야를 위해 설계된 32비트 마이크로컨트롤러 그룹이다.
이 마이크로컨트롤러들은 PWM, ADC, 구적 인코더 모듈과 같이 제어 시스템에 흔히 사용되는 주변 장치들을 통합하고 있다. 이들은 I²C, SPI, 직렬, CAN과 같은 통신 인터페이스를 지원한다.
PWM 및 고해상도 PWM(HRPWM)과 같은 기능은 C2000 제품군을 모터 제어 및 구동 장치, 산업 자동화, 전력 시스템을 포함한 제어 작업에 적합하게 만든다.
C5000 시리즈
TMS320C54x 16비트 고정 소수점 DSP, 순차 실행(in-order-execution) 방식의 6단계 파이프라인, 산술 연산 시 병렬 로드/스토어, 곱셈 누산 및 기타 DSP 기능 강화. 다중 포트 내부 메모리. 캐시 유닛 없음.
1990년대 후반 많은 노키아 및 에릭슨 휴대전화가 C54x를 사용하던 시기에 2G 소프트웨어 정의 휴대전화 무선 장치를 위한 대중적인 선택지였다.
당시 휴대전화의 사용자 인터페이스를 개선하려는 요구로 인해 사용자 인터페이스 및 제어를 위한 범용 프로세서로 ARM7이 채택되었고, 이 기능은 DSP에서 분리되었다. 이는 궁극적으로 듀얼 코어 ARM7+C54x DSP의 탄생으로 이어졌으며, 이후 OMAP 제품군으로 발전했다.
TMS320C55x 세대 – 고정 소수점, C54x 코드를 실행하지만 더 많은 내부 병렬성(추가 ALU, 듀얼 MAC, 더 넓은 메모리 대역폭)과 레지스터를 추가하는 동시에 훨씬 낮은 전력으로 작동을 지원함.
OMAP4 및 OMAP5 칩은 ARM Cortex-A9 또는 A15 (ARMv7)와 Tesla(또는 C64T)로 알려진 커스텀 C64x+ 파생형을 포함함.
C7000 시리즈
C7000 시리즈는 2020년 초에 출시되었으나 코어는 개별적으로 판매되지 않는다. 2023년 8월 기준으로 이들은 C71x DSP를 탑재한 TDA4VM과 같은 다른 SOC 내부에 번들로만 제공된다.
다빈치 시리즈
다빈치 시리즈는 내장된 C6000 시리즈(C64x+) DSP, ARM9 애플리케이션 프로세서, 디지털 미디어 주변 장치를 사용하는 시스템 온 칩으로 시작되었다. ARM이 포함되지 않거나 DSP가 포함되지 않은 변종들도 존재한다. 이들의 마케팅은 비디오 처리 능력에 초점을 맞추고 있다. 초기 칩들은 NTSC와 PAL을 지원했으며, 최신 칩들은 HDTV를 지원한다.
OMAP 변종
OMAP 변종들은 같은 칩 내부에 ARM 프로세서를 포함하고 있다; 텍사스 인스트루먼트 OMAP에 관한 메인 문서를 참조하라. (다른 보조 프로세서를 가진 OMAP 프로세서들도 있으므로, 이들이 반드시 DSP인 것은 아니다.)
DA 변종
DA 변종 (대상: "디지털 오디오")
DA25x는 ARM 프로세서와 C55x 코어이다. USB 슬레이브 컨트롤러 및 보안 기능과 같은 일부 온칩 주변 장치를 가지고 있다. 이 칩에 대한 문서는 텍사스 인스트루먼트의 NDA에 서명한 후에만 제공된다. 이 변종들은 크리에이티브 ZEN 및 델 디지털 주크박스MP3 플레이어에서 MP3 데이터 스트림의 모든 처리를 위한 메인 CPU 및 신호 프로세서로 독점 사용된다.
TMS320DA7xx Aureus 칩은 C67x+ DSP를 기반으로 구축됨.
DA830/DA828 Aureus 칩은 OMAP-L137을 기반으로 하며, 300MHz C674x DSP와 300MHz ARM926ES-J 코어를 포함함. DA828 변종은 I/O가 줄어들었으며 256-볼 PBGA 대신 176-핀 TQFP 패키지로 제공됨.
DA610/601은 C67x 코어를 탑재한 프로세서이다. 5.1 또는 7.1 시스템용 오디오 코덱에 연결하는 데 필요한 온칩 주변 장치를 가지고 있다. 이 칩은 YAMAHA 하이엔드 리시버인 RX-V1400, RX-V2400, RX-V1600, RX-V2600, RX-V2500에 사용된다.
1991년경, TMS32020의 CMOS 버전이 U320C20FC라는 명칭으로 ZMD에 의해 제조되었다.
NIIET 1867VC10T
TMS320 시리즈의 여러 장치들이 보로네시의 NIIET에서 1867 시리즈로 생산되고 있다. 여기에는 내방사선 버전의 TMS320C25가 1867VM7T (러시아어:1867ВМ7Т)라는 명칭으로 포함된다. TMS320C546의 클론은 2009년 PKK Milandr 모스크바에서 1967VC1T (러시아어:1967ВЦ1Т)라는 명칭으로, 2016년에는 MVC 니즈니노브고로드에서 1910VM1T (러시아어:1910ВМ1Т)라는 명칭으로 생산에 들어갔다. PKK Milandr는 또한 ARM 코어를 추가한 TMS320C54x를 1901VC1T (러시아어:1901ВЦ1Т)라는 명칭으로 제조한다.
2007년 11월, TI는 비상업적 사용자를 위해 툴체인의 일부를 프리웨어로 공개했으며, 컴파일러, 어셈블러, 최적화 도구 및 링커를 독점 라이선스 하에 제공하였다. 하지만 IDE나 디버거는 포함되지 않았기에, DSP 디버깅 및 JTAG 접근을 위해서는 사용자가 여전히 전체 툴체인을 구매해야 한다.
2010년, 텍사스 인스트루먼트는 리눅스 커널을 C6x로 포팅하려는 노력의 일환으로 GCC에서 C6x 시리즈에 대한 깊은 통합과 지원을 제공하도록 코드서서리 (인수 후 멘토 그래픽스로 이관됨)와 계약을 맺었다. 이는 2012년 3월 22일 GCC 4.7 릴리스에서 C6x가 지원되는 아키텍처가 되는 결실을 맺었다.
↑Jan Parthey and Robert Baumgartl, Porting GCC to the TMS320-C6000 DSP Architecture, Appeared in the Proceedings of GSPx’04, Santa Clara, September 2004,