JPH02162449A - バス幅調整装置 - Google Patents
バス幅調整装置Info
- Publication number
- JPH02162449A JPH02162449A JP31649988A JP31649988A JPH02162449A JP H02162449 A JPH02162449 A JP H02162449A JP 31649988 A JP31649988 A JP 31649988A JP 31649988 A JP31649988 A JP 31649988A JP H02162449 A JPH02162449 A JP H02162449A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- signal
- xlt
- ctrl
- 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
Links
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、異なるバス幅のバスが結合された、例えばコ
ンピュータシステム等のようなバス結合システムにおけ
るバス幅の調整を行なうバス幅調整回路に関し、特に大
きい幅を有する方のバスの使用効率の向上に関する。
ンピュータシステム等のようなバス結合システムにおけ
るバス幅の調整を行なうバス幅調整回路に関し、特に大
きい幅を有する方のバスの使用効率の向上に関する。
[従来の技術]
従来、バス結合システムにおいて、色々な長さのデータ
を取り扱うことができるように、システムバスは大体最
大バス幅に設定されている。特に、昨今、マイクロコン
ピュータ技術の進展に伴ない、8ビツトマイクロコンピ
ユータから32ビツトマイクロコンピユータまでが市販
され、64ビツトのものまでが設計中となっている。こ
れらのマイクロコンピュータでは、当然ながら、システ
ムバスはそのマイクロコンピュータの扱えるデータ長ま
での長さとなっている。ところが、−方、IO機器の方
のI10バスのデータ長は8ビツトが主流となっている
。従来、これらのマイクロコンピュータとI10機器と
でシステムを設計した場合は、バス間は(例えばトライ
ステートの)バッファ等で接続されていた。
を取り扱うことができるように、システムバスは大体最
大バス幅に設定されている。特に、昨今、マイクロコン
ピュータ技術の進展に伴ない、8ビツトマイクロコンピ
ユータから32ビツトマイクロコンピユータまでが市販
され、64ビツトのものまでが設計中となっている。こ
れらのマイクロコンピュータでは、当然ながら、システ
ムバスはそのマイクロコンピュータの扱えるデータ長ま
での長さとなっている。ところが、−方、IO機器の方
のI10バスのデータ長は8ビツトが主流となっている
。従来、これらのマイクロコンピュータとI10機器と
でシステムを設計した場合は、バス間は(例えばトライ
ステートの)バッファ等で接続されていた。
[発明が解決しようとする課題]
システムがシステムバスとI10バスとの2つから構成
されている従来例を考久る。かかる場合、例えば、シス
テムバスが16ビツトであり、I10バスが8ビツトの
ときは、I10用のデータはシステムバスの例えば下位
の8ビツトに載せるようにし、上位8ビツトは不使用で
あるというのが一般的であった。従って、折角、システ
ムバスが広いバス幅をもっていても、転送効率は高いと
はいえなかった。
されている従来例を考久る。かかる場合、例えば、シス
テムバスが16ビツトであり、I10バスが8ビツトの
ときは、I10用のデータはシステムバスの例えば下位
の8ビツトに載せるようにし、上位8ビツトは不使用で
あるというのが一般的であった。従って、折角、システ
ムバスが広いバス幅をもっていても、転送効率は高いと
はいえなかった。
そこで本発明はこれら従来技術の欠点を解消するために
提案されたもので、その目的は、2つの異なるバス幅を
有するバスを接続したシステムにおいて、バスの効率的
な使用を可能ならしめたバス幅調整装置を提案するもの
である。
提案されたもので、その目的は、2つの異なるバス幅を
有するバスを接続したシステムにおいて、バスの効率的
な使用を可能ならしめたバス幅調整装置を提案するもの
である。
[課題を解決するための手段]
この課題を解決するための本発明の構成は、異なるデー
タ幅を有する2つのデータバス間でデータ転送を行なう
ために、このバス間に置かれたバス幅調整装置であって
、バスを使用することを要求する信号を載せる信号線と
使用を許可する信号を載せる信号線と、大きい方のバス
のデータ長をもつラッチ手段と、前記要求信号と許可信
号の同期を取る手段とを備える。
タ幅を有する2つのデータバス間でデータ転送を行なう
ために、このバス間に置かれたバス幅調整装置であって
、バスを使用することを要求する信号を載せる信号線と
使用を許可する信号を載せる信号線と、大きい方のバス
のデータ長をもつラッチ手段と、前記要求信号と許可信
号の同期を取る手段とを備える。
[実施例]
以下添付図面を参照して本発明のバス幅調整装置を、1
6ビツトシステムバスと8ビツトI10バスとからなる
バスシステムに適用した実施例を説明する。
6ビツトシステムバスと8ビツトI10バスとからなる
バスシステムに適用した実施例を説明する。
〈システム構成〉
第1図はかかるバスシステムの全体図である。
同図において、1はこの実施例の中心を成すバス幅変換
回路(以下、XLTと略す)そのものであり、その詳細
は第2図に示される。2は例えばディスクコントローラ
(以下、CTRLと略す)のような8ビツトのIOコン
トローラであり、3は例えばハードディスクドライブの
ようなIOデバイス(以下、DVと略す)である。4は
DMA(DIRECT MEMORY ACCESS)
コントローラ(DMACと略す)である、また、5は本
システム内でデータ転送の制御を実行するCPU、6は
転送データを格納するRAMである。7はアドレスデコ
ーダであり、CPU5が第1図のDMAC4等に制御デ
ータを渡すことを、メモリマツプI10方式で行なうた
めに、そのメモリマツプを変換するためのデコーダであ
る。
回路(以下、XLTと略す)そのものであり、その詳細
は第2図に示される。2は例えばディスクコントローラ
(以下、CTRLと略す)のような8ビツトのIOコン
トローラであり、3は例えばハードディスクドライブの
ようなIOデバイス(以下、DVと略す)である。4は
DMA(DIRECT MEMORY ACCESS)
コントローラ(DMACと略す)である、また、5は本
システム内でデータ転送の制御を実行するCPU、6は
転送データを格納するRAMである。7はアドレスデコ
ーダであり、CPU5が第1図のDMAC4等に制御デ
ータを渡すことを、メモリマツプI10方式で行なうた
めに、そのメモリマツプを変換するためのデコーダであ
る。
このシステムにおけるデータの転送は、DMAモードに
おいては、次の2つの転送モードが可能である。DMA
Cを用いてCPUを介さずに、DVMCTRLMXLT
−RAM というように行なわれるDMAモード、また、DMAC
を介さずに、 DVMCTRLMXLTMCPUMRAMというように
行なわれるプログラムR/Wモード、ここで、プログラ
ムモードードとはCPUが8ビツトずつ、DVに対しデ
ータをプログラム的に読み書きするモードを言う。
おいては、次の2つの転送モードが可能である。DMA
Cを用いてCPUを介さずに、DVMCTRLMXLT
−RAM というように行なわれるDMAモード、また、DMAC
を介さずに、 DVMCTRLMXLTMCPUMRAMというように
行なわれるプログラムR/Wモード、ここで、プログラ
ムモードードとはCPUが8ビツトずつ、DVに対しデ
ータをプログラム的に読み書きするモードを言う。
くインターフェース信号〉
実施例のXLTはLSI化が容易なように設計されてお
り、LSI化された場合の端子は以下のようになる。
り、LSI化された場合の端子は以下のようになる。
MODE (DMAC−XLT): DMAT−−ドで
転送を行なうときの転送方向のセット信号入力端子であ
って、MODE=1のときは、DVからのデータ読出し
、MODE=OのときはDVへの書込みとなる。
転送を行なうときの転送方向のセット信号入力端子であ
って、MODE=1のときは、DVからのデータ読出し
、MODE=OのときはDVへの書込みとなる。
5T(START)(DEC−XLT):DMACがD
MA転送をスタートさせるときの信号入力端子であって
、第1図実施例では、デバイス3への書込みときに使う
。
MA転送をスタートさせるときの信号入力端子であって
、第1図実施例では、デバイス3への書込みときに使う
。
C5(C)IIP 5ELECT) (DEC−XL
T) : CPUがXLTをDMAモードで使うか、
プログラムモードで使うかを指示する信号を入力する端
子で、cs= iのときは、DMAモード、C3=0の
ときはプログラムモードとなる。
T) : CPUがXLTをDMAモードで使うか、
プログラムモードで使うかを指示する信号を入力する端
子で、cs= iのときは、DMAモード、C3=0の
ときはプログラムモードとなる。
R/W (CPU−XLT)ニブログラム−E−−ドに
おいて、該端子が“l”のときはDVからの読出しを示
し、“O“のときはDVへの書き込みを示す。
おいて、該端子が“l”のときはDVからの読出しを示
し、“O“のときはDVへの書き込みを示す。
LREQ(LOCAL REQUEST) 、 G
REQ(GLOBALREQUEST) : 従来のDMAリクエストに相当する信号で、LREQが
CTRLからX L T G:出されると、適当なタイ
ミング処理を経てXLTからDMACにGREQが出力
される。このタイミング処理は第6図等で詳細に説明す
る。
REQ(GLOBALREQUEST) : 従来のDMAリクエストに相当する信号で、LREQが
CTRLからX L T G:出されると、適当なタイ
ミング処理を経てXLTからDMACにGREQが出力
される。このタイミング処理は第6図等で詳細に説明す
る。
G A CK (GLOBAL ACKNOWLEDG
E)、 L A CK(LOCAL ACKNOWL
EDGE) :上記DMAリクエストに対し、CPU
がバス使用権を放棄したことを示すと共に、バス上には
DMAデータが載っていることを示す信号で、DMAC
から(7)GREQをXLTが受けると、所定のタイミ
ング処理を経てLACKをCTRLに出力する。
E)、 L A CK(LOCAL ACKNOWL
EDGE) :上記DMAリクエストに対し、CPU
がバス使用権を放棄したことを示すと共に、バス上には
DMAデータが載っていることを示す信号で、DMAC
から(7)GREQをXLTが受けると、所定のタイミ
ング処理を経てLACKをCTRLに出力する。
L I NT : CTRLからの割り込み信号で、本
実施例のXLTでは、DMAモードによるデータ転送が
終了したら、CTRLから送られてくる。
実施例のXLTでは、DMAモードによるデータ転送が
終了したら、CTRLから送られてくる。
SDO〜S D +s(SYSTEM DATA)
: 16ビツトのシステムバスのデータ LDO〜L D t (LOCAL DATA) :
8ビツトのI10バスのデータ。
: 16ビツトのシステムバスのデータ LDO〜L D t (LOCAL DATA) :
8ビツトのI10バスのデータ。
<XLTの動作の概略〉
本実施例に使われるXLTは、周知のDMACとCTR
Lとの間でバス幅調整に使われるものであるが、従来の
DMACやCTRLとの互換性を保つために、CTRL
からもDMACからもXLTが“見えない”ようにする
必要がある。即ち、本実施例ではDMACは16ビツト
でありCTRLは8ビツトであるが、DMACから見れ
ば、CTRLは16ビツトであり、CTRLから見れば
DMACは8ビツトであるように見える必要がある。そ
のために、本実施例において、特にDMAモードのデー
タ転送のデバイス読出し時とデバイス書込み時の夫々に
おいて、LREQに対する、GREQ、GACK、LA
CKの発生タイミングを第3図のように変更している。
Lとの間でバス幅調整に使われるものであるが、従来の
DMACやCTRLとの互換性を保つために、CTRL
からもDMACからもXLTが“見えない”ようにする
必要がある。即ち、本実施例ではDMACは16ビツト
でありCTRLは8ビツトであるが、DMACから見れ
ば、CTRLは16ビツトであり、CTRLから見れば
DMACは8ビツトであるように見える必要がある。そ
のために、本実施例において、特にDMAモードのデー
タ転送のデバイス読出し時とデバイス書込み時の夫々に
おいて、LREQに対する、GREQ、GACK、LA
CKの発生タイミングを第3図のように変更している。
DMAモードのデバイス読出し時では、第3A図に示す
ように、C,TRLから2回のLREQ(その1回が8
とットデータに対応)に対し、1回のGREQが発生す
るようになっている。即ち、XLT内で2つの8とット
データを2つの8ビツトラツチ(後述)に保持した時点
で、GREQを発生させて、システムバスSDに対する
使用要求を出す、このリクエストに対しCPUが許可(
GACK)を返すと、XLTはシステムバス上に16ビ
ツトデータを出力するというものである。
ように、C,TRLから2回のLREQ(その1回が8
とットデータに対応)に対し、1回のGREQが発生す
るようになっている。即ち、XLT内で2つの8とット
データを2つの8ビツトラツチ(後述)に保持した時点
で、GREQを発生させて、システムバスSDに対する
使用要求を出す、このリクエストに対しCPUが許可(
GACK)を返すと、XLTはシステムバス上に16ビ
ツトデータを出力するというものである。
また、デバイス書込み時では、第3B図に示すように、
DMAスタートと共に、GREQを発生せしめて16ビ
ツトデータをXLT内の2つの8ビツトラツチに保持し
ておく、CTRLから最初のLREQが来た時点で、L
ACKを返して最初の8ビツトをCTRLに送り、2度
目のLREQに対するLACKで後の8ビツトをCTR
Lに送る。
DMAスタートと共に、GREQを発生せしめて16ビ
ツトデータをXLT内の2つの8ビツトラツチに保持し
ておく、CTRLから最初のLREQが来た時点で、L
ACKを返して最初の8ビツトをCTRLに送り、2度
目のLREQに対するLACKで後の8ビツトをCTR
Lに送る。
以上のようにして、CTRLからもDMACからもXL
Tは“見えない”ものとなり、また、16ビツトと8ビ
ツトのバス幅の相違は消える。
Tは“見えない”ものとなり、また、16ビツトと8ビ
ツトのバス幅の相違は消える。
尚、第1図実施例においては、デバイス読出し時とデバ
イス書込み時の双方において、DMAリクエストをCT
RL側から発生せしめているのは、一般にDVは、CP
U等と異なり、XLTからみて、バスに対する要求を待
ってもらうことはできないので、DV側からLREQを
出すこと許す構成にしてリクエストを出すタイミングを
DV側に任せることにより、バスに対するアクセスエラ
ーの発生を防止するためである。
イス書込み時の双方において、DMAリクエストをCT
RL側から発生せしめているのは、一般にDVは、CP
U等と異なり、XLTからみて、バスに対する要求を待
ってもらうことはできないので、DV側からLREQを
出すこと許す構成にしてリクエストを出すタイミングを
DV側に任せることにより、バスに対するアクセスエラ
ーの発生を防止するためである。
<XLTの詳細〉
第2図を参照しながら、XLTについて更に詳細に説明
する。
する。
12.13,14.15は夫々が8ビツト幅の3ステー
ト出力付のDタイプラッチであり、システムバス側の1
6ビツトとI10バス側の8ビツトとを同期化するため
に設けられている。このうち、ラッチ12.13はI1
0バスからシステムバス(LD=>SD)へデータ転送
(即ち、デバイス読出し)するときに使われ、ラッチ1
4.15はシステムバスからI10バス(SD−>LD
)へデータ転送(即ち、デバイス書込み)するときに使
われる。尚、3ステートトランシーバ16は8ビツト長
のプログラム転送モードにおいて使われると共に、DM
Aモードを設定するときの初期の制御コマンドをCTR
L側に送るときにも使われる。
ト出力付のDタイプラッチであり、システムバス側の1
6ビツトとI10バス側の8ビツトとを同期化するため
に設けられている。このうち、ラッチ12.13はI1
0バスからシステムバス(LD=>SD)へデータ転送
(即ち、デバイス読出し)するときに使われ、ラッチ1
4.15はシステムバスからI10バス(SD−>LD
)へデータ転送(即ち、デバイス書込み)するときに使
われる。尚、3ステートトランシーバ16は8ビツト長
のプログラム転送モードにおいて使われると共に、DM
Aモードを設定するときの初期の制御コマンドをCTR
L側に送るときにも使われる。
以下、DMAモードにおける、デバイス読出し動作とデ
バイス書込み動作について説明する。
バイス書込み動作について説明する。
iIと仁入韮J[l
第4図はデバイス読出しのためのシーケンスフローチャ
ートであり、第6図はそのタイミングである。
ートであり、第6図はそのタイミングである。
まず、CPUがDMAC等にモード等をセットするとこ
ろから説明する。
ろから説明する。
cpoはDMACにLD#SDという方向の転送モード
を設定する(ステップ540)。このときは、MODE
=1として記憶される。次に、CPUはDMACにメモ
リの転送先または転送元アドレスを指定する(ステップ
540)、これらは、CPUが、メモリマツプI10に
よりDMACに割り当てられたアドレスに対して制御デ
ータを書き込むことによりなされる。このようにすると
、DECがDMACへの制御データの書込みであると検
知して、DMACが選択される0次に、CPUが、XL
TとCTRLの夫々に割り当てられたアドレスにDMA
転送を指示する制御コマンドを書き込む(ステップ54
1)と、DECが、XLTとCTRLのためのO8信号
を出力する。
を設定する(ステップ540)。このときは、MODE
=1として記憶される。次に、CPUはDMACにメモ
リの転送先または転送元アドレスを指定する(ステップ
540)、これらは、CPUが、メモリマツプI10に
よりDMACに割り当てられたアドレスに対して制御デ
ータを書き込むことによりなされる。このようにすると
、DECがDMACへの制御データの書込みであると検
知して、DMACが選択される0次に、CPUが、XL
TとCTRLの夫々に割り当てられたアドレスにDMA
転送を指示する制御コマンドを書き込む(ステップ54
1)と、DECが、XLTとCTRLのためのO8信号
を出力する。
すると、XLTに対して5TART信号が送られる。ま
た、CTRLにO8信号と共に制御コマンドが書き込ま
れる。このとき、C8信号はDECからCTRLへ直接
波されるが、制御コマンドはトランシーバ16、XLT
のLDババス介して渡されることになる。これは、まだ
DMA転送モードになっていないために、ラッチ12,
13,14.15出力は高インピーダンス状態であり、
トランシーバ16のみ動作することで、SDO〜SD7
上の制御コマンドがL D o ” L D tに渡さ
れるようになるからである。
た、CTRLにO8信号と共に制御コマンドが書き込ま
れる。このとき、C8信号はDECからCTRLへ直接
波されるが、制御コマンドはトランシーバ16、XLT
のLDババス介して渡されることになる。これは、まだ
DMA転送モードになっていないために、ラッチ12,
13,14.15出力は高インピーダンス状態であり、
トランシーバ16のみ動作することで、SDO〜SD7
上の制御コマンドがL D o ” L D tに渡さ
れるようになるからである。
MODE=1で、5TART信号がXLTに入力される
と、ゲート42を介してフリップフロップ40がリセッ
トされる。このリセットは、XLT内でタイミングが正
常に行なわれることを保証するために行なわれる。
と、ゲート42を介してフリップフロップ40がリセッ
トされる。このリセットは、XLT内でタイミングが正
常に行なわれることを保証するために行なわれる。
さて、制御コマンドが書き込まれると、CTRLは、D
Vからのデータをデータ転送のためのLREO信号を発
生する(ステップS3)。もしDVが例えばディスクド
ライブであり、CTRLがハードディスクコントローラ
(HDC)であれば、このHDCがディスクからのセク
タマーク信号を受けて、ディスク読出しコマンドを送り
、読出しが開始されることになろう。
Vからのデータをデータ転送のためのLREO信号を発
生する(ステップS3)。もしDVが例えばディスクド
ライブであり、CTRLがハードディスクコントローラ
(HDC)であれば、このHDCがディスクからのセク
タマーク信号を受けて、ディスク読出しコマンドを送り
、読出しが開始されることになろう。
さて、このLREQにより、XLTが動作を開始する。
このLREQ信号は、CTRLが最初の8ビツトをRA
Mに送るためのバスリクエスト信号に相当する。以下、
第6図も参照して説明する。
Mに送るためのバスリクエスト信号に相当する。以下、
第6図も参照して説明する。
LREQの入力により、フリップフロップ22がセット
される。このフリップフロップ22のセットによりラッ
チ12.13が動作可能になる。
される。このフリップフロップ22のセットによりラッ
チ12.13が動作可能になる。
ラッチ動作は、ラッチ12については、信号81*PI
の立ち上がり入力を受けて、ラッチ13についてはSs
*P+の立ち上がり入力を受けて行なわれる。そこで
、信号S+ 、St 、P+ 、P2がフリップフロッ
プ29〜33においてどのように発生するかを説明する
。フリップフロップ29〜32のに入力は、フリップフ
ロップ32のQ出力であるから、初期状態では、フリッ
プフロップ29〜32はリセット状態にある。また、イ
ンバータ43を介した5TART信号によりフリップフ
ロップ33はリセット状態(即ち、S、=O)にある。
の立ち上がり入力を受けて、ラッチ13についてはSs
*P+の立ち上がり入力を受けて行なわれる。そこで
、信号S+ 、St 、P+ 、P2がフリップフロッ
プ29〜33においてどのように発生するかを説明する
。フリップフロップ29〜32のに入力は、フリップフ
ロップ32のQ出力であるから、初期状態では、フリッ
プフロップ29〜32はリセット状態にある。また、イ
ンバータ43を介した5TART信号によりフリップフ
ロップ33はリセット状態(即ち、S、=O)にある。
LREQが入力されると、フリップフロップ29〜フリ
ツプフロツプ33が順に1クロツクずつ遅れてセットさ
れるようになっている。このタイミングチャートを第8
図に示す。第8図によると、フリップフロップ29がセ
ットした後で、1クロック間だけ信号P+が“1“にな
り、2クロック間だけ信号P2が“1”となる、また、
フリップフロップ29〜32のリセットと同時にフリッ
プフロップ33がセットする。次のLREQ (次の8
ビツトに相当)を入力すると、Pr、Plについては前
述のと同一のタイミングで発生する。しかし、SL、S
2については、第8図に示すように、最初の8ビツトと
後の8ビツトでは逆転している。
ツプフロツプ33が順に1クロツクずつ遅れてセットさ
れるようになっている。このタイミングチャートを第8
図に示す。第8図によると、フリップフロップ29がセ
ットした後で、1クロック間だけ信号P+が“1“にな
り、2クロック間だけ信号P2が“1”となる、また、
フリップフロップ29〜32のリセットと同時にフリッ
プフロップ33がセットする。次のLREQ (次の8
ビツトに相当)を入力すると、Pr、Plについては前
述のと同一のタイミングで発生する。しかし、SL、S
2については、第8図に示すように、最初の8ビツトと
後の8ビツトでは逆転している。
最初(即ち、S+=t)のPlが発生すると、ゲート2
4を介してCTRL側にLACKが出力される(ステッ
プ513)、このLACKを受けると(ステップS4)
、CTRL側は最初の8ビツトデータをXLTに送るの
で、LD上にはこのデータが載っている。
4を介してCTRL側にLACKが出力される(ステッ
プ513)、このLACKを受けると(ステップS4)
、CTRL側は最初の8ビツトデータをXLTに送るの
で、LD上にはこのデータが載っている。
XLT内では、PI *SLの立ち上がりで、LDデー
タのラッチ12へのラッチ動作が行なわれる(ステップ
514)、信号P+が“O”になると、LACKは“O
”になる(ステップ515)ので、これを受けてCTR
L側は、データ出力及びLREQを落しくステップS9
)て、ステップS2に戻り、ステップS3で、再びLR
EQを“1”にする、このLREQは2度目のリクエス
ト信号となる。
タのラッチ12へのラッチ動作が行なわれる(ステップ
514)、信号P+が“O”になると、LACKは“O
”になる(ステップ515)ので、これを受けてCTR
L側は、データ出力及びLREQを落しくステップS9
)て、ステップS2に戻り、ステップS3で、再びLR
EQを“1”にする、このLREQは2度目のリクエス
ト信号となる。
XLTが2度目のLREQを受けると、第8図に示した
シーケンスが開始される。このシーケンスのPlでゲー
ト24を介してCTRLに対してLACKが送られる。
シーケンスが開始される。このシーケンスのPlでゲー
ト24を介してCTRLに対してLACKが送られる。
このLACKを受けてCTRLはLD上に次の8ビツト
を載せる(ステップS5)、今度は52=1となってい
るから信号T、(ゲート9の出力)は1クロック間だけ
“1”になってから“O”に変化する。このT+の立ち
下がりで、ゲート37を介してフリップフロップ40が
クロックに同期してセットされる、即ちGREQ=1と
なる(ステップ520)、さらに、ラッチ13にLDデ
ータがラッチされる(ステップ518)、そして、CT
RLに対してLACK=Oが送られる(ステップ519
)、LACK=Oで、CTRLはLREQを“0”にし
て(ステップS9)から、3回目の8とットデータのた
めのLREQをXLTに対し出力する(ステップS3)
。
を載せる(ステップS5)、今度は52=1となってい
るから信号T、(ゲート9の出力)は1クロック間だけ
“1”になってから“O”に変化する。このT+の立ち
下がりで、ゲート37を介してフリップフロップ40が
クロックに同期してセットされる、即ちGREQ=1と
なる(ステップ520)、さらに、ラッチ13にLDデ
ータがラッチされる(ステップ518)、そして、CT
RLに対してLACK=Oが送られる(ステップ519
)、LACK=Oで、CTRLはLREQを“0”にし
て(ステップS9)から、3回目の8とットデータのた
めのLREQをXLTに対し出力する(ステップS3)
。
XLTは、2度目(7)P I”?”G REQをDM
ACに対して出力することにより、ラッチ12.13の
16ビツトデータを転送するためのシステムバスSDの
使用権を要求する。そして、システム側からバスが開放
されたことを示す信号GACKを待つ、GREQを受け
たDMACは周知のシーケンスにより、CPUに対し信
号BR(BusREQUEST)を送出する(ステップ
533)。BRを受けたCPUはバス権を放棄(ステッ
プ547)し、DMACに対し信号B G (BIJS
GRANTED)を送出する。BGを受けたDMAC
はCPUに対し、BGACK=1を返すと共にBRを落
す(ステップ535)、また、X L T &、:対し
てGAcKを”1 ”にする(ステップ536)。
ACに対して出力することにより、ラッチ12.13の
16ビツトデータを転送するためのシステムバスSDの
使用権を要求する。そして、システム側からバスが開放
されたことを示す信号GACKを待つ、GREQを受け
たDMACは周知のシーケンスにより、CPUに対し信
号BR(BusREQUEST)を送出する(ステップ
533)。BRを受けたCPUはバス権を放棄(ステッ
プ547)し、DMACに対し信号B G (BIJS
GRANTED)を送出する。BGを受けたDMAC
はCPUに対し、BGACK=1を返すと共にBRを落
す(ステップ535)、また、X L T &、:対し
てGAcKを”1 ”にする(ステップ536)。
G A、 CKを受けると、XLT内ではゲート18を
介してラッチ12.13の出力が付勢される。
介してラッチ12.13の出力が付勢される。
即ち、SD上に16ビツトデータが載る。また、ゲート
42を介してフリップフロップ40がリセットされて、
GREQが“0”に落ちる(ステップ522)。そして
、SD上のデータはRAMに書込まれる(ステップ53
6)、DMACではGREQ=Oをみて、ステップS3
BでCPUに対するBGACKを“0”に落として、バ
ス権をCPUに返す。
42を介してフリップフロップ40がリセットされて、
GREQが“0”に落ちる(ステップ522)。そして
、SD上のデータはRAMに書込まれる(ステップ53
6)、DMACではGREQ=Oをみて、ステップS3
BでCPUに対するBGACKを“0”に落として、バ
ス権をCPUに返す。
かくして、最初の16ビツトデータのDMACを介した
RAMへの転送が終了した。3回目以降の8とットデー
タの転送も前述したシーケンスを全く同じようにして行
なわれる。
RAMへの転送が終了した。3回目以降の8とットデー
タの転送も前述したシーケンスを全く同じようにして行
なわれる。
尚、GACKがDMACから来る前にCTRLが3回目
のLREQを出す可能性はあるが、そのときでも、GA
CKが来るまではフリップフロップ40がセットしてい
るために、ゲート28は開かず、第8図に示したシーケ
ンスは開始されないので、ラッチ内のデータは正常に保
持される。
のLREQを出す可能性はあるが、そのときでも、GA
CKが来るまではフリップフロップ40がセットしてい
るために、ゲート28は開かず、第8図に示したシーケ
ンスは開始されないので、ラッチ内のデータは正常に保
持される。
1ブロツクデータの読出しが終了すると、CTRLから
LINTが発生される(ステップS9)、このLINT
を受けると、XLTではフリップフロップ22がリセッ
トされ、ラッチ12〜14は動作不能になる。即ち、X
LTは通常のモードに復帰される。
LINTが発生される(ステップS9)、このLINT
を受けると、XLTではフリップフロップ22がリセッ
トされ、ラッチ12〜14は動作不能になる。即ち、X
LTは通常のモードに復帰される。
上述の説明から明らかなように、CTRL側の制御及び
DMAC,CPU側の制御は全〈従来のものと変りはな
い、即ち、XLTがあるために、CTRL、DMAC,
CPUは、ビット長の違いを全く意識していなくてもバ
ス結合が可能となっている。
DMAC,CPU側の制御は全〈従来のものと変りはな
い、即ち、XLTがあるために、CTRL、DMAC,
CPUは、ビット長の違いを全く意識していなくてもバ
ス結合が可能となっている。
アl辷仁ス」しとに
第2図、第5図、第7図を参照して、デバイス書込み動
作について説明する。
作について説明する。
CPUは、モードの設定、転送開始アドレスの設定等(
ステップ5112)の終了した後に、書込みコマンドを
発行する(ステップ5113)。
ステップ5112)の終了した後に、書込みコマンドを
発行する(ステップ5113)。
すると、DMACからX L T ニ対し5TART信
号が送られる。XLTがこれを受けると、ゲート41を
介してフリップフロップ40がセットされ、DMACに
対してGREQが送られ(ステップ582) 、システ
ムバスの使用要求を出す。
号が送られる。XLTがこれを受けると、ゲート41を
介してフリップフロップ40がセットされ、DMACに
対してGREQが送られ(ステップ582) 、システ
ムバスの使用要求を出す。
使用要求が認められて、DMACからGACKを受けと
ると、フリップフロップ40がリセットされると共に、
フリップフロップ35がセットされる。このフリップフ
ロップ35は、信号5TARTを必要としないでも、2
回目のGREQをDMACに向けて出すことを可能にす
るためにある。XLTはGACKを受けると、その2ク
ロツク後にゲート19を介した信号により、SD上の1
6ビツトデータをラッチ14.15にラッチする。フリ
ップフロップ40がリセットされると、GREQ=Oと
なって、システムバスの使用権はCPUに返される(ス
テップ5108.ステップSl 18)、XLTは16
ビツトデータなラッチ14.15に格納した状態でCT
RLからのLREQを待つ、バス使用権はCPUに返し
ているので、XLTはCTRLから(7)LREQを待
つコとが許される。
ると、フリップフロップ40がリセットされると共に、
フリップフロップ35がセットされる。このフリップフ
ロップ35は、信号5TARTを必要としないでも、2
回目のGREQをDMACに向けて出すことを可能にす
るためにある。XLTはGACKを受けると、その2ク
ロツク後にゲート19を介した信号により、SD上の1
6ビツトデータをラッチ14.15にラッチする。フリ
ップフロップ40がリセットされると、GREQ=Oと
なって、システムバスの使用権はCPUに返される(ス
テップ5108.ステップSl 18)、XLTは16
ビツトデータなラッチ14.15に格納した状態でCT
RLからのLREQを待つ、バス使用権はCPUに返し
ているので、XLTはCTRLから(7)LREQを待
つコとが許される。
CTRL側でデータの書込みが可能になると、LREQ
をXLTに出力(ステップ566)する。このLREQ
により第8図のシーケンスが開始される。このシーケン
スによりフリップフロップ33がセットされると、信号
S3が“1”になる。信号S2は、ゲート38を介して
フリップフロップ40のJ入力に入っているので、2回
目のLREQを待って、フリップフロップ40がセット
可能になるようにしている。
をXLTに出力(ステップ566)する。このLREQ
により第8図のシーケンスが開始される。このシーケン
スによりフリップフロップ33がセットされると、信号
S3が“1”になる。信号S2は、ゲート38を介して
フリップフロップ40のJ入力に入っているので、2回
目のLREQを待って、フリップフロップ40がセット
可能になるようにしている。
ラッチ14の出力ENABLEはS+*Pzの立ち下が
りであり、ラッチ15の出力ENABLEはS2*Pz
の立ち下がりである。XLTは、P2の間(2クロック
間)だけLACK=1をゲート25を介してCTRLに
返すと共に、ラッチ14出力をS、タイミングに付勢す
る(ステップ584)、CTRLはLACK=O−1(
7)変化(ステップ868.ステップ570)をみて、
LD上の最初の8ビツトデータを入力(ステップ572
)する、そして、LREQ=O(ステップ573)とし
てから、LREQ=1 (ステップ566)とする、こ
の2回目のLREQで第8図のシーケンスが再び起動さ
れる。この2回目のP2で、ゲート11を介してラッチ
15の出力が付勢される(ステップ587)、一方、フ
リップフロップ35は既にセットされているから、この
2回目のLREQによりゲート38を介してフリップフ
ロップ40がセットされ、DMACに対してGREQが
送られることになる。このGREQにより、DMAC,
CPUでは2回目の16ビツトデータのSDババス上の
送出動作を開始する。
りであり、ラッチ15の出力ENABLEはS2*Pz
の立ち下がりである。XLTは、P2の間(2クロック
間)だけLACK=1をゲート25を介してCTRLに
返すと共に、ラッチ14出力をS、タイミングに付勢す
る(ステップ584)、CTRLはLACK=O−1(
7)変化(ステップ868.ステップ570)をみて、
LD上の最初の8ビツトデータを入力(ステップ572
)する、そして、LREQ=O(ステップ573)とし
てから、LREQ=1 (ステップ566)とする、こ
の2回目のLREQで第8図のシーケンスが再び起動さ
れる。この2回目のP2で、ゲート11を介してラッチ
15の出力が付勢される(ステップ587)、一方、フ
リップフロップ35は既にセットされているから、この
2回目のLREQによりゲート38を介してフリップフ
ロップ40がセットされ、DMACに対してGREQが
送られることになる。このGREQにより、DMAC,
CPUでは2回目の16ビツトデータのSDババス上の
送出動作を開始する。
2回目のP2により、2回目のLACKがCTRLに出
力される。そして、CTRLが2つ目の8とットデータ
を入力する。一方、信号T2 (ゲート11の出力)
によりインバータ34を介してフリップフロップ35が
リセットされる。フリップフロップ35がリセットされ
ることにより、3回目(奇数回目)のLREQに対する
GREQのセットが防止される。即ち、1回のGREQ
発生に対して2回のLACKの発生が保証される。
力される。そして、CTRLが2つ目の8とットデータ
を入力する。一方、信号T2 (ゲート11の出力)
によりインバータ34を介してフリップフロップ35が
リセットされる。フリップフロップ35がリセットされ
ることにより、3回目(奇数回目)のLREQに対する
GREQのセットが防止される。即ち、1回のGREQ
発生に対して2回のLACKの発生が保証される。
このようにして、デバイス書込み動作に際しても、16
とットデータは2つの8とットデータに分けられ、2回
に亙ってCTRL側に送出されることになる。
とットデータは2つの8とットデータに分けられ、2回
に亙ってCTRL側に送出されることになる。
(第2図実施例の効果〉
以上のような実施例によると、次のような効果が得られ
る。
る。
■:■10デバイス側のコントローラは現在種々のLS
Iが市販されている。その中には、ディスクコントロー
ラもあればCRTコントローラもあり、また、8ビツト
のものもあれば16ビツトのものもある。DMACにつ
いても事情は同じである。そこで、この実施例のXLT
によれば、これらの既存のコントローラに何等変更を強
いることなく、8ビツトと16ビツト間でのバス幅を調
整した上でのDMAモードにおけるデータ転送を可能な
らしめた。
Iが市販されている。その中には、ディスクコントロー
ラもあればCRTコントローラもあり、また、8ビツト
のものもあれば16ビツトのものもある。DMACにつ
いても事情は同じである。そこで、この実施例のXLT
によれば、これらの既存のコントローラに何等変更を強
いることなく、8ビツトと16ビツト間でのバス幅を調
整した上でのDMAモードにおけるデータ転送を可能な
らしめた。
■二また、この実施例によれば、■のバス幅調整を行な
うか否かはプログラム的に可能となっている。即ち、バ
ス幅の調整を行なうか否かは、システムの要求に合せて
、ダイナミックに変更することが可能となっている。
うか否かはプログラム的に可能となっている。即ち、バ
ス幅の調整を行なうか否かは、システムの要求に合せて
、ダイナミックに変更することが可能となっている。
■:また、第2図の回路を見ても分るように、本XLT
はLSI化が容易なような構成となっている。
はLSI化が容易なような構成となっている。
〈変形例〉
上記実施例では、IOデバイス側のバスLDのデータ幅
が8ビツト、システムバス側D側のデータ幅が16ビツ
トの場合を説明したが、システムバス側のバス幅が32
ビツト、64ビツト幅の場合であっても、Dフリップフ
ロップの数等を増すことにより容易に対応できる。
が8ビツト、システムバス側D側のデータ幅が16ビツ
トの場合を説明したが、システムバス側のバス幅が32
ビツト、64ビツト幅の場合であっても、Dフリップフ
ロップの数等を増すことにより容易に対応できる。
またシステムがBig Endian (上位データが
下位アドレス)の場合でもラッチ、読出しの順番を変更
することにより容易に対応できる。
下位アドレス)の場合でもラッチ、読出しの順番を変更
することにより容易に対応できる。
また、上記実施例では、1つのCTRLに1つのXLT
を接続するように構成していたが、1つのシステム内の
全てのコントローラ(システムバスと異なるデータ長の
コントローラ)に対して各々のXLTを接続するように
してもよい。
を接続するように構成していたが、1つのシステム内の
全てのコントローラ(システムバスと異なるデータ長の
コントローラ)に対して各々のXLTを接続するように
してもよい。
また、XLTは第2図実施例ではフリップフロップ等を
組合せた形態となっているが、第4図。
組合せた形態となっているが、第4図。
第5図のXLTの制御フローチャートを見れば、マイク
ロプログラム制御により行なうことも可能であることも
容易に理解される。
ロプログラム制御により行なうことも可能であることも
容易に理解される。
また、上記実施例では、I10デバイスとRAM間のデ
ータ転送を例としていたが、メモリメモリ間のデータ転
送においても適用可能である。
ータ転送を例としていたが、メモリメモリ間のデータ転
送においても適用可能である。
[発明の効果]
以上説明したように本発明によれば、異なるデータ幅を
有する2つのデータバス間でデータ転送を行なうために
、このバス間に置かれたバス幅調整装置であって、バス
を使用することを要求する信号を載せる信号線と使用を
許可する信号を載せる信号線と、大きい方のバスのデー
タ長をもつラッチ手段と、前記要求信号と許可信号の同
期を取る手段とを備久ることを特徴とする。
有する2つのデータバス間でデータ転送を行なうために
、このバス間に置かれたバス幅調整装置であって、バス
を使用することを要求する信号を載せる信号線と使用を
許可する信号を載せる信号線と、大きい方のバスのデー
タ長をもつラッチ手段と、前記要求信号と許可信号の同
期を取る手段とを備久ることを特徴とする。
従って、大きい方のバスには、小さい方のデータ幅のバ
スデータが重畳されるので、バス使用が効率化される。
スデータが重畳されるので、バス使用が効率化される。
第2項の発明によると、本発明はDMAモードにおいて
特に有効となる。
特に有効となる。
第1図は本発明の1実施例のの全体ブロック図、
第2図はバス幅調整回路の回路図、
第3A図、第3B図は本実施例のXLTの動作概略を説
明するタイミングチャート、 第4図、第6図は夫々、デバイス読出し時における動作
フローチャート及びタイミングチャート、 第5図、第7図は夫々、デバイス書込み時における動作
フローチャート及びタイミングチャート、 第8図は実施例における基本信号のタイミングチャート
である。 第3A図 図中、 1・・・バス幅調整回路(−XLT)、2・・・I10
デバイスコントローラ(CTRL) 、3・・・I10
デバイス(DV) 、4・・・DMAコントローラ、5
・・・CPU、6・・−RAM、7・・・アドレスデコ
ーダ(DEC)である。 第3B図
明するタイミングチャート、 第4図、第6図は夫々、デバイス読出し時における動作
フローチャート及びタイミングチャート、 第5図、第7図は夫々、デバイス書込み時における動作
フローチャート及びタイミングチャート、 第8図は実施例における基本信号のタイミングチャート
である。 第3A図 図中、 1・・・バス幅調整回路(−XLT)、2・・・I10
デバイスコントローラ(CTRL) 、3・・・I10
デバイス(DV) 、4・・・DMAコントローラ、5
・・・CPU、6・・−RAM、7・・・アドレスデコ
ーダ(DEC)である。 第3B図
Claims (2)
- (1)異なるデータ幅を有する2つのデータバス間でデ
ータ転送を行なうために、このバス間に置かれたバス幅
調整装置であつて、 バスを使用することを要求する信号を載せる信号線と使
用を許可する信号を載せる信号線と、大きい方のバスの
データ長をもつラッチ手段と、 要求信号と許可信号の同期を取る手段とを備えたことに
よりバス幅の調整を行なうバス幅調整装置。 - (2)前記2つのデータバス間のデータ転送はDMAモ
ードで行なわれ、 上記バス幅の調整はDMA転送要求を開始したときから
転送終了信号を発生したときまでとする事を特徴とする
請求項の第1項に記載のバス幅調整回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31649988A JPH02162449A (ja) | 1988-12-16 | 1988-12-16 | バス幅調整装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31649988A JPH02162449A (ja) | 1988-12-16 | 1988-12-16 | バス幅調整装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02162449A true JPH02162449A (ja) | 1990-06-22 |
Family
ID=18077784
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP31649988A Pending JPH02162449A (ja) | 1988-12-16 | 1988-12-16 | バス幅調整装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02162449A (ja) |
-
1988
- 1988-12-16 JP JP31649988A patent/JPH02162449A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7272676B2 (en) | Data transmission controller that restarts data transmission when reconstruction is completed | |
| HUP0004750A2 (hu) | Eljárás és elrendezés vezérelt adatátvitelre memória és perifériaegység között | |
| JP2001517834A (ja) | ロー・ピン・カウントのバスにおけるメモリ・トランザクション | |
| JP2004171209A (ja) | 共有メモリデータ転送装置 | |
| JP3592547B2 (ja) | 情報処理装置および信号転送方法 | |
| US6665807B1 (en) | Information processing apparatus | |
| JPH1055331A (ja) | プログラム可能な読み出し/書き込みアクセス信号とその方法 | |
| JPH11272603A (ja) | バスブリッジ装置及びトランザクションフォワード方法 | |
| JP2001282704A (ja) | データ処理装置及びデータ処理方法とデータ処理システム | |
| JP2591502B2 (ja) | 情報処理システムおよびそのバス調停方式 | |
| US6584536B1 (en) | Bus transaction accelerator for multi-clock systems | |
| JPH0954745A (ja) | コンピュータシステム | |
| JPS63175962A (ja) | 直接メモリアクセス制御装置とマルチマイクロコンピュータシステム内におけるデータ転送方法 | |
| JP3399776B2 (ja) | コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法 | |
| US5603057A (en) | System for initiating data transfer between input/output devices having separate address spaces in accordance with initializing information in two address packages | |
| JP2001051748A (ja) | 情報処理装置 | |
| JPH11252150A (ja) | ネットワーク接続装置、及びネットワーク接続制御方法 | |
| US5692218A (en) | System for transferring data between input/output devices having separate address spaces in accordance with initializing information in address packages | |
| JP2000112878A (ja) | デ―タ処理装置内の転送要求タイミングを制御するための装置および方法 | |
| JPH06131294A (ja) | データ転送装置 | |
| KR0170742B1 (ko) | 엠버스를 이용한 데이터 전송 방법 | |
| JPH0668019A (ja) | Dma制御装置 | |
| JPS638506B2 (ja) | ||
| JPS6378257A (ja) | 入出力制御装置 | |
| JPS6294042A (ja) | 通信制御装置 |