JPH06266655A - データ転送制御方式 - Google Patents

データ転送制御方式

Info

Publication number
JPH06266655A
JPH06266655A JP5734293A JP5734293A JPH06266655A JP H06266655 A JPH06266655 A JP H06266655A JP 5734293 A JP5734293 A JP 5734293A JP 5734293 A JP5734293 A JP 5734293A JP H06266655 A JPH06266655 A JP H06266655A
Authority
JP
Japan
Prior art keywords
data
transfer
bus
control unit
signal
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.)
Pending
Application number
JP5734293A
Other languages
English (en)
Inventor
Kenji Muranushi
賢治 村主
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
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co 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, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP5734293A priority Critical patent/JPH06266655A/ja
Publication of JPH06266655A publication Critical patent/JPH06266655A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 データ転送制御方式に関し、プロセッサおよ
びバスに関する固有情報を全く意識することなくデータ
転送を伴うプログラムを作成可能とするとともに、デー
タ転送によってメモリの使用効率が低下しないようにす
る。 【構成】 バウンダリの異なる複数のプロセッサが接続
されたバス間でデータ転送を行う場合、データ転送制御
部とデータバッファとをバス間に設けて、データ転送制
御部にはあらかじめプロセッサおよびバスに関する固有
情報を設定しておく。そして、データ転送制御部によ
り、データバッファを介してバス間を転送される転送デ
ータの調整および変換を行う。以上により、プロセッサ
およびバスに関する固有情報を意識せずにデータ転送を
伴うプログラムを作成でき、当該プログラムの融通性を
高められる。また、データ転送がバイト単位で行われる
ため、無効データが発生せずメモリの使用効率を高めら
れる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ転送制御方式に係
り、特に互いにバウンダリの異なるプロセッサに接続さ
れている2つのバス間におけるデータ転送制御方式に関
する。
【0002】
【従来の技術】図9は従来のデータ転送制御方式の一例
を示すブロック図であり、1はバスXに接続された入出
力部(I/O)、2はバスYに接続されたメモリ、3は
データを一時的に保持するデータバッファ、4はバス
X,Y間のデータ転送を制御するDMA制御部である。
同図中において、入出力部1からメモリ2に対してデー
タ転送しようとしたとき、入出力部1およびバスXにお
けるバウンダリ(一時に入出力されるデータ長)とメモ
リ2およびバスYにおけるバウンダリとが異なっていた
場合(例えば、バスX側が16ビット=2バイト,バス
Y側が32ビット=4バイトなど)には、入出力部1か
ら転送されるデータをデータバッファ3に一旦保持させ
た後、メモリ2のバウンダリ毎にバスY側に一括的にD
MA転送してメモリ2に書き込むことによって、バスY
の使用回数を低減させて高速なDMA転送を実現してい
た。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来のデータ転送制御方式においては、転送元および転送
先の先頭アドレスを必ずバウンダリに合わせて指定する
必要があり、データ転送を伴うプログラムを常に上記バ
ウンダリを意識して作成しなければならなかったため、
プログラムの融通性が悪くなるという問題点があった。
また、データ転送はバウンダリ単位に行われる(例え
ば、バウンダリ=4バイトの場合には必ず4バイト毎に
転送される)ため、データ長が上記バウンダリの整数倍
でないデータ(例えば、バウンダリ=4バイトのメモリ
2に対してデータ長=13バイトのデータ)の転送頻度
が多いときなどには、メモリ中に無効データが多数含ま
れることになるため、メモリの使用効率が低下するとい
う問題点があった。
【0004】さらにまた、転送元および転送先のアドレ
シング方式が異なる(例えば、入出力部1側がリトルエ
ンディアン方式のプロセッサで制御され、メモリ2側が
ビッグエンディアン方式のプロセッサで制御されてい
る)場合には、アドレシング方式を意識してデータバッ
ファ3に転送デ−タを保持することが困難となるため、
さらにデータ転送を伴うプログラムの融通性が低下して
しまうという問題点があった。
【0005】したがって本発明の目的は、上記の問題点
を解決して、バス幅やアドレシング方式が異なるメモリ
およびI/O間のバウンダリやアドレシング方式を全く
意識することなくデータ転送を伴うプログラムを作成で
きるとともに、データ転送によってメモリの使用効率が
低下しないデータ転送制御方式を提供することにある。
【0006】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の請求項1は、互いにバウンダリの異なる複
数のプロセッサにそれぞれ対応するバス幅を有する複数
のバス間でデータ転送を行うデータ転送制御方式におい
て、データ転送制御部とデータバッファとを、前記複数
のバス間に具備する構成とし、前記複数のプロセッサの
各々の前記バウンダリおよびアドレシング方式と、前記
複数のバスの各々の前記バス幅とを、あらかじめ前記デ
ータ転送制御部に設定し、前記データ転送制御部によ
り、前記データバッファを介して前記複数のバス間で転
送される転送データの前記バウンダリおよび前記アドレ
シング方式の調整および変換を行うものである。
【0007】さらにまた、本発明の請求項2は、前記デ
ータバッファが、転送元バスのバス幅に対応する格納領
域を有する入力バッファと、転送先バスのバス幅に対応
する格納領域を有する出力バッファと、前記データ転送
制御部からのセレクタ制御信号に応じて前記入力バッフ
ァに格納された前記転送データの前記バウンダリおよび
前記アドレシング方式の調整および変換と前記出力バッ
ファへの格納を行うセレクタとを具備し、前記データ転
送制御部が、プログラムによって個別に指定される前記
転送データに関する情報に応じて前記セレクタ制御信号
の生成および出力を行うデコーダ部と、前記入力バッフ
ァおよび前記出力バッファに対して前記転送データの格
納のタイミングを指示するタイミング制御部と、前記転
送元バスおよび前記転送先バスに対して前記転送データ
の入出力を指示する転送要求制御部とを具備する構成と
したものである。
【0008】
【作用】上記構成に基づく作用を説明する。
【0009】本発明では、複数のバス間に設けられたデ
ータ転送制御部に、各々のバスのバス幅とバスに接続さ
れたプロセッサのバウンダリおよびアドレシング方式を
あらかじめ設定し、データ転送制御部によって転送デー
タのバウンダリおよびアドレシング方式の調整および変
換を行うため、プロセッサ固有のバウンダリおよびアド
レシング方式に関わりなくデータ転送を伴うプログラム
を作成することが可能となり、プログラムの融通性を向
上させることができる。また、上記によって、いずれの
バス間におけるどちらの方向のデータ転送も、バウンダ
リ単位ではなくバイト単位で行われるため、無効データ
が発生せずメモリの使用効率を向上させることができ
る。
【0010】
【実施例】以下、本発明のデータ転送制御方式の一実施
例を図面を用いて詳細に説明する。 図1は、本発明の
データ転送制御方式の一実施例を示すブロック図であ
る。同図中、バスXには、バス制御部1a,マイクロプ
ロセッサユニット(MPU)1b,メモリ1c,入出力
部(I/O)1が接続されている。MPU1bは、プロ
グラム,デ−タを格納するメモリ1cおよびデ−タの入
出力を行う入出力部1を制御し、デ−タ処理を行う。バ
ス制御部1aは、MPU1b,メモリ1c,入出力部1
のバスXに対するバスインタフェ−スを制御する。ま
た、バスYには、バス制御部2a,MPU2b,メモリ
2,入出力部2cが接続されている。MPU2bは、プ
ログラム,デ−タを格納するメモリ2及びデ−タの入出
力を行う入出力部2cを制御し、デ−タ処理を行う。バ
ス制御部2aは、MPU2b,メモリ2,入出力部2c
のバスYに対するバスインタフェ−スを制御する。デー
タバッファ3,DMA制御部4,デ−タ転送制御部5に
よって構成される転送処理部6は、バスX−バスY相互
間(例えば、入出力部1−メモリ2相互間)におけるデ
ータ転送を制御する。そして例えば、MPU1bはメイ
ンプロセッサとして、MPU2bはサブプロセッサとし
て、それぞれ機能する。
【0011】図1において、バスXは16ビット(2バ
イト)のバス幅を有しており、これにアドレシング方式
=リトルエンディアン,バウンダリ=2のMPU1bが
接続されている。すなわち、MPU1bと入出力部1ま
たはメモリ1cとの間のデータの読み書きは一度に16
ビット(2バイト)単位で行われ、その際に上下位バイ
トが入れ替わる。例えば、データ“0DH,0AH”は入出
力部1またはメモリ1cに書き込まれるときには“0A
H,0DH”となる。また、一度に読み書きされるアドレ
スは、必ず偶数→奇数アドレスの順に連続する。例え
ば、アドレス〔4,5〕に対する読み書きは一度のリー
ド/ライトでできるが、アドレス〔3,4〕に対する読
み書きはリード/ライトを2回行わなければならず、し
かも書き込みの場合にはアドレス〔2〕および〔5〕も
書き換えられてしまう。また、バスYは32ビット(4
バイト)のバス幅を有しており、これにアドレシング方
式=ビッグエンディアン,バウンダリ=4のMPU2b
が接続されている。すなわち、MPU2bとメモリ2ま
たは入出力部2cとの間のデータの読み書きは一度に3
2ビット(4バイト)単位で行われ、その際にバイトの
入れ替えは行われない。
【0012】以下、本実施例においては、バスX側の入
出力部1内の転送元アドレス〔1〕〜〔7〕の7バイト
の格納領域に転送元データとして“ABCDEFG”が
格納されており、これをバスY側のメモリ2内の転送先
アドレス〔2〕〜〔8〕に転送する場合を想定条件とし
て説明を行う。なお、図1中に示す矢印は転送処理部6
とバス制御部1a,2aとの間でやりとりされる制御信
号であり、BRQX信号またはBRQY信号は転送処理
部6からバス制御部1aまたは2aに対する転送要求信
号、ACKX信号またはACKY信号はバス制御部1a
または2aから転送処理部6に対する転送確認信号、R
DX信号またはRDY信号は転送処理部6からバス制御
部1aまたは2aに対する転送データ出力指示信号、W
RX信号またはWRY信号は転送処理部6からバス制御
部1aまたは2aに対する転送データ入力指示信号であ
る。
【0013】図2は、図1中のデータ転送制御部を詳細
に示すブロック図である。同図中、51は制御レジスタ
であり、データ転送を伴うプログラムからの転送指示コ
マンドをデータ転送毎に保持する。52a,52b,5
2cはそれぞれ転送元アドレスレジスタ,転送先アドレ
スレジスタ,転送バイトカウンタであり、上記想定条件
では初期値として“1”,“2”,“7”がそれぞれ設
定されて、1バイト転送される毎に前2者はインクリメ
ント(+1)、後者はデクリメント(−1)される。5
3a,53b,53cはそれぞれバウンダリ情報テーブ
ル,アドレシング方式情報テーブル,バス幅情報テーブ
ルであり、バスX,Yに関するバウンダリ,アドレシン
グ方式,バス幅の数値を常に保持する。54,55,5
6はそれぞれセレクタ制御信号(SELA,SELB)
を生成および出力するデコーダ部,入出力タイミング指
示信号(ENA,ENB,STA1,STA2,STB
1,STB2)を生成および出力するタイミング制御
部,バスX,Yとの間で転送要求信号(BRQX,BR
QY)および転送確認信号(ACKX,ACKY)の入
出力を行う転送要求制御部であり、これらについては後
述する。
【0014】図3はデータ転送時における各転送制御信
号のタイミングチャートを示す図であり、図4〜図8は
データ転送中の各フェーズにおけるデータバッファの状
態を示す図である。図4〜図8において、31aはバス
Xのバス幅(=2)に対応する2バイトの格納領域を有
する入力バッファ、31bはバスYのバス幅(=4)に
対応する4バイトの格納領域を有する入力バッファであ
る。32aはバスYのバス幅(=4)に対応する4バイ
トの格納領域を有する出力バッファ、32bはバスXの
バス幅(=2)に対応する2バイトの格納領域を有する
出力バッファである。33aまたは33bは入力バッフ
ァ31aまたは31bに格納された転送データのバウン
ダリおよびアドレシング方式の調整および変換と出力バ
ッファ32aまたは32bへの格納を行うセレクタであ
る。34aまたは34bは出力バッファ32aまたは3
2bからバスYまたはバスXに対するデータ出力をオン
・オフするゲートである。
【0015】また、図3〜図8中、BRQX信号,AC
KX信号,RDX信号,BRQY信号,ACKY信号,
WRY信号の各制御信号については既述のため、その説
明を省略する。また、STA1信号またはSTB1信号
は、入力バッファ31aまたは31bに対してバスXま
たはバスYからの転送データの入力を指示する転送元入
力タイミング指示信号であり、STA2信号またはST
B2信号は、出力バッファ32aまたは32bに対して
バスYまたはバスXへの転送データの出力を指示する転
送先出力タイミング指示信号である。SELA信号また
はSELB信号は、セレクタ33aまたは33bに対し
て転送データのバウンダリおよびアドレシング方式の調
整および変換方法を指示するセレクタ制御信号であり、
ENA信号またはENB信号は、ゲート34aまたは3
4bのオン・オフ制御を行うイネーブル信号である。
【0016】以下、図2〜図8に基づいて、前述した想
定条件でのデータ転送における各制御信号およびデータ
バッファの状態を、各フェーズ毎に説明する。
【0017】 フェーズ: “A”の入力およびバッファリング 当フェーズでは、バスX上の入出力部1(バス幅,バウ
ンダリ=2)のアドレス〔1〕から転送データ“A”を
入力バッファ31aに入力した後、これを出力バッファ
32a内のアドレス〔2〕に書き込む(図4参照)。
【0018】サブフェーズ- I: バスX→“A”→
入力バッファ データ転送制御部5内の転送要求制御部56からBRQ
X信号を出力することにより、データ転送のためにバス
Xを使用することをバスX上のバス制御部1aに対して
伝える。バス制御部1aはバスXを解放した後に、その
ことをACKX信号でデータ転送制御部5に伝える。デ
ータ転送制御部5はACKX信号を確認してから、転送
元アドレス(現在の指定値は〔1〕)の指定および転送
データの読み出しを指示するRDX信号をバス制御部1
aに伝える。バス制御部1aはRDX信号を解析して、
指示された転送元アドレス〔1〕からバウンダリ(=
2)の終端アドレス(〔1〕)まで格納されているデー
タ(“A”)をDATX信号としてバスX上に出力す
る。図1中のDMA制御部4は、DATX信号に対する
アドレシング方式の変換(リトルエンディアン→ビッグ
エンディアン)を行って、これを入力バッファ31aに
対して出力する。これを確認して、データ転送制御部5
内のタイミング制御部55が入力バッファ31aに対し
てSTA1信号を出力する。入力バッファ31aはST
A1信号を確認してから、変換されたDATX信号を受
領してデータ“A”をアドレス〔1〕に格納する。デー
タ“A”の入力バッファ31aへの書き込みが完了する
と、転送元アドレスレジスタ52aの値が転送バイト数
に応じてインクリメントされる(“1”→“2”)。
【0019】サブフェーズ- II: 入力バッファ→
“A”→出力バッファ データ転送制御部5内のデコーダ部54は、制御レジス
タ51,バウンダリ情報テーブル53a,バス幅情報テ
ーブル53cの内容を参照してSELA信号を生成し、
セレクタ33aに対して出力する。これにより、入力バ
ッファ31a内のアドレス〔1〕と出力バッファ32a
内のアドレス〔2〕が対応づけられる。そこで、データ
転送制御部5内のタイミング制御部55が出力バッファ
32aに対してSTA2信号を出力すると、入力バッフ
ァ31a内のアドレス〔1〕に格納されたデータ“A”
が、出力バッファ32a内のアドレス〔2〕にコピーさ
れる。
【0020】フェーズ: “BC”の入力,バッファ
リング,“AB”の出力 当フェーズでは、バスX上の入出力部1(バス幅,バウ
ンダリ=2)のアドレス〔2,3〕から転送データ“B
C”を入力バッファ31aに入力した後、出力バッファ
32a内のアドレス〔3〕に“B”を、アドレス
〔0〕
に“C”を、それぞれ書き込む。この結果、出力バッフ
ァ32a内の転送データのバウンダリが所望のバウンダ
リ(“−−AB”)となるので、“AB”をバスY上の
メモリ2(バス幅,バウンダリ=4)内のアドレス
〔2,3〕に出力する(図5参照)。
【0021】サブフェーズ- I: バスX→“BC”
→入力バッファ データ転送制御部5内の転送要求制御部56からBRQ
X信号を出力することにより、データ転送のためにバス
Xを使用することをバスX上のバス制御部1aに対して
伝える。バス制御部1aはバスXを解放した後に、その
ことをACKX信号でデータ転送制御部5に伝える。デ
ータ転送制御部5はACKX信号を確認してから、転送
元アドレス(現在の指定値は〔2〕)の指定および転送
データの読み出しを指示するRDX信号をバス制御部1
aに伝える。バス制御部1aはRDX信号を解析して、
指示された転送元アドレス〔2〕からバウンダリ(=
2)の終端アドレス(〔3〕)まで格納されているデー
タ(“BC”)をDATX信号としてバスX上に出力す
る。図1中のDMA制御部4は、DATX信号に対する
アドレシング方式の変換(リトルエンディアン→ビッグ
エンディアン)を行って、これを入力バッファ31aに
対して出力する。これを確認して、データ転送制御部5
内のタイミング制御部55が入力バッファ31aに対し
てSTA1信号を出力する。入力バッファ31aはST
A1信号を確認してから、変換されたDATX信号を受
領してデータ“BC”を格納する。データ“BC”の入
力バッファ31aへの書き込みが完了すると、転送元ア
ドレスレジスタ52aの値が転送バイト数に応じてイン
クリメントされる(“2”→“4”)。
【0022】サブフェーズ- II: 入力バッファ→
“BC”→出力バッファ データ転送制御部5内のデコーダ部54は、制御レジス
タ51,バウンダリ情報テーブル53a,バス幅情報テ
ーブル53cの内容を参照してSELA信号を生成し、
セレクタ33aに対して出力する。これにより、入力バ
ッファ31a内のアドレス
〔0〕と出力バッファ32a
内のアドレス〔3〕、入力バッファ31a内のアドレス
〔1〕と出力バッファ32a内のアドレス
〔0〕が、そ
れぞれ対応づけられる。そこで、データ転送制御部5内
のタイミング制御部55が出力バッファ32aに対して
STA2信号を出力すると、入力バッファ31a内のア
ドレス
〔0〕に格納されたデータ“B”が、出力バッフ
ァ32a内のアドレス〔3〕に、入力バッファ31a内
のアドレス〔1〕に格納されたデータ“C”が、出力バ
ッファ32a内のアドレス
〔0〕に、それぞれコピーさ
れる。
【0023】サブフェーズ-III: 出力バッファ→
“AB”→バスY データ転送制御部5内の転送要求制御部56からBRQ
Y信号を出力することにより、データ転送のためにバス
Yを使用することをバスY上のバス制御部2aに対して
伝える。バス制御部2aはバスYを解放した後に、その
ことをACKY信号でデータ転送制御部5に伝える。デ
ータ転送制御部5はACKY信号を確認した後、タイミ
ング制御部55によってゲート34aにENA信号を出
力して、出力バッファ32aからバスYへのDATY信
号の出力を有効とする。図1中のDMA制御部4は、出
力バッファ32aに格納されているデータ“−−AB”
を、DATY信号としてバスY上に出力する。この状態
で、転送先アドレス(現在の指定値は〔2〕)および残
り転送バイト数(現在の指定値は“7”)を指定して、
転送データの書き込みを指示するWRY信号をデータ転
送制御部5がバス制御部2aに伝える。バス制御部2a
はWRY信号を解析して、残り転送バイト数“7”がバ
ウンダリ(=4)よりも大きいため、指示された転送先
アドレス〔2〕からバウンダリ(=4)の終端アドレス
(〔3〕)までに対応する出力バッファ32a内のアド
レス(〔2,3〕)からバスY上に出力されたDATY
信号(データ“AB”)を選択して、メモリ2内の上記
転送先アドレス(〔2,3〕)に格納する。データ“A
B”のメモリ2への書き込みが完了すると、転送先アド
レスレジスタ52bの値を転送バイト数に応じてインク
リメントする(“2”→“4”)とともに、転送バイト
カウンタ52cの値を転送バイト数に応じてデクリメン
トする(“7”→“5”)。
【0024】フェーズ: “DE”の入力およびバッ
ファリング 当フェーズでは、バスX上の入出力部1(バス幅,バウ
ンダリ=2)のアドレス〔4,5〕から転送データ“D
E”を入力バッファ31aに入力した後、これを出力バ
ッファ32a内のアドレス〔1,2〕に書き込む(図6
参照)。
【0025】サブフェーズ- I: バスX→“DE”
→入力バッファ データ転送制御部5内の転送要求制御部56からBRQ
X信号を出力することにより、データ転送のためにバス
Xを使用することをバスX上のバス制御部1aに対して
伝える。バス制御部1aはバスXを解放した後に、その
ことをACKX信号でデータ転送制御部5に伝える。デ
ータ転送制御部5はACKX信号を確認してから、転送
元アドレス(現在の指定値は〔4〕)の指定および転送
データの読み出しを指示するRDX信号をバス制御部1
aに伝える。バス制御部1aはRDX信号を解析して、
指示された転送元アドレス〔4〕からバウンダリ(=
2)の終端アドレス(〔4〕)まで格納されているデー
タ(“DE”)をDATX信号としてバスX上に出力す
る。図1中のDMA制御部4は、DATX信号に対する
アドレシング方式の変換(リトルエンディアン→ビッグ
エンディアン)を行って、これを入力バッファ31aに
対して出力する。これを確認して、データ転送制御部5
内のタイミング制御部55が入力バッファ31aに対し
てSTA1信号を出力する。入力バッファ31aはST
A1信号を確認してから、変換されたDATX信号を受
領してデータ“DE”を格納する。データ“DE”の入
力バッファ31aへの書き込みが完了すると、転送元ア
ドレスレジスタ52aの値が転送バイト数に応じてイン
クリメントされる(“4”→“6”)。
【0026】サブフェーズ- II: 入力バッファ→
“DE”→出力バッファ データ転送制御部5内のデコーダ部54は、制御レジス
タ51,バウンダリ情報テーブル53a,バス幅情報テ
ーブル53cの内容を参照してSELA信号を生成し、
セレクタ33aに対して出力する。これにより、入力バ
ッファ31a内のアドレス
〔0〕と出力バッファ32a
内のアドレス〔1〕、入力バッファ31a内のアドレス
〔1〕と出力バッファ32a内のアドレス〔2〕が、そ
れぞれ対応づけられる。そこで、データ転送制御部5内
のタイミング制御部55が出力バッファ32aに対して
STA2信号を出力すると、入力バッファ31a内のア
ドレス
〔0〕に格納されたデータ“D”が、出力バッフ
ァ32a内のアドレス〔1〕に、入力バッファ31a内
のアドレス〔1〕に格納されたデータ“E”が、出力バ
ッファ32a内のアドレス〔2〕に、それぞれコピーさ
れる。
【0027】フェーズ: “FG”の入力,バッファ
リング,“CDEF”の出力 当フェーズでは、バスX上の入出力部1(バス幅,バウ
ンダリ=2)のアドレス〔6,7〕から転送データ“F
G”を入力バッファ31aに入力した後、入力バッファ
31a内のアドレス
〔0〕に格納された“F”のみを出
力バッファ32a内のアドレス〔3〕に書き込む。この
結果、出力バッファ32a内の転送データのバウンダリ
が所望のバウンダリ(“CDEF”)となるので、“C
DEF”をバスY上のメモリ2(バス幅,バウンダリ=
4)内のアドレス〔4〜7〕に出力する(図7参照)。
【0028】サブフェーズ- I: バスX→“FG”
→入力バッファ データ転送制御部5内の転送要求制御部56からBRQ
X信号を出力することにより、データ転送のためにバス
Xを使用することをバスX上のバス制御部1aに対して
伝える。バス制御部1aはバスXを解放した後に、その
ことをACKX信号でデータ転送制御部5に伝える。デ
ータ転送制御部5はACKX信号を確認してから、転送
元アドレス(現在の指定値は〔6〕)の指定および転送
データの読み出しを指示するRDX信号をバス制御部1
aに伝える。バス制御部1aはRDX信号を解析して、
指示された転送元アドレス〔6〕からバウンダリ(=
2)の終端アドレス(〔7〕)まで格納されているデー
タ(“FG”)をDATX信号としてバスX上に出力す
る。図1中のDMA制御部4は、DATX信号に対する
アドレシング方式の変換(リトルエンディアン→ビッグ
エンディアン)を行って、これを入力バッファ31aに
対して出力する。これを確認して、データ転送制御部5
内のタイミング制御部55が入力バッファ31aに対し
てSTA1信号を出力する。入力バッファ31aはST
A1信号を確認してから、変換されたDATX信号を受
領してデータ“FG”を格納する。データ“FG”の入
力バッファ31aへの書き込みが完了すると、転送元ア
ドレスレジスタ52aの値が転送バイト数に応じてイン
クリメントされる(“6”→“8”)。
【0029】サブフェーズ- II: 入力バッファ→
“F”→出力バッファ データ転送制御部5内のデコーダ部54は、制御レジス
タ51,バウンダリ情報テーブル53a,バス幅情報テ
ーブル53cの内容を参照してSELA信号を生成し、
セレクタ33aに対して出力する。これにより、入力バ
ッファ31a内のアドレス
〔0〕と出力バッファ32a
内のアドレス〔3〕が対応づけられる。そこで、データ
転送制御部5内のタイミング制御部55が出力バッファ
32aに対してSTA2信号を出力すると、入力バッフ
ァ31a内のアドレス
〔0〕に格納されたデータ“F”
が、出力バッファ32a内のアドレス〔3〕にコピーさ
れる。
【0030】サブフェーズ-III: 出力バッファ→
“CDEF”→バスY データ転送制御部5内の転送要求制御部56からBRQ
Y信号を出力することにより、データ転送のためにバス
Yを使用することをバスY上のバス制御部2aに対して
伝える。バス制御部2aはバスYを解放した後に、その
ことをACKY信号でデータ転送制御部5に伝える。デ
ータ転送制御部5はACKY信号を確認した後、タイミ
ング制御部55によってゲート34aにENA信号を出
力して、出力バッファ32aからバスYへのDATY信
号の出力を有効とする。図1中のDMA制御部4は、出
力バッファ32aに格納されているデータ“CDEF”
を、DATY信号としてバスY上に出力する。この状態
で、転送先アドレス(現在の指定値は〔4〕)および残
り転送バイト数(現在の指定値は“5”)を指定して、
転送データの書き込みを指示するWRY信号をデータ転
送制御部5がバス制御部2aに伝える。バス制御部2a
はWRY信号を解析して、残り転送バイト数“5”がバ
ウンダリ(=4)よりも大きいため、指示された転送先
アドレス〔4〕からバウンダリ(=4)の終端アドレス
(〔7〕)までに対応する出力バッファ32a内のアド
レス(〔0〜3〕)からバスY上に出力されたDATY
信号(データ“CDEF”)を選択して、メモリ2内の
上記転送先アドレス(〔4〜7〕)に格納する。データ
“CDEF”のメモリ2への書き込みが完了すると、転
送先アドレスレジスタ52bの値を転送バイト数に応じ
てインクリメントする(“4”→“8”)とともに、転
送バイトカウンタ52cの値を転送バイト数に応じてデ
クリメントする(“5”→“1”)。
【0031】フェーズ: “G”の出力 当フェーズでは、入力バッファ31a内のアドレス
〔1〕に格納された“G”を出力バッファ32a内のア
ドレス
〔0〕に書き込む。この結果、出力バッファ32
a内の転送データのバウンダリが所望のバウンダリ
(“G−−−”)となるので、“G”をバスY上のメモ
リ2(バス幅,バウンダリ=4)内のアドレス〔8〕に
出力する(図8参照)。
【0032】サブフェーズ- I: 入力バッファ→
“G”→出力バッファ データ転送制御部5内のデコーダ部54は、制御レジス
タ51,バウンダリ情報テーブル53a,バス幅情報テ
ーブル53cの内容を参照してSELA信号を生成し、
セレクタ33aに対して出力する。これにより、入力バ
ッファ31a内のアドレス〔1〕と出力バッファ32a
内のアドレス
〔0〕が対応づけられる。そこで、データ
転送制御部5内のタイミング制御部55が出力バッファ
32aに対してSTA2信号を出力すると、入力バッフ
ァ31a内のアドレス〔1〕に格納されたデータ“G”
が、出力バッファ32a内のアドレス
〔0〕にコピーさ
れる。
【0033】サブフェーズ- II: 出力バッファ→
“G”→バスY データ転送制御部5内の転送要求制御部56からBRQ
Y信号を出力することにより、データ転送のためにバス
Yを使用することをバスY上のバス制御部2aに対して
伝える。バス制御部2aはバスYを解放した後に、その
ことをACKY信号でデータ転送制御部5に伝える。デ
ータ転送制御部5はACKY信号を確認した後、タイミ
ング制御部55によってゲート34aにENA信号を出
力して、出力バッファ32aからバスYへのDATY信
号の出力を有効とする。図1中のDMA制御部4は、出
力バッファ32aに格納されているデータ“GDEF”
を、DATY信号としてバスY上に出力する。この状態
で、転送先アドレス(現在の指定値は〔8〕)および残
り転送バイト数(現在の指定値は“1”)を指定して、
転送データの書き込みを指示するWRY信号をデータ転
送制御部5がバス制御部2aに伝える。バス制御部2a
はWRY信号を解析して、残り転送バイト数“1”がバ
ウンダリ(=4)よりも小さいため、指示された転送先
アドレス〔8〕から残り転送バイト数“1”に対応する
出力バッファ32a内のアドレス(
〔0〕)からバスY
上に出力されたDATY信号(データ“G”)を選択し
て、メモリ2内の上記転送先アドレス(〔8〕)に格納
する。
【0034】以上のように本実施例によれば、プロセッ
サ固有のバウンダリおよびアドレシング方式に関わりな
くデータ転送を伴うプログラムを作成することが可能と
なり、プログラムの融通性を向上させることができると
いう効果を得られる。また、上記によって、いずれのバ
ス間におけるどちらの方向のデータ転送も、バウンダリ
単位ではなくバイト単位で行われるため、無効データが
発生せずメモリの使用効率を向上させることができると
いう効果を得られる。
【0035】なお、本実施例においては、データバッフ
ァ3として、入力バッファ31a,出力バッファ32
a,セレクタ33a,ゲート34a(A系統)を使用し
てバスX側からバスY側へのデータ転送を行う場合につ
いて説明したが、入力バッファ31b,出力バッファ3
2b,セレクタ33b,ゲート34b(B系統)を使用
してバスY側からバスX側へのデータ転送を行う場合に
ついても、ほぼ同様の動作が行われる。また、A系統と
B系統とが同時に使用される(すなわち、バスX側とバ
スY側との間で同時に双方向のデータ転送が行われる)
ことはないため、上記のうち、入力バッファ,出力バッ
ファ,セレクタを1系統として、共用する構成としても
よい。
【0036】
【発明の効果】以上詳しく説明したように、本発明によ
れば、複数のバス間で転送されるデータのバウンダリお
よびアドレシング方式の調整を行うデータ転送制御部お
よびデータバッファを設けたことにより、プロセッサ固
有のバウンダリおよびアドレシング方式に関わりなくデ
ータ転送を伴うプログラムを作成することが可能とな
り、プログラムの融通性を向上させることができるとい
う効果を得られる。また、上記によってデータ転送がバ
ウンダリ単位ではなくバイト単位で転送されるため、無
効データが発生せずメモリの使用効率を向上させること
ができるという効果を得られる。
【図面の簡単な説明】
【図1】本発明のデータ転送制御方式の一実施例を示す
ブロック図である。
【図2】図1中のデータ転送制御部を詳細に示すブロッ
ク図である。
【図3】データ転送時における各転送制御信号のタイミ
ングチャートを示す図である。
【図4】データ転送中のフェーズにおけるデータバッ
ファの状態を示す図である。
【図5】データ転送中のフェーズにおけるデータバッ
ファの状態を示す図である。
【図6】データ転送中のフェーズにおけるデータバッ
ファの状態を示す図である。
【図7】データ転送中のフェーズにおけるデータバッ
ファの状態を示す図である。
【図8】データ転送中のフェーズにおけるデータバッ
ファの状態を示す図である。
【図9】従来のデータ転送制御方式の一例を示すブロッ
ク図である。
【符号の説明】
1,2c 入出力部(I/O) 1a,2a バス制御部 1b,2b マイクロプロセッサユニット(MPU) 1c,2 メモリ 3 データバッファ 31a,31b 入力バッファ 32a,32b 出力バッファ 33a,33b セレクタ 34a,34b ゲート 4 DMA制御部 5 データ転送制御部 51 制御レジスタ 52a 転送元アドレスレジスタ 52b 転送先アドレスレジスタ 52c 転送バイトカウンタ 53a バウンダリ情報テーブル 53b アドレシング方式情報テーブル 53c バス幅情報テーブル 54 デコーダ部 55 タイミング制御部 56 転送要求制御部 6 転送処理部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 互いにバウンダリの異なる複数のプロセ
    ッサにそれぞれ対応するバス幅を有する複数のバス間で
    データ転送を行うデータ転送制御方式において、 データ転送制御部とデータバッファとを、前記複数のバ
    ス間に具備する構成とし、 前記複数のプロセッサの各々の前記バウンダリおよびア
    ドレシング方式と、前記複数のバスの各々の前記バス幅
    とを、あらかじめ前記データ転送制御部に設定し、 前記データ転送制御部により、前記データバッファを介
    して前記複数のバス間で転送される転送データの前記バ
    ウンダリおよび前記アドレシング方式の調整および変換
    を行うことを特徴とするデータ転送制御方式。
  2. 【請求項2】 前記データバッファは、転送元バスのバ
    ス幅に対応する格納領域を有する入力バッファと、転送
    先バスのバス幅に対応する格納領域を有する出力バッフ
    ァと、前記データ転送制御部からのセレクタ制御信号に
    応じて前記入力バッファに格納された前記転送データの
    前記バウンダリおよび前記アドレシング方式の調整およ
    び変換と前記出力バッファへの格納を行うセレクタとを
    具備し、 前記データ転送制御部は、プログラムによって個別に指
    定される前記転送データに関する情報に応じて前記セレ
    クタ制御信号の生成および出力を行うデコーダ部と、前
    記入力バッファおよび前記出力バッファに対して前記転
    送データの格納のタイミングを指示するタイミング制御
    部と、前記転送元バスおよび前記転送先バスに対して前
    記転送データの入出力を指示する転送要求制御部とを具
    備する構成としたことを特徴とする請求項1記載のデー
    タ転送制御方式。
JP5734293A 1993-03-17 1993-03-17 データ転送制御方式 Pending JPH06266655A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5734293A JPH06266655A (ja) 1993-03-17 1993-03-17 データ転送制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5734293A JPH06266655A (ja) 1993-03-17 1993-03-17 データ転送制御方式

Publications (1)

Publication Number Publication Date
JPH06266655A true JPH06266655A (ja) 1994-09-22

Family

ID=13052904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5734293A Pending JPH06266655A (ja) 1993-03-17 1993-03-17 データ転送制御方式

Country Status (1)

Country Link
JP (1) JPH06266655A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123826A (ja) * 2000-10-13 2002-04-26 Canon Inc データ処理方法および画像処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123826A (ja) * 2000-10-13 2002-04-26 Canon Inc データ処理方法および画像処理装置

Similar Documents

Publication Publication Date Title
JPH03188546A (ja) バスインターフェイス制御方式
EP0898264B1 (en) Display memory control apparatus
JPH06266655A (ja) データ転送制御方式
JP2000020451A (ja) 情報処理装置および方法、並びに提供媒体
JPH05334051A (ja) 非線形変換ジェネレータ
JPH0756803A (ja) 高速dma転送装置
JPH04264652A (ja) Dma制御方式
JPH05242009A (ja) 直接メモリアクセス装置
JP3678537B2 (ja) データ転送方法及び装置
JPH0310354A (ja) データ転送制御システム
JPH09128324A (ja) データ転送制御装置およびデータ転送制御方法
JP3202769B2 (ja) バーストリード処理装置
JPH01140272A (ja) 画像処理装置
JPS61107457A (ja) デ−タ転送制御方式
JPH04346150A (ja) データ転送処理システム
JP2004021713A (ja) 半導体記憶装置
JPH0564820B2 (ja)
JPS59119456A (ja) セグメンテイシヨンされたメモリのアクセス方式
JPH07160653A (ja) データ転送制御装置
JPH02307149A (ja) 直接メモリアクセス制御方式
JPH08163302A (ja) 画像入出力制御装置及び画像入出力制御装置の画像情報転送方法
JPH06131292A (ja) データ転送方式
JPS63231669A (ja) デ−タの伝送方式
JPH0512183A (ja) データ転送方式
JPH04268623A (ja) フロッピーディスク用データバッファ装置