JPH0760423B2 - データ転送方式 - Google Patents

データ転送方式

Info

Publication number
JPH0760423B2
JPH0760423B2 JP59270813A JP27081384A JPH0760423B2 JP H0760423 B2 JPH0760423 B2 JP H0760423B2 JP 59270813 A JP59270813 A JP 59270813A JP 27081384 A JP27081384 A JP 27081384A JP H0760423 B2 JPH0760423 B2 JP H0760423B2
Authority
JP
Japan
Prior art keywords
transfer
data
register
address
offset
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
JP59270813A
Other languages
English (en)
Other versions
JPS61148563A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59270813A priority Critical patent/JPH0760423B2/ja
Priority to US06/812,926 priority patent/US4797851A/en
Priority to KR1019850009762A priority patent/KR930003709B1/ko
Publication of JPS61148563A publication Critical patent/JPS61148563A/ja
Publication of JPH0760423B2 publication Critical patent/JPH0760423B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Image Processing (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】 [技術分野] この発明は、データ処理技術さらにはマイクロコンピュ
ータ・システムにおけるデバイス間のデータ転送に適用
して特に有効な技術に関し、DMA(ダレクト・メモリ・
アクセス)方式のデータ転送を制御するDMAコントロー
ラによる転送制御に利用して有効な技術に関する。
[背景技術] マイクロプロセッサとともに、マイクロコンピュータ・
システムを構成する制御用LSI(大規模集積回路)の一
つとして、DMAコントローラと呼ばれるLSIがある。この
DMAコントローラは、高速CRT端末、ハードディスクある
いはフロッピーディスク等のデータ入出力機器とメモリ
との間もしくはメモリ間で大量のデータの転送を行なう
必要があるとき、マイクロプロセッサに代わってそのよ
うなデータ転送を制御するLSIである。DMAコントローラ
によるデータ転送によって、マイクロプロセッサがソフ
トウェアでそのようなデータ転送を行なう場合に比べ
て、データ転送速度が向上され、かつ並列処理によりシ
ステム全体のデータ処理能力が向上される。
上記のようなDMAコントローラとして、最大語長32ビッ
トのデータを数種類の転送方式で転送できるとともに、
バス・エラーや割込みなど各種の例外処理機能およびエ
ラー検出機能をも内蔵した高機能のDMAコントーラも提
案されている(例えば、日経マグロウヒル社発行「日経
エレクトロニクス」1982年8月2日号、No.296、第129
頁〜第158頁参照)。
しかしながら、従来のDMAコントーラによるDMA転送で
は、転送元アドレスと転送先アドレスがそれぞれ一つず
つ更新されるようになっていた。そのため、一連のデー
タ群は一定のアドレス空間内に連続的に格納され、各デ
ータをとびとびに格納させるようなことはできなかっ
た。
[発明の目的] この発明の目的は、従来にない新規なデータ転送方式を
実現し、これによってDMAコントローラの高機能化を図
ることにある。すなわち、データ転送を行うだけで図形
の回転操作を実現できるデータ転送方式を提供すること
になる。
この発明の他の目的は、マイクロプロセッサの負担を軽
減し、システム全体の処理能力を向上させ得るようなデ
ータ転送方式を提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明かにな
るであろう。
[発明の概要] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
すなわち、転送元アドレスおよび転送先アドレスのオフ
セット値を設定するためのレジスタを新たに設け、一連
のデータ群をアドレスにオフセットを持たせて更新しな
がら、つまりアドレスをスキップさせながら転送できる
ようにして、例えば従来ソフトウェアで行なっていたCR
T表示画面上での図形の回転のような処理をデータ転送
の方式を変えるだけで自動的に行なえるようにし、これ
によってDMAコントローラの高機能化を図るとともに、
マイクロプロセッサの負担を軽減し、システム全体の処
理能力を向上させるという上記目的を達成するものであ
る。
[実施例] 先ず、本発明によるオフセット付きデータ転送方式の原
理について説明する。
従来のDMAコントローラにより連続して一連のデータ転
送(ブロック転送)を行なう場合、アドレスは1つずつ
更新されていた。そのため、転送されるデータ群(以下
ブロックと称する),,は、第1図にS1で示すよ
うに、それぞれ連続したアドレス領域内に格納されてい
ることが条件とされていた。
そして、転送されたデータはメモリや入出力機器内の連
続したアドレス領域に格納されていた。その場合、格納
される各領域の先頭アドレスは任意であり、かつ格納の
向きすなわちアドレスを増加させながらデータを格納す
るか、減少させながらデータを格納するかも自由に選択
できた。その結果、転送先では第1図にD1−1〜D1−4
で示すような状態で各ブロックデータが格納されるよう
になっていた。つまり、従来のブロック転送方式による
と、第1図に矢印a1で示すようなデータの転送が可能で
あるにすぎなかった。
これに対し、本発明によるデータ転送方式は、アドレス
を一つずつ更新する代わりに、適当なオフセット値(た
だし1ブロックのデータの転送が終了するまでは一定)
を持たせて、すなわちアドレスをスキップさせながら更
新するというものである。しかも、汎用性を持たせるた
め、転送元アドレスおよび転送先アドレスのいずれか一
方もしくは両方ともオフセット値を持たせて更新できる
ようにするものである。
これによって、例えば、第1図にS1で示すように連続し
たアドレス領域に入っているブロックデータ,,
が、転送先アドレスの先頭をBとし、かつオフセット値
をYとして増加更新させながら転送されるとする。この
場合、ブロック内の最初のデータ−1(ただし、こ
の場合各データはワード単位すなわち16ビットとする)
は、アドレスBに入り、次のデータ−2はアドレスB
+Yに入る。このようにしてn個のデータの転送が終了
すると、次のブロックの最初のデータ−1がアドレ
スB+2に入り、次のデータ−2はB+Y+2に入
る。その結果、転送データは第1図にD2−1で示すよう
な状態で格納される。
一方、転送先アドレスをオフセット値Yとして減少更新
させながらデータを転送させる場合、データは第1図D2
−2に示すような状態で格納される。さらに、ブロック
〜の転送順序を代えて−−の順序で上記と同
じ条件のオフセット付き転送を行なうと、各データは第
1図にD2−3,D2−4で示すような状態で格納される。
つまり、この方法によって第1図に矢印a2で示すような
データの転送が実行されることになる。
なお、第1図においてXは第1のオフセット量、Yは第
2のオフセット量の一例である。
また、転送先アドレスが、オフセットを用いないで一つ
ずつ更新され、また転送元アドレスがオフセット値Xと
して更新されながらデータの転送が行なわれると、第1
図にS2で示すように転送元に予め等間隔(とびとびの状
態)で格納されていたデータ−1〜−n,−1〜
−n,−1〜−nが、転送先デバイス内にD1−1,D1−
2,D1−3,D1−4のように連続したブロック状態で格納さ
れるようになる。
つまり、この方法によって第1図に矢印a3で示すような
データ転送が実行されることになる。
さらに、転送元アドレスと転送先アドレスの両方を、そ
れぞれオフセット値をX,Yとして更新させながらデータ
転送を行なうと、第1図に矢印a4で示すような転送が実
行される。
しかも、この発明によるデータ転送方式では、単にオフ
セット値XとYをそれぞれゼロとおくことによって、矢
印a1で示す従来と同じ方式でのブロック転送も行なえる
ことになる。
なお、上記説明では、ワード単位(16ビット)のデータ
の転送を例にとって述べたが、バイト単位(8ビット)
もしくはロングワード単位(32ビット)のデータの転送
も同様な方式で行なえることはいうまでもない。また、
転送語数nは各ブロックに異なっていてもよい。
次に、上記転送方式に従ったデータ転送を実行する具体
的な装置の実施例について説明する。
第2図には、本発明をDMAコントローラに適用した場合
の一実施例のブロック構成図が示されている。
特に制限されないが、図中鎖線Cで囲まれた各回路ブロ
ックは、単結晶シリコン基板のような一個の半導体チッ
プ上において形成される。
この実施例のDMAコントローラは、マイクロプログラム
方式による内部制御方式が採用されており、チップ内部
にはマイクロプログラムが格納されたマイクロプログラ
ムROM(リード・オンリ・メモリ)1が設けられてい
る。
2は、マイクロプログラム・シーケンサで、このシーケ
ンサ2は、その内部構成の詳細を図示しないが、スター
ト・アドレス発生部と条件分岐制御部とからなる。スタ
ート・アドレス発生部は、PLA(プログラマブル・ロジ
ック・アレイ)により構成され、コントロール・レジス
タ部3から供給される転送モードに関する情報に基づい
て、上記マイクロプログラムROM1に対して最初の命令の
アドレスを発生する。
また、条件分岐制御部は、後述の演算実行部4からの演
算情報やフラグレジスタ5からのステータス情報に基づ
いて、次に実行されるべきマイクロプログラム命令を決
定する。マイクロプログラム・シーケンサ2による制御
によって一連のマイクロプログラム命令がマイクロプロ
グラムROM1から読み出されて内部の制御信号が形成さ
れ、各回路ブロックに供給される。
コントロール・レジスタ部3は、後で第3図をもって説
明するようなオペレーション・コントロール・レジスタ
OCR、シーケンス・コントロール・レジスタSCR、テーブ
ル・アクセス・コントロール・レジスタTCR、及びオフ
セット・コントロール・レジスタOFFCRを持つ。
演算実行部4はその内部に、後で第3図をもって説明す
るようなメモリ・アドレス・レジスタMAR、デバイス・
アドレス・レジスタDAR、ベース・アドレス・レジスタB
AR、メモリ側オフセット設定用レジスタMOFF、デバイス
側オフセット設定用レジスタDOFF、転送元ブロック先頭
アドレス保存用レジスタGRA、転送先ブロック先頭アド
レス保存用レジスタGRB、転送語保存用レジスタGTC等か
らなる各種レジスタ、メモリ・トランスファ・カウンタ
MTC、ベース・トランスファ・カウンタBTC等からなるカ
ウンタおよびALU(演算論理ユニット)を有する。演算
実行部4は、上記マイクロプログラムROM1から供給され
る制御信号に従ってDMA転送に必要なアドレスの計算や
転送語数の計算等を行なう。
計算されたアドレスデータは、入出力バッファ回路7及
び外部端子群ABSTを介して外部のアドレスバスへ出力さ
れる。演算実行部4内には、FIFOユニット6が設けられ
ており、FIFOユニット6は、入出力バッファ回路7を介
してチップ内部に読み込まれた転送データを一時的に保
持し、そのデータの分割、統合などを管理する。
8は、バスI/O制御部で、このバスI/O制御部8は、マイ
クロプログラムROM1から供給される制御信号に従って、
バスおよび外部に結合される入出力機器の制御信号の発
生と制御を行なう。特に制限されないが、この実施例の
DMAコントローラは、4つの独立したチャネルを有し、
各チャネルに接続される入出力機器を別々に制御できる
ようにされている。
さらに、この実施例のDMAコントローラには、バス・エ
ラーやカウント・エラーなど各種エラーを検出し、また
エラー回復処理や割込みなど各種の例外処理を行なうエ
ラー、異常処理制御部9が設けられている。
次に、DMAコントローラ内に設けられた各種レジスタの
うち本発明に係るオフセット付きデータ転送に関係する
レジスタを第3図に示す。これらのレジスタは、DMAコ
ントローラに設けられた4つのチャネルの各々に対応し
てそれぞれ一つずつ設けられる。このうち、破線で囲ま
れた各レジスタGRA,GRBおよびGTCは、アドレス計算に使
用する内部ワーク用レジスタであって、MPUによってア
クセスすることができない。つまり、チップの外からは
その内部状態を見ることができないようにされている。
また、第3図に示されている各種レジスタのうち、レジ
スタMOFF,DOFF,GRA,GRB,GTC,TCRおよびOFFCRは、本発明
の実施に伴なって新たに追加されたレジスタである。他
のレジスタは、[株]日立製作所製HD68450のようなDMA
コントローラ等において既に設けられているレジスタと
同じレジスタである。
第3図に示すレジスタのうち、オペレーション・コント
ロール・レジスタOCRはデータの転送方向、転送される
データの大きさすなわちビット数やアレイ・チェーン転
送、リンク・アレイ・チェーン転送等の転送モードおよ
び外部転送要求もしくは自動転送要求等の転送要求の種
類を指定するためのビットを有し、DMAコントローラの
転送動作モードを設定する。
シーケンス・コントロール・レジスタSCRは転送元アド
レスと転送先アドレスの更新法を個別に設定する。これ
によって、小さいメモリ番地から大きいメモリ番地へ更
新する場合と、その逆の場合および更新しない場合の3
種類の更新の仕方を設定できる。
メモリ・トランスファ・カウンタMTCには転送されるデ
ータの語数が設定され、かつ上記シーケンス・コントロ
ール・レジスタSCRで指定される更新法に従ってカウン
トアップもしくはカウントダウンを行なって、転送語数
を計数する。
ベース・トランスファ・カウンタBTCはアレイ・モード
転送等の際に転送データのブロック数を設定し、計数す
るのに使用される。
メモリ・アドレス・レジスタMARおよびデバイス・アド
レス・レジスタDARは、それぞれメモリの転送アドレス
と入出力機器もしくは周辺LSIの転送アドレスが格納さ
れる。これらのレジスタMAR,DARにおけるアドレスデー
タが転送元を示すか、転送先を示すかの区別は前記オペ
レーション・コントロール・レジスタの転送方向指定ビ
ットによって定義される。これらのレジスタMAR,DARの
内容は、それぞれ更新後のアドレスに次々と置き換えら
れて行く。ベース・アドレス・レジスタBARは、アレイ
・チェーン転送やリンク・アレイ・チェーン転送の際
に、DMAコントローラが参照すべきテーブルが格納され
ているメモリ内のアドレスが格納される。
本実施例において、新設されたレジスタMOFFとDOFFは、
それぞれメモリ側の転送アドレスのオフセット値とデバ
イス側の転送アドレスのオフセット値が設定される。こ
れらのレジスタMOFF及びDOFFの利用によって、上記メモ
リ・アドレス・レジスタMARおよびデバイス・アドレス
・レジスタに設定されているアドレスに、このオフセッ
ト・レジスタMOFFとDOFFのオフセット値がALU等によっ
て加算もしくは減算される。これにより、オフセット分
だけアドレスが更新される。オフセット値を加算するか
減算するかは、後述のオフセット・コントロール・レジ
スタOFFCRによって指定される。
レジスタGRAとGRBは、それぞれ転送元のブロックの先頭
アドレスと、転送先のブロックの先頭アドレスを保存す
る。上記メモリ・アドレス・レジスタMARおよびデバイ
ス・アドレス・レジスタDAR内のアドレスデータが、デ
ータの転送に伴なって更新されても、最初に格納された
各先頭アドレスは、このレジスタGRAとGRBに保存され
る。これにより、後述のオフセット付きデータ転送の際
に、転送ブロックが変わっても速やかに必要なアドレス
の計算が行なえる。
レジスタGTCは、メモリ・トランスファ・カウンタMTCに
最初に設定された転送語数nを保存する。データ転送に
伴なってメモリ・トランスファ・カウンタMTCがカウン
トダウンもしくはカウントアップされて内容が変わって
も、最初の転送語数データがレジスタGTCに保存され
る。これにより、オフセット付きデータ転送の際のアド
レスの計算が容易にされる。
また、レジスタTCRはアレイ・チェーン転送やリンク・
アレイ・チェーン転送のとき参照すべきデータが保持さ
れる。このレジスタTCRは、例えば、第4図(A)に示
すような構成にされる。各ビットに“1"が立てられてい
ると、対応するレジスタMAR,MOFF,DAR,DOFF,MTC,BARを
アクセスすることを意味する。
なお、リセット時には、このテーブルアクセス・コント
ロール・レジスタTCRは“10001001"にセットされ、各転
送モードで共通に使用されるレジスタに対応するビット
に予め“1"が立てられる。ただし、アレイ・チェーン転
送モードではビットBARは“0"と判断されるようになっ
ている。
オフセット・コントロール・レジスタOFFCRは、オフセ
ット付きデータ転送の際に参照すべきデータが保持され
る。このレジスタOFFCRは、例えば第4図(B)に示す
ようなビット構成にされる。このうち、ビットMOFFとDO
FFの組み合せのうち“0,0"はメモリ側アドレスとデバイ
ス側アドレスにそれぞれオフセットを用いないモード
を、また、“1,0"はブロック内の各転送毎にオフセット
を用いるモードを、さらに“1,1"はブロックの切換えに
オフセットを用いるモードを意味する。なお、ここでは
“0,1"は未定義である。
オフセット・コントロール・レジスタOFFCR内のビットM
OCとDOCは、メモリ側アドレスとデバイス側アドレス
に、それぞれオフセット値を加算するか減算するか指定
するためのデータで、ここでは特に制限されないが、
“0"のときにオフセット値の加算を意味し、“1"のとき
にオフセット値の減算を意味する。
なお、DMAコントローラ内に設けられるレジスタは、上
述したレジスタのみでなく、DMAコントローラの状態を
表示するレジスタや入出力機器に関する制御モードの設
定を行なうレジスタ、チャネル優先順位設定用レジス
タ、その他、前出の[株]日立製作所製DMAコントロー
ラHD68450に設けられているような各種のレジスタ類が
設けられている。
上記実施例では、転送アドレスの計数を容易にするた
め、演算実行部4内に転送元と転送先のブロックの先頭
アドレスを保存するためのレジスタGRA,GRBと、転送語
数保存用レジスタGTCを新たに設けているが、これらの
レジスタを用いなくても所望のアドレスを計算すること
ができるので、省略することも可能である。
次に、上記実施例のDMAコントローラによるデータ転送
動作について説明する。この実施例の構成によると次の
ように3段階での転送モードが設定できる。
1つの転送モードは、転送情報テーブルを全く持たない
転送モードである。このモードでは、第3図に示されて
いる各レジスタMAR,DAR,MOFF,DOFF,MTC,BTCをすべてMPU
がソフトウェアで適当な値に設定してから、DMA転送を
開始することになる。ただし、テーブルを用いないの
で、ベース・アドレス・レジスタBARは設定する必要が
ない。この場合、DMAコントローラはメモリ内のテーブ
ルを参照する必要がないので、転送情報を読み込むのに
要する時間を省くことができる。従って、例えばメモリ
側オフセット値Xやデバイス側オフセット値Yおよび転
送語数nが、各ブロック間で一定であるような場合、各
ブロック転送ごとにメモリ先頭アドレスAとデバイス先
頭アドレスBを設定するだけでよいので、比較的効率よ
くブロック転送が行なえる。
しかして、ブロックごとにメモリ側およびデバイス側オ
フセット値X,Yや転送語数nが変わるような場合に、転
送ブロックごとにレジスタMAR,DAR,MOFF,DOFF,MTC,BTC
をすべてMPUで設定するのではMPUの負担が大きくなる。
そこで、そのような場合には、例えば第5図に示すごと
く転送情報をテーブル化してデータの転送を行なう方式
を採用することにより、効率の良い転送が可能となる。
第5図(A)は、アレイ・チェーン転送モード、また同
図(B)は、リンク・アレイ・チェーン転送モードでの
転送方式を模式的に示す。
先ず、アレイ・チェーン転送モードでは、第5図(A)
のごとくメモリ先頭アドレスA、デバイス先頭アドレス
B、メモリ側オフセット値X、デバイス側オフセット値
Yおよび転送語数n等の転送情報をそれぞれテーブル化
して、メモリの適当なエリアに入れておく。そして、こ
のテーブルの先頭アドレスおよび転送ブロック数をMPU
でレジスタBARとBTCに設定してやる。すると、DMAコン
トローラは、ブロック転送を開始する前に先ずレジスタ
BARに設定されたアドレスの示すテーブルを参照し、最
初のブロックの先頭アドレスA,Bとオフセット値X,Yおよ
び転送語数nを、*印の付いている各レジスタに読み込
んでからブロック転送を開始する。一つのブロックの転
送が終了すると、レジスタBARが更新され、次のブロッ
クの転送情報(A,B,X,Y,n)を対応するレジスタに読み
込み、転送ブロック数の入っているカウンタBTCが一つ
減算される。このように、次々とブロックが転送され、
カウンタBTCの値がゼロになると転送動作が終了する。
次に、第5図(B)に示すリンク・アレイ・チェーン転
送モードでは、転送情報として上記アレイ・チェーン転
送モードにおける情報A,B,X,Y,nの他に、次に転送すべ
きブロックに関する転送情報の入っているアドレスを示
すリンク・アドレスもテーブル化されてメモリに格納さ
れている。ただし、この場合、転送ブロック数は不用と
なる。そのため、MPUでテーブルの先頭アドレスのみを
レジスタBARに設定してやればよい。
すると、DMAコントローラは、テーブルを参照して先ず
最初のブロックに関する転送情報(リンク・アドレスを
含む)を*印の付いている各レジスタに読み込んでから
ブロック転送を開始する。一つのブロックの転送が終了
すると、リンク・アドレスの示すアドレスから次のブロ
ックの転送情報を読み込んで転送を続ける。そして、リ
ンク・アドレスがゼロにされている最終ブロックの転送
が終ってすべての転送が終了する。なお、リンク・アド
レスは、最初にMPUによってテーブルの先頭アドレスが
設定されたレジスタBARに、次々と取り込まれて行く。
第5図(A)のアレイ・チェーン転送モードでブロック
を削除する場合は、アレイ・テーブルが連続したメモリ
番地に入っていなければならないため、削除するブロッ
クよりも後の全ブロックのデータを順次繰り上げてテー
ブルを詰め替える必要がある。追加する場合もテーブル
のデータをずらして挿入する必要がある。しかし、リン
ク・アレイ・チェーン転送モードの場合は、ブロックの
追加や削除がリンク・アドレスを書き換えるだけで簡単
にできる。
なお、第5図(A),(B)に示す転送モードにおい
て、転送情報のうち一部(メモリ先頭アドレスAと転送
語数nもしくはこれらとリンク・アドレス)のみをテー
ブル化し、他の情報(デバイス先頭アドレスB,テーブル
先頭アドレスおよびオフセット値X,Y)はMPUで設定する
ようにして、転送情報を読み出すのに要する時間を短縮
させるようにしてもよい。
このような機能は、前記テーブルアクセス・コントロー
ル・レジスタTCRで転送情報を読み込むレジスタを指定
してやることにより、容易に実現することができる。
さらに、上記実施例によると、新たに設けられたメモリ
・オフセット・レジスタMOFFとデバイス・オフセット・
レジスタDOFF等を使用しないか、あるいはこれらのオフ
セット・レジスタMOFF,DOFFにゼロを設定してやること
により、オフセットを用いない従来と全く同じ方式のブ
ロック転送を行なわせることができる。
上記のごとく構成されたDMAコントローラにより、オフ
セット付きデータ転送を実行することによって、第1図
に矢印a1〜a4で示したすべてのデータ転送が可能とな
り、DMAコントローラの機能が向上される。
次に、上記オフセット付きデータ転送の具体的応用例に
ついて説明する。
例えば、画像処理機能を有するマイクロコンピュータ・
システムにおいて、CRT表示装置の画面上(基準点A)
に、第6図(A)に示す図形(ここでは一例としてアル
ファベットの「F」が示されている)を表示させるよう
なデータがメモリ(リフレッシュ・メモリ)に格納され
ていたとする。その場合、従来方式のブロック転送を適
用して、第1図に矢印a1に示すようなブロック転送をリ
フレッシュ・メモリ内で行なうことにより、第6図
(B)に示すように反転および倒立状態の4種類の図形
を画面上の他の位置(基準点B)に表示させることがで
きた。しかしながら、従来方式のブロック転送では、第
6図(C)に示すように、元の図形を90°回転させた横
向きの図形を表示させるようなデータ転送は行なうこと
ができなかった。
これに対し、本発明に係るオフセット付きデータ転送を
利用すると、第1図に矢印a2−1,a2−3,a2−4で示した
ような転送をリフレッシュ・メモリ内で実行することに
よって、第6図(C)に示すような図形を表示させるよ
うな画像データの書き込みが自動的に行なえるようにな
る。そのため、従来はMPUがソフトウェアで行なうか、
あるいはCRTコントローラが行なっていた画像データの
変換を、DMAコントローラによるDMA転送で極めて簡単に
行なえるようになり、システム全体のデータ処理能力が
向上されるとともに、画像表示速度も速くなる。
また、同様に本発明に係るオフセット付きデータ転送を
プリンタに適用して、メモリ内の情報をプリントアウト
するときにデータ転送で文字データを90°変換させるこ
とにより、横書き文字を縦書き文字にしたり、逆に縦書
き文字を横書き文字に変換することが容易に行なえるよ
うになる。
[効果] 転送元アドレスおよび転送先アドレスのオフセット値を
設定するためのレジスタを新たに設けてなるので、一連
のデータ群をアドレスにオフセットを持たせて更新しな
がら、つまりアドレスをスキップさせながら転送できる
という作用により、例えば従来ソフトウェアで行なって
いたCRT表示画面上での図形の回転のような処理をデー
タ転送の方式を変えるだけで自動的に行なえるようにな
り、これによってDMAコントローラの機能が大幅に向上
されるとともに、マイクロプロセッサの負担が軽減さ
れ、システム全体の処理能力が向上されるという効果が
ある。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、前記実施例では
新たに設けられたコントロール・レジスタTCRとOFFCRを
第4図に示すようなビット構成にしているが、各レジス
タのビット構成はそれに限定されるものではなく、種々
の変形例が考えられる。また、DMAコントローラのブロ
ック構成も第2図の実施例のものに限定されるものでな
い。
[利用分野] 以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるマイクロコンピュー
タ・システムに適用したものについて説明したが、それ
に限定されず、データベースやファイルプロセスの分野
などデータ処理システム一般に利用することができる。
【図面の簡単な説明】
第1図は、本発明に係るオフセット付きデータ転送方式
の原理を示す説明図、 第2図は、本発明をDMAコントローラに適用した場合の
一実施例を示すブロック図、 第3図は、内部の主要レジスタの構成例を示す説明図、 第4図(A),(B)は、テーブルアクセス・コントロ
ール・レジスタとオフセット・コントロール・レジスタ
のビット構成の一例を示す説明図、 第5図(A),(B)は、本発明を適用したDMAコント
ローラによる転送モードの例をそれぞれ模式化して示す
説明図、 第6図は、本発明に係るオフセット付きデータ転送を画
像表示に応用した場合の作用を示す説明図である。 1……マイクロプログラムROM、2……シーケンサ、3
……コントロール・レジスタ部、4……演算実行部、5
……フラグ、6……FIFOユニット、7……入出力バッフ
ァ、8……バスI/O制御部、9……エラー異常処理制御
部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】第1乃至第7レジスタを備えてデータ転送
    制御を行うDMAデータ転送制御装置、マイクロプロセッ
    サ、第1記憶手段、及び第2記憶手段を備えたマイクロ
    コンピュータシステムにおいて、 第1の記憶手段に、連続するアドレスに複数語のデータ
    が順次配置された複数個の転送元データブロックを、相
    互に隣接する転送元データブロックの先頭データのアド
    レスの間に第1オフセットを設定して格納し、前記第1
    記憶手段に格納された転送元データブロックの複数のデ
    ータを、相互に第2オフセットのアドレス間隔を以て第
    2記憶手段に転送し、第2記憶手段上には先頭データの
    アドレスの間隔が順次第2オフセットとされた複数の転
    送先データブロックを形成するデータ転送方式であっ
    て、 前記マイクロプロセッサは、第1レジスタに先頭転送元
    データブロックの先頭データのアドレスを、第2レジス
    タに先頭転送先データブロックの先頭データのアドレス
    を、第3レジスタに第1オフセットを、第4レジスタに
    第2オフセットを、第5レジスタに一つの転送元データ
    ブロックにおけるデータの転送語数を夫々設定する処理
    を行い、 前記DMAデータ転送制御装置は、先頭の転送元データブ
    ロックの転送に当たり、転送元アドレスレジスタとされ
    る第6レジスタの初期値を前記第1レジスタが保有する
    アドレスとし、転送先アドレスレジスタとされる第7レ
    ジスタの初期値を前記第2レジスタが保有するアドレス
    とする第1処理と、 前記第1処理にて第6レジスタに設定された初期値を転
    送元アドレスの起点とし、前記第1処理にて第7レジス
    タに設定された初期値を転送先アドレスの起点として、
    第1記憶手段のデータを第2記憶手段に転送する処理を
    開始し、第5レジスタで指定される転送語数分のデータ
    転送を完了するまで、1語のデータ転送毎に前記第6レ
    ジスタの転送元アドレスを順次更新すると共に、その更
    新の都度、第7レジスタの転送先アドレスの値に第4レ
    ジスタの第2オフセットを加算又は減算して転送先アド
    レスを更新しながら、転送元アドレスから転送先アドレ
    スへのデータ転送を行って、先頭転送元データブロック
    の複数のデータを相互に第2オフセットのアドレス間隔
    を以て第2記憶手段に転送する第2処理と、 一つの転送元データブロックの転送が終わる毎に、次の
    転送元データブロックの転送のために、第6レジスタの
    転送元アドレスの初期値を前回の初期値に対して第3レ
    ジスタの第1オフセット分だけ増加した値に設定すると
    共に、第7レジスタの転送先アドレスの初期値を前回の
    初期値の次のアドレスの値に設定する第3処理と、 前記第3処理にて第6レジスタに設定された初期値を転
    送元アドレスの起点とし、前記第3処理にて第7レジス
    タに設定された初期値を転送先アドレスの起点として、
    第1記憶手段のデータを第2記憶手段に転送する処理を
    開始し、第5レジスタで指定される転送語数分のデータ
    転送を完了するまで、1語のデータ転送毎に前記第6レ
    ジスタの転送元アドレスを順次更新すると共に、その更
    新の都度、第7レジスタの転送先アドレスの値に第4レ
    ジスタの第2オフセットを加算又は減算して転送先アド
    レスを更新しながら、転送元アドレスから転送先アドレ
    スへのデータ転送を行って、一つの転送元データブロッ
    クの複数のデータを相互に第2オフセットのアドレス間
    隔を以て第2記憶手段に転送する第4処理とを行うもの
    である、ことを特徴とするデータ転送方式。
JP59270813A 1984-12-24 1984-12-24 データ転送方式 Expired - Lifetime JPH0760423B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP59270813A JPH0760423B2 (ja) 1984-12-24 1984-12-24 データ転送方式
US06/812,926 US4797851A (en) 1984-12-24 1985-12-23 Data transfer control equipment
KR1019850009762A KR930003709B1 (ko) 1984-12-24 1985-12-24 데이터 전송 제어장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59270813A JPH0760423B2 (ja) 1984-12-24 1984-12-24 データ転送方式

Publications (2)

Publication Number Publication Date
JPS61148563A JPS61148563A (ja) 1986-07-07
JPH0760423B2 true JPH0760423B2 (ja) 1995-06-28

Family

ID=17491373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59270813A Expired - Lifetime JPH0760423B2 (ja) 1984-12-24 1984-12-24 データ転送方式

Country Status (3)

Country Link
US (1) US4797851A (ja)
JP (1) JPH0760423B2 (ja)
KR (1) KR930003709B1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63191250A (ja) * 1987-02-04 1988-08-08 Nippon Telegr & Teleph Corp <Ntt> ブロツク結合回路
JP2633263B2 (ja) * 1987-09-14 1997-07-23 株式会社ハドソン データ転送制御装置
JPH01120660A (ja) * 1987-11-04 1989-05-12 Nec Corp マイクロコンピュータ装置
EP0328450B1 (en) * 1988-02-08 1996-08-28 Fujitsu Limited Direct memory access controller
JPH01237864A (ja) * 1988-03-18 1989-09-22 Fujitsu Ltd Dma転送制御装置
US5003471A (en) * 1988-09-01 1991-03-26 Gibson Glenn A Windowed programmable data transferring apparatus which uses a selective number of address offset registers and synchronizes memory access to buffer
JP2602946B2 (ja) * 1989-03-16 1997-04-23 富士通株式会社 データ受信方式
US5287471A (en) * 1989-07-24 1994-02-15 Nec Corporation Data transfer controller using direct memory access method
US5278960A (en) * 1989-08-16 1994-01-11 Nec Corporation Information processing apparatus having detecting means for operand overlaps
JP2907451B2 (ja) * 1989-08-31 1999-06-21 キヤノン株式会社 ダイレクトメモリアクセス方法および装置
US5056010A (en) * 1989-10-30 1991-10-08 Industrial Technology Research Institute Pointer based DMA controller
EP0458304B1 (en) * 1990-05-22 1997-10-08 Nec Corporation Direct memory access transfer controller and use
AU652371B2 (en) * 1990-06-29 1994-08-25 Fujitsu Limited Data transfer system
US5249280A (en) * 1990-07-05 1993-09-28 Motorola, Inc. Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
JPH04333951A (ja) * 1991-05-10 1992-11-20 Mitsubishi Electric Corp プロセッサのダイレクトメモリアクセス制御装置
JPH08110886A (ja) * 1994-10-07 1996-04-30 Ricoh Co Ltd Dmaコントローラ及びファクシミリ装置
US5628026A (en) * 1994-12-05 1997-05-06 Motorola, Inc. Multi-dimensional data transfer in a data processing system and method therefor
US6145030A (en) * 1998-03-27 2000-11-07 Intel Corporation System for managing input/output address accesses at a bridge/memory controller
JP3614714B2 (ja) 1999-06-16 2005-01-26 Necマイクロシステム株式会社 Dma制御装置
US6370668B1 (en) * 1999-07-23 2002-04-09 Rambus Inc High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes
JP2002342262A (ja) 2001-05-11 2002-11-29 Fujitsu Ltd ダイレクトメモリアクセス制御装置およびダイレクトメモリアクセス制御方法
US9218183B2 (en) * 2009-01-30 2015-12-22 Arm Finance Overseas Limited System and method for improving memory transfer
KR20110064076A (ko) * 2009-12-07 2011-06-15 삼성전자주식회사 화상형성장치 및 그 스큐 보정 방법
CN104281545B (zh) * 2013-07-11 2018-02-23 华为技术有限公司 一种数据读取方法及设备
US9516147B2 (en) * 2014-10-30 2016-12-06 Microsoft Technology Licensing, Llc Single pass/single copy network abstraction layer unit parser

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4325119A (en) * 1977-01-19 1982-04-13 Honeywell Information Systems Inc. Process and apparatus employing microprogrammed control commands for transferring information between a control processor and communications channels
US4204250A (en) * 1977-08-04 1980-05-20 Honeywell Information Systems Inc. Range count and main memory address accounting system
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
JPS604499B2 (ja) * 1981-01-27 1985-02-04 東芝テック株式会社 デ−タ処理装置におけるアドレス指定装置
US4521871A (en) * 1982-04-12 1985-06-04 Allen-Bradley Company Programmable controller with back-up capability
JPS5924485A (ja) * 1982-07-30 1984-02-08 Toshiba Corp 入出力ペ−ジング機構
US4597041A (en) * 1982-11-15 1986-06-24 Data General Corp. Method and apparatus for enhancing the operation of a data processing system
US4584617A (en) * 1983-09-22 1986-04-22 Dual Systems Corporation Method and apparatus for improving the transfer time in rotating data storage systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
インターフェース、10〔12〕(昭和59年12月1日発行)CQ出版、P.291−302

Also Published As

Publication number Publication date
KR860005295A (ko) 1986-07-21
KR930003709B1 (ko) 1993-05-08
JPS61148563A (ja) 1986-07-07
US4797851A (en) 1989-01-10

Similar Documents

Publication Publication Date Title
JPH0760423B2 (ja) データ転送方式
US5438665A (en) Direct memory access controller for handling cyclic execution of data transfer in accordance with stored transfer control information
US5754191A (en) Method and apparatus for optimizing pixel data write operations to a tile based frame buffer
US4797809A (en) Direct memory access device for multidimensional data transfers
US4835684A (en) Microcomputer capable of transferring data from one location to another within a memory without an intermediary data bus
US6728797B2 (en) DMA controller
JP3971535B2 (ja) Simd型プロセッサ
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
JP2554876B2 (ja) アドレス変換装置
JPH0736806A (ja) Dma方式
JP2581144B2 (ja) バス制御装置
JPH01233628A (ja) メモリアドレス変換制御回路
JP2657947B2 (ja) データ処理装置
JP2847729B2 (ja) 情報処理装置
JPS6343784B2 (ja)
JPS58189719A (ja) デ−タ転送制御方式
JPH0346033A (ja) ジヨブ間データ転送制御方法
JPH04209059A (ja) 半導体集績回路
JPS59108157A (ja) 電子計算機
JPH05210695A (ja) データ処理装置
JPS61273659A (ja) デ−タ処理方式
JPS62298837A (ja) マイクロプログラムipl方式
JPH055133B2 (ja)
JPH0241522A (ja) 関数演算処理装置
JPH0415843A (ja) キャッシュメモリ内蔵マイクロプロセッサ