モトローラ 56000

モトローラ XSP56001

モトローラDSP56000 ( 56Kとも呼ばれる)は、モトローラセミコンダクタ(後にフリースケールセミコンダクタ、さらにNXP )が1986年から製造しているデジタル信号プロセッサ(DSP)チップのファミリーである[ 1 ] [ 2 ] [3] [ 4 ] [ 5 ] 後継モデルは2020年代でも生産されている。アップグレードされた56kバージョンは、オーディオ機器、レーダーシステム、通信機器(携帯電話など)、その他様々な組み込みDSPアプリケーションで現在も使用されている。56000は、商業的には成功しなかったものの、 改良版96000のベースにもなった。

技術的な説明

Motorola DSP56001 のダイ。

DSP56000は、24ビットのプログラムワード24ビットのデータワードを持つ固定小数点演算を使用します。2つの24ビットレジスタ(1つの48ビットレジスタとも呼ばれます)を備えています。また、それぞれ8ビットの「拡張」(ヘッドルーム)を持つ2つの56ビットアキュムレータも備えています。その他の点では、アキュムレータは他の24/48ビットレジスタと同様です。修正ハーバード・アーキテクチャ・プロセッサである56kプロセッサは、プログラムメモリ空間/バスと2つのデータメモリ空間/バスの3つのメモリ空間+バス(一部のモデルではオンチップメモリ​​バンクも搭載)を備えています。[ 6 ]スタック領域は、「スタックメモリ空間」と呼ばれる独立したアドレス空間に割り当てられ、[ 7 ]メインメモリアドレス空間とは区別されます。[ 8 ]サブルーチン呼び出しや「長時間割り込み」で使用されるスタックの深さは15です。[ 8 ]

24ビットが基本ワード長として選択されたのは、56000の主な関心事であるオーディオ(音声)処理において、システムに適切な数値範囲と精度を与えるためです。24ビットは144dBのダイナミックレンジに相当しアナログ -デジタルコンバータ(ADC)やデジタル-アナログコンバータ(DAC)が20ビットを超えることはほとんどなかった1980年代には十分なものでした。一例として、 ADSLアプリケーションではフィルタに通常20ビットの精度が求められます。左端の4ビットは通常、計算におけるオーバーフローを回避するのに十分な余裕があると考えられています。

このプロセッサは、最大指定クロック速度33MHzで1秒あたり1650万命令(MIPS)を実行でき、[ 6 ]ブロック浮動小数点FFTのハードウェアサポートを備えています。[ 6 ] 5V TTLレベルを使用し、約0.4Wを消費します。[ 6 ]

アプリケーションとバリエーション

Motorola DSP56002のダイ。
Motorola 68040 CPUと Motorola DSP56001 デジタル信号プロセッサを搭載した 1990 年のNeXTcubeマザーボード。

ほとんどの設計において、56000は単一のタスク専用となります。これは、専用ハードウェアを用いたデジタル信号処理がほぼリアルタイムで実行され、中断が許されないためです。時間的制約が厳しくない、それほど要求の厳しくないタスクの場合、設計者は通常、別のCPUまたはMCUを使用します。

56000は、1024ポイントの複雑な高速フーリエ変換(FFT)を59,898クロックサイクルで実行することができ、33MHzで1.8msかかります。[ 6 ]または1秒あたり555回以上の操作速度で実行でき、MP3などのかなり高度なオーディオコーデックのリアルタイムデコードとエンコードの両方を可能にし、ディスクへの直接記録を可能にします。[ 9 ] [ 10 ]

ほとんどのデスクトップコンピュータのCPUにSIMD命令が追加されたことで、56000のような専用DSPチップは一部のアプリケーション分野から姿を消しましたが、通信やその他の専門的な用途では依然として広く使用されています。このため、56800シリーズでは完全なMCUが追加され、シングルチップの「DSPコントローラ」ソリューションが実現しました。一方、68000に56000を搭載した68456では、その逆のことが起こりました。

56000シリーズの中で現在も広く普及しているモデルは、56301から始まる第3世代の56300ファミリーです[ 11 ] 。PCIインターフェースロジック、CRCプロセッサ、オーディオコンパンダーなどの特殊なアプリケーションをハードウェアおよびファームウェアに内蔵したモデルがいくつかあります。コアクロック周波数は最大250MHzでした[ 12 ] 。

モトローラは56000向けにCコンパイラアセンブラ命令セットシミュレータなど包括的な開発ツールスイートを提供した。[ 13 ] [ 14 ] [ 15 ]

使用法

56kシリーズは主に組み込みシステムの信号処理を目的としていましたが、NeXTAtari Falcon030SGI Indigoワークステーションなど、56001を搭載した初期のコンピュータの多くにも使用されていました。 [ 16 ] 56000は、Orban Optimod-FM 8200放送音声プロセッサにも使用されていました。[ 17 ] 1989年のDSPに関する記事では、「モトローラ56001は、業界の事実上のDSPチップになる運命にあるようだ」と述べられています。[ 18 ] AESショーで展示されたDSP開発ボードはすべて560001を使用していると主張されていました。

参考文献

  1. ^モトローラ DSP56000 デジタル信号プロセッサIEEE
  2. ^ freescale.com – DSP56000 24ビットデジタルシグナルプロセッサフ​​ァミリマニュアル 2019年アーカイブ
  3. ^ DSP56000ファミリを使用した小数点および整数演算
  4. ^プログラマブルDSPアーキテクチャ
  5. ^ Motorola DSP56000 ファミリー最適化 C コンパイラ ユーザーズマニュアル
  6. ^ a b c d e freescale.com – 製品プレビュー、24ビットデジタル信号プロセッサ、DSP56001A、1997年(2019年アーカイブ
  7. ^ 「DSP56000 24ビットデジタルシグナルプロセッサフ​​ァミリーマニュアル」(PDF) 91(5–15)ページ。2019年1月19日時点のオリジナル(PDF)からアーカイブ。 2023年12月26日閲覧
  8. ^ a b「DSP56000 24ビットデジタルシグナルプロセッサフ​​ァミリーマニュアル」(PDF) . p. 29(2–5). 2019年1月19日時点のオリジナル(PDF)からアーカイブ。 2023年12月26日閲覧
  9. ^ Scot Hacker. 「MP3の仕組み:コーデックの内部」 . MP3:決定版ガイド. O'Reilly . 2013年4月16日閲覧
  10. ^ Mike Adana. 「MP3の開発」 . MP3ガイドブログ. 2013年4月16日閲覧
  11. ^ Motorola (1999年10月). "56301 SPEC" (PDF) . 128IC . DSP56301P/D. 2020年8月15日時点のオリジナルよりアーカイブ(PDF) . 2020年8月7日閲覧
  12. ^ DSP56K ファミリの概要、 Beyond DSPs、2010 年 11 月(freescale/NXP)の 45 ページ以降
  13. ^ 「Motorola DSP56000ファミリー最適化Cコンパイラユーザーズマニュアル、リリース6.3」(PDF) 。 2023年11月10日閲覧
  14. ^ 「MOTOROLA DSP ASSEMBLER REFERENCE MANUAL」(PDF) . 2023年11月12日閲覧
  15. ^ 「MOTOROLA DSP SIMULATOR REFERENCE MANUAL」(PDF) . 2023年11月12日閲覧
  16. ^ atariforge.org – Atari Falcon030 回路図 Rev A Archived 2015-07-24 at the Wayback Machine , 1992-06-28
  17. ^ Orban (2025年8月27日). Bob Orban, ラスベガスで開催された2025 NAB Showにおける放送技術者協会へのプレゼンテーション. 2025年9月22日閲覧– YouTubeより.
  18. ^ハーデスティ、ゲイリー (1989年3月1日). 「デジタル信号処理:約束を果たす」(PDF) .レコーディング・エンジニア/プロデューサー. 20 (3): 49– 53 – 世界のラジオ史より.

さらに読む

56000ファミリー
56300ファミリー