JPH07281993A - Dma装置 - Google Patents
Dma装置Info
- Publication number
- JPH07281993A JPH07281993A JP7071494A JP7071494A JPH07281993A JP H07281993 A JPH07281993 A JP H07281993A JP 7071494 A JP7071494 A JP 7071494A JP 7071494 A JP7071494 A JP 7071494A JP H07281993 A JPH07281993 A JP H07281993A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- storage area
- unit
- control 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
Links
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】 (修正有)
【構成】 デコード部8が受信フレームのデータ列を構
成する各データに付加された属性データに基づいて各デ
ータの種類を識別し、バッファメモリ4の単位格納領域
に格納する。また、その属性データに基づいて、ステー
タスやエラー情報も識別し、バッファメモリ4の単位格
納領域に設けられた本体データとは別の専用領域に格納
する。DMA本体部7が、1受信フレームの転送の終了
時、現転送先単位格納領域の次領域アドレス格納部に格
納されたアドレスをベースレジスタ71に格納するた
め、次の受信フレームの転送にて使用する単位格納領域
の先頭アドレスをCPU3の介在なしにベースレジスタ
に設定可能となる。更に、エラーの発生時のベースレジ
スタへのアドレス再設定をCPUの介在なしに実現可能
となる。 【効果】 通信処理中のCPUの介在が減り、通信速度
の向上を図れる。
成する各データに付加された属性データに基づいて各デ
ータの種類を識別し、バッファメモリ4の単位格納領域
に格納する。また、その属性データに基づいて、ステー
タスやエラー情報も識別し、バッファメモリ4の単位格
納領域に設けられた本体データとは別の専用領域に格納
する。DMA本体部7が、1受信フレームの転送の終了
時、現転送先単位格納領域の次領域アドレス格納部に格
納されたアドレスをベースレジスタ71に格納するた
め、次の受信フレームの転送にて使用する単位格納領域
の先頭アドレスをCPU3の介在なしにベースレジスタ
に設定可能となる。更に、エラーの発生時のベースレジ
スタへのアドレス再設定をCPUの介在なしに実現可能
となる。 【効果】 通信処理中のCPUの介在が減り、通信速度
の向上を図れる。
Description
【0001】
【産業上の利用分野】本発明は通信コントロールシステ
ムに関するもので、特に、オクテットデータからフレー
ムの区切りを認識できない通信方式(例えば、ビットオ
リエンテッドプロトコル)において、シリアルインタフ
ェースと他の資源との間のインタフェースを容易にし、
高能率なデータ転送を実現するものである。
ムに関するもので、特に、オクテットデータからフレー
ムの区切りを認識できない通信方式(例えば、ビットオ
リエンテッドプロトコル)において、シリアルインタフ
ェースと他の資源との間のインタフェースを容易にし、
高能率なデータ転送を実現するものである。
【0002】
【従来の技術】従来の通信コントロールシステムとして
はキャラクタ転送方式(BYSYNC:BinarySynchronous Comm
unication,BSC) が最も一般的であった。これはバイナ
リ数値をASCIIコードとして知られる各種キャラク
タにより表現し、1オクテット(8ビット)をデータの
1単位としてフレーム化し転送するものである。この転
送方式の場合、キャラクタコードが規格化されており、
各コードが別々の通信記号を示すため、データの切れ目
が確実に判別される。しかし、受信側ではCPUが各コ
ードをソフトウエアにより解読しつつ取込むことになる
ため、通信速度の面で問題があった。例えば、このキャ
ラクタ転送は〜9600bps程度には対応可能である
が、今日ではポピュラーとなったLAN(10Mbps
〜16Mbps)ではデータの取り零しが多くなってと
ても処理が追い付かない。
はキャラクタ転送方式(BYSYNC:BinarySynchronous Comm
unication,BSC) が最も一般的であった。これはバイナ
リ数値をASCIIコードとして知られる各種キャラク
タにより表現し、1オクテット(8ビット)をデータの
1単位としてフレーム化し転送するものである。この転
送方式の場合、キャラクタコードが規格化されており、
各コードが別々の通信記号を示すため、データの切れ目
が確実に判別される。しかし、受信側ではCPUが各コ
ードをソフトウエアにより解読しつつ取込むことになる
ため、通信速度の面で問題があった。例えば、このキャ
ラクタ転送は〜9600bps程度には対応可能である
が、今日ではポピュラーとなったLAN(10Mbps
〜16Mbps)ではデータの取り零しが多くなってと
ても処理が追い付かない。
【0003】そこで、今日では、LANにも対応可能な
ようにHDLC(High-level Data Link Control proced
ure)方式をはじめとするビット・オリエンテッド・プロ
トコルが開発された。このHDLC方式では図5(b)
に示すように、1オクテットをデータの1単位とするデ
ータ列により1フレームを構成し、1つのフレームの先
頭と最後尾とにはフラグと呼ばれる8ビットの所定の符
号“01111110”が接続され、その間に特定の符
号からなるデータを接続することとなる。
ようにHDLC(High-level Data Link Control proced
ure)方式をはじめとするビット・オリエンテッド・プロ
トコルが開発された。このHDLC方式では図5(b)
に示すように、1オクテットをデータの1単位とするデ
ータ列により1フレームを構成し、1つのフレームの先
頭と最後尾とにはフラグと呼ばれる8ビットの所定の符
号“01111110”が接続され、その間に特定の符
号からなるデータを接続することとなる。
【0004】図4は従来のHDLC方式のシステム構成
を、図5はその動作状態をそれぞれ図解するものであ
る。この図において、301はデータバス、302はア
ドレスバスであり、これらのバス301,302には、
CPU303、バッファメモリ304、通信コントロー
ラ305及びDMA回路306が接続されている。通信
コントローラ305はデータレジスタ3051及びステ
ータスレジスタ3052を備え、受信フレームのデータ
列は順次データレジスタ3051に、ステータスデータ
はステータスレジスタ3052に格納されることとな
る。DMA306はアドレスレジスタ3061及び長さ
レジスタ3062を備え、アドレスレジスタ3061に
はメモリ304における当該フレームデータ格納領域の
先頭アドレスがCPU303により格納され、長さレジ
スタ3062には当該フレームデータのデータ列が格納
されるようになっている。
を、図5はその動作状態をそれぞれ図解するものであ
る。この図において、301はデータバス、302はア
ドレスバスであり、これらのバス301,302には、
CPU303、バッファメモリ304、通信コントロー
ラ305及びDMA回路306が接続されている。通信
コントローラ305はデータレジスタ3051及びステ
ータスレジスタ3052を備え、受信フレームのデータ
列は順次データレジスタ3051に、ステータスデータ
はステータスレジスタ3052に格納されることとな
る。DMA306はアドレスレジスタ3061及び長さ
レジスタ3062を備え、アドレスレジスタ3061に
はメモリ304における当該フレームデータ格納領域の
先頭アドレスがCPU303により格納され、長さレジ
スタ3062には当該フレームデータのデータ列が格納
されるようになっている。
【0005】図4に示すように、通信コントローラ30
5のフレーム受信に若干遅れて、DMA転送が並列的に
行われることとなる。一つのDMA転送が終了すると、
CPU303が前述したコード変換処理、エラー検出処
理、長さ確認処理等を実行することとなる。この処理が
終わった後、通信コントローラ305は、受信フレーム
2の入力に移り、その開始に遅れてDMA転送2が開始
されることとなる。
5のフレーム受信に若干遅れて、DMA転送が並列的に
行われることとなる。一つのDMA転送が終了すると、
CPU303が前述したコード変換処理、エラー検出処
理、長さ確認処理等を実行することとなる。この処理が
終わった後、通信コントローラ305は、受信フレーム
2の入力に移り、その開始に遅れてDMA転送2が開始
されることとなる。
【0006】すなわち、通信コントローラ305が受信
フレームのスタートデリミタを検出すると、続くアクセ
スコントロール、フレームコントロール、行き先アドレ
ス、送り元アドレス、情報フィールドの各データについ
ての本体データレジスタ3051への格納を開始し、D
MA転送が可能な量までレジスタ3051への転送が可
能になるとDMA要求信号DREQをDMA回路306
に与える。次いで、通信コントローラ305は、受信フ
レームのステータスをステータスレジスタ3052に格
納することとなる。
フレームのスタートデリミタを検出すると、続くアクセ
スコントロール、フレームコントロール、行き先アドレ
ス、送り元アドレス、情報フィールドの各データについ
ての本体データレジスタ3051への格納を開始し、D
MA転送が可能な量までレジスタ3051への転送が可
能になるとDMA要求信号DREQをDMA回路306
に与える。次いで、通信コントローラ305は、受信フ
レームのステータスをステータスレジスタ3052に格
納することとなる。
【0007】DMA回路306は通信コントローラ30
5からのDMA要求信号DREQを受けると、通信コン
トローラ305へDMA許可信号DACKを通信コント
ローラ305へ送信する。その後、DMA回路306は
バス使用権が確保され次第、データレジスタ3051の
データをメモリ304へ転送し始めることとなる。そし
て、DMA回路306はデータレジスタ3051内のデ
ータについての転送が終了すると、その転送中にカウン
トしたデータ長を長さレジスタ3062に格納し、最後
に、EOP信号をCPU303へ送信することとなる。
するとCPU303が必要な処理を行って1フレームの
受信処理が終了することとなる。
5からのDMA要求信号DREQを受けると、通信コン
トローラ305へDMA許可信号DACKを通信コント
ローラ305へ送信する。その後、DMA回路306は
バス使用権が確保され次第、データレジスタ3051の
データをメモリ304へ転送し始めることとなる。そし
て、DMA回路306はデータレジスタ3051内のデ
ータについての転送が終了すると、その転送中にカウン
トしたデータ長を長さレジスタ3062に格納し、最後
に、EOP信号をCPU303へ送信することとなる。
するとCPU303が必要な処理を行って1フレームの
受信処理が終了することとなる。
【0008】このHDLC方式の場合には、データをそ
のままメモリに貯蔵するため、キャラクタ方式に比べて
高速度な通信が可能となる。
のままメモリに貯蔵するため、キャラクタ方式に比べて
高速度な通信が可能となる。
【0009】しかしながら、そのCPU303によるソ
フトウエア処理が通信速度低下の原因になっている。
フトウエア処理が通信速度低下の原因になっている。
【0010】このCPU303の処理とは次の処理であ
る。 (1) 通信コントローラ305のステータスレジスタ3
052からのエラー情報及びステータス情報の読込み。 (2) DMA回路306におけるデータ長レジスタ30
62からの長さデータの読込み。 (3) メモリ304における次に使用する単位格納領域
先頭アドレスのベースアドレスレジスタ3061への格
納。 (4) DMA転送エラーが発生した場合における、その
エラーの発生した転送の際に使用した単位格納領域先頭
アドレスのベースアドレスレジスタ3061への格納。 (5) 通信データの中に先端及び後端に付加されたフラ
グ(スタートデリミタ、エンドデリミタ)と一致するも
のがある場合におけるコード変換処理(デリミタ処
理)。つまり、フラグと一致したデータはそのまま転送
した場合、フラグと認識される虞があるため、特定の方
式でコード変換して送出し、受信側では一旦メモリに全
てのデータを格納した後、格納したデータをソフトウエ
アにより点検し、そのデータの中に特定の変換データが
存在する場合、この特定の変換データを前述したフラグ
と同一のデータに戻す処理を実行するものである。
る。 (1) 通信コントローラ305のステータスレジスタ3
052からのエラー情報及びステータス情報の読込み。 (2) DMA回路306におけるデータ長レジスタ30
62からの長さデータの読込み。 (3) メモリ304における次に使用する単位格納領域
先頭アドレスのベースアドレスレジスタ3061への格
納。 (4) DMA転送エラーが発生した場合における、その
エラーの発生した転送の際に使用した単位格納領域先頭
アドレスのベースアドレスレジスタ3061への格納。 (5) 通信データの中に先端及び後端に付加されたフラ
グ(スタートデリミタ、エンドデリミタ)と一致するも
のがある場合におけるコード変換処理(デリミタ処
理)。つまり、フラグと一致したデータはそのまま転送
した場合、フラグと認識される虞があるため、特定の方
式でコード変換して送出し、受信側では一旦メモリに全
てのデータを格納した後、格納したデータをソフトウエ
アにより点検し、そのデータの中に特定の変換データが
存在する場合、この特定の変換データを前述したフラグ
と同一のデータに戻す処理を実行するものである。
【0011】このようなソフトウエア処理が頻繁に伴う
と、やはり通信速度が低下し、LAN程度には、ある程
度対応可能ではあっても、最新の通信方式である光イー
サ(100Mbps)、ATM(156Mbps)に
は、取り零しが多くなってとても対応することができな
いのである。要するに、CPU303がバス301,3
02を使用するようになり、通信コントローラ305は
受信不感期間となり、その期間は通信コントローラ30
5はフレーム受信を行うことができないため、これが通
信速度を低下させることとなっていたのである。CPU
303が実行する処理としては、前述したコード変換の
他に通信コントローラ305のステータスレジスタ30
52からのステータス情報の読込み、エラー発生時、再
受信のためにDMA306のアドレスレジスタ3061
への再設定、長さレジスタ3062からのデータ長情報
の読込み、次に使用するメモリ304の単位領域の先頭
番地に関するDMA306のアドレス3061への設定
処理等の3ないしは4種類の処理を1フレーム受信毎に
行うこととなるため、通信速度が低下する。また、CP
U303の処理能力もオーバヘッドとなり、実効的なデ
ータ転送能力も低下することとなっている。特に、短い
フレームが連続して到着する場合、再設定処理の発生頻
度が高くなり、その頻度に比例してCPU処理のオーバ
ヘッドも大きくなり、実効性能は顕著に低下する。
と、やはり通信速度が低下し、LAN程度には、ある程
度対応可能ではあっても、最新の通信方式である光イー
サ(100Mbps)、ATM(156Mbps)に
は、取り零しが多くなってとても対応することができな
いのである。要するに、CPU303がバス301,3
02を使用するようになり、通信コントローラ305は
受信不感期間となり、その期間は通信コントローラ30
5はフレーム受信を行うことができないため、これが通
信速度を低下させることとなっていたのである。CPU
303が実行する処理としては、前述したコード変換の
他に通信コントローラ305のステータスレジスタ30
52からのステータス情報の読込み、エラー発生時、再
受信のためにDMA306のアドレスレジスタ3061
への再設定、長さレジスタ3062からのデータ長情報
の読込み、次に使用するメモリ304の単位領域の先頭
番地に関するDMA306のアドレス3061への設定
処理等の3ないしは4種類の処理を1フレーム受信毎に
行うこととなるため、通信速度が低下する。また、CP
U303の処理能力もオーバヘッドとなり、実効的なデ
ータ転送能力も低下することとなっている。特に、短い
フレームが連続して到着する場合、再設定処理の発生頻
度が高くなり、その頻度に比例してCPU処理のオーバ
ヘッドも大きくなり、実効性能は顕著に低下する。
【0012】
【発明が解決しようとする課題】以上のように従来のH
DLC方式による場合、受信フレームの入力毎にCPU
のソフトウエア処理が伴い、この際にはバス権が通信コ
ントローラからCPUに移り、通信コントローラはバス
を使用することができなくなり、通信速度が低下すると
いう問題がある。
DLC方式による場合、受信フレームの入力毎にCPU
のソフトウエア処理が伴い、この際にはバス権が通信コ
ントローラからCPUに移り、通信コントローラはバス
を使用することができなくなり、通信速度が低下すると
いう問題がある。
【0013】本発明は上記従来技術の有する問題点に鑑
みてなされたもので、その目的とするところはCPUの
処理を介在させることなしにその前述した処理を行うこ
とが可能なDMA装置を提供することにある。
みてなされたもので、その目的とするところはCPUの
処理を介在させることなしにその前述した処理を行うこ
とが可能なDMA装置を提供することにある。
【0014】すなわち、本発明の具体的な一つの目的
は、1つの受信フレームについての転送の終了時、バッ
ファメモリにおける次の受信フレームの転送において使
用する単位格納領域の先頭アドレスをCPUの介在なし
にベースアドレスレジスタに設定可能なDMA装置を提
供することにある。
は、1つの受信フレームについての転送の終了時、バッ
ファメモリにおける次の受信フレームの転送において使
用する単位格納領域の先頭アドレスをCPUの介在なし
にベースアドレスレジスタに設定可能なDMA装置を提
供することにある。
【0015】更に他の目的は、エラーの発生時、バッフ
ァメモリにおけるそのエラーの発生したフレームの転送
において使用した単位格納領域の先頭アドレスをCPU
の介在なしにベースアドレスレジスタに再設定すること
ができるDMA装置を提供することにある。
ァメモリにおけるそのエラーの発生したフレームの転送
において使用した単位格納領域の先頭アドレスをCPU
の介在なしにベースアドレスレジスタに再設定すること
ができるDMA装置を提供することにある。
【0016】また、本発明の目的は、CPUの通信デー
タの中に先端及び後端に付加されたフラグ(スタートデ
リミタ、エンドデリミタ)と一致するものがある場合に
おける(CPUによる)コード変換処理を不要にするこ
とにある。
タの中に先端及び後端に付加されたフラグ(スタートデ
リミタ、エンドデリミタ)と一致するものがある場合に
おける(CPUによる)コード変換処理を不要にするこ
とにある。
【0017】更に、本発明の目的は、通信コントローラ
のステータスレジスタからのエラー情報及びステータス
情報をCPUの介在なしに読込むことができるDMA装
置を提供することにある。
のステータスレジスタからのエラー情報及びステータス
情報をCPUの介在なしに読込むことができるDMA装
置を提供することにある。
【0018】
【課題を解決するための手段】本発明のDMA装置は、
受信フレーム格納用バッファメモリにおける所定容量ず
つ設けられた単位格納領域のデータ構造に対応して転送
先アドレスを発生するDMA本体部と、前記受信フレー
ムのデータ列を構成する各データに付加された属性デー
タにより該各データの種類を識別し、その識別結果に基
づいて、前記各データが前記単位格納領域の所定領域に
格納され、かつ、その終了後、前記現転送先単位格納領
域の次領域アドレス格納部に格納されたアドレスデータ
が前記ベースアドレスレジスタに書込まれるように前記
DMA本体部へのアクセス制御信号を発生するデコード
部とを備えている。
受信フレーム格納用バッファメモリにおける所定容量ず
つ設けられた単位格納領域のデータ構造に対応して転送
先アドレスを発生するDMA本体部と、前記受信フレー
ムのデータ列を構成する各データに付加された属性デー
タにより該各データの種類を識別し、その識別結果に基
づいて、前記各データが前記単位格納領域の所定領域に
格納され、かつ、その終了後、前記現転送先単位格納領
域の次領域アドレス格納部に格納されたアドレスデータ
が前記ベースアドレスレジスタに書込まれるように前記
DMA本体部へのアクセス制御信号を発生するデコード
部とを備えている。
【0019】DMA本体部は、転送先アドレスの元にな
る現転送先単位格納領域の先頭アドレス格納用ベースア
ドレスレジスタを備え、前記現転送先単位格納領域の次
領域アドレス格納部に格納されたアドレスデータを前記
ベースアドレスレジスタに格納する機能を有することを
特徴とする。
る現転送先単位格納領域の先頭アドレス格納用ベースア
ドレスレジスタを備え、前記現転送先単位格納領域の次
領域アドレス格納部に格納されたアドレスデータを前記
ベースアドレスレジスタに格納する機能を有することを
特徴とする。
【0020】また、DMA本体部は、アクセス制御信号
に従ってベースレジスタ部のアドレス値に所定の値を加
算することにより現転送先単位格納領域の各領域に対応
したアドレス値として出力する加算器部を備える構成と
することができる。
に従ってベースレジスタ部のアドレス値に所定の値を加
算することにより現転送先単位格納領域の各領域に対応
したアドレス値として出力する加算器部を備える構成と
することができる。
【0021】加算器部は、当該単位格納領域における受
信フレームの第1のフィールドのデータ列を格納する第
1の領域に対するアドレス値を出力する第1の加算器
と、当該単位格納領域における前記受信フレームの第2
のフィールドのデータ列を格納する第2の領域に対する
アドレス値を出力する第2の加算器と、前記第1、第2
の加算器の出力をメモリアクセス制御信号に従って切換
え出力するアドレス切換え部と、前記アドレス切換え部
の出力に対応してバッファメモリに対する書込み/読出
し制御信号を出力する書込み/読出し制御信号発生部と
を備えることにより実現することができる。
信フレームの第1のフィールドのデータ列を格納する第
1の領域に対するアドレス値を出力する第1の加算器
と、当該単位格納領域における前記受信フレームの第2
のフィールドのデータ列を格納する第2の領域に対する
アドレス値を出力する第2の加算器と、前記第1、第2
の加算器の出力をメモリアクセス制御信号に従って切換
え出力するアドレス切換え部と、前記アドレス切換え部
の出力に対応してバッファメモリに対する書込み/読出
し制御信号を出力する書込み/読出し制御信号発生部と
を備えることにより実現することができる。
【0022】デコード部は、受信フレームの本体データ
の位置を示す第1属性データを識別したとき、当該単位
格納領域における本体データ格納領域のアドレス出力指
令及び書込み制御信号出力指令となる第2メモリアクセ
ス制御信号を出力する第1制御信号発生手段と、前記受
信フレームのステータスデータの位置を示す第2属性デ
ータを識別したとき、現転送先単位格納領域におけるス
テータス格納領域及び長さ格納領域のアドレス出力指令
及び書込み制御信号出力指令となる第2メモリアクセス
制御信号を出力する第2制御信号発生手段と、受信フレ
ームの次の受信フレームをバッファメモリに格納すると
きに使用される現転送先単位格納領域の次領域アドレス
読出し制御信号出力指令及び書込み制御信号出力指令と
なる第3メモリアクセス制御信号を出力する第3制御信
号発生手段とを備えたことを特徴とする。
の位置を示す第1属性データを識別したとき、当該単位
格納領域における本体データ格納領域のアドレス出力指
令及び書込み制御信号出力指令となる第2メモリアクセ
ス制御信号を出力する第1制御信号発生手段と、前記受
信フレームのステータスデータの位置を示す第2属性デ
ータを識別したとき、現転送先単位格納領域におけるス
テータス格納領域及び長さ格納領域のアドレス出力指令
及び書込み制御信号出力指令となる第2メモリアクセス
制御信号を出力する第2制御信号発生手段と、受信フレ
ームの次の受信フレームをバッファメモリに格納すると
きに使用される現転送先単位格納領域の次領域アドレス
読出し制御信号出力指令及び書込み制御信号出力指令と
なる第3メモリアクセス制御信号を出力する第3制御信
号発生手段とを備えたことを特徴とする。
【0023】また、デコード部は、受信フレームを構成
するデータ列のエラーの発生を検出し、その検出時にバ
ッファメモリにおける現転送先単位格納領域の先頭アド
レスがベースアドレスレジスタに再設定されるように現
転送先単位格納領域の前の単位格納領域における次領域
アドレス読出し制御信号出力指令及び書込み制御信号出
力指令となる第4制御信号発生手段を備えることが望ま
しい。
するデータ列のエラーの発生を検出し、その検出時にバ
ッファメモリにおける現転送先単位格納領域の先頭アド
レスがベースアドレスレジスタに再設定されるように現
転送先単位格納領域の前の単位格納領域における次領域
アドレス読出し制御信号出力指令及び書込み制御信号出
力指令となる第4制御信号発生手段を備えることが望ま
しい。
【0024】本発明の通信システムは、所定容量ずつ設
けられた単位格納領域を有し、該単位格納領域がデータ
種類毎の書込み領域と前記単位格納領域の直後の単位格
納領域の先頭アドレスが予め格納された読出し領域とを
有し、受信フレームのデータ列が格納されるバッファメ
モリと、前記受信フレームのデータ列を構成する各デー
タの種類を示す属性データに基づいて前記データ列を構
成する各データをその種類毎に設けられたデータレジス
タに保存する通信コントローラと、ベースレジスタ部の
記憶値に所定の値を加算することにより単位格納領域の
各領域をアドレス指定するアドレス発生手段を備え、前
記データレジスタに格納されたデータの長さに応じて前
記1または2以上の単位格納領域が使用されるように前
記ベースアドレスレジスタを更新制御するDMAコント
ローラとを備えることを特徴とする。
けられた単位格納領域を有し、該単位格納領域がデータ
種類毎の書込み領域と前記単位格納領域の直後の単位格
納領域の先頭アドレスが予め格納された読出し領域とを
有し、受信フレームのデータ列が格納されるバッファメ
モリと、前記受信フレームのデータ列を構成する各デー
タの種類を示す属性データに基づいて前記データ列を構
成する各データをその種類毎に設けられたデータレジス
タに保存する通信コントローラと、ベースレジスタ部の
記憶値に所定の値を加算することにより単位格納領域の
各領域をアドレス指定するアドレス発生手段を備え、前
記データレジスタに格納されたデータの長さに応じて前
記1または2以上の単位格納領域が使用されるように前
記ベースアドレスレジスタを更新制御するDMAコント
ローラとを備えることを特徴とする。
【0025】
【作用】本発明のDMA装置は、受信フレームのデータ
列を構成する各データに付加された属性データに基づい
て各データの種類を識別するようになっているので、フ
ラグと一致するデータであっても前述したCPUによる
コード変換処理を不要とし、その分、通信速度の向上を
図ることができることとなる。
列を構成する各データに付加された属性データに基づい
て各データの種類を識別するようになっているので、フ
ラグと一致するデータであっても前述したCPUによる
コード変換処理を不要とし、その分、通信速度の向上を
図ることができることとなる。
【0026】また、本発明によれば、その属性データに
基づいて、ステータスやエラー情報も識別し、バッファ
メモリの単位格納領域に設けられた本体データとは別の
専用領域に格納するようになっているので、CPUによ
るそのI/O読込み処理が不要となり、この点からも通
信速度の向上を図ることができることとなる。
基づいて、ステータスやエラー情報も識別し、バッファ
メモリの単位格納領域に設けられた本体データとは別の
専用領域に格納するようになっているので、CPUによ
るそのI/O読込み処理が不要となり、この点からも通
信速度の向上を図ることができることとなる。
【0027】さらに、DMA本体部が、1つの受信フレ
ームについての転送の終了時、現転送先単位格納領域の
次領域アドレス格納部に格納されたアドレスデータをベ
ースアドレスレジスタに格納するようになっているた
め、1つの受信フレームについての転送の終了時、バッ
ファメモリにおける次の受信フレームの転送において使
用する単位格納領域の先頭アドレスをCPUの介在なし
にベースアドレスレジスタに設定可能となる。
ームについての転送の終了時、現転送先単位格納領域の
次領域アドレス格納部に格納されたアドレスデータをベ
ースアドレスレジスタに格納するようになっているた
め、1つの受信フレームについての転送の終了時、バッ
ファメモリにおける次の受信フレームの転送において使
用する単位格納領域の先頭アドレスをCPUの介在なし
にベースアドレスレジスタに設定可能となる。
【0028】更に、本発明によれば、受信フレームを構
成するデータ列のエラーの発生を検出し、その検出時に
バッファメモリにおける現転送先単位格納領域の先頭ア
ドレスがベースアドレスレジスタに再設定できるように
なっているため、エラーの発生時、バッファメモリにお
けるそのエラーの発生したフレームの転送において使用
した単位格納領域の先頭アドレスをCPUの介在なしに
ベースアドレスレジスタに再設定することができ、この
点からも通信速度の向上を図ることができることとな
る。
成するデータ列のエラーの発生を検出し、その検出時に
バッファメモリにおける現転送先単位格納領域の先頭ア
ドレスがベースアドレスレジスタに再設定できるように
なっているため、エラーの発生時、バッファメモリにお
けるそのエラーの発生したフレームの転送において使用
した単位格納領域の先頭アドレスをCPUの介在なしに
ベースアドレスレジスタに再設定することができ、この
点からも通信速度の向上を図ることができることとな
る。
【0029】
【実施例】以下に本発明の実施例について図面を参照し
つつ説明する。図1は本発明の一実施例に係るDMA回
路を有する通信システムの構成を示すものであり、図2
はその処理対象となる転送データの構造を示すものであ
る。この図において、1はデータバス、2はアドレスバ
スであり、これらのバス1,2にはCPU3とメモリ4
と通信コントローラ5とDMA回路6とが接続され、バ
ス1,2はそれらの共有バスとして使用される。DMA
回路6にはアービタ54が内蔵され、このアービタ54
が同じく通信コントローラ5とDMA回路6とCPU4
とのバス調停を行うようになっている。
つつ説明する。図1は本発明の一実施例に係るDMA回
路を有する通信システムの構成を示すものであり、図2
はその処理対象となる転送データの構造を示すものであ
る。この図において、1はデータバス、2はアドレスバ
スであり、これらのバス1,2にはCPU3とメモリ4
と通信コントローラ5とDMA回路6とが接続され、バ
ス1,2はそれらの共有バスとして使用される。DMA
回路6にはアービタ54が内蔵され、このアービタ54
が同じく通信コントローラ5とDMA回路6とCPU4
とのバス調停を行うようになっている。
【0030】CPU3は、この通信システムの他にシス
テム全体の動作制御を司るもので、図示しないPROM
内のプログラムに従ってメモリ4のデータを用いた各種
の処理を実行する。メモリ4は、通信データ格納のため
に割当てられたバッファ領域を有しており、その各単位
格納領域には、図2(a)に示すように、当該単位格納
領域の次の単位格納領域の先頭アドレスが書込まれた次
領域アドレス格納部41と、ステータス格納部42と、
長さ格納部43と、本体データが格納される本体データ
格納部44とを有し、次領域アドレス格納部41、ステ
ータス格納部42、長さ格納部43は各データの格納に
十分な容量とされ、本体データ格納部44は、1フレー
ムの平均的な長さに基づきそのデータが極力全て格納さ
れ、かつ余剰の領域が極力大きくならないような容量に
設定され、例えば、256バイト程度とされる。
テム全体の動作制御を司るもので、図示しないPROM
内のプログラムに従ってメモリ4のデータを用いた各種
の処理を実行する。メモリ4は、通信データ格納のため
に割当てられたバッファ領域を有しており、その各単位
格納領域には、図2(a)に示すように、当該単位格納
領域の次の単位格納領域の先頭アドレスが書込まれた次
領域アドレス格納部41と、ステータス格納部42と、
長さ格納部43と、本体データが格納される本体データ
格納部44とを有し、次領域アドレス格納部41、ステ
ータス格納部42、長さ格納部43は各データの格納に
十分な容量とされ、本体データ格納部44は、1フレー
ムの平均的な長さに基づきそのデータが極力全て格納さ
れ、かつ余剰の領域が極力大きくならないような容量に
設定され、例えば、256バイト程度とされる。
【0031】他のシステムからのデータバス1上の転送
データは通信コントローラ5により受信される。この転
送フレームは、図2(b)に示すように、受信データ部
と属性データ部とから構成され、前者は、フレームの始
まりを示すスタートデリミタ情報、ADP(Automatic D
ata Processing)機能へのアクセスを正当な場合のみ許
可するセキュリティが目的のアクセスコントロール情
報、トークンパッシング方式における転送許可フラグと
なるフレームコントロール情報、当該転送フレームの転
送先を示す行き先アドレス情報、当該転送フレームの転
送元を示す送り元アドレス情報、本体データが挿入され
る情報フィールド、情報フィールドのデータ化け等のエ
ラーを検出するためのエラー検出コード、情報フィール
ドの終りを示すエンドデリミタ情報、データ長やエラー
コードを示すフレームステータス情報及びネットワーク
の動作状態を示すハードウエアステータス情報から構成
され、これらがその順に接続された構成とされている。
属性データ部は本体データ部のデータ列を構成する各デ
ータの属性を示す2ビットのデータからなっており、
“10”はスタートデリミタに続くデータ列の先頭デー
タであることを示し、“00”は先頭データと最後尾の
データとの間に接続された継続データあることを示し、
“01”は該データ列の最後尾のデータであることを示
すようになっている。ここでは、属性データ“10”は
アクセスコントロール情報、属性データ“01”はフレ
ームステータス情報にそれぞれ付加されており、属性デ
ータ“00”はその他の情報に付加されている。
データは通信コントローラ5により受信される。この転
送フレームは、図2(b)に示すように、受信データ部
と属性データ部とから構成され、前者は、フレームの始
まりを示すスタートデリミタ情報、ADP(Automatic D
ata Processing)機能へのアクセスを正当な場合のみ許
可するセキュリティが目的のアクセスコントロール情
報、トークンパッシング方式における転送許可フラグと
なるフレームコントロール情報、当該転送フレームの転
送先を示す行き先アドレス情報、当該転送フレームの転
送元を示す送り元アドレス情報、本体データが挿入され
る情報フィールド、情報フィールドのデータ化け等のエ
ラーを検出するためのエラー検出コード、情報フィール
ドの終りを示すエンドデリミタ情報、データ長やエラー
コードを示すフレームステータス情報及びネットワーク
の動作状態を示すハードウエアステータス情報から構成
され、これらがその順に接続された構成とされている。
属性データ部は本体データ部のデータ列を構成する各デ
ータの属性を示す2ビットのデータからなっており、
“10”はスタートデリミタに続くデータ列の先頭デー
タであることを示し、“00”は先頭データと最後尾の
データとの間に接続された継続データあることを示し、
“01”は該データ列の最後尾のデータであることを示
すようになっている。ここでは、属性データ“10”は
アクセスコントロール情報、属性データ“01”はフレ
ームステータス情報にそれぞれ付加されており、属性デ
ータ“00”はその他の情報に付加されている。
【0032】通信コントローラ5は、属性検出部55a
〜55eとレジスタ51〜53とを備え、属性検出部5
5a〜55eが、上記構成の受信フレームにおける属性
データにより該受信フレームを構成するデータ列の種別
を検出し、その結果に従って各データを、対応する各レ
ジスタ51〜53に振分けて格納する。
〜55eとレジスタ51〜53とを備え、属性検出部5
5a〜55eが、上記構成の受信フレームにおける属性
データにより該受信フレームを構成するデータ列の種別
を検出し、その結果に従って各データを、対応する各レ
ジスタ51〜53に振分けて格納する。
【0033】データレジスタ51とステータスレジスタ
52と長さレジスタ53とが内蔵されている。通信コン
トローラ5は、この受信フレームにおけるスタートデリ
ミタ情報を確認すると、アクセスコントロールデータ、
フレームコントロールデータ、行き先アドレスデータ、
送り元アドレスデータ、情報フィールドデータをデータ
レジスタ51に格納する。次いで、通信コントローラ5
は、エンドデリミタを検出すると、フレームステータス
データをステータスレジスタ52に格納し、最後に、デ
ータレジスタ51に格納したデータの長さデータを長さ
レジスタ53に格納する。
52と長さレジスタ53とが内蔵されている。通信コン
トローラ5は、この受信フレームにおけるスタートデリ
ミタ情報を確認すると、アクセスコントロールデータ、
フレームコントロールデータ、行き先アドレスデータ、
送り元アドレスデータ、情報フィールドデータをデータ
レジスタ51に格納する。次いで、通信コントローラ5
は、エンドデリミタを検出すると、フレームステータス
データをステータスレジスタ52に格納し、最後に、デ
ータレジスタ51に格納したデータの長さデータを長さ
レジスタ53に格納する。
【0034】DMA回路6は前述したように通信コント
ローラ5の受信フレーム入力に遅れて通信コントローラ
5の各レジスタ51〜53のデータをデータバス1を通
してメモリ4の単位格納領域に格納するもので、DMA
本体部7と入力デコード部8とから大略構成される。D
MA本体部7はDMA本来の役割を果たすもので、ベー
スレジスタ71とアドレスカウンタ72と加算器73,
75とアドレス切換え部74とを備えている。ベースレ
ジスタ71には通信コントローラ5の各レジスタ51〜
53に格納されたデータをメモリ4に格納するときの単
位記憶領域の先頭アドレスが格納される。加算器75は
ベースレジスタ71のアドレス値に“+3”を加えた値
をアドレスカウンタ72にプリセット値として供給す
る。アドレスカウンタ72は、このプリセット値をイン
クリメントする。加算器73は、後述する入力デコード
部8からの内部DMA要求信号DREQ2,−3,−
4,−5に応じてベースレジスタ71の出力値にそれぞ
れ“+1”、“+2”、“0”、“−256”を加算す
る。アドレス切換え部74はアドレスカウンタ72の出
力と加算器73の出力とを内部DMA要求信号DREQ
1〜−5に応じて選択的にアドレスバス2に送出する。
ローラ5の受信フレーム入力に遅れて通信コントローラ
5の各レジスタ51〜53のデータをデータバス1を通
してメモリ4の単位格納領域に格納するもので、DMA
本体部7と入力デコード部8とから大略構成される。D
MA本体部7はDMA本来の役割を果たすもので、ベー
スレジスタ71とアドレスカウンタ72と加算器73,
75とアドレス切換え部74とを備えている。ベースレ
ジスタ71には通信コントローラ5の各レジスタ51〜
53に格納されたデータをメモリ4に格納するときの単
位記憶領域の先頭アドレスが格納される。加算器75は
ベースレジスタ71のアドレス値に“+3”を加えた値
をアドレスカウンタ72にプリセット値として供給す
る。アドレスカウンタ72は、このプリセット値をイン
クリメントする。加算器73は、後述する入力デコード
部8からの内部DMA要求信号DREQ2,−3,−
4,−5に応じてベースレジスタ71の出力値にそれぞ
れ“+1”、“+2”、“0”、“−256”を加算す
る。アドレス切換え部74はアドレスカウンタ72の出
力と加算器73の出力とを内部DMA要求信号DREQ
1〜−5に応じて選択的にアドレスバス2に送出する。
【0035】入力デコード部8は、通信コントローラ5
からのDMA要求信号DREQ0に応答して、DMA許
可信号DACK0を通信コントローラ5に供給する。通
信コントローラ5は、このDMA許可信号DACK0に
応答して、まず、データレジスタ51の内容を書込まれ
ている順に参照し、当該受信フレームの最初の属性デー
タ“10”により、データ0(アクセスコントロール)
が受信フレームの最初のデータであることを認識し、内
部DMA要求信号DREQ1を出力する。DMA本体部
7は、この内部DMA要求信号DREQ1に応答して書
込み制御信号WRを活性化状態とし、メモリ4を書込み
可能な状態に設定するとともに、アドレス切換え部74
をアドレスカウンタ72からのアドレス出力状態に設定
してDMA許可信号DACK1を入力デコード部8に渡
す。入力デコード部8は、このDMA許可信号DACK
1に応答してDMA許可信号DACK0を通信コントロ
ーラ5に渡す。続いて、入力デコード部8はアービタ5
4に向けてバス要求信号BREQ3を送信する。
からのDMA要求信号DREQ0に応答して、DMA許
可信号DACK0を通信コントローラ5に供給する。通
信コントローラ5は、このDMA許可信号DACK0に
応答して、まず、データレジスタ51の内容を書込まれ
ている順に参照し、当該受信フレームの最初の属性デー
タ“10”により、データ0(アクセスコントロール)
が受信フレームの最初のデータであることを認識し、内
部DMA要求信号DREQ1を出力する。DMA本体部
7は、この内部DMA要求信号DREQ1に応答して書
込み制御信号WRを活性化状態とし、メモリ4を書込み
可能な状態に設定するとともに、アドレス切換え部74
をアドレスカウンタ72からのアドレス出力状態に設定
してDMA許可信号DACK1を入力デコード部8に渡
す。入力デコード部8は、このDMA許可信号DACK
1に応答してDMA許可信号DACK0を通信コントロ
ーラ5に渡す。続いて、入力デコード部8はアービタ5
4に向けてバス要求信号BREQ3を送信する。
【0036】入力デコード部8は、これらの情報を解読
し、受信している転送フレームが受信許可された正規の
データであるときに内部DMA要求信号DREQ1をD
MA本体部7に送信する。すると、DMA本体部7はア
ドレス切換え部74をアドレスカウンタ72からのアド
レスを送信するように設定すると共に、メモリ4への書
込み制御信号WRを活性化してデータ書込み準備状態を
整えた後、内部DMA許可信号DACK1を入力デコー
ド部8に供給する。入力デコード部8はDMA本体部7
からの内部DMA許可信号DACK1を受けると、DM
A許可信号DACK0を通信コントローラ5に送信する
こととなる。すると、DMA本体部7はアドレスカウン
タ72からのアドレス信号をアドレスバス2を介してメ
モリ4へ供給しつつ、通信コントローラ5のデータレジ
スタ51からデータを読出し、これをデータバス1を通
してメモリ4へ転送し書込むこととなる。
し、受信している転送フレームが受信許可された正規の
データであるときに内部DMA要求信号DREQ1をD
MA本体部7に送信する。すると、DMA本体部7はア
ドレス切換え部74をアドレスカウンタ72からのアド
レスを送信するように設定すると共に、メモリ4への書
込み制御信号WRを活性化してデータ書込み準備状態を
整えた後、内部DMA許可信号DACK1を入力デコー
ド部8に供給する。入力デコード部8はDMA本体部7
からの内部DMA許可信号DACK1を受けると、DM
A許可信号DACK0を通信コントローラ5に送信する
こととなる。すると、DMA本体部7はアドレスカウン
タ72からのアドレス信号をアドレスバス2を介してメ
モリ4へ供給しつつ、通信コントローラ5のデータレジ
スタ51からデータを読出し、これをデータバス1を通
してメモリ4へ転送し書込むこととなる。
【0037】入力デコード部8はデータレジスタ51の
データがメモリ4に全て格納されたことが確認される
と、続いてステータスレジスタ52にデータが格納され
ていることを確認すると、まず、内部DMA要求信号D
REQ2をDMA本体部7に送信する。
データがメモリ4に全て格納されたことが確認される
と、続いてステータスレジスタ52にデータが格納され
ていることを確認すると、まず、内部DMA要求信号D
REQ2をDMA本体部7に送信する。
【0038】また、入力デコード部8は、ステータスレ
ジスタ52の内容をメモリ4に書込むべく内部DMA要
求信号DREQ2を出力する。DMA本体部7は、この
内部DMA要求信号DREQ2に応答し、書込み制御信
号WRは活性化状態を維持したまま、アドレス切換え部
74を加算器73側へ設定するとともに、この加算器7
3を“+1”の加算状態に設定することとなる。これに
より、DMA本体部7は加算器73の“+1”出力をア
ドレスバス2に送信し、ステータスレジスタ52の内容
をメモリ4に書込む。続いて、入力デコード部8は、長
さレジスタ53の内容をメモリ4に書込むべく内部DM
A要求信号DREQ3を出力する。DMA本体部7は、
この内部DMA要求信号DREQ3により書込み制御信
号WR及びアドレス切換え部74を現在の状態に維持
し、加算器73を“+2”の加算状態に設定する。これ
により、DMA本体部7はベースレジスタ71の値に
“+2”を加えたアドレスをアドレスバス2に送信し、
長さレジスタ53の内容をデータバス1を通してメモリ
4に書込むこととなる。最後に、入力デコード部8はベ
ースレジスタ71の書替えを行うべく、内部DMA要求
信号DREQ4を出力する。DMA本体部7は、この内
部DMA要求信号DREQ4に応答し、アドレス切換え
部74を加算器73の出力送信状態を維持したまま、読
出し制御信号RDを活性化してメモリ4を読出し状態
に、ベースレジスタ71を書込み許可状態に、加算器7
3を“+0”の加算状態にそれぞれ設定する。これによ
り、メモリ4の当該単位領域に格納されたベースアドレ
スデータがデータバス1を通してベースレジスタ71に
格納されることとなる。これにより、DMA本体部7
は、一つの受信フレームの転送処理が終了されることと
なり、その終了時に入力デコード部8が1フレームの転
送終了をEOP信号でCPU3に通知する。
ジスタ52の内容をメモリ4に書込むべく内部DMA要
求信号DREQ2を出力する。DMA本体部7は、この
内部DMA要求信号DREQ2に応答し、書込み制御信
号WRは活性化状態を維持したまま、アドレス切換え部
74を加算器73側へ設定するとともに、この加算器7
3を“+1”の加算状態に設定することとなる。これに
より、DMA本体部7は加算器73の“+1”出力をア
ドレスバス2に送信し、ステータスレジスタ52の内容
をメモリ4に書込む。続いて、入力デコード部8は、長
さレジスタ53の内容をメモリ4に書込むべく内部DM
A要求信号DREQ3を出力する。DMA本体部7は、
この内部DMA要求信号DREQ3により書込み制御信
号WR及びアドレス切換え部74を現在の状態に維持
し、加算器73を“+2”の加算状態に設定する。これ
により、DMA本体部7はベースレジスタ71の値に
“+2”を加えたアドレスをアドレスバス2に送信し、
長さレジスタ53の内容をデータバス1を通してメモリ
4に書込むこととなる。最後に、入力デコード部8はベ
ースレジスタ71の書替えを行うべく、内部DMA要求
信号DREQ4を出力する。DMA本体部7は、この内
部DMA要求信号DREQ4に応答し、アドレス切換え
部74を加算器73の出力送信状態を維持したまま、読
出し制御信号RDを活性化してメモリ4を読出し状態
に、ベースレジスタ71を書込み許可状態に、加算器7
3を“+0”の加算状態にそれぞれ設定する。これによ
り、メモリ4の当該単位領域に格納されたベースアドレ
スデータがデータバス1を通してベースレジスタ71に
格納されることとなる。これにより、DMA本体部7
は、一つの受信フレームの転送処理が終了されることと
なり、その終了時に入力デコード部8が1フレームの転
送終了をEOP信号でCPU3に通知する。
【0039】次に上述のように構成された通信システム
の動作について詳細に説明する。
の動作について詳細に説明する。
【0040】(1) 単位格納領域にデータが収まる場
合(図3(a)参照) 通信コントローラ5が受信フレームのスタートデリミタ
を検出すると、その識別を行い、受信フレームの入力が
在ることをDMA回路6の入力デコード部8に通知す
る。その後、通信コントローラ5はその先のアクセスコ
ントロール、フレームコントロール、行き先アドレス、
送り元アドレス、情報フィールドの各データをレジスタ
51に格納することとなる。
合(図3(a)参照) 通信コントローラ5が受信フレームのスタートデリミタ
を検出すると、その識別を行い、受信フレームの入力が
在ることをDMA回路6の入力デコード部8に通知す
る。その後、通信コントローラ5はその先のアクセスコ
ントロール、フレームコントロール、行き先アドレス、
送り元アドレス、情報フィールドの各データをレジスタ
51に格納することとなる。
【0041】追って、入力デコード部8が上記通知に応
答してDMA要求信号DREQ1をDMA本体部7へ供
給する。
答してDMA要求信号DREQ1をDMA本体部7へ供
給する。
【0042】DMA本体部7はアドレス切換え部74を
アドレスカウンタ72側へ設定するとともに書込み制御
信号WRを活性化して、メモリ4へのデータ転送準備状
態を整えた後、入力デコード部8にDACK1を与える
こととなる。すると、入力デコード部8がバス要求信号
BREQ3をアービタ54へ出力する。アービタ54は
通信コントローラ本体部50と交互にバス権を設定し、
通信コントローラ本体部50へのバス許可信号BACK
2とDMA回路6へのバス許可信号BACK3とを交互
に出力することとなる。そして、このバス許可信号BA
CK3が活性化されているとき、DMA本体部7がデー
タレジスタ51のデータをデータバス1を通して読込む
こととなる。このとき、図3(a)−1に示すように、
単位格納領域A1 が使用されるものとすると、その先頭
アドレスがベースレジスタ71に設定されていることと
なる。
アドレスカウンタ72側へ設定するとともに書込み制御
信号WRを活性化して、メモリ4へのデータ転送準備状
態を整えた後、入力デコード部8にDACK1を与える
こととなる。すると、入力デコード部8がバス要求信号
BREQ3をアービタ54へ出力する。アービタ54は
通信コントローラ本体部50と交互にバス権を設定し、
通信コントローラ本体部50へのバス許可信号BACK
2とDMA回路6へのバス許可信号BACK3とを交互
に出力することとなる。そして、このバス許可信号BA
CK3が活性化されているとき、DMA本体部7がデー
タレジスタ51のデータをデータバス1を通して読込む
こととなる。このとき、図3(a)−1に示すように、
単位格納領域A1 が使用されるものとすると、その先頭
アドレスがベースレジスタ71に設定されていることと
なる。
【0043】以降は通信コントローラ5とDMA回路6
とが並行して動作することとなり、このとき、アービタ
54が通信コントローラ5及びDMA本体部6に交互に
バス使用権を設定することとなる。通信コントローラ5
及びDMA回路6の各動作は次の通りである。
とが並行して動作することとなり、このとき、アービタ
54が通信コントローラ5及びDMA本体部6に交互に
バス使用権を設定することとなる。通信コントローラ5
及びDMA回路6の各動作は次の通りである。
【0044】通信コントローラ5は、データバス1上の
受信データ列を受信した順にデータレジスタ51、ステ
ータスレジスタ52、長さレジスタ53に格納する。す
なわち、スタートデリミタを検出したときには、前述し
た通り、その後は入力デコード部8が属性データ“0
0”を認識している間、継続してデータレジスタ51へ
の取込みを行うこととなる。並行して、DMA回路6も
データレジスタ51のデータをメモリ4の単位格納領域
A1 への転送を続けることとなる。
受信データ列を受信した順にデータレジスタ51、ステ
ータスレジスタ52、長さレジスタ53に格納する。す
なわち、スタートデリミタを検出したときには、前述し
た通り、その後は入力デコード部8が属性データ“0
0”を認識している間、継続してデータレジスタ51へ
の取込みを行うこととなる。並行して、DMA回路6も
データレジスタ51のデータをメモリ4の単位格納領域
A1 への転送を続けることとなる。
【0045】また、DMA回路6の入力デコード部8
は、属性データ“01”を認識すると内部DMA要求信
号DREQ2をDMA本体部7へ出力する。すると、D
MA本体部7が書込み制御信号WRを活性状態に維持し
たまま、アドレス切換え部74を加算器73側へ設定
し、通信コントローラ5のステータスレジスタ52のデ
ータをメモリ4の単位格納領域A1 におけるステータス
格納部に格納する。DMA本体部7は、その終了を入力
デコード部8へ通知する。入力デコーダ部8はその終了
通知に応答して内部DMA要求信号DREQ3を出力す
る。長さレジスタ53のデータをメモリ4における単位
格納領域A1 における所定領域に格納する。その終了
時、DMA本体部7は入力デコード部8へ終了通知を発
生し、入力デコード部8はその終了通知に応答して内部
DMA要求信号DREQ4を出力する。DMA本体部7
は、その内部DMA要求信号DREQ4に応答してアド
レス切換え部74は、そのままで、加算器73を“+
0”加算状態とするとともに、読出し制御信号RDを活
性化してメモリ4を読出し許可状態とする。これによ
り、当該単位格納領域A1 における次領域アドレス格納
部に予め保存されているベースアドレスデータがベース
レジスタ71に格納され、図3(a)−2に示すように
単位格納領域A2 が準備されて次のフレームを受付け可
能な状態となる。
は、属性データ“01”を認識すると内部DMA要求信
号DREQ2をDMA本体部7へ出力する。すると、D
MA本体部7が書込み制御信号WRを活性状態に維持し
たまま、アドレス切換え部74を加算器73側へ設定
し、通信コントローラ5のステータスレジスタ52のデ
ータをメモリ4の単位格納領域A1 におけるステータス
格納部に格納する。DMA本体部7は、その終了を入力
デコード部8へ通知する。入力デコーダ部8はその終了
通知に応答して内部DMA要求信号DREQ3を出力す
る。長さレジスタ53のデータをメモリ4における単位
格納領域A1 における所定領域に格納する。その終了
時、DMA本体部7は入力デコード部8へ終了通知を発
生し、入力デコード部8はその終了通知に応答して内部
DMA要求信号DREQ4を出力する。DMA本体部7
は、その内部DMA要求信号DREQ4に応答してアド
レス切換え部74は、そのままで、加算器73を“+
0”加算状態とするとともに、読出し制御信号RDを活
性化してメモリ4を読出し許可状態とする。これによ
り、当該単位格納領域A1 における次領域アドレス格納
部に予め保存されているベースアドレスデータがベース
レジスタ71に格納され、図3(a)−2に示すように
単位格納領域A2 が準備されて次のフレームを受付け可
能な状態となる。
【0046】(2) 1個の単位格納領域にデータが収
まらない(複数の単位格納領域を接続して使用する)場
合 DMA本体部7は、その先のアクセスコントロール、フ
レームコントロール、行き先アドレス、送り元アドレ
ス、情報フィールドのデータが単位格納領域に収まらな
い場合には後続するデータの格納先であるアドレスをベ
ースレジスタ71に格納することとなる。
まらない(複数の単位格納領域を接続して使用する)場
合 DMA本体部7は、その先のアクセスコントロール、フ
レームコントロール、行き先アドレス、送り元アドレ
ス、情報フィールドのデータが単位格納領域に収まらな
い場合には後続するデータの格納先であるアドレスをベ
ースレジスタ71に格納することとなる。
【0047】すなわち、図3(b)−1に示すように、
単位格納領域B1 が最初に使用され、そのデータ格納部
が一杯になったとすると、DMA本体部7は、その単位
格納領域B1の次領域アドレス格納部に格納されている
単位格納領域B2 の先頭アドレスがベースレジスタ71
に格納される。これにより、単位格納領域B1 に続いて
単位格納領域B2 が使用されるようになり、単位格納領
域B1 に格納されたデータに続く本体データが次の単位
格納領域B2 に格納されることとなる。この単位格納領
域B2 へのデータ格納が終了すると、(1)の場合と同
様に、次のフレーム受信のために、単位格納領域B2 の
次領域アドレス格納部に格納されているデータをベース
アドレスレジスタ71に設定し、当該受信フレームの転
送を終了することとなる。
単位格納領域B1 が最初に使用され、そのデータ格納部
が一杯になったとすると、DMA本体部7は、その単位
格納領域B1の次領域アドレス格納部に格納されている
単位格納領域B2 の先頭アドレスがベースレジスタ71
に格納される。これにより、単位格納領域B1 に続いて
単位格納領域B2 が使用されるようになり、単位格納領
域B1 に格納されたデータに続く本体データが次の単位
格納領域B2 に格納されることとなる。この単位格納領
域B2 へのデータ格納が終了すると、(1)の場合と同
様に、次のフレーム受信のために、単位格納領域B2 の
次領域アドレス格納部に格納されているデータをベース
アドレスレジスタ71に設定し、当該受信フレームの転
送を終了することとなる。
【0048】CPU1は、このように格納されたデータ
を読出す場合、まず、単位格納領域B1 の本体データ格
納部のデータを読み終えたとき、当該単位格納領域B1
の長さ格納部の長さデータを参照し、その長さが最大長
である256バイトであるとき、単位格納領域B1 の次
領域アドレス格納部を参照し、単位格納領域B2 のデー
タを読出すこととなる。つまり、CPU1は、相前後す
る単位格納領域の前の単位格納領域の長さデータにより
同一フレームの続きのデータが存在することを知り、同
単位格納領域の次領域アドレスデータにより後の単位格
納領域とのリンクを図ることができることとなる。
を読出す場合、まず、単位格納領域B1 の本体データ格
納部のデータを読み終えたとき、当該単位格納領域B1
の長さ格納部の長さデータを参照し、その長さが最大長
である256バイトであるとき、単位格納領域B1 の次
領域アドレス格納部を参照し、単位格納領域B2 のデー
タを読出すこととなる。つまり、CPU1は、相前後す
る単位格納領域の前の単位格納領域の長さデータにより
同一フレームの続きのデータが存在することを知り、同
単位格納領域の次領域アドレスデータにより後の単位格
納領域とのリンクを図ることができることとなる。
【0049】(3) エラーが生じた場合 入力デコード部8はDMA転送エラー検出機能をも有し
ており、通信コントローラ5のステータスレジスタ52
に格納されたエラー検出コードをデコードして、エラー
の検出があった場合には内部DMA要求信号DREQ5
をDMA本体部7に与える。すると、DMA本体部7は
読出し制御信号RDを活性化状態とし、加算器73を
“−256”加算状態に設定する。すると、現在使用さ
れていた単位格納領域の先頭アドレスがベースレジスタ
に再設定されることとなる。これにより、同一フレーム
の再受信が可能となる。
ており、通信コントローラ5のステータスレジスタ52
に格納されたエラー検出コードをデコードして、エラー
の検出があった場合には内部DMA要求信号DREQ5
をDMA本体部7に与える。すると、DMA本体部7は
読出し制御信号RDを活性化状態とし、加算器73を
“−256”加算状態に設定する。すると、現在使用さ
れていた単位格納領域の先頭アドレスがベースレジスタ
に再設定されることとなる。これにより、同一フレーム
の再受信が可能となる。
【0050】このように本実施例によれば、転送フレー
ムのデータ列へその属性を示す情報を付加し、この属性
情報によりデータの開始位置及び終了位置を表示すると
ともに、ステータス情報としてエラー検出コード及び長
さ情報を付加し、これをDMA回路6の入力デコード部
8に供給し、この入力デコード部8がそれらの情報検出
に応答してDMA本体部7へ内部DMA要求信号DRE
Q1〜5を順次出力し、これらの内部DMA要求信号D
REQ1〜5に応じてメモリ4の単位領域毎に割当てら
れた所定の領域をアドレス指定し、通信コントローラ5
の各レジスタ51〜53の内容をメモリ4に格納するよ
うにしたため、通信フレームの受信に関してCPUの処
理が介在せず、通信コントローラ5及びDMA回路6は
通信フレームを連続して受信することが可能になり、L
ANは勿論のこと、光イーサ(100Mbps)、AT
M(156Mbps)等の高速通信方式へ対応可能とな
る。
ムのデータ列へその属性を示す情報を付加し、この属性
情報によりデータの開始位置及び終了位置を表示すると
ともに、ステータス情報としてエラー検出コード及び長
さ情報を付加し、これをDMA回路6の入力デコード部
8に供給し、この入力デコード部8がそれらの情報検出
に応答してDMA本体部7へ内部DMA要求信号DRE
Q1〜5を順次出力し、これらの内部DMA要求信号D
REQ1〜5に応じてメモリ4の単位領域毎に割当てら
れた所定の領域をアドレス指定し、通信コントローラ5
の各レジスタ51〜53の内容をメモリ4に格納するよ
うにしたため、通信フレームの受信に関してCPUの処
理が介在せず、通信コントローラ5及びDMA回路6は
通信フレームを連続して受信することが可能になり、L
ANは勿論のこと、光イーサ(100Mbps)、AT
M(156Mbps)等の高速通信方式へ対応可能とな
る。
【0051】
【発明の効果】本発明によれば、受信フレームのデータ
列を構成する各データに付加された属性データに基づい
て各データの種類を識別するようになっているので、フ
ラグと一致するデータであっても前述したCPUによる
コード変換処理を不要とし、その分、通信速度の向上を
図ることができることとなる。
列を構成する各データに付加された属性データに基づい
て各データの種類を識別するようになっているので、フ
ラグと一致するデータであっても前述したCPUによる
コード変換処理を不要とし、その分、通信速度の向上を
図ることができることとなる。
【0052】また、本発明によれば、その属性データに
基づいて、ステータスやエラー情報も識別し、バッファ
メモリの単位格納領域に設けられた本体データとは別の
専用領域に格納するようになっているので、CPUによ
るそのI/O読込み処理が不要となり、この点からも通
信速度の向上を図ることができることとなる。
基づいて、ステータスやエラー情報も識別し、バッファ
メモリの単位格納領域に設けられた本体データとは別の
専用領域に格納するようになっているので、CPUによ
るそのI/O読込み処理が不要となり、この点からも通
信速度の向上を図ることができることとなる。
【0053】さらに、DMA本体部が、1つの受信フレ
ームについての転送の終了時、現転送先単位格納領域の
次領域アドレス格納部に格納されたアドレスデータをベ
ースアドレスレジスタに格納するようになっているた
め、1つの受信フレームについての転送の終了時、バッ
ファメモリにおける次の受信フレームの転送において使
用する単位格納領域の先頭アドレスをCPUの介在なし
にベースアドレスレジスタに設定可能となる。
ームについての転送の終了時、現転送先単位格納領域の
次領域アドレス格納部に格納されたアドレスデータをベ
ースアドレスレジスタに格納するようになっているた
め、1つの受信フレームについての転送の終了時、バッ
ファメモリにおける次の受信フレームの転送において使
用する単位格納領域の先頭アドレスをCPUの介在なし
にベースアドレスレジスタに設定可能となる。
【0054】更に、本発明によれば、受信フレームを構
成するデータ列のエラーの発生を検出し、その検出時に
バッファメモリにおける現転送先単位格納領域の先頭ア
ドレスがベースアドレスレジスタに再設定するようにな
っているため、エラーの発生時、バッファメモリにおけ
るそのエラーの発生したフレームの転送において使用し
た単位格納領域の先頭アドレスをCPUの介在なしにベ
ースアドレスレジスタに再設定することができ、この点
からも通信速度の向上を図ることができることとなる。
成するデータ列のエラーの発生を検出し、その検出時に
バッファメモリにおける現転送先単位格納領域の先頭ア
ドレスがベースアドレスレジスタに再設定するようにな
っているため、エラーの発生時、バッファメモリにおけ
るそのエラーの発生したフレームの転送において使用し
た単位格納領域の先頭アドレスをCPUの介在なしにベ
ースアドレスレジスタに再設定することができ、この点
からも通信速度の向上を図ることができることとなる。
【図1】本発明の一実施例に係るDMA装置の構成を示
すブロック図。
すブロック図。
【図2】図1に示すDMA装置で取扱うバッファメモリ
のデータ構造説明図(a)、転送フレームのデータ構造
説明図(b)、及び通信コントローラとDMA回路の動
作タイミング説明図(c)。
のデータ構造説明図(a)、転送フレームのデータ構造
説明図(b)、及び通信コントローラとDMA回路の動
作タイミング説明図(c)。
【図3】図1に示すDMA装置による受信データの転送
動作説明図。
動作説明図。
【図4】従来のDMA装置の構成を示すブロック図。
【図5】図4に示すDMA装置における通信コントロー
ラとDMA回路の動作タイミング説明図。
ラとDMA回路の動作タイミング説明図。
1 アドレスバス 2 データバス 3 CPU 4 メモリ 5 通信コントローラ 6 DMA回路 7 DMA本体部 71 ベースレジスタ 72 アドレスカウンタ 73,75 加算器 74 アドレス切換え部 8 入力デコード部
Claims (7)
- 【請求項1】受信フレーム格納用バッファメモリにおけ
る所定容量ずつ設けられた単位格納領域のデータ構造に
対応して転送先アドレスを発生するDMA本体部と、 前記受信フレームのデータ列を構成する各データに付加
された属性データにより該各データの種類を識別し、そ
の識別結果に基づいて、前記各データが前記単位格納領
域の所定領域に格納され、かつ、その終了後、前記現転
送先単位格納領域の次領域アドレス格納部に格納された
アドレスデータがベースアドレスレジスタに書込まれる
ように前記DMA本体部へのアクセス制御信号を発生す
るデコード部とを備えたことを特徴とするDMA装置。 - 【請求項2】DMA本体部は、転送先アドレスの元にな
る現転送先単位格納領域の先頭アドレス格納用ベースア
ドレスレジスタを備え、前記現転送先単位格納領域の次
領域アドレス格納部に格納されたアドレスデータを前記
ベースアドレスレジスタに格納する機能を有することを
特徴とする請求項1記載のDMA装置。 - 【請求項3】DMA本体部は、 アクセス制御信号に従ってベースレジスタ部のアドレス
値に所定の値を加算することにより現転送先単位格納領
域の各領域に対応したアドレス値として出力する加算器
部とを備えたことを特徴とする請求項1及び2のうちい
ずれか1項記載のDMA装置。 - 【請求項4】加算器部は、 当該単位格納領域における受信フレームの第1のフィー
ルドのデータ列を格納する第1の領域に対するアドレス
値を出力する第1の加算器と、 当該単位格納領域における前記受信フレームの第2のフ
ィールドのデータ列を格納する第2の領域に対するアド
レス値を出力する第2の加算器と、 前記第1、第2の加算器の出力をメモリアクセス制御信
号に従って切換え出力するアドレス切換え部と、 前記アドレス切換え部の出力に対応してバッファメモリ
に対する書込み/読出し制御信号を出力する書込み/読
出し制御信号発生部とを備えたことを特徴とする請求項
3記載のDMA装置。 - 【請求項5】デコード部は、 受信フレームの本体データの位置を示す第1属性データ
を識別したとき、当該単位格納領域における本体データ
格納領域のアドレス出力指令及び書込み制御信号出力指
令となる第2メモリアクセス制御信号を出力する第1制
御信号発生手段と、 前記受信フレームのステータスデータの位置を示す第2
属性データを識別したとき、現転送先単位格納領域にお
けるステータス格納領域及び長さ格納領域のアドレス出
力指令及び書込み制御信号出力指令となる第2メモリア
クセス制御信号を出力する第2制御信号発生手段と、 受信フレームの次の受信フレームをバッファメモリに格
納するときに使用される現転送先単位格納領域の次領域
アドレス読出し制御信号出力指令及び書込み制御信号出
力指令となる第3メモリアクセス制御信号を出力する第
3制御信号発生手段とを備えたことを特徴とする請求項
4記載のDMA装置。 - 【請求項6】デコード部は、 受信フレームを構成するデータ列のエラーの発生を検出
し、その検出時にバッファメモリにおける現転送先単位
格納領域の先頭アドレスがベースアドレスレジスタに再
設定されるように現転送先単位格納領域の前の単位格納
領域における次領域アドレス読出し制御信号出力指令及
び書込み制御信号出力指令となる第4制御信号発生手段
とを備えたことを特徴とする請求項5記載のDMA装
置。 - 【請求項7】所定容量ずつ設けられた単位格納領域を有
し、該単位格納領域がデータ種類毎の書込み領域と前記
単位格納領域の直後の単位格納領域の先頭アドレスが予
め格納された読出し領域とを有し、受信フレームのデー
タ列が格納されるバッファメモリと、 前記受信フレームのデータ列を構成する各データの種類
を示す属性データに基づいて前記データ列を構成する各
データをその種類毎に設けられたデータレジスタに保存
する通信コントローラと、 ベースレジスタ部の記憶値に所定の値を加算することに
より単位格納領域の各領域をアドレス指定するアドレス
発生手段を備え、前記データレジスタに格納されたデー
タの長さに応じて前記1または2以上の単位格納領域が
使用されるように前記ベースアドレスレジスタを更新制
御するDMAコントローラとを備えたことを特徴とする
通信システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7071494A JPH07281993A (ja) | 1994-04-08 | 1994-04-08 | Dma装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7071494A JPH07281993A (ja) | 1994-04-08 | 1994-04-08 | Dma装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07281993A true JPH07281993A (ja) | 1995-10-27 |
Family
ID=13439525
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7071494A Pending JPH07281993A (ja) | 1994-04-08 | 1994-04-08 | Dma装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07281993A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011018358A (ja) * | 2010-09-13 | 2011-01-27 | Tao Logic Systems Llc | リンクブリッジ |
-
1994
- 1994-04-08 JP JP7071494A patent/JPH07281993A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011018358A (ja) * | 2010-09-13 | 2011-01-27 | Tao Logic Systems Llc | リンクブリッジ |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR960012686B1 (ko) | 통신 시스템용 스테이션 및 그 통신방법 | |
| US6954806B2 (en) | Data transfer apparatus and method | |
| US4704717A (en) | Receive message processor for a solicited message packet transfer system | |
| CN111221759B (zh) | 一种基于dma的数据处理系统及方法 | |
| JP2000134229A (ja) | データ転送制御装置及び電子機器 | |
| JP4022442B2 (ja) | フィールドバスインタフェースボードの制御方法 | |
| WO2001006711A1 (fr) | Controleur de transfert de donnees et dispositif electronique | |
| CN117807011A (zh) | 信息处理方法、装置、设备及存储介质 | |
| US6038235A (en) | Fiber channel automatic arbitration and communication control | |
| CN116016349A (zh) | 报文调度方法、装置和系统 | |
| CN110995507A (zh) | 一种网络加速控制器及方法 | |
| US6578095B1 (en) | Data transfer control device for transferring data among a plurality of nodes and electronic equipment | |
| JPH07281993A (ja) | Dma装置 | |
| US6700887B1 (en) | Packet transfer apparatus which generates access reject command during a DMA transfer | |
| JPH0695322B2 (ja) | 転送制御システム | |
| JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
| JP2003143251A (ja) | パケットデータ表示システム | |
| JP3753622B2 (ja) | パケット送受信装置 | |
| JP2835487B2 (ja) | プリンタバッファ | |
| US6865152B2 (en) | Method and apparatus for transmitting packets onto a network | |
| JPS63228855A (ja) | 通信制御装置 | |
| CN118827275A (zh) | 一种报文发送方法、装置、介质及设备 | |
| CN121585749A (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
| JPH11103330A (ja) | 赤外線データ送信方法ならびに装置 | |
| JPH06334705A (ja) | 通信制御装置 |