JP2839545B2 - データアクセス方式 - Google Patents

データアクセス方式

Info

Publication number
JP2839545B2
JP2839545B2 JP10872189A JP10872189A JP2839545B2 JP 2839545 B2 JP2839545 B2 JP 2839545B2 JP 10872189 A JP10872189 A JP 10872189A JP 10872189 A JP10872189 A JP 10872189A JP 2839545 B2 JP2839545 B2 JP 2839545B2
Authority
JP
Japan
Prior art keywords
data
length
value
buffer
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP10872189A
Other languages
English (en)
Other versions
JPH02287661A (ja
Inventor
秀一 阿部
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10872189A priority Critical patent/JP2839545B2/ja
Publication of JPH02287661A publication Critical patent/JPH02287661A/ja
Application granted granted Critical
Publication of JP2839545B2 publication Critical patent/JP2839545B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明はデータとデータチェーンのエントリを格納す
るバッファを有する回路に於ける、メモリとI/Oポート
との間のデータチェーンによるDMA転送時のI/O側のデー
タアクセス方式に関する。
(従来の技術) 従来、データとデータチェーンのエントリを格納する
バッファを有する回路に於いて、メモリとI/Oポートと
の間のDMA転送を、複数個のエントリで構成されるデー
タチェーンで行なう場合、各エントリのレングスとアド
レスを各カウンタにセットすることにより転送を制御し
ている。即ち、メモリリードのときは、メモリ側のカウ
ンタにより、メモリからデータを受信して、その後、随
時、I/O側からリードし、又、メモリライトのときは、I
/O側のカウンタ分だけデータバッファにデータをウイト
し、メモリ側のカウンタ制御によって、そのデータをメ
モリの各アドレスに転送する。各レングスカウンタは、
データアクセス毎にアクセスバイト数分デクリメントさ
れ、そのレングスカウンタの値が「0」になると、次の
データチェーンのエントリのレングスをロードする。
このため、例えばI/O側が2バイト幅でアクセスして
いて、I/O側のレングスカウンタの値が「1」となる場
合には、次のアクセスを1バイト幅にしてアクセスする
か、又は、2バイト幅アクセスでも1バイトしかデータ
をアクセスしないように制御して、レングスカウンタの
値を「0」にし、次のデータチェーンをロードするよう
にしている。
このように、データ転送を効率良く行なうためのDMA
転送系に於いて、データチェーンのエントリの切換時
に、その残りのバイト数によってI/O側のバス幅を変え
る従来の制御手段は、制御のステップが増え、転送効率
の低下を招くという問題がある。また、2バイト幅であ
るのにも拘らず、1バイトしかデータアクセスしない手
段も制御の回路が増え、しかも次のデータチェーンのエ
ントリのデータを連続してアクセスできないという点で
無駄が多い。
(発明が解決しようとする課題) 上述したように従来では、メモリとI/Oポートとの間
の複数個のエントリで構成されるデータチェーンによる
DMA転送系に於いて、I/O側が1バイト幅でアクセスして
いて、I/O側のレングスカウンタ値が残り「1」となる
場合に、I/O側のバス幅に変える手段は、制御のステッ
プが増えて効率が悪いという欠点があり、又、2バイト
幅のアクセスに対して1バイトしかアクセスしない手段
は無駄が多いという欠点があった。
本発明は上記実情に鑑みなされたもので、データとデ
ータチェーンのエントリを格納するバッファを有する回
路に於いて、メモリとI/OポートとのDMA転送を複数個の
エントリで構成されるデータチェーンで行ない、I/O側
をnバイト幅でアクセスしている場合に、データチェー
ンのエントリ間をまたがったnバイト幅のアクセス可能
として、データ転送効率を高めることのできるデータア
クセス方式を提供することを目的とする。
[発明の構成] (課題を解決するための手段及び作用) 本発明は、データとデータチェーンのエントリを格納
するバッファを有する回路に於いて、データチェーンの
エントリよりレングスをセットするI/O側のレングスカ
ウンタの残余値が「1」で、かつI/O側のバス幅が例え
ば2バイトであるとき、その状態を検出する手段と、こ
の検出手段によって、次のデータチェーンのエントリに
よりセットされるレングスが「−1」されるセレクタを
設けて、データチェーンのエントリ間にまたがる2バイ
トのデータを1回のアクセスでデータ転送可能とする構
成としたもので、これにより制御負担を軽減し、I/O側
のアクセスの無駄を省いて、データ転送効率を大幅に向
上できる。
(実施例) 以下図面を参照して本発明の一実施例を説明する。具
体的には、データバッファとI/Oポートの間のデータ転
送のデータ幅が2バイトの場合について説明する。
第1図は本発明の一実施例を示すブロック図である。
第1図に於いて、1はメモリアクセスコントローラで
あり、データチェーンの各エントリからセットされるレ
ングスとアドレスにより、メモリアドレススタート後、
データバッファのデータバイト数を監視しながら、メモ
リへのアクセスを実行する。2はレングスセレクタであ
り、I/Oレングスカウンタ3にロードされるデータチェ
ーンのエントリのレングスを−1するか否かを選択す
る。3はI/Oレングスカウンタ(LC)であり、I/Oポート
側のデータアクセス可能なバイト数を示し、アクセス毎
にアクセスバイト数分デクリメントされる。本実施例で
は、このI/Oレングスカウンタ3は、2バイト分デクリ
メントとする。4はバイトオーバーアクセス検出器(BO
AD)であり、I/Oレングスカウンタ3の値が「1」か
「2」のとき、I/Oポート側からデータアクセスがある
とそのカウンタ値に従う選択制御信号(イコール信号
6、又はディファレント信号7)をレングスセレクタ2
に出力する。5はI/Oアクセスコントローラであり、I/O
ポート側からのアクセス要求信号(REQ)に対して、I/O
レンジカウンタ3の値をもとにデータバッファ9のデー
タバイト数を監視し、それによって、I/Oポート側のデ
ータアクセスを許可する。6はバイトオーバーアクセス
検出器4より出力されるイコール信号であり、I/Oレン
グスカウンタ3の値が「2」のときにI/Oポート側から
データアクセスがあると出力される。7は同じくバイト
オーバーアクセス検出器4より出力されるディファレン
ト信号であり、I/Oレングスカウンタの値が「1」のと
きにI/Oポート側からデータアクセスがあると出力され
る。8はデータチェーンバッファであり、データチェー
ンによるDMA転送を行なうためにデータチェーンの各エ
ントリをセットする。9はデータバッファであり、メモ
リリード時にはメモリからのデータを、又、メモリライ
ト時にはI/Oポート側からライトされるデータをそれぞ
れセットする。
ここで上記第1図に示すデータ転送回路の動作を説明
する。
データチェーンバッファ8には、レングスとアドレス
を示す複数個のデータチェーンのエントリ(DC ENTRY♯
1,♯2,…)がセットされている。このデータチェーンバ
ッファ8内のレングス値は、データ転送に際し、メモリ
アクセスコントローラ1、レングスセレクタ2等を介し
て、I/Oレングスカンタ3にセットされる。
メモリリードの場合は、メモリアクセスコントローラ
1の制御の下に、データチェーンバッファ8に格納され
た各エントリのレングスとアドレスに従い、メモリがリ
ードアクセスされて、そのメモリリードデータが順次デ
ータバッファ9の連続した記憶装置に格納される。
その後、I/Oアクセスコントローラ5は、I/Oレングス
カウンタ3の値が「0」でないことと、データバッファ
9にデータが存在することを確認し、I/Oポート側から
のデータアクセスに対してアクセスを許可する。それに
よって、I/Oポート側はデータバッファ9から2バイト
毎のデータの読み出しを開始する。このデータの読み出
しの都度、I/Oレングスカウンタ3の保持する数がデー
タの読み出しバイト数分、即ち2バイト分デクリメント
されてゆく。ここで、I/Oレングスカウンタ3の値が
「1」か「2」のときにデータバッファ9からデータの
読み出しがあるとき、次のデータチェーンのエントリの
レングスがI/Oレングスカウンタにロードされる。I/Oレ
ングスカウンタ3の値が残り「2」となったときにI/O
ポート側よりデータバッファ9からのデータの読み出し
があると、バイトオーバーアクセス検出器4よりイコー
ル信号が出力され、次のエントリのレングスはそのまま
の値で、レングスセレクタ2を介し、I/Oレングスカウ
ンタ3にセットされる。又、I/Oレングスカウンタ3の
値が残り「1」となったときに、I/Oポート側よりデー
タバッファ9からのデータ読み出しがあると、バイトオ
ーバーアクセス検出器4よりディファレント信号7が出
力され、次のエントリのレングス値は、セレクト2によ
り「−1」されて、I/Oレングスカウンタ3にセットさ
れる。
先に説明した通り、I/Oレングスカウンタ3の値が
「1」となっている場合に、I/Oポート側よりデータバ
ッファ9から読み出しされた2バイトのデータの構成
は、次のようになっている。即ち、その1バイトは現在
データバッファ9から読み出されている所定のレングス
のデータの最後の1バイトのデータであり、残りの1バ
イトは次にレングスカウンタ3にセットされるレングス
で指定されるデータの先頭の1バイトである。これは、
先に説明したようにデータバッファ9にはデータチェー
ンバッファ8に格納された各エントリで指定されたデー
タが連続した記憶位置に記憶されていることから理解で
きる。
メモリライトの場合に於いても同様の動作が行なわれ
る。即ち、I/Oアクセスコントローラ5は、I/Oレングス
カウンタ3の値が「0」でないことと、データバッファ
9にデータをライトできる条件であることを確認して、
外部からのI/Oポートへのデータアクセスを許可し、そ
れによって、I/Oポート側はデータライトを行なう。こ
の際、I/Oレングスカウンタ3の値が「1」のときにデ
ータアクセスがあると、2バイトライトを行なった後
に、次のデータチェーンのエントリのレングスが「−
1」されてI/Oレングスカウンタ3にロードされる。こ
れによりI/Oポート側は、データチェーンのエントリ間
にまたがるデータを何等の操作を意識せずに続けてライ
トすることができる。一方、メモリアクセスコントロー
ラ1は、データチェーンバッファ8のエントリに従うレ
ングスとアドレスによりリードアクセスアドレスを生成
し、同アドレスに従いメモリをアクセス制御して、デー
タバッファ9にバッファされたデータをライトする。
これによって、複数個のエントリで構成されるデータ
チェーンによるDMA転送が効率良く行なわれる。
以上の実施例では、データバッファとI/Oポートとの
間でのデータ転送が2バイト幅の場合の説明をしたが、
これに限定されない。即ち、たとえば4バイト幅の転送
の場合には、I/Oレングスカウンタ3の値が4の値の場
合には、バイトオーバ検出器4は、イコール信号を出力
する。この場合は、レングスセレクタ2では次のエント
リのレングス値をそのままI/Oレングスカウンタ3に転
送する。一方、I/Oレングスカウンタ3の値が3の場合
には、バイトオーバ検出器4は、第1のディファレント
信号を出力し、レングスセレクタ2にて、次のエントリ
のレングス値からデータ転送幅とI/Oレングスカウンタ
3の値との差分となる値の1を減算(即ち、「−1」)
し、この減算したレングス値をI/Oレングスカウンタ3
に転送する。以下同様に、I/Oレングスカウンタ3の値
が2の場合には、バイトオーバ検出器4は、第2のディ
ファレント信号を出力し、レングスセレクタ2にて、次
のエントリのレングス値からデータ転送幅とI/Oレング
スカウンタ3の値との差分となる値の2を減算(即ち、
「−2」)し、この減算したレングス値をI/Oレングス
カウンタ3に転送する。更に、I/Oレングスカウンタ3
の値が1の場合には、バイトオーバ検出器4は、第3の
ディファレント信号を出力し、レングスセレクタ2に
て、次のエントリのレングス値からデータ転送幅とI/O
レングスカウンタ3の値との差分となる値の3を減算
(即ち、「−3」)し、この減算したレングス値をI/O
レングスカウンタ3に転送すればよい。
尚、本発明によるデータアクセス手段は、メモリとメ
モリを有するCPUとのデータチェーンによるDMA転送等に
広く適用できる。
[発明の効果] 以上詳記したように本発明によれば、メモリとI/Oポ
ートとの間でDMA制御によるデータ転送を複数個のエン
トリで構成されるデータチェーンに従い実行するデータ
転送系に於いて、データチェーンのエントリを格納する
データチェーンバッファと、転送対象データを一時記憶
するデータバッファと、上記データチェーンバッファに
貯えられたデータ転送対象となるエントリのレングス値
をセットし、データ転送に伴ってデクリメントされるレ
ングスカウンタと、このレングスカウンタの残余値がI/
O側のデータ転送単位よりも小さな値となったとき、I/O
ポート側からのデータアクセスがあると選択制御信号を
出力するバイトオーバーアクセス検出器と、この検出器
より得られる選択制御信号により上記レングスカウンタ
にロードされるデータを上記残余値だけ次のエントリの
レングス値に加算する手段とを有してなる構成としたこ
とにより、メモリI/OポートとのDMA転送を複数個のエン
トリで構成されるデータチェーンで行なう場合に、制御
の負担を低減することができ、かつ、I/Oのデータアク
セスの無駄を省いてデータ転送効率を高めることができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図である。 1……メモリアクセスコントローラ、2……レングスセ
レクタ、3……I/Oレングスカウンタ、4……バイトオ
ーバーアクセス検出器、5……I/Oアクセスコントロー
ラ、6……イコール信号、7……ディファレント信号、
8……データチェーンバッファ、9……データバッフ
ァ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】メモリとI/Oポートとの間でDMA制御により
    データ転送を複数個のエントリで構成されるデータチェ
    ーンにしたがい実行するデータ転送系において、 データチェーンのエントリを格納するデータチェーンバ
    ッファと、 転送対象データを一時格納するデータバッファと、 前記データチェーンバッファに格納されたデータ転送対
    象となるエントリのレングス値をセットし、データ転送
    に伴なってセットしたレングス値をデクリメントするレ
    ングスカウンタと、 前記データバッファと前記I/Oポートとの間でのデータ
    転送時に前記レングスカウンタの残余値がデータ転送単
    位よりも小さな値になり、かつ前記I/Oポートから前記
    データバッファに対するデータのアクセスが行なわれた
    とき、選択制御信号を出力するバイトオーバー検出手段
    と、 このバイトオーバー検出手段から出力される選択制御信
    号に基づいて、次のエントリのレングス値から前記デー
    タ転送単位と前記レングスカウンタの残余値との差分と
    なる値を減算する手段と、 この減算手段の減算結果を前記レングスカウンタにロー
    ドするロード手段とを具備したことを特徴とするデータ
    アクセス方式。
JP10872189A 1989-04-27 1989-04-27 データアクセス方式 Expired - Fee Related JP2839545B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10872189A JP2839545B2 (ja) 1989-04-27 1989-04-27 データアクセス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10872189A JP2839545B2 (ja) 1989-04-27 1989-04-27 データアクセス方式

Publications (2)

Publication Number Publication Date
JPH02287661A JPH02287661A (ja) 1990-11-27
JP2839545B2 true JP2839545B2 (ja) 1998-12-16

Family

ID=14491874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10872189A Expired - Fee Related JP2839545B2 (ja) 1989-04-27 1989-04-27 データアクセス方式

Country Status (1)

Country Link
JP (1) JP2839545B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004057481A1 (ja) 2002-12-20 2004-07-08 Fujitsu Limited Dma制御装置、dma制御方法、dma制御プログラム

Also Published As

Publication number Publication date
JPH02287661A (ja) 1990-11-27

Similar Documents

Publication Publication Date Title
US4462086A (en) Loading system in numerical controller
JP2839545B2 (ja) データアクセス方式
KR960012354B1 (ko) 마이크로 프로세서
JP3956305B2 (ja) 不揮発性半導体記憶装置およびデータ処理装置
US5887188A (en) Multiprocessor system providing enhanced efficiency of accessing page mode memory by master processor
KR900002436B1 (ko) 컴퓨터의 파이프라인 처리시의 바이패스 제어를 위한 시스템
JP3145765B2 (ja) 情報処理装置
JPH0226259B2 (ja)
JPS63165931A (ja) 不連続命令フエツチアドレス情報記憶方式
JPH0447350A (ja) 主記憶読み出し応答制御方式
JPS5913060B2 (ja) 主記憶装置の記憶容量検出方式
JP3033334B2 (ja) データ記憶装置
JP2798492B2 (ja) リストベクトル処理装置
JPS5872233A (ja) チヤネル装置
JP2715933B2 (ja) ダイレクトメモリアクセス制御回路
JPH0219495B2 (ja)
JPH0358217A (ja) 電子ディスクサブシステム
JPH0460729A (ja) 情報処理装置
JPS6199996A (ja) ダイナミツクram制御方式
JPS63187349A (ja) 記憶装置
JPH0512114A (ja) キヤツシユメモリ
JPH0548034U (ja) マイクロコンピュータ
JPH0154729B2 (ja)
JPH04125747A (ja) キャッシュメモリ制御装置
JPS6222167A (ja) タイムアウト検出回路

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees