今回はDSPの話を取り上げたい。DSPといえば、Texas Instruments(TI)の「TMS320」は欠かせないが、TMS320登場に至るまでには長い道のりがあった。
⇒「マイクロプロセッサ懐古録」連載バックナンバー一覧
「マイクロプロセッサ回顧録」とうたいつつ、今月はDSPの話を。DSPの歴史をどこから数えるかというのは諸説ある訳だが、IEEEのSignal Processing Societyが1998年に出した"Fifty Years of Signal Processing: The IEEE Signal Processing Society and its Technologies, 1948-1998"(図1)によれば、1948年を"奇跡の年"と称しており、これがDSPの理論的な裏付けが整った年だとしている。
具体的に言えばこの1948年、Claude Shannon博士は"A mathematical theory of communication"(「通信の数学的理論」)という論文を発表。さらにBernard Oliver博士、John Pierce博士とも共同で"The Philosophy of PCM"という論文も発表している。前者は帯域制限伝送路の容量は帯域幅に信号対雑音比の2進対数を加えた値に等しいという証明となったし、後者はPCMをデジタルで扱うための手法の確立と、誤り訂正符号の確立につながった。
加えて1947年、IEEEの前身にあたるIRE(Institute of Radio Engineers:1963年にAIEE:American Institute of Electrical Engineersと合併してIEEEが結成された)は、「会員はそれぞれの興味に基づきGroupと呼ばれる技術部門に所属すべきである」と勧告されたのを受けて、複数のGroupの立ち上げに向けて作業を開始する。そのGroupとして最初に名乗りを上げたのが"Audio, Video, and Acoustic Group"で、最終的に1948年6月2日にIRE執行部はこれをAudio Groupとして承認した。このAudio Groupが、IEEEのSignal Processing Societyのご先祖様にあたる。要するに音声のデジタル処理に関する理論的な裏付けと、それを推進するための業界団体の両方がそろったのが1948年というわけだ。
もっとも1948年というのはトランジスタが発明された翌年であり、まだそれを本当にデジタルで処理するには時期が早すぎた。どうにか音声をデジタル処理できるようになったのは、1970年代に入ってからの事である。最初にDSP「的なもの」として名前が上がるのが、TRWのLSI Products Divisionが1976年に発表した「MPY016H」(図2)である。16bitの数値(符号あり/なしの整数/小数/整数・小数混在をサポート)の乗算を145ナノ秒(6.9MHz相当)で行い、その結果を32bitで返すだけの機能を持つ製品だったが、当時としては十分画期的な性能を持つチップだった。ただし、乗算しかサポートしていない(ので、デジタルフィルターを構成する際に必要な加算は別のチップが必要)ため、別チップとの連携が必須である。1978年には乗加算をサポートした「TDC1010」(図3)が出てきたが、もうピン数がギリギリという感じになっている。MPY016HにしてもTDC1010にしても、制御は外部から行う必要があり、DSPというよりはAcceleratorでしかないのだが、それでもDSP的な演算機能をこの時期にはICに集積できるようになったことを示したという点では、画期的な存在だった。
図2:TRWのVLSI Data Book 1984年度版より。乗算の結果は、上位16bitはMSP OUTに出力されるが、下位16bitはY IN/LSI OUTに戻されるというちょっと面倒な仕様[クリックで拡大]
図3:加算用のデータをまずPreloadステージで格納しておき、その後乗算データをロードすると結果に加算されるという仕様。相変わらず乗加算の結果の下位16bitはY IN/LSP OUTに戻される[クリックで拡大]その1978年に、Texas Instruments(TI)は「TMS5100」を発表する。TMS5100は、連載5回目「一発屋で終わったけど抜群の影響力、TI「TMS1000」」でもちょっと触れた、TIのSpeak&Spell(図4)の心臓部としても使われていた音声合成エンジンである。8KHz/40Hzの音声サンプリングデータ(これはTMS6100というROM内に収められていた)を取り込み、10段のデジタルフィルターを経て音声出力を行うもので、TIはこれをVSP(Voice Synthesis Processor)と称していた。音声データは平均49bit程度で、128KbitのROMに2500語を収録できたとする。デジタル処理で音声信号を処理しているという意味ではDSP(Digital Signal Processing)で間違いはないのだが、自身は音声処理のみで実行制御すらできない(ので、外部にMCUが必要)(図5)ことや、音声合成「しか」できない、ある意味固定機能のプロセッサなので、本格的な意味でのDSPとは見なされていない。
図4:この写真は電源が入っていないが、実際に稼働中はスピーカーの右に、入力した文字が表示されると共に、スピーカーがその文字/単語を発音してくれる。出典はCHM(https://www.computerhistory.org/revolution/digital-logic/12/284/1565)。(c)Mark Richards[クリックで拡大]Copyright © ITmedia, Inc. All Rights Reserved.
記事ランキング