JP5696442B2 - プログラム - Google Patents
プログラム Download PDFInfo
- Publication number
- JP5696442B2 JP5696442B2 JP2010253428A JP2010253428A JP5696442B2 JP 5696442 B2 JP5696442 B2 JP 5696442B2 JP 2010253428 A JP2010253428 A JP 2010253428A JP 2010253428 A JP2010253428 A JP 2010253428A JP 5696442 B2 JP5696442 B2 JP 5696442B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- address
- ram
- plug
- speed memory
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Circuit For Audible Band Transducer (AREA)
Description
この発明は上述した事情に鑑みてなされたものであり、外部RAMに対するアクセス頻度を下げることにより、信号処理装置の有するリソースを有効に活用できるプログラムを提供することを目的としている。
請求項1記載のプログラムにあっては、コンピュータ(10)を、マイクロプログラムを生成する装置として機能させるためのプログラムであって、前記マイクロプログラムは、サンプリング周期毎の信号処理を行う所定の演算装置(70)に対して該サンプリング周期毎に循環的に適用される複数のモジュールを、指定されたアルゴリズム構成を実現するように配列して成るものであり、前記演算装置(70)は、複数のアドレスを有する高速メモリ(74)と、複数のアドレスを有し前記高速メモリ(74)よりもアクセス速度が遅い低速メモリ(100)とにアクセス可能に構成されているものであり、前記各モジュールは、前記低速メモリから入力信号値を読み出し前記高速メモリの何れかのアドレスに書き込む入力ステップ(SP1003)と、前記入力信号値が書き込まれたアドレスを読出しアドレスとして指定することにより前記高速メモリから前記入力信号値を読み出すとともに所定の演算処理を行い前記高速メモリの何れかのアドレスを書込みアドレスとして指定することにより前記演算処理の結果である出力信号値を前記高速メモリに書き込む演算ステップ(SP1004〜SP1089)と、前記高速メモリから前記出力信号値を読み出し前記低速メモリの何れかのアドレスに書き込む出力ステップ(SP1090)とを有するものであり、前記コンピュータ(10)を、前記アルゴリズム構成において縦続接続される第1のモジュール(PG1)と第2のモジュール(PG2)とが存在するか否かを判定する判定手段(SP4)と、該判定手段の判定結果が肯定的である場合に、前記第1のモジュールの演算ステップにおける前記書込みアドレス(図6、ステップSP1089のアドレス値A01)と前記第2のモジュールの演算ステップにおける前記読出しアドレス(図6、ステップSP2004’のアドレス値A01)とを一致させつつ、両演算ステップを結合し、結合された両演算ステップと前記入力ステップと前記出力ステップとから成る結合モジュール(PG101)を生成する結合モジュール生成手段(SP6)ととして機能させるためのものであることを特徴とする。
1.1.全体構成
次に、本発明の一実施例のミキシングシステムの構成を図1を参照し説明する。
なお、本実施例のミキシングシステムは、DME(デジタル・ミキシング・エンジン)30と、該DME30に接続された汎用PC(汎用パーソナルコンピュータ)10とから構成されている。汎用PC10の内部において26はCPUであり、後述するプログラムに基づいて、通信バス20を介して他の構成要素を制御する。22はROMであり、イニシャルプログラムローダ等が記憶されている。30はRAMであり、CPU10のワークメモリとして用いられる。28は通信インタフェースであり、ローカルエリアネットワークを介してDME30と通信する。12はハードディスク・ドライブであり、オペレーティングシステム、アプリケーションプログラム等が格納される。14はリムーバルディスクドライブ装置であり、CD−ROM、MO等のリムーバルディスクに対して読出し/書込みを行う。16は表示器であり、ユーザに対して各種情報を表示する。18は入力装置であり、文字入力用キーボードおよびマウス等から構成されている。
次に、上記DME30内の信号処理部52の詳細構成を図2を参照し説明する。同図に示すように、信号処理部52は、DSP70と、入出力制御部90と、係数RAM92と、マイクロプログラムRAM94と、外部RAM100とから構成される。入出力制御部90は、通信バス44(図1参照)を介して音声インタフェース42に接続され、DSP70と音声インタフェース42との間の音声信号の入出力を仲介する。マイクロプログラムRAM94には、DSP70を制御するマイクロプログラムが記憶され、該マイクロプログラムは複数ステップのマイクロコードから構成される。また、係数RAM92には該マイクロプログラムにおいて使用される係数が記憶される。RAM92,94の内容は、CPU50によって必要に応じて書き換えられる。DSP70はクロック信号に同期して動作し、「1クロック」あたり「1ステップ」のマイクロコードを実行することができる。すると、「1」サンプリング周期内のクロック数を「M」とすると、実行可能なマイクロプログラムの最大ステップ数は「M」に等しくなる。
・ALU78において実行される演算の種別(加算、減算、比較等)、
・ALU78における演算結果をバス82に出力するか否か、
・RAM72,74に対する読出しアドレス、
・RAM72,74に対してバス82上のデータを書き込むか否か、および(書込みを行う場合に)書込みアドレス、
・書込み制御部84を介してバス82上のデータを外部RAM100に書き込むか否か、
・読出し制御部86を介して、外部RAM100からデータを読み出すか否か
ここで、マイクロコードのフォーマットを図3を参照して説明する。
「1」ステップのマイクロコードは、「64」ビットから構成されている。このマイクロコードは、ALU78において実行される演算の種別を指定するセクション、ALU78における演算結果をバス82に出力するか否かを指定するセクション、RAM72,74に対する読出しアドレスを指定するセクション等、複数のセクションから構成されている。そして、これらのセクションの組み合わせによって、その「1」ステップにおけるDSP70の動作が特定される。特に、これらのセクションの中には、T−RAM74の読出しアドレスTRRを示すセクションと、同T−RAM74の書込みアドレスTRWを示すセクションとが含まれている。アドレスTRR,TRWは共に「8」ビットである。なお、上述したマイクロコードの幅(64ビット)およびアドレスTRR,TRW(8ビット)は例示であり、これらの数値に限られるものではなく、適用されるALU78の種類に応じて決定されるものである。
2.1.動作の概要
次に、図4を参照し、本実施例の動作の概要を説明する。
まず、本実施例のマイクロプログラムは、複数のプラグインモジュールを組み合わせることによって構成される。ここで、「プラグインモジュール」とは、あるまとまった機能を実現するためのマイクロコードの集合であり、例えばグラフィックイコライザ、パラメトリックイコライザ、ディレイ、リバーブ、ゲートなどの機能を実現する。これらプラグインモジュールを用いて実現されるアルゴリズムの一例を図4(a)に示す。図4(a)の例にあっては、プラグインモジュールPG1,PG2,PG3が縦続接続され、入力信号Sinはこれらのモジュールを順次介して処理された後、出力信号Soutとして出力される。
2.2.1.統合前
次に、上述した図4(b)の信号経路を実現するマイクロプログラムの具体例を図5に示す。
図5において、プラグインモジュールPG1は、ステップSP1001〜SP1092のマイクロコードによって構成されている。まず、ステップSP1001は「エントリポイント」であり、これは再配置可能なプラグインモジュールの開始をDSP70に対して通知するものである。次に、ステップSP1002では「レジスタの退避」が指示される。I−RAM72およびT−RAM74の記憶領域においては、現在実行中のプラグインモジュールで使用可能なアドレス範囲が予め定められており、その範囲を「レジスタ」と呼ぶ。ステップSP1002においては、これらレジスタに現在記憶されている値が、RAM72,74の各々に予め確保された退避領域に転送されるのである。次に、ステップSP1003の「入力バッファアクセス」とは、外部RAM100に記憶された入力信号Sinのサンプル値をT−RAM74に読み込む事を指示するものである。より具体的には、入力信号Sinのサンプル値は、図2において外部RAM100から読出し制御部86、バス82を介してT−RAM74に書き込まれることになる。このステップを実行するため、T−RAM74に対する書込みアドレスTRWとして、アドレス値A01が指定されている。なお、アドレス値A01は、実際には、T−RAM74のアドレス値である0〜255の何れかの数値である。
次に、プラグインモジュールPG1,PG2,PG3を統合したプラグインモジュールPG101の内容を図6を参照し説明する。上述したように、プラグインモジュールPG101は、コード群PG1’,PG2’,PG3’から構成される。コード群PG1’は、ステップSP1001〜SP1089から構成され、これらはプラグインモジュールPG1におけるステップSP1001〜SP1089と同一の内容である。換言すれば、コード群PG1’は、プラグインモジュールPG1からステップSP1090〜SP1092を削除したものに等しい。次に、コード群PG2’は、ステップSP2004’〜SP2089から構成される。これらのステップは、ステップSP2004’を除いて、プラグインモジュールPG2におけるステップSP2005〜SP2089と同一の内容である。但し、ステップSP2004’においては、その読出しアドレスTRRがコード群PG1’の最後のステップSP1089で指定されたアドレス値A01に書き換えられており、この点でステップSP2004とは異なる。次に、コード群PG3’は、ステップSP3004’〜SP3092から構成され、これらのステップは、ステップSP3004’を除いてプラグインモジュールPG3におけるステップSP3005〜SP3092と同一の内容である。但し、ステップSP3004’においては、その読出しアドレスTRRがコード群PG2’の最後のステップSP2089で指定されたアドレス値A02に書き換えられており、この点でステップSP3004とは異なる。
・先頭に設けられた「3」ステップである「エントリポイント」、「レジスタの退避」および「入力バッファアクセス」(同、SP2001〜SP2003)が削除される。
・最後に設けられた「3」ステップである「出力バッファアクセス」、「レジスタの復帰」および「リターンポイント」(同、SP2090〜SP2092)が削除される。
・信号処理開始のステップ(同、SP2004)における読出しアドレスTRRは、直前の信号処理終了ステップ(同、SP1089)における書込みアドレスTRWに等しい値(同、A01)に変更される。
次に、汎用PC10に適用されるユーザインタフェースについて説明する。
汎用PC10においてユーザが所定の操作を行うと、DME30のアルゴリズムを編集するアプリケーションプログラムが起動され、該アプリケーションプログラムの制御の下、表示器16には図7に示すウィンドウ200,202が表示される。そして、ウィンドウ202には、DME30に適用されるマイクロプログラムのアルゴリズム構成が表示される。このアルゴリズム構成は、複数のブロックを接続して成るブロック図として表示される。そして、該ブロック図においては、新たなブロックや結線を追加し、あるいは既存のブロックや結線を削除するような編集を行うことが可能である。この編集を行うための操作方法は、上述した「非特許文献1」などにおいて周知である。
2.4.1.モジュール統合処理(図8(a))
次に、ウィンドウ200におけるイベント処理について説明する。
まず、複数のブロックが選択された状態でリンクボタン206がマウスでクリックされると、図8(a)に示す統合処理ルーチンが起動される。図8(a)において処理がステップSP2に進むと、選択範囲のブロックの中から統合可能な候補(リンク候補)が検索される。次に、処理がステップSP4に進むと、この検索結果に基づいて、リンク候補が存在するか否かが判定される。なお、図7に示した例においては、破線240で囲まれた選択範囲において、各グラフィックイコライザ・ブロック214,218,222,226と、その後段のディレイ・ブロック216,220,224,228とは、各々一のブロック(またはプラグインモジュール)として統合することが可能である。
以上のように、本実施例の統合処理ルーチンによれば、縦続接続された前段のモジュールの演算処理の内容と、後段のモジュールの演算処理の内容とを結合して新たなモジュールを生成できるから、外部RAM100に対するアクセス頻度を下げることができ、DSP70の有するリソースを有効に活用することができる。
また、ウィンドウ200においてコンパイルボタン204がマウスでクリックされると、図8(b)に示すコンパイル処理ルーチンが起動される。
図8(b)において処理がステップSP10に進むと、アルゴリズム構成の解析が行われる。そして、処理がステップSP12に進むと、アルゴリズム構成の解析結果に基づいて、各プラグインモジュール(統合されたプラグインモジュールも含む)が組み合わされ、当該アルゴリズム構成を実現するマイクロプログラムが生成される。
なお、生成されたマイクロプログラムは、所定の処理を行うことにより、汎用PC10からDME30に転送される。そして、DME30において、該マイクロプログラムはマイクロプログラムRAM94(図2参照)に格納され実行されることになる。
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、汎用PC10上で動作するアプリケーションプログラムによって統合処理(図8(a))およびコンパイル処理(図8(b))を行ったが、このアプリケーションプログラムのみをCD−ROM、メモリカード等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
Claims (1)
- コンピュータを、マイクロプログラムを生成する装置として機能させるためのプログラムであって、
前記マイクロプログラムは、サンプリング周期毎の信号処理を行う所定の演算装置に対して該サンプリング周期毎に循環的に適用される複数のモジュールを、指定されたアルゴリズム構成を実現するように配列して成るものであり、
前記演算装置は、複数のアドレスを有する高速メモリと、複数のアドレスを有し前記高速メモリよりもアクセス速度が遅い低速メモリとにアクセス可能に構成されているものであり、
前記各モジュールは、前記低速メモリから入力信号値を読み出し前記高速メモリの何れかのアドレスに書き込む入力ステップと、前記入力信号値が書き込まれたアドレスを読出しアドレスとして指定することにより前記高速メモリから前記入力信号値を読み出すとともに所定の演算処理を行い前記高速メモリの何れかのアドレスを書込みアドレスとして指定することにより前記演算処理の結果である出力信号値を前記高速メモリに書き込む演算ステップと、前記高速メモリから前記出力信号値を読み出し前記低速メモリの何れかのアドレスに書き込む出力ステップとを有するものであり、
前記コンピュータを、
前記アルゴリズム構成において縦続接続される第1のモジュールと第2のモジュールとが存在するか否かを判定する判定手段と、
該判定手段の判定結果が肯定的である場合に、前記第1のモジュールの演算ステップにおける前記書込みアドレスと前記第2のモジュールの演算ステップにおける前記読出しアドレスとを一致させつつ、両演算ステップを結合し、結合された両演算ステップと前記入力ステップと前記出力ステップとから成る結合モジュールを生成する結合モジュール生成手段と
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010253428A JP5696442B2 (ja) | 2010-11-12 | 2010-11-12 | プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010253428A JP5696442B2 (ja) | 2010-11-12 | 2010-11-12 | プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012105166A JP2012105166A (ja) | 2012-05-31 |
JP5696442B2 true JP5696442B2 (ja) | 2015-04-08 |
Family
ID=46395037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010253428A Expired - Fee Related JP5696442B2 (ja) | 2010-11-12 | 2010-11-12 | プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5696442B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3171361B2 (ja) * | 1994-05-06 | 2001-05-28 | ヤマハ株式会社 | Dspプログラミング装置 |
JPH08161222A (ja) * | 1994-12-05 | 1996-06-21 | Fujitsu Ltd | プロセッサ及びそのプログラム作成方法 |
EP1010275A1 (en) * | 1997-07-02 | 2000-06-21 | Creative Technology Ltd. | Audio effects processor having decoupled instruction execution and audio data sequencing |
JP4227789B2 (ja) * | 2002-09-17 | 2009-02-18 | 株式会社ガイア・システム・ソリューション | 集積回路装置およびデータ処理システム |
-
2010
- 2010-11-12 JP JP2010253428A patent/JP5696442B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012105166A (ja) | 2012-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4533682B2 (ja) | トレース解析装置およびトレース解析方法 | |
US20070247430A1 (en) | Keyboard and mouse operation data recording/reproducing system and method thereof | |
JP5779077B2 (ja) | プログラムの生成を支援する装置及び方法 | |
US20100199269A1 (en) | Program optimization device and program optimization method | |
US7523252B2 (en) | Data control apparatus functioning as a USB mass storage device | |
CN109741774B (zh) | 一种基于fpga片上ram模拟实现ddr3突发的控制器以及方法 | |
WO2022017096A1 (zh) | 屏幕录制方法、电子设备及计算机可读存储介质 | |
JP2008065441A (ja) | デバッグシステム及びデバッグ回路 | |
JP2005520238A (ja) | 動作合成ツールにおけるアレイ変換 | |
US20090276721A1 (en) | Method and apparatus for configuring a device | |
US20110035667A1 (en) | Instant Import of Media Files | |
US20140108356A1 (en) | Information processing apparatus | |
JP2013214832A (ja) | 圧縮及び伸長システム、圧縮装置、伸長装置、圧縮及び伸長方法、圧縮プログラム及び伸長プログラム | |
US20110167047A1 (en) | Editing apparatus, method, and storage medium | |
JP5696442B2 (ja) | プログラム | |
US20070079109A1 (en) | Simulation apparatus and simulation method | |
JP2001265761A (ja) | データ編集装置及び編集方法並びに編集処理手順が記録された記録媒体 | |
JP2000222296A (ja) | ファイルダウンロード方法、情報機器、及びコンピュータ読み取り可能な記録媒体 | |
JP5831235B2 (ja) | ファイル編集装置 | |
JP2012083901A (ja) | 構成情報管理装置、その方法及びそのプログラム並びに動作合成装置 | |
JP2006011950A (ja) | インストーラ作成装置及びその方法、そのプログラム | |
JP2003044518A (ja) | データ処理プログラム、データ処理システム及びデータ処理方法 | |
CN118170352A (zh) | 用于开发控制器的云端系统、控制器开发方法与控制器 | |
JP2001084165A (ja) | 画像処理装置および記憶媒体 | |
JPH11282630A (ja) | ハードディスクドライブのフォーマッティング方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130920 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140513 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150126 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5696442 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |