TMS320

テキサス・インスツルメンツ TMS32020

TMS320は、テキサス・インスツルメンツ社製のデジタル信号プロセッサ(DSP)シリーズの総称です。1983年4月8日に発売されたTMS32010プロセッサは、当時市場最速のDSPでした。

このプロセッサには様々なバリエーションがあり、固定小数点演算機能を備えたものと浮動小数点演算機能を備えたものがあります。TMS320プロセッサはMOS集積回路チップ上に製造されており、 NMOSCMOSの両方のバリエーションがあります。遅延分岐ロジックを採用した浮動小数点DSP TMS320C3xは、最大3つの遅延スロットを備えています。[ 1 ]

このシリーズのプロセッサは、デジタル信号処理コプロセッサとして、また一部のアプリケーションではメインCPUとして使用されます。新しい実装では、バウンダリスキャンやインサーキットデバッグのための 標準IEEE JTAG制御をサポートしています。

オリジナルのTMS32010とその後継機種は、改良型ハーバード・アーキテクチャを採用したCPUの一例です。このアーキテクチャは、命令メモリとデータメモリに別々のアドレス空間を持ちながら、命令メモリからデータ値を読み出す機能を備えています。TMS32010は、DSPアプリケーションだけでなく、コンピュータグラフィックスで使用される変換処理にも役立つ高速な積和演算機能を備えています。1985年にリリースされたApollo Computer DN570ワークステーション用のグラフィックス・コントローラ・カードは、TMS32010をベースにしており、毎秒20,000個の2Dベクトルを変換することができました。

変種

TMS320アーキテクチャは長年にわたり使用されてきたため、多くの製品バリエーションが開発されてきました。最初のTMS32010プロセッサ以降、Texas Instruments社が使用している製品コードには、「TMS320Cabcd」という名前のプロセッサシリーズが含まれています。ここで、aはメインシリーズ、bは世代、cdはマイナーなサブバリアントを表すカスタム番号です。

このため、DSPを扱う人は、実際の名称が例えばTMS320C5510であるにもかかわらず、プロセッサを「C5x」と略すことがよくあります。これは、すべての製品が「TMS320」という名称で販売されており、名称に「C5」を含むすべてのプロセッサはコード互換性があり、同じ基本機能を共有しているためです。同様に、同じシリーズと世代のプロセッサはさらに類似しているため、サブグループを例えばC55xと呼ぶこともあります。

TMS320プロセッサは、NMOSCMOSの両方のバリエーションを含むMOS集積回路チップ上に製造されています。[ 2 ]

命名法

TMSプレフィックスは、プロセッサが完全に認定された量産デバイスであることを示します。他に、プロトタイプバリアントに使用されるTMXまたはTMPプレフィックスも使用できます。[ 3 ] 320に続くのはデバイスファミリ名で、TMS320 MCUファミリに相当します。

レガシーシリーズ

  • TMS320C1xは、第一世代の16ビット固定小数点DSPです。このシリーズのすべてのプロセッサは、TMS32010とコード互換性があります。
    • TMS32010は、1983年に導入された最初のシリーズの最初のプロセッサで、外部メモリを使用しています。
    • TMS320M10、同じプロセッサだが内部ROMが3KB
    • TMS320C10、TMS320C15、TMS320C25など
  • TMS320C2xは、第2世代の16ビット固定小数点DSPです。このシリーズのすべてのプロセッサは、TMS32020とオブジェクトコード互換性があり、TMS32010とソースコード互換性があります。
    • TMS32020、第2シリーズの最初のプロセッサ
    • TMS320C25、大幅に強化された機能セットを備えた40MHz CMOSバージョン
    • TMS320C25-50、TMS320C25の50 MHzバージョン
    • TMS320C26は、4KワードROMを除いてTMS320C25と同一である。
    • TMS320E25はTMS320C25と同一であるが、4KワードのオンチッププログラムストアとしてROMではなくEPROMを使用している[ 4 ]。
  • TMS320C3x、32ビット浮動小数点
    • TMS320C30、27~50 MHz、8 KB内部SRAM、5ボルト
    • TMS320C31、27~60 MHz、8 KB 内部 SRAM、5 ボルト、第 2 シリアル ポートを削除し、第 2 メモリ バスを削除し、ユーザー ROM を工場出荷時の ROM ブートローダに置き換えた TMS320C30 のサブセット
    • TMS320LC31、33~40 MHz、TMS320C31の3.3ボルト版
    • TMS320C32、40~60 MHz、2 KB 内部 SRAM、5 ボルト、第 2 DMA コプロセッサを追加、外部メモリ バスを変更して 8/16/32 ビット幅のメモリ アクセスを可能にする (他の C3x パーツは 32 ビットのみ)
    • TMS320VC33、60~75 MHz、136 KB 内部 SRAM、1.8 ボルト コア付き 3.3 ボルト I/O、128 KB 内部 SRAM を追加した TMS320C31 のスーパーセット
  • TMS320C4x、32ビット浮動小数点
    • TMS320C40、40/50/60/80 MHz、サイクルタイム50/40/33/25 ns、CMOS[ 5 ]は3つの分岐遅延スロットを備え、遅延分岐命令と非遅延分岐命令の両方をサポートします。[ 6 ]
    • TMS320C44、TMS320C40のサブセット
  • TMS320C8x、マルチプロセッサチップ[ 7 ]
    • TMS320C80 MVP (マルチメディア ビデオ プロセッサ) には、32 ビット浮動小数点の「マスター プロセッサ」と 4 つの 32 ビット固定小数点の「スレーブ プロセッサ」があります。

C2000シリーズ

C2000マイクロコントローラファミリは、リアルタイム制御アプリケーション用の統合型周辺装置を備えた32ビットマイクロコントローラで構成されています。C2000には、新しいC28x + ARM Cortex M3シリーズ、C28x Delfino浮動小数点シリーズ、C28x Piccoloシリーズ、C28x固定小数点シリーズ、および新規開発には推奨されなくなった古い16ビットラインのC240xの5つのサブファミリがあります。C2000シリーズは、PWMADC直交エンコーダモジュール、キャプチャモジュールなどの高性能なオンチップ制御周辺装置を備えていることで知られています。このシリーズは、 I²CSPI、シリアル(SCI)、CANウォッチドッグMcBSP 、外部メモリインターフェイス、GPIOもサポートしています。ADCユニットとのPWM波形同期などの機能により、C2000ラインは多くのリアルタイム制御アプリケーションに適しています。 C2000ファミリーは、モーター駆動・制御、産業オートメーション、太陽光発電などの再生可能エネルギー、サーバーファーム、デジタル電源、電力線通信、照明などのアプリケーションに使用されています。モーター制御、デジタル電源、太陽光発電、LED照明などの特定のアプリケーション向けに、低価格のキットもご用意しています。

C5000シリーズ

  • TMS320C54x 16ビット固定小数点DSP、6段パイプライン、オペコードのインオーダー実行、算術演算における並列ロード/ストア、積和演算、その他のDSP拡張機能。内部マルチポートメモリ。キャッシュユニットなし。[ 8 ]
    • 1990 年代後半、多くのNokiaおよびEricsson携帯電話が C54x を利用していた頃、 2Gソフトウェア定義携帯電話無線、特にGSMで人気の選択肢でした。
    • 当時、携帯電話のユーザーインターフェースを改善したいという要望から、ユーザーインターフェースと制御用の汎用プロセッサとしてARM7が採用され、DSPからこれらの機能をオフロードするようになりました。これが最終的にデュアルコアARM7+C54x DSPの開発につながり、後にOMAP製品ラインへと発展しました。
  • TMS320C55x 世代 – 固定小数点、C54x コードを実行しますが、より多くの内部並列処理 (別の ALU、デュアル MAC、より広いメモリ帯域幅) とレジスタを追加し、はるかに低い電力操作をサポートします。
    • 現在、C55x DSPのほとんどはディスクリートチップとして販売されている。
    • OMAP1チップは、ARM9 (ARMv5TEJ) と C55x シリーズ DSP を組み合わせたものです。
    • OMAP2420チップは、ARM11 (ARMv6) と C55x シリーズ DSP を組み合わせています。

C6000シリーズ

テキサス・インスツルメンツ TMS320C6726BRFP
  • TMS320 C6000シリーズ、またはTMS320C6x: VLIWベースのDSP
    • TMS320C62x 固定小数点 – 2000 MIPS/1.9  W
    • TMS320C67x 浮動小数点 – TMS320C62x とコード互換
    • TMS320C64x 固定小数点 – TMS320C62x とコード互換
    • TMS320C67x+ 浮動小数点 – TMS320C67x のアーキテクチャのアップデート
    • TMS320C64x+ 固定小数点 – TMS320C64x のアーキテクチャのメジャーアップデート
    • TMS320C674x 固定小数点および浮動小数点 – C64x+ と C67x+ の統合
    • TMS320C66x 固定小数点および浮動小数点 – C674x と下位互換性あり
  • C6000シリーズDSPを搭載した他の部品には以下が含まれます。
    • DaVinciチップにはARM9とC64x+またはC674x DSPのいずれかまたは両方が含まれています。
    • OMAP-L13xチップにはARM9(ARMv5TEJ)とC674x固定小数点および浮動小数点DSPが搭載されている。
    • OMAP243xチップはARM11(ARMv6)とC64xシリーズDSPを組み合わせたものである。
    • OMAP3チップにはARM Cortex-A8(ARMv7)とC64x+ DSPが搭載されている。
    • OMAP4およびOMAP5チップには、ARM Cortex-A9またはA15(ARMv7)と、Tesla(またはC64T)と呼ばれるカスタムC64x+派生版が含まれています。

C7000シリーズ

C7000シリーズは2020年初頭にリリースされましたが、コア単体での提供は行われていません。2023年8月現在、 C71x DSPを搭載したTDA4VMなど、他のSOCにバンドルされた形でのみ提供されています。

ダ・ヴィンチシリーズ

  • DaVinciシリーズは、C6000シリーズ(C64x+)DSP、 ARM9アプリケーションプロセッサ、デジタルメディア周辺機器を搭載したシステムオンチップ(SoC )から始まりました。ARM非搭載モデルとDSP非搭載モデルも存在します。マーケティングではビデオ処理機能に重点を置いています。初期のチップはNTSCとPALをサポートしていましたが、新しいチップはHDTVをサポートしています。

OMAPの亜種

DAバリアント

  • DAバリアント(ターゲット「デジタルオーディオ」)
    • DA25xはARMプロセッサとC55xコアを搭載しています。USBスレーブコントローラやセキュリティ機能などのオンチップ周辺機器を備えています。このチップに関するドキュメントは、Texas Instruments NDAに署名した後にのみ入手可能です。これらのバリアントは、 Creative ZENおよびDell Digital Jukebox MP3プレーヤーでのみ使用され、 MP3データストリームのすべての処理におけるメインCPUおよび信号プロセッサとして機能します。
    • TMS320DA7xx AureusチップはC67x+ DSPを中心に構築されています
    • DA830/DA828 AureusチップはOMAP-L137をベースにしており、300MHzのC674x DSPと300MHzのARM926ES-Jコアを搭載しています。[ 9 ] DA828バリアントはI/Oが削減されており、 256ボールPBGAの代わりに 176ピンTQFPパッケージで提供されます。
    • DA610/601はC67xコアを搭載したプロセッサです。5.1chまたは7.1chシステム用のオーディオコーデックに接続するために必要なオンチップ周辺機能を備えています。このチップは、ヤマハのハイエンドレシーバーであるRX-V1400、RX-V2400、RX-V1600、RX-V2600、RX-V2500に搭載されています。[ 10 ]

DMの亜種

  • テキサス・インスツルメンツ TMS320DM270
    DM バリアント:

その他のベンダー

ジェネラルインストゥルメント DSP32010 のダイ

General Instrument 社はセカンドソースとして TMS32010 を製造しました。

ZMD U320C20FC

1991年頃、TMS32020のCMOSバージョンがZMD社によってU320C20FCという名称で製造されました。[ 11 ]

NIIET 1867VC10T

TMS320シリーズの複数のデバイスが1867シリーズとしてヴォロネジ国立研究所で生産されており[ 12 ] 、その中にはTMS320C25の耐放射線バージョンである1867VM7T(ロシア語1867ВМ7Т )の名称で生産されているものも含まれる。TMS320C546のクローンは、2009年にモスクワのPKKミランドルで1967VC1T(ロシア語1967ВЦ1Т)の名称で[ 13 ] 、2016年にはニジニ・ノヴゴロドのMVCで1910VM1T(ロシア語1910ВМ1Т)の名称で生産が開始された。[ 14 ] PKKミランドル社は、ARMコアを追加したTMS320C54xを1901VC1T(ロシア語1901ВЦ1Т)として製造している。[ 15 ]

ソフトウェアサポート

TMS320シリーズは、 CC++、および/またはアセンブリ言語でプログラミングできます。TMS320プロセッサの開発の大部分は、Texas Instruments社独自のツールチェーンと、 DSP/BIOSと呼ばれるミニオペレーティングシステムを含む統合開発環境Code Composer Studioを用いて行われています。さらに、ケムニッツ工科大学の研究部門は、GNUコンパイラコレクションにおいてTMS320C6xシリーズの予備的なサポートを開発しました。[ 16 ]

2007年11月、TIはツールチェーンの一部を非商用ユーザー向けにフリーウェアとしてリリースし、コンパイラ、アセンブラ、オプティマイザ、リンカーのみを独自ライセンスで提供した。 [ 17 ] [ 18 ]しかし、IDEもデバッガも含まれていなかったため、DSPのデバッグやJTAGアクセスを行うには、ユーザーは依然として完全なツールチェーンを購入する必要があった。

2010年、テキサス・インスツルメンツは、 LinuxカーネルをC6xに移植する取り組みの一環として、GCCにおけるC6xシリーズの緊密な統合とサポートを提供するためにCodeSourceryと契約を結びました(この業務は後にメンター・グラフィックスの買収によりメンター・グラフィックスに移管されました)。その結果、2012年3月22日には、C6xがGCCリリース4.7でサポート対象アーキテクチャとなりました。[ 19 ]

参照

参考文献

  1. ^ 「TMS320C30浮動小数点デジタル信号プロセッサ」(PDF) . ti.com. p. 14. 2023年11月4日閲覧
  2. ^ "TMS320C25" . Texas Instruments . 2019年12月10日閲覧
  3. ^ 「Silicon Errata」(PDF) 。2017年11月24日時点のオリジナル(PDF)からのアーカイブ
  4. ^ 「TMS320 第二世代デジタル信号プロセッサ」(PDF)テキサス・インスツルメンツ. 2023年12月7日閲覧
  5. ^ "TMS320C40" . Texas Instruments . 2019年12月10日閲覧
  6. ^ 「TMS320C4x ユーザーズガイド」(PDF) p. 171(7-9) . 2023年12月23日閲覧
  7. ^ Guttag, Karl; (米国), Texas Instruments Inc. (1996年6月7日). Picone, Joseph (編). 「TMS320C8xファミリーのアーキテクチャと将来のロードマップ」 . Digital Signal Processing Technology . 2750 : 2– 11. Bibcode : 1996SPIE.2750....2G . doi : 10.1117/12.241977 . S2CID 60536785. 2017年1月7日閲覧 (サブスクリプションが必要です)
  8. ^ 「TMS320C54x DSPリファレンスセット - 第1巻:CPUと周辺機器」(PDF) . www.ti.com . 2024年8月6日閲覧
  9. ^この「LinuxDevicesの記事」 。2013年1月28日時点のオリジナルよりアーカイブこのプラットフォームに関する詳細情報が含まれています
  10. ^この「ICデータベース」 。 2009年12月28日時点のオリジナルよりアーカイブ2009年9月22日閲覧。サイトにさらに詳しい情報が記載されている
  11. ^ホイヤー、ゲルト (1991). Digitaler Signalprozessor U320C20 [デジタル シグナル プロセッサ U320C20 ] (ドイツ語)。ベルリン: Verlag Technik。ISBN 978-3341009987
  12. ^ "DSP-процессоры" [DSP プロセッサー]. niiet.ru (ロシア語)。ヴォロネジ: OAO「NIIET」。2018年6月26日のオリジナルからアーカイブ2019 年12 月 2 日に取得
  13. ^ "1967ВЦ1Т (аналог TMS320C546)" [1967VC1T (corresponding to TMS320C546)] (ロシア語). モスクワ: PKKミランドル. 2009年5月20日. 2017年1月9日閲覧
  14. ^ "Микропроцессоры и микроконтроллеры" [マイクロプロセッサとマイクロコントローラー] (ロシア語)。ニジニ・ノヴゴロド:MVC。 2014. 2017 年 5 月 10 日のオリジナルからアーカイブ2018 年4 月 18 日に取得
  15. ^ "Двухъядерный микроконтроллер компании "Миландр" для высоконадёжных применений" [高信頼性アプリケーション向け「Milandr」社のデュアルコア マイクロコントローラー] (PDF) (ロシア語)。モスクワ:PKKミランドル。2016 年 4 月 27 日のオリジナル(PDF)からアーカイブ2018 年4 月 18 日に取得
  16. ^ Jan PartheyとRobert Baumgartl、「GCCのTMS320-C6000 DSPアーキテクチャへの移植」、GSPx'04の議事録、サンタクララ、2004年9月、 [1]
  17. ^ 「TIがDSPツールチェーンを解放」 。2013年1月27日時点のオリジナルよりアーカイブ
  18. ^無料の DSP コンパイラが利用可能アーカイブ2012-07-30 at archive.today
  19. ^ GCC 4.7 リリースシリーズ – 変更点、新機能、修正点