JPH06274447A - データ転送装置及びワード数算出方法 - Google Patents

データ転送装置及びワード数算出方法

Info

Publication number
JPH06274447A
JPH06274447A JP5060767A JP6076793A JPH06274447A JP H06274447 A JPH06274447 A JP H06274447A JP 5060767 A JP5060767 A JP 5060767A JP 6076793 A JP6076793 A JP 6076793A JP H06274447 A JPH06274447 A JP H06274447A
Authority
JP
Japan
Prior art keywords
data
circuit
word
signal
bytes
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.)
Granted
Application number
JP5060767A
Other languages
English (en)
Other versions
JP3471384B2 (ja
Inventor
Masayuki Takeshige
昌之 竹重
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 VLSI Ltd
Fujitsu Ltd
Original Assignee
Fujitsu VLSI Ltd
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 VLSI Ltd, Fujitsu Ltd filed Critical Fujitsu VLSI Ltd
Priority to JP06076793A priority Critical patent/JP3471384B2/ja
Publication of JPH06274447A publication Critical patent/JPH06274447A/ja
Priority to US08/529,174 priority patent/US5581711A/en
Application granted granted Critical
Publication of JP3471384B2 publication Critical patent/JP3471384B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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)

Abstract

(57)【要約】 【目的】本発明はワードの途中のバイト位置から書き込
まれた任意バイト数のデータのワード数を簡単な回路構
成で算出して、当該データの転送処理速度を向上させ得
るデータ処理装置を提供することを目的とする。 【構成】中央処理装置Cと、データ転送処理装置5と、
複数のデータ格納装置2,4とがバスBを介して接続さ
れる。データ転送処理装置5では複数のバイトで1ワー
ドが構成される任意ワード数の転送データが、中央処理
装置Cとの1ワードずつの応答に基づいて、データ格納
装置2,4間でバスBを介して1ワードずつ転送され
る。あらかじめ設定された1ワードを構成するバイト数
に対し、転送データの書き込みバイト数と、転送データ
の書き込み開始バイト位置とに基づいてワード数を算出
するワード数算出回路Wがデータ転送処理装置5に備え
られる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はデータ処理装置間でデ
ータの転送動作を行うデータ転送装置に関するものであ
る。
【0002】MPU(マイクロプロセッサユニット)と
その周辺回路とで構成されるデータ処理装置では、デー
タ処理速度を向上させるために各回路間でのデータ転送
速度の向上を図る必要がある。そこで、データ転送装置
では効率的なデータ転送を行うことが必要となってい
る。
【0003】
【従来の技術】MPU及びDMAC(ダイレクトメモリ
アクセスコントローラ)を備えたデータ処理装置では、
同MPUとバッファメモリとの間でデータ転送が行われ
るとともに、一つのバッファメモリからDMACを介し
て他のバッファメモリへデータ転送が行われる。
【0004】転送される各データはそのビット幅が数バ
イト幅で構成され、バッファメモリに書き込まれたデー
タを読み出す場合には、例えば4バイトを1ワードとし
て、各ワード毎に読み出されて転送される。
【0005】また、読み出されたデータを効率よく転送
するために、前記MPUでは入力されたデータのバイト
数を変換して転送することが行われている。
【0006】
【発明が解決しようとする課題】上記のような転送動作
時において、バッファメモリにデータを書き込む場合に
は、各ワードの先頭バイト以外の途中のバイトからも書
き込んだほうが都合がよいことがある。
【0007】各ワードの途中のバイトからデータを書き
込んだ場合、書き込んだデータのバイト数によっては、
ワード数が変化することがある。すなわち、例えば1ワ
ードが4バイトで構成され、書き込むデータが4バイト
であるとき、先頭バイトから書き込めば1ワードとな
り、途中のバイトから書き込めば2ワードとなる。
【0008】そこで、このようにバッファメモリに書き
込まれたデータを、DMACにより他のバッファメモリ
に転送する場合には、まずそのデータのワード数を算出
する必要がある。
【0009】ところが、書き込まれたデータのワード数
を算出するためにはDMACに規模の大きな論理回路を
備えることが必要となって、データ処理速度が低下する
とともに、DMACの回路規模を増大させてしまうとい
う問題点がある。
【0010】また、データを常にワードの先頭バイトか
ら書き込むようにすると、メモリ容量を効率よく利用す
ることができない等、不都合が生じることがある。この
発明の目的は、ワードの途中のバイト位置から書き込ま
れた任意バイト数のデータのワード数を簡単な回路構成
で算出して、当該データの転送処理速度を向上させ得る
データ処理装置を提供することにある。
【0011】
【課題を解決するための手段】図1は請求項1の発明の
原理説明図である。すなわち、中央処理装置Cと、デー
タ転送処理装置5と、複数のデータ格納装置2,4とが
バスBを介して接続され、前記データ転送処理装置5で
は複数のバイトで1ワードが構成される任意ワード数の
転送データが、前記中央処理装置Cとの1ワードずつの
応答に基づいて、前記データ格納装置2,4間でバスB
を介して1ワードずつ転送される。
【0012】あらかじめ設定された1ワードを構成する
バイト数に対し、前記転送データの書き込みバイト数
と、前記転送データの書き込み開始バイト位置とに基づ
いてワード数を算出するワード数算出回路Wが前記デー
タ転送処理装置5に備えられる。
【0013】また、請求項2では、図2に示すように前
記ワード数算出回路Wは1ワードが2n バイトで構成さ
れるとき、2進数の前記書き込みバイト数の下位nビッ
ト以外の上位ビットの値からワード数を算出する第一の
算出回路8,9aと、前記下位nビットの値が「0」以
外のとき前記第一の算出回路8,9aの算出値に「1」
を加算する第二の算出回路7,9cと、前記下位nビッ
トの値と、前記書き込み開始バイト位置に基づいて設定
されるnビットの値とを加算して、キャリーが生じたと
き前記第一の算出回路8,9aの算出値に「1」を加算
する第三の算出回路13とから構成される。
【0014】また、請求項3では、1ワードが2n バイ
トで構成されるとき、転送データの書き込みバイト数を
2進数に変換した値の下位nビット以外の上位ビットの
値からワード数を算出し、前記下位nビットの値が
「0」以外のとき前記算出値に「1」を加算し、前記下
位nビットの値と、転送データの書き込み開始バイト位
置に基づいて設定されるnビットの値とを加算して、キ
ャリーが生じたとき前記算出値に「1」を加算するよう
にした。
【0015】
【作用】ワード数算出回路Wにより、転送データの書き
込みバイト数と、前記転送データの書き込み開始バイト
位置とに基づいてワード数が算出され、そのワード数に
基づいてデータ転送処理装置5によりデータ格納装置
2,4間でデータが転送される。
【0016】また、ワード数算出回路Wは1ワードが2
n バイトで構成されるとき、2進数の書き込みバイト数
の下位nビット以外の上位ビットの値からワード数を算
出し、下位nビットの値が「0」以外のとき前記算出値
に「1」を加算し、前記下位nビットの値と、前記書き
込み開始バイト位置に基づいて設定されるnビットの値
とを加算して、キャリーが生じたとき前記算出値に
「1」を加算する。
【0017】
【実施例】以下、この発明を具体化した一実施例を説明
する。図11に示すデータ処理装置において、ホストM
PU1及び第一のメモリ2はデータバスB1a,B2a
に接続され、同データバスB1a,B2aはバスインタ
ーフェース3に接続されている。
【0018】第二のメモリ4、DMAC5及びローカル
MPU6はデータバスB1b,B2bを介して前記バス
インターフェース3に接続されている。このように構成
されたデータ処理装置の動作の一例を説明すると、ロー
カルMPU6は処理したデータを第二のメモリ4に対し
バイト単位で任意の位置から書き込みを開始する。
【0019】第二のメモリ4に格納されたデータが一定
量以上となると、ローカルMPU6はDMAC5に起動
信号SG1を出力する。このとき、ローカルMPU6は
DMAC5に対し、起動信号SG1とともに、書き込ま
れたデータの先頭アドレス、書き込まれたデータの中で
最初に有効バイトデータが始まるバイト位置及び有効デ
ータのバイト数を出力する。
【0020】次いで、前記DMAC5はホストMPU1
に対しバス使用要求を行うリクエスト信号SG2を出力
し、そのリクエスト信号SG2に基づいてホストMPU
1がバスの使用を許可するアクノリッジ信号SG3をD
MAC5に出力すると、同DMAC5は第二のメモリ4
に格納されているデータを1ワード、すなわち例えば4
バイト単位で第一のメモリ2に転送する。
【0021】前記DMAC5には第一のメモリ2若しく
は第二のメモリ4に格納されているデータのワード数を
算出するワード数算出回路が内蔵されている。そのワー
ド数算出回路を図2に従って説明する。
【0022】前記ローカルMPU6から出力される書き
込みバイト数信号Bnは第一のメモリ2若しくは第二の
メモリ4に書き込まれている書き込みデータのバイト数
を2進数に置き換えたものである。すなわち、書き込み
データが4バイトであれば「100」であり、6バイト
であれば「110」である。
【0023】そして、1ワードが4バイトで構成される
とき、下位2ビットがラッチ回路7に入力されてラッチ
され、下位2ビット以外の上位ビットがダウンカウンタ
8に格納される。
【0024】ダウンカウンタ8には前記ホストMPU1
からアクノリッジ信号SG3が入力され、同ダウンカウ
ンタ8はLレベルのアクノリッジ信号SG3が入力され
る度に、格納データから「1」を減算する。
【0025】前記ダウンカウンタ8の出力信号はOR回
路9aに入力され、同OR回路9aの出力信号はNOR
回路10aと、OR回路9bに入力される。前記OR回
路9bのHレベルの出力信号は前記リクエスト信号SG
2として前記ホストMPU1に出力される。
【0026】また、アクノリッジ信号SG3は前記NO
R回路10aに入力され、同NOR回路10aはアクノ
リッジ信号SG3と前記OR回路9aの出力信号がとも
にLレベルとなると、Hレベルのクリア信号CLRをフ
ラグ回路11aに出力する。
【0027】前記ラッチ回路7は2ビットの格納データ
をOR回路9cと、ビット変換回路12に出力する。前
記OR回路9cの出力信号は前記フラグ回路11aに出
力され、同フラグ回路11aはOR回路9cのHレベル
の出力信号に基づいてHレベル、すなわち「1」のフラ
グを前記OR回路9bに出力する。
【0028】また、前記フラグ回路11aは前記NOR
回路10aからHレベルのクリア信号CLRが入力され
ると、「1」のフラグを消去するようになっている。前
記ビット変換回路12は前記ラッチ回路7の2ビットの
出力信号、すなわち前記書き込みバイト数信号Bnの下
位2ビットの信号を、図3に示す2ビットの信号K,L
に変換して加算器13に出力する。そのビット変換回路
12の変換動作は、書き込みバイト数信号Bnの下位2
ビットの信号から「1」を減算した値、若しくは下位2
ビットの信号が「00」のときは「11」の値を出力し
ている。
【0029】レジスタ14には前記ローカルMPU6か
ら2ビットの書き込み位置信号I,Jが入力されて格納
される。その書き込み位置信号I,Jは、図4に示すよ
うに1ワードを構成する4つのバイト位置BT1〜BT
4に対し、先頭から順に「00」、「01」、「1
0」、「11」の各2ビットの信号が設定されている。
【0030】前記レジスタ14から出力される2ビット
の出力信号I,Jは、前記加算器13に出力される。加
算器13は前記ビット変換回路12の2ビットの出力信
号K,Lと、前記レジスタ14の2ビットの出力信号
I,Jとを加算し、キャリーが出れば「1」をフラグ回
路11bに出力し、キャリーが出なければ「0」をフラ
グ回路11bに出力する。
【0031】前記フラグ回路11bでは前記加算器13
の「1」の出力信号に基づいて「1」のフラグが設定さ
れ、そのフラグを前記OR回路9bに出力する。前記O
R回路9aの出力信号と、前記フラグ回路11aの出力
信号と、前記アクノリッジ信号SG3とはNOR回路1
0bに入力され、同NOR回路10bの出力信号は前記
フラグ回路11bに入力される。
【0032】そして、前記OR回路9a及び前記フラグ
回路11aの出力信号がLレベルとなり、かつLレベル
のアクノリッジ信号SG3がNOR回路10bに入力さ
れると、同NOR回路10bからHレベルのクリア信号
CLRがフラグ回路11bに入力される。
【0033】フラグ回路11bはクリア信号CLRに基
づいて「1」のラッチデータを消去する。次に、上記の
ように構成されたワード数算出回路の動作を説明する。
【0034】さて、ローカルMPU6により処理された
データが、第二のメモリ4に対しバイト単位で任意の位
置から書き込まれ、同第二のメモリ4に格納されたデー
タが一定量以上となると、ローカルMPU6はDMAC
5に起動信号SG1を出力する。
【0035】このとき、ローカルMPU6はDMAC5
に対し、起動信号SG1とともに、書き込まれたデータ
の先頭アドレス、書き込まれたデータの中で最初に有効
バイトデータが始まるバイト位置及び有効データのバイ
ト数を出力する。
【0036】次いで、前記DMAC5はホストMPU1
に対しバス使用要求を行うリクエスト信号SG2を出力
し、そのリクエスト信号SG2に基づいてホストMPU
1がバスの使用を許可するアクノリッジ信号SG3をD
MAC5に出力する。
【0037】すると、同DMAC5は第二のメモリ4に
格納されているデータを1ワード、すなわち例えば4バ
イト単位で第一のメモリ2に転送する。この時、転送す
るワード数は上記ワード数算出回路で算出される。
【0038】すなわち、例えば図5(a)に示すように
書き込まれたデータD1〜D4が4バイトで、ワードの
先頭バイトBT1から書き込まれているとすると、ワー
ド数算出回路に入力される書き込みバイト数Bnは「1
00」となり、書き込み位置信号I,Jは「00」とな
る。
【0039】すると、ダウンカウンタ8には「1」が格
納され、ラッチ回路7には「00」がラッチされ、レジ
スタ14には「00」が格納される。ダウンカウンタ8
から出力される「1」のデータに基づいて、OR回路9
aはHレベルの信号をOR回路9bに出力し、OR回路
9bはそのHレベルの入力信号に基づいてリクエスト信
号SG2を出力する。
【0040】また、ラッチ回路7の出力信号は「00」
となるため、OR回路9cの出力信号はLレベルとな
り、フラグ回路11aにはフラグは設定されない。ま
た、ビット変換回路12は「00」の入力信号を「1
1」の信号に変換して加算器13に出力する。
【0041】加算器13では、ビット変換回路12の
「11」の出力信号と、レジスタ14の「00」の出力
信号とを加算する。すると、加算器13ではキャリーが
生じないため、フラグ回路11bには「1」のフラグは
設定されない。
【0042】前記リクエスト信号SG2に基づいてホス
トCPU1からアクノリッジ信号SG3がDMAC5に
入力されると、同DMAC5は4バイトのデータD1〜
D4を1ワードとして第二のメモリ4から第一のメモリ
2に転送する。
【0043】また、ワード数算出回路ではLレベルのア
クノリッジ信号SG3に基づいてダウンカウンタ8が格
納データから「1」を減算する。すると、OR回路9a
の出力信号はLレベルとなり、OR回路9bの入力信号
はすべてLレベルとなるため、リクエスト信号SG2の
出力は停止され、DMAC5の転送動作は終了する。
【0044】また、図5(b)に示すように先頭から2
番目のバイト位置BT2から4バイトのデータD1〜D
4が書き込まれている場合には、ワード数算出回路に入
力される書き込みバイト数Bnは同じく「100」とな
り、書き込み位置信号I,Jは「01」となる。
【0045】すると、ダウンカウンタ8には「1」が格
納され、ラッチ回路7には「00」がラッチされ、レジ
スタ14には「01」が格納される。ダウンカウンタ8
から出力される「1」のデータに基づいて、OR回路9
aはHレベルの信号をOR回路9bに出力し、OR回路
9bはそのHレベルの入力信号に基づいてリクエスト信
号SG2を出力する。
【0046】また、ラッチ回路7の出力信号は「00」
となるため、OR回路9cの出力信号はLレベルとな
り、フラグ回路11aにはフラグは設定されない。ま
た、ビット変換回路12は「00」の入力信号を「1
1」の信号に変換して加算器13に出力する。
【0047】加算器13では、ビット変換回路12の
「11」の出力信号と、レジスタ14の「01」の出力
信号とを加算する。すると、加算器13ではキャリーが
生じるため、フラグ回路11bには「1」のフラグが設
定される。
【0048】前記リクエスト信号SG2に基づいてホス
トCPU1からアクノリッジ信号SG3がDMAC5に
入力されると、同DMAC5はバイト位置BT1〜BT
4の3バイトのデータD1〜D3を1ワードとして第二
のメモリ4から第一のメモリ2に転送する。
【0049】また、ワード数算出回路ではLレベルのア
クノリッジ信号SG3に基づいてダウンカウンタ8が格
納データから「1」を減算する。すると、OR回路9a
の出力信号はLレベルとなるが、アクノリッジ信号SG
3が入力された時点でフラグ回路11bは「1」を出力
しているので、OR回路9bからリクエスト信号SG2
が出力され続ける。そして、そのリクエスト信号SG2
に基づいてDMAC5にアクノリッジ信号SG3が入力
されると、同DMAC5はバイト位置BT5〜BT8の
1バイトのデータD4を1ワードとして第二のメモリ4
から第一のメモリ2に転送する。
【0050】この時点では、NOR回路10bの入力信
号かすべてLレベルとなって、クリア信号CLRがフラ
グ回路11bに入力され、フラグ回路11bの「1」の
フラグが消去されているので、リクエスト信号SG2の
出力は停止され、DMAC5の転送動作は終了する。
【0051】また、図5(c),(d)に示すように先
頭から3番目、若しくは4番目のバイト位置BT3,B
T4から4バイトのデータD1〜D4が書き込まれてい
る場合にも、DMAC5ではワード数算出回路が同様に
動作して、バイト位置BT1〜BT8に書き込まれてい
るデータをD1〜D4を2ワードとして転送する。
【0052】図6(a)に示すように、書き込まれたデ
ータD1〜D5が5バイトで、ワードの先頭バイトBT
1から書き込まれているとすると、ワード数算出回路に
入力される書き込みバイト数Bnは「101」となり、
書き込み位置信号I,Jは「00」となる。
【0053】すると、ダウンカウンタ8には「1」が格
納され、ラッチ回路7には「01」がラッチされ、レジ
スタ14には「00」が格納される。ダウンカウンタ8
から出力される「1」のデータに基づいて、OR回路9
aはHレベルの信号をOR回路9bに出力し、OR回路
9bはそのHレベルの入力信号に基づいてリクエスト信
号SG2を出力する。
【0054】また、ラッチ回路7の出力信号は「01」
となるため、OR回路9cの出力信号はHレベルとな
り、フラグ回路11aには「1」のフラグが設定され
る。また、ビット変換回路12は「01」の入力信号を
「00」の信号に変換して加算器13に出力する。
【0055】加算器13では、ビット変換回路12の
「00」の出力信号と、レジスタ14の「00」の出力
信号とを加算する。すると、加算器13ではキャリーが
生じないため、フラグ回路11bにはフラグが設定され
ない。
【0056】前記リクエスト信号SG2に基づいてホス
トCPU1からアクノリッジ信号SG3がDMAC5に
入力されると、同DMAC5はバイト位置BT1〜BT
4の4バイトのデータD1〜D4を1ワードとして第二
のメモリ4から第一のメモリ2に転送する。
【0057】また、ワード数算出回路ではLレベルのア
クノリッジ信号SG3に基づいてダウンカウンタ8が格
納データから「1」を減算する。すると、OR回路9a
の出力信号はLレベルとなるが、アクノリッジ信号SG
3が入力された時点でフラグ回路11aは「1」を出力
しているので、OR回路9bからリクエスト信号SG2
が出力され続ける。そして、そのリクエスト信号SG2
に基づいてDMAC5にアクノリッジ信号SG3が入力
されると、同DMAC5はバイト位置BT5〜BT8の
1バイトのデータD5を1ワードとして第二のメモリ4
から第一のメモリ2に転送する。
【0058】この時点では、NOR回路10aの入力信
号かすべてLレベルとなって、クリア信号CLRがフラ
グ回路11aに入力され、フラグ回路11aの「1」の
フラグが消去されているので、リクエスト信号SG2の
出力は停止され、DMAC5の転送動作は終了する。
【0059】図6(b)〜(d)に示すように、5バイ
トのデータD1〜D5の書き込み位置を変えた場合に
も、ワード数算出回路の動作によりDMAC5により2
ワードの転送動作が行われる。
【0060】図7(a)に示すように、書き込まれたデ
ータD1〜D6が6バイトで、ワードの先頭バイトBT
1から書き込まれているとすると、ワード数算出回路に
入力される書き込みバイト数Bnは「110」となり、
書き込み位置信号I,Jは「00」となる。
【0061】すると、ダウンカウンタ8には「1」が格
納され、ラッチ回路7には「10」がラッチされ、レジ
スタ14には「00」が格納される。ダウンカウンタ8
から出力される「1」のデータに基づいて、OR回路9
aはHレベルの信号をOR回路9bに出力し、OR回路
9bはそのHレベルの入力信号に基づいてリクエスト信
号SG2を出力する。
【0062】また、ラッチ回路7の出力信号は「10」
となるため、OR回路9cの出力信号はHレベルとな
り、フラグ回路11aには「1」のフラグが設定され
る。また、ビット変換回路12は「10」の入力信号を
「01」の信号に変換して加算器13に出力する。
【0063】加算器13では、ビット変換回路12の
「01」の出力信号と、レジスタ14の「00」の出力
信号とを加算する。すると、加算器13ではキャリーが
生じないため、フラグ回路11bにはフラグが設定され
ない。
【0064】前記リクエスト信号SG2に基づいてホス
トCPU1からアクノリッジ信号SG3がDMAC5に
入力されると、同DMAC5はバイト位置BT1〜BT
4の4バイトのデータD1〜D4を1ワードとして第二
のメモリ4から第一のメモリ2に転送する。
【0065】また、ワード数算出回路ではLレベルのア
クノリッジ信号SG3に基づいてダウンカウンタ8が格
納データから「1」を減算する。すると、OR回路9a
の出力信号はLレベルとなるが、アクノリッジ信号SG
3が入力された時点でフラグ回路11aは「1」を出力
しているので、OR回路9bからリクエスト信号SG2
が出力され続ける。そして、そのリクエスト信号SG2
に基づいてDMAC5にアクノリッジ信号SG3が入力
されると、同DMAC5はバイト位置BT5〜BT8の
2バイトのデータD5,D6を1ワードとして第二のメ
モリ4から第一のメモリ2に転送する。
【0066】この時点では、NOR回路10aの入力信
号かすべてLレベルとなって、クリア信号CLRがフラ
グ回路11aに入力され、フラグ回路11aの「1」の
フラグが消去されているので、リクエスト信号SG2の
出力は停止され、DMAC5の転送動作は終了する。
【0067】図7(b),(c)に示すように、6バイ
トのデータD1〜D6の書き込み位置を変えた場合に
も、ワード数算出回路の動作によりDMAC5により2
ワードの転送動作が行われる。
【0068】図7(d)に示すように、書き込まれたデ
ータD1〜D6が6バイトで、バイト位置BT4から書
き込まれているとすると、ワード数算出回路に入力され
る書き込みバイト数Bnは「110」となり、書き込み
位置信号I,Jは「11」となる。
【0069】すると、ダウンカウンタ8には「1」が格
納され、ラッチ回路7には「10」がラッチされ、レジ
スタ14には「11」が格納される。ダウンカウンタ8
から出力される「1」のデータに基づいて、OR回路9
aはHレベルの信号をOR回路9bに出力し、OR回路
9bはそのHレベルの入力信号に基づいてリクエスト信
号SG2を出力する。
【0070】また、ラッチ回路7の出力信号は「10」
となるため、OR回路9cの出力信号はHレベルとな
り、フラグ回路11aには「1」のフラグが設定され
る。また、ビット変換回路12は「10」の入力信号を
「01」の信号に変換して加算器13に出力する。
【0071】加算器13では、ビット変換回路12の
「01」の出力信号と、レジスタ14の「11」の出力
信号とを加算する。すると、加算器13ではキャリーが
生じるため、フラグ回路11bには「1」のフラグが設
定される。
【0072】前記リクエスト信号SG2に基づいてホス
トCPU1からアクノリッジ信号SG3がDMAC5に
入力されると、同DMAC5はバイト位置BT1〜BT
4の1バイトのデータD1を1ワードとして第二のメモ
リ4から第一のメモリ2に転送する。
【0073】また、ワード数算出回路ではLレベルのア
クノリッジ信号SG3に基づいてダウンカウンタ8が格
納データから「1」を減算する。すると、OR回路9a
の出力信号はLレベルとなるが、アクノリッジ信号SG
3が入力された時点でフラグ回路11a,11bは
「1」を出力しているので、OR回路9bからリクエス
ト信号SG2が出力され続ける。そして、そのリクエス
ト信号SG2に基づいてDMAC5にアクノリッジ信号
SG3が入力されると、同DMAC5はバイト位置BT
5〜BT8の4バイトのデータD2〜D5を1ワードと
して第二のメモリ4から第一のメモリ2に転送する。
【0074】この時点では、NOR回路10aの入力信
号かすべてLレベルとなって、クリア信号CLRがフラ
グ回路11aに入力され、フラグ回路11aの「1」の
フラグが消去されているが、フラグ回路11bにはフラ
グ「1」が維持されているので、リクエスト信号SG2
が出力され続ける。
【0075】そのリクエスト信号SG2に基づいて、再
度アクノリッジ信号SG3が入力されると、DMAC5
はバイト位置BT9〜BT12の1バイトのデータD6
を1ワードとして第二のメモリ4から第一のメモリ2に
転送する。
【0076】この時点では、NOR回路10bの入力信
号かすべてLレベルとなって、クリア信号CLRがフラ
グ回路11bに入力され、フラグ回路11bの「1」の
フラグが消去されているため、リクエスト信号SG2の
出力は停止され、DMAC5の転送動作は終了する。
【0077】従って、図7(d)に示すように6バイト
のデータD1〜D6をバイト位置BT4から書き始めた
場合には、同データD1〜D6が3ワードとして転送さ
れる。
【0078】また、図8に示すように7バイトのデータ
を転送する場合には、同図(a),(b)に示すバイト
位置で書き込まれていると、上記のような動作に基づい
て2ワードとして転送される。また、同図(c),
(d)に示す書き込み位置で書き込まれていると、上記
のような動作に基づいて3ワードとして転送される。
【0079】上記実施例では、4バイトを1ワードとし
て転送する構成としたが、例えば8バイトを1ワードと
して転送する場合には、上記ワード数算出回路を次に示
すように設定すればよい。
【0080】すなわち、前記ラッチ回路7には書き込み
バイト数信号Bnの下位3ビットを入力し、ダウンカウ
ンタ8にはその上位ビットを入力する。前記レジスタ1
4には、図9に示すように書き込みを開始する各バイト
位置BT1〜BT8に対し、書き込み位置信号P,Q,
Rをそれぞれ入力する。
【0081】また、ビット変換回路12では書き込みバ
イト数信号Bnの下位3ビットを、図10に示す信号
X,Y,Zに変換するように設定する。このようなワー
ド数算出回路により、書き込みバイト数Bn及び書き込
み位置信号P,Q,Rに基づいて、ワード数を算出し、
算出されたワード数に基づいて転送動作を行うことが可
能となる。
【0082】以上のようにこのワード数算出回路では、
書き込みバイト数Bnと、書き込み位置信号に基づい
て、必要なワード数の転送動作を行うためのリクエスト
信号SG2を出力することができ、その回路構成は簡便
である。
【0083】
【発明の効果】以上詳述したように、この発明はワード
の途中のバイト位置から書き込まれた任意バイト数のデ
ータのワード数を簡単な回路構成で算出して、当該デー
タの転送処理速度を向上させ得るデータ処理装置を提供
することができる優れた効果を発揮する。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】一実施例のワード数算出回路を示すブロック図
である。
【図3】1ワードが4バイトで構成される場合のビット
変換回路における変換テーブルを示す説明図である。
【図4】1ワードが4バイトで構成される場合の書き込
み位置信号を生成するための変換テーブルを示す説明図
である。
【図5】4バイトのデータの書き込み状態を示す説明図
である。
【図6】5バイトのデータの書き込み状態を示す説明図
である。
【図7】6バイトのデータの書き込み状態を示す説明図
である。
【図8】7バイトのデータの書き込み状態を示す説明図
である。
【図9】1ワードが8バイトで構成される場合の書き込
み位置信号を生成するための変換テーブルを示す説明図
である。
【図10】1ワードが8バイトで構成される場合のビッ
ト変換回路における変換テーブルを示す説明図である。
【図11】データ処理装置を示すブロック図である。
【符号の説明】
2,4 データ格納装置 5 データ転送処理装置 C 中央処理装置 B バス W ワード数算出回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置(C)と、データ転送処理
    装置(5)と、複数のデータ格納装置(2,4)とをバ
    ス(B)を介して接続し、前記データ転送処理装置
    (5)は複数のバイトで1ワードが構成される任意ワー
    ド数の転送データを、前記中央処理装置(C)との1ワ
    ードずつの応答に基づいて、前記データ格納装置(2,
    4)間でバス(B)を介して1ワードずつ転送するデー
    タ転送装置であって、 あらかじめ設定された1ワードを構成するバイト数に対
    し、前記転送データの書き込みバイト数と、前記転送デ
    ータの書き込み開始バイト位置とに基づいてワード数を
    算出するワード数算出回路(W)を前記データ転送処理
    装置(5)に備えたことを特徴とするデータ転送装置。
  2. 【請求項2】 前記ワード数算出回路(W)は1ワード
    が2n バイトで構成されるとき、2進数の前記書き込み
    バイト数の下位nビット以外の上位ビットの値からワー
    ド数を算出する第一の算出回路(8,9a)と、 前記下位nビットの値が「0」以外のとき前記第一の算
    出回路(8,9a)の算出値に「1」を加算する第二の
    算出回路(7,9c)と、 前記下位nビットの値と、前記書き込み開始バイト位置
    に基づいて設定されるnビットの値とを加算して、キャ
    リーが生じたとき前記第一の算出回路(8,9a)の算
    出値に「1」を加算する第三の算出回路(13)とから
    構成したことを特徴とする請求項1記載のデータ転送装
    置。
  3. 【請求項3】 1ワードが2n バイトで構成されると
    き、転送データの書き込みバイト数を2進数に変換した
    値の下位nビット以外の上位ビットの値からワード数を
    算出し、前記下位nビットの値が「0」以外のとき前記
    算出値に「1」を加算し、前記下位nビットの値と、転
    送データの書き込み開始バイト位置に基づいて設定され
    るnビットの値とを加算して、キャリーが生じたとき前
    記算出値に「1」を加算するワード数算出方法。
JP06076793A 1993-03-19 1993-03-19 データ転送装置及びデータ転送処理方法 Expired - Fee Related JP3471384B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP06076793A JP3471384B2 (ja) 1993-03-19 1993-03-19 データ転送装置及びデータ転送処理方法
US08/529,174 US5581711A (en) 1993-03-19 1995-09-15 Method and apparatus for determining the number of words of transferred data in a digital data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06076793A JP3471384B2 (ja) 1993-03-19 1993-03-19 データ転送装置及びデータ転送処理方法

Publications (2)

Publication Number Publication Date
JPH06274447A true JPH06274447A (ja) 1994-09-30
JP3471384B2 JP3471384B2 (ja) 2003-12-02

Family

ID=13151763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06076793A Expired - Fee Related JP3471384B2 (ja) 1993-03-19 1993-03-19 データ転送装置及びデータ転送処理方法

Country Status (2)

Country Link
US (1) US5581711A (ja)
JP (1) JP3471384B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859990A (en) * 1995-12-29 1999-01-12 Intel Corporation System for transferring data segments from a first storage device to a second storage device using an alignment stage including even and odd temporary devices
US5862407A (en) * 1996-03-15 1999-01-19 Rendition, Inc. System for performing DMA byte swapping within each data element in accordance to swapping indication bits within a DMA command

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59126368A (ja) * 1983-01-10 1984-07-20 Hitachi Ltd 符号化復号化装置
US5151999A (en) * 1986-03-31 1992-09-29 Wang Laboratories, Inc. Serial communications controller for transfer of successive data frames with storage of supplemental data and word counts
US5142628A (en) * 1986-12-26 1992-08-25 Hitachi, Ltd. Microcomputer system for communication
US5086500A (en) * 1987-08-07 1992-02-04 Tektronix, Inc. Synchronized system by adjusting independently clock signals arriving at a plurality of integrated circuits
DE68927015D1 (de) * 1988-02-08 1996-10-02 Fujitsu Ltd Direktspeicherzugriffssteuerung
US5003465A (en) * 1988-06-27 1991-03-26 International Business Machines Corp. Method and apparatus for increasing system throughput via an input/output bus and enhancing address capability of a computer system during DMA read/write operations between a common memory and an input/output device
JP2978539B2 (ja) * 1989-07-24 1999-11-15 日本電気株式会社 データ転送制御装置
JPH0520263A (ja) * 1991-07-15 1993-01-29 Nec Corp データ転送制御装置
US5386532A (en) * 1991-12-30 1995-01-31 Sun Microsystems, Inc. Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels

Also Published As

Publication number Publication date
US5581711A (en) 1996-12-03
JP3471384B2 (ja) 2003-12-02

Similar Documents

Publication Publication Date Title
US6584512B1 (en) Communication DMA device for freeing the data bus from the CPU and outputting divided data
JP3471384B2 (ja) データ転送装置及びデータ転送処理方法
US5214764A (en) Data processing apparatus for operating on variable-length data delimited by delimiter codes
JP2838443B2 (ja) 画像処理方法及び装置
JPH05120210A (ja) マイクロコンピユータ
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
JP2976443B2 (ja) システムバスを介してデータをやりとりする情報処理装置
JP2699482B2 (ja) データ転送制御装置
JPS61255456A (ja) Dma転送方式
JP3480963B2 (ja) Dma転送システム
JPH0754544B2 (ja) イメ−ジメモリのアクセス回路
JPS63292356A (ja) Dma制御装置
JPH0417051A (ja) データ転送方式
JPS61150055A (ja) Dmaデ−タ転送方式
JPH0721102A (ja) メッセージ送受信装置
JPH04148253A (ja) メモリ読出書込制御方式
JPS62237556A (ja) Dmaデ−タ転送方式
JPS60254477A (ja) メモリシステム
JPH0630091B2 (ja) データ変換器
JPH06161945A (ja) メモリデータ転送装置
JPH03260751A (ja) 16ビットバスプロセッサの32ビット入出力装置制御方法
JPS6292055A (ja) デ−タ転送制御装置
JPH039453A (ja) データ転送制御装置
JPS58196677A (ja) 仮想マシンシステムにおけるアドレス変換方式
JPS58196681A (ja) 仮想マシンシステムにおけるアドレス変換方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030422

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030902

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080912

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees