JPH11308114A - コーデック - Google Patents

コーデック

Info

Publication number
JPH11308114A
JPH11308114A JP10115505A JP11550598A JPH11308114A JP H11308114 A JPH11308114 A JP H11308114A JP 10115505 A JP10115505 A JP 10115505A JP 11550598 A JP11550598 A JP 11550598A JP H11308114 A JPH11308114 A JP H11308114A
Authority
JP
Japan
Prior art keywords
program
data
block
unit
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.)
Granted
Application number
JP10115505A
Other languages
English (en)
Other versions
JP3407859B2 (ja
Inventor
Teruyuki Sato
輝幸 佐藤
Hideaki Kurihara
秀明 栗原
Yoshinori Soejima
良則 副島
Yasuko Shirai
靖子 白井
Masato Ito
正人 伊藤
Kazuhiro Nomoto
一宏 野元
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11550598A priority Critical patent/JP3407859B2/ja
Priority to US09/257,788 priority patent/US6201488B1/en
Publication of JPH11308114A publication Critical patent/JPH11308114A/ja
Application granted granted Critical
Publication of JP3407859B2 publication Critical patent/JP3407859B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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/3802Instruction prefetching
    • 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/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • 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/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】本発明はメモリ容量の制約を受けずに複数のア
ルゴリズム処理を連続して行うことのできるDSPを有
するコーデックを提供することである。 【解決手段】コーデック2が有するDSP10Aは、1
つのプログラムを分割したブロックプログラム単位でプ
ログラムを格納するRAM40と、ブロックプログラム
の実行時に使用するデータを、1つのデータを分割した
データブロック単位で格納するRAM30と、RAM3
0内のデータブロックを用いてRAM40内のブロック
プログラムの実行を行うDSPコア50と、DSPコア
50による1つのブロックプログラムの実行終了毎に、
外部から新たにブロックプログラムを取得し、当該ブロ
ックプログラムをRAM40に格納するDXMAU60
とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コーデックに係
り、特に複数のアルゴリズム処理を行うことのできるD
SP(Digital Signal Processor)を有するコーデック
に関する。近年、通信ネットワークの発達に伴いより高
性能なコーデックが要求されている。
【0002】
【従来の技術】従来、デジタル信号を符号化・復号化し
て伝送するコーデック(CODEC(COder and DECode
r)) は、内部にDSP(Digital Signal Processor)
を有し、主にこのDSPによってデジタル信号の符号化
・復号化処理を行っている。図25は、従来例のDSP
としてマスクタイプのDSP200の構成を示す図であ
る。
【0003】DSP200は、DSP200の動作のた
めのプログラムを格納するROM201と、ワークデー
タを格納するRAM202と、DSP200の外部との
信号の出入り口であるIOポート203と、RAM20
2からロードされたワークデータを使用してROM20
1からロードされたプログラムを実行するDSPコア2
04とを有する。また、DSPコア204はROM20
1へのアクセスポインタであるプログラムカウンタ(P
C)205を有する。
【0004】DSP200の動作時は、PC205が指
定するアドレスから順にROM201内のプログラムが
DSPコア204によって読み出されて実行される。そ
して、プログラムの実行による結果がIOポート203
から出力される。また、プログラム実行時には、必要に
応じてRAM202からはワークデータがDSPコア2
04に読み出され、DSPコア204で加工された後、
再びRAM202に格納される。
【0005】上記のように、プログラムとワークデータ
がそれぞれ独立して別のメモリに格納されているのでD
SP200は高速でプログラム処理を行うことができ
る。図26は、2チャンネルの信号処理を行うDSP2
00の動作を説明するための図である。図26に示すよ
うに、2チャンネルの信号処理を行うためにDSP20
0のワークデータメモリであるRAM202には、独立
したメモリ領域が2つ設けられ、各領域にチャンネル
(1)又はチャンネル(2)用のワークデータが格納さ
れている。上記のような構成とすることでプログラムメ
モリであるROM201内のプログラムを単位処理時間
で2回実行して、2チャンネルの信号処理を実現するこ
とができる。
【0006】以上は、処理する2チャンネルのアルゴリ
ズム(プログラム)が同一のものである場合の説明であ
る。複数のアルゴリズムを処理する場合は、従来それぞ
れが特定のアルゴリズム処理を行う複数種類のCODE
Cを用意して対応していた。
【0007】
【発明が解決しようとする課題】しかし、従来例のよう
に複数のアルゴリズムを処理するために複数種類のCO
DECを用意する場合、それぞれのCODECは、特定
のアルゴリズム処理のみを行うものなので、ネットワー
クトラフィックの動的な変化に応じて実行するアルゴリ
ズムを変えるということができなかった。
【0008】ネットワークトラフィックの動的な変化に
応じて実行するアルゴリズムを切り替え可能にするに
は、1つのCODECに複数のアルゴリズムを格納でき
る構成にする必要がある。しかし、従来の1つのCOD
ECが有するDSP内のメモリでは、複数のアルゴリズ
ム処理のためのプログラムを格納するにはメモリ容量が
足りなくなってしまう。そのため、従来のDSPが他の
アルゴリズム処理を行う場合、実行中のプログラムを一
時中断してから当該プログラムの代わりに他のプログラ
ムをDSP内のメモリにロードする必要性が発生すると
いう問題があった。
【0009】従って、本発明の課題は、メモリ容量の制
約を受けずに複数のアルゴリズム処理を連続して行うこ
とのできるDSPを有するコーデックを提供することで
ある。
【0010】
【課題を解決するための手段】上記課題を解決するため
に本発明では、次に述べる各手段を講じたことを特徴と
する。請求項1記載の発明では、デジタル信号の符号化
/復号化処理を行うデータ処理部を有するコーデックに
おいて、前記データ処理部は、1つのプログラムを分割
したブロックプログラム単位でプログラムを格納するプ
ログラムメモリと、ブロックプログラムの実行時に使用
するデータを、1つのデータを分割したデータブロック
単位で格納するデータメモリと、前記データメモリに格
納されたデータブロックを用いて前記プログラムメモリ
に格納されたブロックプログラムの実行を行うプログラ
ム実行部と、前記プログラム実行部による1つのブロッ
クプログラムの実行終了毎に、外部から新たにブロック
プログラムを取得し、当該ブロックプログラムを前記プ
ログラムメモリに格納するプログラム更新部とを有する
ことを特徴とするものである。
【0011】また、請求項2記載の発明では、請求項1
記載のコーデックにおいて、前記プログラムメモリは、
バンク毎に1つのブロックプログラムを格納しており、
所定の順序で選択される1つのバンク内のブロックプロ
グラムが順次プログラム実行部によって実行されること
を特徴とするものである。また、請求項3記載の発明で
は、請求項1又は2記載のコーデックにおいて、前記デ
ータメモリは、バンク毎に1つのデータブロックを格納
しており、前記プログラム実行部によるブロックプログ
ラムの実行毎に、所定の順序で選択される1つのバンク
内のデータブロックが順次使用されることを特徴とする
ものである。
【0012】また、請求項4記載の発明では、請求項1
乃至3何れか1項記載のコーデックにおいて、前記プロ
グラム更新部は、外部から新たに取得したブロックプロ
グラムを、実行の終了したブロックプログラムが格納さ
れていた前記プログラムメモリのバンクに格納すること
を特徴とするものである。また、請求項5記載の発明で
は、請求項1乃至4何れか1項記載のコーデックにおい
て、前記データ処理部は、更に前記プログラム実行部に
よる1つのブロックプログラムの実行終了毎に、前記デ
ータ処理部の外部にある第一の外部メモリから新たにブ
ロックプログラムを取得し、当該ブロックプログラムを
前記プログラム更新部に与えるブロックプログラム取得
部を有することを特徴とするものである。
【0013】また、請求項6記載の発明では、請求項5
記載のコーデックにおいて、前記ブロックプログラム取
得部は、プログラム処理のフェーズと前記第一の外部メ
モリから取得するプログラムとの関係を記録した第一の
ロードテーブルを有し、前記第一のロードテーブルに基
づいて前記第一の外部メモリからブロックプログラムを
取得することを特徴とするものである。
【0014】また、請求項7記載の発明では、請求項1
乃至6何れか1項記載のコーデックにおいて、前記デー
タ処理部は、更に前記プログラム実行部による1つのブ
ロックプログラムの実行終了毎に、外部から新たにデー
タブロックを取得し、当該データブロックを前記データ
メモリに格納するデータ更新部を有することを特徴とす
るものである。
【0015】また、請求項8記載の発明では、請求項7
記載のコーデックにおいて、前記データ処理部は、更に
前記プログラム実行部による1つのブロックプログラム
の実行終了毎に、前記データ処理部の外部にある第二の
外部メモリから新たにデータブロックを取得し、当該デ
ータブロックを前記データ更新部に与えるデータブロッ
ク取得部を有することを特徴とするものである。
【0016】また、請求項9記載の発明では、請求項8
記載のコーデックにおいて、前記データブロック取得部
は、プログラム処理のフェーズと前記データメモリから
前記第二の外部メモリへ戻すデータとの関係を記録した
ストアテーブルと、プログラム処理のフェーズと前記第
二の外部メモリから取得するデータとの関係を記録した
第二のロードテーブルとを有し、前記ストアテーブルに
基づいて前記データメモリから前記第二の外部メモリへ
使用されたデータブロックを戻し、前記第二のロードテ
ーブルに基づいて前記第二の外部メモリから新たなデー
タブロックを取得することを特徴とするものである。
【0017】更に、請求項10記載の発明では、請求項
6又は9記載のコーデックにおいて、前記第一及び第二
のロードテーブルと前記ストアテーブルの内容は、書き
換え可能な構成であることを特徴とするものである。上
記各手段は、次のように作用する。請求項1記載の発明
によれば、プログラム実行部(後述する実施例のDSP
コア50)が1つのブロックプログラムの実行を終了す
ることを契機として、プログラム更新部(後述する実施
例のDXMAU60)が、外部から与えられた新たな1
つのブロックプログラムをプログラムメモリ(後述する
実施例のRAM40)にロードしていく構成のコーデッ
クを提供することができる。このような構成のコーデッ
クにおいては、1フェーズ毎にプログラムメモリ内のブ
ロックプログラムが順次実行されると同時に、あるプロ
グラム(例えば、プログラムA)が外部からブロックプ
ログラム(例えば、ブロックプログラムA1、A2、A
3、A4、A5)単位でプログラムメモリに格納され
る。従って、上記構成のコーデックが複数フェーズ動作
することで複数のプログラム(アルゴリズム)処理を連
続して行うことができる。
【0018】ここで言うフェーズとは、コーデックが1
つのプログラムの処理を行うための時間帯のことであ
り、後述するように等長化されている。例えば、コーデ
ックは、フェーズ1でプログラムAを実行し、フェーズ
2でプログラムBを実行し、フェーズ3でプログラムC
を実行していくことで複数のアルゴリズム処理が行われ
る。
【0019】また、プログラムを小プログラムに分割
し、小プログラムを順次プログラムメモリ内にロードし
て、実行することにより当該プログラムがプログラムメ
モリ(後述する実施例のRAM40)に格納するには容
量が大き過ぎる場合でも当該プログラムの処理をするこ
とができる。また、請求項2記載の発明によれば、プロ
グラムメモリの各バンクには1つのブロックプログラム
が格納されており、所定の順序で選択されるバンク内の
ブロックプログラムが順次プログラム実行部により実行
されるコーデックを提供することができる。
【0020】また、請求項3記載の発明によれば、デー
タメモリ(後述する実施例のRAM30)の各バンクに
は1つのデータブロックが格納されており、各ブロック
プログラムの実行時には、当該ブロックプログラムが格
納されているバンクに対応して所定の順序で選択される
バンク内のデータブロックが使用されるコーデックを提
供することができる。
【0021】また、請求項4記載の発明によれば、プロ
グラム実行部が1つのブロックプログラムの実行を終了
することを契機として、外部からプログラム更新部によ
って新たにロードされた1つのブロックプログラムは、
前記実行の終了したブロックプログラムがあったプログ
ラムメモリのバンクに格納されるので、各バンクが格納
するブロックプログラムが順次書き換わっていく構成の
コーデックを提供することができる。従って、プログラ
ム実行部が所定の順序で選択されるバンク内のブロック
プログラムを実行するという動作を繰り返すことにより
複数のアルゴリズム処理が行われる。
【0022】また、請求項5記載の発明によれは、プロ
グラム実行部によるブロックプログラムの実行終了毎
に、データ処理部(後述するDSP10A)の外部にあ
る第一の外部メモリ(後述する実施例のROM80)か
ら新たにブロックプログラムを取得し、当該ブロックプ
ログラムをプログラム更新部に与えるブロックプログラ
ム取得部(後述する実施例のPLC70)を有するコー
デックを提供することができる。
【0023】また、請求項6記載の発明によれは、プロ
グラム処理のフェーズと第一の外部メモリから取得する
プログラムとの関係を記録した第一のロードテーブル
(後述する実施例のロードテーブル71)に基づいて、
第一の外部メモリからブロックプログラムを取得するブ
ロックプログラム取得部を有するコーデックを提供する
ことができる。
【0024】また、請求項7記載の発明によれば、プロ
グラム実行部による1つのブロックプログラムの実行終
了毎に、外部から新たにデータブロックを取得し、当該
データブロックをデータメモリに格納するデータ更新部
(後述する実施例のDDMAU90)を有するコーデッ
クを提供することができる。また、請求項8記載の発明
によれば、プログラム実行部による1つのブロックプロ
グラムの実行終了毎に、データ処理部の外部にある第二
の外部メモリ(後述する実施例のERAM110)から
新たにデータブロックを取得し、当該データブロックを
データ更新部に与えるデータブロック取得部(後述する
実施例のPDLC100)を有するコーデックを提供す
ることができる。
【0025】また、請求項9記載の発明によれば、デー
タブロック取得部は、プログラム処理のフェーズと前記
データメモリから前記第二の外部メモリへ戻すデータと
の関係を記録したストアテーブル(後述する実施例のス
トアテーブル101)と、プログラム処理のフェーズと
第二の外部メモリから取得するデータとの関係を記録し
た第二のロードテーブル(後述する実施例のロードテー
ブル102)とを有し、ストアテーブルに基づいてデー
タメモリから第二外部メモリへ使用されたデータブロッ
クを戻し、第二のロードテーブルに基づいて第二の外部
メモリから新たなデータブロックを取得するコーデック
を提供することができる。
【0026】更に、請求項10記載の発明によれば、第
一及び第二のロードテーブルとストアテーブルの内容は
書き換え可能なコーデックを提供することができる。第
一及び第二のロードテーブルとストアテーブルの内容は
書き換え可能な構成であるので、本発明によるコーデッ
クは、必要に応じてテーブルの内容を書き換えることで
実行するプログラムの順序を変更したり、異なるデータ
で同じプログラムを実行する等、プログラムやデータの
変化に対応させることができる。
【0027】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面と共に説明する。本発明の原理は、コーデック
(CODEC(COder and DECoder)) を構成するDSP
(Digital Signal Processor)に順次DSP外部からプ
ログラムやワークデータを取得してDSPに与える機能
を有するユニットを接続し、DSPが連続して複数のア
ルゴリズム処理を行えるようにすることである。
【0028】図1は、本発明のDSP10Aが適用され
たCODEC2の基本構成図である。図1に示すよう
に、CODEC2は、アナログ信号をデジタル信号に変
換するAD変換器4と、デジタル信号をアナログ信号に
変換するDA変換器6と、信号の符号化・復号化演算を
行うDSP10Aとを有する。
【0029】CODEC2に入力する音声信号等の信号
は、AD変換器4でデジタル信号に変換され、DSP1
0Aで符号化された後にCODEC2外に出力される。
また、CODEC2に入力する符号化された信号は、D
SP10Aで復号化され、DA変換器6でアナログ信号
に変換された後、CODEC2外に出力される。図2
は、本発明の第一実施例であるDSP10Aの全体構成
図である。
【0030】図2に示すようにDSP10Aは、入出力
(IO)ポート20、RAM(Random Access Memory)3
0、40、DSPコア50、DXMAU(Direct eXecut
ableMemory Access Unit)60を有する。また、DXM
AU60は、DSP10A外部のPLC(Program Load
Controller )70に接続され、PLC70はROM(R
ead Only Memory)80に接続されている。
【0031】IOポート20は、DSP10外部と情報
の入出力を行う。RAM30は、ワークデータを格納す
る領域(ワークエリア)を有するワークデータメモリで
あり、RAM40は、DSP10Aの動作制御を行うた
めのDSPプログラム(Program )を格納する領域を有
するプログラムメモリである。DSPコア50は、プロ
グラムカウンタ(PC)51を有し、必要に応じてRA
M30内のワークデータを使用してRAM40内のDS
Pプログラムを実行していく。この時使用されたワーク
データは、再びRAM30に戻される。
【0032】DXMAU60は、RAM40のメモリ領
域において、実行の終了したプログラムをDSP10A
の外部にあるPLC70から与えられる新たなプログラ
ムに書き換える。図3は、DSP10Aの動作原理を説
明するための図である。図3に示すように、RAM30
はメモリ領域(ワークエリア)Work#1、#2、#
3を有し、それぞれの領域にはワークデータa、b、c
が格納されている。ワークデータa、b、cはそれぞれ
5つのデータブロック(a1、a2、a3、a4、a
5)、(b1、b2、b3、b4、b5)、(c1、c
2、c3、c4、c5)に分割されているものとする。
【0033】ROM80は、1つのバンクに複数のプロ
グラムを格納することが可能な程、大きな容量を有する
メモリであり、DSPプログラムであるプログラムA、
B、Cを格納する。このプログラムA、B、Cはそれぞ
れ5つのブロックプログラム(A1、A2、A3、A
4、A5)、(B1、B2、B3、B4、B5)、(C
1、C2、C3、C4、C5)に分割されているものと
する。また、各プログラムを構成するブロックプログラ
ムは、添え数字の小さなものから順に実行される。例え
ば、プログラムAにおいて実行される順番は、ブロック
プログラムA1、A2、A3、A4、A5の順である。
このプログラムA、B、Cの実行時には、それぞれRA
M30内の異なるワークエリアにあるワークデータを使
用するようにプログラムされている。例えば、ブロック
プログラムA1、A2、A3、A4、A5の実行時に
は、対応するワークエリアに格納されたデータブロック
a1、a2、a3、a4、a5がそれぞれ使用される。
【0034】RAM40のメモリ領域は5つのバンク
、、、、を有し、1つのバンクには1つのブ
ロックプログラムが格納される。ここで、RAM40に
おいては上から下のバンクに向かって順に格納されたブ
ロックプログラムが実行されるものとする。各ブロック
プログラムの実行時には、RAM30内の対応するデー
タブロックが使用される。ブロックプログラムの実行時
は、当該ブロックプログラムが格納されたRAM40の
同一バンク内での処理ジャンプはあるが、前のバンクへ
の処理ジャンプはないように構成されている。また、R
AM40のバンクの数は、実施例のものに限らない。
【0035】DXMAU60はRAM40のメモリ領域
に対して各フェーズ(Phase) 毎にプログラムの書き換え
を行うユニットである。DXMAU60は、3種のレジ
スタXBAS、XLIM、XBNKを有する。レジスタ
XBASは、プログラムが書き換わるRAM40のメモ
リ領域の始点を設定し、レジスタXLIMは、プログラ
ムが書き換わるRAM40のメモリ領域の終点を設定
し、レジスタXBNKは、プログラムを書き換える際の
1バンクあたりのワード数を設定する。
【0036】DXMAU60は、DSPコア50のPC
51を常時監視している。例えば、DSPコア50がバ
ンクのブロックプログラムの実行を終了してバンク
のブロックプログラムの実行に移った時点をPC51の
値を見て検出し、バンクにROM80からロードされ
た新たなブロックプログラムを格納する。PLC(Progr
am Load Controller)70は、ROM80から順次ブロ
ックプログラムを取得し、当該ブロックプログラムをD
SP10A内部のDXMAU60に与える。PLC70
は、プログラムをDXMAU60に与えるタイミング
(フェーズ)と与えるプログラムの種類との対応関係が
記録されたロードテーブル(Load Table)7
1を有する。PLC70は、このロードテーブル71に
基づき、どのプログラムをROM80の対応するバンク
からロードするかを決定する。ここで、PLC70はD
SP10A内に配置された構成としてもよい。また、ロ
ードテーブル71はユーザが適宜書き換え可能な構成と
してもよい。
【0037】続いて、図3及び図4を用いて本第一実施
例の動作説明を行う。図4は、各フェーズにおけるDS
Pコア50が実行するプログラムとROM80からロー
ドされるプログラムの関係を示したタイミング図であ
る。先ず、DSP10Aの動作フェーズがフェーズ1で
あるとする。そして、RAM40のバンク、、、
、には、それぞれブロックプログラムA1、A2、
A3、A4、A5が格納されているとする。
【0038】フェーズ1において、DSPコア50がR
AM40のバンクに格納されたブロックプログラムA
1の実行を終了し、バンクのブロックプログラムA2
の実行に移る時、それを契機としてDXMAU60は、
PLC70に対してバンクに新たに格納するブロック
プログラムを要求する。DXMAU60からの要求を受
けてPLC70は、ロードテーブル71に従いフェーズ
1において、ROM80からロードするプログラムはプ
ログラムCであると認識する。そして、PLC70はプ
ログラムCを構成するブロックプログラムの中で最初に
実行されるブロックプログラムC1をROM80から取
得し、DXMAU60に与える。DXMAU60はバン
クに当該ブロックプログラムC1を格納する。
【0039】続いて、DSPコア50がバンクに格納
されたブロックプログラムA2の実行終了後、バンク
内のブロックプログラムA3の実行に移った時、DXM
AU60は、PLC70にバンクに新たに格納するブ
ロックプログラムを要求する。DXMAU60からの要
求を受けてPLC70は、ロードテーブル71に従いR
OM80からブロックプログラムC2を取得し、DXM
AU60に与える。そして、DXMAU60はバンク
に当該ブロックプログラムC2を格納する。
【0040】上記動作が繰り返され、バンクのブロッ
クプログラムA5の実行が終了すると、フェーズ1にお
けるプログラムAの実行は終了する。そして、PC51
が先頭に返り、処理フェーズはフェーズ2になる。続い
て、DSPコア50は、バンクに新たに格納されたブ
ロックプログラムC1の実行をデータブロックc1を用
いて行う。この時、バンクには新たにブロックプログ
ラムC5が格納されている。そして、フェーズ1と同様
にフェーズ2では順次ブロックプログラムC1、C2、
C3、C4、C5が実行されることでプログラムCの処
理が行われる。
【0041】上記のように、RAM40に格納されるブ
ロックプログラムは、バンク単位で順次書き換えられて
いき、プログラムカウンタ(PC)51が先頭に返った
時は、プログラムが次に実行すべき新しいものに置き変
わっている。従って、本発明のDSP10Aは、プログ
ラムの実行を中止せずに連続して複数のプログラムA、
B、Cを実行するので複数の(マルチ)アルゴリズム処
理を実現することができる。
【0042】尚、データ、(ブロック)プログラムの数
は上記例に限らない。また、上記実施例ではマルチアル
ゴリズム処理についての説明を行ったが、一度にはRA
M40に格納できないような容量の大きな1つのプログ
ラムについてもDSP10Aを用いて実行することが可
能である。図5は、各フェーズにおけるDSPコア50
が実行するプログラムDを分割した小プログラムと、R
OM80からロードされる小プログラムの関係を示した
タイミング図である。ここで、プログラムDはそのまま
ではRAM40のバンク内に格納できない程容量の大き
なプログラムであり、3つの小プログラム1/3、2/
3、3/3に分割されている。そして、この小プログラ
ムが順次RAM40に格納されていくものとする。
【0043】図5に示すように、小プログラム1/3、
2/3、3/3は、各フェーズ毎に順次DSPコア50
によって実行されていく。一方、ROM80からはロー
ドテーブル71に従って小プログラム1/3、2/3、
3/3のうちの一つが順次各フェーズ毎に新たにロード
され、実行されるプログラムのあるバンクを追うように
後から次々とRAM40のバンクにブロックプログラム
単位で格納されていく。上記動作が繰り返され、小プロ
グラム1/3、2/3、3/3が全て実行されることに
より、プログラムDの実行が終了する。従って、そのま
まではRAM40内に格納できない程、大きな容量のプ
ログラムであってもDSP10Aを用いて実行すること
が可能になっている。
【0044】図6は、DSP10AにROM81が接続
された様子を示す図である。図6に示すように、ROM
81には、RAM30において参照するワークエリア
と、実行するプログラムとの全組み合わせ分のオブジェ
クトが格納されている。例えば、図3に示すROM80
がDSP10Aに接続された構成の場合、プログラムA
を実行する際に使用されるワークデータは、領域Wor
k#1に格納されているワークデータaに限定される。
従って、プログラムAをワークデータbやワークデータ
cを用いて実行することができない。そこで、図6に示
すようにプログラムを格納しておく外部ROMの構成を
ROM81のようにすることで、DSP10Aは、同一
のプログラム(例えばプログラムA)を異なるデータ
(データa、b、c)を用いて実行することが可能にな
る。
【0045】図7は、DSP10AにDPRAM82及
び外部記憶装置83が接続された様子を示す図である。
図7に示すようにDSP10Aの外部のプログラムメモ
リは、例えばハードディスクドライブ装置(HDD)の
ような外部記憶装置83に接続されたDPRAM(Dual
Port RAM) 82である。
【0046】DPRAM82において、例えば、Wor
k#2内のデータbを使用するように設定されたプログ
ラムBが格納された領域に、プログラムBに代えて外部
記憶装置83からWork#2内のデータbを使用する
ように設定されたプログラムAが格納されたとする。こ
の時、DPRAM82内には、Work#1内のデータ
aを使用するように設定されたプログラムAとWork
#2内のデータbを使用するように設定されたプログラ
ムAが格納された状態になる。従って、DSP10Aの
動作によって上記2つのプログラムが実行されると、プ
ログラムAはデータa及びデータbの両方のデータを使
って実行されることになる。
【0047】上記構成により、プログラムやデータの数
が非常に多く、図6で説明したROM81のように、R
AM30において参照するワークエリアと、実行するプ
ログラムとの全組み合わせ分のオブジェクトを格納する
にはDSP10A外部のメモリのメモリ容量が足りない
場合でも、必要に応じて外部記憶装置83からプログラ
ムをDPRAM82にダウンロードすることで、DSP
10Aは同一のプログラムを異なるデータを用いて実行
することができる。
【0048】ここで、外部記憶装置83からDPRAM
82にプログラムがダウンロードされた時、ダウンロー
ドされたプログラムに対応してロードテーブル71の内
容は、例えば図7に示すロードテーブル72のように書
き換えられるものとする。ロードテーブル72による
と、新たにDPRAM82に格納された、Work#2
内のデータbを使用するように設定されたプログラムA
は、PLC70によってフェーズ2でDSP10Aにロ
ードされる。
【0049】外部からプログラムを必要に応じてダウン
ロードできる構成とすることにより、ロードテーブル7
1で固定されたプログラムのロード及び実行順序を変更
することが可能になる。図8は、本発明の第二実施例で
あるDSP10Bの全体構成図である。図8に示すよう
にDSP10Bは、第一実施例のDSP10Aに加えて
DDMAU(Direct Data Memory Unit) 90を有する構
成である。また、DDMAU90は、DSP10B外部
のPDLC(Program Data Load Controller)100に
接続され、PDLC100はERAM(Extended Random
Access Memory) 110に接続されている。
【0050】DDMAU90は、ブロックプログラムの
実行時に使用されるデータブロックが格納されたRAM
30のバンクの内容を、順次DSP10Bの外部にある
PDLC100から与えられる新たなデータブロックで
書き換える。ERAM110は、外部のデータメモリで
あり、ワークデータa、b、cを格納する。他の構成は
DSP10Aと同様なので説明を省略する。
【0051】図9は、DSP10Bの動作原理を説明す
るための図である。図9に示すように、RAM30のメ
モリ領域は5つのバンク、、、、を有し、1
つのバンクには1つのデータブロックが格納される。R
AM40のバンクとRAM30のバンクとは1対1に対
応付けられており、バンクの対応関係から実行するブロ
ックプログラムに対して使用するデータブロックが決定
付けられる。例えば、RAM40のバンクに格納され
たブロックプログラムが実行される時は、RAM30の
バンクに格納されたデータブロックが使用される。1
つのブロックプログラムが実行される時に、対応するR
AM30の同一バンク内のデータブロックの使用は自由
であるが、他のバンクのデータブロックを使用すること
のないように構成されている。また、RAM30のバン
ク数は実施例のものに限らない。
【0052】DDMAU90は、RAM30のメモリ領
域に対して各フェーズ毎にワークデータの書き換えを行
うユニットである。DDMAU90は、3種のレジスタ
DBAS、DLIM、DBNKを有する。レジスタDB
ASは、データが書き換わるRAM30のメモリ領域の
始点を設定し、レジスタDLIMは、データが書き換わ
るRAM30のメモリ領域の終点を設定し、レジスタD
BNKは、データを書き換える際の1バンクあたりのワ
ード数を設定する。
【0053】DDMAU90は、DSPコア50のPC
51を常時監視している。例えば、DDMAU90は、
DSPコア50がRAM40のバンクのブロックプロ
グラムの実行を終了して、バンクのブロックプログラ
ムの実行に移った時点をPC51の監視から認識する。
そして、DDMAU90は、RAM30のバンクのデ
ータブロックをERAM110側に戻し、RAM30の
バンクにPDLC100から取得した新たなデータブ
ロックを格納する。
【0054】ここで、DDMAU90はPC51を監視
してデータの書き換えのタイミングを認識するのではな
く、データメモリであるRAM30へのアクセスポイン
タを監視して、データの書き換えのタイミングを認識す
るようにしてもよい。この場合、DDMAU90は、R
AM30へのアクセスポインタがRAM30の次のメモ
リバンクを指示するようになった時、実行されるブロッ
クプログラムが変わったと判断する。そして、DDMA
U90は、それまでのメモリバンク内のデータブロック
をERAM110側に戻す(ストアする)と共に、ER
AM110側から与えられるデータブロックを新たに当
該メモリバンクに書き込む。
【0055】PDLC(Program Data Load Controller
)100は、外部データメモリであるERAM110
からデータブロックを取得し、当該データブロックをD
SP10B内部のDDMAU90に与える。PDLC1
00は、データをDDMAU90に与えるタイミング
(フェーズ)と与えるデータの種類との対応関係が記録
されたロードテーブル(Load Table)102
と、DSP10BからERAM110にデータをストア
するタイミングとそのデータの種類との対応関係が記録
されたストアテーブル(Store Table)10
1とを有する。ここで、PDLC100はDSP10B
内に配置された構成としてもよい。また、ロードテーブ
ル102、ストアテーブル101は、ユーザが適宜書き
換え可能な構成としてもよい。
【0056】続いて、図9及び図10を用いて本第二実
施例の動作説明を行う。図10は、各フェーズにおける
DSPコア50が実行するプログラムと、ROM80か
らロードされるプログラムと、ERAM110からロー
ドされるワークデータの関係を示したタイミング図であ
る。先ず、DSP10Bの動作フェーズがフェーズ1で
あるとする。そして、RAM40のバンク、、、
、には、それぞれブロックプログラムA1、A2、
A3、A4、A5が格納され、RAM30のバンク、
、、、には、それぞれデータブロックa1、a
2、a3、a4、a5が格納されているとする。
【0057】フェーズ1において、DSPコア50がR
AM40のバンクに格納されたブロックプログラムA
1の実行を終了し、バンクのブロックプログラムA2
の実行に移る時、それを契機としてDXMAU60は、
PLC70に対してRAM40のバンクに新たに格納
するブロックプログラムを要求する。この時、DDMA
U90は、PDLC100に対してRAM30のバンク
に新たに格納するデータブロックを要求する。
【0058】DXMAU60からの要求を受けてPLC
70は、ロードテーブル71に従いROM80からブロ
ックプログラムC1を取得し、DXMAU60に与え
る。そして、DXMAU60はRAM40のバンクに
ブロックプログラムC1を格納する。この時、DDMA
U90からの要求を受けてPDLC100は、ストアテ
ーブル101に従いブロックプログラムA1の進行に伴
って、RAM30のバンクに格納しておく必要の無く
なったデータブロックa1をERAM110の所定のメ
モリ領域にストアしていくと同時に、ロードテーブル1
02に従い、ERAM110から新たにデータブロック
c1を取得し、DDMAU90に与える。DDMAU9
0はRAM30のバンクに新たにデータブロックc1
を格納する。
【0059】続いて、DSPコア50がデータブロック
a2を用いて、RAM40のバンクに格納されたブロ
ックプログラムA2の実行終了後、データブロックa3
を用いるバンクに格納されたブロックプログラムA3
の実行に移った時、DXMAU60は、PLC70にR
AM40のバンクに新たに格納するブロックプログラ
ムを要求する。この時、DDMAU90は、PDLC1
00に対してRAM30のバンクに新たに格納するデ
ータブロックを要求する。
【0060】DXMAU60からの要求を受けてPLC
70は、ロードテーブル71に従いROM80からブロ
ックプログラムC2を取得し、DXMAU60に与え
る。そして、DXMAU60はRAM40のバンクに
ブロックプログラムC2を格納する。この時、DDMA
U90からの要求を受けてPDLC100は、ストアテ
ーブル101に従いブロックプログラムA2の進行に伴
って、RAM30のバンクに格納しておく必要の無く
なったデータブロックa2を、ERAM110の所定の
メモリ領域にストアしていくと同時に、ロードテーブル
102に従い、ERAM110から新たにデータブロッ
クc2を取得し、DDMAU90に与える。DDMAU
90は、RAM30のバンクに新たにデータブロック
c2を格納する。
【0061】上記動作が繰り返され、バンクのブロッ
クプログラムA5の実行が終了すると、フェーズ1にお
けるプログラムAの実行は終了する。そして、PC51
が先頭に返り、処理フェーズはフェーズ2になる。続い
て、DSPコア50は、RAM40のバンクに新たに
格納されたブロックプログラムC1の実行をRAM30
のバンクに新たに格納されたデータブロックc1を用
いて行う。そして、フェーズ1と同様にフェーズ2では
順次ブロックプログラムC1、C2、C3、C4、C5
が実行されることでプログラムCの処理が行われる。
【0062】上記のように、RAM40に格納されるプ
ログラムとRAM30に格納されるワークデータは、バ
ンク単位で順次書き換えられていき、プログラムカウン
タ(PC)51が先頭に返って新たなフェーズになった
時は、プログラムとワークデータが次フェーズ用の新し
いものに置き変わっている。従って、本発明のDSP1
0Bは、プログラムの実行を中止せずに連続してマルチ
アルゴリズム処理を実現できる。
【0063】尚、データ、(ブロック)プログラムの数
は上記例に限らない。また、上記例ではマルチアルゴリ
ズム処理についての説明を行ったが、RAM30に格納
できないような大きな容量のワークデータを要するマル
チチャンネル処理についてもDSP10Bを用いて処理
することが可能である。図11は、各フェーズにおける
チャンネル(ch)1、2、3と各チャンネルのプログ
ラムの実行時に使用されるワークデータの関係を示した
タイミング図である。ここで、ワークデータは、そのま
まではRAM30に格納できない程容量の大きなもので
あり、元のワークデータを分割してできたデータブロッ
クがそれぞれチャンネル1、2、3用ワークデータ(Wo
rk Data for ch1 、2 、3 )として順次ロードされ、各
チャンネルのプログラムの実行時に用いられる。
【0064】DSP10Bの動作時には、各フェーズ毎
にRAM30のメモリ領域において、実行が終了したプ
ログラムに対応するワークデータに変わって、ロードテ
ーブル102に基づいて新たなワークデータが順次ロー
ドされていく。従って、実行するプログラムは同一のも
のであるが、処理フェーズ毎に次のチャンネルのワーク
データがロードされ、次の処理フェーズのプログラム実
行時に使用できるようになっている。このような構成に
より、一度に全てのワークデータを格納しておくにはR
AM30のメモリ容量が足りない場合でも、DSP10
Bを用いてマルチチャンネル処理を行うことが可能であ
る。
【0065】尚、DSP10Bに接続され、プログラム
を格納するROMは、第一実施例で説明したROM81
や外部記憶装置83からプログラムを取得するDPRA
M82で構成されてもよい。本発明では、一定時間続く
フェーズ毎に実行或いはロードされるプログラムが変わ
るので、各プログラムの処理時間は等長化されている必
要がある。具体的には、DSPの動作に要する単位処理
時間をNフェーズに分けて考える場合、外部ROMから
RAM40にロードされて実行される各プログラムは、
単位処理時間の1/Nより短い時間内で実行が完了する
構成であることが求められる。
【0066】そこで、プログラムの処理時間を等長化す
るためにRAM40は、プログラムの書き換えが行われ
るメモリ領域以外に、プラットフォームプログラムPを
格納する。図12は、5つのバンクを有し、プラットフ
ォーム構造を有するRAM40を示す図である。RAM
40は、DSPプログラムが格納される5つのバンクの
あるメモリ領域以外の領域に各プログラムの処理時間を
等長化するためのプラットフォームプログラムPを有す
る。
【0067】図13は、プラットフォームプログラムP
を説明するための図である。図13に示すように、例え
ばフェーズ1において、プログラムAの実行が終了した
後の残りの時間は、プラットフォームプログラムPに従
いプログラム処理のアイドリングが行われる。そして、
フェーズ2になると、実行されるプログラムは、新たに
RAM40にロードされたプログラムCになる。そし
て、プログラムCの実行が終了した後の時間は、再びプ
ラットフォームプログラムPに従いプログラム処理のア
イドリングが行われる。各フェーズにおけるアイドリン
グ時間を調整することにより、各フェーズのアイドリン
グ時間を含めたプログラムの処理時間は等長化される。
【0068】DSP10A、10Bにおけるフェーズの
認識は、例えばPLC70やPDLC100に入力され
ている、単位処理時間に同期したマスターフレームクロ
ックMFCをN分周した信号MFC/Nを、DSP10
A、10Bに与えることで可能になる。図14は、プラ
ットフォームプログラムPを持つRAM40を有するD
SP10Aの全体構成図である。以下に、プラットフォ
ームプログラムPを有するDSP10Aでマルチアルゴ
リズム処理を行う場合のワークデータアクセス方法の一
実現例を説明する。
【0069】図14に示すように、RAM40は、プラ
ットフォームプログラムPを格納する。また、RAM3
0はワークエリアWork#0、#1、#2、#3を有
する。ワークエリアWork#1、#2、#3にはそれ
ぞれプログラムA、B、C用のワークデータa、b、c
が格納されている。また、Work#0は処理フェーズ
に応じてワークデータa、b、cの何れか1つが格納さ
れるテンポラリワークエリアである。
【0070】例えば、フェーズ1でプログラムA1の処
理が終了してフェーズ2になるまでのアイドリング期間
中には、プラットフォームプログラムPに従って、デー
タaがWork#1にコピーされ(戻され)、フェーズ
2で使用されるデータcがWork#3からWork#
0内にコピーされる(移される)というスワップ処理が
行なわれる。ここで、Work#0、#1、#2、#3
は、プログラム処理で使用するワークデータを格納する
のに十分なメモリ容量を有するものとする。
【0071】このような構成のDSP10Aでは、各フ
ェーズにおいてDSPコア50が常にデータメモリの同
一の領域(Work#0)にアクセスすることで、実行
するプログラムに必要なワークデータを得ることができ
る。図15は、上記プラットフォームプログラムPによ
るワークデータのスワップ処理の流れを示すフローチャ
ートである。
【0072】プラットフォームプログラムPは、次の処
理フェーズがフェーズ1、2、3のどれに当てはまるか
を整数変数Xの値で判断する。このXの値は、整数変数
Cntの値(初期値1)から算出される。そして、Xの
値に基づいてDSPコア50にロードされるワークデー
タが決定される。この変数Xの値を決定する計算は、以
下のようになる。
【0073】先ず最初に整数変数Cntの値は1であ
る。DSP10Aが前述の信号MFC/N(例えばN=
3)を受け取るとCntの値が1つ増加される。そし
て、増加されたCntの値を3で割る演算が行われる。
この演算結果の値がXとされる。ただし、変数Cntを
3で割った演算の結果がX=0の時にはXの値が3にセ
ットされる。
【0074】上記処理によって、信号MFC/NがDS
P10Aに送られる度に変数Xの値が順次1、2、3、
1、2、3、1、・・・と決定される。図15に示すよ
うに、変数Cntを3で割る演算で決定される変数Xの
値に対応して、Work#0にあったワークデータが所
定のワークエリアに戻され、次のフェーズで使用される
ワークデータが代わりにWork#0にコピーされる。
そして、DSPコア50には常にWork#0に格納さ
れたワークデータがロードされ、プログラムの実行時に
使用される。
【0075】例えば、変数Cntを3で割る演算の結果
がX=1の時、それまでWork#0にあったワークデ
ータがWork#3にコピーされ、代わりにWork#
0にはWork#1内にあったワークデータがコピーさ
れる。図16は、図15で説明した方法とは別のワーク
データアクセス方法を説明するための、プラットフォー
ム構造を有するDSP10Aの構成図である。このDS
P10Aは、RAM30のデータメモリに対する論理ア
ドレスが設定された構成である。
【0076】図16に示すように、本DSP10Aで
は、RAM30のデータメモリ領域とそれに対する論理
アドレッシングを変えるアドレス手法がDSPハードで
サポートされている。プラットフォームプログラムPに
従い、各処理フェーズにおけるプログラムの実行前にオ
フセットアドレスをオフセットレジスタへ与えること
で、RAM30のWork#1、#2、#3内にあるワ
ークデータa、b、cの何れに対してもDSPコア50
は同一のアドレスで常にアクセスできるようになる。
【0077】上記実施例で説明したDXMAU60、P
LC70、DDMAU90、PDLC100は、例えば
以下のような構成とする。図17は、DXMAU60の
構成例を示す図である。図17に示すように、DXMA
U60は、バンクカウンタ61、ベースアドレス計算部
62、プログラムカウンタ比較部63及びアドレス生成
部64を有する。
【0078】バンクカウンタ61は、初期値がゼロであ
る整数変数Kをカウントする。バンクカウンタ61がカ
ウントする変数Kの値を1ずつ増加させるインクリメン
ト信号incは、プログラムカウンタ比較部63から入
力され、変数Kの値をゼロにリセットするリセット信号
rstは、アドレス生成部64から入力される。ベース
アドレス計算部62には、DXMAU60のレジスタか
らXBNK、XBASの値が入力され、バンクカウンタ
61から変数Kの値が入力される。ベースアドレス計算
部62は、入力される値XBNK、XBAS、Kを用い
てベースアドレスXBAS+XBNK×K(初期値はK
=0によりXBAS)を算出し、この算出したベースア
ドレスをプログラムカウンタ比較部63及びアドレス生
成部64に与える。ここで、ベースアドレスXBAS+
XBNK×Kは、RAM40においてDSPプログラム
(ブロックプログラム)が格納されるメモリ領域のバン
ク境界のアドレスを表わす。
【0079】プログラムカウンタ比較部63には、DX
MAU60のレジスタからXBNK、XBASの値が入
力され、プログラムカウンタ51からはプログラムカウ
ンタの値PCが入力され、ベースアドレス計算部62か
らはベースアドレスXBAS+XBNK×K(初期値は
XBAS)の値が入力される。最初にプログラムカウン
タ比較部63は、PCとXBAS+XBNK×Kの初期
値であるXBASとを比較しており、PC>XBASに
なるとRAM40内のブロックプログラムの実行が開始
されたと判断し、PCと(XBAS+XBNK×K)+
XBNK(K=0、1、2、・・・)との比較演算を開
始する。
【0080】比較演算の結果、PC>(XBAS+XB
NK×K)+XBNKになると、プログラムカウンタ比
較部63は、DSPコア50が次のバンクに格納された
ブロックプログラムを実行し始めたと判断し、アドレス
生成部64にアドレスのインクリメントイネーブル信号
incenを与える。プログラムカウンタ比較部63
は、上記インクリメントイネーブル信号incenを各
処理フェーズ中、XBNK分の長さだけ出力することで
アドレス生成部64にXBNK単位のブロックプログラ
ムの書き換えを実行させる。
【0081】また、プログラムカウンタ比較部63は、
インクリメントイネーブル信号incenをXBNK分
の長さだけ出力するとインクリメント信号incを出力
してバンクカウンタ61のKの値を1つ増加させる。ア
ドレス生成部64は、上記インクリメントイネーブル信
号incenに基づいてベースアドレスXBAS+XB
NK×Kに対するオフセットアドレス[0,XBNK−
1]を生成し、先のベースアドレスと加算することでア
ドレスowpを生成する。また、アドレス生成部64
は、上記インクリメントイネーブル信号incenから
プログラムメモリであるRAM40へのロード信号RD
と、外部メモリであるROM80へのリード信号RDを
生成する。
【0082】リード信号RDによって読み出されたブロ
ックプログラムは、RAM40のアドレスowpが表す
メモリ領域に格納される。アドレス生成部64は、アド
レスowpがXLIMよりも大きくなると、RAM40
のメモリ領域の全バンクのブロックプログラムの書き換
えを終了したと判断して、バンクカウンタ61およびプ
ログラムカウンタ比較部63にリセット信号rstを送
り、整数変数Kの値をゼロにリセットさせる。整数変数
Kがゼロにリセットされることにより、続いてロードさ
れるブロックプログラムは最初のバンクに格納される。
【0083】図18は、PLC70の第一構成例である
PLC70aを示す図である。図18に示すように、P
LC70aは、ロードテーブル部73、ベースアドレス
部74、アドレス生成部75及びラッチ部76を有す
る。ロードテーブル部73は、ロードテーブル71を有
し、ロードテーブル71の内容は、PLC70aの動作
を制御する制御バスCtrl Busからの信号が入力
した時に読み出される。この読み出されたロードテーブ
ル71の内容は、ベースアドレス部74に送られる。
【0084】ベースアドレス部74では、外部メモリで
あるROM80からブロックプログラムを読み出す際
に、当該ブロックプログラムが格納されるメモリ領域を
特定するアクセスアドレスadrsを決定するために必
要なベースアドレスがロードテーブル71の内容に基づ
いて生成される。DSP10Aの動作の単位処理がNフ
ェーズに分けて行われるとすると、ベースアドレスの生
成は、単位処理に要する時間に同期したマスターフレー
ムクロックMFCをN分周したクロックのタイミングに
合わせて行われる。
【0085】アドレス生成部75は、ベースアドレスに
対するオフセットアドレスをDXMAU60からのリー
ド信号RDに基づきインクリメントして生成する。そし
て、当該オフセットアドレスをベースアドレスに加算す
ることで、外部メモリであるROM80へのアクセスア
ドレスadrsを作る。そしてROM80において、ア
クセスアドレスadrsが示すメモリ領域から読み出さ
れた当該ブロックプログラムは、ラッチ部76を介して
DXMAU60に与えられる。
【0086】図19は、PLC70の第二構成例である
PLC70bを示す図である。図19に示すように、P
LC70bは、ラッチ部76、ベースアドレスレジスタ
77、リミットアドレスレジスタ78、ロードアドレス
生成部79及びアドレス比較部84を有する。ベースア
ドレスレジスタ77及びリミットアドレスレジスタ78
には、それぞれPLC70bの動作を制御する制御バス
Ctrl Busからベースアドレスとリミットアドレ
スが設定される。このベースアドレスとリミットアドレ
スは、ROM80のメモリ領域に対してプログラムの読
み出しの対象領域を限定するためのアドレスである。
【0087】ロードアドレス生成部79は、前述の信号
MFC/Nのタイミングでベースアドレスレジスタ77
からベースアドレスの値を読み込む。そして、DXMA
U60からのリード信号RDを受けて、読み込んだベー
スアドレスの値に対して、順次インクリメントした値を
ロードアドレスadrsとしてアドレス比較部84に出
力する。
【0088】アドレス比較部84では、ロードアドレス
生成部79から得るロードアドレスadrsと、リミッ
トアドレスレジスタ78から得るリミットアドレスLI
Mの値を比較する。比較の結果、adrs≦LIMであ
ればアドレス比較部84は、リード信号RDがPLC7
0bに入力するタイミングで、ROM80からブロック
プログラムを読み込むための指示信号ReadenをR
OM80に対して発信する。そして、ROM80におい
て、ロードアドレスadrsが示すメモリ領域にあるブ
ロックプログラムがラッチ部76を介してDXMAU6
0に与えられる。
【0089】一方、比較の結果adrs>LIMであれ
ばアドレス比較部84は、ロードアドレスadrsが示
すメモリ領域が、ROM80内で予め設定されたプログ
ラムが読み出されるメモリ領域以外にあることを認識
し、信号Readenを発生させない。図20は、DD
MAU90の第一構成例であるDDMAU90aを示す
図である。
【0090】図20に示すように、DDMAU90a
は、プログラムカウンタ監視型であり、バンクカウンタ
91、データメモリのベースアドレス計算部92、プロ
グラムカウンタ比較部93、アドレス生成部94、プロ
グラムメモリのベースアドレス計算部95、R/W信号
生成部96、逓倍回路97及び反転回路98を有する。
ベースアドレス計算部95は、XBAS、XBNK、K
の値からベースアドレスXBAS+XBNK×(K+
1)を算出し、プログラムカウンタ比較部93に与え
る。ベースアドレス計算部92は、DBAS、DBN
K、Kの値からベースアドレスDBAS+DBNK×K
を算出しアドレス生成部94に与える。
【0091】プログラムカウンタ比較部93は、XBA
S、XBAS+XBNK×(K+1)、PCの値に基づ
き、PCとXBAS+XBNK×(K+1)との比較演
算を行う。比較演算の結果、PC>XBAS+XBNK
×(K+1)の場合、プログラムカウンタ比較部93
は、DXMAU60と同様にDBNK分の長さだけイン
クリメントイネーブル信号incenを出力することで
アドレス生成部94にDBNK単位のデータの書き換え
をさせる。
【0092】また、プログラムカウンタ比較部93は、
インクリメントイネーブル信号incenをDBNK分
の長さだけ出力した後、インクリメント信号incを出
力してバンクカウンタ91のKの値を1つ増加させる。
アドレス生成部94は、上記インクリメントイネーブル
信号incenに基づいて、ベースアドレスDBAS+
DBNK×Kに対するオフセットアドレスを生成し、先
のベースアドレスDBAS+DBNK×Kと加算して、
データメモリRAM30へのアクセスポインタrwpを
生成する。
【0093】また、アドレス生成部94は、上記インク
リメントイネーブル信号incenからデータメモリで
あるRAM30へのロード信号LDを生成して、逓倍回
路97に与える。アドレス生成部94は、アクセスポイ
ンタrwpがDLIMよりも大きくなると、RAM30
のメモリ領域の全バンクのワークデータの書き換えを終
了したと判断して、バンクカウンタ91及びプログラム
カウンタ比較部93にリセット信号rstを送り、整数
変数Kの値をゼロにリセットする。
【0094】DDMAU90は、ERAM110からの
ワークデータをデータブロック単位でデータメモリにロ
ードするだけでなく、ワークデータをPDLC100を
介してERAM110へストアさせる機能も有する。従
って、DDMAU90は、ワークデータの書き換えのタ
イミングを決めるロード信号LDの周期を2分割し、ワ
ークデータをストアするフェーズとロードするフェーズ
を設定している。このデータをストアするフェーズと、
ロードするフェーズを設定する機能を有するのが逓倍回
路97とリード/ライト(R/W)信号生成部96であ
る。
【0095】DSP10内のデータメモリであるRAM
30に対するリード/ライト信号R/Wと、DSP10
外部のデータメモリであるERAM110に対するリー
ド/ライト信号R/Wとは論理的に反転させる必要があ
る。そのためにDDMAU90aに反転回路98が設け
られている。図21は、DDMAU90aから発生され
るロード信号LDと、リード/ライト信号R/Wとの関
係を示すタイミング図である。図21に示すように、ロ
ード信号LDが発生している時は、リード(Read)
又はライト(Write)信号が発生している。
【0096】図22は、DDMAU90の第二構成例で
あるDDMAU90bを示す図である。図22に示すよ
うに、DDMAU90bは、アクセスポインタ監視型で
あり、DDMAU90Aが有するプログラムカウンタ比
較部93の代わりにアクセスポインタAPと、ベースア
ドレスDBAS+DBNK×Kとを比較するアドレスポ
インタ比較部99が設けられている。他の構成は、DD
MAU90aと同様なのでその説明を省略する。
【0097】図23は、PDLC100の第一構成であ
るPDLC100aを示す図である。図23に示すよう
に、PDLC100aは、ロードテーブル部103a、
ストアテーブル部103b、ベースアドレス部104
a、104b、アドレス生成部105a、105b、ラ
ッチ部106a、106b及び多重化部107を有す
る。
【0098】ロードテーブル部103aは、ロードテー
ブル102を有する。ロードテーブル102の内容は、
制御バスCtrl Busからの信号で読み出される。
また、ストアテーブル部103bは、ストアテーブル1
01を有する。このストアテーブル101は、ロードテ
ーブル部103aから受け取るロードテーブル102の
内容に基づいて作成される。ストアテーブル101は、
ロードテーブル102の内容を1フェーズずつずらして
作成されたものである。
【0099】読み出されたロードテーブル71の内容
は、ベースアドレス部74に送られる。ベースアドレス
部104aでは、ワークデータを読み出す際に外部メモ
リであるERAM110内のメモリ領域を特定するワー
クデータロード用のベースアドレスが、ロードテーブル
102の内容に基づいて生成される。ワークデータロー
ド用のベースアドレスの生成は、単位処理に要する時間
に同期したマスターフレームクロック信号MFCをN分
周した信号MFC/Nのタイミングに合わせて行われ
る。
【0100】ベースアドレス部104bでは、ワークデ
ータをストアする際にERAM110内のメモリ領域を
特定するワークデータストア用のベースアドレスがスト
アテーブル部103bから与えられるストアテーブル1
01の内容に基づいて生成される。このワークデータス
トア用のベースアドレスの生成も前述の信号MFC/N
のタイミングに合わせて行われる。
【0101】ベースアドレス部104a、104bで生
成されたベースアドレスは、それぞれアドレス生成部1
05a、105bに入力される。既述のように、DDM
AU90からPDLC100aに与えられるロード信号
LDは、ワークデータをストアするフェーズとロードす
るフェーズとに周期が2分割されている。このロード信
号LDは、PDLC100a内で2分周され、アドレス
生成部105a、105bのインクリメント信号とな
る。
【0102】アドレス生成部105a、105bにおい
て、前記インクリメント信号に基づいて生成されるオフ
セットアドレスとベースアドレスは加算され、ERAM
110に対するロードアドレス及びストアアドレスとし
て多重化部107に入力される。そして、多重化部10
7は、ロードアドレスとストアアドレスとを時分割多重
化して、ERAM110に対するアドレスを生成する。
このアドレスが示すERAM110内のメモリ領域から
ワークデータはロード及びストアされる。
【0103】ERAM110からPDLC100aに入
力されたワークデータは、リード/ライト信号R/Wか
ら作ったゲート信号でデータバスをラッチしてDDMA
U90に与えられる。図24は、PDLC100の第二
構成であるPDLC100bを示す図である。
【0104】図24に示すように、PDLC100b
は、アドレス生成部105a、105b、ラッチ部10
6a、106b、多重化部107、ベースアドレスレジ
スタ108a、108c、リミットアドレスレジスタ1
08b、108d及びアドレス比較部109を有する。
ここで、アドレス生成部105a、105b、ラッチ部
106a、106b、多重化部107は、PDLC10
0aと同様のものであり、その説明を省略する。
【0105】PDLC100bは、ロードデータのベー
スアドレス、リミットアドレス及びストアデータのベー
スアドレス、リミットアドレスを制御バスCtrl B
usからの信号で与えられる。各アドレスは、それぞれ
ベースアドレスレジスタ108a、リミットアドレスレ
ジスタ108b、ベースアドレスレジスタ108c、リ
ミットアドレスレジスタ108dに格納される。
【0106】ここで、ロードデータのベースアドレスと
リミットアドレスは、DDMAU90へ転送されるワー
クデータのERAM110における先頭アドレスと最終
アドレスを示し、ストアデータのベースアドレスとリミ
ットアドレスは、DDMAU90から転送されてくるワ
ークデータのERAM110における先頭アドレスと最
終アドレスを示す。
【0107】ロードアドレス生成部105aは、信号M
FC/Nに基づきベースアドレスレジスタ108aの値
を読み込む。そして、ワークデータのロード/ストアの
タイミングを示すロード信号LDを2分周したタイミン
グで、読み込んだ値を順次インクリメントし、ロードア
ドレスとして出力する。ロードアドレス生成部105a
は、前記ロードアドレスがERAM110におけるロー
ドデータの最終アドレスを越えた場合は、フラグlov
flgを立てる。
【0108】ロードアドレス生成部105aと同様にス
トアアドレス生成部105bは、信号MFC/Nに基づ
きベースアドレスレジスタ108cの値を読み込む。そ
して、ワークデータのロード/ストアのタイミングを示
すロード信号LDを2分周したタイミングで、読み込ん
だ値を順次インクリメントし、ストアアドレスとして出
力する。ストアアドレス生成部105bは、前記ストア
アドレスがERAM110におけるストアデータの最終
アドレスを越えた場合は、フラグsovflgを立て
る。ここで、ロードアドレスとストアアドレスは、ロー
ド信号LDを基準クロックとして多重化部107から交
互に出力されるものである。
【0109】アドレス比較部109は、信号MFC/N
のタイミングでリミットアドレスレジスタ108bから
ロードデータのリミットアドレスを読み込み、リミット
アドレスレジスタ108dからストアデータのリミット
アドレスを読み込む。そして、アドレス比較部109
は、多重化部107から与えられるアドレスadrsが
ロードアドレスとストアアドレスのどちらであるかをリ
ード/ライト信号R/Wに基づき判断する。
【0110】多重化部107からアドレス比較部109
に与えられるアドレスadrsがロードアドレスの場
合、当該アドレスadrsは、ロードデータのリミット
アドレスLIM1と比較される。そして、adrs≦L
IM1であれば、アドレス比較部109は、ロード信号
LDのタイミングでロードイネーブル信号LDenを出
力する。adrs>LIM1又はフラグlovflgが
立っている場合、アドレス比較部109は、ロードイネ
ーブル信号LDenを出力しない。
【0111】多重化部107からアドレス比較部109
に与えられるアドレスadrsがストアアドレスの場
合、当該アドレスadrsは、ストアデータのリミット
アドレスLIM2と比較される。そして、adrs≦L
IM2であれば、アドレス比較部109は、ロード信号
LDのタイミングでロードイネーブル信号LDenを出
力する。adrs>LIM2又はフラグsovflgが
立っている場合、アドレス比較部109は、ロードイネ
ーブル信号LDenを出力しない。
【0112】リード/ライト信号R/Wがワークデータ
のロードを指示した時は、多重化部107から出力され
るアドレスadrsが示すERAM110のメモリ領域
にあるワークデータが、信号LD&NOT(R/W)を
クロックとしてラッチ部106Bを介してDDMAU9
0に与えられる。また、リード/ライト信号R/Wがデ
ータのストアを指示した時は、DDMAU90から転送
されてきたストアデータが、信号LD&R/Wをクロッ
クとしてラッチ部106aを介して多重化部107が出
力するアドレスadrsが示すERAM110のメモリ
領域にストアされる。
【0113】PLDC100bが上記のような構成であ
ることにより、ERAM110において、ワークデータ
をロード/ストアするメモリ領域は固定されずにフェー
ズ毎に外部からワークデータの先頭アドレスと最終アド
レスが決定される。従って、フェーズ毎にCODEC2
が必要とするデータサイズが異なる場合、必要に応じて
メモリ領域を指定することで、ERAM110のメモリ
容量を必要最小限に抑えることができる。
【0114】尚、上記実施例において、DSP10A、
10Bがデータ処理部に対応し、RAM40がプログラ
ムメモリに対応し、RAM30がデータメモリに対応す
る。また、DSPコア50がプログラム実行部に対応
し、DXMAU60がプログラム更新部に対応し、PL
C70がブロックプログラム取得部に対応する。また、
ロードテーブル71が第一のロードテーブルに対応し、
DDMAU90がデータ更新部に対応し、PDLC10
0がデータブロック取得部に対応する。更に、ロードテ
ーブル102が第二のロードテーブルに対応し、ROM
80、81、DPRAM82、外部記憶装置83が第一
の外部メモリに対応し、ERAM110が第二の外部メ
モリに対応する。
【0115】
【発明の効果】以上説明したように、本発明によれば、
メモリ容量の制約を受けずに複数のアルゴリズム処理を
連続して行うことのできるDSPを有するコーデックを
提供することができる。
【図面の簡単な説明】
【図1】CODEC2の基本構成図である。
【図2】本発明の第一実施例であるDSP10Aの全体
構成図である。
【図3】DSP10Aの動作原理を説明するための図で
ある。
【図4】DSPコア50が実行するプログラムA、B、
CとROM80からロードされるプログラムの関係を示
したタイミング図である。
【図5】DSPコア50が実行するプログラムDとRO
M80からロードされるブロックプログラムの関係を示
したタイミング図である。
【図6】DSP10AにROM81が接続された様子を
示す図である。
【図7】DSP10AにDPRAM82及び外部記憶装
置83が接続された様子を示す図である。
【図8】本発明の第二実施例であるDSP10Bの全体
構成図である。
【図9】DSP10Bの動作原理を説明するための図で
ある。
【図10】DSPコア50が実行するプログラムとRO
M80からロードされるプログラムとERAM110か
らロードされるワークデータの関係を示したタイミング
図である。
【図11】チャンネル(ch)1、2、3と各チャンネ
ル用のプログラム実行時に使用されるワークデータの関
係を示したタイミング図である。
【図12】プラットフォームプログラムPを有するRA
M40の構成を示す図である。
【図13】プラットフォームプログラムPを説明するた
めの図である。
【図14】プラットフォームプログラムPを持つRAM
40を有するDSP10Aの全体構成図である。
【図15】プラットフォームプログラムPによるデータ
のスワップ処理の流れを示すフローチャートである。
【図16】RAM30のデータメモリに対する論理アド
レスが設定された構成のDSP10Aを示す図である。
【図17】DXMAU60の構成例を示す図である。
【図18】PLC70の第一構成例であるPLC70a
を示す図である。
【図19】PLC70の第二構成例であるPLC70b
を示す図である。
【図20】DDMAU90の第一構成例であるDDMA
U90aを示す図である。
【図21】DDMAU90aから発生されるロード信号
LDとリード/ライト信号との関係を示すタイミング図
である。
【図22】DDMAU90の第二構成例であるDDMA
U90bを示す図である。
【図23】PDLC100の第一構成例であるPDLC
100aを示す図である。
【図24】PDLC100の第二構成例であるPDLC
100bを示す図である。
【図25】従来のDSP200の構成を示す図である。
【図26】2チャンネルの信号処理を行うDSP200
の動作を説明するための図である。
【符号の説明】
2 CODEC 4 AD変換器 6 DA変換器 10、10A、10B DSP 20 IOポート 30、40 RAM 50 DSPコア 51 プログラムカウンタ 60 DXMAU 70 PLC 71、72 ロードテーブル 80、81 ROM 82 DPRAM 83 外部記憶装置 90 DDMAU 100 PDLC 101 ストアテーブル 102 ロードテーブル 110 ERAM 200 DSP
───────────────────────────────────────────────────── フロントページの続き (72)発明者 副島 良則 福岡県福岡市博多区博多駅前三丁目22番8 号 富士通九州ディジタル・テクノロジ株 式会社内 (72)発明者 白井 靖子 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 伊藤 正人 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 野元 一宏 福岡県福岡市博多区博多駅前三丁目22番8 号 富士通九州ディジタル・テクノロジ株 式会社内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 デジタル信号の符号化/復号化処理を行
    うデータ処理部を有するコーデックにおいて、 前記データ処理部は、1つのプログラムを分割したブロ
    ックプログラム単位でプログラムを格納するプログラム
    メモリと、 ブロックプログラムの実行時に使用するデータを、1つ
    のデータを分割したデータブロック単位で格納するデー
    タメモリと、 前記データメモリに格納されたデータブロックを用いて
    前記プログラムメモリに格納されたブロックプログラム
    の実行を行うプログラム実行部と、 前記プログラム実行部による1つのブロックプログラム
    の実行終了毎に、外部から新たにブロックプログラムを
    取得し、当該ブロックプログラムを前記プログラムメモ
    リに格納するプログラム更新部とを有することを特徴と
    するコーデック。
  2. 【請求項2】 請求項1記載のコーデックにおいて、 前記プログラムメモリは、バンク毎に1つのブロックプ
    ログラムを格納しており、所定の順序で選択される1つ
    のバンク内のブロックプログラムが順次プログラム実行
    部によって実行されることを特徴とするコーデック。
  3. 【請求項3】 請求項1又は2記載のコーデックにおい
    て、 前記データメモリは、バンク毎に1つのデータブロック
    を格納しており、前記プログラム実行部によるブロック
    プログラムの実行毎に、所定の順序で選択される1つの
    バンク内のデータブロックが順次使用されることを特徴
    とするコーデック。
  4. 【請求項4】 請求項1乃至3何れか1項記載のコーデ
    ックにおいて、 前記プログラム更新部は、外部から新たに取得したブロ
    ックプログラムを、実行の終了したブロックプログラム
    が格納されていた前記プログラムメモリのバンクに格納
    することを特徴とするコーデック。
  5. 【請求項5】 請求項1乃至4何れか1項記載のコーデ
    ックにおいて、 前記データ処理部は、更に前記プログラム実行部による
    1つのブロックプログラムの実行終了毎に、前記データ
    処理部の外部にある第一の外部メモリから新たにブロッ
    クプログラムを取得し、当該ブロックプログラムを前記
    プログラム更新部に与えるブロックプログラム取得部を
    有することを特徴とするコーデック。
  6. 【請求項6】 請求項5記載のコーデックにおいて、 前記ブロックプログラム取得部は、プログラム処理のフ
    ェーズと前記第一の外部メモリから取得するプログラム
    との関係を記録した第一のロードテーブルを有し、前記
    第一のロードテーブルに基づいて前記第一の外部メモリ
    からブロックプログラムを取得することを特徴とするコ
    ーデック。
  7. 【請求項7】 請求項1乃至6何れか1項記載のコーデ
    ックにおいて、 前記データ処理部は、更に前記プログラム実行部による
    1つのブロックプログラムの実行終了毎に、外部から新
    たにデータブロックを取得し、当該データブロックを前
    記データメモリに格納するデータ更新部を有することを
    特徴とするコーデック。
  8. 【請求項8】 請求項7記載のコーデックにおいて、 前記データ処理部は、更に前記プログラム実行部による
    1つのブロックプログラムの実行終了毎に、前記データ
    処理部の外部にある第二の外部メモリから新たにデータ
    ブロックを取得し、当該データブロックを前記データ更
    新部に与えるデータブロック取得部を有することを特徴
    とするコーデック。
  9. 【請求項9】 請求項8記載のコーデックにおいて、 前記データブロック取得部は、プログラム処理のフェー
    ズと前記データメモリから前記第二の外部メモリへ戻す
    データとの関係を記録したストアテーブルと、プログラ
    ム処理のフェーズと前記第二の外部メモリから取得する
    データとの関係を記録した第二のロードテーブルとを有
    し、前記ストアテーブルに基づいて前記データメモリか
    ら前記第二の外部メモリへ使用されたデータブロックを
    戻し、前記第二のロードテーブルに基づいて前記第二の
    外部メモリから新たなデータブロックを取得することを
    特徴とするコーデック。
  10. 【請求項10】 請求項6又は9記載のコーデックにお
    いて、 前記第一及び第二のロードテーブルと前記ストアテーブ
    ルの内容は、書き換え可能な構成であることを特徴とす
    るコーデック。
JP11550598A 1998-04-24 1998-04-24 コーデック Expired - Fee Related JP3407859B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11550598A JP3407859B2 (ja) 1998-04-24 1998-04-24 コーデック
US09/257,788 US6201488B1 (en) 1998-04-24 1999-02-25 CODEC for consecutively performing a plurality of algorithms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11550598A JP3407859B2 (ja) 1998-04-24 1998-04-24 コーデック

Publications (2)

Publication Number Publication Date
JPH11308114A true JPH11308114A (ja) 1999-11-05
JP3407859B2 JP3407859B2 (ja) 2003-05-19

Family

ID=14664191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11550598A Expired - Fee Related JP3407859B2 (ja) 1998-04-24 1998-04-24 コーデック

Country Status (2)

Country Link
US (1) US6201488B1 (ja)
JP (1) JP3407859B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002190990A (ja) * 2000-12-22 2002-07-05 Matsushita Electric Ind Co Ltd 映像信号処理装置
JP2010538376A (ja) * 2007-09-01 2010-12-09 ディーツーオーディオ コーポレーション ハイ・デフィニッション・オーディオ・バスを介したコーデックプロセッサを起動するシステムと方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6779176B1 (en) * 1999-12-13 2004-08-17 General Electric Company Methods and apparatus for updating electronic system programs and program blocks during substantially continued system execution
JP2003167751A (ja) * 2001-04-24 2003-06-13 Ricoh Co Ltd プロセッサ処理方法およびプロセッサシステム
WO2003081423A1 (en) * 2002-03-22 2003-10-02 Telefonaktiebolaget Lm Ericsson Method for processing data streams divided into a plurality of process steps
US7076616B2 (en) 2003-03-24 2006-07-11 Sony Corporation Application pre-launch to reduce user interface latency
WO2005076481A1 (ja) * 2004-02-10 2005-08-18 Matsushita Electric Industrial Co., Ltd. 符号化復号化装置
US20070150082A1 (en) * 2005-12-27 2007-06-28 Avera Technology Ltd. Method, mechanism, implementation, and system of real time listen-sing-record STAR karaoke entertainment (STAR "Sing Through And Record")
US11106463B2 (en) * 2019-05-24 2021-08-31 Texas Instruments Incorporated System and method for addressing data in memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2577071B2 (ja) 1988-12-16 1997-01-29 三菱電機株式会社 ディジタル信号処理プロセッサ
JPH0468459A (ja) 1990-07-09 1992-03-04 Mitsubishi Electric Corp ディジタル信号処理装置
JP3776449B2 (ja) * 1992-12-23 2006-05-17 セントル エレクトロニク オルロジェール ソシエテ アノニム マルチタスク低電力制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002190990A (ja) * 2000-12-22 2002-07-05 Matsushita Electric Ind Co Ltd 映像信号処理装置
JP2010538376A (ja) * 2007-09-01 2010-12-09 ディーツーオーディオ コーポレーション ハイ・デフィニッション・オーディオ・バスを介したコーデックプロセッサを起動するシステムと方法

Also Published As

Publication number Publication date
US6201488B1 (en) 2001-03-13
JP3407859B2 (ja) 2003-05-19

Similar Documents

Publication Publication Date Title
JP4820566B2 (ja) メモリアクセス制御回路
US8832350B2 (en) Method and apparatus for efficient memory bank utilization in multi-threaded packet processors
US20020078125A1 (en) Information processing method and recording medium
US8149643B2 (en) Memory device and method
JP2010102715A (ja) ディスクベースのファイルシステムのための大きなブロック割当て
US8850084B2 (en) Data processing systems for audio signals and methods of operating same
JP2001350713A (ja) 転送制御装置
JP3407859B2 (ja) コーデック
US8612981B2 (en) Task distribution method
US11721373B2 (en) Shared multi-port memory from single port
JP3608804B2 (ja) バス制御装置
JPH07181969A (ja) コードセグメント置換装置及びそれを用いたリアルタイム信号処理システム並びにオーディオ処理システム
US5892170A (en) Musical tone generation apparatus using high-speed bus for data transfer in waveform memory
US5918302A (en) Digital sound-producing integrated circuit with virtual cache
JP2005182538A (ja) データ転送装置
JP2004199608A (ja) メモリ制御回路
JP2008269348A (ja) メモリ制御装置およびメモリ制御方法
JP3567768B2 (ja) ロングストリーム再生機能を有する再生装置
JPH01284926A (ja) 演算装置の命令読出方式
JP2020173609A (ja) ベクトルプロセッサ装置、生成方法及びプログラム
JP2007200025A (ja) データ処理システム、アクセス制御方法、その装置およびそのプログラム
JP2001344150A (ja) アクセス制御回路
JP2000148660A (ja) Dmaデータ転送方法および装置
JP2003296105A (ja) データ処理装置
JPH0697772A (ja) デジタル・フィルタの演算データの遅延方法及び 装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030225

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080314

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120314

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees