JPH07181969A - コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム - Google Patents

コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム

Info

Publication number
JPH07181969A
JPH07181969A JP6159548A JP15954894A JPH07181969A JP H07181969 A JPH07181969 A JP H07181969A JP 6159548 A JP6159548 A JP 6159548A JP 15954894 A JP15954894 A JP 15954894A JP H07181969 A JPH07181969 A JP H07181969A
Authority
JP
Japan
Prior art keywords
instruction
memory
instructions
nop
code segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6159548A
Other languages
English (en)
Inventor
Jiyon Rinberisu Arekisandaa
ジョン リンベリス アレキサンダー
Watoson Buraian Jiyosefu
ワトソン ブライアン ジョセフ
Efu Otsutonii Jiyoannu
エフ. オットニー ジョアンヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KORUGU KK
Korg Inc
Original Assignee
KORUGU KK
Korg Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KORUGU KK, Korg Inc filed Critical KORUGU KK
Publication of JPH07181969A publication Critical patent/JPH07181969A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 ボイスプログラムをMSPメモリー12bに
動的に割当てる際にユーザにクリックノイズ、ディレイ
や歪みも感じさせないようにする。 【構成】 動的に、かつ、リアルタイムにボイスプログ
ラムをホストメモリー11bからMSPメモリー12b
に動的に割当てるべくNOP制御装置500を設ける。
そしてNOP制御装置500は、MSPメモリー12b
においてボイスプログラムを割当てるべきロケーション
に記憶されている命令をマスクすることにより一時的に
メモリー容量を変えて実行不能にする。即ち、ホスト処
理モジュール11のホストCPU20は、鍵盤等により
選択されたボイスプログラムをホストメモリー11bか
らMSPメモリー12bに動的割当てを行い、NOP制
御装置500によりマスクされたメモリーロケーション
に転送する。従って、MSPメモリー12b内の他のボ
イスプログラムは、NOP制御装置500によりマスク
されないので、動的割当ての影響を受けることなく実行
され続ける。このようにして、ユーザにクリックノイ
ズ、ディレイや歪みも感じさせないようにする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はリアルタイム処理システ
ムに係り、詳しくは現在実行中のプログラムの処理に影
響を与えることなくリアルタイムで命令メモリーに新し
いプログラムをロードするコードセグメント置換及びそ
れを用いたリアルタイム信号処理システム並びにオーデ
ィオ処理システムに関する。
【0002】
【従来の技術】従来、ミュージックシンセサイザーで代
表されるオーディオ処理システムでは、多種多様な楽音
合成に用いられている。この様なシステムでは、発生し
ている楽音を耳障りなディレイ等を伴うことなく、リア
ルタイムで切換えることが望まれている。そこで、ミュ
ージックシンセサイザーのアーキテクチャーとして様々
な方式が提案されている。例えば、減算合成、ウエーブ
テーブル合成、FM合成、加算合成である。これらの合
成方式の概説は、ウォーカー著、「KORG WAVE
STATION」ピーター エル.アレキサンダー出
版、ニューベリーパーク カリフォルニア州、1990
年の9ページから12ページに記載されている。一般に
用いられるている合成方式は、仕込まれた波形に基づき
楽音を発生させるものであり、ユーザーの操作(演奏)
にリアルタイムで楽音を発生させるものである。減算合
成方式及びFM合成方式における仕込まれた波形は、単
純なサイン波であったり、或は生楽器から実際に録音し
た音のテーブルデータ等であったりする。通常これらの
テーブルは、パルスコード変調(PCM変調)によりフ
ォーマットされ、内部回路に組み込まれたメモリーに格
納されている。
【0003】この再生技術を用いたミュージックシンセ
サイザーでは、生楽器音を基本波形として楽音合成する
ために幾つかの制限が加わる。例えば、与えられた生楽
器音の波形を用いつつ楽音を変化させるためには、新た
にPCMテーブルを有したサンプリングハードウエアを
追加する必要がある。このため、ミュージックシンセサ
イザー業界は、デジタルシグナルプロセッサ(DSP)
上で実行される楽音発生プログラムを用いた楽音合成に
動いている。しかしサンプリングを基本アーキテクチャ
とするPCM変調を用いたミュージックシンセサイザー
(PCMミュージックシンセサイザー)を改造するに
は、上述した様にハードウエア回路の追加等が必要にな
る。一方、楽音発生プログラムの制作は、ハードウエア
を改造することができない一般のユーザーであっても容
易に可能である。従って、DSPを用いたミュージック
シンセサイザー(DSPミュージックシンセサイザー)
のユーザーは、演奏する楽音の自由度をPCMミュージ
ックシンセサイザーに比べて増すことが可能になる。
【0004】一般にボイスプログラムと呼ばれる楽音合
成プログラムは、楽器、人の声等の音源を基本として計
算モデルにより構成される。従って、楽音合成プログラ
ムの作成者は、作りたい音源の計算モデルを先に決め、
その後当該モデルを実行するコンピュータプログラムを
作成することになる。楽音合成プログラムの例として
は、米国特許No.4,984,276におけるジュリ
アス.O.スミスによる”DIGITAL PROCE
SSING USING WAVEGUIDENETW
ORKS”がある。ミュージックシンセサイザーには、
多数のボイスプログラムが記憶されており、その一部の
ボイスプログラムをリアルタイムで実行するには、所定
のボイスプログラムが選択されなければならず、かつ、
出力に耳障りな音を発生させることなく当該ボイスプロ
グラムを実行しなければならない。このことはボイスプ
ログラムのロードに際し、ディレイ等を伴うことなく実
行できなければならないことを意味している。
【0005】
【発明が解決しようとする課題】上述した従来の技術に
おいて、リアルタイムでボイスプログラム(以下、適宜
プログラムと略記する)を実行するには、DSPの命令
を記憶しているRAMに当該プログラムを予めロードし
ておく必要がある。何故なら、プログラムが予めロード
されていない場合には、プログラムを転送をしている
時、ディレイラインの消去操作時、テーブルの更新操作
時或は係数の初期化操作時等において耳に聞こえるクリ
ックノイズが発生する問題が生じるためである。またプ
ログラムが、予めロードされている場合でも、当該プロ
グラムの一部を書換える際に、上述した処理が必要とな
るのでクリックノイズが発生する問題がある。以上の理
由により、上述のDSP技術によるシステムは、ミュー
ジックシンセサイザーで楽音を発生させながらリアルタ
イムで別のプログラムに置換ることができなかった。従
って、DSPにおいて予めロードされていないプログラ
ムをリアルタイムで実行するミュージックシンセサイザ
ー及びリアルタイムで信号処理する装置が望まれる。
【0006】以上のことを具体的に説明する。従来のD
SP技術によるシステムは、ミュージックシンセサイザ
ーで楽音を発生させながらリアルタイムで別のプログラ
ムに置換ることができなかった。これは多くのDSPの
命令語長が、1命令あたり32ビット以上を持ち、その
命令実行サイクル(命令メモリーの読みだしサイクルに
等しい)は0.1μsec(=100nsec)以下で
あることによる。DSPは一定のサンプリング周期毎に
256ワード等の一連の命令を繰り返して実行し、その
演算結果を楽音データとして出力する。これに対して、
DSP命令を書換えるために用いられるCPUのデータ
語長と書込みサイクルは、通常8〜32ビットのデータ
を0.2〜1.0μsecに1回行える程度の速度であ
る。
【0007】このことを図8(a),(b)を参考にし
て説明する。同図においてDSPの命令語長は80ビッ
トで、命令実行サイクルは81.3nsec、命令数は
256ワード、サンプリング周期は20.8μsecで
ある。またCPUのデータ語長は16ビットで書込みサ
イクルは200nsecである。1命令につき80ビッ
トあるDSP命令を16ビットのデータ語長をもつCP
Uが書換えるためには、(80÷16=)5回の書込み
が必要となり、それに要する時間は200nsec×5
回=1μsecである。DSPの命令の繰り返し周期で
あるサンプリング周期は20.8μsecであるから、
CPUはサンプリング周期毎にDSPの命令を(20.
8÷1 )20命令しか置換えることができないことが
判る。従って、20命令以上あるボイスプログラムを置
換えるには複数のサンプリング周期に渡ってCPUから
の置換え操作が必要なことを意味している。DSPはサ
ンプリング周期毎に256ワードの命令を繰り返し実行
することは前にも述べたが、DSPのプログラムの置換
えが複数のサンプリング周期を必要とするならば、プロ
グラムが新しいものに完全に置換えられるまでの間、D
SPは不完全な演算結果をサンプリング周期毎に出力す
ることなり、結果として楽音データにノイズが混入する
ことになる。
【0008】従来、プログラム置換え時のノイズ混入を
防ぐためにいくつかの方法が提案されている。1つはプ
ログラムを置換えている間DSPの動作を止めておき、
プログラムの置換えが完了した時点でDSPを再起動す
るものである。この方法ではDSPの命令メモリー内に
複数チャネルの処理を行う複数のプログラムが存在して
いるときには、プログラムを1つだけ書換える際にも全
チャネルのプログラムが停止するという問題があった。
【0009】また別の提案としては、DSPの命令メモ
リーを2組持って、1つはDSP内部の命令読みだしに
用い、もう1つをCPUからのプログラム置換えに用い
る案である。この方法を使えば、CPUが一方のメモリ
ーに対してプログラムを置換えている間も、DSPはも
う一方の命令メモリーを読みだしているのでDSPを止
める必要はなく、CPUが置換えを終了した時点でこの
2つのメモリーの役割をセレクタ等で切り換えてしまえ
ば、瞬時にプログラムの置換えがおこなえる。しかしこ
の方法では命令メモリー容量が2倍必要でハードウエア
規模が大きくなる欠点がある。本発明は上記に鑑みて、
DSPで実行するプログラムの置換えに際して、DSP
の動作を停止させなくとも命令メモリー上にある複数の
プログラムの内の1つを置換えることができ、かつ少な
いハードウエアで実現可能なコードセグメント置換装置
及びそれを用いたリアルタイム信号処理システムを提供
することを目的とする。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、処理装置が実行する命令のセグメントを置換えてな
るコードセグメント置換装置において、前記処理装置に
接続されると共に、所定のシーケンスで前記命令を出力
する複数のメモリーロケーションを備えたメモリーシス
テムと、該メモリーシステム及び前記処理装置に接続さ
れると共に、前記命令のセグメントをストアーしている
メモリーロケーションのセットにおけるサブセットから
の命令に応じたデータを変更することで前記処理装置を
割込み禁止にするNOP制御装置と、前記メモリーシス
テム及び前記NOP制御装置に接続されると共に、新し
い命令が命令のセグメントを置換えるべく所定のサブセ
ットに書込まれる際に通るメモリーインターフェースと
を有してなる、ことを特徴とする。
【0011】またリアルタイム信号処理システムとして
は、所定の命令のセグメントを置換えるコードセグメン
ト置換装置を有するリアルタイム信号処理システムにお
いて、アドレス指定された多数のメモリーロケーション
を持ち、また各アドレスに対する命令のセグメントを保
持し、さらにアドレスに応答して命令のシーケンスを出
力すると共に、前記リアルタイム信号処理システムに接
続された命令メモリーと、該命令メモリーから出力され
る命令のシーケンスを識別すべくアドレスのシーケンス
を出力する命令メモリーに接続されたシーケンサーと、
前記リアルタイム信号処理システム、前記命令メモリー
及び前記シーケンサーに接続されると共に、所定のアド
レスのグループに対する命令のセグメントを置換える命
令により作動するNOP制御装置と、前記命令メモリー
及び前記NOP制御装置に接続されて、新しい命令が所
定の命令のセグメントを置換えるべく所定のアドレスの
グループにおける命令メモリーに書込む際に通過するホ
ストインターフェースとを有してなる、ことを特徴とす
【0012】さらにオーディオ処理システムとしては、
複数のオーディオプログラムを実行するオーディオ信号
処理システムにおいて、前記オーディオ信号処理システ
ムが、アドレス指定可能なメモリーロケーションのセッ
トに複数のオーディオプログラムの命令を記憶した命令
メモリーと、置換え命令に対応するメモリーのメモリー
ロケーションのセットにおけるのサブセットに記憶され
た命令の実行を置換えるメモリーに接続されたNOP制
御装置と、オーディオ信号処理システムに接続され、付
加的オーディオプログラムをストアーするホストメモリ
ー及び置換え命令を出力し、命令メモリーのメモリーロ
ケーションのセットにおけるのサブセットにホストメモ
リーから置換えしたオーディオプログラムをダウンロー
ドするのに作動するホスト処理装置を有してなる、こと
を特徴とする。
【0013】
【作用】上記構成に基づき、メモリーロケーションのセ
ットを持ち、このメモリーロケーションから命令のシー
ケンスが出力されるメモリーを有する信号処理装置に対
する一群の命令を置換えるコードセグメント置換装置を
設ける。NOP制御装置は、所定のサブセットを識別す
る置換え命令に応じたメモリーロケーションのセットで
ある所定のサブセットからの命令に応じて処理装置によ
って割込み禁止が書込まれ、又は命令の実行を禁止する
メモリーに接続されている。メモリーインターフェース
はメモリーと、所定のサブセットに書込まる命令を新し
い命令に置換えるNOP制御装置とに接続されている。
信号処理装置は、そのプログラムによって生成されたイ
ベントのタイミング、プログラム間の相互関係及びプロ
グラムと外部からの制御とのリアルタイムな連動といっ
たメモリー内で実行されているプログラムの間で適正な
関係を保ちながら、中断されることなくプログラムの命
令を全て実行し続ける。
【0014】上述したように、置換え命令は置換えるべ
きメモリーロケーションのセットの所定のサブセットを
認識する識別子を有している。本発明の特徴は、この識
別子がメモリー中の所定のサブセットのスタートアドレ
ス及び当該サブセットの長さを示すカウント値により構
成されていることである。NOP制御装置の入力は、ス
タートアドレスを保持するためのスタートレジスターと
カウント値を保持するためにカウントレジスターを有し
ている。加えて本発明は、処理装置はメモリーにおける
命令に一連のアドレスを与えるメモリーと接続されたシ
ーケンサーを有し、NOP制御装置は、シーケンサー、
スタートレジスター及びメモリーロケーションの所定の
サブセットからのシーケンスによる割込み命令に対して
動作するカウントレジスターとに接続された置換えロジ
ックを有している。置換えロジックは、スタートアドレ
スが出力されている間、命令サイクルで開始する命令サ
イクルのカウントするためのクロック発生器に接続され
たカウンターを有している。このシーケンサーは、メモ
リーにアドレスを与える命令サイクルに応答するロジッ
クを有し、このカウンターは命令サイクルがカウント値
に等しくなるまでカウントしている間、オペレーション
しないことを示すNOPフラグを出力するカウントロジ
ックを有している。置換えロジックは、NOP命令を持
つメモリーにおける所定のサブセットの命令に一致する
シーケンスの命令によって書込みや読取りも不可能とす
るためのNOPフラグに応答する回路を有する。メモリ
ーインターフェースは、メモリーにアクセスするホスト
のマネージメントのための待ち状態発生器と処理装置に
よりマネージメントされている内部レジスターを有して
いる。置換えられた命令により書込みに加えて読取りも
不能とすることにより、ホストは処理装置内のデータパ
スの競合により割込み禁止命令により禁止されていない
ので、レジスターやメモリーに自由にアクセスできる。
【0015】本発明は、リアルタイムに複数のプログラ
ムを実行するリアルタイム処理システムとしても特徴づ
けられる。命令メモリーは当該複数のプロラムを保持
し、リアルタイム処理システムに対する一連の命令を与
えるリアルタイム処理システムに接続されている。シー
ケンサーは、命令メモリーに接続され、命令メモリーか
らの一連の命令に対応したアドレスを与えるように動作
する。NOP制御装置は、命令メモリーに接続され、命
令に応じたアドレスの所定なグループから置換え命令を
実行する。ホストインターフェースは、命令メモリー
と、新しい命令がアドレスの所定のグループから命令の
セグメントを置換えるために命令メモリーにロードされ
る際に用いられるNOP制御装置に接続されている。ま
た本発明は、リアルタイムに複数のプログラムを実行し
て楽音を発生するオーディオ処理装置としても特徴づけ
られる。ホストの処理装置モジュールは、オーディオ処
理装置に接続されており、加えてオーディオプログラム
を記憶しているホストメモリーを有して、楽音の出力の
際に認識することができる中断を伴うことなくリアルタ
イムでホストメモリーからオーディオプログラムによっ
てメモリーのメモリーロケーションのセットの所定のサ
ブセットを上書きするように作動する。
【0016】本発明は、キーボード、モデュレーション
制御装置及び標準的なMIDI入力等からのリアルタイ
ムな制御信号に応じて音楽信号を発生するために非常に
高速演算することが可能な独特な能力を備えたシンセサ
イザー/オーディオ処理システムを用いたデジタル信号
処理に好適である。このシステムは、DSPを用いたミ
ュージックシンセサイザーで、ボイスプログラムがデジ
タル信号処理のアルゴリズムを変えるように要求されて
いる間でも、ボイスプログラムのリアルタイムな実行を
可能としている。
【0017】
【実施例】実施例の詳細な説明に入る前に、ミュージッ
クシンセサイザーで代表されるオーディオ処理システム
2の処理概要を簡単に述べる。なお本発明は、例えばミ
キサー、エフェクターなどのリアルタイム信号処理シス
テムにも適用可能である。一般に信号処理装置5は、複
数の楽音の要素を組合わせることにより個性のある独立
した楽音を構成する。本発明に係る信号処理装置5にお
いても同様であり、要素の楽音はボイスプログラムとし
て予めホストメモリーに多数記憶しており、ホスト処理
モジュールの制御の下、楽音信号処理モジュールで所望
の楽音を発生するボイスプログラムとして構成されてい
る。このボイスプログラムを実行すると、予め設定され
た楽音が演奏されるが、ユーザーは鍵盤を押す等により
楽音を変えて独自の演奏を行う。
【0018】従って、押された鍵盤等の内容により、実
行中のボイスプログラムを変更する必要がある。なお、
ボイスプログラムは多数のコードからなるので、実行中
のボイスプログラムの変更とは、その要素となっている
ボイスプログラムを変更する場合ばかりでなく、特定の
コード又はコードの集まり(コードセグメント)を置換
えることをいう。しかし、実行中のボイスプログラムの
一部を単に置換えたのでは、演奏中に置換え中のコード
も実行されることになるので楽音にクリックノイズ等が
発生してしまう。そこで本発明では、置換えるべきコー
ドが実行されない様にマスクする。これにより演奏中の
プログラムには、その部分はあたかも存在しないかの様
に処理され、コードを置換えてもクリックノイズ等の問
題が発生しない。以下これらについて詳細に説明する。
その際、「ボイスプログラム」、「コード」或は「命
令」は適宜を同意語として用いる場合がある。
【0019】図1は本発明に係る動的ボイス割当てを行
う信号処理装置5の構成を示す概略ブロックである。図
1における信号処理装置5は、入力装置10、ホスト処
理モジュール11及び楽音信号処理モジュール(MSP
モジュール)12を有している。ホスト処理モジュール
11は、ホストCPU20、動的ボイス割当てのリソー
スを含む動的ボイス割当て11a及び楽音の要素である
ボイスプログラムを多数記憶しているホストメモリー1
1bからなり、またMSPモジュール12は、NOP制
御装置500、動的ボイス割当てのリソースやディレイ
ラインマネージメントロジックを持つ動的ボイス割当て
12a及び複数の楽音要素のボイスプログラムからなる
実行用のボイスプログラムを記憶しているMSPメモリ
ー12bとからなっている。
【0020】MSPモジュール12からのアナログ信号
の楽音データは、リアルタイムで増幅器21により増幅
され、ライン13を介してスピーカー14、15に出力
される。なお、楽音データとしてアナログ信号に限定さ
れるものではなく、ディジタル信号や他の形の信号でも
よく、さらにそれが規格化されているか否かは問わな
い。入力装置10としては鍵盤があり、その他ライン1
6を介して入力される楽器の標準規格であるMIDI信
号が入力可能となっている。さらにライン17からアナ
ログ信号を入力し、これをディジタル信号に変換して用
いることも可能である。
【0021】ホスト処理モジュール11のホストメモリ
ー11bには、複数のコードにより構成された楽音の要
素となるボイスプログラムが多数記憶され、入力装置1
0やライン16からの入力信号に応じてMSPモジュー
ル12に当該ボイスプログラムを動的に割当てている。
動的に割当てられたボイスプログラムは、MSPメモリ
ー12bに記憶され、また当該ボイスプログラムを実行
するための命令、ディレイラインマネージメントロジッ
ク、テーブル及び係数が、動的ボイス割当てのメモリー
リソースを利用して記憶されている。なおホスト処理モ
ジュール11及びMSPモジュール12に設けられた動
的ボイス割当て11a、12aのためのリソースは、入
力装置10やライン16からのMIDI信号等に応じて
ホストメモリー11bに記憶されているボイスプログラ
ムをMSPメモリー12bに動的に割当てたり、或は割
当ての解除を行うために用いられる。
【0022】MSPモジュール12は、多数のボイスプ
ログラムを同時に処理するために、データをオーディオ
レイトでデジタル出力する複数のチャネル(例えば、3
2チャネル)を持っている。そして当該チャネルからの
出力は、他のチャネルからの出力と加算され、D/Aコ
ンバータでアナログ信号に変換されてライン13を介し
スピーカ14,15に出力される。各チャネルの動作
は、MSPモジュール12に接続されたインストラクシ
ョンメモリーに記憶されている命令により制御される。
従って新しいボイスプログラムをいずれかのチャネルに
割当てる場合には、そのボイスプログラムの命令、係
数、テーブル及びディレイラインデータをインストラク
ションメモリーに転送しなければならない。この際、割
当てが行われるボイスプログラムが使用していたディレ
イラインをクリアすると共に係数を上書きし、また既存
の命令をマスクする等の処理を行うことによりクリック
ノイズを発生させないようにしている。
【0023】一方見方を変えれば、個々のチャネルは、
対応しているボイスプログラムの出力結果とみなすこと
が可能である。この場合例えば、32チャネルの信号処
理装置5では、32個のボイスプログラムがボイスプロ
グラムのグループに割当てられ、これらが所定時間で実
行されることになる。従って、動的ボイス割当てを行う
ためには、ホストメモリー11bに記憶されている1つ
のボイスプログラムをMSPメモリー12bにリアルタ
イムで、かつ、楽音信号にクリックノイズを発生するこ
となく転送しなければならない。ここでリアルタイムと
は、入力装置10を操作するユーザーの聴覚に対応した
ものである。即ち、例えばユーザーが任意の鍵盤を押す
ことにより、当該鍵盤に対応したボイスプログラムが選
択されてMSPメモリー12bに割当てられるが、この
際当該割当てによる楽音信号の遅延や歪み等をユーザー
に気付かれないように処理するという意味である。
【0024】NOP制御装置500は、動的に、かつ、
リアルタイムにボイスプログラムをホストメモリー11
bからMSPメモリー12bに割当てるのに用いられ
る。またNOP制御装置500は、MSPメモリー12
bにおいてボイスプログラムを割当てるべきロケーショ
ンに記憶されている命令をマスクすることにより一時的
にメモリー容量を変えて実行不能にする。即ち、ホスト
処理モジュール11のホストCPU20は、鍵盤等によ
り選択されたボイスプログラムをホストメモリー11b
からMSPメモリー12bに動的割当てを行い、NOP
制御装置500によりマスクされたメモリーロケーショ
ンに転送する。従って、MSPメモリー12b内の他の
ボイスプログラムは、NOP制御装置500によりマス
クされないので、動的割当ての影響を受けることなく実
行され続ける。このようにして、ユーザには楽音発生中
にいかなるディレイや歪みも感じさせることがない。
【0025】図1に示される様にMSPモジュール12
で実行されるボイスプログラムは、ホスト処理モジュー
ル11によってプログラミングされ、複数のMSPモジ
ュール12によるマルチティンバー楽音合成を行う。図
1における信号処理装置5の好適なアーキテクチャーを
図2に示す。MSPモジュール12、ホストCPUイン
ターフェース200、ローカルRAMインターフェイス
201、高速オーディオバス(HSAB)インターフェ
イス202等の特別なインターフェイスを持っている。
ホストCPUインターフェース200は、MSPモジュ
ール12の全てのロケーションにアクセスを可能にし、
ホスト処理モジュール11は、MSPモジュール12内
部の全てのコンフィギュレーションレジスター、ステイ
タスレジスター及びデータレジスターに対して読込み又
は書込みが可能となっている。またMSPモジュール1
2には、32個の割込みリソースのどれが処理を要求し
ているかを判断するための少なくとも2つの割込みレジ
スターを持つ条件割込み・外部LEDインターフェイス
203が設けられている。
【0026】ローカルRAMインターフェイス201
は、16メガワード(1ワード=24ビット)までのD
RAMをサポートし、このDRAMにはディレイライン
が割当てられる。HSABインターフェイス202は、
複数のMSPモジュール12の間で128チャネルのデ
ータ通信を可能にし、またより高い処理能力を実現する
ための、複数のMSPモジュール12によるアルゴリズ
ム展開が可能となっている。
【0027】MSPモジュール12は、2つの基本的内
部バスであるXバス204及びYバス205を有してい
る。主な信号処理のリソースには、24ビット*24ビ
ットの乗算器と56ビットアキュムレーター(以下、M
AC206と称す)及び算術論理器(以下、ALUと称
す)207がある。後で詳しく述べる様に、MAC20
6とALU207は入力ラッチ、シフター、リミッタ
ー、マルチプレクサーを共有している。またMSPモジ
ュール12は、Xメモリー208及びYメモリー209
の2つの内部メモリーを持ち、Xメモリー208とYメ
モリー209は、それぞれ256ワード(1ワード=2
4ビット)のシングルポートSRAMからなっている。
Xメモリー208はリニアにアドレス指定され、一方Y
メモリー209はリニアとサーキュラーとにして分割ア
ドレス指定が可能となっている。HSABインターフェ
イス202は、64ワード(1ワード=24ビット)の
SRAMを有している。
【0028】HSABインターフェイス202は、MS
Pモジュール12が当該HSABインターフェイス20
2の128チャネルのどのチャネルを使用するかを示す
マッピングレジスターを有し、ホスト処理モジュール1
1がこれをプログラムする。またMSPモジュール12
は、Xメモリー208、Yメモリー209及び外部RA
M領域に対しRAMインターファース201を介して間
接的にアドレス指定を行う際に用いられると共に、ディ
レイラインに当該ディレイラインの長さパラメータを出
力する際にも用いられるインデックスレジスター210
を有している。その他MSPモジュール12は、Xバス
204、Yバス205に接続されているノイズ発生装置
211及びS/Tレジスター212、ホストCPUイン
ターフェイス200と接続されたバスライン501によ
って読込み、書込み可能なマイクロコードストアー21
3と、このマイクロコードストア213に接続されてい
るプリフェッチバッファー214を有している。さらに
MSPモジュール12は、内蔵のクロック・タイミング
制御ブロック215を有している。
【0029】MAC206とALU207へのデータパ
スには、Xバス204と接続されているX入力レジスタ
ー216及びYバス205と接続されているY入力レジ
スター217があり、X入力レジスター216とY入力
レジスター217の出力は、それぞれシフター/リミッ
ター218,219に送られ、当該シフター/リミッタ
ー218,219の出力は、5入力1出力(5対1)の
マルチプレクサー220,221の入力の1つにそれぞ
れ送られる。この他、5対1のマルチプレクサー22
0,221には、S/Tレジスター212、ALU20
7及びMAC206からの信号が入力する。MAC20
6からの信号は、シフター/リミッター240を介して
5対1マルチプレクサー220に入力され、またALU
207からの信号は、シフター/リミッター241を介
して5対1マルチプレクサー221に入力される。そし
て5対1マルチプレクサー220,221からの信号
は、入力ラッチ223,224及びALU207にそれ
ぞれ送られる。
【0030】入力ラッチ223,224の出力は、MA
C206、ラッチ224、シフター225及びセレクタ
ー226に順次出力されてMAC206にフィードバッ
クされる。一方ラッチ224の下位側ビットは、ラウン
ダー227を介してXバス204、Yバス205及びコ
ンパレーター228に送られる。なお、コンパレーター
228には、S/Tレジスター212からの信号も入力
する。ALU207には、5対1マルチプレクサー22
0,221からの信号の他に、S/Tレジスター212
及びインデックスレジスター210からの信号が入力す
る。そしてALU207は、出力ライン229にインデ
ックス値、出力ライン230に論理演算結果、出力ライ
ン231に制御信号を出力する。出力ライン230に出
力された論理演算結果はラッチ232に送られ、ラッチ
232からの出力は出力ライン233,234によって
Xバス204、Yバス205に送られる。またラッチ2
32のX端子からの出力は、コンパレーター228に送
られる。
【0031】コンパレーター228からの出力信号、出
力ライン235を介するMAC206からの制御信号及
び出力ライン231を介するALU207からの制御信
号は、条件割込み・外部LEDインターフェイス203
に入力される。MSPモジュール12では、Xバス20
4とYバス205によりデーターストレージと処理ブロ
ック間のオペランド転送が行われる。これらのバスは論
理的には連続的なものであるが、ゲートトランジスター
によってメインレジスターバンク、ALU、MACバス
から、I/O機能のいくつかは分離されている。MSP
モジュール12等の動作タイミングは、オーディオのサ
ンプルレートにより決められ、MSPモジュール12は
48KHzのサンプルレートで実行する様に設計されて
いる。そして512ステップのマイクロコードが1サン
プル時間内で実行可能になっている。各命令サイクルで
Xバス204及びYバス205を介して所定のレジスタ
にアクセスでき、かつ、MAC206又はALU207
どちらかの演算が可能になっている。なおALU207
とMAC206は分離しているので、それぞれ独立して
データ処理が可能となっており、またこれらはXバス2
04、Yバス205及び入力マルチプレクサーを共有す
るので、MAC206又はALU207のいずれか一方
だけが1つの命令によりスタートする様になっている。
【0032】マイクロコードは、レジスターブロック、
HSABインターフェイス202、RAM等の間のデー
タの動きを制御する。マイクロコードデコーダー(不図
示)には、ノーマルデコードとスペシャルデコードがあ
り、ノーマルデコードでは、ALU207又はMAC2
06の1命令による動作と同期してXバス204とYバ
ス205を介していずれかのレジスターにアクセスとで
きるようになっている。スペシャルデコードは、条件割
込み・LEDインターフェース203に対する”CON
DITIONAL INTERRUPT”と”LED”
のオプコードを実行する。スペシャルデコードに対する
命令が実行されると、この命令をデコードするためにイ
ンプットセレクト或はアドレスのフィールドが使用さ
れ、レジスターのアクセスは同一の命令に対しては実行
できない様になっている。
【0033】ALU207は1命令で1回の演算を行
い、MAC206は2命令で1回の演算を行い、これら
は共に互いのデータを入力できる様に構成されているの
で、常に演算結果をレジスターやRAMに書込む必要が
ない。書込みは、別々の命令を実行する際に行われる。
Xバス204又はYバス205が、アイドル状態となる
命令は(例えば、ディレイラインコンフィグレーション
レジスターファイルへの書込み等)、インターフェイス
200を介してホスト処理モジュール11からアクセス
された時に用いられる。クロック、タイミング制御ブロ
ック215は、一般にライン555を介して命令の処理
サイクルを管理すると共に、マイクロコードのアドレス
を与え、現在のオペレーションモードに従ってこれを更
新する。MSPモジュール12はホルト、単一ステップ
或はフリーラン動作が可能となっており、ホスト処理モ
ジュール11からスタート信号を受けてもHSABイン
ターフェイス202からの同期パルスを受け取るまでス
タートしないようになっている。
【0034】MSPモジュール12が通常動作をしてい
る際にも、ホスト処理モジュール11は、RAMロケー
ションやXバス204及びYバス205をアクセスする
必要がある。しかしRAMのアクセスには、MSPモジ
ュール12の1命令以上の時間を要し、かつMSPモジ
ュール12の内部サイクルは、ホストCPU20の処理
サイクルより短いので、MSPモジュール12はホスト
CPU20がいつアクセスできるかを判断する必要があ
る。このためMSPモジュール12は、6命令分のプリ
フェッチバッファ214を持っている。このプリフェッ
チバッファ214の6命令を埋めるために、ホストCP
U20は「0」番地のマイクロコードをダウンロードし
てから”RUN/HALT”ビットを設定するまで少な
くとも20μS間待つ必要がある。この時間を利用して
プリフェッチバッファ214は、新しい命令に更新さ
れ、そして次の同期パルスにより実行が開始される。な
おこの動作は単一ステップ動作の時も同じである。
【0035】MSPモジュール12のボイスプログラム
カウンター(PC)は、9ビットの同期カウンターで、
詳しくは9ビット及び8ビットの2つのカウンターであ
る。9ビットのメインカウンターは、どのマイクロコー
ドステップが実行されているかを示し、単一ステップの
実行トリガーとして用いられると共に、どの命令が実行
されているかを正確に知る必要のある場合に用いられ
る。一方、8ビットのカウンターは、プリフェッチバッ
ファ214に読込まれるマイクロコードRAMのアドレ
スを発生する。MSPモジュール12が停止状態の時、
MSPモジュール12はXバス204、Yバス205に
アクセスをしないので、ホストCPU20は待つことな
くMSPモジュール12の内部レジスターにアクセスす
ることが可能になる。またホストCPU20は、”RU
N/HALT”ビット或は単一ステップを設定する前
に、全てのアクセスを終了している必要がある。このた
め例えば、ホストDMARAMのアクセスが開始して、
もしMSPモジュール12の”RUN/HALT”ビッ
トがこのアクセスが終わる前に設定された場合、MSP
モジュール12の実行結果とDMAの実行結果は不定と
なってしまう。
【0036】またホストCPUインターフェイス200
は、ローカルRAMインターフェース201、HSAB
インターフェース201と同様に、割込み、制御レジス
ター及びMSPモジュール12の全ての内部レジスター
を設定するための重要なインターフェイスで、このため
Xバス204、Yバス205に対してALU207や他
の内部ブロックと競合する場合が生じる。そこでホスト
CPUインターフェイス200は、現在行っているアク
セス動作が終了するまでホスト処理モジュール11にウ
ェイトステートを挿入することが可能である。例えば、
ALU207がXメモリー208に書込みを行っている
時は、この書き込みが終了するまでホスト処理モジュー
ル11にウエイトステイトが挿入されることになる。
【0037】システム集積回路(SIC:周知のチップ
を用いてもよい)SICからライン551に出力される
一般的な制御信号は、プリフェッチバッファ214から
の命令により順次マイクロデコーダー550に入力され
る。このライン551に出力される制御信号には、ライ
ン552に出力される読込可能信号とライン553に出
力される書込可能信号との一組の信号が含まれ、これら
はSICに設けられているラッチやレジスター或はRA
Mインターフェースに送られる。NOP制御装置500
は、ホストCPUインターフェース200と接続されて
いる。従って、マイクロコードストア213に記憶され
ているマイクロコードの一部を実行を禁止にする場合
は、ホストCPUインターフェース200からライン5
02を介してその旨の命令(以下、マスキング命令と称
す)を受取ることができる。そしてマイクロコードデコ
ーダ550にマイクロコードが読み込まれると、マスキ
ング命令に基づき、該当するマイクロコードの実行を禁
止にすべくライン503を介してNOPフラグをマイク
ロコードデコーダ550に出力する。
【0038】より好ましい信号処理装置においては、当
該命令はSICに設けられたストレージロケーションや
メモリーアレイに対しマイクロコードデコーダ550か
らライン553に出力された書込可能信号を実行を禁止
にする。従って、ライン502に出力された信号により
特徴付けらた命令により、処理装置によって管理されて
いるメモリーの割当て量を変えることができない様にな
る。またMSPモジュール12において、ライン503
に出力されたNOPフラグは、マイクロコードデコーダ
550内の回路によってライン552に出力されるべき
読込可能信号を出力できない様にする。このことはXバ
ス204とYバス205を介しての読込まれた該当する
命令が実行できなくなることを意味している。そこでホ
ストCPU20は、信号処理装置の動作に影響を与える
ことなくRAMにアクセスするため、ホストCPUイン
ターフェース200(ライン556によって示されたよ
うにマイクロコードデコーダ550に接続されている)
を介してXバス204とYバス205を利用している。
【0039】RAMのアクセスはSICによって管理さ
れたローカルRAMインターフェース201やインデッ
クスレジスター210等により行われる。これらのアク
セスは、係数、I/Oコンフィグレーション及びテーブ
ルといった、新しいボイスプログラムのパラメーターを
ダウンロードするの重要であり、またこのアクセスはマ
イクロコードストア213への命令をダウンロードしな
ければならない時に用いられる。以上のようにマイクロ
コードデコーダ550は、コンフィグレーション情報を
記憶し、或は制御する回路を有し、Xバス204やYバ
ス205に対し障害を伴うことなく禁止にされた命令の
実行中にホストCPU20によって更新される。
【0040】図3はマイクロコードストア213内のメ
モリーロケーションのセットを示す概略的構成図であ
る。図に示される様に、例えば、マイクロコードストア
213のメモリーロケーションは、第1ボイスプログラ
ムPRG1を記憶している第1サブセット、第2ボイス
プログラムPRG2を記憶している第2サブセット、第
3ボイスプログラムPRG3を記憶している第3サブセ
ット、第4ボイスプログラムPRG4を記憶している第
4サブセット及び第5ボイスプログラムPRG5を記憶
している第5サブセットを有している。各サブセットに
用いられるメモリーロケーションの長さは、実行するボ
イスプログラム応じて変えることができる。しかしなが
ら、図3に説明されたように、その大きさは任意に設定
することができる。
【0041】概念的には、インストラクションポインタ
ー300は、マイクロコードストアー213の現在実行
中の命令をアドレスシングする。このインストラクショ
ンポインター300は、マイクロコードストア213内
をアドレスし、ループに沿って開始点に帰還する。図2
に示す実施例において、このループは分岐せず、それ故
インストラクションポインター300は他の命令をアド
レッシングする時間が予測でき、従って予測時間には該
当する命令が実行される。
【0042】マイクロコードストア213内のマイクロ
コードを置換えるため、NOP制御装置500は図3に
示すようにコラム301に沿ってNOPフラグを出力す
る。NOP制御装置500は、マイクロコードストア2
13におけるメモリーロケーションの所定のサブセット
をNOPのスタート値(開始値)とする。そしてインス
トラクションポインター300が、NOPスタート値に
達するとNOPフラグはコラム301に示されるように
なる。NOPフラグをカウントしたカウント値は命令の
数を示し、これはNOP制御装置500に”長さ”とし
て記憶される。そしてカウントが完了すると、NOPフ
ラグはコラム301に示されたように解除される。
【0043】NOPフラグが出力されていない場合は、
命令は通常通り実行され、NOPフラグが出力される
と、命令はSICからの書込可能信号を禁止にすること
によって無視される。これにより命令がレジスター値を
変えたり、NOPフラグが出力されている間に任意のレ
ジスター値を変えたり、或はローカルRAMインターフ
ェース201を介してRAMにアクセスすることができ
なくなる。加えて、読込可能信号は、Xバス204とY
バス205に接続されているメモリーロケーションにホ
ストCPU20がアクセスすることによる、他とのXバ
ス204とYバス205の競合を避けるため禁止にされ
る。これはホストCPU20に、予測できるロケーショ
ンで選択されたボイスプログラムを実行できなくした
り、予想できる結果をそのロケーションに新たな命令を
書込むことができるようにしている。例えば、もしイン
ストラクションポインター300が置換えられているロ
ケーション内にたまたま設定されたとしても、このよう
な方法でマイクロコードストアー213に書込まれた命
令は早まって実行されたりしない。新しいボイスプログ
ラム全体がダウンロードされ、他の初期化機能がホスト
CPU20によって完了された後で、NOP制御装置5
00は信号を受けてNOPフラグを解放し、その後イン
ストラクションポインター300は、コードの一群を置
換えて通常通り実行する。
【0044】マイクロコードストア213とプリフェッ
チバッファ214は別々のI/Oを持つシングルポート
SRAMにより構成されている。1ステップが40ビッ
トで512ステップのマイクロコードを、1ワードが8
0ビットで256ワードと記憶する。マイクロコードは
現在の実行情報を持ち、3ワード(6命令)でプリフェ
ッチされ、マイクロコードデコーダ550によって読ま
れる。これによって、MSPモジュール12はいつ内部
バスやRAMアクセスをホストCPU20がアクセスで
きるかを決める事ができる。ホストCPU20は、80
ビット長のマイクロコードをダウンロードする。これは
1ワード16ビットの書込みを5回必要とする。ワード
の構成配置は、マイクロコードポインターレジスターで
の設定による。ここには2つのポインターがある。1つ
はシステムインテグレーションSIC(SIC)がマイ
クロコードをダウンロードする時のもので、1つはホス
トCPU20がマイクロコードを直接アクセスする時に
用いられる。マイクロコードはMSPモジュール12が
動作中でもホストCPU20がメモリーロケーションを
アクセスできるように、2命令を1ワードとしてストア
ーしている。これにより、常に新しいマイクロコードを
ダウンロードできる、十分な時間を確保している。
【0045】マイクロコードは前方向のみのダウンロー
ドが可能になっている。MSPモジュール12におい
て、マイクロコードのダウンロードはMSPモジュール
12が停止時にも動作時にも行うことができる。NOP
スタートとNOPカウントレジスターはマイクロコード
の1部分を変更する必要があるとき、そしてMSPモジ
ュール12がマイクロコードの1部分を変更中にも動作
し続ける場合に使用される。待ち状態にある時、マイク
ロコードデコーダ550は、ホストCPUインターフェ
ース200におけるホスト待ち状態のための信号をライ
ン556に出力する。これらの信号はホストCPUイン
ターフェース200で実行する次の命令がXバス204
とYバス205のどちらを使用するかを示している。M
SPモジュール12が動作中であり、他のコードセグメ
ントが実行中である間、NOP制御装置500はホスト
処理モジュール11にマイクロコードのある部分を置換
えることを許可する。新しいマイクロコードが割当てら
れたロケーションは、最初のアドレスロケーションを保
持するNOPスタートレジスターにより決定され、当該
ロケーションのアドレスはNOPカウントレジスターの
値によって決定される。
【0046】ホスト処理装置モジュールは、NOPスタ
ート及びカウントレジスターをダウンロードし、ホスト
メモリーからマイクロコードの転送を始める命令を出力
する。MSPモジュール12は当該MSPモジュール1
2に対するインストラクションカウンターがスタートレ
ジスターに等しくなるまでマイクロコード命令を実行し
続ける。このことはNOPカウントレジスターの中身を
NOPカウンターにダウンロードさせることになる。そ
のNOPカウンターはそれが「0」に達するまで命令サ
イクル毎にデクリメントされる。NOPカウンターは現
在の命令の実行を禁止にするNOPフラグを出力する。
NOPフラグは、例えばNOPカウンターが「0」の値
でなくても、その後の命令ごとに発生される。ホスト処
理装置モジュールはMSPモジュール12がNOPサイ
クルにある間新しいマイクロコードをダウンロードす
る。そして一旦新しいマイクロコードがダウンロードさ
れると、ホスト処理装置はNOP制御装置500のNO
P機能を不能にし、新しいコードセグメントの実行を可
能にするためにNOPカウントレジスターに「0」を書
込む。
【0047】図4はNOP制御装置500の実行を説明
するブロック図である。上述したように、MSPのクロ
ック・タイミング制御ブロック215は、インストラク
ションシーケンサー400としてまとめられたロジック
を含んでいる。そのインストラクションシーケンサー4
00は8ビットのプリフェッチカウンター401と9ビ
ットのプログラムカウンター402を有する。そのプリ
フェッチカウンター401はマイクロコードストア21
3にアドレスを出力する。マイクロコードストア213
の出力は6命令のプリフェッチキュー403に送られ
る。またプログラムカウンター402は次にデコードす
る特定のインストラクションを示す9ビットのアドレス
である。このようにしてプログラムカウンター402
は、インストラクションクロックによって計時され、プ
リフェッチキュー403も同じインストラクションクロ
ックによって計時される。またマイクロコードストア2
13の各ロケーションは2つの命令を持つのでプリフェ
ッチカウンター401は2つに分割された命令クロック
によって計時される。
【0048】プリフェッチキュウー403の出力は、マ
イクロコードデコーダ550に出力される。マイクロコ
ードデコーダ550は特定の命令に応じてMSPの各部
へ制御信号を供給する。上述したように、その制御信号
はライン552に出力される読込み可能信号RE(S)
であり、またライン553に出力される書込可能信号W
E(S)である。また、マイクロコードデコーダ550
は、ホストCPUインターフェース200に次の命令が
Xバス204とYバス205を使用するか否かを意味す
る待ち状態生成器404からの信号をライン556に出
力する。
【0049】またマイクロコードデコーダ550は、入
力としてライン503からNOPフラグを受取り、この
NOPフラグは、主にNOPカウンター405によって
動作するロジックによって生成される。NOPカウンタ
ー405には、コンパレーター407の出力がライン4
06を介して入力される。コンパレーター407には、
プログラムカウンター402の出力とNOPスタートレ
ジスター408の出力が入力される。NOPスタートレ
ジスター408は9ビットの読込み/書込み可能なレジ
スターであり、NOP命令によって無視され、また置換
えられた最初のマイクロコード命令のアドレスを含んで
いる。もしNOPカウントレジスター410の値が
「0」に等しいならば、その時はNOP機能はディスエ
ーブルとなり、このNOPレジスター410の値は意味
を持たなくなる。従ってNOPレジスター410は、ホ
ストCPUインターフェース200に対していかなる待
ち状態も発生させない。NOP制御装置500は、ライ
ン409に10ビットのデータを出力し、NOPカウン
トレジスター410がこの出力を制御する。NOPカウ
ントレジスター410は10ビットの読込み/書込み可
能なレジスターであり、NOP命令によって無視され、
または置換えられたマイクロコード命令の数を記憶して
いる。もしこのNOPカウントレジスター410の値が
「0」に等しいならば、NOP制御装置500はディス
エーブルになるであろう。従ってNOPカウントレジス
ター410はホストCPUインターフェース200に対
していかなる待ち状態も発生させない。
【0050】またNOPカウンター405は、ライン5
03を介してNOPフラグを受取るデコーダに接続され
ており、入力をカウントすることが可能になっている。
NOPカウンター405の出力はゼロデテクター411
に出力される。ゼロデテクター411の出力はライン5
03にNOPフラグを出力する。このようにして、NO
Pフラグが「0」以外の時、NOPカウンター405は
動作可能となる。
【0051】プログラムカウンター402が、NOPス
タートレジスター408の値と一致するアドレスを出力
する時、NOPカウンター405はライン406を介し
ダウンロード信号を受け取る。これはNOPカウントレ
ジスター410からの信号をNOPカウンター405に
ダウンロードさせるようにする。この時、NOPカウン
ター405の出力は「0」ではなくなり、NOPフラグ
はNOPカウンター405を動作可能にする。各命令の
クロックサイクルにおいて、NOPカウンター405は
1ずつデクリメントされる。NOPカウントレジスター
410が示す命令の数までデクリメントされた時、それ
の出力は「0」になり、NOPフラグは解除される。こ
の処理はNOPカウントレジスター410に全て「0」
が書込まれて処理が禁止されるまでマイクロコードスト
ア213のアドレス空間を介するインストラクションシ
ーケンサー400のループとして続く。
【0052】図5は概念的に本発明に係るNOP制御装
置500他の実施例を示したものである。マイクロコー
ドストア613のコードセグメントを置換えるため、ホ
スト処理モジュール11は上述したようにNOPスター
トレジスター604とNOPカウントレジスター606
にアドレスを書込まれる。MSPモジュール12はマイ
クロコードストア613からの命令を実行する。インス
トラクションシーケンサー602は命令をアクセスする
ためにバス501を介してマイクロコードストア613
にアドレスを出力し、マイクロコードストア613はバ
ス614を介してアドレスされたロケーションからセレ
クター615に命令を出力する。またセレクター615
の他の入力は、ライン618を介して入力されるNOP
命令である。セレクター615は、ライン623に出力
されるNOPフラグによって制御され、その結果NOP
フラグが入力されない限りバス614からの命令はデコ
ーダ650を通過する。デコーダ650はデコードされ
た命令を必要に応じてライン651にデコード信号とし
て出力する。
【0053】マイクロコードストアー613の命令は、
インストラクションシーケンサー602により与えられ
るアドレスがスタートレジスタ604のアドレスと同じ
になるまで実行される。インストラクションシーケンサ
ー602やスタートレジスター604は、それぞれライ
ン603及びライン605によりコンパレータ610と
接続されている。これらが一致したときコンパレータ6
10はカウンター620のカウント可能信号(CE)6
11を出力する。もしカウンターレジスター606の値
が「0」でないならば、カウンター620はNOPフラ
グをライン623に出力する。カウント値に等しい時
間、NOP命令によってマスクされた命令の置換えに関
する他の方法は、スタートアドレスの命令に”アイドル
状態”のループに分岐させることである。ホスト処理モ
ジュール11はバス652を介してホストメモリー11
b内のマイクロコードをマイクロコードストア613に
ダウンロードする。ローディングが完了した後、ホスト
処理モジュール11はNOP制御装置500をディスエ
ーブルにするためカウントレジスター606に「0」を
書込み、マイクロコードストア613の新しいマイクロ
コードセグメントの実行を可能にする。
【0054】図6と図7は本発明に従って、NOP制御
装置500の他の実施例を示している。図6の実施例に
おいては、信号処理装置はインストラクションメモリー
700、インストラクションシーケンサー701及びデ
コーダ702を有している。インストラクションメモリ
ー700からの命令は、信号処理装置により発生し、ラ
イン703を介して制御信号に応じてインストラクショ
ンシーケンサー701によって読み込まれる。一連の命
令はライン704を介してデコーダ7 2に出力され
る。デコーダ702は命令に応じて信号処理装置の操作
を制御するために一組の制御信号をライン705に出力
する。ホストシステム706は信号処理装置に接続さ
れ、ライン707を介して実行すべき特定のボイスプロ
グラムのためインストラクションメモリー700に命令
を出力する。
【0055】前述したように、ホストシステム706
は、無視されている命令のサブセットが、置換えられた
命令のボイスプログラムに含まれるインストラクション
メモリー700における命令のサブセットの実行を信号
処理装置が無視すべく命令を出力する。このようにして
図6において、インストラクションメモリー700は命
令の第1サブセット708、第2サブセット709、第
3サブセット710、第4サブセット711、第5サブ
セット712に分割されている。ある特定の命令のサブ
セット、例えば第4サブセット711を無視するため、
ホストシステム706は命令を出力する。本実施例にお
ける命令はライン707を介して特別な命令(NOP
〈N〉命令と呼ばれる)を命令の第4サブセット711
のための第1命令のロケーションへの書込む。パラメー
ターNは無視された命令の数を示し、図6において番号
720によって示されたように命令の第4サブセット7
11内のN命令に一致する。NOP〈N〉命令はデコー
ダ702に送られ、デコーダ702内のNOPカウンタ
ー713はN値をダウンロードする。読込みと書込み
は、上述した様に命令の第4サブセット711からのN
命令で説明したように、デコーダ702によって不能に
される。この実施例において、新しいボイスプログラム
が命令の第4サブセット711にダウンロードされる
時、ホストシステム706は、図6におけるダウンロー
ド開始矢印から命令の第4サブセット711をその終よ
りダウンロードする。
【0056】図7は他の実施例を示している。図7の回
路構成は図6と類似している。この実施例において、ホ
ストシステム706によって命令のサブセット(例えば
711)を無視するために出力せられた命令は、それぞ
れNOP開始のためのNOPスタート、NOP停止のた
めのNOPストップと呼ばれるペアになった特別な命令
を持っている。デコーダ702はNOPスタート命令を
受けると、デコーダ702内のNOPステイトラッチ7
14はセットされる。このNOPステイトラッチ714
の状態は、デコーダ702がNOPストップ命令を受け
るまで持続される。その後、NOPステイトラッチ71
4はリセットされる。NOPステイトラッチ714がセ
ットされている間、デコーダ702は、上述したように
ライン704に出力された命令に応じて信号処理装置に
よる読込みも書込みも禁止される。
【0057】図7の実施例において、ホストシステム7
06からのダウンロードに必要なことは、まず第一に置
換えられるボイスプログラムの長さNを決定すること
と、メモリーの次のロケーション(ボイスプログラムの
始点からN+1にオフセットされている)にNOPスト
ップ命令を書込むことです。次の処理はNOPスタート
命令を、置換えさせるサブセットを第一ロケーションに
書込むことである。新しいボイスプログラムのダウンロ
ードは、図7のダウンロード開始矢印に示されるよう
に、NOPストップ命令の少なくとも一つ前のロケーシ
ョンから始まる。ダウンロードされた新しいボイスプロ
グラムの最後の命令はNOPスタート命令に上書きされ
る。NOPストップ命令は、インストラクションメモリ
ー700から後になって除去すればよい。或はインスト
ラクションメモリー700の内部を予めいくつかのセグ
メントに仕切っておくためにNOPストップ命令を配置
しておいてもよい。
【0058】
【効果】現在実行中のコードを置換える際に、該当する
メモリーロケーションのセットをNOP装置によりマス
クし、その後マスクしたメモリーロケーション上にコー
ドの置換えを行うので実行中のコードをリアルタイムで
置換えが可能になった。これにより置換えによるクリッ
クノイズや信号の遅延等がユーザに気づかれることがな
くなった。
【図面の簡単な説明】
【図1】本発明に係る信号処理装置の概略ブロック図で
ある。
【図2】NOP制御装置のブロック図である。
【図3】マイクロコードストアーにおけるメモリーロケ
ーションを示す図である。
【図4】図2のNOP制御装置の回路図である。
【図5】図2のNPO制御装置の他の実施例の回路図で
ある。
【図6】図2のNPO制御装置の他の実施例の回路図で
ある。
【図7】図2のNPO制御装置の他の実施例の回路図で
ある。
【図8】従来技術におけるDSP及びCPUでの処理時
間を説明する図で、(a)はDSP及びCPUのサイク
ル時間のタイミングを示し、(b)は処理信号のビット
数に着目したブロック図である。
【符号の説明】
2 オーディオ処理システム 5 信号処理装置 10 入力装置 11 ホスト処理モジュール 11a 動的ボイス割り当て 11b ホストメモリ 12 楽音信号処理モジュール(MSPモジュール) 12a 動的ボイス割り当て 12b MSPメモリ 20 ホストCPU 200 ホストCPUインターフェース 201 ローカルRAMインターフェース 202 HSABインターフェイス 203 条件割込み・外部LEDインターフェイス 204 Xバス 205 Yバス 206 MAC 207 ALU 208 Xメモリー 209 Yメモリー 210 インデックスレジスター 211 ノイズ発生装置 212 S/Tレジスター 213 マイクロコードストアー 214 プリフェッチバッファー 215 クロック・タイミング制御ブロック 216 X入力レジスター 217 Y入力レジスター 218 シフター/リミッター 219 シフター/リミッター 220 マルチプレクサー 221 マルチプレクサー 223 入力ラッチ 224 入力ラッチ 225 シフター 226 セレクター 227 ラウンダー 228 コンパレーター 229 出力ライン 230 出力ライン 231 出力ライン 232 ラッチ 233 出力ライン 234 出力ライン 235 出力ライン 240 シフター/リミッター 241 シフター/リミッター 300 インストラクションポインタ− 301 コラム 400 インストラクションシ−ケンサ− 401 プリフェッチカウンタ− 402 プログラムカウンタ− 403 プリフェッチキュ− 404 待ち状態生成器 405 NOPカウンタ− 406 ライン 407 コンパレ−タ− 408 NOPスタ−トレジスタ− 409 ライン 410 NOPカウントレジスタ− 411 ゼロデテクタ− 500 NOP制御装置 501 バス 502 ライン 503 ライン 550 マイクロコードデコ−ダ− 551 ライン 552 ライン 553 ライン 556 ライン 602 インストラクションシ−ケンサ− 604 NOPスタ−トレジスタ− 606 NOPカウントレジスタ− 613 マイクロコ−ドストア 614 バス 615 セレクタ− 618 ライン 623 ライン 650 デコ−ダ− 651 ライン 652 バス 700 インストラクションメモリ 701 インストラクションシ−ケンサ− 702 デコ−ダ− 703 ライン 704 ライン 706 ホストシステム 707 ライン 708 第1サブセット 709 第2サブセット 710 第3サブセット 711 第4サブセット 712 第5サブセット 714 NOPステイトラッチ
フロントページの続き (72)発明者 ジョアンヌ エフ. オットニー アメリカ合衆国、カリフォーニア州 94024、サンタ クララ、ロス アルトス、 ベリー アベニュー 710

Claims (39)

    【特許請求の範囲】
  1. 【請求項1】 処理装置が実行する命令のセグメントを
    置換えてなるコードセグメント置換装置において、 前記処理装置に接続されると共に、所定のシーケンスで
    前記命令を出力する複数のメモリーロケーションを備え
    たメモリーシステムと、 該メモリーシステム及び前記処理装置に接続されると共
    に、前記命令のセグメントをストアーしているメモリー
    ロケーションのセットにおけるサブセットからの命令に
    応じたデータを変更することで前記処理装置を割込み禁
    止にするNOP制御装置と、 前記メモリーシステム及び前記NOP制御装置に接続さ
    れると共に、新しい命令が命令のセグメントを置換える
    べく所定のサブセットに書込まれる際に通るメモリーイ
    ンターフェースとを有してなる、 ことを特徴とするコードセグメント置換装置。
  2. 【請求項2】 実行結果の書込み可能な前記処理装置
    が、当該処理装置による実行を制御をする所定のシーケ
    ンスの命令をデコードするデコーダーを有し、 前記NOP制御装置が、所定のサブセットからの命令に
    応じて、前記処理装置による実行結果の書込みを禁止す
    る前記デコーダーに接続された回路を有してなる、 請求項1記載のコードセグメント置換装置及びそれを用
    いたリアルタイム信号処理システム並びにオーディオ処
    理システム。
  3. 【請求項3】 前記デコーダーが、所定のシーケンスの
    命令に応じてデータの読込みを制御し、かつ、 前記NOP制御装置が、所定のサブセットからの命令に
    対応してデータの読込を禁止する前記デコーダーに接続
    された回路を有してなる、 請求項2記載のコードセグメント置換装置
  4. 【請求項4】 前記NOP制御装置が、所定のシーケン
    スの命令を受信すると共に、ノンオペレーション命令
    (NOP命令)を持つメモリーロケーションのセットに
    おけるサブセットからの前記置換え命令により作動する
    回路を有してなる、 請求項1記載のコードセグメント置換装置。
  5. 【請求項5】 前記NOP制御装置の出力する前記コマ
    ンドが、メモリーロケーションのセットにおけるのサブ
    セットを認識する識別子を有してなる、 請求項1記載のコードセグメント置換装置。
  6. 【請求項6】 前記識別子が、前記メモリーの所定のサ
    ブセットのスタートアドレス及び、所定のサブセットの
    長さを示すカウント値を有して、スタートアドレスを保
    持するためにスタートレジスターと、カウント値を保持
    するためにカウントレジスターに入力されてなる、 請求項5記載のコードセグメント置換装置。
  7. 【請求項7】 前記メモリーシステムが、メモリーロケ
    ーションのセットにおける前記命令に対するアドレスの
    シーケンスを出力するシーケンサーを有し、 前記NOP制御装置が、前記シーケンサーに接続された
    置換えロジック及び、メモリーロケーションの所定のサ
    ブセットからの命令に応じて割込み禁止を書込むべく応
    答するカウントレジスターを有してなる、 請求項6記載のコードセグメント置換装置。
  8. 【請求項8】 前記命令サイクルを発生するために作動
    するクロック発生器を有し、かつ、 前記NOP制御装置が前記クロック発生器に接続される
    と共に、スタートアドレスが前記シーケンサからのアド
    レスと一致した際に、当該アドレスに対応する命令サイ
    クルにより当該命令サイクルのカウントを始めるカウン
    ターを有してなる、 請求項7記載のコードセグメント置換装置。
  9. 【請求項9】 前記カウンターが、前記命令サイクルを
    カウントする間は、NOPフラグを出力するカウントロ
    ジックを有し、かつ、 置換えロジックが、所定のサブセットからの命令に応じ
    て書込みを禁止すべくNOPフラグを出力させる回路を
    有してなる、 請求項8記載のコードセグメント置換装置。
  10. 【請求項10】 実行結果の書込み可能な前記処理装置
    が、当該処理装置による実行を制御をする所定のシーケ
    ンスの命令をデコードするデコーダーと、所定の命令か
    らなるコマンドを有し、 前記NOP制御装置が、所定のサブセットからの命令に
    応じて、前記処理装置による実行結果の書込みを禁止す
    る前記デコーダーに接続された回路を有してなる、 請求項1記載のコードセグメント置換装置。
  11. 【請求項11】 前記コマンドが、置換えるべき命令の
    数を示すパラメーターを有してなる、 請求項10記載のコードセグメント置換装置。
  12. 【請求項12】 実行結果の書込み可能な前記処理装置
    が、当該処理装置による実行を制御をする所定のシーケ
    ンスの命令をデコードするデコーダーと、前記コマンド
    が、所定のサブセットの始まりを指示する第1命令及び
    終わりを指示する第2命令とを持ち、 前記デコーダーが、所定のサブセットから置換え命令に
    応じて出力される前記第1命令及び第2命令とにより作
    動する回路に接続されてなる、 請求項1記載のコードセグメント置換装置。
  13. 【請求項13】 前記処理装置が、命令の実行中に使用
    されると共に、メモリーインターフェースを介してアク
    セス可能な付加的メモリーリソースを有し、 前記NOP制御装置が、前記メモリーインターフェース
    を介して前記付加的メモリーリソースにアクセス際のパ
    フォーマンスを改善すべく前記付加的メモリーリソース
    の容量を縮小する回路を有してなる、 請求項1記載のコードセグメント置換装置。
  14. 【請求項14】 所定の命令のセグメントを置換えるコ
    ードセグメント置換装置を有するリアルタイム信号処理
    システムにおいて、 アドレス指定された多数のメモリーロケーションを持
    ち、また各アドレスに対する命令のセグメントを保持
    し、さらにアドレスに応答して命令のシーケンスを出力
    すると共に、前記リアルタイム信号処理システムに接続
    された命令メモリーと、 該命令メモリーから出力される命令のシーケンスを識別
    すべくアドレスのシーケンスを出力する命令メモリーに
    接続されたシーケンサーと、 前記リアルタイム信号処理システム、前記命令メモリー
    及び前記シーケンサーに接続されると共に、所定のアド
    レスのグループに対する命令のセグメントを置換える命
    令により作動するNOP制御装置と、 前記命令メモリー及び前記NOP制御装置に接続され
    て、新しい命令が所定の命令のセグメントを置換えるべ
    く所定のアドレスのグループにおける命令メモリーに書
    込む際に通過するホストインターフェースとを有してな
    る、 ことを特徴とするコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  15. 【請求項15】 前記NOP制御装置の出力する前記コ
    マンドが、所定のアドレスのグループを認識する識別子
    を有してなる、 請求項14記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  16. 【請求項16】 前記識別子が、前記命令メモリーの所
    定のアドレスのグループにおけるスタートアドレス及び
    当該グループの命令の数に対応したカウント値を有し、 前記NOP制御装置が、前記スタートアドレスを保持す
    るスタートレジスター及びカウント値を保持するカウン
    トレジスターとを有し、 前記スタートレジスター、前記シーケンサー及び前記カ
    ウントレジスターに接続されると共に、前記スタートア
    ドレスと前記シーケンサーにより与えられるアドレス及
    び前記所定のアドレスのグループに対応して命令メモリ
    ーにより出力される置換命令のカウント値とを備える置
    換えロジックを有してなる、 請求項15記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  17. 【請求項17】 前記置換えロジックが、前記命令メモ
    リーにおける命令のアドレスが前記スタートアドレスに
    等しいときスタート信号を出力するコンパレータを有し
    てなる、 請求項16記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  18. 【請求項18】 前記命令サイクルを発生するクロック
    を有し、 前記置換えロジックが、前記クロック及び前記コンパレ
    ータに接続されると共に、スタート信号に応じて命令サ
    イクルの数をカウントするカウンターとを有してなる、 請求項17記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  19. 【請求項19】 前記カウンターが、カウントされた命
    令サイクルのカウント値が、カウントレジスターのカウ
    ント値に等しくなるまで置換え信号を出力するカウント
    ロジックを有して、前記置換えロジックが置き換え信号
    により作動してなる、 請求項18記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  20. 【請求項20】 実行結果の書込み可能な前記リアルタ
    イム信号処理システムが、当該リアルタイム処理システ
    ムによる実行を制御をする所定のシーケンスの命令をデ
    コードするデコーダーを有し、 前記NOP制御装置が、所定のアドレスのグループに対
    応する命令に応じて、前記処理装置による実行結果の書
    込みを禁止する前記デコーダーに接続された回路を有し
    てなる、 請求項14記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  21. 【請求項21】 前記デコーダーが、所定のシーケンス
    の命令に応じてデータの読込みを制御し、かつ、 前記NOP制御装置が、所定のアドレスのグループに対
    する命令に対応してデータの読込を禁止する前記デコー
    ダーに接続された回路を有してなる、 請求項20記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  22. 【請求項22】 前記NOP制御装置が、所定のシーケ
    ンスの命令を受信すると共に、ノンオペレーション命令
    (NOP命令)を持つメモリーロケーションのセットに
    おけるサブセットからの前記置換え命令により作動する
    回路を有してなる、 請求項14記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  23. 【請求項23】 前記NOP制御装置の出力する前記コ
    マンドが、メモリーロケーションのセットにおけるのサ
    ブセットを認識する識別子を有してなる、 請求項14記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  24. 【請求項24】 実行結果の書込み可能な前記処理装置
    が、当該処理装置による実行を制御をする所定のシーケ
    ンスの命令をデコードするデコーダーを有し、 前記NOP制御装置が、所定のアドレスのグループに対
    する命令に応じて、前記処理装置による実行結果の書込
    みを禁止する前記デコーダーに接続された回路を有して
    なる、 請求項14記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  25. 【請求項25】 前記コマンドが、置換えるべき命令の
    数を示すパラメーターを有してなる、 請求項24記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  26. 【請求項26】 実行結果の書込み可能な前記処理装置
    が、当該処理装置による実行を制御をする所定のシーケ
    ンスの命令をデコードするデコーダーと、前記コマンド
    が、所定のサブセットの始まりを指示する第1命令及び
    終わりを指示する第2命令とを持ち、 前記デコーダーが、所定のアドレスのグループに対する
    置換え命令に応じて出力される前記第1命令及び第2命
    令とにより作動する回路に接続されてなる、 請求項14記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  27. 【請求項27】 前記処理装置が、命令の実行中に使用
    されると共に、メモリーインターフェースを介してアク
    セス可能な付加的メモリーリソースを有し、 前記NOP制御装置が、前記メモリーインターフェース
    を介して前記付加的メモリーリソースにアクセス際のパ
    フォーマンスを改善すべく前記付加的メモリーリソース
    の容量を縮小する回路を有してなる、 請求項14記載のコードセグメント置換装置及びそれを
    用いたリアルタイム信号処理システム。
  28. 【請求項28】 複数のオーディオプログラムを実行す
    るオーディオ信号処理システムにおいて、 前記オーディオ信号処理システムが、アドレス指定可能
    なメモリーロケーションのセットに複数のオーディオプ
    ログラムの命令を記憶た命令メモリーと、 置換え命令に対応するメモリーのメモリーロケーション
    のセットにおけるのサブセットに記憶された命令の実行
    を置換えるメモリーに接続されたNOP制御装置と、 オーディオ信号処理システムに接続され、付加的オーデ
    ィオプログラムをストアーするホストメモリー及び置換
    え命令を出力し、命令メモリーのメモリーロケーション
    のセットにおけるのサブセットにホストメモリーから置
    換えしたオーディオプログラムをダウンロードするのに
    作動するホスト処理装置を有してなる、 ことを特徴とするコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  29. 【請求項29】 実行結果の書込み可能な前記処理装置
    が、当該処理装置による実行を制御をする所定のシーケ
    ンスの命令をデコードするデコーダーを有し、 前記NOP制御装置が、所定のアドレスのグループに対
    し命令に応じて、前記処理装置による実行結果の書込み
    を禁止する前記デコーダーに接続された回路を有してな
    る、 請求項28記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  30. 【請求項30】 前記デコーダーが、所定のシーケンス
    の命令に応じてデータの読込みを制御し、かつ、 前記NOP制御装置が、アドレス化可能なメモリーロケ
    ーションのセットにおけるのサブセットからの命令に対
    応してデータの読込を禁止する前記デコーダーに接続さ
    れた回路を有してなる、 請求項29記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  31. 【請求項31】 置換え命令が、置換えるべき命令を記
    憶しているメモリーのメモリーロケーションのセットに
    おけるのサブセットを識別する識別子を有してなる、 請求項28記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  32. 【請求項32】 オーディオ信号処理システムが、実行
    のための複数のオーディオプログラムの命令にアクセス
    するために命令メモリーにアドレスを出力するシーケン
    サーと、 前記NOP制御装置が、メモリーのメモリーロケーショ
    ンのセットにおけるのサブセットの命令を置換えるため
    の識別子に対応するシーケンサーに接続されたロジック
    とを有してなる、 請求項31記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  33. 【請求項33】 前記識別子が所定のサブセットのスタ
    ートアドレスとメモリーの所定のサブセットの長さを示
    すカウント値とを有し、 前記ロジックが、前記スタートアドレスを保持するスタ
    ートレジスターと、 前記シーケンサー及び該シーケンサーによって与えられ
    るアドレスが前記スタートレジスターのアドレスと等し
    くなったことを示す信号により作動する前記スタートレ
    ジスターに接続されたコンパレーターとを有し、 前記カウントレジスターが、カウント値を保持すると共
    に、前記コンパレーターと、該コンパレーターからの信
    号及びメモリーロケーションのセットにおけるのサブセ
    ットからの置換え命令に対するカウント値により作動す
    るカウントレジスターに接続された置換えロジックとを
    有してなる、 請求項32記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  34. 【請求項34】 置換えロジックがメモリーロケーショ
    ンのセットにおけるのサブセットの命令をカウントする
    前記コンパレーターから信号により作 するコンパレー
    ターに接続されたカウンターを有してなる、 請求項33記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  35. 【請求項35】 前記NOP制御装置が、ノンオペレー
    ション命令(NOP命令)を記憶するメモリーロケーシ
    ョンのセットにおけるのサブセットからの出力される命
    令を置換えるべくロジックを有してなる、 請求項28記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  36. 【請求項36】 処理装置が、実行結果の書込みむ処理
    装置による実行を制御する所定のシーケンスの命令をデ
    コードするデーコーダーを有し、 前記置換え命令が所定の命令を有し、 前記NOP制御装置が、所定のサブセットからの命令を
    置換えるための所定の命令により作動するデコーダーに
    接続された回路を有してなる、 請求項28記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  37. 【請求項37】 前記所定の命令が、置換えるべき命令
    の数を示すパラメーターを有してなる、 請求項36記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  38. 【請求項38】 処理装置が実行結果の書込み可能な処
    理装置による実行を制御するための所定のシーケンスの
    命令をデコードするデコーダーを有し、 置換え命令が、所定のサブセットの始まりを示す所定の
    第1命令と、所定のサブセットの終わりを示す所定の第
    2命令とを有し、 前記デコーダーが、所定のサブセットからの命令を置換
    えるための所定の第1命令及び第2命令とにより作動す
    るデコーダーに接続された回路を有してなる、 請求項28記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
  39. 【請求項39】 処理装置が、命令の実行中に用いると
    共にホスト処理装置によってアクセス可能な付加的メモ
    リーリソースを有し、 前記NOP制御装置が、ホスト処理装置を介して付加的
    メモリーリソースのアクセスのパフォーマンスを改善す
    べく付加的メモリーリソースの容量を縮小する回路を有
    してなる、 請求項28記載のコードセグメント置換装置及びそれを
    用いたオーディオ処理システム。
JP6159548A 1993-06-29 1994-06-17 コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム Pending JPH07181969A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/084,801 US5852729A (en) 1993-06-29 1993-06-29 Code segment replacement apparatus and real time signal processor using same
US08/084,801 1993-06-29

Publications (1)

Publication Number Publication Date
JPH07181969A true JPH07181969A (ja) 1995-07-21

Family

ID=22187291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6159548A Pending JPH07181969A (ja) 1993-06-29 1994-06-17 コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム

Country Status (2)

Country Link
US (1) US5852729A (ja)
JP (1) JPH07181969A (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7140005B2 (en) * 1998-12-21 2006-11-21 Intel Corporation Method and apparatus to test an instruction sequence
US7340392B2 (en) * 2002-06-06 2008-03-04 International Business Machines Corporation Multiple sound fragments processing and load balancing
US7788097B2 (en) * 2002-06-06 2010-08-31 Nuance Communications, Inc. Multiple sound fragments processing and load balancing
US7415601B2 (en) * 2002-06-28 2008-08-19 Motorola, Inc. Method and apparatus for elimination of prolog and epilog instructions in a vector processor using data validity tags and sink counters
US7366352B2 (en) * 2003-03-20 2008-04-29 International Business Machines Corporation Method and apparatus for performing fast closest match in pattern recognition
US7475393B2 (en) * 2003-08-29 2009-01-06 Motorola, Inc. Method and apparatus for parallel computations with incomplete input operands
US7290122B2 (en) * 2003-08-29 2007-10-30 Motorola, Inc. Dataflow graph compression for power reduction in a vector processor
US7502029B2 (en) * 2006-01-17 2009-03-10 Silicon Integrated Systems Corp. Instruction folding mechanism, method for performing the same and pixel processing system employing the same
US8230198B2 (en) * 2006-08-02 2012-07-24 Sandisk Il Ltd. System for synchronous code retrieval from an asynchronous source
US8037468B2 (en) * 2006-08-02 2011-10-11 Sandisk Il Ltd. Methods for synchronous code retrieval from an asynchronous source
US7689402B2 (en) * 2006-11-17 2010-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for retrieving application-specific code using memory access capabilities of a host processor
US8049611B2 (en) 2007-06-13 2011-11-01 Eingot Llc Location mechanism for mobile device
US7945768B2 (en) * 2008-06-05 2011-05-17 Motorola Mobility, Inc. Method and apparatus for nested instruction looping using implicit predicates
US9639359B2 (en) * 2013-05-21 2017-05-02 Advanced Micro Devices, Inc. Thermal-aware compiler for parallel instruction execution in processors
US9785441B2 (en) * 2014-05-29 2017-10-10 Mill Computing, Inc. Computer processor employing instructions with elided nop operations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4654817A (en) * 1984-07-27 1987-03-31 Allied Corporation Real time controller
US4991217A (en) * 1984-11-30 1991-02-05 Ibm Corporation Dual processor speech recognition system with dedicated data acquisition bus
US5201054A (en) * 1987-12-23 1993-04-06 Amdahl Corporation Apparatus and method for controlling the transfer of digital information between service processors memories in a computer
US5109504A (en) * 1989-12-29 1992-04-28 Texas Instruments Incorporated Graphics program adaptor
US5142481A (en) * 1990-03-02 1992-08-25 Milliken Research Corporation Process and apparatus allowing the real-time distribution of data for control of a patterning process
US5165091A (en) * 1991-03-20 1992-11-17 Nec America Inc. Firmware download from a remote terminal to an optical network terminal in a digital loop carrier system
US5261072A (en) * 1991-10-31 1993-11-09 Tandy Corporation Compact disk data transfer system using cache memory

Also Published As

Publication number Publication date
US5852729A (en) 1998-12-22

Similar Documents

Publication Publication Date Title
JP2838645B2 (ja) 動的ボイス割当をおこなうオープンアーキテクチャー構成のミュージックシンセサイザー
JP3203701B2 (ja) コードセグメントのリンク方法とそのシステム及びコードセグメントのダイナミックリンク方法
JPH07181969A (ja) コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム
EP0241946A2 (en) Information processing system
US5657476A (en) Signal processor with delay line management logic
JP3163984B2 (ja) 楽音発生装置
US10474387B2 (en) Musical sound generation device, musical sound generation method, storage medium, and electronic musical instrument
US6601160B2 (en) Dynamically reconfigurable data space
JP4036233B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
US6359206B2 (en) Tone signal processing apparatus with intermittent clock supply
JP3152198B2 (ja) 楽音発生方法および楽音発生装置
US6032235A (en) Memory initialization circuit
JP3497810B2 (ja) 多重可変アドレスマッピング回路
JPH09185371A (ja) 楽音生成装置
JPH07168562A (ja) ディレイラインマネージメントロジックを有する信号処理装置及びそれを用いた楽音処理装置
JP3050779B2 (ja) 信号処理装置
KR960016401B1 (ko) 레지스터 페이지 포인터를 이용한 레지스터 페이지간의 페이지 선택회로
JP2576618B2 (ja) 処理装置
JP2000293169A (ja) 楽音生成装置
EP1010275A1 (en) Audio effects processor having decoupled instruction execution and audio data sequencing
JP2003196087A (ja) マイクロコントローラのメモリアドレッシング方法及びページマッピング装置
JPH03204695A (ja) 楽音合成装置
JPH06110453A (ja) 効果付加装置
JP3230413B2 (ja) 信号処理装置および信号処理装置のマイクロプログラム書き換え方法
JP3005987B2 (ja) デジタル信号処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041006