(57)【特許請求の範囲】
【請求項１】
第１、第２、第３の資源とメモリとの間におけるＤＭＡ転送を実行する情報処理装置であり、
前記第１、第２、第３の資源と前記メモリとの間におけるＤＭＡ転送に使用するバスの制御を行うバス制御手段と、
前記第１の資源と前記バス制御手段との間でデータ転送を行うための第１のデータバスと、
前記第２の資源と前記バス制御手段との間でデータ転送を行うための第２のデータバスと、
前記第３の資源と前記バス制御手段との間でデータ転送を行うための第３のデータバスと、
前記メモリと前記バス制御手段との間でデータを転送するための第４のデータバスを備え、
前記バス制御手段は、第１のタイミングにおいて、前記第１のデータバスを介して前記第１の資源との間で、前記第３のデータバスを介して前記第３の資源との間でデータの転送を行い、かつ前記第２の資源との間で転送されるデータを前記第４のデータバスを介して前記メモリとの間で転送し、第２のタイミングにおいて、前記第２のデータバスを介して前記第２の資源との間で、前記第３のデータバスを介して前記第３の資源との間でデータの転送を行い、かつ前記第１の資源との間で転送されるデータを前記第４のデータバスを介して前記メモリとの間で転送し、第３のタイミングにおいて、前記第１のデータバスを介して前記第１の資源との間で、前記第２のデータバスを介して前記第２の資源との間でデータの転送を行い、かつ前記第３の資源との間で転送されるデータを前記第４のデータバスを介して前記メモリとの間で転送するようバスを制御することを特徴とする情報処理装置。
【請求項２】
前記バス制御手段は、前記第１のタイミングにおいて、前記第１のデータバスを介して前記第１の資源からデータを取得し、前記第３のデータバスを介して前記第３の資源へデータを送出し、かつ前記第２の資源へ送出するためのデータを前記第４のデータバスを介して前記メモリから取得し、前記第２のタイミングにおいて、前記第２のデータバスを介して前記第２の資源へデータを送出し、前記第３のデータバスを介して前記第３の資源へデータを送出し、かつ前記第１の資源から取得したデータを前記第４のデータバスを介して前記メモリに送出し、前記第３のタイミングにおいて、前記第１のデータバスを介して前記第１の資源からデータを取得し、前記第２のデータバスを介して前記第２の資源へデータを送出し、かつ前記第３の資源へ送出するデータを前記第４のデータバスを介して前記メモリから取得するようバスを制御することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１の資源は、前記メモリへ転送するデータの転送元となる資源であり、前記第２の資源は、前記メモリに転送されたデータのエラー訂正を実行する資源であり、前記第３の資源は、前記メモリから転送するデータの転送先となる資源であることを特徴とする請求項２記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内部に複数チャネルのDMA制御装置とバス制御装置を有する情報処理装置に関する。特に、複数チャネルのDMAを並列動作させることにより高性能を実現する情報処理装置に関する。
【０００２】
【従来の技術】
近年の電子技術の発展により、CD（コンパクト・ディスク）、DVD（ディジタル・ビデオ・ディスク）等の光ディスク装置が普及し、あらゆる分野で用いられている。これらの光ディスク装置においては、ディスクから読み出したデータにはエラーが多数含まれており、それを実用可能なレベルに訂正するエラー訂正処理が必須になっている。しかし、光ディスクの回転速度が増加するにしたがって、このエラー訂正をいかに高速に行うかが課題となっている。その中で最大の問題は、エラー訂正を行う情報処理装置中でいかに高速にデータ転送を行うかという点である。
【０００３】
図５は従来のエラー訂正処理を実行する情報処理装置のブロック図を示している。図５において、２００は情報処理装置、２は外部メモリ、１００および１０１は情報処理装置２００と外部メモリ２とを接続する外部アドレスバスおよび外部データバスである。情報処理装置２００は、ROM３と、中央処理装置（以下CPUと記す）４と、３チャネルのダイレクト・メモリ・アクセス・コントローラ（以下DMACと記す）５０と、バス制御装置（以下BCUと記す）６０と、ディスクＩ／Ｆ７と、エラー計算回路８と、ホストＩ／Ｆ９と、MPEG Ｉ／Ｆ１０とから構成される。
【０００４】
１０２はROM３からCPU４へプログラムを送る命令バス、１０３および１０４はCPU４とBCU６０とを接続するCPUアドレスバスおよびCPUデータバス、１２０はCPU４からBCU６０に対するリード信号、１２１はライト信号、１２２はBCU６０からCPU４に対する応答信号、５００はDMAC５０からBCU６０に対するDMA開始信号、５０１はDMA転送における転送元アドレス、５０２はDMA転送における転送先アドレス、５０３はBCU６０からDMAC５０に対するDMA応答信号、１０８はディスクＩ／Ｆ７からDMAC５０に対するチャネル１DMA起動要求、１０９はエラー計算回路８からDMAC５０に対するチャネル２DMA起動要求、１１０はホストＩ／Ｆ９からDMAC５０に対するチャネル３ホストDMA起動要求、１１１はMPEG Ｉ／Ｆ１０からDMAC５０に対するチャネル３MPEG DMA起動要求、５０４はBCU６０とディスクＩ／Ｆ７、エラー計算回路８、ホストＩ／Ｆ９およびMPEG Ｉ／Ｆ１０とを接続するＩＯバス、１１５は光ディスク装置などのデータ記録デバイスと情報処理装置２００とを接続するディスクデータ線、１１６はパソコンなどのホストコンピュータと情報処理装置２００とを接続するホストデータ線、１１７はMPEGデコーダなどのMPEGデータ処理回路と情報処理装置２００とを接続するMPEGデータ線である。
【０００５】
以上のように構成された従来の情報処理装置におけるディスクからのリード動作を説明する。リード動作は、ディスクデータ線１１５を介して外部から入力されたデータに対してエラー訂正処理を実行し、ホストＩ／Ｆ９を介してホストコンピュータにデータを出力する動作である。リード動作の場合には、
（１）DMAチャネル１：ディスクＩ／Ｆ７から外部メモリ２へのデータ転送
（２）DMAチャネル２：外部メモリ２からエラー計算回路８へのデータ転送
（３）DMAチャネル３：外部メモリ２からホストＩ／Ｆ９へのデータ転送
が並列に動作する。まずリード動作の場合の各チャネルの動作を簡単に説明する。
【０００６】
チャネル１ではディスクデータ線１１５を介して外部から入力されたエラー訂正処理前のデータを、ディスクＩ／Ｆ７から外部メモリ２に転送する。ディスクＩ／Ｆ７に一定のデータが蓄積されるとDMAC５０に対してチャネル１DMA起動要求１０８がアサートされる。チャネル１DMA起動要求１０８がアサートされると、DMAC５０からBCU６０に対するDMA開始信号５００がアサートされる。同時にディスクＩ／Ｆ７のアドレスを示すDMA転送元アドレス５０１、外部メモリ２のアドレスを示すDMA転送先アドレス５０２がBCU６０に出力される。BCU６０では、まずディスクＩ／Ｆ７からのリードサイクルが起動された後、リードしたデータを外部メモリ２へライトするライトサイクルが起動され、外部メモリ２へのライトが行われる。ディスクＩ／Ｆ７からのリードサイクルが起動されると、DMAC５０に対してDMA応答信号５０３がアサートされる。それを受けて、DMA開始信号５００がネゲートされ１回のDMA転送は終了する。
【０００７】
チャネル２ではDMAチャネル１でディスクＩ／Ｆ７から外部メモリ２に転送されたデータをエラー計算回路８に転送する。エラー計算回路８が計算可能状態になると、DMAC５０に対してチャネル２DMA起動要求１０９がアサートされる。チャネル２DMA起動要求１０９がアサートされると、DMAC５０からBCU６０に対するDMA開始信号５００がアサートされる。同時に外部メモリ２のアドレスを示すDMA転送元アドレス５０１、エラー計算回路８のアドレスを示すDMA転送先アドレス５０２がBCU６０に出力される。BCU６０では、まず外部メモリ２からのリードサイクルが起動された後、リードしたデータをエラー計算回路８へライトするライトサイクルが起動され、エラー計算回路８へのライトが行われる。外部メモリ２からのリードサイクルが起動されると、DMAC５０に対してDMA応答信号５０３がアサートされる。それを受けてDMA開始信号５００がネゲートされ、１回のDMA転送は終了する。
【０００８】
チャネル３ではエラー訂正が終了した外部メモリ上のデータをホストＩ／Ｆ９に転送する。ホストＩ／Ｆ９で外部へデータ転送が可能になるとDMAC５０に対してチャネル３DMA起動要求１１０がアサートされる。以下の動作はチャネル２の場合と同様である。
【０００９】
以上、各チャネルのDMA転送動作を説明したが、実際には各チャネルの起動要求は並列に行われるので、その場合の動作を図６に示す動作タイミング図を用いて説明する。同図は、各チャネルの起動要求１０８〜１１１、DMAC５０とBCU６０とのインターフェイス信号５００〜５０３、ＩＯバス５０４、外部データバス１０１の状態をマシンサイクルと呼ばれるタイミング毎に示している。信号は全てロー状態の時に信号がアサートされたことを示すアクティブロー信号である。また、ＩＯバスを介した各ＩＯ（ディスクＩ／Ｆ、エラー計算回路、ホストＩ／Ｆ）に対するアクセスはリード／ライトとともに２マシンサイクル、外部メモリに対するアクセスはリード／ライトとともに１マシンサイクルであるとし、時間が経過する順にタイミング毎に説明する。また、DMAC５０において複数チャネルのDMA起動要求が同時に発生した場合には、チャネル３、チャネル２、チャネル１の順番で実行するものとする。さらに、各チャネルに対する起動要求１０８〜１１１は１マシンサイクルだけアサートされる。
【００１０】
（タイミングｔ１）
ディスクＩ／Ｆ７からチャネル１起動要求１０８が、エラー計算回路８からチャネル２起動要求１０９が、ホストＩ／Ｆ９からチャネル３起動要求１１０がアサートされる。各起動要求を受けて、DMAC５０で調停が行われチャネル３DMAが最初に実行される。DMAC５０からDMA開始信号５００がアサートされるとともに外部メモリ２のアドレスを示すDMA転送元アドレス５０１、ホストＩ／Ｆ９のアドレスを示すDMA転送先アドレス５０２が出力される。
【００１１】
BCU６０では、DMA開始信号５００のアサートを受けてチャネル３に対する外部メモリ２からのリードの起動準備がされる。BCU６０では図６において○で示すタイミングでバス調停が行われる。なお、受け付けられたDMA開始要求に該当するバスサイクルを矢印で指し示す。
【００１２】
（タイミングｔ２）
外部メモリ２からのリードサイクル（外部データバス１０１のＲ（３）はチャネル３のリード動作を示す）が開始される。チャネル３のリードサイクルが開始されたので、DMA応答信号５０３がアサートされる。さらに、外部メモリのアクセスは１サイクルで終了する為にホストＩ／Ｆ９に対するライトの起動準備がされる。
【００１３】
（タイミングｔ３）
タイミングｔ２でDMA応答信号５０３がアサートされたので、引き続きチャネル２に対するDMA開始信号５００がアサートされるとともに、外部メモリ２のアドレスを示すDMA転送元アドレス５０１、エラー計算回路８のアドレスを示すDMA転送先アドレス５０２が出力される。また、BCU６０ではチャネル３の外部メモリからのリードが完了しているので、ホストＩ／Ｆ９に対するライトが開始される（ＩＯバス５０４のＷ（３）はチャネル３のライト動作を示す）。さらに、チャネル２に対する外部メモリ２からのリードサイクルの起動準備がされる。
【００１４】
（タイミングｔ４）
ホストＩ／Ｆ９に対するライト動作を実行中である。また、ライト動作がタイミングｔ３で開始されたので、ホストＩ／Ｆ９からは次の起動要求１１０がアサートされる。また、BCU６０では外部メモリ２に対するチャネル２のリードサイクルが実行され、DMA応答信号５０３がアサートされる。さらに、エラー計算回路８に対するライトの起動準備がされる。
【００１５】
（タイミングｔ５）
タイミングｔ４でDMA応答信号５０３がアサートされたので、引き続きチャネル１に対するDMA開始信号５００がアサートされるとともに、ディスクＩ／Ｆ７のアドレスを示すDMA転送元アドレス５０１、外部メモリ２のアドレスを示すDMA転送先アドレス５０２が出力される。また、チャネル２の外部メモリからのリードが完了しているので、エラー計算回路８に対するライトが開始される（ＩＯバス５０４のＷ（２）はチャネル２のライト動作を示す）。
【００１６】
（タイミングｔ６）
エラー計算回路８に対するライト動作を実行中である。また、ライト動作がタイミングｔ５で開始されたので、エラー計算回路８からは次の起動要求１０９がアサートされる。BCU６０では、ディスクＩ／Ｆ７からのリードの起動準備がされる。
【００１７】
（タイミングｔ７）
ディスクＩ／Ｆ７からのリードサイクルが開始され、DMA応答信号５０３がアサートされる。
【００１８】
（タイミングｔ８）
タイミングｔ７でDMA応答信号５０３がアサートされたので、引き続きチャネル３に対するDMA開始信号５００がアサートされるとともに、外部メモリ２のアドレスを示すDMA転送元アドレス５０１、ホストＩ／Ｆ９のアドレスを示すDMA転送先アドレス５０２が出力される。また、ディスクＩ／Ｆ７に対するリード動作を実行中であり、ディスクＩ／Ｆ７からは次の起動要求１０８がアサートされる。BCU６０では、チャネル１に対する外部メモリ２へのライトの起動準備がされる。
【００１９】
（タイミングｔ９）
チャネル１に対する外部メモリ２へのライトが開始され、チャネル３に対する外部メモリ２からのリードの起動準備がされる。
【００２０】
（タイミングｔ１０〜ｔ１７）
タイミングｔ２〜ｔ９の繰り返しになるので、記載を省略する。
【００２１】
【発明が解決しようとする課題】
以上のように複数のチャネルのDMA要求が並列して発生した場合（図６のタイミングｔ１）に、従来の情報処理装置では、DMACからBCUに対するDMA開始要求が１系統しかない為に、各チャネルのDMA転送を順番に実行せざるを得ない。この為、高倍速で回転する光ディスク装置のエラー訂正処理のような、高速にデータ転送を要求される応用においては大きな問題となる。さらにＩＯバスが１系統しかない場合には、ＩＯバスに接続された回路に対するライト動作に引き続き、ＩＯバスに接続された回路に対するリード動作が実行された場合（図６のタイミングｔ５〜ｔ８およびタイミングｔ１３〜ｔ１６）には、外部メモリに対するバスサイクルに空きが生じてしまい、外部メモリの性能を十分に引き出せないという問題がある。さらに、この問題は高速な外部メモリの使用、メモリバス幅の拡大、あるいはDRAM内蔵といった方法により、外部メモリバスバンド幅（データ転送能力）が内部ＩＯバスバンド幅に比べて大きくなるに従って顕著になる。
【００２２】
本発明はかかる点に鑑み、複数のチャネルのDMA要求が並列して発生した場合にも高速にデータ転送を行うことができるとともに、外部メモリの性能を十分に引き出すことが可能な情報処理装置を提供することを目的とする。
【００２３】
【課題を解決するための手段】
この課題を解決するため請求項１記載の本発明の情報処理装置は、第１、第２、第３の資源とメモリとの間におけるＤＭＡ転送を実行する情報処理装置であり、前記第１、第２、第３の資源と前記メモリとの間におけるＤＭＡ転送に使用するバスの制御を行うバス制御手段と、前記第１の資源と前記バス制御手段との間でデータ転送を行うための第１のデータバスと、前記第２の資源と前記バス制御手段との間でデータ転送を行うための第２のデータバスと、前記第３の資源と前記バス制御手段との間でデータ転送を行うための第３のデータバスと、前記メモリと前記バス制御手段との間でデータを転送するための第４のデータバスを備え、前記バス制御手段は、第１のタイミングにおいて、前記第１のデータバスを介して前記第１の資源との間で、前記第３のデータバスを介して前記第３の資源との間でデータの転送を行い、かつ前記第２の資源との間で転送されるデータを前記第４のデータバスを介して前記メモリとの間で転送し、第２のタイミングにおいて、前記第２のデータバスを介して前記第２の資源との間で、前記第３のデータバスを介して前記第３の資源との間でデータの転送を行い、かつ前記第１の資源との間で転送されるデータを前記第４のデータバスを介して前記メモリとの間で転送し、第３のタイミングにおいて、前記第１のデータバスを介して前記第１の資源との間で、前記第２のデータバスを介して前記第２の資源との間でデータの転送を行い、かつ前記第３の資源との間で転送されるデータを前記第４のデータバスを介して前記メモリとの間で転送するようバスを制御する。
【００２４】
また請求項２記載の本発明の情報処理装置は、請求項１記載の本発明の情報処理装置に対して、前記バス制御手段は、前記第１のタイミングにおいて、前記第１のデータバスを介して前記第１の資源からデータを取得し、前記第３のデータバスを介して前記第３の資源へデータを送出し、かつ前記第２の資源へ送出するためのデータを前記第４のデータバスを介して前記メモリから取得し、前記第２のタイミングにおいて、前記第２のデータバスを介して前記第２の資源へデータを送出し、前記第３のデータバスを介して前記第３の資源へデータを送出し、かつ前記第１の資源から取得したデータを前記第４のデータバスを介して前記メモリに送出し、前記第３のタイミングにおいて、前記第１のデータバスを介して前記第１の資源からデータを取得し、前記第２のデータバスを介して前記第２の資源へデータを送出し、かつ前記第３の資源へ送出するデータを前記第４のデータバスを介して前記メモリから取得するようバスを制御するようにしたものである。
【００２５】
また請求項３記載の本発明の情報処理装置は、請求項１記載の本発明の情報処理装置に対して、前記第１の資源は、前記メモリへ転送するデータの転送元となる資源であり、前記第２の資源は、前記メモリに転送されたデータのエラー訂正を実行する資源であり、前記第３の資源は、前記メモリから転送するデータの転送先となる資源であるとしたものである。
【００３２】
以上のように構成された本発明の実施の形態による情報処理装置について、以下その動作を説明する。
【００３３】
本実施の形態の情報処理装置においては、外部メモリ２に対するバスマスタはCPU４、DMAチャネル１、２、３の４つが存在する。CPU４が外部メモリ２からデータをリードする場合には、リード信号１２０をアサートし、アドレスをCPUアドレスバス１０３に出力する。リード信号１２０がアサートされると、BCU６では外部メモリ２に対するリード動作を実行しデータをリードする。外部メモリからのリードは外部アドレスバス１００、外部データバス１０１を介して行われる。終了するとBCU６から応答信号１２２がアサートされ、CPUデータバス１０４を介してデータがCPUへ送られリード動作は完了する。また、CPU４が外部メモリ２にデータをライトする場合には、ライト信号１２１をアサートし、アドレスをCPUアドレスバス１０３に出力する。ライト信号１２１がアサートされると、BCU６ではCPUデータバス１０４のデータを外部メモリ２にライトする。外部メモリへのライトが終了するとBCU６から応答信号１２２がアサートされライト動作は完了する。
【００３４】
次に、DMAによるデータ転送動作を説明する。本情報処理装置においては、大きく２つの動作が存在する。１つは、ディスクデータ線１１５を介して外部から入力されたデータに対してエラー訂正処理を実行してホストＩ／Ｆ９を介してホストコンピュータにデータを出力するリード動作である。もう１つはホストコンピュータから入力されたデータに対してエラー訂正処理を実行して、ディスクＩ／Ｆ７を介して外部にデータを出力するライト動作である。さらに、リード動作の場合のデータ転送先は、ホストコンピュータだけでなく、MPEG Ｉ／Ｆ１０を介してMPEGデータ処理回路にも転送可能となっている。リード動作の場合には、
（１）DMAチャネル１：ディスクＩ／Ｆ７から外部メモリ２へのデータ転送
（２）DMAチャネル２：外部メモリ２からエラー計算回路８へのデータ転送
（３）DMAチャネル３：外部メモリ２からホストＩ／Ｆ９へのデータ転送、または外部メモリ２からMPEG Ｉ／Ｆ１０へのデータ転送
が並列に動作する。また、ライト動作の場合には、
（１）DMAチャネル１：外部メモリ２からディスクＩ／Ｆ７へのデータ転送
（２）DMAチャネル２：外部メモリ２からエラー計算回路８へのデータ転送
（３）DMAチャネル３：ホストＩ／Ｆ９から外部メモリ２へのデータ転送
が並列に動作する。以下にリード動作の場合の各チャネルの動作を簡単に説明する。
【００３５】
チャネル１ではディスクデータ線１１５を介して外部から入力されたエラー訂正処理前のデータを、ディスクＩ／Ｆ７から外部メモリ２に転送する。ディスクＩ／Ｆ７に一定のデータが蓄積されるとDMAC５に対してチャネル１DMA起動要求１０８がアサートされる。チャネル１DMA起動要求１０８がアサートされると、DMAC５内のDMA起動制御回路５２からBCU６に対するチャネル１DMA開始信号１０５ａがアサートされる。同時にチャネル１アドレスレジスタ５８の内容がDMAアドレス１０５ｂとしてBCU６に出力される。BCU６では、調停回路６２によってチャネル１DMAが受け付けられ、まずディスクＩ／Ｆ７からのリードサイクルが起動される。ここで、ディスクＩ／Ｆ７から外部メモリ２への転送であることは、チャネル１DMA方向信号１０５ｄによって示されている。リードしたデータはディスク系ＩＯバス１１２を介してバスインターフェイス回路６３に取り込まれる。そして、外部メモリ２へのライトサイクルが起動され外部メモリ２へのライトが行われる。ディスクＩ／Ｆ７からのリードサイクルが起動されると、調停回路６２からはDMAC５に対してDMA応答信号１０５ｃがアサートされる。それを受けて、チャネル１DMA開始信号１０５ａがネゲートされるとともに、アドレス加算器５９でアドレスが加算され（本実施の形態では＋４）、次のDMAアドレスがアドレスレジスタ５８にセットされる。また、転送回数カウンタ５７では転送回数がー１されて残り転送回数が転送回数レジスタ５６にセットされる。チャネル１DMA転送では以上のような動作が繰り返され、残り転送回数５０１が”０”になると転送は終了する。
【００３６】
チャネル２ではDMAチャネル１でディスクＩ／Ｆ７から外部メモリ２に転送されたデータをエラー計算回路８に転送する。エラー計算回路８が計算可能状態になると、DMAC５に対してチャネル２DMA起動要求１０９がアサートされる。チャネル２DMA起動要求１０９がアサートされると、DMAC５内のDMA起動制御回路５２でBCU６に対するチャネル２DMA開始信号１０６ａがアサートされるとともにチャネル２DMAアドレス１０６ｂがBCU６に出力される。BCU６では、調停回路６２によってチャネル２DMAが受け付けられ、外部メモリ２からのリードサイクルが起動される。リードしたデータは外部データバス１０１を介してバスインターフェイス回路６３に取り込まれる。そして、エラー計算回路８へのライトサイクルが起動されエラー処理系ＩＯバス１１３を介してライトが行われる。
【００３７】
チャネル３ではエラー訂正が終了した外部メモリ上のデータをホストＩ／Ｆ９に転送する。ホストＩ／Ｆ９で外部へデータ転送が可能になるとDMAC５に対してチャネル３DMA起動要求１１０がアサートされる。チャネル３DMA起動要求１１０がアサートされると、DMAC５内のDMA起動制御回路５２でBCU６に対するチャネル３DMA開始信号１０７ａがアサートされるとともにチャネル３DMAアドレス１０７ｂがBCU６に出力される。BCU６では、調停回路６２によってチャネル３DMAが受け付けられ、外部メモリ２からのリードサイクルが起動される。ここで、外部メモリ２からホストＩ／Ｆ９への転送であることは、チャネル３DMA方向信号１０７ｄおよびチャネル３DMAデバイス信号１０７ｅによって示されている。リードしたデータは外部データバス１０１を介してバスインターフェイス回路６３に取り込まれる。そして、ホストＩ／Ｆ９へのライトサイクルが起動されホスト系ＩＯバス１１４を介してライトが行われる。
【００３８】
以上、各チャネルのDMA転送動作を説明したが、実際には各チャネルは並列に動作を行う。全てのチャネルの転送が外部メモリに関係する為に、外部メモリのアクセスをいかに無駄なく行えるかが性能を決めるポイントとなる。
【００３９】
次にDMA各チャネルの並列動作を図３に示す動作タイミング図を用いて説明する。同図は、各チャネルの起動要求１０８〜１１１、DMACとBCUとのインターフェイス信号１０５ａ〜１０５ｄ、１０６ａ〜１０６ｃ、１０７ａ〜１０７ｅ、ディスク系ＩＯバス１１２、エラー処理系ＩＯバス１１３、ホスト系ＩＯバス１１４、外部データバス１０１の状態をマシンサイクルと呼ばれるタイミング毎に示している。信号は全てロー状態の時に信号がアサートされたことを示すアクティブロー信号であるとし、ＩＯバスを介した各ＩＯ（ディスクＩ／Ｆ、エラー計算回路、ホストＩ／Ｆ）に対するアクセスはリード／ライトとともに２マシンサイクル、外部メモリに対するアクセスはリード／ライトとともに１マシンサイクルであるとし、時間が経過する順にタイミング毎に説明する。また、バス制御装置内にある優先順位レジスタ６１には、チャネル３、チャネル２、チャネル１の順番で優先順位が設定されているものとする。さらに、各チャネルに対する起動要求１０８〜１１１は１マシンサイクルだけアサートされる。
【００４０】
（タイミングｔ１）
ディスクＩ／Ｆ７からチャネル１起動要求１０８が、エラー計算回路８からチャネル２起動要求１０９が、ホストＩ／Ｆ９からチャネル３起動要求１１０がアサートされる。各起動要求を受けて、DMAC５内のDMA起動制御回路からBCU６に対してチャネル１開始信号１０５ａ、チャネル２開始信号１０６ａ、チャネル３開始信号１０７ａがアサートされる。また、各チャネルのDMAの対象となる外部メモリ２のアドレスを示すDMAアドレス１０５ｂ、１０６ｂ、１０７ｂが出力される。
【００４１】
BCU６では、各チャネルの開始信号がアサートされると優先順位信号６０１の値に従って、調停回路６２で調停を行う（実際にバスサイクルが始まるのは次のサイクル）。起動要求があるバスサイクルはチャネル１のディスクＩ／Ｆ７からのリード、およびチャネル２、３の外部メモリ２からのリードである。ディスクＩ／Ｆ７からのリードの起動準備、チャネル３の優先順位が高い為にチャネル３に対する外部メモリ２からのリードの起動準備がされる。BCU６では図３において○で示すタイミングでバス調停が行われる。なお、受け付けられたDMA開始要求に該当するバスサイクルを矢印で指し示す。
【００４２】
（タイミングｔ２）
ディスクＩ／Ｆ７からのリードサイクル（ディスクＩＯバス１１２のＲ（１）はチャネル１のリード動作を示す）が開始される。チャネル１のリードサイクルが開始されたので、チャネル１応答信号１０５ｃがアサートされる。また、外部メモリ２からのリードサイクル（外部データバス１０１のＲ（３）はチャネル３のリード動作を示す）が開始される。チャネル３のリードサイクルが開始されたので、チャネル３応答信号１０７ｃがアサートされる。さらに、チャネル３の外部メモリのアクセスは１サイクルで終了する為にホストＩ／Ｆ９に対するライトの起動準備、およびチャネル２の外部メモリからのリードの起動準備がされる。
【００４３】
（タイミングｔ３）
タイミングｔ２でチャネル１応答信号１０５ｃおよびチャネル３応答信号１０７ｃがアサートされたので、チャネル１開始信号１０５ａおよびチャネル３開始信号１０７ａがネゲートされるとともに、チャネル１DMAアドレス１０５ｂおよびチャネル３DMAアドレス１０７ｂも有効な値の出力を終了する。ディスクＩ／Ｆ７からのリードサイクルは２サイクルかかるために実行中である。また、チャネル３の外部メモリからのリードが完了しているので、ホストＩ／Ｆ９に対するライトが開始される（ホストＩＯバス１１４のＷ（３）はチャネル３のライト動作を示す）。さらに、チャネル２に対する外部メモリ２からのリードサイクルが開始され、チャネル１応答信号１０６ｃがアサートされる。チャネル２の外部メモリからのリードが完了する為にエラー計算回路８に対するライトの起動準備、チャネル１のディスクＩ／Ｆ７からのリードが完了する為にチャネル１の外部メモリへのライトの起動準備がされる。
【００４４】
（タイミングｔ４）
ディスクＩ／Ｆ７からチャネル１起動要求１０８が、ホストＩ／Ｆ９からチャネル３起動要求１１０がアサートされる。各起動要求を受けて、DMAC５内のDMA起動制御回路からBCU６に対してチャネル１開始信号１０５ａ、チャネル３開始信号１０７ａがアサートされる。また、各チャネルのDMAの対象となる外部メモリ２のアドレスを示すDMAアドレス１０５ｂ、１０７ｂが出力される。一方、タイミングｔ３でチャネル２応答信号１０６ｃがアサートされたので、チャネル２開始信号１０６ａがネゲートされるとともに、チャネル２アドレス１０６ｂは有効な値の出力を終了する。
【００４５】
BCU６では、チャネル開始信号がアサートされたので、チャネル１のディスクＩ／Ｆ７からのリードの起動準備、チャネル３の外部メモリ２からのリードの起動準備がされる。また、エラー計算回路８に対するライトサイクル、チャネル１の外部メモリへのライトサイクルが実行される。
【００４６】
（タイミングｔ５）
エラー計算回路８からチャネル２起動要求１０９がアサートされ、BCU６に対してチャネル２開始信号１０６ａがアサートされるとともにDMAアドレス１０６ｂが出力される。ディスクＩ／Ｆ７からのリードサイクルが開始され、チャネル１応答信号１０５ｃがアサートされる。また、外部メモリ２からのリードサイクルが開始され、チャネル３応答信号１０７ｃがアサートされる。さらに、チャネル３の外部メモリのアクセスは１サイクルで終了する為にホストＩ／Ｆ９に対するライトの起動準備、およびチャネル２の外部メモリからのリードの起動準備がされる。
【００４７】
（タイミングｔ３）
タイミングｔ２でチャネル１応答信号１０５ｃおよびチャネル３応答信号１０７ｃがアサートされたので、チャネル１開始信号１０５ａおよびチャネル３開始信号１０７ａがネゲートされるとともに、チャネル１DMAアドレス１０５ｂおよびチャネル３DMAアドレス１０７ｂも有効な値の出力を終了する。ディスクＩ／Ｆ７からのリードサイクルは２サイクルかかるために実行中である。また、チャネル３の外部メモリからのリードが完了しているので、ホストＩ／Ｆ９に対するライトが開始される（ホストＩＯバス１１４のＷ（３）はチャネル３のライト動作を示す）。さらに、チャネル２に対する外部メモリ２からのリードサイクルが開始され、チャネル２応答信号１０６ｃがアサートされる。チャネル２の外部メモリからのリードが完了する為にエラー計算回路８に対するライトの起動準備、チャネル１のディスクＩ／Ｆ７からのリードが完了する為にチャネル１の外部メモリへのライトの起動準備がされる。
【００４８】
以上説明したように本実施の形態における情報処理装置では、外部メモリ２のバスサイクルに空きが生じることなく各チャネルのDMA転送が並列して高速に実行される。例えば、従来の情報処理装置では図６に示すように８マシンサイクルごとに３チャネルのDMAが実行されていくのに対して、本実施の形態における情報処理装置では図３に示すよう３マシンサイクルごとに実行されていく。
【００４９】
次に、ホストＩ／Ｆ９に代わってMPEG Ｉ／Ｆ１０から外部にデータを出力する場合の動作を図４の動作タイミング図に示す。MPEG Ｉ／Ｆ１０から外部にデータを出力する場合には、データ出力の速度がホストＩ／Ｆ９から出力する場合に比べて遅い為に、図３に示したようにホストＩ／Ｆ９からの起動要求１１０は３マシンサイクルごとにアサートされるのに対して、MPEG Ｉ／Ｆ１０からの起動要求１１１は６マシンサイクルごとにアサートされる。そして、ＩＯバスを介したMPEG Ｉ／Ｆ１０に対するアクセスはリード／ライトとともに４マシンサイクルで実行される。なお、その他の条件は図３の場合と同様である。
【００５０】
（タイミングｔ１）
ディスクＩ／Ｆ７からチャネル１起動要求１０８が、エラー計算回路８からチャネル２起動要求１０９が、MPEG Ｉ／Ｆ１０からチャネル３起動要求１１１がアサートされる。各起動要求を受けて、DMAC５内のDMA起動制御回路からBCU６に対してチャネル１開始信号１０５ａ、チャネル２開始信号１０６ａ、チャネル３開始信号１０７ａがアサートされる。また、各チャネルのDMAの対象となる外部メモリ２のアドレスを示すDMAアドレス１０５ｂ、１０６ｂ、１０７ｂが出力される。
【００５１】
BCU６では、各チャネルの開始信号がアサートされると優先順位信号６０１の値に従って、調停回路６２で調停を行う（実際にバスサイクルが始まるのは次のサイクル）。起動要求があるバスサイクルはチャネル１のディスクＩ／Ｆ７からのリード、およびチャネル２、３の外部メモリ２からのリードである。ディスクＩ／Ｆ７からのリードの起動準備、チャネル３の優先順位が高い為にチャネル３に対する外部メモリ２からのリードの起動準備がされる。
【００５２】
（タイミングｔ２）
ディスクＩ／Ｆ７からのリードサイクル（ディスクＩＯバス１１２のＲ（１）はチャネル１のリード動作を示す）が開始される。チャネル１のリードサイクルが開始されたので、チャネル１応答信号１０５ｃがアサートされる。また、外部メモリ２からのリードサイクル（外部データバス１０１のＲ（３）はチャネル３のリード動作を示す）が開始される。チャネル３のリードサイクルが開始されたので、チャネル３応答信号１０７ｃがアサートされる。さらに、チャネル３の外部メモリのアクセスは１サイクルで終了する為にMPEG Ｉ／Ｆ１０に対するライトの起動準備、およびチャネル２の外部メモリからのリードの起動準備がされる。
【００５３】
（タイミングｔ３）
タイミングｔ２でチャネル１応答信号１０５ｃおよびチャネル３応答信号１０７ｃがアサートされたので、チャネル１開始信号１０５ａおよびチャネル３開始信号１０７ａがネゲートされるとともに、チャネル１DMAアドレス１０５ｂおよびチャネル３DMAアドレス１０７ｂも有効な値の出力を終了する。ディスクＩ／Ｆ７からのリードサイクルは２サイクルかかるために実行中である。また、チャネル３の外部メモリからのリードが完了しているので、MPEG Ｉ／Ｆ１０に対するライトが開始される（ホストＩＯバス１１４のＷ（３）はチャネル３のライト動作を示す）。さらに、チャネル２に対する外部メモリ２からのリードサイクルが開始され、チャネル２応答信号１０６ｃがアサートされるとともに、エラー計算回路８に対するライトの起動準備、チャネル１の外部メモリ２へのライトの起動準備がされる。
【００５４】
（タイミングｔ４）
ディスクＩ／Ｆ７からチャネル１起動要求１０８がアサートされ、DMAC５内のDMA起動制御回路からBCU６に対してチャネル１開始信号１０５ａがアサートされる。また、チャネル１のDMAの対象となる外部メモリ２のアドレスを示すDMAアドレス１０５ｂが出力される。一方、タイミングｔ３でチャネル２応答信号１０６ｃがアサートされたので、チャネル２開始信号１０６ａがネゲートされるとともに、チャネル２DMAアドレス１０６ｂは有効な値の出力を終了する。
【００５５】
BCU６では、チャネル開始信号がアサートされたので、チャネル１のディスクＩ／Ｆ７からのリードの起動準備がされる。また、エラー計算回路８に対するライトサイクル、チャネル１の外部メモリへのライトサイクルが実行される。MPEGＩ／Ｆ１０に対するライトは実行中である。
【００５６】
（タイミングｔ５）
エラー計算回路８からチャネル２起動要求１０９がアサートされ、BCU６に対してチャネル２開始信号１０６ａがアサートされるとともにDMAアドレス１０６ｂが出力される。ディスクＩ／Ｆ７からのリードサイクルが開始され、チャネル１応答信号１０５ｃがアサートされる。また、チャネル２の外部メモリからのリードの起動準備がされる。MPEG Ｉ／Ｆ１０に対するライトは実行中である。
【００５７】
（タイミングｔ６）
タイミングｔ５でチャネル１応答信号１０５ｃがアサートされたので、チャネル１開始信号１０５ａがネゲートされるとともに、チャネル１DMAアドレス１０５ｂは有効な値の出力を終了する。ディスクＩ／Ｆ７からのリードサイクルは２サイクルかかるために実行中である。さらに、チャネル２に対する外部メモリ２からのリードサイクルが開始され、チャネル２応答信号１０６ｃがアサートされる。また、エラー計算回路８に対するライトの起動準備、チャネル１の外部メモリへのライトの起動準備がされる。MPEG Ｉ／Ｆ１０に対するライトはこのサイクルで終了する。
【００５８】
（タイミングｔ７）
ディスクＩ／Ｆ７からチャネル１起動要求１０８がアサートされ、DMAC５内のDMA起動制御回路からBCU６に対してチャネル１開始信号１０５ａがアサートされる。また、チャネル１のDMAの対象となる外部メモリ２のアドレスを示すDMAアドレス１０５ｂが出力される。一方、タイミングｔ６でチャネル２応答信号１０６ｃがアサートされたので、チャネル２開始信号１０６ａがネゲートされるとともに、チャネル２アドレス１０６ｂは有効な値の出力を終了する。
【００５９】
MPEG  Ｉ／Ｆ１０からチャネル３起動要求１１１がアサートされ、チャネル３開始信号１０７ａがアサートされる。
【００６０】
BCU６では、チャネル３開始信号１０７ａがアサートされたので、チャネル３の外部メモリ２からのリードの起動準備がされる。また、エラー計算回路８に対するライトサイクル、チャネル１の外部メモリへのライトサイクルが実行される。
【００６１】
（タイミングｔ８）
エラー計算回路８からチャネル２起動要求１０９がアサートされ、BCU６に対してチャネル２開始信号１０６ａがアサートされるとともにDMAアドレス１０６ｂが出力される。ディスクＩ／Ｆ７からのリードサイクルが開始され、チャネル１応答信号１０５ｃがアサートされる。また、チャネル３の外部メモリからのリードが開始される。
【００６２】
（タイミングｔ９〜ｔ１１）
タイミングｔ３〜ｔ５の繰り返しになるので、記載を省略する。
【００６３】
以上説明したように本実施の形態における情報処理装置では、MPEG Ｉ／Ｆ１０からの起動要求１１１は６マシンサイクルごとにアサートされる為に、MPEG Ｉ／Ｆ１０に対するアクセスが４サイクルかかっても、チャネル１および２の動作タイミングは図３で説明した場合と全く同じタイミングで実行され、各チャネルのDMA転送が並列して実行される。そして、MPEG Ｉ／Ｆ１０に対するアクセスは４マシンサイクルかけて行う為に、ホストＩ／Ｆ９に転送する場合に比べて低消費電力化が実現できる。このように、DMA起動の頻度によってアクセスサイクル数を調節することにより、低消費電力化が実現できる。
【００６４】
以上のように本発明の実施の形態によれば、DMACからバス制御装置にチャネルごとに独立して転送開始要求を出力し、バス制御装置でチャネル間の調停を行うとともに、チャネルごとに独立したバスを設けることによりDMA転送が並列して高速に実行される。従って、情報処理装置の性能を高めることが可能となる。
【００６５】
なお本発明の実施の形態では、外部メモリ２を有する構成を示したが、情報処理装置内にSRAMあるいはDRAMといったメモリを内蔵する構成にしてもよい。
【００６６】
また本発明の実施の形態では、外部メモリ２と内部のＩＯバスのバス幅が同じ場合を示したが、バス幅が異なる場合には、バス制御装置６内のデータの並び替えを行う手段を設け、バス幅の小さい側のアクセスを複数回実行するようにしてもよい。
【００６７】
また本発明の実施の形態では、DMAチャネルを完全に独立化してバス制御装置６に対してDMA開始要求を出力し、チャネル間の調停は全てバス制御装置内で行っているが、全チャネルのうちの数チャネルをまとめて一つにして、バス制御装置６にDMA転送要求を出力する構成にして、まとめたチャネル間の調停のみDMAC５内で実行するようにしてもよい。
【００６８】
【発明の効果】
以上説明したように本発明によれば、複数のチャネルのDMA要求が並列して発生した場合にも高速にデータ転送を行うことができるとともに、外部メモリの性能を十分に引き出すことができるという有利な効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施の形態における情報処理装置のブロック図
【図２】同実施の形態によるDMAコントローラおよびバス制御装置のブロック図
【図３】同実施の形態における情報処理装置の動作タイミング図
【図４】同実施の形態における情報処理装置の動作タイミング図
【図５】同従来の情報処理装置のブロック図
【図６】同従来の情報処理装置の動作タイミング図
【符号の説明】
１  情報処理装置
２  外部メモリ
３  ROM
４  CPU
５  DMAコントローラ
６  バス制御装置
７  ディスクＩ／Ｆ
８  エラー計算回路
９  ホストＩ／Ｆ
１０  MPEG Ｉ／Ｆ
１１  外部メモリ
１２  ROM
１００  外部アドレスバス
１０１  外部データバス
１０２  命令バス
１０３  CPUアドレスバス
１０４  CPUデータバス
１０５ａ、１０６ａ、１０７ａ  DMA開始信号
１０５ｂ、１０６ｂ、１０７ｂ  DMAアドレス
１０５ｃ、１０６ｃ、１０７ｃ  DMA応答信号
１０５ｄ、１０７ｄ  DMA方向信号
１０７ｅ  DMAデバイス信号
１０８  チャネル１DMA起動要求
１０９  チャネル２DMA起動要求
１１０  チャネル３ホストDMA起動要求
１１１  チャネル３MPEG DMA起動要求
１１２  ディスク系ＩＯバス
１１３  エラー処理系ＩＯバス
１１４  ホスト系ＩＯバス
１１５  ディスクデータ線
１１６  ホストデータ線
１１７  MPEGデータ線
１２０  リード信号
１２１  ライト信号
１２２  応答信号
１２３  外部応答信号
【図１】
0003703958.tif 000002
【図２】
0003703958.tif 000003
【図３】
0003703958.tif 000004
【図４】
0003703958.tif 000005
【図５】
0003703958.tif 000006
【図６】
0003703958.tif 000007