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

データ転送制御方式

Info

Publication number
JPH0195350A
JPH0195350A JP25270487A JP25270487A JPH0195350A JP H0195350 A JPH0195350 A JP H0195350A JP 25270487 A JP25270487 A JP 25270487A JP 25270487 A JP25270487 A JP 25270487A JP H0195350 A JPH0195350 A JP H0195350A
Authority
JP
Japan
Prior art keywords
data
width
buffer
bit
memory
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
JP25270487A
Other languages
English (en)
Inventor
Yasuhide Shibata
柴田 泰秀
Yasuo Hirota
廣田 泰生
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 Ltd
Original Assignee
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 Ltd filed Critical Fujitsu Ltd
Priority to JP25270487A priority Critical patent/JPH0195350A/ja
Publication of JPH0195350A publication Critical patent/JPH0195350A/ja
Pending 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 情報処理装置において、データバス幅が異なるデバイス
間のデータ転送制御方式に関し、バス幅の大きい方のデ
バイスのバス幅に対応させて、バッファで整列させるデ
ータ幅をグイナミソクに変換させることを目的とし、 バッファのデータ整列幅を記憶する整列幅レジスタと、
その整列幅レジスタ内のデータ整列幅とバス幅の大きい
方のデバイスからのバス幅信号とを比較するバッファフ
ルコントロールと’tr 備、t、比較結果に不一致が
発生した場合は、バス幅信号にデータ整列幅を一致させ
る変更を行うように構成する。
〔産業上の利用分野〕
本発明は、情報処理装置のデータ転送制御方式に関し、
特に、データバス幅が異なるデバイス間のデータ転送制
御方式に関する。
〔従来の技術〕
情報処理装置において、データ転送を行う2つのデバイ
スのデータバス幅が異なることは珍しいことではない。
例えば、Iloからメモリへ入出力する場合、Iloが
8ビツトバス幅で、メモリが16ビツトバス幅又は32
ビツトバス幅であるという状況はしばしば起こる。この
ような場合、単純な回路構成としては、第6図に示すよ
うに、バス幅の小さいデバイスによって転送回数が規定
される。同図において、デバイスAは32ビツトのメモ
リであり、デバイスBは8ビツトのIloであるが、3
2ビツトのデータを転送する場合、Iloが8ビツトず
つ4回に分けてトランシーバへ出力するため、メモリは
それらを1回で入力できるバス幅を持っているにも拘ら
ず4回のデータ転送が必要となる。
この不都合を解決する方法として用いられるのが、第7
図に示すように、データ整列を行うバッファを中間に置
く方法である。第7図において、デバイスBであるIl
oはデバイスAであるメモリを直接アクセスするのでは
なく、データ整列用バッファを通して行う。メモリライ
トの際には、8ビツトのIloはデータ整列用バッファ
に4回転送を行い、32ビツトのデータが揃った時点で
バッファ内のデータをメモリに転送する。メモリリード
の際には、メモリから32ビツトのデータをデータ整列
用バッファに格納し、その後バッファからI/、0に8
ビツトずつのデータ転送を4回行う。この方式によれば
、バス幅の大きいデバイス側は1回の転送で済み、空い
た時間は他のデバイスとの転送等に有効に使用できる。
〔発明が解決しようとする問題点〕
ところが、デバイスの中には、バス幅が途中のアドレス
で変更されるものがある。例えばメモリが内蔵メモリと
増設メモリとで形成される場合、内蔵メモリは32ビツ
トで構成するとしても、増設メモリは16ビツトの外部
バスに接続するので16ビツトで構成したいことがある
。このようなデバイスに上記の方式を適用すると、バッ
ファで整列させるデータ幅を変更するか、転送を複数に
分けなければならない。
この解決方法としては、第8図に示すように、デバイス
からバスサイズ情報を受信してバッファとデバイスAと
の転送を複数回に分けて行う方法がある。即ち、8ビツ
トのデバイスBから#1゜#2. #3. #4又は#
5. #6. #7. #8の4回ずつで送られて来た
データをバッファに格納しておいて、デバイスAが32
ビツト幅を報告すればバッファ内のデータを#1. #
2. #3. #4に纏めて1回で転送し、16ビツト
幅を報告すれば#5.#6及び#7.#8の2回ずつで
転送する。
しかし、デバイスBの転送要求の時間間隔が短いと、1
6ビツトバスになって2回ずつに分けたとき、第9図に
示すように、バッファから2回目の転送中にデバイスB
から次の転送要求が出て、オーバーランが発生する確率
が高くなる。
本発明は、このような問題点に鑑みて創案されたもので
、バス幅の大きい方のデバイスのバス幅に対応させて、
バッファで整列させるデータ幅をダイナミックに変化さ
せるデータ転送制御方式を提供することを目的とする。
〔問題点を解決するための手段〕
本発明において、上記の問題点を解決するための手段は
、一方のバス幅が他方のバス幅の整数倍である2種類の
デバイスの間に、所要のデータ整列幅を有するバッファ
を有するバッファ部を配設し、バス幅の大きいデバイス
に対するデータ転送を一括整列するデータ転送制御方式
において、バッファのデータ整列幅を記憶する整列幅レ
ジスタと、その整列幅レジスタ内のデータ整列幅とバス
幅の大きい方のデバイスからのバス幅信号とを比較する
バッファフルコントロールとを備え、比較結果に不一致
が発生した場合は、バス幅信号にデータ整列幅を一致さ
せる変更を行うデータ転送制御方式によるものとする。
尚、通常はバッファ部に整列幅レジスタ及びバッファフ
ルコントロールを備え、DMACによりこれらを制御す
ると好適である。
〔作 用) 本発明では、バス幅の大きい方のデバイスからバス幅信
号を受け、バス幅に応じたデータ整列を行う。また、バ
ッファ部にデータ整列幅レジスタを設け、バス幅の大き
い方のデバイスとバッファとの間の転送時に、そのデバ
イスから報告されるバス幅信号とデータ整列幅とが一致
しているかをチエツクする。一致していれば、そのまま
1対1のデータ転送を行う。不一致の場合は、必要に応
じて複数回のデータ転送を行い、該デバイスのバス幅を
新しいデータ整列幅として整列幅レジスタに格納する。
相手方デバイスからの次のバッファアクセスからは、新
しいデータ整列幅に基づいてデバイスとの転送を行う。
〔実施例〕
以下、図面を参照して、本発明の実施例を詳細に説明す
る。
第1図は、本発明によるデータ転送制御方式の一実施例
を示す構成図である。第1図において、情報処理装置は
、32ビット幅メモリlと、16ビツト幅メモリ2と、
8ビットI10回路3と、それらのDMAデータ転送を
制御するDMAC4と、メモリl及び2とI10回路3
との間に配設されたバッファ部5とで構成されている。
メモリ1及びメモリ2はデバイスAを形成するもので、
両者のアドレスは連続している。I10回路3はデバイ
スBに相当し、DMAC4がらのコントロール信号によ
りデータの入出力を行う。
DMAC4は公知のDMAコントローラで、メモリー−
バッファ間及びl10−−バッファ間のデータ転送の制
御を行う。A31〜Aooはアドレスバスであり、D3
1〜Dooはデータバス°である。
バッファ部5は、I10回路のデータバスDo7〜Do
oとメモリのデータバスD31〜Dooとの間に介設さ
れていて、バッファ51と、■10アクセス′タイミン
グ制御部52と、メモリアクセスタイミング制御部53
と、データ整列幅レジスタ54と、バッファカウンタ5
5と、バッファフルコントロール56とを備えている。
バッファ51は、データを一括整列するもので、8ビツ
トx 4 (OpO,Opl、Op2.Op3 )で構
成されている。
I10アクセスタイミング制御部52は、I10回路3
とバッファ51間のデータ転送をタイミング制御し、メ
モリアクセスタイミング制御部53は、メモリ1又は2
とバッファ51との間のデータ転送をタイミング制御す
る。
データ整列幅レジスタ54は、何バイトのデータを整列
させるかを示す値が格納される。
バッファカウンタ55はアクセスすべきバッファ内のバ
イト位置を示し、I10回路3のアクセス毎に1ビット
位置ずつ更新される。データ整列幅レジスタ54が32
ビット幅を示しているときは、OpO→Opl→Op2
→Op3→OpO→Oplという具合に、4バイトの中
で、サイクリックに変化する。
データ整列幅レジスタ54が16ビツト幅を示すときは
、OpO→Opl→OpOという具合に、2バイトの中
で変化する。
バッファフルコントロール56は、データ整列幅レジス
タ54で示されたバイト数に対応するデータをバッファ
51に格納した(又は読取った)ことを検出して、DM
AC4に“バッファフル”信号を出力する。
メモリ1とメモリ2は、メモリ1の方が下位アドレスに
割付けられ、アドレスXがらメモリ2が割付けられてい
るとし、DMA転送はアドレスAから開始され、アドレ
スXを挟んで、アドレスBまで行うとする。尚、I10
回路3からのデータをメモリ1又は2にライトする方向
で説明する。
DMAC4に所定のパラメータがセットされ、I10回
路3からの転送要求カマ発生すると、まずDMAC4と
I10回路3とバッファ51に対して8ビツトデータを
バッファ51に格納する指示が出され、データ整列幅レ
ジスタ54にはデフォルトで32ビット幅がセントされ
る。このときバッファカウンタ56はOpOを示してい
る。最初のデータはバッファ51のOpOに格納される
。続いて、I10回路3の転送要求に応じて、Opl、
Op2.Op3へ順次データが格納され、その度合I1
0アクセスタイミング制御部52からバッファカウンタ
55へは、データが転送された旨の信号が送出され、そ
の間、バッファフルコントロール56はデータ整列幅レ
ジスタ54とバッファカウンタ55の値の比較を行って
いて、Op3にデータが格納された時点で、DMAC4
に対して“バッファフル”信号を送出する。
DMAC4は、該信号を受信するとメモリバスを獲得し
、アドレスを送出してバッファ51とメモリ1間の転送
を行う。バッファ部5は、データ整列幅レジスタ54に
32ビツト幅がセントされているので、OpOからOp
3までの32ビツトデータをメモリlに送出し、メモリ
1は、32ビツト幅であるので、32ビツトデータを受
は入れ、32ビツト幅であることを示すバス幅信号をバ
ッファ部5とDMAC4に報告する。DMAC4はアド
レスカウントを+4だけ進めて、次回のIloからの転
送要求に備える。バッファ部5は“バッファフル”信号
をオフにして、バッファカウンタ55をOpoにもどす
さて、転送が進んでアドレスXになったとき、データ整
列幅レジスタ54は32ビツト幅を示しており、I10
回路3からのデータはOpOがらOp3まで格納されて
、DMAC4に“バッファフル”信号が送出される。D
MAC4はメモリに対してアドレスXからも32ビツト
データを転送しようとし、バッファ部5からメモリに対
して32ビツトのデータが送出されるが、アドレスXは
メモリ2であるため、そのメモリ2は2バイトのデータ
のみ受取り、16ビツト幅であることを示すバス幅信号
を送出する。このバス幅信号は、データ整列幅レジスタ
54に格納されているパス幅と異なるため、DMAC4
はアドレスを+2だけ更新し、メモリ2とバッファ51
間の転送をもう一度行う。
バッファ部5は、データ整列幅レジスタ54の値を16
ビツト幅に変更し、バッファカウントをOpOにもどす
引続き、I10回路3からのデータ転送要求に応じて、
バッファ51のOpO及びOplにデータが格納される
。このとき、データ整列幅レジスタ54の値は16ビツ
ト幅を示しているので、バッファ51のOplにデータ
を格納した時点で、バッファフルコントロール56はD
MAC4に“バッファフル3信号を送出する。DMAC
4はメモリバスを獲得し、バッファ51からメモリ2へ
の16ビツトのデータ転送を指示する。
以降、メモリ2からのバス幅信号が16ビツトを示して
いる間、同様の転送が行われる。
以下、上記実施例のデータ転送動作を、従来の技術例で
説明したと同様に、32ビツト及び16ビツトデータ幅
のメモリをデバイスA、8ビットデータ幅のIloをデ
バイスBとし、32ビツトまで整列可能なバッファとの
3者間のデータ転送を例として説明する。
今、第2図に示すように、32ビツト幅のアドレス空間
に転送を行っているとする。バッファ内のデータ整列幅
レジスタには32ビツト幅が格納されており、デバイス
Aからのバス幅信号は32ビツトを示している。このと
きは、4回のデバイスBの転送に対して1回のデバイス
への転送が行われる。
さて、第3図に示すように、アドレスXでデバイスAの
バス幅が16ビツトに減少したとする。
このとき、デバイスAのバス幅信号は16ビツトを示し
、バッファ内のデータ整列幅は32ビツトを示している
ため、不一致が発生する。このときバッファ内には、既
に32ビツトのデータが格納されているが、デバイスA
は16ビツト分のデータしか受取らないため、アドレス
を+2更新し、もう−度続けてデバイスAをアクセスす
る。そして、データ整列幅レジスタを16ビツト幅に変
更する。
次回のデバイスBの転送からは、第4図に示すように、
2回のデバイスB転送につき1回のデバイスA転送を行
う。
第5図に示すように、アドレスY以後デバイスへのビッ
ト幅が16ビツトから32ビツトに変化したとすると、
デバイスAに対して16ビツトの転送を行っている時に
、デバイスAから32ビソト幅であることを示すバス幅
信号が報告される。
このとき、データ整列幅レジスタは16ビント幅を示し
ているため不一致が発生するが、このときはデバイスA
のデータ幅の方が広いため、1回の転送でよい。次のデ
バイスAの転送は、ロングワードの境界の関係上32ビ
ツトの転送が行えないためもう一度16ビントの転送を
行い、バッファ内のデータ整列幅レジスタの値を32ビ
ット幅に変更する。次のデバイスBの転送からは、第2
図に示すように、4回のデバイスB転送につき1回のデ
バイスA転送を行うことができる。
このように、本発明の実施例によれば、バス幅が途中の
アドレスから異なる場合に、1サイクルのみ複数のデー
タ転送が生じるだけで、後はバス幅に応じたデータの整
列が行われ、オーバーランの発生を防ぐことができ、デ
バイスのバス幅信号によってダイナミックに整列幅が変
化し、最適化され、プログラムにより整列幅を指定する
必要がなく、バス幅の異なるメモリに対しても連続的に
転送を行うことができる。
〔発明の効果〕
以上、説明したように、本発明によれば、バス幅の大き
い方のデバイスのバス幅に対応させて、バッファで整列
させるデータ幅をダイナミックに変化させるデータ転送
制御方式を提供することができる。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図、 第2図〜第5図は実施例の動作の説明図、第6図〜第7
図は従来例の構成図、 第8図〜第9図は従来例の動作の説明図である。 1;32ビット幅メモリ(デバイスA)、2;16ビツ
ト幅メモリ(デバイスA)、3;8ビット幅I10回路
(デバイスB)、4 ; DMAC。 5;バッファ部、 51;バッファ、 52;I10アクセスタイミング制御部、53:メモリ
アクセスタイミング制御部、54;データ整列幅レジス
タ、 55;バッファカウンタ、 56;バッファフルコントロール。 第1図 介セ1%   32 bL/べbLt 不浴1]月の万11了−実七θ11の沈υ月図佑つ阿 杢発明の別な一大施ヤIIの雛朝図 第4図 f7訃1      lbしt32 本発明の矛1/J−劣亮ν1の説明同

Claims (1)

  1. 【特許請求の範囲】 一方のバス幅が他方のバス幅の整数倍である2種類のデ
    バイス(1、2と3)の間に、 所要のデータ整列幅を有するバッファ(51)を有する
    バッファ部(5)を配設し、 バス幅の大きいデバイス(1又は2)に対するデータ転
    送を一括整列するデータ転送制御方式において、 バッファ(51)のデータ整列幅を記憶する整列幅レジ
    スタ(54)と、 その整列幅レジスタ(54)内のデータ整列幅とバス幅
    の大きい方のデバイス(1又は2)からのバス幅信号と
    を比較するバッファフルコントロール(56)とを備え
    、 比較結果に不一致が発生した場合は、バス幅信号にデー
    タ整列幅を一致させる変更を行うことを特徴とするデー
    タ転送制御方式。
JP25270487A 1987-10-07 1987-10-07 データ転送制御方式 Pending JPH0195350A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25270487A JPH0195350A (ja) 1987-10-07 1987-10-07 データ転送制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25270487A JPH0195350A (ja) 1987-10-07 1987-10-07 データ転送制御方式

Publications (1)

Publication Number Publication Date
JPH0195350A true JPH0195350A (ja) 1989-04-13

Family

ID=17241089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25270487A Pending JPH0195350A (ja) 1987-10-07 1987-10-07 データ転送制御方式

Country Status (1)

Country Link
JP (1) JPH0195350A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005033950A3 (de) * 2003-10-07 2005-08-04 Siemens Ag Bussystem und buscontroller für elektronische systeme

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005033950A3 (de) * 2003-10-07 2005-08-04 Siemens Ag Bussystem und buscontroller für elektronische systeme

Similar Documents

Publication Publication Date Title
US4633437A (en) Data processor having dynamic bus sizing
US4144562A (en) System and method for increasing microprocessor output data rate
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
US5649125A (en) Method and apparatus for address extension across a multiplexed communication bus
EP0331487B1 (en) Data transfer control system
EP0690382A2 (en) Computer system with a multiplexed address bus and pipelined write operations
JPH0195350A (ja) データ転送制御方式
US4751632A (en) Data processor having multiple cycle operand cycles
GB2119977A (en) Microcomputer systems
JPH11259417A (ja) バスアクセス方式およびバスアクセス制御装置
JPH0954748A (ja) コンピュータシステムおよびこのシステムに設けられるdmaコントローラ
US20220237132A1 (en) Data transmission method and ping-pong dma architecture
JPS6162961A (ja) 入出力機器
JP3480963B2 (ja) Dma転送システム
JPH05250310A (ja) データ処理装置
JPS5991560A (ja) マイクロプロセツサ
JPH03152651A (ja) 情報伝送システム
JPS62263560A (ja) デ−タ転送方式
JPH04346150A (ja) データ転送処理システム
JPH05128279A (ja) ワンチツプマイクロコンピユータ
JPS61267852A (ja) デ−タ・バス変換方式
JPS62145345A (ja) 直接メモリアクセス間隔制御方式
WO1986000431A1 (en) Data processor having multiple bus cycle operand cycles
JPH0668019A (ja) Dma制御装置
JPS63300346A (ja) Dma制御方式