JPH01133167A - データ転送ドライバ - Google Patents

データ転送ドライバ

Info

Publication number
JPH01133167A
JPH01133167A JP63258335A JP25833588A JPH01133167A JP H01133167 A JPH01133167 A JP H01133167A JP 63258335 A JP63258335 A JP 63258335A JP 25833588 A JP25833588 A JP 25833588A JP H01133167 A JPH01133167 A JP H01133167A
Authority
JP
Japan
Prior art keywords
data
signal
byte
computer
state
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
JP63258335A
Other languages
English (en)
Inventor
Kayla R Klingman
カイラ・アール・クリングマン
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.)
Tektronix Inc
Original Assignee
Tektronix Inc
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 Tektronix Inc filed Critical Tektronix Inc
Publication of JPH01133167A publication Critical patent/JPH01133167A/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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータ及び周辺装置間でデータ転送を
行うデータ転送ドライバに関する。
〔従来技術及び発明が解決しようとする課題〕コンピュ
ータは、1バイト(8ビツト)を超えるデータ・ワード
を1度に処理出来るが、プリンタ、モデム等の周辺装置
では、1度に1バイトのデータしか処理出来ないのが普
通である。従って、コンピュータが例えば32ビツトの
データ・ワードをこのような周辺装置に転送する為には
、データ・ワードを1バイト毎ずつ順次転送しなければ
ならない。特に、コンピュータが比較的高速で、周辺装
置が比較的低速で、コンピュータと周辺装置が非同期式
ハンドシェーキング・プロトコルを用いて通信している
場合、両者間の通信の為にコンピュータの処理時間の多
くを無駄に消費することがあった。
コンピュータの双方向非同期式ポートは、コンピュータ
に設けられたコネクタに装着されたケーブルを介して周
辺装置に接続されることが多い。
非同期式ポートを試験する為には、コネクタからケーブ
ルを取り外し、テスト・プラグをコネクタに装着する。
このコネクタに装着されたテスト・プラグにより、デー
タ及び制御信号の入力ビンと出力ピンが相互接続される
ので、コンピュータからポートを介してコネクタに転送
されたデータが、ポートを介してコンピュータに向かっ
て反対方向に戻される。従って、テスト・プラグを装着
することによりコンピュータは、そのポートにデータを
転送してポートの動作を試験出来るが、先ず最初ニオペ
レータがケーブルとテスト・プラグを交換しなければな
らない。従って、このような試験方法では、オペレータ
の手を煩わさずに自動的に試験することは不可能である
従って、本発明の目的は、データ処理装置(コンピュー
タ)から多数バイトのデータを受け、そのデータを1バ
イト毎のデータ列として周辺装置に転送する改良型のデ
ータ転送ドライバを提供することである。
本発明の他の目的は、データ処理装置から受けたデータ
を周辺装置に転送するドライバの動作試験及び周辺装置
からのハンドシェーキング信号の監視をデータ処理装置
に行わせることの出来る改良型のデータ転送ドライバを
提供することである。
本発明の更に他の目的は、データ処理装置から受けたデ
ータを周辺装置に転送する際に、ハンドシェーキング・
モード又はストリーミング・モードの何れかを選択し得
るデータ転送ドライバを提供することである。
[課題を解決する為の手段及び作用] 本発明によれば、並列データ転送ドライバがコンピュー
タから受けたデータを周辺装置に転送する。このデータ
転送ドライバに内蔵された書込バッファが、コンピュー
タから転送された多数バイトの並列データ・ワードを受
け、このデータを1度に1バイトずつ順次周辺装置に転
送する。このドライバは制御回路も内蔵しており、この
制御回路は、コンピュータ及び周辺装置に対し、ハンド
シェーキング制御信号の送受を行い、書込バッファの非
同期式データの受領及び転送を制御する。
このデータ転送ドライバによりコンビエータが1度に1
バイトずつ周辺装置にデータを転送しなければならない
という制限がなくなるので、データ転送ドライバが個々
の周辺装置にデータ転送中に、コンピュータは他の処理
を実行することが出来る。
本発明によれば、データ転送ドライバは読出バッファも
内蔵しており、この読出バッファは、周辺装置の発生し
たハンドシェーキング制御信号と、書込バッファから周
辺装置に転送された各バイト・データを受は取る。コン
ピュータからの要求信号に応じて、制御回路により読出
バッファが出力イネーブルされる。出力イネーブル状態
になると、読出バッファは転送データ及びハンドシェー
キング制御信号をコンピュータに戻す。この読出バッフ
ァにより、コンピュータはオペレータの手を煩わすこと
なく、データ転送ドライバの機能を自動的に試験するこ
とが出来る。また、コンピュータ。
は周辺装置からのハンドシェーキング信号を監視し、確
実に適正動作を実行させることも出来る。
更に、本発明によれば、データ転送ドライバは、ハンド
シェーキング・モード又はストリーミング・モードの何
れかの動作モードを選択的に実行するように設定し得る
。ハンドシェーキング・モードの時、このデータ転送ド
ライバは、周辺装置からのハンドシェーキング信号を監
視しながら1バイト毎のデータを非同期で周辺装置に転
送するが、その際に、周辺装置が受信可能となるまで各
データの転送を待機する。ストリーミング・モードの時
、データ転送ドライバは一定間隔で周辺装置に1バイト
ずつデータを転送し、周辺装置からのハンドシェーキン
グ信号は無視される。
[実施例] 第1図のブロック図から判るように、本発明のデータ転
送ドライバ(10)は、コンピュータ(12)のような
データ処理装置の出力データをプリンタのような周辺装
置(14)の入力データとして転送する。例えば、モト
ローラ製68o20型マイクロ・プロセッサが好適なコ
ンピュータ(12)は、データ転送ドライバ(10)の
第1データ・バス(16)に32ビツト(4バイト)の
並列データ・ワードを出力する0周辺装置(14)は、
8ビツト(1バイト)毎のデータ列を第2データ・バス
(18)上に入力データとして受ける。
データ転送ドライバ(10)に内蔵された書込バッファ
(20)は、コンピュータ(12)からバス(16)上
に送られた4バイトのデータ・ワードを受け、そのデー
タ・ワードを順次1バイトずつバス(18)を介して周
辺装置(14)に転送する。データ転送ドライバ(10
)は制御ロジック回路(22)も内蔵し、この制御ロジ
ック回路(22)は、書込バッファ(20)のデータ受
領を制御する書込信号WRITEと、書込バッファの1
バイトずつの転送を制御する一連の出力イネーブル信号
OEBを発生する。制御回路(22)は、コンピュータ
(12)及び周辺装置(14)とハンドシェーキング制
御信号バス(24)及び(26)を介してハンドシェー
キング制御信号C0NT、により夫々相互通信を行い、
コンピュータ(12)から書込バッファ(20)まで及
び書込バッファ(20)から周辺装置(14)までの非
同期式データ転送を調整する。周辺装置(14)にデー
タを転送する為に、コンピュータ(12)はドライバ(
10)に32ビツトのデータ・ワードを転送する。その
後、コンピュータ(12)からそれ以上の信号を受けず
に、ドライバ(10)は自動的にデータ・ワードを1バ
イトずつ周辺袋!(14)に転送する。これによって、
データ転送中でもコンピュータ(12)は拘束されずに
他の処理を実行出来る。データ転送ドライバ(1o)は
読出バッファ(28)も内蔵しており、この読出バッフ
ァ(28)は、周辺装置(14)から制御回路(22)
に送られるハンドシェーキング制御信号(26)と、バ
ス(18)上に転送される1ビツト毎のデータも受ける
。データ転送ドライバ(10)の動作又は周辺装置(1
4)が出力するハンドシェーキング制御信号の状態を試
験する為に、コンピュータ(12)は、制御信号バス(
24)を介して制御回路(22)に読出バッファ(28
)を出力イネーブルする読出制御信号READを出力す
るように要求する。読出バッファ(28)が出力イネー
ブルされると、読出バッファ(28)に入力したバイト
・データ及び制御信号力、バス(16)上に出力されて
コンピュータ(12)に返送される。ドライバ(1o)
の動作を試験する際に、コンピュータ(12)は、書込
バッファ(20)にデータ・ワードを転送し、その後、
書込バッファ(20)から周辺装置(14)に転送され
た1バイト毎のデータを読出バッファ(28)から読み
出す。また、コンピュータ(12)は周辺装置(14)
が出力したハンドシェーキング信号の状態を監視し、確
実に適正動作を行わせることも出来る。このような試験
は、コンピュータ(12)の起動期間中に自動的に実行
され、人間の手を煩わせることがない。
第2図は、第1図のデータ転送ドライバ(10)の詳細
なブロック図である。第2図では、コンピュータ(12
)と書込バッファ(20)を接続しているバス(16)
上の32ビツト(4バイト)のデータ・ワードの各ビッ
トは、Do−D31の符号で示している。第1バイト・
データBYTEOはD24〜D31を含み、第2バイト
・データBYTEIはD16〜D23を含み、第3バイ
ト・データBYTE2はD8〜D15を含み、第4バイ
ト・データBYTE3はDo−07を含んでいる。書込
バッファ(20)は、4個1組の8ビツトレジスタ(3
0)を含み、各レジスタには、バス(16)上の32ビ
ツトのデータ・ワード内の8ビツトのバイト・データが
別々に入力される。
書込バッファ(20)の各レジスタ(30)の8゛ビツ
トの出力は、書込バッファ(20)及び周辺装置(14
)間の8ビツトのデータ・バス(18)に接続されてい
る。各書込バッファ・レジスタ(30)は、読出/書込
制御回路(32)が発生する共通の書込信号WRITE
によって入力イネーブルされ、ステート・マシンA(3
4)が発生する出力イネーブル信号0EBO〜0EB3
によって別々に出力イネーブルされる。1度に出力され
る出力イネーブル信号0EBO〜3は1つだけなので、
書込バ・7フン・レジスタ(30)の1つに記憶された
1バイトのデータだけがバス(1日)上に出力される。
読出バッファ(28)は、現時点で出力イネーブルされ
た書込バッファ・レジスタ(30)からバス(18)に
出力された1バイトのデータを受けると共に、周辺装置
(14)から3つの2進ハンドシ工−キング制御信号(
FAULT、BUSY、及びACK)も受ける。読出バ
ッファ(28)は、読出/書込制御回路(32)が出力
するREAD信号によって出力イネーブルされると、入
力バイト・データ及び制御信号をデータ・バス(18)
上のビットD116〜31上に出力してコンピュータ(
12)に転送する。
コンピュータ(12)からのアドレス信号ADDR及び
アドレス・ストローブ信号ASに応じてデコーダ(33
)から出力されるチップ・セレクト信号C3が、読出/
書込制御回路(32)に入力する。読出/書込制御回路
(32)は、コンピュータ(12)からデータ・ストロ
ーブ信号DS及び読出/書込制御信号R/Wも受ける。
更に、読出/書込制御回路(32)は、オア・ゲート(
36)からのロー・トウルー型(low true  
:低状態で「真」となる信号を表し、以下、LT型と略
す)の出力信号(EMPTY)を受け、このオア・ゲー
ト(36)は、ステート・マシンA(34)から出力イ
ネーブル信号0EBO〜0EB3が入力される。読出/
書込制御回路(32)は、入力する論理信号の組合わせ
に応じて、読出バッファ(28)を出力イネーブルする
READ信号と、書込バッファ(30)を入力イネーブ
ルするWRITE信号と、コンピュータ(12)に転送
されるハンドシェーキング信号DSACKを発生する。
読出/書込制御回路(32)が出力するこれらの信号は
、次のようなプール代数表現に従っている。
WRITE=C3−DS・−R/W−EMPTYREA
D−C3−R/W DSACK=C3・−R/W−EMPTYここで、記号
「・」は論理積を表し、記号「−」は否定論理を夫々表
している。
ステート・マシンA(34)は、コンピュータ(12)
からの5MHzのクロック信号(図示せず)で駆動され
ているので、200ns (ナノ秒)間隔で状態の変化
が起こる。4つ1組の1ビツトレジスタ(38)(第2
図には1つのみ示す)に夫々記憶された4つのビット・
データLBEO〜LBE3がステート・マシンA(34
)に入力し、オア・ゲート(40)からのABORT信
号及び別のステート・マシンB(42)からのDONE
信号もステート・マシンA(34)に入力する。
各レジスタ(38)は、コンピュータ(12)から1ビ
ツトの制御信号を別々に入力として受け、読出/書込制
御回路(32)からのWRITE信号によって入力イネ
ーブルされる。また、4つ1組のオア・ゲート(44)
(第2図では1つのみ示す)からの4つのバイト・クリ
ア信号BYTECLRO〜BYTECLR3によってレ
ジスタ(38)は夫々別々にリセットされる。オア・ゲ
ー) (40)は、入力として制御レジスタ(46)か
らRESET信号及びPRIME信号を受け、更に周辺
装置(14)からFAULT信号も受ける。各オア・ゲ
ート(44)は、入力として制御レジスタ(46)から
RESET信号及びPRIME信号を受け、更にステー
ト・マシンA(34)からの出力イネーブル信号0EB
O〜0EB3を別々に受ける。
オア・ゲート(36)の出力信号EMPTYと、制御レ
ジスタ(46)の出力信号S I NG5TRもステー
ト・マシンB(42)に入力する。制御レジスタ(46
)からのLT型のアクノリッジ信号5CACKと周辺装
置(14)からのLT型のアクノリッジ信号ACKがノ
ア・ゲート(48)の入力として供給される。ノア・ゲ
ート(48)からのハイ・トウルー型(high tr
ue  :高状態で「真」の信号を表し、以下)(T型
と略す)の出力信号TCACKは、ステート・マシンB
(42)の別の入力として供給される。制御レジスタ(
46)からのHT型の出力信号5BUSY及び周辺装置
(14)からのHT型の出力ビジー信号BUSYが別の
オア・ゲート(50)に入力し、このオア・ゲート(5
0)からのHT型の出力信号TCBUSYもステート・
マシンB(42)の他方の入力として供給される。ステ
ート・マシンB(42)は、出力信号DONEを出力し
てステート・マシンA(34)に送り、更にLT型の出
力信号DSTRも出力し、このDSTR信号は、バッフ
ァ(52)を介してLT型のストローブ信号5TROB
Eとして周辺装置(14)に送られる。
アドレス・バスADDRのアドレスが所定の値の時、コ
ンピュータ(12)からのアドレス・ストローブ信号A
Sによって制御レジスタ(46)は書込イネーブルされ
る。書込イネーブルされると、制御レジスタ(46)は
、コンピュータ(12)からのデータを記憶し、出力信
号RESET、5INGSTR,5CACKSSBUS
Y及びPRIMEの状態を設定する。ステート・マシン
B(42)がバッファ(52)を介して周辺装置(14
)に入力する5TROBE信号を出力すると、・周辺装
置(14)は入力イネーブルされてバス(18)上の1
バイトのデータを受は取る。周辺装置(14)は、バス
(18)からデータを受は取る準備が出来ていない時に
は、BUSY信号を出力し、1バイトのデータを受は取
った後にACK信号を出力(低状態に駆動)する。この
ACK信号は、周辺装置(14)が次のデータを受は取
る準備がされるまで低状態のままに保持される。
また、周辺装置(14)は動作不良を検出するとFAU
LT信号を出力する。
データ転送ドライバ(10)は、ハンドシェーキング・
モードか又はストリーミング・モードの何れかのモード
でデータを周辺装置に転送出来る。
ハンドシェーキング・モードでは、ドライバ(10)は
、周辺装置(14)からのBUSY信号及びACK信号
を監視し、そのどちらかの信号を検出している時には5
TROBE信号を出力しない。これによって、周辺装置
(14)のデータ受は取り能力より高速にデータを転送
するのを回避している。ストリーミング・モードでは、
ドライバ(10)はBUSY信号及びACK信号を無視
し、周辺装置(14)にデータを一定間隔の周期で転送
する。
ハンドシェーキング・モードで周辺装置(14)にデー
タを転送する為に、先ず、コンピュータ(12)は制御
レジスタ(46)の状態を設定して、5CACK信号、
5BUSY信号、RESET信号、及びPRIME信号
を「偽」に設定し、S I NG5TR信号を「真」に
設定する。5INGSTR信号の「真」によって、周辺
装置(14)にハンドシェーキング・モード動作である
ことが示される。その後、コンピュータ(12)はアド
レス・バスADDR上に適当なアドレス信号を出力し、
読出/書込制御回路(32)にR/W信号を送り、その
後、デコーダ(33)にC8信号を出力させる。これに
応じて、読出/書込制御回路(32)がREAD信号を
出力し、読出バッファ(28)を出力イネーブルする。
そして、読出バッファ(28)は、データ・バス(16
)上にFAULT信号、BUSY信号及びACK信号を
出力し、コンピュータ(12)は、これら3つの信号の
状態を読み込み、周辺装置(14)がデータを受は取る
準備が出来ているか否かを確認する。
周辺装置(14)の準備が整うと、コンピュータ(12
)は、レジスタ(38)の入力端に4つの制御信号C0
NT、を供給し、データ・バス(16)上に32ビツト
のデータ・ワードを出力し、その後、デコーダ(33)
にもう−度C3信号を出力させる。これにより、読出/
書込制御回路(32)は、WRITE信号を出力し、D
SACK信号をコンピュータ(12)に送る。しかし、
この動作を読出/書込制御回路(32)が実行するのは
、EMPTY信号が「真」の時だけである。
オア・ゲート(36)がEMPTY信号を「真(低レベ
ル)」に設定するのは、書込イネーブル信号0EBO〜
0EB3の総てが低レベルとなった時であり、これは、
書込バッファ・レジスタ(30)内のバイト・データが
周辺装置(14)への転送準備状態にないことを示して
いる。EMPTY信号が「偽(高レベル)」ならば、読
出/書込制御回路(32)はWRITE信号もDSAC
K信号も出力しない。DSACK信号がコンピュータ(
12)に検出されないと、コンピュータ(12)は書込
バッファ・レジスタ(30)のデータ受は取り準備が出
来ていないと判断し、WRITE信号の発生の結果、D
SACK信号が発生するまで、読出/書込制御回路(3
2)を介して書込バッファ・レジスタ(30)を入力イ
ネーブルしようとする。
WRITE信号が出力されると、書込バッファ・レジス
タ(30)は、データ・バス(16)上の4つのバイト
・データを記憶し、レジスタ(38)は、コンビエータ
(12)からの4つの入力データ・ビットの状態を記憶
し、且つ出力する。これら4つのデータ・ビットLBE
O−LBE3は、書込バッファ・レジスタ(30)内の
4バイトのデータ(BYTEO〜3)の中のどのデータ
が周辺装置(14)に再転送されるかを示している。
例えば、LBEOのみが「真」の場合BYTEOだけが
再転送され、LEBO及びLEBIが「真」の場合には
、BYTEO及びBYTEIが再転送され、LEBo、
1及び2が「真」の場合には、BYTEO21及び2が
再転送され、LEBO〜3の総てが「真」の場合にはB
YTEO〜3の総てのデータが再転送される。
ステート・マシンA(34)は、データ・ビットLBE
O〜LBE3の状態を監視し、1つ以上のビットが「真
」ならば、「真」のビットLBEO〜LEB3に対応す
る出力イネーブル信号0EBO〜0EB3の出力を順次
開始する。これによって、周辺装置(14)に転送され
る1バイトのデータを記憶している特定の書込バッファ
・レジスタ(30)が順次出力イネーブルされる。例え
ば、LBEO−LBE3が総て「真」の場合、ステート
・マシンAは初めに0EBOを出力する。
この0EBO信号がオア・ゲート(44)の1つに供給
されると、そのオア・ゲートの出力信号BYTECLR
Oにより、レジスタ(38)の1つのレジスタ内のLB
EOビットの状態が「偽」に設定される。0EBO信号
は、第1書込バツフア・レジスタ(30)も出力イネー
ブルし、データ・バス(18)上にバイト・データOが
出力される。更に、この0EBO信号に応じて、オア・
ゲート(36)の出力信号EMPTY信号が「偽」に設
定される。
ステート・マシンB(42)は、EMPTY信号及びT
CBUSY信号を監視し、両信号が「偽」になると、D
STR信号が出力され、その結果バッファ(52)が周
辺装置(14)に5TROBE信号を出力(低に駆動)
する。この5TROBE信号により周辺装置(14)は
、バス(18)上のバイト・データ0を読み込み、BU
SY信号を出力する。その後、周辺装置(14)は、A
CK信号を出力してから停止し、別のバイト・データを
読み込む準備が出来ると、BUSY信号を停止する。こ
のようなACK信号及びBUSY信号の出力及び停止に
応じて、ノア・ゲート(4B)及びオア・ゲー)(50
)は、TCACK信号及びTCBUSY信号を夫々出力
し、停止する。ステート・マシンB(42)は、TCA
CK信号及びTCBUSY信号が停止されたと判断する
と、DONE信号をステート・マシンA(34)に転送
する。
DONE信号を検出すると、ステート・マシンAは、0
EBO信号を停止し、OEB 1信号を出力する。これ
により、書込バッファ・レジスタ(30)の1つのレジ
スタがバス(18)上にバイト・データ1を出力し、オ
ア・ゲニ)(44)の1つを介してレジスタ(38)の
1つのレジスタのLBEIを「偽」に設定する。その後
、ステート・マシンB(42)は、5TROBB信号を
再び出力し、バス(18)上のバイト・データ1を周辺
装置(14)に読み込ませ、その後オア・ゲート(36
)にDONE信号を再び出力させる。
以上の過程が繰り返され、ステート・マシンAがOEB
2信号及びOEB3信号を順にバス(18)上に出力す
る。これに応じて、ステート・マシンBは、更に2回5
TROBE信号を出力し、周辺装置(14)に残りの2
つのバイト・データを順次読み込ませる。これらのバイ
ト・データが総て転送されると、出力イネーブル信号0
EBO〜0EB3は総て低状態になり、オア・ゲート(
36)の出力信号EMPTYは「真」になる。従って、
次にコンピュータ(12)が書込バッファ・レジスタ(
30)を書込アクセスする際に、読出/書込制御回路(
32)はDSACK信号を出力し、書込アクセスの完了
をコンピュータ(12)に示す。
ストリーミング・モードでコンピュータ(12)が周辺
装置(14)にデータを転送する際に、上述のハンドシ
ェーキング・モードの手順と異なる唯一の点は、最初に
制御レジスタ(46)にデータを入力する時にS IN
C;STRビットを低状態に設定することにより、ステ
ート・マシンB(42)にストリーミング・モードで動
作することを伝えることだけである。ストリーミング・
モードで動作する時、ステート・マシンB(42)は、
TACK信号及びTCBUSY信号の再入力信号を無視
し、EMPTY信号が「偽」に維持されている限り、D
STR信号及びDONE信号を周期的に出力する。この
結果、周辺装置(14)に周期的にデータが転送され、
これは非同期式のハンドシェーキング・プロトコルの場
合と異なる。ストリーミング・モードではハンドシェー
キング・モードの場合より高速に周辺装置(14)にデ
ータが転送される。
コンピュータ(12)は、制御レジスタ(46)のRE
SETビット又はPRIMEビットを一時的に「真」に
設定してデータ転送ドライバ(10)の動作をリセット
することも出来る。リセットされると、オア・ゲート(
40)からステート・マシンA(34)にABORT信
号が供給され、ステート・マシンAが初期状態に設定さ
れる。周辺装置(14)からのFAULT信号によって
もABORT信号が出力されステート・マシンAがリセ
ットされる。また、RESET信号及びPRIME信号
は、オア・ゲー)(44)に信号BYTECLRO〜B
YTECLR3を出力させ、信号LBEO〜LBE3を
「偽」に設定する。ステート・マシンA(34)が初期
状態に設定されると、信号0RBO〜0EB3が低状態
になり、オア・ゲート(36)の出力信号EMPTYが
「真」、に設定される。EMPTY信号が「真」になる
と、ステート・マシンBは、初期状態に戻り、DONE
信号を出力し、EMPTY信号が「偽」になるまでその
状態を維持する。PRIME信号は、バッファ(47)
を介して周辺装置(14)にも送られ、周辺装置(14
)のリセットにも用いられる。
第3図は、ステート・マシンAの動作を示す状態図であ
る。ここで、「*」は論理積を表し、「+Jは論理和を
表し、「−」は否定を表す。ABORT信号が出力され
ると、ステート・マシンAは現在の状態が何であろうと
WAIT状態に入る。WA T T状態では、信号LB
EO−LBE3は、総て停止状態(「偽」の状態)にあ
る。ステート・マシンAは、ABORT信号が停止状態
となり、且つ、LBEO−LBF3の中の少なくとも1
つの信号が「真」となるまで、WAIT状態にある。信
号LBEOが「真」になると、ステート・マシンAは、
BYTEO状態に入る。LBEOが「偽」で、LBEl
が「真」の時には、BYTE1状態に入り、LBP、O
及びLBEIが「偽」でLBF2が「真」の時には、B
YTE2状態に入る。また、LBEOlLBEI及びL
BF2が「偽」で、LBF3が「真」の時には、BYT
E3状態に入る。
BYTEO状態では、ステート・マシンAはOEB信号
を出力する。同様に、BYTEI〜BYTE3状態では
、ステート・マシンAは夫々対応するOEB信号を出力
する。BYTEO状態で、DONE信号が検出されると
、LBElが「真」でなければWAIT状態に再び入る
。この時、LBEIが「真」ならば、BYTE1状態に
入る。
DONE信号が検出され、且つLBF、2が「真」でな
ければ、BYTEI状態からWAIT状態に再び入る。
この時、LBF2が「真」ならば、ステート・マシンA
はBYTEI状態からBYTE2状態に入る。BYTE
2状態で、DONE信号が検出され、且つLBF3が「
真」でなければ、WAIT状態に再び入る。この時、L
BF3が「真」ならば、BYTE3状態に入る。BYT
E3状態でDONB信号が検出されると、ステート・マ
シンAはWAIT状態に戻る。
第4図は、ステート・マシンBの動作を表す状態図であ
る。ステート・マシンBは、DONE状態及びA状態〜
O状態までの16の状態を有する。
DONB状態の時のみDONE信号が出力され、F状態
〜J状態の時のみDSTR信号が出力される。ABOR
T信号が出力された時、ステート・マシンBは他の総て
の状態からDONF、状態に入る。ハンドシェーキング
・モードで、5INGSTR信号が「真」で且つ、EM
PTY信号が「偽」の時、ステート・マシンBはDON
E状態からA状態に入る。その後、ステート・マシンB
は、EMPTY信号が「偽」になってから所定遅延時間
後に順次A状態からE状態まで状態が移っていく。
その後、F状態に移り、DSTR信号が出力される。ス
テート・マシンBは、DSTR信号を出力し続けながら
、G状態からJ状態まで順に移り、N状態に入るとDS
TR信号を停止する。N状態から順にL状態、M状態、
N状態へと移り、TCACK信号を検出するまでN状態
に維持される。
その後、捨て・マシンBは0状態に移り、TCBUSY
信号及びTCACK信号の停止を検出するまでO状態に
維持される。TCBUSY信号及びTCACK信号の停
止時点で、ステート・マシンBはDONE状態に移り、
DONE信号を再び出力する。
ストリーミング・モードでは、5INGSTR信号が「
偽」であり、EMPTY信号が「偽」に変化した時、ス
テート・マシンBは、DONE状態から直接N状態に移
行し、その結果、DSTR信号の出力の遅延が減少する
。その後、ステート・マシンBはF状態、G状態、H状
態を経てJ状態へスキップする。F、G、H及びJの各
状態で・はDSTR信号が出力され、I状態をスキップ
することにより、DST’R信号の出力周期が短縮され
る。ステート・マシンBは、J状態からに状態に移行し
、DSTR信号が停止され、その後、直接DONB状態
に戻り、DONE信号が出力される。L状態からO状態
までが省略されるので、ステート・マシンBは、TCB
USY信号及びTCACK信号を無視し、DSTR信号
の停止からDONE信号の発生までの周期を実質的に短
縮する。
第5図は、データ転送ドライバ(10)がハンドシェー
キング・モードで動作中にBYTEOのみが書込バッフ
ァ・レジスタ(30)から周辺袋W(14)に転送され
た時の各信号のタイミング波形図である。ステート・マ
シンAが出力イネーブル信号0EBOを高状態に駆動す
ると、EMPTY信号が停止状態(高状態)に変化する
。その直後、有効なりYTEO信号がデータ・バス(1
8)を介して周辺装置(14)に転送される。EMPT
Y信号が停止された直後に、ステート・マシンBは、D
ONE信号を低状態に変化させ、EMPTY信号の停止
後、1μsの遅延後にDSTRストローブ信号5TRO
BEを1μsの間低状態に駆動し、その結果、周辺装置
(14)はBYTE信号を読み込む。その後、周辺装置
(14)は他のデータ・バイトの受領準備が整うまでB
USY信号を出力する。その間に周辺装置(14)はA
CK信号をトグル駆動する。そして、BUSY信号が低
状態に変化すると、ステート・マシンBはDONE信号
を出力する。ハンドシェーキング・モードでは、BYT
EO信号はバス(18)上で3μsの間有効であるが、
データの転送に必要な時間の総和は、5TROBB信号
に対する周辺装置(14)の応答速度によって決まる。
第6図は、データ転送ドライバ(10)がストリーミン
グ・モードで動作中の各信号のタイミング図である。ス
テート・マシンAは、0EBO信号を高状態にしてバス
(18)上にB Y T E O(8号を出力させると
共に、この0EBO信号によりEMPTY信号が高状態
に変化する。ステート・マシンBは、DONE信号を低
に駆動し、その200ns後にDSTR信号を低に駆動
する。その800ns後に、ステート・マシンBはDS
TR信号を再び高状態に駆動し、それから200nS後
にDONE信号を再び高状態に駆動する。このDONE
信号の高状態を検出すると、ステート・マシンAは、O
EB 1信号を出力する。ステート・マシンBによるD
STR信号及びDONE信号の出力によって上記過程が
繰り返され、ステート・マシンAは順次0EB1〜0E
B3信号を出力する。この結果、データ・バス(18)
上にBYTEI〜BYTE3の各信号が出力され、周辺
装置(14)は1.2μs間隔でストローブされろ。最
後にOEB3信号が停止されると、EMPTY信号が低
状態に駆動される。
上述のように、本発明のデータ転送ドライバは、コンピ
ュータのようなデータ処理装置からの多数バイトから成
るデータ・ワードを単一バイトのデータ列として周辺装
置に転送する。このデータ転送ドライバは、ハンドシェ
ーキング・モード及びストリーミング・モードの何れか
のモードで選択的に動作する。ハンドシェーキング・モ
ードでは、周辺装置からのハンドシェーキング信号に応
答してバイト・データ列が周辺装置に転送され、ストリ
ーミング・モードでは、ハンドシェーキングとは無関係
に周辺装置に周期的にバイト・データ列が転送される。
更に、このデータ転送ドライバは、読出バッファ・レジ
スタを内蔵しており、データ処理装置はこのドライバの
動作を確認したり、周辺装置からのハンドシェーキング
信号を監視することが出来る。
以上本発明の好適実施例について説明したが、本発明は
ここに説明した実施例のみに限定されるものではなく、
本発明の要旨を逸脱する事なく必要に応じて種々の変形
及び変更を実施し得る事は当業者には明らかである。
〔発明の効果〕
本発明によれば、データ処理装置(コンピュータ)から
1度に多数バイトのデータ・ワードを書込バッファに記
憶し、この記憶データを各バイト毎に順次周辺装置に転
送するので、データ転送に要するコンピュータの処理時
間が最少となり、コンピュータの実質的な処理能力を向
上出来る。また、コンピュータ及び周辺装置からのハン
ドシェーキング信号に応じてデータ転送処理が実行出来
るので信頼性の高いデータ転送が可能である。更に、読
出バッファにより転送データをコンピュータが読み出せ
るので、自動的にデータ転送試験を実行し得る。
【図面の簡単な説明】
第1図は、本発明に係るデータ転送ドライバにより相互
接続されたコンピュータと周辺装置のブロック図、第2
図は、第1図のデータ転送ドライバの詳細なブロック図
、第3図は、第2図のステート・マシンAの動作状態を
表す状態図、第4図は、第2図のステート・マシンBの
動作状態を表す状態図、第5図は、第2図のデータ転送
ドライバがハンドシェーキング・モードで動作する時の
信号のタイミングを示す波形図、第6図は、第2図のデ
ータ転送ドライバがストリーミング・モードで動作する
時の信号のタイミングを表す波形図である。 (10)はデータ転送ドライバ、(12)はデータ処理
装置(コンピュータ)、(14)は周辺装置、(20)
は書込バッファ手段、(22)は制御手段、(2日)は
読出バッファ手段、(32)は読出/書込制御手段、(
34)は出力イネーブル手段(ステート・マシンA)で
ある。

Claims (1)

  1. 【特許請求の範囲】 1、複数のバイト・データから成る並列データ・ワード
    をデータ処理装置から受け、上記複数のバイト・データ
    を各バイト毎に順次周辺装置に転送する書込バッファ手
    段を具えることを特徴とするデータ転送ドライバ。 2、複数のバイト・データから成る並列データ・ワード
    をデータ処理装置から受けることと、上記複数のバイト
    ・データを各バイト毎に順次周辺装置に転送することと
    を制御信号に応じて実行する書込バッファ手段と、 上記データ処理装置が上記並列データ・ワードを上記書
    込バッファ手段に転送したことを示すハンドシェーキン
    グ信号を上記データ処理装置から受け、上記ハンドシェ
    ーキング信号に応じて上記制御信号を出力する制御手段
    と を具えることを特徴とするデータ転送ドライバ。 3、データ処理装置に接続され、複数のバイト・データ
    から成る並列データ・ワードを双方向転送する第1デー
    タ・バスと、 バイト・データを周辺装置に転送する第2データ・バス
    と、 上記第1及び第2データ・バス間に接続され、書込信号
    に応じて上記第1データ・バス上の上記並列データ・ワ
    ードを記憶し、この記憶データを出力イネーブル信号に
    応じて上記第2データ・バス上に順次1バイトずつ出力
    する書込バッファ手段と、 上記第1及び第2データ・バス間に接続され、上記書込
    バッファ手段から上記第2データ・バス上に出力された
    バイト・データを受け、このバイト・データを上記第1
    データ・バス上に出力して上記データ処理装置に転送す
    る読出バッファ手段と、 上記データ処理装置が上記並列データ・ワードを上記第
    1データ・バス上に出力したことを示す第1ハンドシェ
    ーキング信号を上記データ処理装置から受け、上記第1
    ハンドシェーキング信号に応じて上記書込信号を出力し
    、上記読出バッファ手段が上記第2データ・バス上のデ
    ータを上記第1データ・バス上に出力すべきことを示す
    第2ハンドシェーキング信号を上記データ処理装置から
    受け、上記第2ハンドシェーキング信号に応じて上記読
    出信号を出力する読出/書込制御手段と を具えることを特徴とするデータ転送ドライバ。
JP63258335A 1987-10-13 1988-10-13 データ転送ドライバ Pending JPH01133167A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/107,203 US4954983A (en) 1987-10-13 1987-10-13 Data driver for multiple mode buffered processor-peripheral data transfer with selective return of data to processor
US107,203 1987-10-13

Publications (1)

Publication Number Publication Date
JPH01133167A true JPH01133167A (ja) 1989-05-25

Family

ID=22315406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63258335A Pending JPH01133167A (ja) 1987-10-13 1988-10-13 データ転送ドライバ

Country Status (3)

Country Link
US (1) US4954983A (ja)
EP (1) EP0311760A2 (ja)
JP (1) JPH01133167A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005518018A (ja) * 2002-02-12 2005-06-16 フルクラム・マイクロシステムズ・インコーポレーテッド 非同期及び同期領域間の変換を促進する手法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388216A (en) * 1989-08-17 1995-02-07 Samsung Electronics Co., Ltd. Circuit for controlling generation of an acknowledge signal and a busy signal in a centronics compatible parallel interface
US5687396A (en) * 1989-12-04 1997-11-11 Canon Kabushiki Kaisha Data buffer apparatus with interrupted transmission/reception
US5729708A (en) * 1989-12-04 1998-03-17 Canon Kabushiki Kaisha Portable data buffer apparatus with manually controlled reception/transmission
US5410652A (en) * 1990-09-28 1995-04-25 Texas Instruments, Incorporated Data communication control by arbitrating for a data transfer control token with facilities for halting a data transfer by maintaining possession of the token
CA2050507C (en) * 1990-10-26 1999-07-13 Lane Jordon Abrams Message-oriented bank controller interface
US5317692A (en) * 1991-01-23 1994-05-31 International Business Machines Corporation Method and apparatus for buffer chaining in a communications controller
IL100127A0 (en) * 1991-03-11 1992-08-18 Future Domain Corp Scsi controller
US5396597A (en) * 1992-04-03 1995-03-07 International Business Machines Corporation System for transferring data between processors via dual buffers within system memory with first and second processors accessing system memory directly and indirectly
CA2094097C (en) * 1992-04-30 2000-05-30 Ray Balogh Multi-equipment routing method and master station for layered protocol communication network system
US5640517A (en) * 1993-06-22 1997-06-17 Dell Usa, L.P. Method and apparatus for masters to command a slave whether to transfer data in a sequential or non-sequential burst order
WO1995016950A1 (en) * 1993-12-14 1995-06-22 Apple Computer, Inc. Method and apparatus for transferring data between a computer and a peripheral storage device
US5701420A (en) * 1994-07-20 1997-12-23 Intel Corporation Method for initializing an array of configurable components
US5498981A (en) * 1995-01-31 1996-03-12 Nec Corporation Ready signal control apparatus capable of automatically deactivating ready signal
US5758188A (en) * 1995-11-21 1998-05-26 Quantum Corporation Synchronous DMA burst transfer protocol having the peripheral device toggle the strobe signal such that data is latched using both edges of the strobe signal
US6581126B1 (en) * 1996-12-20 2003-06-17 Plx Technology, Inc. Method, system and apparatus for a computer subsystem interconnection using a chain of bus repeaters
US20040193763A1 (en) * 2003-03-28 2004-09-30 Fujitsu Limited Inter-bus communication interface device and data security device
US7250795B2 (en) * 2005-03-29 2007-07-31 Promos Technologies Pte. Ltd. High-speed, low-power input buffer for integrated circuit devices

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4057847A (en) * 1976-06-14 1977-11-08 Sperry Rand Corporation Remote controlled test interface unit
US4200224A (en) * 1978-08-21 1980-04-29 Bell & Howell Company Method and system for isolating faults in a microprocessor and a machine controlled by the microprocessor
US4291370A (en) * 1978-08-23 1981-09-22 Westinghouse Electric Corp. Core memory interface for coupling a processor to a memory having a differing word length
US4296469A (en) * 1978-11-17 1981-10-20 Motorola, Inc. Execution unit for data processor using segmented bus structure
US4309754A (en) * 1979-07-30 1982-01-05 International Business Machines Corp. Data interface mechanism for interfacing bit-parallel data buses of different bit width
JPS5652454A (en) * 1979-10-05 1981-05-11 Hitachi Ltd Input/output control method of variable word length memory
US4527236A (en) * 1980-04-04 1985-07-02 Digital Equipment Corporation Communications device for data processing system
US4575814A (en) * 1982-05-26 1986-03-11 Westinghouse Electric Corp. Programmable interface memory
CA1211219A (en) * 1982-06-30 1986-09-09 Hideo Kuroda Digital data code conversion circuit for variable- word-length data code
US4507731A (en) * 1982-11-01 1985-03-26 Raytheon Company Bidirectional data byte aligner
US4628446A (en) * 1982-12-06 1986-12-09 At&T Bell Laboratories Multichannel interface
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
US4553201A (en) * 1983-03-28 1985-11-12 Honeywell Information Systems Inc. Decoupling apparatus for verification of a processor independent from an associated data processing system
US4872107A (en) * 1983-04-22 1989-10-03 International Business Machines Corporation Floppy disk controller with means to change clock rate automatically
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US4878168A (en) * 1984-03-30 1989-10-31 International Business Machines Corporation Bidirectional serial test bus device adapted for control processing unit using parallel information transfer bus
KR900007564B1 (ko) * 1984-06-26 1990-10-15 모토로라 인코포레이티드 동적 버스를 갖는 데이터 처리기
US4623874A (en) * 1984-11-02 1986-11-18 Gte Communication Systems Corp. Word length converter
US4683534A (en) * 1985-06-17 1987-07-28 Motorola, Inc. Method and apparatus for interfacing buses of different sizes
US4747047A (en) * 1985-12-06 1988-05-24 Unisys Corporation Data transfer system using two peripheral controllers to access dual-ported data storage units
US4788683A (en) * 1986-01-14 1988-11-29 Ibm Corporation Data processing system emulation with microprocessor in place
US4672570A (en) * 1986-09-05 1987-06-09 The United States Of America As Represented By The Secretary Of The Air Force Network interface module and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005518018A (ja) * 2002-02-12 2005-06-16 フルクラム・マイクロシステムズ・インコーポレーテッド 非同期及び同期領域間の変換を促進する手法

Also Published As

Publication number Publication date
US4954983A (en) 1990-09-04
EP0311760A2 (en) 1989-04-19

Similar Documents

Publication Publication Date Title
JPH01133167A (ja) データ転送ドライバ
US7082481B2 (en) Serial peripheral interface (SPI) apparatus with write buffer for improving data throughput
EP0378426B1 (en) Data transfer using bus address lines
EP0189638B1 (en) Bus width adapter
JPH02227766A (ja) デジタル・コンピユータのデータ転送装置
JP4056191B2 (ja) I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置
US6591322B1 (en) Method and apparatus for connecting single master devices to a multimaster wired-and bus environment
US4878168A (en) Bidirectional serial test bus device adapted for control processing unit using parallel information transfer bus
JPH11502643A (ja) シリアルデータバスシステムにおけるエラーの認識及び除去
EP0158774B1 (en) Data processing system with an improved storage testing device
KR0184402B1 (ko) I₂c 버스의 인터럽트 발생 장치
JP4201375B2 (ja) データ転送装置
JP2581041B2 (ja) デ−タ処理装置
KR100259585B1 (ko) 디엠에이 콘트롤러
JPH0934831A (ja) バスアダプタのデータ転送方式
JP2954006B2 (ja) エミュレーション装置およびエミュレーション方法
JPH0991243A (ja) データ転送制御装置
JPS63187943A (ja) 通信制御装置
JPH02245959A (ja) 入出力制御装置におけるデータ転送方式
KR950033853A (ko) 고속정보전송이 가능한 인터페이스회로를 갖는 컴퓨터시스템
JPS63191258A (ja) チヤネル装置
JPH04211856A (ja) クロック同期式シリアルインターフェース
JPH04199320A (ja) ディスクドライブ制御方式
JPH04284530A (ja) 印刷装置
JPH0573260A (ja) アクセス切替方法