(57)【要約】【課題】  ＤＳＰによる演算結果をＲＡＭにＤＭＡ転送する際に発生するＣＰＵに対する割込みの影響を低減できるようにする。【解決手段】  ＣＰＵへ繋がるアドレスの内、上位のアドレス値を任意に変更できるアドレス変更手段と、ＤＳＰによる演算終了を示す割り込み信号を取り込み、ＤＭＡＣへのＤＭＡ転送要求を行ない、割り込み信号に基づいてアドレス変更手段にて上位のアドレス値を設定するＤＭＡ転送制御手段を備えたインタフェース回路をＤＳＰ（転送元）、ＲＡＭ（転送先）及びＤＭＡＣと接続する。インタフェース回路においてＤＳＰ（転送元）からの割り込み信号のうち、最初の割り込み信号に対してのみ応答してＣＰＵに対して割込みをかけ、その後の割込み信号に対しては前記アドレス変更手段にて転送元及び転送先の上位のアドレスを強制的に変更することでＣＰＵに対する割込みの影響を低減できるようにする。【選択図】  図５
2006195511.tif 000002
【特許請求の範囲】
【請求項１】
演算処理を実行するＣＰＵ（Central Processing Unit）と、前記ＣＰＵにバスラインを介して接続されたＲＡＭ（Random Access Memory）と、前記ＣＰＵに前記バスラインを介して接続されたＤＭＡＣ(Direct Memory Access Controller)と、 前記ＣＰＵに前記バスラインを介して接続されたＤＳＰ（Digital Signal Processor）及び前記ＣＰＵに前記バスラインを介して接続された周辺機器を少なくとも有した情報システムにおいて、
前記ＤＭＡＣと前記ＤＳＰ及び前記ＲＡＭに前記バスラインを介して接続され、前記ＤＳＰによる演算終了を示す割り込み信号を取り込んで前記ＤＭＡＣへＤＭＡ転送要求を行なうと共に、前記割り込み信号に基づいて前記ＤＳＰの転送元メモリのアドレスと前記ＲＡＭの転送先メモリのアドレスを適合させるインタフェース手段を備えたことを特徴とする情報処理装置。
【請求項２】
演算処理を実行するＣＰＵ（Central Processing Unit）と、前記ＣＰＵにバスラインを介して接続されたＲＡＭ（Random Access Memory）と、前記ＣＰＵに前記バスラインを介して接続されたＤＭＡＣ(Direct Memory Access Controller)と、 前記ＣＰＵに前記バスラインを介して接続されたＤＳＰ（Digital Signal Processor）及び前記ＣＰＵに前記バスラインを介して接続された周辺機器を少なくとも有した情報システムにおいて、
前記ＣＰＵへ繋がるアドレスの内、上位のアドレス値を任意に変更できるアドレス変更手段と、ＤＳＰによる演算終了を示す割り込み信号を取り込んでＤＭＡＣへのＤＭＡ転送要求を行なうと共に前記割り込み信号に基づいて前記アドレス変更手段にて上位のアドレス値を設定するＤＭＡ転送制御手段を備えたインタフェース回路を、転送元である内部メモリを有した前記ＤＳＰ、転送先である前記ＲＡＭ及び前記ＤＭＡＣと接続したことを特徴とする情報処理装置。
【請求項３】
アドレスバス上に接続されたＣＰＵ（Central Processing Unit）、ＤＭＡＣ(Direct Memory Access Controller)、インタフェース手段及び周辺機器と、データバス上に接続された前記ＣＰＵ、前記ＤＭＡＣ、前記インタフェース手段、前記周辺機器、ＲＡＭ（Random Access Memory）及びＤＳＰ（Digital Signal Processor）よりなる情報処理装置において、前記インタフェース手段は
前記ＤＳＰによる演算終了を示す割り込み信号を取り込んで前記ＤＭＡＣへＤＭＡ転送要求を行う処理と、前記割り込み信号に基づいて前記ＤＭＡＣ内の前記ＤＳＰの転送元アドレスと前記ＲＡＭの転送先アドレスを適合させる処理とを実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバスを介してＣＰＵ(Central Processing Unit)と接続される周辺装置や周辺デバイスからのデータ転送を実行するデータ転送機能を有する情報処理装置に係り、特にＤＭＡ転送に伴う割り込み処理の処理量を低減する情報処理装置に関するものである。
【背景技術】
【０００２】
演算処理を実行するＣＰＵを中心とした情報処理システムにおいて、メモリ領域上で連続したアドレスに格納されたデータを別のメモリ領域にそのまま転送したい場合、一般的には転送プログラムにしたがってＣＰＵが転送元のメモリ領域から転送すべきデータを読み出してＲＡＭに一時的に格納し、その後に転送先のメモリ領域に格納する動作を繰り返し行なっているが、この方式だとデータ転送に伴ないＣＰＵの負荷が大きくなるという問題があった。
【０００３】
このようなＣＰＵの負荷が大きくなるという課題を軽減する為に、図１に示すように最近ではＣＰＵに代わって予め設定された転送条件に基づいてデータ転送を行なうＤＭＡＣ（Direct Memory Access Controller）というハードウェアが使われており、こうしたＤＭＡＣによるデータ転送はＤＭＡ転送と呼ばれている。
【０００４】
図１にＤＭＡＣとＣＰＵ及び周辺機器とのシステム接続構成を示しており、図１において、ＣＰＵ（Central Processing Unit）１０にはデータバス２０及びアドレスバス２２を介してＲＡＭ（Random Access Memory）１２、ＤＭＡＣ(Direct Memory Access Controller)１４、周辺機器１６及び周辺機器１８等が接続されている。
そして、ＣＰＵ１０とＤＭＡＣ１４はバス権要求３０とバス権許可３２のやりとりが実行され、ＤＭＡＣ１４と周辺機器１６及び周辺機器１８はＤＭＡ転送要求４０、４４とＤＭＡ転送許可４２、４６のやりとりが実行される。
【０００５】
図２には前述したＤＭＡＣ１４の内部構成例を示しており、ＤＭＡＣ１４は転送条件となる転送元の先頭アドレスを設定するレジスタ１２２と、転送先の先頭アドレスを設定するレジスタ１２４及び転送データサイズを設定するレジスタ１２６がチャンネル数に対応して複数備えられている。図２の例ではＣｈ１とＣｈ２の２チャンネル構成の形態を示している。
更に、ＤＭＡＣ１４にはデータ転送中の状態を管理するカウント制御部１２０及び周辺回路からのＤＭＡ転送要求を受けてＣＰＵ１０との間でバスの使用権の調整等を行なうＤＭＡ制御部１００等が設けられている。
【０００６】
次に図１におけるＤＭＡＣ１４によるＤＭＡ転送動作について説明する。
まず、ソフトウェアによりそれぞれに必要なＤＭＡ転送に合わせて、ＤＭＡＣ１４内部にある転送元アドレスレジスタ１２２、転送先アドレスレジスタ１２４及び転送バイト数レジスタ１２６のそれぞれに転送元と転送先の先頭アドレスおよび転送すべきデータ数といったデータを割り当てられたチャンネル毎に格納しておく。
【０００７】
そして、システムが動作している最中でＤＭＡ転送が必要になった時にはＤＭＡ転送を希望する周辺機器１６或いは周辺機器１８からＤＭＡＣ14に対して転送要求４０、或いは４４を送出する。実際には例えば、ローアクティブの信号で“Ｌ”にすることによって転送要求を実行する。
この転送要求を受けたＤＭＡＣ１４は他のチャンネルに割り与えられた他の周辺機器によるＤＭＡ転送が行なわれていなければ、ＤＭＡ転送を許可する転送許可信号４２を周辺機器１８に送り、他のチャンネルによるＤＭＡ転送が行なわれていれば、転送非許可信号４６を周辺機器１６に送信する、といった機能を実行する。
【０００８】
更に、ＤＭＡＣ１４はＣＰＵ１０に対してバスラインの開放要求のためのバス権要求３０といった割り込み信号を送信する。この割り込み信号に対してＣＰＵ１０はＣＰＵ１０自身がバスラインを使用していない場合にはＤＭＡＣ１４に対してバス権許可信号３２を送信してバスラインを開放する。
この時、ＣＰＵ１０はバスラインに繋がっている端子をハイインピーダンスの状態にすることによってＣＰＵ１０とバスラインとは切り離される状態となる。
そして、ＣＰＵ１０からバス権を得たＤＭＡＣ１４は転送要求のあった周辺機器１６或いは周辺機器１８のＤＭＡ転送の条件に従ってデータの転送を開始する。
【０００９】
すなわち、ＤＭＡＣ１４からアドレスバス２２に転送元アドレスデータを送出し、該当する転送元から送出されるデータをデータバス２０を介して読み出し、次にアドレスバス２２に転送先アドレスデータを送出し、前述の読み出したデータをデータバス２０を介して該当する転送先の所定アドレスに書き込むように動作する。
この動作を転送バイト数レジスタ１２６に予め設定されたデータ数だけ行なうことによってデータ転送が実行されるものである。
尚、転送されるデータ数の監視はカウント制御部１２０が行ない、ＤＭＡ転送が完了するとＤＭＡＣ１４はＣＰＵ１０に対して出していたバス権要求を取り下げ、これを受けてＣＰＵ１０は端子の状態を元に戻してバスとの接続を復活させるものである。
【００１０】
そして、ＤＭＡＣ１４を用いた情報処理システムにおいて、最近では音楽信号処理や映像信号処理といったデータの圧縮処理やノイズ抑圧処理等の高速での演算を伴う処理を行なう必要性が高まってきている。
このような高速の演算処理を行う情報処理システムの場合、図３に示すように周辺回路１８としてＤＳＰ（Digital Signal Processor）２４という高速演算処理用のロジックを内蔵したプロセッサを使うことが有用である。
このＤＳＰ２４とＤＭＡＣ１４の組合せを利用した情報処理装置としては特開２０００−４７８２８号公報にあるものが知られている。
【００１１】
一般に、ＤＳＰ２４とＤＭＡＣ１４を組合せた情報処理装置においては演算結果をＤＳＰ２４の内部メモリに一時的に格納しておき、前述したＤＭＡ転送を使って図４に示すようにＣＰＵ１０と直結したバス２０，２２に繋がれたＲＡＭ１２に転送するようにしている。
つまり、ＤＳＰ２４の内部メモリ領域ＤＭ１及びＤＭ２に記憶されたデータをＲＡＭ１２のメモリ領域ＲＭ１及びＲＭ２に順番に転送するものである。
ところが、ＤＳＰ２４の内部メモリはＲＡＭ１２に比較して容量が少ないために、例えば音楽信号情報や映像信号情報等の連続した大量のデータを処理する場合には、ある程度まとまったデータブロック毎に分割してデータ転送を行う必要があった。
【００１２】
このように、高速演算に優れたＤＳＰ２４を用いると音楽信号情報や映像信号情報等を処理するためには有用であるという反面、ＤＳＰ２４の構成から全データをデータブロック毎に分割してＣＰＵ１０に対して割り込みをかけて演算結果をＲＡＭ１２にＤＭＡ転送するようにしているため、ＣＰＵに対して頻繁に割り込みをかける上にＤＭＡ転送の条件もその都度毎に変更することになり、ＣＰＵ１０における処理効率を大きく低下させることにもなっていた。
【００１３】
【特許文献１】特開２０００−４７８２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明の目的はこうした問題点を鑑み、高速演算に有用なＤＳＰのデータを転送するに際してＣＰＵに対する割り込み処理の処理量を低減する情報処理装置を提供することにある。
【課題を解決するための手段】
【００１５】
本発明においては、ＤＳＰによる演算終了を示す割り込み信号を取り込んでＤＭＡＣへのＤＭＡ転送要求を行なうと共に、この割り込み信号に基づいてＤＳＰ内の転送元メモリのアドレスとＲＡＭ内の転送先メモリのアドレスを適合させる機能を備えるインタフェース手段をＤＭＡＣとＤＳＰ及びＲＡＭにバスラインを介して接続するようにしたものである。
【発明の効果】
【００１６】
本発明によれば、ＤＳＰにて繰り返し或いは複数の処理を行ない、その演算結果を頻繁にＤＭＡ転送により転送しなければならない場合でもＣＰＵに対して頻繁に割り込みをかけることがなくなり、ＣＰＵの処理効率を低下させることが少なくなる。
また、演算結果の転送の度に転送先及び転送元の先頭アドレス等の転送条件を変更する必要がなくなるものである。
【発明を実施するための最良の形態】
【００１７】
本発明の最良の実施形態においては、ＣＰＵへ繋がるアドレスの内、上位のアドレス値を任意に変更できるアドレス変更手段と、ＤＳＰによる演算終了を示す割り込み信号を取り込んでＤＭＡＣへのＤＭＡ転送要求を行なうと共に前記割り込み信号に基づいて前記アドレス変更手段にて上位のアドレス値を設定するＤＭＡ転送制御手段を備えたインタフェース回路を、転送元である内部メモリを有したＤＳＰ、転送先であるＲＡＭ及びＤＭＡＣと接続したものである。
そして、ＤＳＰは演算結果の量以上で２のｎ乗（ｎは整数）で表される容量の格納先をＤＳＰの内部メモリに連続するように複数設け、演算が完了する度に格納先アドレスを前記の容量単位で小さい方からあるいは大きい方から順に変更して演算結果を格納していくようにし、演算が終了する度にそれを知らせる割り込み信号を出力するように構成されている。
インタフェース回路においてはＤＳＰからの割り込み信号のうち、最初の割込信号に対してのみ応答してＣＰＵに対して割込みをかけ、その後の割込み信号に対してはアドレス変更手段にて転送元及び転送先の上位のアドレスを強制的に変更していくようにしたものである。
【実施例１】
【００１８】
以下、図面に従い本発明の一実施例を詳細に説明するが、図５に本発明に必要なインタフェース手段を含むシステムの構成例を示している。
尚、このシステムはＤＳＰ内部で１つの処理を繰り返し行なう場合のものでＤＭＡ転送用のチャンネルとしては１チャンネル（Ｃｈ１）だけ使用している。
尚、ＤＳＰは演算結果の量以上で２のｎ乗（ｎは整数）で表される容量の格納先をＤＳＰの内部メモリに連続するように複数設け、演算が完了するたびに格納先アドレスを前記の容量単位で小さい方からあるいは大きい方から順に変更して演算結果を格納していくようにし、演算が終了するたびにそれを知らせる割り込み信号を出力するように構成されている。
【００１９】
図５において、インタフェース手段（以下インタフェース回路という。）５０はデータバス２０及びアドレスバス２２とデータ通信が可能なようにデータライン６４Ａ及びデータライン６４Ｂを介して接続され、更にＲＡＭ１２との間でアドレス通知６８が実行される。
尚、ＲＡＭ１２及びＤＳＰ２４はアドレスバス２２とは接続されておらず、ＤＳＰ２４はデータバス２０とデータ通信が可能なようにデータライン７０を介して接続されている。
【００２０】
そして、ＤＭＡＣ１４とインタエース回路５０の間にはＤＭＡ転送要求４０とＤＭＡ転送許可４２のやりとりが実行され、インタフェース回路５０とＤＳＰ２４の間には割り込み要求６０とアドレス通知６６のやりとりが実行される。
ここで、図５に記載したインタフェース回路５０の詳細は図６に示されているようにＤＭＡ転送制御部５２とアドレス変更部５４から構成されている。
【００２１】
図３に示した従来のシステム例と比較してわかるように、インタフェース回路５０を構成するＤＭＡ転送制御部５２がＤＳＰ２４の代わりにＤＭＡＣ１４に対してＤＭＡ転送要求４０を送信したり、それに対するＤＭＡ転送許可４２（或いは非許可）の応答を受信するようになっている。
【００２２】
また、前述したようにＤＳＰ２４及びＲＡＭ１２にはＣＰＵ１０からのアドレスバス２２は直接接続されておらず、代わりにインタフェース回路５０のアドレス変更部５４がＣＰＵ１０からのアドレスの内、上位アドレス（図８参照）を取り込んで変更し、下位アドレスとまとめてアドレス通知６６、アドレス通知６８としてＤＳＰ２４及びＲＡＭ１２に送出するようになっている。
【００２３】
更に、ＤＳＰ２４の内部メモリに格納された演算結果の転送を要求するＤＳＰ２４からの割り込み要求６０がインタフェース回路５０のＤＭＡ転送制御部５２に送られる構成となっている。尚、アドレス変更部５４はＤＭＡ転送制御部５２からの制御信号５６によって制御されるようになっており、更に上位アドレス６５が入力されると共に、ここで変更された（或いは変更されないままの）上位アドレス６７が出力され、この上位アドレス６７はＤＳＰ２４のアドレス通知６６及びＲＡＭ１２のアドレス通知６８となるものである。
【００２４】
次にインタフェース回路５０のアドレス変更部５４について図７を用いて説明するが、ここではアドレス１本ごとに変換回路ブロック５４ａ（５４ｂ、５４ｃ・・・）が設けられている。
アドレスバス２２からデータライン６４Ａを介して送信されてきたアドレスの上位アドレス６５がＡＮＤ回路７０の一方の入力端子Ｓ１に繋がれ、もう一方の入力端子Ｓ２にはＤＭＡ転送制御部５２からの制御信号５６が入力されている。  
【００２５】
そして、ＡＮＤ回路７０の出力端子からの出力はＯＲ回路７２の一方の端子に繋がれ、ＯＲ回路７２のもう一方の端子Ｓ３にはＤＭＡ転送制御部５２から送出されてくる制御信号５６が入力されている。
図８（ａ）の論理表が示すように入力端子Ｓ２の制御信号が“０”の場合には入力端子Ｓ３が示す極性がそのままＯＲ回路７２の出力端子Ｓ４に出力されるようになりアドレス信号を自由に変更することができる。
また、図８（ｂ）の論理表が示すように入力端子Ｓ２に“１”を入力し、かつ入力端子Ｓ３に“０”を入力することで元の上位アドレス６５がそのまま出力されるようになる。
【００２６】
次に図９を用いてインタフェース回路５０の動作及びシステムの処理の流れについて説明する。
ここでは図４に示すようにＤＳＰ２４による演算結果が、内部メモリの８０００（Ｈ）番地から４００（Ｈ）のサイズで順に格納されているものとする。
まず、演算が終了してＤＳＰ２４の内部メモリに前述のように演算結果が格納されるとＤＳＰ２４から割込み要求６０がインタフェース回路５０に対して発行され、Ｓ１００で定義されるＤＳＰによる割り込み処理が起動される。
【００２７】
次にＳ１０２において、この割り込み要求を受けるとインタフェース回路５０のアドレス変換部５４は変換用信号５６として、入力端子Ｓ２の信号をすべて“０”にセットし、また、入力端子Ｓ３の信号については転送元先頭アドレスの上位部に応じた値をセットする。
尚、最初のＤＭＡ転送時には図８（ｂ）に示すように最下位ビットから１１ビット目と１６ビット目のＳ３だけを“１”にセットし、残りは“０”にセットする。こうすることによって、ＤＳＰ２４へのアドレスは強制的に８０００（Ｈ）番地から８４００（Ｈ）番地に変換される。
ここで、ＲＡＭ１２へのアドレス通知６８もＤＳＰ２４に対して行なった方法で００００（Ｈ）番地から０４００（Ｈ）番地に変換して出力する。
【００２８】
そして、Ｓ１０４でインタフェース回路５０からＤＭＡＣ１４に対してＤＭＡ転送要求４０を送信すると、Ｓ１０６でＤＭＡＣ１４は予めソフトウェアにより設定されているＤＭＡ転送条件に基づいてＤＭＡ転送４２を開始する。
ここで、ＤＭＡＣ１４のＤＭＡチャンネル１（Ｃｈ１）の転送元アドレスレジスタ１２２には８０００（Ｈ）番地、転送先アドレスレジスタ１２４には００００（Ｈ）番地、転送サイズレジスタ１２６には４００（Ｈ）がそれぞれセットされている。
【００２９】
そして、Ｓ１０６でのＤＭＡ転送が終了すると、Ｓ１０８で元のアドレス状態に戻す為に入力端子Ｓ２の信号をすべて“１”にセットし、入力端子Ｓ３の信号をすべて“０”にセットする。
このようにするとインタフェース回路５０に入力された上位アドレス６５はそのまま出力されるようになる。以上のように上位アドレスを強制的に変換しながらＤＭＡ転送を繰り返し行なうことでＤＳＰ２４による演算結果がすべてＲＡＭ１２に転送されることになる。
【００３０】
前述の実施例では、ＤＳＰ２４での処理が１つの場合でそれを繰り返し行なう為にＤＭＡ転送のチャンネルを１つだけ使用したが、複数ある場合にはそれぞれの処理ごとにＤＭＡ転送のチャンネルを変えて行なえば良いものである。
また、実施例で使用したＤＭＡＣの他に繰り返し回数を設定でき、1度に何回も連続してＤＭＡ転送を行なうことができるＤＭＡＣの場合には、繰り返しＤＭＡ転送を行なう際には割込みが発生しないためＣＰＵへの割込みの頻度も減ることになる。
【図面の簡単な説明】
【００３１】
【図１】ＣＰＵを中心としたシステムの一般的な構成例を示す図である。
【図２】ＤＭＡＣの内部構成例を示す図である。
【図３】図１に示すシステムにおいてＤＳＰが加わった場合のシステム構成例を示す図である。
【図４】ＤＳＰによる演算データのＤＭＡ転送を説明する図である。
【図５】本発明を実現する為のインタフェース回路を含むシステムの構成例を示す図である。
【図６】本発明のインタフェース回路の内部構成を示す図である。
【図７】本発明のインタフェース回路におけるアドレス変更部の内部構成例を示す図である。
【図８】（ａ）変換回路ブロックにおける変換状態を示す論理表である。                   （ｂ）前記変換回路ブロックによるアドレス変換例を説明する図である。
【図９】本発明のインタフェース回路の動作を示すフローチャート図である。
【符号の説明】
【００３２】
１０‥ＣＰＵ、１２‥ＲＡＭ、１４‥ＤＭＡＣ、１６、１８‥周辺回路、２０‥データバス、２２‥アドレスバス、２４‥ＤＳＰ、３０‥バス権要求信号、３２‥バス権許可・非許可信号、４０、４４‥ＤＭＡ要求信号、４２、４６‥ＤＭＡ許可・非許可信号、５０‥インタフェース回路。
【図１】
2006195511.tif 000003
【図２】
2006195511.tif 000004
【図３】
2006195511.tif 000005
【図４】
2006195511.tif 000006
【図５】
2006195511.tif 000007
【図６】
2006195511.tif 000008
【図７】
2006195511.tif 000009
【図８】
2006195511.tif 000010
【図９】
2006195511.tif 000011