JPH0778779B2 - データ転送制御装置 - Google Patents

データ転送制御装置

Info

Publication number
JPH0778779B2
JPH0778779B2 JP62142476A JP14247687A JPH0778779B2 JP H0778779 B2 JPH0778779 B2 JP H0778779B2 JP 62142476 A JP62142476 A JP 62142476A JP 14247687 A JP14247687 A JP 14247687A JP H0778779 B2 JPH0778779 B2 JP H0778779B2
Authority
JP
Japan
Prior art keywords
data transfer
data
address
holding
cpu
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 - Lifetime
Application number
JP62142476A
Other languages
English (en)
Other versions
JPS63305446A (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 JP62142476A priority Critical patent/JPH0778779B2/ja
Publication of JPS63305446A publication Critical patent/JPS63305446A/ja
Publication of JPH0778779B2 publication Critical patent/JPH0778779B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、電子計算機システムにおけるDMA(ダイレク
ト・メモリ・アクセス)転送装置に用いられるデータ転
送制御装置に係り、特に転送データのエラー検出をブロ
ック単位で行なう入出力装置とメモリとの間のデータ転
送を制御する装置に関する。
(従来の技術) DMA転送装置は、入出力装置とメモリとの間、あるいは
メモリ相互間のデータ転送をCPUのレジスタを介するこ
となく直接に高速に行うことができるので、高速の入出
力装置を持つ計算機システムで使用されている。
ところで、従来の計算機システムにおいては、データ転
送を指示したCPUにとって次のアクセスが可能になって
いるか否かの判断を、データ転送が終了したか否かをソ
フトウエア的に確認して行なっており、CPUは上記デー
タ転送を指示した後はデータ転送制御装置から転送終了
を知らせる割込の待ち状態となっていた。一方、CPUが
並列のプロセスを処理している場合には、上記待ち状態
のときに他のプロセスのデータ処理を行うことでCPUの
処置効率を向上させることができ、CPUとしては常に何
らかの処理を行なえるなどの工夫がなされてきた。しか
し、常に並列のプロセスが存在する場合とは限らず、こ
のような場合はただCPUは処理の継続ができない効率向
上には限度があった。これ以外のCPUの効率向上も検討
されている。
これを実現するために、本願出願人は特願昭60年第2171
12号によりデータ転送制御装置を提案した。即ち、CPU
は必要なら必要な領域のデータへのアクセスを行ない、
この領域のデータが既に転送されていれば、そのままア
クセスを終了し、もし上記領域のデータが未転送領域の
データであれば、アクセス中もしくはアクセス終了時に
CPUに割込みもしくは他の手段によりデータアクセスの
失敗を知らせることによって、誤ったデータを取り込む
ことなく正しいデータを出来る限り早くデータアクセス
を行なわせるものである。
上記提案は、メモリ相互間のデータ転送のように、転送
エラーの発生と検出とをほぼ同時に行なえる場合は所期
の目的を達成できる。しかし、たとえばディスク装置か
らメモリへのデータ転送のような場合には、ディスク装
置に書き込まれているデータにはブロック単位でデータ
検査コードが付加されているので、読み出したデータが
正常か否かはそれぞれのブロック単位での読み出しが終
了するまでは判断できず、転送エラーの発生がブロック
転送終了時に検出される場合があり、前記提案を採用す
ることは困難である。このような場合には、正常転送終
了状態をチエックした後、データアクセスを行うように
しなければならない。即ち、CPUによるデータ転送の指
示をブロック単位で行うような場合には、指示したプロ
セスにとって必要なデータが少なくなっても全体のデー
タの転送終了までCPUは次の処理を行うことができず、C
PUの処理効率が低いという問題があった。
(発明が解決しようとする問題点) 本発明は、上記したようにブロック単位でエラー検査が
行われるデータのDMA転送に際してCPUの処理効率が低下
するという問題点を解決すべくなされたもので、上記デ
ータ転送に際して、既にデータ転送が正常に終了したブ
ロックが格納されていたメモリ領域へCPUからのアクセ
スが可能になり、CPUの処理効率を向上させ得るデータ
転送制御装置を提供することを目的とする。
[発明の構成] (問題点を解決するための手段) 本発明のデータ転送制御装置は、データ転送を指示され
たアドレス領域のうちの未転送領域を表わすデータを、
エラー検査の対象となるブロック単位のデータ転送毎に
修正し、CPUからデータアクセスのためにアドレスバス
上に与えられるアドレスデータを前記未転送領域を表わ
すデータと比較することによって、前記CPUのデータア
クセスが適正であるか否かを判定するようにしてなるこ
とを特徴とする。
(作用) CPUのデータアクセスのアドレスが、正常にデータ転送
が終了したブロックを格納していたメモリ領域である場
合には、上記データアクセスが適正であるものとして実
行させ、適正でない場合には、CPUのアクセスを無効に
したり、CPUに割込みで知らせるなどによりCPUに再度ア
クセスさせるようにすることが可能になる。従って、CP
Uが必要とするデータへのアクセスが出来る限り早く行
われることになり、CPUの処理効率が向上する。
(実施例) 以下、図面を参照して本発明の一実施例を詳細に説明す
る。
図は計算機システムの一部を示しており、41はCPU(た
とえばマイクロプロセッサ)、42は主メモリ、43はアド
レスバス、44はデータバス、1は1個の集積回路として
形成されたデータ転送制御装置である。この制御装置1
において、2は内部データバスであって、外部の前記デ
ータバス44に接続されており、3は内部アドレスバスで
あって、外部の前記アドレスバス43に接続されている。
上記内部データバス2には、データ転送領域の先頭アド
レスを表わすデータを保持するための先頭アドレスレジ
スタ4と、データ転送数を表わすデータを保持した後で
制御信号によって保持内容をデクリメントするためのデ
ータ転送数保持・計数レジスタ5と、エラー検査の対象
となるブロックのデータ数(ブロック長数)を表わすデ
ータを保持するブロック長数保持レジスタ7と、現在の
データ転送対象アドレスを表わすデータを保持した後で
制御信号によって保持内容をインクリメントするデータ
転送アドレス保持・計数レジスタ6とが接続されてい
る。8は加算回路であって、上記先頭アドレスレジスタ
4の内容とデータ転送数保持・計数レジスタ5の内容と
を加算し、データ転送領域の最終アドレスを表わすデー
タを求めるための加算回路、10は上記加算回路8の出力
を書き込み制御信号線9からの書き込み制御信号によっ
て書き込んで保持するための最終アドレスレジスタ、27
は前記データ転送数保持・計数レジスタ5の内容が零に
なったことを検出するための第1の零検出回路、13は前
記ブロック長数保持レジスタ6の内容を制御信号線11か
らの書き込み制御信号によって書き込んで保持した後で
制御信号線26からのカウント指示信号によって保持内容
をデクリメントするためのブロック長数計数レジスタ、
28は上記ブロック長数計数レジスタ13の内容が零になっ
たことを検出するための第2の零検出回路、13は前記デ
ータ転送アドレス保持・計数レジスタ6の内容を制御信
号線11からの制御信号によって書き込んで保持するデー
タ転送終了アドレス保持レジスタ、30は前記最終アドレ
スレジスタ10の内容と前記内部アドレスバス3上のアド
レスデータの内容とを大小比較する第1の比較回路、31
は上記アドレスデータの内容と前記データ転送終了アド
レスレジスタ12の内容とを大小比較する第2の比較回
路、34は上記2つの比較回路30,31の各出力を論理処理
する論理回路(本例ではアンド回路)、22は制御回路で
あって、上記各回路との間で所要の内部制御信号を授受
したり、外部のCPU41や主メモリ42や入出力装置(図示
せず)との間で所要の外部制御信号を授受することによ
ってデータ転送制御装置1を総合的に制御するものであ
る。
次に、上記制御装置1の動作例としてディスク装置(図
示せず)から主メモリ42へのデータ転送制御動作につい
て説明する。先ず、CPU41からデータバス44にデータ転
送領域の先頭アドレスを表わすデータが出力し、このデ
ータは内部データバス2を経て先頭アドレスレジスタ4
およびデータ転送アドレス保持・計数レジスタ6にセッ
トされる。次に、CPU41から転送データ数を表わすデー
タ、ブロック長数を表わすデータがデータバス44に出力
し、これらのデータは各対応してデータ転送数保持・計
数レジスタ5、ブロック長数保持レジスタ7にセットさ
れる。さらに、CPU41はディスク装置にそのデータ読み
取り制御に必要なコマンド、データなどをセットし、こ
れでDMA転送準備を終えたことになる。
一方、前記したようにデータがセットされた制御装置1
においては、前記各レジスタ4,5の内容を加算する加算
回路8の出力が安定した後、制御信号線9の制御信号に
よって加算回路出力(データ転送領域の最終アドレスを
表わす)が最終アドレスレジスタ10にセットされる。さ
らに、前記データ転送アドレス保持・計数レジスタ6、
ブロック長数保持レジスタ7の各出力が安定した後、制
御信号線26の制御信号によって上記各出力が対応してデ
ータ転送最終アドレスレジスタ12、ブロック長数計数レ
ジスタ13にセットされる。そして、前記ディスク装置に
おいてデータの読み取りが行われ、データ転送要求信号
線14を通じてデータ転送要求が制御回路22に送られる
と、この制御回路22はホールド要求線(バス権要求信号
線)16をアクティブにして、CPU41に対してアドレスバ
ス43、データバス44の使用権を要求する。CPU41はバス
使用権の放棄が可能になると、前記アドレスバス43、デ
ータバス44の使用を中止し、バス権許可信号線17を通じ
て制御回路22に対して制御装置1による上記バスの使用
を許可したことを知らせる。この結果、制御回路22は、
データ転送許可信号線15の信号をアクティブにしてディ
スク装置にデータ転送が可能になったことを知らせる。
次に、制御回路22はメモリ書き込み制御信号線21をアク
ティブにし、さらに入出力読み出し制御信号線18もアク
ティブにする。ディスク装置は、前記転送許可信号線1
5、上記入出力読み出し制御信号線18がそれぞれアクテ
ィブになると、データバス44上に読み出しデータを出力
する。これによって、主メモリ42には、データ転送アド
レス保持・計数レジスタ6から内部アドレスバス3を経
てアドレスバス43上に出力している内容のアドレスに、
前記データバス44上のデータが書き込まれることにな
り、CPU41のレジスタを経由しないで直接にディスク装
置から主メモリ42へデータ転送が行われたことになる。
上記主メモリ42の書き込みサイクルが終了したことが応
答信号入力線25を通じて制御回路22に知らされると、制
御回路22はカウント指示信号線26の信号によってデータ
転送数保持・計数レジスタ5、ブロック長数計数レジス
タ13の各内容を1だけカウントダウンさせると共に、デ
ータ転送アドレス保持・計数レジスタ6の内容を1だけ
カウントアップさせるように制御する。
このようにして、ディスク装置からのデータ転送を繰り
返し、ブロック長数計数レジスタ13の内容が零になって
第2の零検出回路28の出力がアクティブになったとき、
ディスク装置の1ブロック分のデータ転送が終了したこ
とを示している。そして、この直後、ディスク装置で上
記1ブロック転送でのエラー発生が検出されなければ、
ある定められた時間後に制御回路22は制御信号線11の信
号によってブロック長数保持レジスタ7の内容をブロッ
ク長数計数レジスタ13にセットさせ、データ転送アドレ
ス保持・計数レジスタ6の内容をデータ転送終了アドレ
スレジスタ12にセットさせるように制御する。そして、
次のブロックのデータ転送が可能になると、ディスク装
置から再びデータ転送要求がなされ、前述したと同じ動
作によりディスク装置から主メモリ42へのデータ転送が
行われる。このような繰り返しにより、データ転送数保
持・計数レジスタ5の内容は継続的にカウントダウン
し、この内容が零になって第1の零検出回路27の出力が
アクティブになったとき、ディスク装置から全てのデー
タ転送が終了したことになる。そして、上記データ転送
の途中でCPU41がバス使用権を持つようになってメモリ
アクセスを行うと、制御回路22はメモリ読み出し制御信
号線20、メモリ書き込み制御信号線21、バス権要求信号
線16、バス権許可信号線17の信号に基いて制御信号線29
の信号をアクティブにし、これによって第1、第2の比
較回路30,31が動作する。第1の比較回路30は、最終ア
ドレスレジスタ10の内容とCPU41からアドレスバス43お
よび内部アドレスバス3を経て入力したアドレスデータ
とを比較し、前者が後者に比べて等しいか大きいときに
はその出力信号線32をアクティブにする。また、第2の
比較回路31は、データ転送終了アドレスレジスタ12の内
容と前記CPU41からのアドレスデータとを比較し、前者
が後者に比べて等しいか小さいときにその出力信号線33
をアクティブにする。上記2つの出力信号線32,33が共
にアクティブになるのは、CPU41のメモリアクセスがデ
ータ転送未終了領域へのアクセスであることを意味して
おり、このときには論理回路34の出力信号線35がアクテ
ィブになり、CPU41に対して再度メモリアクセスを行な
うか、そのメモリアクセスを中断するように知らせる。
上記したようにデータ転送未終了領域であるか否かの判
定は、CPUからのアドレスデータを最終アドレスレジス
タの内容およびデータ転送終了アドレスレジスタの内容
と比較して行なっている。この場合、データ転送アドレ
ス保持・計数レジスタの内容を直接には用いず、正常に
ブロック転送が行われる毎にブロック長単位で歩進する
データ転送終了アドレスレジスタの内容を用いるので、
ディスク装置から実際にデータ転送が行われた領域であ
っても、ブロック転送が正常に終了するまでは未転送領
域として扱われ、CPUからのメモリアクセスを防ぐこと
が可能になる。
なお、上記実施例においては、先頭アドレスを表わすデ
ータとデータ転送数を表わすデータとを加算して最終ア
ドレスを得ているが、CPUからデータバスを介して直接
に最終アドレスレジスタに最終アドレスをセットするよ
うにすれば、先頭アドレスレジスタおよび加算回路を省
略することができる。また、CPUから先頭アドレスレジ
スタおよび最終アドレスレジスタに各対応して先頭アド
レス、最終アドレスをセットし、この最終アドレスと先
頭アドレスとを減算するための減算回路を設け、この減
算回路の出力(データ転送数)をデータ転送数保持・計
数レジスタにセットするように変更してもよい。
[発明の効果] 上述したように本発明のデータ転送制御装置によれば、
データ転送を指示されたアドレス領域の全領域またはブ
ロック単位の転送の終了を待たずに入出力装置でのエラ
ー検査を終えた領域でCPUが必要とするアドレスへのデ
ータアクセスが可能になるので、データ転送の終了をソ
フトウエア的に検知する場合に比べてデータアクセスを
早く行うことができ、CPUの処理効率を向上させること
ができる。特に、ディスクキャッシュ装置のように、CP
Uにとって必要なデータ要求に対して、連続する領域の
データを転送するように制御する装置にあっては、本発
明を適用することによってCPU側の待ち時間を著しく減
少させることができる。
【図面の簡単な説明】
図面は本発明のデータ転送制御装置の一実施例を示すブ
ロック図である。 1…データ転送制御装置、2…内部データバス、3…内
部アドレスバス、4…先頭アドレスレジスタ、5…デー
タ転送数保持・計数レジスタ、6…データ転送アドレス
保持・計数レジスタ、7…ブロック長数保持レジスタ、
8…加算回路、10…最終アドレスレジスタ、11,27…零
検出回路、12…データ転送終了アドレスレジスタ、13…
ブロック長数計数レジスタ、22…制御回路、30,31…比
較回路、34…アンド回路、41…CPU、42…主メモリ、43
…アドレスバス、44…データバス。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】データ転送領域の先頭アドレスを表わすデ
    ータを保持する先頭アドレス保持手段と、 データ転送領域の最終アドレスを表わすデータを保持す
    る最終アドレス保持手段と、 データ転送数を表わすデータを保持するデータ転送数保
    持手段と、 現在のデータ転送対象アドレスを表わすデータを保持す
    るデータ転送アドレス保持手段と、 データ転送に際してのエラー検査の対象となるブロック
    のデータ数を表わすデータを保持するブロック長数保持
    手段と、 データ転送が前記ブロック長数保持手段に保持されてい
    る内容と一致する回数行われる毎に、前記データ転送ア
    ドレス保持手段の内容を保持するデータ転送終了アドレ
    ス保持手段と、 CPUからデータアクセスのためにアドレスバス上に与え
    られるアドレスデータを前記最終アドレス保持手段に保
    持された内容および前記データ転送終了アドレス保持手
    段に保持された内容と比較する比較手段と、 この比較手段の比較結果に基いて前記CPUのデータアク
    セスが適正であるか否かを判定する制御信号を出力する
    手段と を具備することを特徴とするデータ転送制御装置。
  2. 【請求項2】ディスク装置と主メモリとの間のデータ転
    送を制御することを特徴とする前記特許請求の範囲第1
    項記載のデータ転送制御装置。
  3. 【請求項3】1個の集積回路内に形成されていることを
    特徴とする前記特許請求の範囲第1項記載のデータ転送
    制御装置。
JP62142476A 1987-06-08 1987-06-08 データ転送制御装置 Expired - Lifetime JPH0778779B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62142476A JPH0778779B2 (ja) 1987-06-08 1987-06-08 データ転送制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62142476A JPH0778779B2 (ja) 1987-06-08 1987-06-08 データ転送制御装置

Publications (2)

Publication Number Publication Date
JPS63305446A JPS63305446A (ja) 1988-12-13
JPH0778779B2 true JPH0778779B2 (ja) 1995-08-23

Family

ID=15316206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62142476A Expired - Lifetime JPH0778779B2 (ja) 1987-06-08 1987-06-08 データ転送制御装置

Country Status (1)

Country Link
JP (1) JPH0778779B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55123721A (en) * 1979-03-15 1980-09-24 Toshiba Corp Direct memory access unit

Also Published As

Publication number Publication date
JPS63305446A (ja) 1988-12-13

Similar Documents

Publication Publication Date Title
US6571319B2 (en) Methods and apparatus for combining a plurality of memory access transactions
US5499353A (en) Cache address strobe control logic for stimulated bus cycle initiation
KR100335785B1 (ko) 데이타처리명령의실행
EP0723684B1 (en) Apparatus and method for interfacing a data processor and an i/o controller to a main memory
US4348722A (en) Bus error recognition for microprogrammed data processor
US5293384A (en) Microprocessor bus interface protocol analyzer
US4864533A (en) Data transfer control unit permitting data access to memory prior to completion of data transfer
CA1279407C (en) Buffer storage control system
US6976204B1 (en) Circuit and method for correcting erroneous data in memory for pipelined reads
US5287483A (en) Prefetched operand storing system for an information processor
JPH0778779B2 (ja) データ転送制御装置
EP0982661B1 (en) System for connecting a computer to a plurality of I/O means
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
JP2932867B2 (ja) 共通バスシステムにおける排他制御方式
JPS59112494A (ja) メモリテスト方式
JP2687476B2 (ja) ベクトルデータ処理装置
JP3145765B2 (ja) 情報処理装置
JP2560312B2 (ja) 情報処理システム
JPS61134856A (ja) Ramチエツク回路
JPH0782447B2 (ja) Dmaデータ転送制御装置
JPH04330549A (ja) 制御装置
JPH0479022B2 (ja)
JPH02193235A (ja) バスアクセス例外検出方法
JPS58129525A (ja) デ−タ処理システムのデ−タ入出力制御方法
JPH0480860A (ja) プログラムロード方式

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070823

Year of fee payment: 12