JPH0954749A - Dma転送装置 - Google Patents

Dma転送装置

Info

Publication number
JPH0954749A
JPH0954749A JP20715695A JP20715695A JPH0954749A JP H0954749 A JPH0954749 A JP H0954749A JP 20715695 A JP20715695 A JP 20715695A JP 20715695 A JP20715695 A JP 20715695A JP H0954749 A JPH0954749 A JP H0954749A
Authority
JP
Japan
Prior art keywords
transfer
transfer data
data storage
bus
address
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.)
Withdrawn
Application number
JP20715695A
Other languages
English (en)
Inventor
Shigemasa Kikuchi
重正 菊地
Yasushi Jinbo
康 仁保
Teruaki Misono
輝章 味曽野
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.)
Toshiba Engineering Corp
Toshiba Corp
Original Assignee
Toshiba Engineering Corp
Toshiba Corp
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 Toshiba Engineering Corp, Toshiba Corp filed Critical Toshiba Engineering Corp
Priority to JP20715695A priority Critical patent/JPH0954749A/ja
Publication of JPH0954749A publication Critical patent/JPH0954749A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 無駄時間を発生させず、バスに転送データを
高速に転送することができるDMA転送装置を提供す
る。 【解決手段】 本発明は、CPUのシステムバスに接続
されたメモリから転送データを読みだして、転送データ
格納バッファに格納する転送データ格納手段(15)
と、転送データ格納バッファに格納された転送データを
外部バスに転送する転送手段(18)と、転送手段から
外部バスに転送される転送データのアドレスが転送デー
タ格納バッファに格納された転送データのアドレスを越
えているかを判定するアドレスコンパレータ(16)
と、アドレスコンパレータにより、越えていると判定さ
れた場合に、転送手段により、転送データが外部バスに
転送されるのを中止する転送中止手段(18)とを具備
したことを特徴とするDMA転送装置である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリとバスとの
間で高速にデータ転送を行なうDMA転送装置に関す
る。
【0002】
【従来の技術】CPUの内部システムバスは、複数のチ
ャネルから主記憶メモリがアクセスされるため、一般的
に高速なスプリット制御方式が採用されている。このス
プリット制御方式は、時分割マルチプレクシングを行な
う方式であり、1つの転送オペレーションを他の転送オ
ペレーションを構成する各処理とインターリブさせるも
のである。
【0003】図5は、スプリット制御方式における主記
憶メモリからISO8802.3バスへのデータ転送を
説明するための図である。上記CPUの内部システムバ
スは、高速である反面、回路構成が複雑であるため、そ
の規格もISO8802.3のLSIバスインターフェ
イスの規格と異なっている。
【0004】このため、従来は、図6に示すように、一
旦、CPU1のシステムバス2に接続されたLAN制御
プロセッサ3(以下、「LCP」という。)のDMA制
御回路3−1により、メモリ4に格納された転送データ
を内部バス3−3を介して、LCP3内部の転送データ
格納バッファ3−2に格納する。
【0005】そして、ISO8802.3バス上にLS
I3−4に格納された転送データが送出されると、DM
A制御回路3−1により、転送データ格納バッファ3−
2に格納された転送データを、内部バス3−3を介して
LSI3−4に転送した後に、LSI3−4により、I
SO8802.3バス上に転送データが送出される。
【0006】
【発明が解決しようとする課題】従来のDMA制御回路
3−1においては、物理層だけをサポートするLCPで
あれば、データ量が少ないために、図7に示すように、
フレーム単位で主記憶メモリ4からシステムバス2を介
してDMA制御回路3−1に転送データを読み出す動作
と、LSI3−4からISO8802.3バス5上に転
送データを送出する動作とを見かけ上同時に行なうこと
ができた。
【0007】しかし、LCP3に、伝送手順の上位(デ
ータリンク層/ネットワーク層/トランスポート層)が
実装されている場合、一回に相手局からの送達確認を取
らなくても送信できるデータ量が多くなるため、図8に
示すように、DMA制御回路により、主記憶メモリ4か
らシステムバス2を介して、転送データを転送データ格
納バッファ3−2に格納する時間が長くなり、実質的に
転送効率が低下してしまうという問題があった。
【0008】本発明は、上記実情に鑑みてなされたもの
であり、バスにデータを転送すると同時に、メモリから
システムバスを介してデータを読み出すことにより、無
駄時間を発生させず、高速にバスに転送データを転送す
ることができるDMA転送装置を提供することを目的と
する。
【0009】
【課題を解決するための手段】従って、まず、上記目的
を達成するために請求項1に係る発明は、CPUのシス
テムバスに接続されたメモリから転送データを読みだし
て、転送データ格納バッファに格納する転送データ格納
手段と、前記転送データ格納手段により転送データ格納
バッファに格納された転送データを外部バスに転送する
転送手段と、前記転送手段から外部バスに転送される転
送データのアドレスが前記転送データ格納バッファに格
納された転送データのアドレスを越えているかを判定す
るアドレスコンパレータと、前記アドレスコンパレータ
により、越えていると判定された場合に、前記転送中止
手段により、転送データが前記外部バスに転送されるの
を中止する転送データ中止手段とを具備したことを特徴
とする。
【0010】また、請求項2に係る発明は、請求項1記
載のDMA転送装置において、前記システムバスの負荷
に応じて、前記転送データ格納手段の起動時間と前記転
送手段の起動時間との時間差を設定する時間差設定手段
を付加したことを特徴とする。
【0011】請求項1に係る発明は、転送手段により、
転送データ格納手段により転送データ格納バッファに格
納された転送データを外部バスに転送するとともに、ア
ドレスコンパレータにより転送手段から外部バスに転送
される転送データのアドレスが転送データ格納バッファ
に格納された転送データのアドレスを越えているかを判
定し、越えていると判定された場合に、転送中止手段に
より、転送手段によって転送データが外部バスに転送さ
れるのを中止するので、転送データを高速に転送するこ
とができる。
【0012】請求項2に係る発明は、請求項1記載のD
MA転送装置において、時間差設定手段により、システ
ムバスの負荷に応じて、転送データ格納手段の起動時間
と前記転送手段の起動時間との時間差を設定するので、
大量データ転送を行なうようなディスクチャネルが存在
する場合であっても、確実、且つ高速にDMA転送を行
なうことができる。
【0013】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。 <第1の実施の形態>図1は、本発明の第1の実施の形
態に係るDMA転送装置の構成を示す図である。
【0014】同図において、11はCPUのシステムバ
スで、このCPUのシステムバス11には、CPU1
2、転送データを格納するための主記憶メモリ13、L
CP14が接続されている。
【0015】LCP14は、DMA制御回路15、アド
レスコンパレータ16、転送データ格納バッファ17、
LSI18を備えており、これらはLCP14の内部バ
ス19に接続されている。この内部バス19は、プロセ
ッサバスであり、アドレスバスとデータバスとで構成さ
れる。
【0016】DMA制御回路15は、アドレスカウンタ
21、ワードカウンタ22、アドレスカウンタ23、レ
ジスタ24を備えている。アドレスカウンタ21は、主
記憶メモリ13からCPUのシステムバス11に送出さ
れる転送データの読みだしアドレスをカウントする。
【0017】ワードカウンタ22は、主記憶メモリ13
からCPUのシステムバス11に送出される転送データ
の転送サイズを管理する。アドレスカウンタ23は、主
記憶メモリ13から送出された転送データの転送データ
格納バッファ17の書き込みアドレスをカウントする。
【0018】レジスタ24は、主記憶メモリ13から送
出された転送データを、一旦、ラッチした後、内部バス
19を介して、転送データ格納バッファ17に格納す
る。アドレスコンパレータ16は、DMA制御回路15
により、転送データが転送データ格納バッファ17に格
納される以前に、LSI18が転送データ格納バッファ
17からデータを読みだしていないか否かを監視する。
【0019】また、アドレスコンパレータ16は、LS
I18が、DMA制御回路15が転送データを転送デー
タ格納バッファ17に格納する以前に、転送データ格納
バッファ17から読みだしている場合、LSI18に通
知するために、リードサイクルを強制的にパリティエラ
ーにする手段を有している。
【0020】具体的には、LSI18からISO880
2.3バス20に転送される転送データのアドレスが転
送データ格納バッファ17に格納された転送データのア
ドレスを越えているか否かにより判断される。
【0021】なお、追い越しをLSI18に通知するた
めには、パリティエラーだけではなく、読みだしサイク
ルをストールさせ、LSI18をアンダーエラーにさせ
る手段も考えられる。
【0022】転送データ格納バッファ17は、主記憶メ
モリ13からDMA制御回路15のレジスタ24を介し
て、内部バス19に送出された転送データを格納する。
図2は、転送データ格納バッファ17のバッファ構造を
示す図である。
【0023】同図において、ユーザデータ格納エリア3
1は、CPU12の主記憶メモリ13から読みだされた
フレームデータを格納するエリアであり、システムバス
11のDMA制御回路15により、主記憶メモリ13か
ら読みだした転送データを格納し易いように、メモリ空
間は連続している。また、点線はISO8802.3バ
ス20に送信する単位であるフレームのオクテット数に
分割されていることを示す。
【0024】ヘッダ格納エリア32は、ユーザデータ格
納エリア31により、分割されたフレームの先頭に位置
するヘッダを格納する。すなわち、分割されたフレーム
数分のヘッダを格納する。
【0025】バッファディスクリプタ33は、フレーム
を構成するバッファのチェーン構造とフレームのチェー
ン構造とを定義する。また、図中矢印は、ディスクリプ
タが示すバッファの関連性を示すものである。
【0026】次に、上述の如く構成されたDMA転送装
置の動作について説明する。LCP14は、プロセッサ
を搭載したチャネルであり、本実施の形態のDMA転送
もファームウェアによる設定で動作する。
【0027】まず、ファームウェアにより、DMA制御
回路15のアドレスカウンタ21、ワードカウンタ2
2、アドレスカウンタ23に、それぞれ読みだしアドレ
ス、転送データの転送サイズ、転送データ格納バッファ
17への書き込みアドレスが設定される。また、ヘッダ
格納エリア32に格納されるフレームヘッダに手順情報
を設定するとともに、バッファディスクリプタを設定す
る。
【0028】次に、DMA制御回路15により、主記憶
メモリ13のアドレスカウンタ21に設定された読みだ
しアドレスから、ワードカウンタ22に設定された転送
サイズの転送データを読みだし、一旦、LCP14のレ
ジスタ24にラッチした後に、転送データ格納バッファ
17のユーザデータ格納エリア31の先頭から書き込み
を開始する。
【0029】一方、LSI18は、これと平行して、バ
ッファディスクリプタ格納エリア33のバッファディス
クリプタを解析して、ヘッダ格納エリア32に格納され
たフレームヘッダとユーザデータ格納エリア31に格納
されたフレーム毎の転送データとを読みだして、ISO
8802.3バス20に送信する。
【0030】なお、ISO8802.3バスは、10M
bps(1.25Mバイト/秒)の伝送速度であるの
で、システムバス11の方がはるかに転送速度が速く、
LSI18からISO8802.3バス20に転送デー
タが送出されるよりも、主記憶メモリ13から転送デー
タ格納バッファ17に転送データが格納される方がはる
かに速い。
【0031】ところで、主記憶メモリ13からシステム
バス11を介して、転送データを読み出す場合に、パリ
ティエラー等の異常が生じた場合には、エラーデータを
誤ってLSI18が転送してしまう場合がある。
【0032】このような場合、DMA制御回路15は、
転送データ格納バッファ17に転送データを格納するの
を停止する。この状態で、LSI18からISO880
2.3バスに転送データが送出されると、アドレスコン
パレータ16により、追い越しが検出され、LSI18
による読みだしサイクルは、パリティエラーになる。
【0033】このパリティエラーは、LSI18により
検出され、その結果、転送データの送出が停止し、ファ
ームウェアにエラー完了割り込みを発生させる。そし
て、ファームウェアは、再送等を含む、しかるべきエラ
ー回復処理を行なう。
【0034】従って、本実施の形態のDMA転送装置に
よれば、図3に示すように、CPU12のシステムバス
11からデータを読み出すタイミングとISO880
2.3バスに出力するタイミングとがほぼ同時に平行し
て行なわれるので、従来のCPUのシステムバスから転
送データを読み出す時間分、送信に要する時間が短くな
る。
【0035】また、データリンク層/ネットワーク層/
トランスポート層の手順を実装するLCPにおいては、
転送データ格納バッファ17に格納される転送データを
順次LSI18により、ISO8802.3バスに出力
するので、さらに、転送時間を短縮することができる。 <第2の実施の形態>システムバス11は、ISO88
02.3バス20と比較して速度性能は、十分高い。し
かし、CPUのシステムバス11に複数のチャネルが存
在し、且つ大量データ転送をおこなうようなディスクチ
ャネルが存在する場合、DMA制御回路15からみたC
PU12のシステムバス11の性能は、低下することが
考えらる。
【0036】従って、DMA制御回路15の起動とLS
I18の起動とを同時に行なうと、アドレスコンパレー
タ16により、アドレスの追い越しが検出され、LSI
18からISO8802.3バス20への転送データの
転送が停止してしまう。
【0037】そこで、本実施の形態のDMA転送装置
は、DMA制御回路15を起動した後に、LSI18を
起動するようにする。以下、図4のフローチャートを参
照して、本実施の形態のDMA転送装置の動作について
説明する。
【0038】まず、ファームウェアにより、DMA制御
回路15とLSI18との起動時間差tを時間bに設定
する(step1)。ここで、時間bは、システムバス
11の負荷を調べるための初期値であり、システムバス
11の負荷により微調整を行ない、最適な値が設定され
る。
【0039】次に、アドレスカウンタ21、ワードカウ
ンタ22、アドレスカウンタ23等にDMA転送に必要
な設定を行ない(step2)、その後、DMA制御回
路15を起動する(step3)。
【0040】そして、時間tの後(すなわち、時間
b)、LCP14のLSI18を起動する(step
4)。次に、アドレスコンパレータ16により、転送が
正常に完了したか否かが判定される(step5)。
【0041】step5において、正常に完了したと判
定された場合には、ファームウェアにより、起動時間差
tをDMA制御回路15とLSI18とがほぼ同時に起
動するような時間aに設定し、処理を終了する。
【0042】一方、step5において、正常に完了し
ない判定された場合には、ファームウェアにより、起動
時間差tを時間cに設定する。ここで、時間cは、DM
A制御回路15により転送データ格納バッファ17に転
送データを格納した後に、LSI18を起動する時間で
ある。また、この時間cは、エラーが発生しないような
安全な値が設定される。
【0043】なお、上述の実施の形態においては、ファ
ームウェアにより起動時間差を管理しているが、ハード
ウェアにより、ファームウェアで指定した閾値を、DM
A制御回路15が転送データ格納バッファ17に格納し
たサイズを越えると割り込み信号をLSI18に出力す
る構成としてもよい。
【0044】従って、本実施の形態のDMA転送装置に
よれば、CPUのシステムバス11に複数のチャネルが
存在し、且つ大量データ転送を行なうようなディスクチ
ャネルが存在する場合であっても、確実、且つ高速にD
MA転送を行なうことができる。
【0045】
【発明の効果】以上詳記したように、本発明によれば、
バスにデータを転送すると同時に、メモリからシステム
バスを介してデータを読み出すことにより、無駄時間を
発生させず、バスに転送データを高速に転送することが
できるDMA転送装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るDMA転送装
置の構成を示す図である。
【図2】同実施の形態におけるDMA転送装置の転送デ
ータ格納バッファのバッファ構造を示す図である。
【図3】同実施の形態におけるDMA転送装置の転送デ
ータの転送状態を説明するための図である。
【図4】本発明の第2の実施の形態に係るDMA転送装
置の動作を説明するためのフローチャートである。
【図5】スプリット制御方式を説明するための図であ
る。
【図6】従来のLCPのハードウェア構成を示す図であ
る。
【図7】従来の物理層だけをサポートするLCPのDM
A転送時間を示す図である。
【図8】従来の上位手順をサポートするLCPのDMA
転送時間を示す図である。
【符号の説明】
11…システムバス、12…CPU、13…主記憶メモ
リ、14…LCP、15…DMA制御回路、16…アド
レスコンパレータ、17…転送データ格納バッファ、1
8…LSI、19…内部バス、20…ISO8802.
3バス、21…アドレスカウンタ、22…ワードカウン
タ、23…アドレスカウンタ、31…ユーザデータ格納
エリア、32…ヘッダ格納エリア、33…バッファディ
スクリプタ。
フロントページの続き (72)発明者 味曽野 輝章 神奈川県川崎市幸区堀川町66番2 東芝エ ンジニアリング株式会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 CPUのシステムバスに接続されたメモ
    リから転送データを読みだして、転送データ格納バッフ
    ァに格納する転送データ格納手段と、 前記転送データ格納手段により転送データ格納バッファ
    に格納された転送データを外部バスに転送する転送手段
    と、 前記転送手段から外部バスに転送される転送データのア
    ドレスが前記転送データ格納バッファに格納された転送
    データのアドレスを越えているかを判定するアドレスコ
    ンパレータと、 前記アドレスコンパレータにより、越えていると判定さ
    れた場合に、前記転送手段により、転送データが前記外
    部バスに転送されるのを中止する転送中止手段とを具備
    したことを特徴とするDMA転送装置。
  2. 【請求項2】 前記システムバスの負荷に応じて、前記
    転送データ格納手段の起動時間と前記転送手段の起動時
    間との時間差を設定する時間差設定手段を付加したこと
    を特徴とする請求項1記載のDMA転送装置。
JP20715695A 1995-08-14 1995-08-14 Dma転送装置 Withdrawn JPH0954749A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20715695A JPH0954749A (ja) 1995-08-14 1995-08-14 Dma転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20715695A JPH0954749A (ja) 1995-08-14 1995-08-14 Dma転送装置

Publications (1)

Publication Number Publication Date
JPH0954749A true JPH0954749A (ja) 1997-02-25

Family

ID=16535160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20715695A Withdrawn JPH0954749A (ja) 1995-08-14 1995-08-14 Dma転送装置

Country Status (1)

Country Link
JP (1) JPH0954749A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316721A (ja) * 2002-04-24 2003-11-07 Oki Electric Ind Co Ltd データ転送制御装置、データ転送装置及びデータ転送制御方法
US8332548B2 (en) 2006-12-13 2012-12-11 Fujitsu Limited Monitoring device, semiconductor integrated circuit, and monitoring method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316721A (ja) * 2002-04-24 2003-11-07 Oki Electric Ind Co Ltd データ転送制御装置、データ転送装置及びデータ転送制御方法
US8332548B2 (en) 2006-12-13 2012-12-11 Fujitsu Limited Monitoring device, semiconductor integrated circuit, and monitoring method

Similar Documents

Publication Publication Date Title
US5721955A (en) System for transferring portion of data to host from buffer if size of packet is greater than first threshold value but less than second threshold value
US6163539A (en) Firmware controlled transmit datapath for high-speed packet switches
US4593281A (en) Local area network interframe delay controller
CN1390417A (zh) 简化的硬件网络适配器和通信方法
US20030200363A1 (en) Adaptive messaging
JPS63296540A (ja) 単一集積回路マイクロ制御器におけるマルチプロトコル通信制御器
JP2000134229A (ja) データ転送制御装置及び電子機器
CA2011934A1 (en) Method and apparatus for source routing bridging
WO2019135909A1 (en) FAST INVALIDATION IN PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) ADDRESS TRANSLATION SERVICES (ATS)
US12088688B2 (en) Packet processing method, network device, and related device
US12373382B2 (en) I3C pending read with retransmission
WO2004084511A2 (en) Pre-empting low-priority traffic with high-priority traffic
US6137804A (en) System and method for automatic retry of transmit, independent of a host processor, after an underrun occurs in a LAN
US6445718B1 (en) Serial interface circuit
US5228129A (en) Synchronous communication interface for reducing the effect of data processor latency
JPS6359042A (ja) 通信インタ−フエイス装置
JP2003085017A (ja) データ保証システム
CN117834093B (zh) 高速串行接口半双工和全双工切换时的应答包传输方法
JPH1117710A (ja) シリアルインタフェース回路
JP2002344539A (ja) Fifo装置
KR100367138B1 (ko) 네트웍인터페이스제어기
JPH07281993A (ja) Dma装置
EP1195685B1 (en) A process for interfacing a microprocessor with a packet based device and respective system
JPH11103330A (ja) 赤外線データ送信方法ならびに装置
JP2003303168A (ja) 通信制御用半導体集積回路

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021105