JPH09319698A - ダイレクト・メモリ・アクセス転送方式 - Google Patents

ダイレクト・メモリ・アクセス転送方式

Info

Publication number
JPH09319698A
JPH09319698A JP14029496A JP14029496A JPH09319698A JP H09319698 A JPH09319698 A JP H09319698A JP 14029496 A JP14029496 A JP 14029496A JP 14029496 A JP14029496 A JP 14029496A JP H09319698 A JPH09319698 A JP H09319698A
Authority
JP
Japan
Prior art keywords
data
descriptor
transfer
register
stored
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.)
Withdrawn
Application number
JP14029496A
Other languages
English (en)
Inventor
智 ▲廣▼瀬
Satoshi Hirose
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 JP14029496A priority Critical patent/JPH09319698A/ja
Publication of JPH09319698A publication Critical patent/JPH09319698A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 PCIバスを備えるシステムにおけるDMA
転送方式に関し、ディスクリプタ・チェインを組んでC
PUの処理負荷を軽減すると共に、PCIバスの開放、
占有の切替頻度を縮減することができるDMA転送方式
を提供する。 【解決手段】 転送されるディスクリプタ・データを一
旦格納するストック・レジスタと、該ストック・レジス
タにストアされたディスクリプタ・データを移し変える
ディスクリプタ・レジスタとを備え、転送データの先頭
番地に連続した下位番地にディスクリプタ・データを書
き込んでCPUからの起動によってDMA転送を開始
し、転送された該ディスクリプタ・データを該ストック
・レジスタに一旦ストアし、転送データが最終番地にな
った時に該ストック・レジスタにストアされた該ディス
クリプタ・データを該ディスクリプタ・レジスタに移し
変え、以降は該ディスクリプタ・レジスタに移し変えら
れたディスクリプタ・データに従ってDMA転送を行な

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ペリフェラル・コ
ンポーネント・インターコネクト・バス(Peripheral C
omponent Interconnect Bus 、略してPCIバス)を備
えるシステムにおけるダイレクト・メモリ・アクセス転
送方式(DMA転送方式)に係り、特に、ディスクリプ
タ・チェインを組んでCPUの処理負荷を軽減すると共
に、PCIバスの解放、占有の切替頻度を縮減すること
ができるダイレクト・メモリ・アクセス転送方式に関す
る。
【0002】通信装置やOA機器等の情報処理装置の処
理速度を高くするために、高速でデータを転送するバス
が必要とされており、その一つにPCIバスがある。一
方、データ転送方式で最も多く適用される方式にDMA
転送方式があり、DMA転送方式はディスクリプタ・チ
ェインを組んでCPUの処理負荷を軽減する優れた方式
である。
【0003】従って、PCIバスを備えるシステムにお
いてディスクリプタ・チェインを組んでCPUの処理負
荷を軽減できるDMA転送方式の実現が望まれている。
【0004】
【従来の技術】図17は、従来のDMA転送方式の機能
構成図である。図17において、1は中央制御ユニット
(CPU)、2は主メモリ、3はホスト・バス、4はP
CI−ホスト・ブリッジ、5はPCIバス、6はPCI
制御部(PCIC)、7はローカル・バス、8bはDM
A制御部(DMAC)、9は入出力装置(I/O)、1
0はローカル・メモリである。
【0005】CPUと主メモリはホスト・バスに接続さ
れており、ホスト・バスとPCIバスはホスト側のPC
Iバス制御を行なうPCI−ホスト・ブリッジで結合さ
れている。PCIバスにはPCICが接続されており、
ローカル側のPCIバスの制御を行なうと共に、ローカ
ル・バス側のDMAC、I/O、ローカル・メモリ等に
ついてバス・アービトレーションを行なう。
【0006】
【発明が解決しようとする課題】PCIバスは連続する
メモリ空間へのアクセスに適しており、一旦先頭アドレ
スを指示すればデータ・アクセス時に自動的にアドレス
を歩進する。
【0007】しかし、PCIバスを備えるシステムにお
いてDMA転送方式を適用するためにディスクリプタ・
チェインを組もうとすると、ディスクリプタ・データは
転送データとは連続したメモリ空間に配置されていない
ために、再度アドレス指示をやり直す必要がある。
【0008】図18は、従来のDMA転送方式のタイム
チャートをイメージ的に表示した図であり、上記の様子
を説明するためのものである。尚、図18はイメージ図
であるために時間軸の長さは正確には描いてはいない。
【0009】まず、CPUは主メモリのディスクリプタ
・データ領域の先頭アドレスを指定してディスクリプタ
・データを読み出し、該読み出したディスクリプタ・デ
ータをDMACに転送する。ディスクリプタ・データは
転送データを格納している先頭番地や転送すべきデータ
量等を表すもので、DMACはディスクリプタ・データ
を知れば主メモリのどのアドレスからどの程度の量のデ
ータを主メモリからターゲットであるローカル・メモリ
に転送すればよいか認識できるので、ディスクリプタ・
データを取り込んだあとはCPUの処理がなくても自律
的にデータを転送することができる。
【0010】しかし、ディスクリプタ・データと転送デ
ータの格納領域が不連続であるために、転送データを転
送した後に次のディスクリプタ・データの番地を指示す
るためにはアクセス・サイクルを一旦終了させる必要が
ある。
【0011】アクセス・サイクルが一旦終了すると、C
PUからバスの解放を要求してくることがあり、この場
合には、一旦バスを解放した後に再度バスの占有権を取
り直す必要がある。
【0012】このために、PCIバスを備えるシステム
におけるDMA転送方式においては転送効率が著しく低
下する恐れがある。本発明は、かかる問題を解決すべ
く、PCIバスを備えるシステムにおけるDMA転送方
式において、ディスクリプタ・チェインを組んでCPU
の処理負荷を軽減すると共に、PCIバスの解放、占有
の切替頻度を縮減することができるDMA転送方式を提
供することを目的とする。
【0013】
【課題を解決するための手段】本発明の第一の手段は、
主メモリにおいて、ディスクリプタ・データを転送デー
タの先頭番地に連続した下位番地に格納し、最初の転送
サイクルではCPUからの起動で格納されているディス
クリプタ・データと転送データとを転送し、該転送され
たディスクリプタ・データをDMACに設けられたスト
ック・レジスタに一旦ストアし、前記転送において転送
データの最終番地に到達した時に該ストック・レジスタ
にストアされたディスクリプタ・データをDMACに設
けられたディスクリプタ・レジスタに移し、次の転送サ
イクルからは該ディスクリプタ・レジスタに移されたデ
ィスクリプタ・データを使ってDMACが自律的にデー
タ転送を継続する技術である。
【0014】本発明の第一の手段によれば、再度アドレ
スを指定するためにアクセス・サイクルを一旦終了する
必要がなくなる。従って、他からバス開放要求の影響を
受け難くなり、データ転送の効率を向上することができ
るようになる。
【0015】本発明の第二の手段は、主メモリにおい
て、転送データの最終番地に連続した上位番地にディス
クリプタ・データを格納し、最初の転送サイクルではC
PUからの起動で格納されているディスクリプタ・デー
タと転送データとを転送し、該転送されたディスクリプ
タ・データをDMACに設けられたディスクリプタ・レ
ジスタにストアし、次の転送サイクルからは該ディスク
リプタ・レジスタにストアされたディスクリプタ・デー
タを使ってDMACが自律的にデータ転送を継続する技
術である。
【0016】この場合、ディスクリプタ・データは転送
データの後で転送されるので、ディスクリプタ・データ
を直接ディスクリプタ・レジスタにストアすることがで
きる。
【0017】本発明の第二の手段によっても、再度アド
レスを指定するためにアクセス・サイクルを一旦終了す
る必要がなくなる。従って、他からバス開放要求の影響
を受け難くなり、データ転送の効率を向上することがで
きるようになる。
【0018】本発明の第三の手段は、主メモリにおい
て、ディスクリプタ・データを任意の番地に格納し、転
送データを該ディスクリプタ・データに連続した番地に
格納し、最初の転送サイクルではCPUからの起動で格
納されているディスクリプタ・データと転送データとを
転送し、PCICに設けられたセレクト・レジスタに格
納されている内容を参照してディスクリプタ・データを
検出し、該検出されたディスクリプタ・データをDMA
Cに設けられたストック・レジスタにストアし、前記転
送において転送データの最終番地に到達した時に該スト
ック・レジスタにストアされたディスクリプタ・データ
をDMACに設けられたディスクリプタ・レジスタに移
し、次の転送サイクルからは該ディスクリプタ・レジス
タに移されたディスクリプタ・データを使ってDMAC
が自律的にデータ転送を継続する技術である。
【0019】本発明の第三の手段によっても、再度アド
レスを指定するためにアクセス・サイクルを一旦終了す
る必要がなくなる。従って、他からバス開放要求の影響
を受け難くなり、データ転送の効率を向上することがで
きるようになる。
【0020】本発明の第四の手段は、主メモリにおい
て、ディスクリプタ・データを任意の番地に格納し、該
ディスクリプタ・データの先頭番地に連続した下位番地
にパターン・データを格納し、該パターンデータと該デ
ィスクリプタ・データに連続した番地に転送データを格
納して、最初の転送サイクルではCPUからの起動で格
納されているディスクリプタ・データと転送データとを
転送し、PCICに設けられたパターン検出部によって
ディスクリプタ・データの番地であることを検出し、該
検出されたディスクリプタ・データをDMACに設けら
れたストック・レジスタにストアし、前記転送において
最終番地に到達した時に該ストック・レジスタにストア
されたディスクリプタ・データをDMACに設けられた
ディスクリプタ・レジスタに移し、次の転送サイクルか
らは該ディスクリプタ・レジスタに移されたディスクリ
プタ・データを使ってDMACが自律的にデータ転送を
継続する技術である。
【0021】本発明の第四の手段によっても、再度アド
レスを指定するためにアクセス・サイクルを一旦終了す
る必要がなくなる。従って、他からバス開放要求の影響
を受け難くなり、データ転送の効率を向上することがで
きるようになる。
【0022】
【発明の実施の形態】図1は、本発明の第一の実施の形
態の機能構成図である。図1において、1はCPU、2
は主メモリ、3はホスト・バス、4はPCI−ホスト・
ブリッジ、5とPCIバス、6はPCIC、7はローカ
ル・バス、8はDMAC、9はI/O、10はローカル
・メモリである。
【0023】ここで、DMACにはディスクリプタ・デ
ータを一旦ストアするストック・レジスタ82及び該ス
トック・レジスタにストアしたディスクリプタ・データ
を移し変えるディスクリプタ・レジスタ81が設けられ
ており、又、主メモリにおいてはディスクリプタ・デー
タと転送データとが連続した番地に格納されるようにし
ている。
【0024】図2は、本発明の第一の実施の形態におけ
るメモリ・マップで、主メモリへのディスクリプタ・デ
ータと転送データとの格納を仕方を示している。尚、図
2においては、転送サイクルの内2サイクルを示してい
る。
【0025】各サイクル共、主メモリの下位番地にはデ
ィスクリプタ・データが格納され、該ディスクリプタ・
データに連続するように転送データが格納される。そし
て、一回目の転送サイクルについてのみCPUからの起
動で格納されているディスクリプタ・データと転送デー
タが転送される。
【0026】ディスクリプタ・データが格納されている
番地は予め決まっているので、DMACは転送されるデ
ータの中からディスクリプタ・データを選別してストア
することができる。該ディスクリプタ・データは次の転
送における転送データの番地や転送すべきデータ量を示
すものである。これが先に転送されてDMACにストア
され、転送データの最終番地に到達した時に次の転送の
制御に使われるので、該ディスクリプタ・データを転送
データが最終番地に到達するまで、即ちDMA転送が終
了するまでストアするストック・レジスタと、該ストッ
ク・レジスタにストアされていたディスクリプタ・デー
タを移し変えるディスクリプタ・レジスタとがDMAC
に必要になる。
【0027】そして、二回目の転送サイクルからは、デ
ィスクリプタ・レジスタに移し変えられたディスクリプ
タ・データを使ってDMACの制御の下にデータ転送が
行なわれる。
【0028】従って、一回の転送サイクルの後に再度ア
ドレスを指定するためにアクセス・サイクルを一旦終了
する必要がなくなり、他からのバス開放要求の影響を受
け難くなるので、データ転送の効率を向上することがで
きるようになる。
【0029】図3は、本発明の第一の実施の形態のタイ
ムチャートである。この図は、ディスクリプタ・データ
が4ステータス、転送データが4ステータスの転送サイ
クルと、ディスクリプタ・データが4ステータス、転送
データが2ステータスの転送サイクルの2サイクルを図
示している。
【0030】図3において、フレームはデータ転送を実
行する期間を指定する信号で、フレームが“L”である
期間プラス1ステートがデータ転送を実行する期間であ
る。転送されるデータは、最初の転送サイクルだけはC
PUからの起動で転送が開始されるので、最初にCPU
が主メモリにアクセスする先頭番地を指定する。これが
「データ」の先頭の“アドレス”である。
【0031】アクセスすべき先頭番地が指示された後、
主メモリに格納されているディスクリプタ・データと転
送データとが読み出される。この内、ディスクリプタ・
データが格納されている番地は予め判っているので、D
MACはディスクリプタ・データ選択信号を出してディ
スクリプタ・データを取り込む。
【0032】ここで、本発明の第一の実施の形態の場合
にはディスクリプタ・データが先にDMACに取り込ま
れてその後に転送データが転送されるので、ディスクリ
プタ・データを一旦ストック・レジスタに格納してお
き、転送データの最終番地に達した時にディスクリプタ
・レジスタに移し変えて“アドレス”として次のデータ
転送の制御を行なう。
【0033】尚、図3における「IRDY」はイニシエ
ータ・レディ信号で、DMAC又は転送先I/O又はロ
ーカル・メモリがレディである時に出す信号、「TRD
Y」はPCI−ホスト・ブリッジが出すターゲット・レ
ディ信号で、転送元のターゲットがレディであることを
示す信号、「DEVSEL」はPCI−ホスト・ブリッ
ジが出すデバイス・セレクト信号で、PCI−ホスト・
ブリッジが自分宛てのアドレスを認知したことを示す信
号である。
【0034】図4は、本発明の第一の実施の形態のフロ
ーチャートである。まずCPUが初期設定を行ない、次
いで、1回目の転送ブロックのディスクリプタ・データ
をDMACに設定する。一方、DMACはCPUから設
定されたディスクリプタ・データをディスクリプタ・レ
ジスタにストアする。
【0035】次いでCPUは転送先頭番地にディスクリ
プタ・データを書き込み、該ディスクリプタ・データが
書きこまれた番地に連続した番地に転送データを書き込
んだ後、DMACにDMA動作の起動をかける。
【0036】CPUから起動をかけられたDMACはD
MA転送を開始する。この場合にはディスクリプタ・デ
ータが下位番地に格納されて先に転送されるので、DM
ACはディスクリプタ・データをストック・レジスタに
ストアし、続いて転送されてくる転送データをターゲッ
トに転送する。
【0037】それと並行してCPU側では次の転送ブロ
ックの先頭番地からディスクリプタ・データを書き込
み、該ディスクリプタ・データが書きこまれた番地に連
続した番地に転送データを書き込んでゆく。
【0038】一方、DMACではターゲットへのデータ
転送が終了したらストック・レジスタにストアしておい
たディスクリプタ・データをディスクリプタ・レジスタ
に移し、これを使って次のDMA転送を自律的に開始
し、主メモリに書きこまれているディスクリプタ・デー
タ及び転送データの転送を開始する。
【0039】以降は上記動作を繰り返して行なう。尚、
1番目の転送サイクルと2番目の転送サイクルとの間に
は、正確にはアドレス処理のための時間が入るが、図4
においてはそれを図示することを省略している。これ
は、以降のタイムチャートにおいても同様である。
【0040】図5は、本発明の第二の実施の形態の機能
構成図である。図5において、1はCPU、2は主メモ
リ、3はホスト・バス、4はPCI−ホスト・ブリッ
ジ、5とPCIバス、6はPCIC、7はローカル・バ
ス、8aはDMAC、9はI/O、10はローカル・メ
モリである。
【0041】ここで、図5においてはDMACにはディ
スクリプタ・データを一旦ストアするストック・レジス
タは不要で、ディスクリプタ・データをストアするディ
スクリプタ・レジスタ81が設けられており、又、主メ
モリにおいてはディスクリプタ・データと転送データと
が連続した番地に格納されるようにしている。
【0042】図6は、本発明の第二の実施の形態におけ
るメモリ・マップで、主メモリへのディスクリプタ・デ
ータと転送データとの格納を仕方を示している。尚、図
6においては、転送サイクルの内2サイクルを示してい
る。
【0043】各サイクル共、主メモリの上位番地にディ
スクリプタ・データが格納され、該ディスクリプタ・デ
ータに連続するように転送データが格納される。そし
て、一回目の転送サイクルについてのみCPUからの起
動で格納されているディスクリプタ・データと転送デー
タが転送される。
【0044】ディスクリプタ・データが格納されている
番地は予め決まっているので、DMACは転送されるデ
ータの中からディスクリプタ・データを選別してストア
することができる。次の転送における転送データの番地
や転送すべきデータ量を示すディスクリプタ・データが
後に転送されてDMACにストアされ、次の転送の制御
に使われるので、該ディスクリプタ・データは直接ディ
スクリプタ・レジスタにストアすればよい。従って、デ
ィスクリプタ・データをストアするディスクリプタ・レ
ジスタのみがDMACに必要になる。
【0045】そして、二回目の転送サイクルからは、デ
ィスクリプタ・レジスタにストアされたディスクリプタ
・データを使ってDMACの制御の下にデータ転送が行
なわれる。
【0046】従って、一回の転送サイクルの後に再度ア
ドレスを指定するためにアクセス・サイクルを一旦終了
する必要がなくなり、他からのバス開放要求の影響を受
け難くなるので、データ転送の効率を向上することがで
きるようになる。
【0047】図7は、本発明の第二の実施の形態のタイ
ムチャートである。この図も、ディスクリプタ・データ
が4ステータス、転送データが4ステータスの転送サイ
クルと、ディスクリプタ・データが4ステータス、転送
データが2ステータスの転送サイクルの2サイクルを図
示している。
【0048】先に説明した如く“アドレス”によってア
クセスすべき先頭番地が指示された後、主メモリに格納
されているディスクリプタ・データと転送データとが読
み出される。この内、ディスクリプタ・データが格納さ
れている番地は予め判っているので、DMACはディス
クリプタ・データ選択信号を出してディスクリプタ・デ
ータを取り込む。
【0049】ここで、本発明の第二の実施の形態の場合
には転送データの後にディスクリプタ・データがDMA
Cに取り込まれるので、ディスクリプタ・データを直接
ディスクリプタ・レジスタにストアして次のデータ転送
の制御を行なえばよい。
【0050】図8は、本発明の第二の実施の形態のフロ
ーチャートである。まずCPUが初期設定を行ない、次
いで、1回目の転送ブロックのディスクリプタ・データ
をDMACに設定する。一方、DMACはCPUから設
定されたディスクリプタ・データをディスクリプタ・レ
ジスタにストアする。これは、本発明の第一の実施の形
態と同じである。
【0051】次いでCPUは主メモリに転送データを書
き込み、該転送データが格納されてきる番地と連続する
番地の上位番地にディスクリプタ・データを書き込んだ
後にDMACにDMA動作の起動をかける。
【0052】CPUから起動をかけられたDMACはD
MA転送を開始する。この場合には先に転送データが転
送先のI/O又はローカル・メモリに転送され、その後
にディスクリプタ・データがDMACに取り込まれる。
既に転送データの転送は終了しているので取り込んだデ
ィスクリプタ・データを直接ディスクリプタ・レジスタ
にストアする。
【0053】それと並行してCPU側では次の転送ブロ
ックの先頭番地から転送データを書き込み、該転送デー
タが書きこまれた番地に連続した番地にディスクリプタ
・データを書き込んでゆく。
【0054】一方、DMACではディスクリプタ・レジ
スタにストアされたディスクリプタ・データを使って次
のDMA転送を自律的に開始し、主メモリに書きこまれ
ているディスクリプタ・データ及び転送データの転送を
開始する。
【0055】以降は上記動作を繰り返して行なうことは
本発明の第一の実施の形態と同じである。図9は、本発
明の第三の実施の形態の機能構成図である。
【0056】図9において、1はCPU、2は主メモ
リ、3はホスト・バス、4はPCI−ホスト・ブリッ
ジ、5とPCIバス、6aはPCIC、7はローカル・
バス、8はDMAC、9はI/O、10はローカル・メ
モリである。
【0057】ここで、図9においてはDMACにはディ
スクリプタ・データを一旦ストアするストック・レジス
タ82及び該ストック・レジスタにストアしたディスク
リプタ・データを移し変えるディスクリプタ・レジスタ
81が設けられており、PCICにはディスクリプタ・
データを選択するセレクト・レジスタ61が設けられて
おり、又、主メモリにおいてはディスクリプタ・データ
と転送データとが連続した番地に格納されるようにして
いる。
【0058】尚、セレクト・レジスタにはCPUからデ
ィスクリプタ・データが格納されている可能性のある番
地を指示しておき、転送がその番地になった時にセレク
ト・レジスタがディスクリプタ・データ選択信号を出し
てDMACに供給する。
【0059】図10は、本発明の第三の実施の形態にお
けるメモリ・マップで、主メモリへのディスクリプタ・
データと転送データとの格納を仕方を示している。尚、
図10においても、転送サイクルの内2サイクルを示し
ている。
【0060】各サイクル共、主メモリの任意の番地にデ
ィスクリプタ・データが格納され、該ディスクリプタ・
データに連続するように転送データが格納される。そし
て、一回目の転送サイクルについてのみCPUからの起
動で格納されているディスクリプタ・データと転送デー
タが転送される。
【0061】ディスクリプタ・データが格納されている
番地はCPUからPCICに指定されているので、PC
ICは転送されるデータの中からディスクリプタ・デー
タを選別する信号を生成することができる。この信号が
PCICからDMACに供給されるので、DMACはデ
ィスクリプタ・データを認識して取り出すことができ
る。今の場合、転送データの転送が終了するより前にデ
ィスクリプタ・データが転送されてDMACにストアさ
れる可能性があるので、該ディスクリプタ・データをD
MA転送が終了するまでストアするストック・レジスタ
と、該ストック・レジスタにストアされていたディスク
リプタ・データを移し変えるディスクリプタ・レジスタ
とがDMACに必要になる。
【0062】そして、二回目の転送サイクルからは、デ
ィスクリプタ・レジスタに移し変えられたディスクリプ
タ・データを使ってDMACの制御の下にデータ転送が
行なわれる。
【0063】従って、一回の転送サイクルの後に再度ア
ドレスを指定するためにアクセス・サイクルを一旦終了
する必要がなくなり、他からのバス開放要求の影響を受
け難くなるので、データ転送の効率を向上することがで
きるようになる。
【0064】図11は、本発明の第三の実施の形態のタ
イムチャートである。この図も、ディスクリプタ・デー
タが4ステータス、転送データが4ステータスの転送サ
イクルと、ディスクリプタ・データが4ステータス、転
送データが4ステータスの転送サイクルの2サイクルを
図示している。
【0065】先に説明した如く“アドレス”によってア
クセスすべき先頭番地が指示された後、主メモリに格納
されているディスクリプタ・データと転送データとが読
み出される。この内、ディスクリプタ・データが格納さ
れている番地はPCICには予め判っているので、PC
ICはディスクリプタ・データ選択信号を出してDMA
Cに供給する。該ディスクリプタ・データ選択信号を受
けたDMACはそれに従ってディスクリプタ・データを
取り込む。
【0066】ここで、本発明の第三の実施の形態の場合
にはディスクリプタ・データがDMACに取り込また後
にもデータの転送が行なわれる可能性があるので、DM
ACにおいては取り込んだディスクリプタ・データを一
旦ストック・レジスタにストアし、データ転送が終了す
る時点でそれをディスクリプタ・レジスタに移し変えて
次のデータ転送の制御を行なう。
【0067】図12は、本発明の第三の実施の形態のフ
ローチャートである。まずCPUが初期設定を行ない、
次いで、1回目の転送ブロックのディスクリプタ・デー
タをDMACに設定する。一方、DMACはCPUから
設定されたディスクリプタ・データをディスクリプタ・
レジスタにストアする。又、CPUは次にディスクリプ
タ・データを書き込む番地をPCICのセレクト・レジ
スタに書き込む。
【0068】次いでCPUは主メモリの任意の番地にデ
ィスクリプタ・データを書き込み、該ディスクリプタ・
データが格納されている番地と連続する番地に転送デー
タを書き込んだ後にDMACにDMA動作の起動をかけ
る。
【0069】CPUから起動をかけられたDMACはD
MA転送を開始する。この場合には先に転送データが転
送先のI/O又はローカル・メモリに転送され、その転
送中にディスクリプタ・データがDMACに取り込まれ
るので、該ディスクリプタ・データをストック・レジス
タに一旦ストアする。その後、残っているデータをター
ゲットに転送を続ける。 それと並行してCPUは主メ
モリの任意の番地にディスクリプタ・データを書き込
み、該ディスクリプタ・データが格納されている番地と
連続する番地に転送データを書き込んでゆく。
【0070】一方、DMACではターゲットへのデータ
転送が終了する時にストック・レジスタにストアされて
いるディスクリプタ・データをディスクリプタ・レジス
タに移し変えて次のDMA転送を自律的に開始し、主メ
モリに書きこまれているディスクリプタ・データ及び転
送データの転送を開始する。
【0071】以降は上記動作を繰り返して行なうことは
先に説明した実施の形態と同じである。そして、二回目
の転送サイクルからは、ディスクリプタ・レジスタにス
トアされたディスクリプタ・データを使ってDMACの
制御の下にデータ転送が行なわれる。
【0072】従って、一回の転送サイクルの後に再度ア
ドレスを指定するためにアクセス・サイクルを一旦終了
する必要がなくなり、他からのバス開放要求の影響を受
け難くなるので、データ転送の効率を向上することがで
きるようになる。
【0073】尚、図9の構成ではセレクト・レジスタを
PCICに設ける例を示しているが、セレクト・レジス
タをDMACに設けても全く同じ機能を実現することが
可能である。
【0074】図13は、本発明の第四の実施の形態の機
能構成図である。図13において、1はCPU、2は主
メモリ、3はホスト・バス、4はPCI−ホスト・ブリ
ッジ、5とPCIバス、6bはPCIC、7はローカル
・バス、8はDMAC、9はI/O、10はローカル・
メモリである。
【0075】ここで、図13においてはDMACにはデ
ィスクリプタ・データを一旦ストアするストック・レジ
スタ82及び該ストック・レジスタにストアしたディス
クリプタ・データを移し変えるディスクリプタ・レジス
タ81が設けられており、PCICにはディスクリプタ
・データのパターンを検出するパターン検出部62が設
けられており、又、主メモリにおいてはディスクリプタ
・データと転送データとが連続した番地に格納されるよ
うにしている。
【0076】尚、パターン検出部はディスクリプタ・デ
ータに連続した下位番地に格納されているパターン・デ
ータを検出するとディスクリプタ・データの番地をDM
ACに供給し、これに従ってDMACはディスクリプタ
・データを取り出してストック・レジスタにストアす
る。
【0077】図14は、本発明の第四の実施の形態にお
けるメモリ・マップで、主メモリへのディスクリプタ・
データと転送データとの格納を仕方を示している。尚、
図14においても、転送サイクルの内2サイクルを示し
ている。
【0078】各サイクル共、主メモリの任意の番地にデ
ィスクリプタ・データが格納され、該ディスクリプタ・
データに連続する下位番地にパターン・データが格納さ
れ、更に該パターン・データ及び該ディスクリプタ・デ
ータに連続するように転送データが格納される。そし
て、一回目の転送サイクルについてのみCPUからの起
動で格納されているディスクリプタ・データ、パターン
・データと転送データが転送される。
【0079】ディスクリプタ・データの先頭が格納され
ている番地に連続した下位番地にはパターン・データが
格納されており、PCICは転送されるデータの中から
該パターン・データを検出してディスクリプタ・データ
が格納されている番地を特定することができ、ディスク
リプタ・データ選択信号を生成することができる。この
信号がPCICからDMACに供給されるので、DMA
Cはディスクリプタ・データを認識して取り出すことが
できる。今の場合、転送データの転送が終了するより前
にディスクリプタ・データが転送されてDMACにスト
アされる可能性があるので、該ディスクリプタ・データ
をDMA転送が完了するまでストアするストック・レジ
スタと、該ストック・レジスタにストアされていたディ
スクリプタ・データを移し変えるディスクリプタ・レジ
スタとがDMACに必要になる。
【0080】そして、二回目の転送サイクルからは、デ
ィスクリプタ・レジスタに移し変えられたディスクリプ
タ・データを使ってDMACの制御の下にデータ転送が
行なわれる。
【0081】従って、一回の転送サイクルの後に再度ア
ドレスを指定するためにアクセス・サイクルを一旦終了
する必要がなくなり、他からのバス開放要求の影響を受
け難くなるので、データ転送の効率を向上することがで
きるようになる。
【0082】図15は、本発明の第四の実施の形態のタ
イムチャートである。この図も、ディスクリプタ・デー
タが4ステータス、転送データが4ステータスの転送サ
イクルと、ディスクリプタ・データが4ステータス、転
送データが2ステータスの転送サイクルの2サイクルを
図示している。
【0083】先に説明した如く“アドレス”によってア
クセスすべき先頭番地が指示された後、主メモリに格納
されているディスクリプタ・データ、パターン・データ
と転送データとが読み出される。この内、ディスクリプ
タ・データが格納されている先頭番地に連続した下位番
地に格納されているパターン・データをPCICが検出
し、ディスクリプタ・データ選択信号を出してDMAC
に供給する。該ディスクリプタ・データ選択信号を受け
たDMACはそれに従ってディスクリプタ・データを取
り込む。
【0084】ここで、本発明の第四の実施の形態の場合
にはディスクリプタ・データがDMACに取り込また後
にもデータの転送が行なわれる可能性があるので、DM
ACにおいては取り込んだディスクリプタ・データを一
旦ストック・レジスタにストアし、データ転送が終了す
る時点でそれをディスクリプタ・レジスタに移し変えて
次のデータ転送の制御を行なう。
【0085】図16は、本発明の第四の実施の形態のフ
ローチャートである。まずCPUが初期設定を行ない、
次いで、1回目の転送ブロックのディスクリプタ・デー
タをDMACに設定する。一方、DMACはCPUから
設定されたディスクリプタ・データをディスクリプタ・
レジスタにストアする。
【0086】次いでCPUは主メモリの任意の番地にデ
ィスクリプタ・データを書き込み、該ディスクリプタ・
データが格納されている先頭番地と連続する下位番地に
パターン・データを書き込み、該ディスクリプタ・デー
タとパターンデータが格納されている番地と連続する番
地に転送データを書き込んだ後にDMACにDMA動作
の起動をかける。
【0087】CPUから起動をかけられたDMACはD
MA転送を開始する。この場合には先に転送データが転
送先のI/O又はローカル・メモリに転送され、その転
送中にディスクリプタ・データがDMACに取り込まれ
るので、該ディスクリプタ・データをストック・レジス
タに一旦ストアする。その後、残っている転送データを
ターゲットに転送を続ける。
【0088】それと並行してCPUは主メモリの任意の
番地にディスクリプタ・データを書き込み、該ディスク
リプタ・データが格納されている先頭番地と連続する下
位番地にパターン・データを書き込み、該ディスクリプ
タ・データとパターンデータが格納されている番地と連
続する番地に転送データを書き込んでゆく。
【0089】一方、DMACではターゲットへのデータ
転送が終了する時にストック・レジスタにストアされて
いるディスクリプタ・データをディスクリプタ・レジス
タに移し変えて次のDMA転送を自律的に開始し、主メ
モリに書きこまれているディスクリプタ・データ及び転
送データの転送を開始する。
【0090】以降は上記動作を繰り返して行なうことは
先に説明した実施の形態と同じである。そして、二回目
の転送サイクルからは、ディスクリプタ・レジスタにス
トアされたディスクリプタ・データを使ってDMACの
制御の下にデータ転送が行なわれる。
【0091】従って、一回の転送サイクルの後に再度ア
ドレスを指定するためにアクセス・サイクルを一旦終了
する必要がなくなり、他からのバス開放要求の影響を受
け難くなるので、データ転送の効率を向上することがで
きるようになる。
【0092】尚、図13の構成においてはパターン検出
部をPCICに設ける例を示しているが、パターン検出
部はDMACに設けても全く同じ機能を実現することが
可能である。
【0093】又、DMA転送方式には、転送データをD
MACの転送データ・レジスタに一旦取り込んでから転
送先であるローカルメモリに転送するデュアル・モード
と、転送データを主メモリから転送先であるローカル・
メモリに直接転送するシングル・モードとがあるが、本
発明の技術はこれらのいずれにも適用できる技術であ
る。
【0094】
【発明の効果】以上説明した如く、本発明により、PC
Iバスを備えるシステムにおけるDMA転送方式におい
て、ディスクリプタ・チェインを組んでCPUの処理負
荷を軽減すると共に、PCIバスの解放、占有の切替頻
度を縮減することができるDMA転送方式が実現され、
PCIバスを備えるシステムにおけるデータ転送の効率
を向上することができる。しかも、アクセス・サイクル
の度にCPUからアドレスを指示しなおす必要がなくな
るために、CPUの処理負荷を軽減することが可能であ
る。
【図面の簡単な説明】
【図1】 本発明の第一の実施の形態の機能構成図。
【図2】 本発明の第一の実施の形態におけるメモリ・
マップ。
【図3】 本発明の第一の実施の形態のタイムチャー
ト。
【図4】 本発明の第一の実施の形態のフローチャー
ト。
【図5】 本発明の第二の実施の形態の機能構成図。
【図6】 本発明の第二の実施の形態におけるメモリ・
マップ。
【図7】 本発明の第二の実施の形態のタイムチャー
ト。
【図8】 本発明の第二の実施の形態のフローチャー
ト。
【図9】 本発明の第三の実施の形態の機能構成図。
【図10】 本発明の第三の実施の形態におけるメモリ
・マップ。
【図11】 本発明の第三の実施の形態のタイムチャー
ト。
【図12】 本発明の第三の実施の形態のフローチャー
ト。
【図13】 本発明の第四の実施の形態の機能構成図。
【図14】 本発明の第四の実施の形態におけるメモリ
・マップ。
【図15】 本発明の第四の実施の形態のタイムチャー
ト。
【図16】 本発明の第四の実施の形態のフローチャー
ト。
【図17】 従来のDMA転送方式の機能構成図。
【図18】 従来のDMA転送方式のタイムチャート。
【符号の説明】
1 CPU 2 主メモリ 3 ホスト・バス 4 PCI−ホスト・ブリッジ 5 PCIバス 6 PCIC 61 セレクト・レジスタ 62 パターン検出部 7 ローカル・バス 8 DMAC 81 ディスクリプタ・レジスタ 82 ストック・レジスタ 9 I/O 10 ローカル・メモリ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 ペリフェラル・コンポーネント・インタ
    ーコネクト・バス(Peripheral Component Interconnec
    t Bus ;PCIバス)を備えるシステムにおける:PC
    Iバスを経由するダイレクト・メモリ・アクセス転送方
    式(DMA転送方式)において、 転送されるディスクリプタ・データを一旦格納するスト
    ック・レジスタと、該ストック・レジスタにストアされ
    たディスクリプタ・データを移し変えるディスクリプタ
    ・レジスタとを備え、 転送データの先頭番地に連続した下位番地にディスクリ
    プタ・データを書き込んでCPUからの起動によってD
    MA転送を開始し、 転送された該ディスクリプタ・データを該ストック・レ
    ジスタに一旦ストアし、 DMA転送の終了時に該ストック・レジスタにストアさ
    れた該ディスクリプタ・データを該ディスクリプタ・レ
    ジスタに移し変え、 以降は該ディスクリプタ・レジスタに移し変えられたデ
    ィスクリプタ・データに従って上記の転送を行なうこと
    を特徴とするDMA転送方式。
  2. 【請求項2】 PCIバスを備えるシステムにおける、
    PCIバスを経由するDMA転送方式において、 転送されるディスクリプタ・データを格納するディスク
    リプタ・レジスタを備え、 転送データの最終番地に連続した上位番地にディスクリ
    プタ・データを書き込んでCPUからの起動によってD
    MA転送を開始し、 転送された該ディスクリプタ・データを該ディスクリプ
    タ・レジスタにストアし、 以降は該ディスクリプタ・レジスタにストアされたディ
    スクリプタ・データに従って上記の転送を行なうことを
    特徴とするDMA転送方式。
  3. 【請求項3】 PCIバスを備えるシステムにおける、
    PCIバスを経由するDMA転送方式において、 転送されるディスクリプタ・データを一旦格納するスト
    ック・レジスタと、該ストック・レジスタにストアされ
    たディスクリプタ・データを移し変えるディスクリプタ
    ・レジスタと、 ディスクリプタ・データが格納される番地を格納するセ
    レクト・レジスタとを備え、 任意の番地にディスクリプタ・データを書き込み、該デ
    ィスクリプタ・データに連続した番地に転送データを書
    き込んでCPUからの起動によってDMA転送を開始
    し、 該セレクト・レジスタに格納されている番地を参照し
    て、転送された該ディスクリプタ・データを該ストック
    ・レジスタに一旦ストアし、 DMA転送の終了時に該ストック・レジスタにストアさ
    れた該ディスクリプタ・データを該ディスクリプタ・レ
    ジスタに移し変え、 以降は該ディスクリプタ・レジスタにストアされたディ
    スクリプタ・データに従って上記の転送を行なうことを
    特徴とするDMA転送方式。
  4. 【請求項4】 PCIバスを備えるシステムにおける、
    PCIバスを経由するDMA転送方式において、 転送されるディスクリプタ・データを一旦格納するスト
    ック・レジスタと、該ストック・レジスタにストアされ
    たディスクリプタ・データを移し変えるディスクリプタ
    ・レジスタと、 ディスクリプタ・データが格納されている番地を検出す
    るパターン・検出部とを備え、 任意の番地にディスクリプタ・データを書き込み、該デ
    ィスクリプタ・データに連続した下位番地にパターン・
    データを書き込み、該ディスクリプタ・データ及び該パ
    ターン・データに連続した番地に転送データを書き込ん
    でCPUからの起動によってDMA転送を開始し、 該パターン検出部が検出する該パターン・データを参照
    して、転送された該ディスクリプタ・データを該ストッ
    ク・レジスタに一旦ストアし、 転送データが最終番地になった時に該ストック・レジス
    タにストアされた該ディスクリプタ・データを該ディス
    クリプタ・レジスタに移し変え、 以降は該ディスクリプタ・レジスタにストアされたディ
    スクリプタ・データに従って上記の転送を行なうことを
    特徴とするDMA転送方式。
JP14029496A 1996-06-03 1996-06-03 ダイレクト・メモリ・アクセス転送方式 Withdrawn JPH09319698A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14029496A JPH09319698A (ja) 1996-06-03 1996-06-03 ダイレクト・メモリ・アクセス転送方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14029496A JPH09319698A (ja) 1996-06-03 1996-06-03 ダイレクト・メモリ・アクセス転送方式

Publications (1)

Publication Number Publication Date
JPH09319698A true JPH09319698A (ja) 1997-12-12

Family

ID=15265450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14029496A Withdrawn JPH09319698A (ja) 1996-06-03 1996-06-03 ダイレクト・メモリ・アクセス転送方式

Country Status (1)

Country Link
JP (1) JPH09319698A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456390B1 (en) 1998-11-30 2002-09-24 Fuji Xerox Co., Ltd. Image processing device, image processing method and recording medium
US7594056B2 (en) 2005-08-26 2009-09-22 Canon Kabushiki Kaisha Bridge and data processing method therefor
US8589601B2 (en) 2009-01-30 2013-11-19 Fujitsu Limited I/O controller and descriptor transfer method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456390B1 (en) 1998-11-30 2002-09-24 Fuji Xerox Co., Ltd. Image processing device, image processing method and recording medium
US7594056B2 (en) 2005-08-26 2009-09-22 Canon Kabushiki Kaisha Bridge and data processing method therefor
US8589601B2 (en) 2009-01-30 2013-11-19 Fujitsu Limited I/O controller and descriptor transfer method

Similar Documents

Publication Publication Date Title
US20020019899A1 (en) Method of bus priority arbitration
JP2000047974A (ja) バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム
JPH09319698A (ja) ダイレクト・メモリ・アクセス転送方式
JP4642531B2 (ja) データ要求のアービトレーション
JPH11232213A (ja) 入出力装置におけるデータ転送方式
JPH10307788A (ja) バスブリッジ
JPH05282242A (ja) バス制御方式
JP3264316B2 (ja) ダイレクトメモリアクセス制御装置
JPH05225114A (ja) Io制御装置
JP2000347989A (ja) データ転送方式
KR100268178B1 (ko) 캐쉬 기능을 가지는 피시아이 장치
JP3523384B2 (ja) データ転送方法およびコンピュータシステム
JP2992406B2 (ja) 情報処理装置
JPH0418639A (ja) プログラム起動方式
KR100281737B1 (ko) 파이프라인 방식의 로컬버스인터페이스 제어용 상태머신
JPH02307149A (ja) 直接メモリアクセス制御方式
JPS59189433A (ja) ダイレクトメモリアクセスによるデ−タ消去方式
JP2002334053A (ja) データ転送制御装置
JPH09259074A (ja) メモリーアクセス回路
JP2004070711A (ja) 外部バスのバス幅設定方法
JPH01121962A (ja) ダイレクトメモリアクセス拡張制御回路
JP2002132706A (ja) Dma転送装置
JPH10240677A (ja) Dma装置
JPS6140658A (ja) デ−タ処理装置
JPH06332851A (ja) データ転送方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030805