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

データ転送制御方式

Info

Publication number
JP3483913B2
JP3483913B2 JP21019093A JP21019093A JP3483913B2 JP 3483913 B2 JP3483913 B2 JP 3483913B2 JP 21019093 A JP21019093 A JP 21019093A JP 21019093 A JP21019093 A JP 21019093A JP 3483913 B2 JP3483913 B2 JP 3483913B2
Authority
JP
Japan
Prior art keywords
data
transmission
control unit
module
reception
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.)
Expired - Fee Related
Application number
JP21019093A
Other languages
English (en)
Other versions
JPH07182275A (ja
Inventor
博 佐藤
博道 榎本
卓也 河崎
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP21019093A priority Critical patent/JP3483913B2/ja
Publication of JPH07182275A publication Critical patent/JPH07182275A/ja
Application granted granted Critical
Publication of JP3483913B2 publication Critical patent/JP3483913B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ローカルエリアネット
ワーク(LAN)や公衆回線と接続しデータ送受信を行
う通信制御装置において、複数のモジュール間の任意の
長さのフレームデータの転送を共通バスを有効に使用し
て行うデータ転送制御方式に関する。
【0002】
【従来の技術】モジュールが一つの共有バスに接続しデ
ータの送受信を行う場合、共有バスの有効利用が重要で
ある。バスの使用権を所定の方法で獲得しデータを送信
しても、受信するモジュールが受信できない状態である
と、そのバス動作に費やした時間は無駄となる。この問
題をさけるため、特開昭61−175751号公報では
バスの使用権を与えるバスアービタとモジュールにある
周期的タイミングを設定し、送信モジュールが受信モジ
ュールの受信可否を検知できる方式を示している。
【0003】また、近年ワークステーション及びネット
ワーク装置の高速化にともない、共通バスを介して接続
するハードディスクやLAN等の周辺機器との間でバー
スト転送を行うことが必須となりつつある。
【0004】バースト転送が可能なバス方式にはSCS
I(Small Compute System Interface ANSI X3T9.2/86
-109)、VMEバス(THE VME bus SPECIFICATION ANSI/I
EEESTD1014-1987 IEC821 & 297)、FutureBus
+( IEEE896.1/896.2)などの標準方式があり、SCSI
とVMEバスは広く普及している。
【0005】
【発明が解決しようとする課題】前記の従来技術におい
て、バースト転送使用する高性能なシステムを実現する
には以下に示す問題点がある。
【0006】共通バスを有効に使用する為に、特開昭6
1−175751号公報ではバスの使用権を与えるバス
アービタとモジュールにある周期的タイミングを設定
し、送信モジュールが受信モジュールの受信可否を検知
できる方式を示しているが、特定タイミングを発生する
周期によってバスの転送開始の頻度が左右され、バスそ
のものの最大転送能力を制限してしまう。
【0007】SCSIは、バードディスクなどの外部記
憶の制御から発生していることから判るように比較的低
速であり、プロトコルが複雑であるためデータの転送過
程にソフトウエアの介在が必要と成り、ハードウエアだ
けでの高速処理を実現することは困難である。
【0008】VMEバスのバースト転送は転送サイズが
固定である。このため、前記固定転送サイズより大きな
LANの受信フレームなどの任意長のデータを転送する
には複数回のバースト転送が必要となる。しかし、VM
Eバスではこのバースト転送ごとにバスの使用権を開放
するために、送信モジュールと受信モジュールとの間に
おいて、1つのデータを各固定長の転送データに分割お
よび再構成する必要がある。また複数の送信モジュール
が1つの受信モジュールに対してデータを同時に転送す
る場合を考慮する必要があり、これらの機能を実現する
には制御論理が複雑化し、ハードウエアが高価になって
しまう。この欠点はFutureBus+でも同一であ
る。
【0009】また、VMEバスのバースト転送は個々の
バス語長(4バイト)での転送に対してハンドシェイク
を行っており低速である。
【0010】更に、FutureBus+のバースト転
送は共通バスのデータ信号1本1本でシリアル転送をす
る方式を採用しており、通常のプロセッサによるパラレ
ルアクセスとの共存方法が複雑となる。
【0011】以上の記述で明らかなように従来のデータ
転送方式には解決すべき課題が存在した。本発明の目的
は、(1)可変長のフレームの転送を実現すること、
(2)高性能なバス転送を実現すること、(3)共通バ
スの動作に追従可能な転送方式実現すること、(4)同
報が可能なこと、(5)信頼の高いデータ転送を実現す
ること、(6)プログラム処理の介入による性能の低下
を押さえること、(7)DMAとPMAを共通バスで行
うこと、(8)比較的簡易な構成を採用することにより
コストの増大を押さえること、などの技術的課題を克服
したデータ転送制御方式を提供することにある。
【0012】
【課題を解決するための手段】以上示した目的を達成す
るために本発明においては、以下の構成をとる。
【0013】まず、可変長のフレームの転送を実現する
ため本発明は、送信モジュールが受信モジュールにデー
タ長を通知するコマンドサイクルと受信モジュールが空
き受信バッファの容量と比較し応答するレスポンスサイ
クルを実際のデータ転送サイクルに先だって行うデータ
転送制御手段を採用する。本発明のデータ転送制御手段
では、データ転送を複数のサイクルに細分化し、コマン
ドサイクルにおいてデータの転送長を表示し、レスポン
スサイクルによって受信モジュールの状態を観測し、受
信可能か受信不可能かを判定し、不可能である場合には
バースト転送を行わない。
【0014】また上記の動作を可能とする為に、データ
転送制御手段の送信と受信の機能のいずれか又は両方を
備えたモジュールを使用する。
【0015】送信モジュールは、コマンドサイクルのと
きバースト転送に係るパラメータを共通バスに表示する
手段としてバスドライバ/システムバス制御部/送信制
御部/送信ディスクリプタキュー制御部/RAM制御部
を、バーストサイクルを起動する前に前記検知手段によ
って得る相手モジュールの状態検知情報を条件としてバ
ースト転送の制御動作を変更する手段として送信制御部
を、前記バースト転送サイクルのときデータを送信する
手段としてバスドライバ/システムバス制御部/送信制
御部/送信ディスクリプタ制御部/RAM制御部/SA
M制御部を、モジュール内部のバスドライバとデータ転
送制御手段を構成する制御回路の中とに、機能ブロック
の単体または組合せとして構成する。
【0016】受信モジュールは、送信モジュールが共通
バスに示すバースト転送に係るパラメータを内部に入力
し係るバースト転送に対しての自モジュールの状態を表
示する手段としてバスドライバ/システムバス制御部/
受信制御部/受信ディスクリプタキュー制御部/RAM
制御部を、バースト転送サイクルで送信モジュールから
送信されるデータを受信する手段としてバスドライバ/
システムバス制御部/受信制御部/受信ディスクリプタ
キュー制御部/RAM制御部/SAM制御部を、モジュ
ール内部のバスドライバとデータ転送制御手段を構成す
る制御回路の中とに、機能ブロックの単体または組合せ
として構成する。
【0017】高性能なバス転送を実現するためにも以上
の構成は有効である。転送が不可能な場合に無駄なバス
専有をなくし、バスの動作帯域を有効に使用する。
【0018】共通バスの動作速度に追従可能な転送方式
を実現するため、μPの低速な処理アクセスが可能な第
1のデータ保持部としてVRAMのRAMを、共通バス
のクロックと同期してシリアルアクセス可能な第2のデ
ータ保持部としてVRAMのSAMを採用した。第1の
データ保持部と第2のデータ保持部との間で、バースト
転送のクロック速度とは無関係にデータの転送を行う手
段はVRAMの機能により実現する。
【0019】VRAMのRAMをμPの低速な処理アク
セスが可能な第1のデータ保持部として実現するには、
制御回路の内部のRAM制御部とプロセッサバス制御部
を機能ブロックとして組み合わせた構成による。VRA
MのSAMを共通バスのクロックと同期してシリアルア
クセス可能な第2のデータ保持部として実現するには、
制御回路の内部のSAM制御部とシステムバス制御部を
機能ブロックとして組み合わた構成による。第1のデー
タ保持部と第2のデータ保持部との間でのデータの転送
を行う手段はVRAMに対して所定の操作を制御回路の
内部のRAM制御部がおこなうことで構成される。
【0020】ここで、以上の構成を実現する別の手段と
してはFIFO構造のメモリの使用と特別な制御回路を
用意することでも実現可能である。
【0021】同報を可能とするために、複数レスポンス
を同時に観測する手段として、例えば共通バスのデータ
線が32本ある場合、データ信号線32本を各モジュー
ル2本ずつ16モジュールに割当て、各モジュールが別
々の信号線をドライブし、送信モジュールはデータ線を
全部観測する構成とする。
【0022】高信頼を実現するために、送信モジュール
内部にレスポンスを受信しレスポンスサイクルにおいて
レスポンスを保存するレジスタを用意し、転送が不可能
と判断された転送を記録することで、転送の再開を可能
とする。
【0023】VRAMのROWサイズまたはFIFOメ
モリのサイズにより、最大バースト転送長が固定され
る。最大バースト転送長を越えるフレームの転送でのハ
ンドシェイクする手段として、バス上でプルアップされ
たバッファ準備完了信号CBRDYを設ける。
【0024】プログラム処理の介入によるシステム性能
の低下を避ける目的で以下の各手段を採用する。受信デ
ィスクリプタキュー制御部に受信バッファの空きを管理
する空きディスクリプタカウンタを用意し、受信制御部
でコマンドの送信長パラメータと比較する手段を実現す
る。受信を連続して行うために受信ディスクリプタキュ
ー制御手段を用意する。送信を連続するために送信ディ
スクリプタキュー制御手段を用意する。また、送信キュ
ーを処理する過程で障害があっても、ログを残して次の
キューを処理する手段を用意することは比較的容易であ
る。
【0025】以上の手段により、受信及び送信のに必要
なプログラムの操作インタフェースが、共通バスの転送
動作とは独立になる。
【0026】DMAとPMAを共存するため、共通バス
にDMAとPMAを区別する専用の制御信号を手段とし
て用意し、データ信号線と一部の制御信号を共用する。
本手段は実施例のタイムチャートからその実現が容易で
あることが分かる。
【0027】コストミニマムとするためにアドレス信号
で固定パターンを表示し、上記のDMAとPMAを区別
する専用の制御信号が不要となる。
【0028】
【作用】本発明では、無駄なバス占有を無くして必要な
バス要求を待たせること少なくし、バスの有効利用と待
ち時間性能の向上を実現する。またVRAMのSAMは
SRAM構造であるのでアクセス速度が高速であり、ク
ロックに同期したバースト転送を実現することが可能で
転送性能が向上する。VRAMのRAMをデータ保持手
段VRAMのSAMを一時保持手段とすることで、SA
Mの高速性とシリアルアクセスの正確とRAM速度と、
RAM−SAM間の双方向のデータ転送機能が本発明に
おいて非常に有効に作用している。同様の作用はFIF
O構造のメモリを利用することでも得られる。
【0029】複数のモジュールの状態を観測することで
同報転送を可能となる。
【0030】レスポンスを保存することでリカバリや障
害部位の特定が可能となる。
【0031】バースト転送サイズの制約により、複数の
バースト転送サイクルにが必要なっても、VRAM準備
完了信号のハンドシェイクにより確実な同期動作を行え
る。
【0032】送信及び受信のインタフェースをキュー構
造とすることでプログラム処理でのウエイトループを少
なくすることによりプログラム処理の性能が向上し、シ
ステム全体としても好条件となる。
【0033】必要であれば、共通バスの信号を多重化
し、信号数を少なくすることで付随するドライバやコネ
クタなども少なくなり、コストが下がる。
【0034】
【実施例】以下、本発明の一実施例について図面を用い
て説明する。
【0035】図1は本発明の全体構成を示している。共
通バス8にはバスアービタ9と複数のモジュール10が
接続する。各モジュール10 内部では、μP1が内部
バス2に接続し、同様にプログラム格納手段である主記
憶(MS)3と市販LSIで構成されるLANまたWA
Nの制御手段4と本発明のデータ転送制御方式を実現す
る制御回路5もまた内部バス2に接続する。制御回路5
とデータ保持手段であるVRAM6のRAM部はVRA
M制御信号とRAMポートデータ信号によって接続され
る。VRAM6のSAM部はシリアルポートデータ信号
でバスドライバ7と制御回路5と接続する。バスドライ
バ7は共通バス8の信号とモジュール内部の信号を接続
し、制御回路5からイネーブル制御される。なお、制御
回路5の内部構成については後に図3を用いて説明す
る。
【0036】表1は共通バス8上の信号線の一覧であ
り、符号に対する信号名および信号の分類と各信号のソ
ースとシンク、そしてデータ転送(ダイレクトメモリア
クセス;DMA)とプロセッサアクセス(プロセッサメ
モリアクセス;PMA)のどちらに適用するかを示して
いる。本実施例では最大16スロットまでモジュールを
共通バス8に接続し、各スロット個別にアービトレショ
ン用の信号である/CBR(x)83,/CBG(x)
84をバスアービタと接続する。ここで、x=0〜15
であり、xはスロットの識別子である。また、本実施例
はアドレスとデータを同一の32ビットの信号CAD
(i,j)81にマルチプレクスする。ここで、i=0
〜3、j=0〜7であり、iはバイト、jはビットの識
別をする。信号CRESP(0−1)85はモジュール
がレスポンスサイクルで出力するレスポンス信号であ
り、表2に示す対応にてスロット毎にCAD(i,j)
81の各信号とバッグボードでワイヤドオア(WOR)
される。
【0037】信号/CBB82はバスビジーを示す.信
号/CAE860は信号CAD(i,j)81上のデー
タの内容が、DMAにおいてのコマンドの1つ目である
こととを示し、PMAにおいてはアドレスであることを
示す。また、信号/CDE861は信号CAD(i,
j)81上のデータの内容がDMAにおいてはコマンド
の2つ目であることバースト転送サイクルのデータ転送
中であることを示す。PMAにおいてはデータであるこ
とを示す。信号CSIZE(0−1)863はPMAに
おいて、バイト/ワード(2B)/ロングワード(4
B)のアクセス種を示す。信号/CLOCK864はP
MAがリードモディファイライトであることを示す。信
号/CBURST865はDMAとPMAの区別を示
す。信号/CBEND866はDMAのバースト転送サ
イクルの終了を示す。
【0038】信号/CDTACK87はPMAの終結を
示す。信号CBRDY88はバースト転送の準備が完了
したことを示し、バックプレーン上でワイヤドオアされ
る。
【0039】信号CSLOT(0−3)89は実装位置
で異なるスロット番号である。信号CCLK80はバス
クロックであり、全てのモジュールはこのクロックに同
期して動作する。
【0040】図2は図1に示した実施例における共通バ
スのアービトレーション動作を示している。信号81、
82、83a,83b,84a,84bは表1に示す共
通バス上の信号である。11a,11bはコマンドサイ
クルにおいて送信モジュールが信号CADをドライブす
るを状態を示し、11cはレスポンスサイクルにおいて
1つまたは複数の受信モジュールがレスポンス信号をド
ライブした結果が信号CADに表示する状態を示す。1
1dはレスポンスサイクルの結果をもとに転送可能であ
ると送信モジュールが判定しバースト転送実施している
状態を示す。
【0041】第1のモジュールaが/CBRa83aに
よってバス権をBA9に要求し、BA9は/CBB82
が’L’レベルでないので第1のモジュールaにバスの
使用権を/CBGa84aによってあたえた。第1のモ
ジュールaは/CBBを’L’ドライブしレスポンスサ
イクルまで実行したが、第1のモジュールの転送先のモ
ジュールが受信不可能であること検知したので、/CB
Bを’H’から’HiZ’としてバスを開放する。BA
9は第2のモジュールbが/CBRbでバス権を要求し
ているのを検知し、/CBBが’H’となったのを条件
に第2のモジュールbにバス権をあたえ、以後、モジュ
ールbはDMAをバースト転送まで実行する様子を示し
ている。
【0042】図3は本実施例におけるモジュール10の
より具体的一実施例の構成を示す。図1のデータ転送制
御回路5のうち、データの送信を行う場合は、送信制御
部51と送信ディスクリプタキュー制御部52が主に動
作し、データの受信を行う場合は受信制御部54と受信
ディスクリプタキュー制御部55が主に動作する。また
システムバス制御部53は、送信データ転送時には送信
制御部51の指示信号で従って動作し、受信データ転送
時には受信制御部54の指示信号に従って動作し、内部
のμP1によるアクセス(PMA)ではプロセッサバス
制御部58の指示信号(図示せず)に従ってバスマスタ
として動作し、システムバスからのPMAではシステム
バスの信号の指示に従ってスレーブとして動作する。S
AM制御部56は送信制御部51または受信制御部54
から指示信号を入力しVRAM6のSAMポートを制御
する。
【0043】RAM制御部57は送信制御部51または
受信制御部54からの指示信号やプロセッサバス制御部
58からの指示信号を入力しVRAM6のRAMポート
の制御とVRAM6のSAMとRAMの間の転送制御を
行う。71は表2の制御信号1のグループを共通バスと
システムバス制御部53と接続する双方向ドライバであ
り、その制御はシステムバス制御部53がおこなう。7
2は表2の制御信号2のグループを共通バスとシステム
バス制御部53と接続する双方ドライバであり、その制
御はシステムバス制御部53がおこなう。73は信号C
BRDY88を共通バスからシステムバス制御部53に
入力する入力するドライバである。74はシステムバス
制御部53から共通バスへ出力するオープンコレクタド
ライバである。75は信号CRESP(0−1)を受信
制御部54から共通バス上の信号CAD81にWORす
るオープンコレクタのドライバである。76は共通バス
上の信号CAD81とシステムバス制御部を接続する双
方向のドライバであり、その制御はシステムバス制御部
53がおこなう。
【0044】図4は、コマンド1・11a、コマンド2
・11bそしてレスポンス11cのフォーマットであ
る。コマンド1・11aは DMAを意味する固定パタ
ーン、同報表示の1ビット、送信モジュール番号の4ビ
ット、受信モジュールを指定する16ビットを含む。コ
マンド2・11bは フレームの総データ長を示すフィ
ールドとを含む。レスポンス11cは各スロットのモジ
ュールの応答するCRESP(0−1)を表2の対応に
て表示する。
【0045】本実施例では信号/CBURST865で
DMAを明示するが、この信号がなくても図4の11a
でDMAを示す固定パターンで明示すれば信号865が
不要なのは明白である。
【0046】本実施例ではコマンドに送信モジュール番
号を割当ているが、本発明の別の実施例おいては転送し
たデータ本体の内容から送信元を識別することとし、コ
マンドから送信モジュール番号を削除することも可能で
ある。
【0047】また、本発明の別の実施例として、コマン
ドサイクルの送信モジュール番号を積極的に使用して、
受信制御部55の動作の一部をコマンドサイクルの転送
データ長だけでなく送信モジュール番号も使用して受信
可否の応答を行うことも容易に可能である。その場合、
受信制御部55の中にデータ転送を許可するモジュール
を決定する方法を備えておく。
【0048】表3は本実施例でのレスポンスの種類と意
味を示す。レスポンス信号が2種あるので4つの状態を
表示可能である。このレスポンス信号の本数を変えると
更に詳細な状態が表示可能なのは当然である。
【0049】図5は第一のモジュール10aから第2の
モジュール10bに対して1つのフレームを2つのブロ
ックに分けて転送を行う場合の共通バス8の信号の動作
と、各モジュール10のVRAM6の動作と、送信モジ
ュール10a内部の送信ディスクリプタカウンタ651
と送信フレームカウンタ652の動作と、受信モジュー
ルbの空きディスクリプタカウンタ671と受信フレー
ムカウンタ672の動作を示した(なお、これらのカウ
ンタ651,652,671,672については図9,
図11で説明する)。1001はVRAMのシリアルポ
ートのイネーブル信号である。1002はVRAMのシ
リアルクロックである。RDD2001aは送信制御5
1からの指示によりRAM制御部57がVRAMのRA
Mポートから送信ディスクリプタをリードする動作を示
す。RDD2001bは受信制御部54からの指示によ
りRAM制御部57がVRAMのRAMポートから受信
ディスクリプタをリードする動作を示す。RT202は
送信制御51から指示によりRAM制御部57がVRA
MのRAM上のデータをSAMに転送する(リードトラ
ンスファ)動作を示す。PWT2004aは送信制御5
1から指示によりRAM制御部57がVRAMのSAM
上のデータをRAMに転送しないでSAMポートを入力
モードに切替る(擬似ライトランスファ)動作を示す。
PWT2004bは受信制御部54の指示によりRAM
制御部57がVRAMのSAM上のデータをRAMに転
送しないでSAMポートを入力モードに切替えVRAM
のSAMポートのシリアルアクセスのスタートアドレス
の設定をする(擬似ライトランスファ)動作を示す。W
TD2005は受信制御部54の指示でRAM制御部5
7がVRAMのRAMポートにフレーム先頭の受信ブロ
ックのディスクリプタにフレーム全体のデータ長を書き
込む動作を示す。WT2006は受信制御部54の指示
でRAM制御部57がVRAMのSAMからデータを転
送する(ライトトランスファ)動作を示す。
【0050】以上VRAMの動作の参考に図17にVR
AMの構成を示し、図13にWT(PWT)動作のタイ
ムチャートを、図14にRT動作のタイムチャートを、
図15にWTD動作のタイムチャートを、図16にRD
D動作のタイムチャートを示した。 WTとPWTのタ
イミングは同一である。図13のMSKtが全て’H’
であるときはWT動作であり、SAMからRAMにデー
タが転送され、SAMポートは入力モードなり、図13
のSAMstartで指定されるアドレスにSAMのポ
インタが移動する。MSKtが全て’L’であるときは
PWT動作であり、SAMからRAMにデータが転送さ
れない以外はWTと同じ動作をする。
【0051】図15はライトパービット機能を有するD
RAMと同様な動作でRAMにライトするタイムチャー
トを示す。図16はDRAMのリード動作のタイムチャ
ートである。VRAM6のRAM部は図15と図16で
示されるようにDRAMと動作が類似しているので、プ
ロセッサバス制御部58の指示を受けてRAM制御部5
7はモジュール内部のμP1のライト及びリードアクセ
スもサポートする。
【0052】図7は1つの送信モジュールと複数の受信
モジュールとの間のVRAMのSAMサイズで制限され
る特定長単位ごとの転送においてハンドシェイクを行い
同期して動作する手段である信号CBRDY88の動作
説明図である。共通バス上の信号CBRDY88はプル
アップされた信号であり、複数の受信モジュールがオー
プンコレクタドライバ74で駆動するマルチソースの信
号である。バースト転送サイクルでのプロトコルを説明
すると、受信モジュールがDMAであることを認識する
とオープンコレクタドライバ74でCBRDY88を’
L’レベル駆動する。受信モジュール側でPWTを実行
終了しVRAMのSAMポートがシリアル受信可能にな
た場合に’L’駆動を一時停止すると、信号CBRDY
88はプルアップにより’H’レベルに達する。
【0053】送信モジュールは特定長単位ごとの転送を
開始する前に信号CBRDY88が’H’レベルである
かをタイマ532を起動し監視する。タイマ532の機
能条件は図8に示すように毎回の特定単位長ごとの転送
を開始する前の/CDE861が’H’レベルに変化し
た瞬間からCBRDYが’L’レベルである間300で
あり、規定時間以内にCBRDYが’H’レベルならな
いとタイムアウトを通知する。CBRDY送信制御53
3は、受信モジュール側のシステムバス制御部53の内
にあって、受信制御部54のバースト転送準備完了を共
通バスのタイミングで出力する。CBRDY受信531
は、送信モジュール側のシステムバス制御部53内部に
あって、特定単位長ごとの転送を開始するまえにおいて
共通バスからのCBRDYの到達とタイムアウトの存否
を送信制御部51に通知する。
【0054】図8は共通バスでのCBRDY88の’
L’レベルから’H’レベルへの変化と各モジュールの
CBRDY出力88a,88bの関係を示す。WORに
よりすべての受信モジュールがバースト転送の準備が完
了していることが送信モジュールに通知できる。
【0055】表4はレスポンス及びCBRDYハンドシ
ェイクの結果の様々なケースに対する送信制御のバリエ
ーションを示す。ケース1から3は受信モジュールが1
つの個別転送であり、ケース4から7は受信モジュール
が複数の同報転送である。
【0056】ケース1では受信モジュールが受信不可能
であるためバースト転送サイクルへは進まない。代りに
μP1に割込むことでプログラム処理を介入させる。ケ
ース2ではバースト転送を開始したがCBRDYでのハ
ンドシェイク違反を検出したときであり、μP1に割込
むことでプログラム処理を介入させる。ケース3は個別
転送の正常ケースである。
【0057】ケース4はケース1と同様の動作をおこな
う。ケース5は同報転送において一部のモジュールが受
信できなくても、レスポンスのログを保持してレスポン
スに対するバースト転送サイクルを全て実施したあと、
送信動作を停止しμPに割込みプログラム処理を介入さ
せる。ケース6もケース2と同様に動作するが、バース
ト転送サイクルは最後まで実行する。ケース7は同報の
正常ケースである。
【0058】図9は本実施例における送信キュー制御部
52の概要を示す。660は送信キュー制御部52の内
部にあってVRAMのRAM61上に展開する送信ディ
スクリプタ領域の先頭アドレスを示すレジスタ(S_D
SCA_TOP)である。661は送信キュー制御部5
2の内部にあってVRAMのRAM上に展開する送信デ
ィスクリプタ領域の大きさを示すレジスタ(S_DSC
A_SIZE)である。662は送信キュー制御部52
の内部にあって次に送信制御部51が参照すべきディス
クリプタを指定するポインタ(S_DSC_RP)であ
る。S_DSC_RP662は送信制御部が1つ送信デ
ィスクリプタをリードした後ハード的にインクリメント
される。663は、μP1のプログラム処理にて使用さ
れるプログラム変数であって、次に送信ディスクリプタ
を書くべきディスクリプタ領域内のポインタ(S_DS
C_WP)である。S_DSC_WP663はプログラ
ム処理で新しい送信ディスクリプタをRAMに書き込む
度に更新される。61はVRAMのRAM領域である。
651は送信ディスクリプタカウンタ(S_DSC_C
NT)であり、プログラム処理で新しい送信ディスクリ
プタをRAMに書き込む度にプログラム処理により+1
される。S_DSC_CNT651は送信制御部が1つ
送信ディスクリプタをリードした後ハード的に−1され
る。652は送信フレームカウンタ(S_FRM_CN
T)であり、1つのフレームの全てのディスクリプタを
プログラム処理でRAM61上に用意したあとプログラ
ム処理により+1される。S_FRM_CNT652は
1つのフレーム送信が終了したとき送信制御51からの
指示で−1される。送信キュー制御においてS_FRM
_CNTの値が0でない場合送信制御部51に送信起動
がかかる。
【0059】図10は本実施例における送信ディスクリ
プタの構造を示す。2つのブロックで1つのフレームを
構成する場合である。1つめの送信ディスクリプタ61
0は、個別/同報転送の指示するMC、1つめのブロッ
クの格納アドレスS_BUF_AD、送信先をビット配
置表示するフィールドS_DM_BIT、そしてフレー
ム全体のデータ長S_FRM_LNGよりなる。送信制
御部51は2つめの送信ディスクリプタが必要か必要で
ないか、すなわち複数のブロックに分割されるかどうか
は1つめのディスクリプタ610のS_FRM_LNG
によって判定する。プログラム処理ももちろんこのルー
ルを考慮して送信ディスクリプタをセットする。2番目
以降のディスクリプタ611はS_BUFF_ADだけ
が意味を持つ。フレームの最終ブロックであることは、
送信制御部51が1つめの送信ディスクリプタのS_F
RM_LNGをリードした段階で決定し、最終ブロック
で転送すべきデータ長はS_FRM_LNGを単位転送
長で割算した余りとなる。
【0060】図11は本実施例における受信キュー制御
部55の概要を示す。680は受信キュー制御部55の
内部にあってVRAMのRAM61上に展開する受信デ
ィスクリプタ領域の先頭アドレスを示すレジスタ(R_
DSCA_TOP)である。681は受信キュー制御部
55の内部にあってVRAMのRAM上に展開する受信
ディスクリプタ領域の大きさを示すレジスタ(R_DS
CA_SIZE)である。682は、μP1のプログラ
ム処理にて使用されるプログラム変数であって、次に受
信ディスクリプタを読むべきディスクリプタ領域内のポ
インタ(R_DSC_RP)である。R_DSC_RP
682はプログラム処理で受信ディスクリプタをRAM
から読み出す度に更新される。683は受信キュー制御
部55の内部にあって次に受信制御部54が参照すべき
ディスクリプタを指定するポインタ(R_DSC_W
P)である。R_DSC_WP683は受信制御部が1
つ受信ディスクリプタをリードした後にインクリメント
される。62はVRAMのRAM領域である。671は
空きディスクリプタカウンタ(R_DSC_EMPC)
であり、受信ディスクリプタキューの未使用のディスク
リプタの数を表示する。R_DSC_EMPC671は
プログラム処理により、空きディスクリプタを受信ディ
スクリプタキューに設定した後に同じくプログラム処理
により+1され、受信制御部54が1ブロック受信する
度に−1される。受信制御部54はレスポンスサイクル
において送信モジュールがコマンドサイクルで示した転
送データ長とR_DSC_EMPCの値を比較すること
でレスポンスを出力する。672は受信フレームカウン
タ(R_FRN_CNT)であり、受信したフレーム数
を表示する。R_FRN_CNT672は受信制御部5
4がフレームを受信する度に+1し、プログラム処理に
より−1する。R_FRN_CNT672が0以外であ
るとき受信制御部54はμP1に割込みで通知しフレー
ム受信後のプログラム処理の介入を要求する。
【0061】図12は本実施例における受信ディスクリ
プタの構造を示す。2つのブロックで構成される1つの
フレーム受信完了し、更に3つの空きブロックがある場
合である。1つめの送信ディスクリプタ620は、送信
モジュールを示すフィールドR_SM_ID,1つめの
ブロックの格納アドレスR_BUF_AD、そしてフレ
ーム全体のデータ長R_FRM_LNGよりなる。受信
制御部54は2つめの送信ディスクリプタが必要か必要
でないか、すなわち複数のブロックに分割されるかどう
かは1つめのディスクリプタ620のR_FRM_LN
Gによって判定する。プログラム処理ももちろんこのル
ールを考慮して受信ディスクリプタを解釈する。2番目
以降のディスクリプタ621はR_BUFF_ADだけ
が意味を持つ。フレームの最終ブロックであることは、
送信制御部54が1つめの送信ディスクリプタのR_F
RM_LNGをリードした段階で決定し、最終ブロック
の受信したデータ長はR_FRM_LNGを単位転送長
で割算した余りとなる。
【0062】622、623、624はいずれも空きブ
ロックをポイントする空きディスクリプタであり、フィ
ールドR_SM_ID,R_FRM_CNTが0であ
る。
【0063】なお、図12に示す受信ディスクリプタの
送信元のモジュールを識別するフィールドR_SM_I
Dは、本実施例の転送制御においてコマンドの一部をそ
のまま格納しているが、本発明の他の実施例として転送
データの本体から送信元を特定することすれば、フィー
ルドR_SM_IDは不要となる。
【0064】図18は本発明の実施例の共通バスにおい
てのPMAライト動作のタイムチャートであり、図19
は同じくPMAリード動作のタイムチャートである。/
CBURST865が’H’レベルで有ることでPMA
を表示しており、CAD(i,j)81を使用してアド
レスとデータをマルチプレクスしている。共通バスのマ
スタはPMAの動作の終結条件は/CDTACK87に
よって行う。
【0065】つぎに、図6を使って、本実施例における
2ブロックからなるフレームの転送動作を説明する。図
6は図5に示したデータ転送の動作が行われるとき、第
1のモジュール10aと第2のモジュール10bそれぞ
れの内部において各構成要素の動作関係をシーケンス図
にして示した。図6の縦線はモジュール10aとモジュ
ール10bの内部の構成要素を示し、符号の数字は図3
と一致し、符号のアルファベットはモジュール10aと
モジュール10bの添字a/bに対応している。 受信
モジュール10bはデータ受信の準備として、μP1b
のプログラム処理で、あきバッファ領域と空きディスク
リプタをVRAMのRAM62bに用意し(258,2
60)、受信ディスクリプタキュー制御55bを操作し
R_DSC_EMPCをインクリメントする(259、
261)。このあと、受信制御部54bに受信起動指示
をおこなう(262)。受信起動のかかった受信制御部
54bは受信キューの先頭のディスクリプタをリードし
(263,264)、共通バスからの受信にそなえる。
【0066】送信モジュール10aはフレーム送信の動
作として、μP1aが、VRAMのRAM62a上に、
転送するフレームデータとディスクリプタをブロックに
分割して格納し(201,203)、送信ディスクリプ
タキュー制御52aに対してS_DSC_CNTのイン
クリメント指示(202,204)とS_FRM_CN
Tのインクインクリメント指示を行う(205)。
【0067】送信制御部51aは、S_FRM_CNT
が0でないので送信起動がかかり(206)、送信キュ
ーの先頭のディスクリプタをVRAMのRAM61aか
らリードし(207,208)、システムバス制御53
aに対してコマンドサイクルとレスポンスサイクルの実
行を依頼する(209)。システムバス制御部53aは
コマンドサイクルを起動し(210)、レスポンスを受
信(214)し、送信制御部51aに通知する(21
5)。
【0068】この間、受信モジュールのシステムバス制
御53bはバースト転送のパラメータを受信制御部54
bにあたえ、受信制御部54bは受信キュー制御に空き
ディスクリプタ長を問いあわせ(212、213)レス
ポンスを送信する(214)。 送信制御部51aはレ
スポンスの結果を判定し、RAM制御57に対して1つ
めのブロックのRAM−>SAM方向のリードトランス
ファを実行する(216,217)。そのあと、ディス
クリプタカウンタをインクントする(218)。
【0069】送信制御部51aは、送信準備完信号(2
24)をシステムバス制御53aから受信すると、SA
M制御部56aにSAMのフルサイズのバースト転送を
指示し(225)、そのあと次のブロックのディスクリ
プタをリードする(226,227)。SAM制御部5
6aは指示されたバースト転送を行い(228)、終了
を通知する(230)。
【0070】送信制御部51aはバースト転送の完了
(230)を受信すると、次のブロックのリードトラン
スファ(231,232)を行い、その後送信ディスク
リプタカウンタをデクリメントする(223)。この状
態で、送信制御部51aは受信モジュールは送信準備完
了信号(242)を待ち、同信号を受信後に1ブロック
めと同様に最後のブロックの転送サイズを指定して転送
を開始する(243,244,246)。最後のブロッ
ク転送が終了後に送信制御部51aはRAM制御部57
aにPWTを依頼し、SAMポートを受信モードとする
(247,248)。送信制御の最後に送信フレームカ
ウンタをデクリメントする(249)。
【0071】この間、受信モジュールでは、受信制御部
54bはステップ264でリードしてあるあきディスク
リプタの空きバッファに1つめのブロックデータを受信
すべく、RAM制御部57aにたいして,PWTサイク
ルを起動させ、SAMスタートアドレスをVRAMにセ
ットし、VRAMのSAMポートを入力モードにする
(219,220)。VRAMのPWTが完了するとS
AMポートは受信可能であるので、バッファ完了信号C
BRDYのドライブをシステムバス制御部53bに依頼
する(221)。同時に受信制御部54bはSAM制御
部56bにバースト受信動作を依頼し(222)、送信
モジュールのバースト転送をまつ。また受信制御部54
bはコマンドサイクルで得た受信パラメータをVRAM
のRAM上の先頭受信ディスクリプタにライトし(26
5)、続くブロックの受信の準備として次の受信ディス
クリプタをリードする(266.267)。
【0072】1つめのブロック転送が終了したあと(2
29)、受信制御部54bはSAM−>RAM方向のW
Tをおこない(234,235)。空きディスクリプタ
カウンタをデクリメントする(236)。その後2ブロ
ックめの受信の準備をPWTをおこなう(237,23
8)。以下、バッファ準備完了号の発行から2ブロック
めの受信完了までは同様に動作する(239,234,
268,269,245,250,251,255)。
ステップ256は受信フレームカウンタをインクリメン
トする。この結果受信フレームカウンタが0でなくなる
とプロセッサに割り込む(257)。
【0073】以上に示したように、本実施例においてす
べての課題が解決されていることがわかる。
【0074】
【発明の効果】本発明によれば、同報転送が可能で高速
かつ高性能データ転送が低コストで可能となり、任意長
のフレームの転送も可能となる。また、プログラム処理
とのインタフェースも高速処理を行うのに適しており、
システムとして高性能化を実現する。
【図面の簡単な説明】
【図1】 本発明の一実施例の全体構成図。
【図2】 本実施例における共通バスのアービトレーシ
ョン動作例を示す図。
【図3】 本実施例のモジュールの内部構成図。
【図4】 本実施例の共通バスでのコマンドとレスポン
スのフォーマット。
【図5】 本実施例のデータ転送における共通バスの動
作図。
【図6】 本実施例のデータ転送におけるモジュール各
部の動作シーケンス図。
【図7】 本実施例の複数モジュール間のバースト転送
ハンドシェイクの監視構成図。
【図8】 本実施例の複数モジュール間のバースト転送
のハンドシェイクのタイミングチャート。
【図9】 本実施例の送信キュー制御の動作図。
【図10】 本実施例の送信ディスクリプタの構成図。
【図11】 本実施例の受信キュー制御の動作図。
【図12】 本実施例の受信ディスクリプタの構成図。
【図13】 本実施例に用いるVRAMのライトトラン
スファ動作説明図。
【図14】 本実施例に用いるVRAMのリードトラン
スファ動作説明図。
【図15】 本実施例に用いるVRAMのライト動作説
明図。
【図16】 本実施例に用いるVRAMのリード動作説
明図。
【図17】 本実施例に用いるVRAMの構成図。
【図18】 本実施例の共通バスにおいてのPMAライ
ト動作のタイムチャート。
【図19】 本実施例の共通バスにおいてのPMAリー
ド動作のタイムチャート。
【符号の説明】
1−μP、5−本発明の転送制御手段を実現する制御回
路、6−VRAM、61−VRAMのRAM部、62−
VRAMのSAM部、7−バスドライバ、8−共通バ
ス、9−バスアービタ、81−アドレス及びデータ信号
で、バックボードで終端されモジュールがドライブしな
いと’H’レベルになる、75−信号CADを利用して
レスポンスを表示するオープンコレクタのドライバ、8
8−プルアップされたCBRDY信号、73−CBRD
Yを観測する入力ドライバ、74−CBRDYを’L’
ドライブするオープンコレクタのドライバ、51−送信
制御部、52−送信ディスクリプタキュー制御部、53
−システムバス制御部、54−受信制御部、55−受信
ディスクリプタキュー制御部、56−SAM制御部、5
7−RAM制御部、58−プロセッサバス制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 榎本 博道 神奈川県海老名市下今泉810番地 株式 会社日立製作所オフィスシステム事業部 内 (72)発明者 河崎 卓也 東京都千代田区大手町二丁目6番2号 株式会社日立情報ネットワーク内 (56)参考文献 特開 昭61−175751(JP,A) 特開 平4−112350(JP,A) 特開 昭63−137349(JP,A) 特開 平4−347762(JP,A) 特開 昭64−11438(JP,A) 特開 平5−103016(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/36 520 G06F 13/12 330 G06F 13/38 330 H04L 12/40

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】バスに接続された複数のモジュールを少な
    くとも有し、各モジュール間で前記バスを介して可変長
    のフレームデータの転送を行う通信制御装置において、 前記各モジュールは、1以上のブロックデータに分割さ
    れた送信フレームデータ及び受信フレームデータの各ブ
    ロックデータを保持するデータ保持部と、前記データ保
    持部に保持されているブロックデータ毎に各ブロックデ
    ータを含む送信フレームデータのデータ長、格納領域及
    び送信先に関する情報を保持する送信キュー制御部と、
    前記送信キュー制御部に保持されている情報に従って送
    信先のモジュールに対するブロックデータの送信を制御
    する送信制御部と、ブロックデータが格納されていない
    空き格納領域に関する情報を少なくとも保持する受信キ
    ュー制御部と、前記受信キュー制御部に保持された情報
    に従って任意のモジュールから送信されたブロックデー
    タの受信を制御する受信制御部とを有し、前記送信制御
    部は送信フレームデータの送信前に、送信先の1以上の
    モジュールに対して前記送信フレームデータのデータ長
    を含むコマンド信号を送信し、前記送信先の1以上のモ
    ジュールのうち少なくとも1つのモジュールから受信可
    能を意味するレスポンス信号を受信すると、前記データ
    保持部に保持されている前記送信フレームデータの各ブ
    ロックデータを前記少なくとも1つのモジュールに送信
    し、前記受信制御部は、任意のモジュールから送信され
    た送信フレームデータのデータ長を含むコマンド信号を
    受信すると、前記受信キュー制御部に保持されている前
    記空き格納領域に関する情報と前記データ長とを比較
    し、受信可能または受信不可能を意味するレスポンス信
    号を前記任意のモジュールに対して送信し、受信可能を
    意味する前記レスポンス信号を送信した場合、前記任意
    のモジュールから送信されたブロックデータを受信し、
    前記データ保持部に格納することを特徴とする通信制御
    装置。
  2. 【請求項2】請求項1記載の通信制御装置において、前
    記各モジュールは処理部を更に有し、前記データ保持部
    は、前記処理部による低速なアクセスが可能な第1のデ
    ータ保持部と、前記バスのクロックと同期してアクセス
    可能な第2のデータ保持部からなり、前記各モジュール
    がブロックデータを送信する場合、前記送 信制御部は、
    前記処理部により前記第1のデータ保持部に格納された
    前記ブロックデータを前記第2のデータ保持部に転送
    し、前記第2の保持部から前記バスに対して前記ブロッ
    クデータを送信し、前記各モジュールがブロックデータ
    を受信する場合、前記受信制御部は、前記バスから受信
    した前記ブロックデータを前記第2のデータ保持部に格
    納し、その後、前記第2のデータ保持部から前記第1の
    データ保持部へ転送することを特徴とする通信制御装
    置。
  3. 【請求項3】データ転送手段に接続された複数のモジュ
    ールを有し、各モジュール間で前記データ転送手段を介
    して任意の長さのフレームデータの転送を行う通信制御
    装置において、 前記複数のモジュールのうちの1以上のモジュールは、
    1以上のブロックデータに分割された送信フレームデー
    タの各ブロックデータを保持する送信データ保持部と、
    前記データ保持部に保持されているブロックデータ毎に
    各ブロックデータを含む送信フレームデータのデータ
    長、格納領域及び送信先に関する情報を保持する送信キ
    ュー制御部と、前記送信キュー制御部に保持されている
    情報に従って送信先のモジュールに対するブロックデー
    タの送信を制御する送信制御部とを有し、また、前記複
    数のモジュールのうちの1以上のモジュールは、1以上
    のブロックデータに分割された受信フレームデータの各
    ブロックデータを保持する受信データ保持部と、ブロッ
    クデータが格納されていない空き格納領域に関する情報
    を少なくとも保持する受信キュー制御部と、前記受信キ
    ュー制御部に保持された情報に従って任意のモジュール
    から送信されたブロックデータの受信を制御する受信制
    御部とを有し、前記送信制御部は送信フレームデータの
    送信前に、送信先の1以上のモジュールに対して前記送
    信フレームデータのデータ長を含むコマンド信号を送信
    し、前記送信先の1以上のモジュールのうち少なくとも
    1つのモジュールから受信可能を意味するレスポンス信
    号を受信すると、前記送信データ保持部に保持されてい
    る前記送信フレームデータの各ブロックデータを前記少
    なくとも1つのモジュールに送信し、前記受信制御部
    は、任意のモジュールから送信された送信フレームデー
    タのデータ長を含むコマンド信号を受信すると、前記受
    信キュー制御部に保持されている前記空き格納領域に関
    する情報と前記データ長とを比較し、受信可能または受
    信不可能を意味するレスポンス信号を前記任意 のモジュ
    ールに対して送信し、受信可能を意味する前記レスポン
    ス信号を送信した場合、前記任意のモジュールから送信
    されたブロックデータを受信し、前記受信データ保持部
    に格納することを特徴とする通信制御装置。
JP21019093A 1993-08-25 1993-08-25 データ転送制御方式 Expired - Fee Related JP3483913B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21019093A JP3483913B2 (ja) 1993-08-25 1993-08-25 データ転送制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21019093A JP3483913B2 (ja) 1993-08-25 1993-08-25 データ転送制御方式

Publications (2)

Publication Number Publication Date
JPH07182275A JPH07182275A (ja) 1995-07-21
JP3483913B2 true JP3483913B2 (ja) 2004-01-06

Family

ID=16585279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21019093A Expired - Fee Related JP3483913B2 (ja) 1993-08-25 1993-08-25 データ転送制御方式

Country Status (1)

Country Link
JP (1) JP3483913B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619427B2 (en) * 2014-04-21 2017-04-11 Qualcomm Incorporated Hybrid virtual GPIO

Also Published As

Publication number Publication date
JPH07182275A (ja) 1995-07-21

Similar Documents

Publication Publication Date Title
US6223305B1 (en) Method and apparatus for resetting, enabling and freezing a communication device in a diagnostic process
US6145016A (en) System for transferring frame data by transferring the descriptor index data to identify a specified amount of data to be transferred stored in the host computer
JP2539614B2 (ja) ポインタアドレスを発生するための装置および方法
US5175825A (en) High speed, flexible source/destination data burst direct memory access controller
KR0161101B1 (ko) 호스트 인터럽트 및 지시운용을 가지는 네트워크 어댑터
US6581113B1 (en) Apparatus and method for transferring frame data between a host system memory and a network interface buffer memory employing transmit descriptors without transmit status information
EP0141742A2 (en) Buffer system for input/output portion of digital data processing system
US5590369A (en) Bus supporting a plurality of data transfer sizes and protocols
JPH04230557A (ja) 直接メモリアクセス・コントローラ
US6889266B1 (en) Method for delivering packet boundary or other metadata to and from a device using direct memory controller
JPH07107676B2 (ja) 順次通信制御装置
JPH02227765A (ja) デジタル・コンピユータのデータ転送装置
US20020184453A1 (en) Data bus system including posted reads and writes
EP0508634B1 (en) Memory access for data transfer within an I/O device
EP1305718B1 (en) Method and apparatus for connecting single master devices to a multimaster wired-and bus environment
EP0293860B1 (en) Peripheral controller and adapter interface
CN108268414A (zh) 基于spi模式的sd卡驱动器及其控制方法
JPH0653994A (ja) データ送信方式及び通信制御装置
JP2002543489A (ja) グラフィックスエンジンマスターモード動作の改良
JP3483913B2 (ja) データ転送制御方式
CA2289192C (en) Communication dma device
US7284077B2 (en) Peripheral interface system having dedicated communication channels
JP3484056B2 (ja) データ転送装置及びデータ転送システム
JP3176472B2 (ja) データ転送方式
JP2963696B2 (ja) データ転送制御システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees