JPH03139751A - 優先度判定機能を有する通信用dmaコントローラ - Google Patents
優先度判定機能を有する通信用dmaコントローラInfo
- Publication number
- JPH03139751A JPH03139751A JP1279268A JP27926889A JPH03139751A JP H03139751 A JPH03139751 A JP H03139751A JP 1279268 A JP1279268 A JP 1279268A JP 27926889 A JP27926889 A JP 27926889A JP H03139751 A JPH03139751 A JP H03139751A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- transfer
- data
- channel
- priority
- 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)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明は、優先度判定機能を有する通信用DMAコント
ローラに関する。
ローラに関する。
(従来の技術)
一般に、データの通信においては、高速でデ−夕を転送
すべ(DMA(ダイレクトメモリアクセス)転送が行な
われることが多い。従来のDMA転送においては、ある
チャンネルに割り当てられた転送用データブロックを、
チャンネル単位のプライオリティ転送を行う。このため
、バーストサイズを、DMAに、転送用のデータブロッ
クよりも小さく設定した場合であっても、1回のバース
ト転送が終了しても、その都度チャンネルは切り替わら
ない。そして、そのチャンネルに割り当てられた転送用
データブロックのすべての転送が終了したら、次に優先
度の高いチャンネルに切り換えられて、DMA転送が行
われる。
すべ(DMA(ダイレクトメモリアクセス)転送が行な
われることが多い。従来のDMA転送においては、ある
チャンネルに割り当てられた転送用データブロックを、
チャンネル単位のプライオリティ転送を行う。このため
、バーストサイズを、DMAに、転送用のデータブロッ
クよりも小さく設定した場合であっても、1回のバース
ト転送が終了しても、その都度チャンネルは切り替わら
ない。そして、そのチャンネルに割り当てられた転送用
データブロックのすべての転送が終了したら、次に優先
度の高いチャンネルに切り換えられて、DMA転送が行
われる。
(発明が解決しようとする課題)
従来のDMAコントローラは以上のように構成されてい
るので、それを通信データ転送用に用いると、送受信が
重なったときに以下の様な問題が発生する。
るので、それを通信データ転送用に用いると、送受信が
重なったときに以下の様な問題が発生する。
例えば、送信DMA開始直後に通信データの受信が始ま
っても、送信データを全て送信し終るまではチャンネル
を受信DMAモードに切り替えられない。このため、送
信データのデータ長が長いと、受信データを受信し損う
可能性がある。また、受信データを受信し損う条件は、
受信FIFO(ファーストインファーストアウト)バッ
ファの大きさや、この時に同時に送信を行なっている送
信データの大きさによって異る。受信に失敗すると、相
手局はデータの上位層から再送信を行う。
っても、送信データを全て送信し終るまではチャンネル
を受信DMAモードに切り替えられない。このため、送
信データのデータ長が長いと、受信データを受信し損う
可能性がある。また、受信データを受信し損う条件は、
受信FIFO(ファーストインファーストアウト)バッ
ファの大きさや、この時に同時に送信を行なっている送
信データの大きさによって異る。受信に失敗すると、相
手局はデータの上位層から再送信を行う。
このため、データ転送時間が長くなって、転送効率が悪
化する。
化する。
本発明は、上記従来技術の難点に鑑みてなされたもので
、その目的は、DMA転送においては、通信データを予
め定められたバーストサイズに区切って送り、1回転送
終了する毎に全てのDMA転送要求の優先順位を判定し
、その順位の高いチャンネルに切り替えてDMA転送し
、これを繰り返してデータ転送し、これによりデータ転
送の効率を向上させることにある。
、その目的は、DMA転送においては、通信データを予
め定められたバーストサイズに区切って送り、1回転送
終了する毎に全てのDMA転送要求の優先順位を判定し
、その順位の高いチャンネルに切り替えてDMA転送し
、これを繰り返してデータ転送し、これによりデータ転
送の効率を向上させることにある。
(課題を解決するための手段)
上記目的を達成するために、本発明の第1の優 3−
先度判定機能を有する通信用DMAコントローラは、メ
モリとメモリとの間に位置してそれらのメモリ間のデー
タ転送をDMA転送によって行わせる通信用DMAコン
トローラであって、複数のチャンネルを有し、各チャン
ネルは前記データ転送に際して使用されるFIFOをそ
れぞれ有し、チャンネルの切り換えにより、あるメモリ
から他のメモリへデータ転送させ、他のメモリからある
メモリへデータ転送させる通信用DMAコントローラに
おいて、最も優先度の高いDMA要求に基づいて、予め
定めたバーストサイズのデータを転送する転送手段と、
前記転送手段による上記転送が1回終了する毎に、DM
A要求の有効なものについて優先度を判定する優先度判
定手段と、前記優先度判定手段によって最も優先度が高
いとされたDMA要求に応じて、前記チャンネルを切換
えるチャンネル切換手段と、を備えるものとして構成さ
れる。
モリとメモリとの間に位置してそれらのメモリ間のデー
タ転送をDMA転送によって行わせる通信用DMAコン
トローラであって、複数のチャンネルを有し、各チャン
ネルは前記データ転送に際して使用されるFIFOをそ
れぞれ有し、チャンネルの切り換えにより、あるメモリ
から他のメモリへデータ転送させ、他のメモリからある
メモリへデータ転送させる通信用DMAコントローラに
おいて、最も優先度の高いDMA要求に基づいて、予め
定めたバーストサイズのデータを転送する転送手段と、
前記転送手段による上記転送が1回終了する毎に、DM
A要求の有効なものについて優先度を判定する優先度判
定手段と、前記優先度判定手段によって最も優先度が高
いとされたDMA要求に応じて、前記チャンネルを切換
えるチャンネル切換手段と、を備えるものとして構成さ
れる。
また、本発明の第′2の優先度判定機能を有する通信用
DMAコントローラは、前記第1のDMA 4− コントローラにおいて、前記データ転送に当っての前記
FIFOへのデータ蓄積時間中に、自己が専有するワー
キングメモリについてのDMA要求を実行させるDMA
実行手段を有するものとして構成される。
DMAコントローラは、前記第1のDMA 4− コントローラにおいて、前記データ転送に当っての前記
FIFOへのデータ蓄積時間中に、自己が専有するワー
キングメモリについてのDMA要求を実行させるDMA
実行手段を有するものとして構成される。
(作 用)
複数のDMA (ダイレクトメモリアクセス)要求に予
め優先順位がつけられている。転送手段では、1回のD
MA転送で予め定められたバーストサイズのデータが転
送される。1回のDMAバースト転送終了毎に、優先度
判定手段により、有効なりMA要求の優先度を調べる。
め優先順位がつけられている。転送手段では、1回のD
MA転送で予め定められたバーストサイズのデータが転
送される。1回のDMAバースト転送終了毎に、優先度
判定手段により、有効なりMA要求の優先度を調べる。
最も優先度の高いDMA要求に対応するチャネルにチャ
ネルが切り換えられる。切りの換えられたチャネルにお
いてデータ転送が行われる。これが繰り返えされる。
ネルが切り換えられる。切りの換えられたチャネルにお
いてデータ転送が行われる。これが繰り返えされる。
また、データ転送に当ってのFIFOへのデータ蓄積中
に、ワーキングメモリについてのDMA要求が実行され
る。
に、ワーキングメモリについてのDMA要求が実行され
る。
(実施例)
以下、図面を参照しながら本発明の実施例を説明する。
第1図は、本発明の一実施例のブロック図であり、特に
通信コントローラの基本ブロックを示すものである。こ
の通信コントローラは5つのブロックから構成されてい
る。第1のブロック(101)は、図示しないメモリ回
路を有するホストプロセッサとのインターフェース信号
の生成、解釈を行なってDMA転送制御などのコミュニ
ケーションを行なうための各種レジスタを持つバスイン
ターフェースブロック101 (Bus I/P )で
ある。第2のブロック(102)は、内部DMAファー
ムウェアに従って動作し、DMAの3つのチャンネルを
優先順位で切り替える等のインテリジェントな制御を行
なうDMAコントロールブロック102 (DMAC)
である。第3のブロック(103)は、複数の通信デー
タバッファを自動バッファロケーションとして通信デー
タの転送効率を高めるF I FO/RAMブロック1
03である(FIFO/RAM)。第4のブロック(1
05)は、内部通信ファームウェアによってネットワー
ク通信プロトコルを実行し各種のタスクをコントロール
するスモールCPUブロック105 (Small C
PU)である。第5のブロック(104)は、通信フレ
ームの組み立て、認識や各種通信エラーの検出等の通信
の制御を行なうネットワークインターフェースブロック
104 (Network I/P )である。バスイ
ンターフェースブロック101は、図示しないメモリ回
路に対して24ビツトのアドレス(Address )
を送出すると共に16ビツトのデータ(Data)を入
出力するアドレス/データバッファレジスタ(Addr
ess /Data Buf’l’er Regist
er)と、コミュニケーションレジスタ (Communication Register)か
ら構成されるOそのコミュニケーションレジスタは、メ
モリ回路へバス要求信号BREQ、リード信号RD及び
ライト信号WRを送出し、且つメモリ回路からバスアク
ノリッジ信号BACKを受は付ける。またホストプロセ
ッサからは、I10アクセスを行なう為のチップセレク
ト信号C8及びリード信号RD。
通信コントローラの基本ブロックを示すものである。こ
の通信コントローラは5つのブロックから構成されてい
る。第1のブロック(101)は、図示しないメモリ回
路を有するホストプロセッサとのインターフェース信号
の生成、解釈を行なってDMA転送制御などのコミュニ
ケーションを行なうための各種レジスタを持つバスイン
ターフェースブロック101 (Bus I/P )で
ある。第2のブロック(102)は、内部DMAファー
ムウェアに従って動作し、DMAの3つのチャンネルを
優先順位で切り替える等のインテリジェントな制御を行
なうDMAコントロールブロック102 (DMAC)
である。第3のブロック(103)は、複数の通信デー
タバッファを自動バッファロケーションとして通信デー
タの転送効率を高めるF I FO/RAMブロック1
03である(FIFO/RAM)。第4のブロック(1
05)は、内部通信ファームウェアによってネットワー
ク通信プロトコルを実行し各種のタスクをコントロール
するスモールCPUブロック105 (Small C
PU)である。第5のブロック(104)は、通信フレ
ームの組み立て、認識や各種通信エラーの検出等の通信
の制御を行なうネットワークインターフェースブロック
104 (Network I/P )である。バスイ
ンターフェースブロック101は、図示しないメモリ回
路に対して24ビツトのアドレス(Address )
を送出すると共に16ビツトのデータ(Data)を入
出力するアドレス/データバッファレジスタ(Addr
ess /Data Buf’l’er Regist
er)と、コミュニケーションレジスタ (Communication Register)か
ら構成されるOそのコミュニケーションレジスタは、メ
モリ回路へバス要求信号BREQ、リード信号RD及び
ライト信号WRを送出し、且つメモリ回路からバスアク
ノリッジ信号BACKを受は付ける。またホストプロセ
ッサからは、I10アクセスを行なう為のチップセレク
ト信号C8及びリード信号RD。
ライト信号WRを受は付ける。DMAコントロー 7−
ルブロック102は、DMAマイクロコントロール(D
HA Micro Control Logic)と、
DMAファームウェアROM (DMA Firmwa
re ROM)と、アドレスカウント/データアライメ
ント (Address Count & Data Al
ignment)と、2Port RAMを有するDM
Aコントロールレジスタ(DMA Control R
gister )とを備える。また、FIFO/RAM
103は、複数の送信FIFO(TX−FIFO)と、
複数の受信F I F O(RX−FIFO)と、2
Port RAMを有するワーキングメモリ(Mark
ing Meraory)とを備える。また、スモール
CPUブロック105は、コミュニケーションレジスタ
インターフェース(ComlIunlcatlonRe
glsuters Interf’1ce)と、インタ
ーナルファームウェアROM (Internal F
irmware ROM )と、エグゼキューションコ
ントロール(Execut tonControl )
と、Xレジスタ(X−Reg )とYレジスタ(Y−R
eg )を接続する演算ユニット(ALU )と、イン
ターナルバスインターフェース(InternalBu
s Interface )と、ワーキングレジスタ(
Work−8− 1ng Registers )とを備える。一方、ネ
ットワークインターフェース(Network l/F
) 104は、6バイト(byte)の送信F I F
O(TX−FIFO)と、6バイト(byte)の受
信F I F O(RX−FIFO)と、デリミタージ
エネレータ/ディテクタ (Delimltor Generator & De
tector)と、プロトコルタイマー(Protoc
ol Timer)と、図示しない物理層データ送受信
回路にデータを送出するパラレル/シリアル変換部(P
arallel to 5erial)と、物理層デー
タ送受信回路からデータを受信するパラレル/シリアル
変換部(Serial to Parallel)とを
有する。DMAコントロールブロック102のDMAコ
ントロールレジスタと、FIFO/RAMブロックとネ
ットワークインターフェース104の送受信FIFOと
、スモールCPUブロック105のインターナルバスイ
ンターフェースとは、16ビツトの内部バス(Inte
rnal Bus)で接続されている。またDMAコン
トロールブロック102のDMAアドレスカウント/デ
ーテーラメントとFIFO/RAM103の間は専用の
16ビツトのデータバスで接続されている。またDMA
コントロールブロック102のDMAアドレスカウント
/デーテーラメントはFIFO/RAM103にDMA
モード信号とストローブ信号を出力する。また、DMA
コントロールブロック102のDMAマイクロコントロ
ールと、スモールCPUブロック105のエグゼキュー
ションコントロールとの間では、DMA要求 (DMA Request )とDMA完了(DMA
Complete)がやり取りされる。また、バスイン
ターフェースブロック101のコミュニケーションレジ
スタと、スモールCPUブロック105のコミュニケー
ションレジスタインターフェースとの間では、16ビツ
トのデータ(Data)がやり取りされる。
HA Micro Control Logic)と、
DMAファームウェアROM (DMA Firmwa
re ROM)と、アドレスカウント/データアライメ
ント (Address Count & Data Al
ignment)と、2Port RAMを有するDM
Aコントロールレジスタ(DMA Control R
gister )とを備える。また、FIFO/RAM
103は、複数の送信FIFO(TX−FIFO)と、
複数の受信F I F O(RX−FIFO)と、2
Port RAMを有するワーキングメモリ(Mark
ing Meraory)とを備える。また、スモール
CPUブロック105は、コミュニケーションレジスタ
インターフェース(ComlIunlcatlonRe
glsuters Interf’1ce)と、インタ
ーナルファームウェアROM (Internal F
irmware ROM )と、エグゼキューションコ
ントロール(Execut tonControl )
と、Xレジスタ(X−Reg )とYレジスタ(Y−R
eg )を接続する演算ユニット(ALU )と、イン
ターナルバスインターフェース(InternalBu
s Interface )と、ワーキングレジスタ(
Work−8− 1ng Registers )とを備える。一方、ネ
ットワークインターフェース(Network l/F
) 104は、6バイト(byte)の送信F I F
O(TX−FIFO)と、6バイト(byte)の受
信F I F O(RX−FIFO)と、デリミタージ
エネレータ/ディテクタ (Delimltor Generator & De
tector)と、プロトコルタイマー(Protoc
ol Timer)と、図示しない物理層データ送受信
回路にデータを送出するパラレル/シリアル変換部(P
arallel to 5erial)と、物理層デー
タ送受信回路からデータを受信するパラレル/シリアル
変換部(Serial to Parallel)とを
有する。DMAコントロールブロック102のDMAコ
ントロールレジスタと、FIFO/RAMブロックとネ
ットワークインターフェース104の送受信FIFOと
、スモールCPUブロック105のインターナルバスイ
ンターフェースとは、16ビツトの内部バス(Inte
rnal Bus)で接続されている。またDMAコン
トロールブロック102のDMAアドレスカウント/デ
ーテーラメントとFIFO/RAM103の間は専用の
16ビツトのデータバスで接続されている。またDMA
コントロールブロック102のDMAアドレスカウント
/デーテーラメントはFIFO/RAM103にDMA
モード信号とストローブ信号を出力する。また、DMA
コントロールブロック102のDMAマイクロコントロ
ールと、スモールCPUブロック105のエグゼキュー
ションコントロールとの間では、DMA要求 (DMA Request )とDMA完了(DMA
Complete)がやり取りされる。また、バスイン
ターフェースブロック101のコミュニケーションレジ
スタと、スモールCPUブロック105のコミュニケー
ションレジスタインターフェースとの間では、16ビツ
トのデータ(Data)がやり取りされる。
第2図は第1図に示したDMAコントロールブロック1
02の基本ブロック図である。このDMAコントロール
ブロック102は3つの基本ブロックを有する。第1の
ブロック(201)は、DMA要求信号の受付、DMA
完了信号の出力、優先順位に従ったDMAチャンネルの
バーストスチール処理等のインテリジェント制御を行な
うDMA優先度判定部201である。第2のブロック(
202)は、図示しない外部メモリアドレスの生成と、
通信フレームレングスやバーストサイズ等の解釈と、2
ボ一トRAMを用いたスモールCPUブロック105と
のDMAデータの受は渡しとを行なうDMAデータ記憶
部202である。
02の基本ブロック図である。このDMAコントロール
ブロック102は3つの基本ブロックを有する。第1の
ブロック(201)は、DMA要求信号の受付、DMA
完了信号の出力、優先順位に従ったDMAチャンネルの
バーストスチール処理等のインテリジェント制御を行な
うDMA優先度判定部201である。第2のブロック(
202)は、図示しない外部メモリアドレスの生成と、
通信フレームレングスやバーストサイズ等の解釈と、2
ボ一トRAMを用いたスモールCPUブロック105と
のDMAデータの受は渡しとを行なうDMAデータ記憶
部202である。
第3のブロック(203)は、バスインターフェースブ
ロック101を通じてホストプロセッサにバス権の要求
を行ない、PIFORAMにデータ入出力用のストロー
ブ信号を出力し、DMAのデータ転送サイクルを制御す
るDMA転送制御部203である。DMA優先度判定部
201は、送信DMA完了、受信DMA完了、RAMモ
ードDMA完了等の信号をスモールCPUブロック10
5に送出すると共に、DMAデータ記憶部202にレジ
スタ間データ転送制御信号を送出するDMAファームウ
ェアROM/命令命令デク−7部24 (DMA Fi
rmware ROM & In5truction
Deco−der )と、スモールCPUブロック10
5から送1 信DMA要求、受信DMA要求、RAMモードDMA要
求及びリード/ライト(RD/ WR)の各信号を受は
付けるDMA要求受付レジスタ205と、スモールCP
Uブロック105から送信F■FO−TH(送信F I
FO−THRESHOLD)、受信F I FO−T
H(受信F I FO−THRESHOLD) 、受信
FIFO−空、及び受信完了等の信号を受は付けるDM
A条件判定回路206とを有する。DMAデータ記憶部
202は、通信フレームアドレスカウンタと、RAMデ
ータアドレスカウンタ、送信フレームレングスダウンカ
ウンタ、受信フレームレングスダウンカウンタ、RAM
データレングスダウンダウンカウンタ、DMAバースト
サイズダウンカウンタ等のカウンタと、DMAデータ2
ポートRAM (RAM Data 2port−RA
M)と、内部バスインターフェースとを有する。また、
DMAデータ記憶202は、バスインタフェイスブロッ
ク101と、24ビツトのアドレス(Address
)ラインと、16ビツトのデータ(Data)ラインで
接続される。一方、内部バス 12− インターフェースは、5ビツトのアドレス(Addre
ss )ラインと16ビツトのデータ(Data)ライ
ンとで内部バスに接続される。DMA転送制御部203
は、DMAモード信号とストローブ信号をF I FO
/RAM103に送出するFIFOアクセス信号発生回
路と、バス要求信号(BUSRQ)、リード/ライト信
号(RD/WR) 、ネクストアドレス(Next A
ddress)要求、ネクストデータ(NextDat
a)要求等の信号をバスインターフェースブロック10
1に送出及びDMAファームウェアROM/命令デコー
ダ部204からDMA要求信号の受は付け、及びDMA
条件判定回路206にDMAの完了信号の供給を行うD
MAサイクル制御ステートマシンとを有する。なお、D
MAデータ記憶部202からは各種カウンタで検出され
たデータレングス0信号が送出され、DMA転送制御部
203のDMAサイクル制御ステートマシンと、DMA
優先度判定部201のDMA条件判定回路206とに入
力される。また、DMA転送制御部203のDMAサイ
クル制御ステートマシンからは、DMAデータ記憶部2
02の各種カウンタに対するカウント信号が送出される
。
ロック101を通じてホストプロセッサにバス権の要求
を行ない、PIFORAMにデータ入出力用のストロー
ブ信号を出力し、DMAのデータ転送サイクルを制御す
るDMA転送制御部203である。DMA優先度判定部
201は、送信DMA完了、受信DMA完了、RAMモ
ードDMA完了等の信号をスモールCPUブロック10
5に送出すると共に、DMAデータ記憶部202にレジ
スタ間データ転送制御信号を送出するDMAファームウ
ェアROM/命令命令デク−7部24 (DMA Fi
rmware ROM & In5truction
Deco−der )と、スモールCPUブロック10
5から送1 信DMA要求、受信DMA要求、RAMモードDMA要
求及びリード/ライト(RD/ WR)の各信号を受は
付けるDMA要求受付レジスタ205と、スモールCP
Uブロック105から送信F■FO−TH(送信F I
FO−THRESHOLD)、受信F I FO−T
H(受信F I FO−THRESHOLD) 、受信
FIFO−空、及び受信完了等の信号を受は付けるDM
A条件判定回路206とを有する。DMAデータ記憶部
202は、通信フレームアドレスカウンタと、RAMデ
ータアドレスカウンタ、送信フレームレングスダウンカ
ウンタ、受信フレームレングスダウンカウンタ、RAM
データレングスダウンダウンカウンタ、DMAバースト
サイズダウンカウンタ等のカウンタと、DMAデータ2
ポートRAM (RAM Data 2port−RA
M)と、内部バスインターフェースとを有する。また、
DMAデータ記憶202は、バスインタフェイスブロッ
ク101と、24ビツトのアドレス(Address
)ラインと、16ビツトのデータ(Data)ラインで
接続される。一方、内部バス 12− インターフェースは、5ビツトのアドレス(Addre
ss )ラインと16ビツトのデータ(Data)ライ
ンとで内部バスに接続される。DMA転送制御部203
は、DMAモード信号とストローブ信号をF I FO
/RAM103に送出するFIFOアクセス信号発生回
路と、バス要求信号(BUSRQ)、リード/ライト信
号(RD/WR) 、ネクストアドレス(Next A
ddress)要求、ネクストデータ(NextDat
a)要求等の信号をバスインターフェースブロック10
1に送出及びDMAファームウェアROM/命令デコー
ダ部204からDMA要求信号の受は付け、及びDMA
条件判定回路206にDMAの完了信号の供給を行うD
MAサイクル制御ステートマシンとを有する。なお、D
MAデータ記憶部202からは各種カウンタで検出され
たデータレングス0信号が送出され、DMA転送制御部
203のDMAサイクル制御ステートマシンと、DMA
優先度判定部201のDMA条件判定回路206とに入
力される。また、DMA転送制御部203のDMAサイ
クル制御ステートマシンからは、DMAデータ記憶部2
02の各種カウンタに対するカウント信号が送出される
。
第3図は第2図のDMAファームウェアROM/命令デ
コーダ部204の構成を詳細に示すブロック図である。
コーダ部204の構成を詳細に示すブロック図である。
第3図において、マルチプレクサ(MPX)301は次
の番地のアドレス311かジャンプアドレス310のい
ずれかを選択して、選択アドレス313を送出する。マ
ルチプレクサ301からの選択アドレス313はアドレ
スレジスタ302にラッチされる。ファームウェアRO
M (PlriWare ROM) 303は、アドレ
スレジスタ302から出力されるアドレス314に対応
するデータ、つまり命令コード315を出力する。
の番地のアドレス311かジャンプアドレス310のい
ずれかを選択して、選択アドレス313を送出する。マ
ルチプレクサ301からの選択アドレス313はアドレ
スレジスタ302にラッチされる。ファームウェアRO
M (PlriWare ROM) 303は、アドレ
スレジスタ302から出力されるアドレス314に対応
するデータ、つまり命令コード315を出力する。
命令ラッチレジスタ304は、ファームウェアROM3
03から出力される命令コード315をラッチする。ア
ドレスインクリメント(+1)306は、アドレスレジ
スタ302から出力されるアドレス314をプラス1し
て、次の番地のアドレス311を生成する。命令デコー
ダ305は、命令ラッチレジスタ304から出力される
命令コード316をデコードして、フラグのセット/リ
セット、レジスタ間のブタ−転送、ジャンプ条件検出等
の制御信号317を出力する。制御信号317からのジ
ャンプ命令に基づいてジャンプ条件が成立した場合に入
力されるジャンプ(JLIMP)信号308は、MPX
301にジャンプアドレス310を選択させると共にレ
ジスタ307によってクロック(CLK )の1クロッ
ク間ラッチされ、命令デコードイネーブル信号309と
して1クロック間だけ命令デコーダ305に与えられ、
命令デコーダ305が出力する制御信号317を無効と
する。
03から出力される命令コード315をラッチする。ア
ドレスインクリメント(+1)306は、アドレスレジ
スタ302から出力されるアドレス314をプラス1し
て、次の番地のアドレス311を生成する。命令デコー
ダ305は、命令ラッチレジスタ304から出力される
命令コード316をデコードして、フラグのセット/リ
セット、レジスタ間のブタ−転送、ジャンプ条件検出等
の制御信号317を出力する。制御信号317からのジ
ャンプ命令に基づいてジャンプ条件が成立した場合に入
力されるジャンプ(JLIMP)信号308は、MPX
301にジャンプアドレス310を選択させると共にレ
ジスタ307によってクロック(CLK )の1クロッ
ク間ラッチされ、命令デコードイネーブル信号309と
して1クロック間だけ命令デコーダ305に与えられ、
命令デコーダ305が出力する制御信号317を無効と
する。
なお、命令ラッチレジスタ304から出力される命令コ
ード316のうちの一部は、ジャンプアドレス310と
してマルチプレクサ301に与えられる。また、アドレ
スレジスタ302及び命令ラッチレジスタ304はリセ
ット信号(RESET)によってリセットされる。
ード316のうちの一部は、ジャンプアドレス310と
してマルチプレクサ301に与えられる。また、アドレ
スレジスタ302及び命令ラッチレジスタ304はリセ
ット信号(RESET)によってリセットされる。
第4図は、第3図のDMAファームウェアROM/命令
デコーダ部の動作タイミングチャー5− トである。第4図(A)はクロック、(B)はアドレス
レジスタ302から出力されるアドレス314、(C)
はアドレス314を受けたファームウェアROM303
から出力される命令コード315、(D)は命令コード
315を受けた命令ラッチレジスタ304の出力である
命令コード316、(E)は命令コード316を受けた
命令デコーダ305から出力される制御信号317、(
F)は制御信号317と同様に命令デコーダ305から
出力されるジャンプ命令に対応してジャンプ条件が成立
した時にレジスタ307に入力されるジャンプ信号30
8、(G)はレジスタ307から命令デコーダ305に
与えられる命令デコードディスイネーブル信号309で
ある。
デコーダ部の動作タイミングチャー5− トである。第4図(A)はクロック、(B)はアドレス
レジスタ302から出力されるアドレス314、(C)
はアドレス314を受けたファームウェアROM303
から出力される命令コード315、(D)は命令コード
315を受けた命令ラッチレジスタ304の出力である
命令コード316、(E)は命令コード316を受けた
命令デコーダ305から出力される制御信号317、(
F)は制御信号317と同様に命令デコーダ305から
出力されるジャンプ命令に対応してジャンプ条件が成立
した時にレジスタ307に入力されるジャンプ信号30
8、(G)はレジスタ307から命令デコーダ305に
与えられる命令デコードディスイネーブル信号309で
ある。
マルチプレクサ301から出力される選択アドレス31
3は、クロックの立ち上がりでアドレスレジスタ302
にラッチされ、アドレス314として出力され、ファー
ムウェアROM303に与えられる。ファームウェアR
OM303の出力である命令コード315は、クロック
の立ち下がり6 で出力される。ファームウェアROM303から出力さ
れた命令コード315は、クロックの立ち上がりで命令
ラッチレジスタ304にラッチされ、命令デコーダ30
5に与えられ、その命令デコーダ305から制御信号3
17やジャンプ信号308が出力される。
3は、クロックの立ち上がりでアドレスレジスタ302
にラッチされ、アドレス314として出力され、ファー
ムウェアROM303に与えられる。ファームウェアR
OM303の出力である命令コード315は、クロック
の立ち下がり6 で出力される。ファームウェアROM303から出力さ
れた命令コード315は、クロックの立ち上がりで命令
ラッチレジスタ304にラッチされ、命令デコーダ30
5に与えられ、その命令デコーダ305から制御信号3
17やジャンプ信号308が出力される。
なお、命令デコーダ305からの制御信号317に基づ
くジャンプ命令によるジャンプ条件が成立した場合、ジ
ャンプ信号308が入力される。このジャンプ信号30
8は、レジスタ307により1クロック間ラッチされ、
命令デコードイネーブル信号309となる。この信号3
09は命令デコーダ305に与えられ、次のクロック期
間にファームウェアROM303から命令ラッチレジス
タ304を通じて与えられる命令コード316(ジャン
プアドレス)のデコードを無効とする。
くジャンプ命令によるジャンプ条件が成立した場合、ジ
ャンプ信号308が入力される。このジャンプ信号30
8は、レジスタ307により1クロック間ラッチされ、
命令デコードイネーブル信号309となる。この信号3
09は命令デコーダ305に与えられ、次のクロック期
間にファームウェアROM303から命令ラッチレジス
タ304を通じて与えられる命令コード316(ジャン
プアドレス)のデコードを無効とする。
第5図は、第2図に示したDMA要求受付レジスタ20
5とDMA条件判定回路206の詳細を示すブロック図
である。第5図に示すように、DMA要求受付レジスタ
205は、送信DMA要求受付レジスタ501、受信D
MA要求受付レジスタ502、RAMモードDMA要求
受付レジスタ503、リード/ライト信号ラッチレジス
タ504を有する。送信DMAリクエスト513は送信
DMA要求受付レジスタ501に、受信DMAリクエス
ト514は受信DMA要求受付レジスタ502に、RA
MモードDMAリクエスト541はRAMモードDMA
要求受付レジスタ503に、リード/ライト信号515
はリード/ライト信号ラッチレジスタ504にそれぞれ
入力される。送信DMA要求受付レジスタ501、受信
DMA要求受付レジスタ502、RAMモードDMA要
求受付レジスタ503、リード/ライト信号ラッチレジ
スタ504にはクロック信号CLKならびにリセット信
号511がそれぞれ入力されており、それぞれの出力は
、検出信号510が入力されるアンド回路524.52
5.526.527に入力される。
5とDMA条件判定回路206の詳細を示すブロック図
である。第5図に示すように、DMA要求受付レジスタ
205は、送信DMA要求受付レジスタ501、受信D
MA要求受付レジスタ502、RAMモードDMA要求
受付レジスタ503、リード/ライト信号ラッチレジス
タ504を有する。送信DMAリクエスト513は送信
DMA要求受付レジスタ501に、受信DMAリクエス
ト514は受信DMA要求受付レジスタ502に、RA
MモードDMAリクエスト541はRAMモードDMA
要求受付レジスタ503に、リード/ライト信号515
はリード/ライト信号ラッチレジスタ504にそれぞれ
入力される。送信DMA要求受付レジスタ501、受信
DMA要求受付レジスタ502、RAMモードDMA要
求受付レジスタ503、リード/ライト信号ラッチレジ
スタ504にはクロック信号CLKならびにリセット信
号511がそれぞれ入力されており、それぞれの出力は
、検出信号510が入力されるアンド回路524.52
5.526.527に入力される。
また、DMA条件判定回路206は、送信DMA中断中
フラグ505、送信DMA実行中フラグ506、送信D
MA実行中フラグ507、バーストサイズDMA完了フ
ラグ508を含む。各フラグにはリセット信号511と
セット信号512がそれぞれ入力される。また、バース
トサイズDMA完了フラグ508には、バーストサイズ
DMA完了信号523が入力される。送信DMA中断中
フラグ505、送信DMA実行中フラグ506、受信D
MA実行中フラグ507、バーストサイズDMA完了フ
ラグ508の各出力は、それぞれ、検出信号510が入
力されるアンド回路528.529.530.538に
入力される。
フラグ505、送信DMA実行中フラグ506、送信D
MA実行中フラグ507、バーストサイズDMA完了フ
ラグ508を含む。各フラグにはリセット信号511と
セット信号512がそれぞれ入力される。また、バース
トサイズDMA完了フラグ508には、バーストサイズ
DMA完了信号523が入力される。送信DMA中断中
フラグ505、送信DMA実行中フラグ506、受信D
MA実行中フラグ507、バーストサイズDMA完了フ
ラグ508の各出力は、それぞれ、検出信号510が入
力されるアンド回路528.529.530.538に
入力される。
また、検出信号510は、他のアンド回路531〜53
8に入力される。アンド回路531には送信DMAデー
タレングス0信号516が、アンド回路532にはRA
MモードDMAデータレングス0信号517が、アンド
回路533にはバーストサイズ0信号518が、アンド
回路534には論理ゲート542を介して受信FIFO
空信号519と受信完了信号520が、アンド回路9
− 535には論理ゲート543.544を介して受信FI
FO空信号519と受信完了信号520と受信FIFO
スレッシュホールド信号521が、アンド回路536に
はセット信号512が、アンド回路537には送信FI
FOスレッシュホールド信号522がそれぞれ入力され
る。アンド回路524〜538の各出力信号はオア回路
545に入力される。このオア回路545から、ジャン
プ信号509が送出される。
8に入力される。アンド回路531には送信DMAデー
タレングス0信号516が、アンド回路532にはRA
MモードDMAデータレングス0信号517が、アンド
回路533にはバーストサイズ0信号518が、アンド
回路534には論理ゲート542を介して受信FIFO
空信号519と受信完了信号520が、アンド回路9
− 535には論理ゲート543.544を介して受信FI
FO空信号519と受信完了信号520と受信FIFO
スレッシュホールド信号521が、アンド回路536に
はセット信号512が、アンド回路537には送信FI
FOスレッシュホールド信号522がそれぞれ入力され
る。アンド回路524〜538の各出力信号はオア回路
545に入力される。このオア回路545から、ジャン
プ信号509が送出される。
この第5図において、送信DMA要求受付レジスタ50
1、受信DMA要求受付レジスタ502、RAMモード
DMA要求受付レジスタ503、リード/ライト信号ラ
ッチレジスタ504は、各種のDMA要求信号、つまり
送信DMAリクエスト513、受信DMAリクエスト5
14、RAMモードDMAリクエスト541、及びリー
ド/ライト信号515によってそれぞれセットされ、D
MAの実行完了後にファームウェアに基づくリセット信
号511によってリセットされる。また、送信DMA中
断中フラグ505は、チャンネルを 20− 共有している受信DMAを実行する時に、送信DMAを
中断してファームウェアに基づくセット信号512によ
ってセットされるものである。このフラグ505は、デ
ータの退避や再設定の目的で用いられ、送信DMAの再
開時にリセット信号511によりリセットされる。送信
DMA実行中のフラグ506は、また受信DMA実行中
のフラグ507は、それぞれ、送受信DMAの実行前に
ファームウェアに基づくセット信号512によりセット
される。これらのフラグ506.507は、送受信DM
Aを中断し、RAMモードDMAを優先的に実行した後
で再び中断点から送受信DMAを実行する目的で用いら
れる。これらのフラグ506.507は、送受信DMA
の完了時に、ファームウェアに基づくリセット信号51
1でリセットされる。バーストサイズDMA完了フラグ
508は、バーストサイズDMA完了時にバーストサイ
ズDMA完了信号523によってセットされるもので、
ファームウェア検出後にリセット信号511によりリセ
ットされる。符号501〜508で示したレジスタやフ
ラグ並びに符号516〜522で示した条件信号は、そ
れぞれ、ファームウェアのマイクロ命令に基づく検出信
号510との論理を取られ、更にオア回路545でまと
められてジャンプ信号509とされる。このジャンプ信
号509に基づいてDMA実行が制御される。
1、受信DMA要求受付レジスタ502、RAMモード
DMA要求受付レジスタ503、リード/ライト信号ラ
ッチレジスタ504は、各種のDMA要求信号、つまり
送信DMAリクエスト513、受信DMAリクエスト5
14、RAMモードDMAリクエスト541、及びリー
ド/ライト信号515によってそれぞれセットされ、D
MAの実行完了後にファームウェアに基づくリセット信
号511によってリセットされる。また、送信DMA中
断中フラグ505は、チャンネルを 20− 共有している受信DMAを実行する時に、送信DMAを
中断してファームウェアに基づくセット信号512によ
ってセットされるものである。このフラグ505は、デ
ータの退避や再設定の目的で用いられ、送信DMAの再
開時にリセット信号511によりリセットされる。送信
DMA実行中のフラグ506は、また受信DMA実行中
のフラグ507は、それぞれ、送受信DMAの実行前に
ファームウェアに基づくセット信号512によりセット
される。これらのフラグ506.507は、送受信DM
Aを中断し、RAMモードDMAを優先的に実行した後
で再び中断点から送受信DMAを実行する目的で用いら
れる。これらのフラグ506.507は、送受信DMA
の完了時に、ファームウェアに基づくリセット信号51
1でリセットされる。バーストサイズDMA完了フラグ
508は、バーストサイズDMA完了時にバーストサイ
ズDMA完了信号523によってセットされるもので、
ファームウェア検出後にリセット信号511によりリセ
ットされる。符号501〜508で示したレジスタやフ
ラグ並びに符号516〜522で示した条件信号は、そ
れぞれ、ファームウェアのマイクロ命令に基づく検出信
号510との論理を取られ、更にオア回路545でまと
められてジャンプ信号509とされる。このジャンプ信
号509に基づいてDMA実行が制御される。
第6図は、第1図のDMAコントロールブロックにDM
A要求が重複して発生した場合に、DMAチャンネルの
バーストチール処理を行なう場合に使用する、F I
FO/RAMから出力される送信/受信FIFOスレッ
シュホールド信号について、FIFOの図を用いて示す
説明図である。
A要求が重複して発生した場合に、DMAチャンネルの
バーストチール処理を行なう場合に使用する、F I
FO/RAMから出力される送信/受信FIFOスレッ
シュホールド信号について、FIFOの図を用いて示す
説明図である。
第6図(A)は、送信FIFOのスレッシュホールド値
を、同図(B)は受信FIFOのスレッシュホールド値
をそれぞれ示すものである。
を、同図(B)は受信FIFOのスレッシュホールド値
をそれぞれ示すものである。
FIFOはいずれも16ビツト×256ワードの領域を
有している。この例では、DMAのバーストサイズ(B
urst 5ize)として32バイト(Byte)を
設定した場合を例示している。このバーストサイズは、
FIFOのスレッシュホールド値を決める重要な値であ
り、ホストプロセッサがDMAを使ってRAMに書き込
み、これをスモールCPUブロック105が読みDMA
とFIFOに書きこむ、外部から設定可能な値である。
有している。この例では、DMAのバーストサイズ(B
urst 5ize)として32バイト(Byte)を
設定した場合を例示している。このバーストサイズは、
FIFOのスレッシュホールド値を決める重要な値であ
り、ホストプロセッサがDMAを使ってRAMに書き込
み、これをスモールCPUブロック105が読みDMA
とFIFOに書きこむ、外部から設定可能な値である。
先ず、送信FIFOのスレッシュホールド値について説
明する。送信の場合、特にDMAコントロールブロック
102のアンダーランによって、F I FO/RAM
103の送信FIFOを空にしてはならない。従って、
スレッシュホールド値は、128Byte (FIFO
容量) −32Byte (バースト値) −96By
te (スレッシュホールド値)となる。
明する。送信の場合、特にDMAコントロールブロック
102のアンダーランによって、F I FO/RAM
103の送信FIFOを空にしてはならない。従って、
スレッシュホールド値は、128Byte (FIFO
容量) −32Byte (バースト値) −96By
te (スレッシュホールド値)となる。
次に、受信FIFOのスレッシュホールド値について説
明する。受信の場合は、DMAコントロールブロック1
02のアンダーランによって、FIFO/RAM103
の受信FIFOが満杯にならないようにしなくてはなら
ない。従って、スレッシュホールド値は 32Byte(バースト値) 23− −32Byte (スレッシュホールド値)となる。
明する。受信の場合は、DMAコントロールブロック1
02のアンダーランによって、FIFO/RAM103
の受信FIFOが満杯にならないようにしなくてはなら
ない。従って、スレッシュホールド値は 32Byte(バースト値) 23− −32Byte (スレッシュホールド値)となる。
ちなみに、DMAコントロールブロック102は、通信
データの書き消しゃ空データの転送が生じないようにす
るため、スレッシュホールド信号がオンの時にだけバー
ストサイズDMA転送を実行する。
データの書き消しゃ空データの転送が生じないようにす
るため、スレッシュホールド信号がオンの時にだけバー
ストサイズDMA転送を実行する。
第1表は、第1図のDMAコントロールブロックが持つ
3つのチャンネル、受信DMA、送信DMASRAMモ
ードDMAの優先度を示す表である。ちなみに、表に示
した優先度は固定である。
3つのチャンネル、受信DMA、送信DMASRAMモ
ードDMAの優先度を示す表である。ちなみに、表に示
した優先度は固定である。
4−
いずれのチャンネルのDMAも実行していない時に、複
数の要求が同時に発生した場合は、チャンネルの優先度
に従って要求を受は付ける。一方、いずれかのチャンネ
ルの実行中に要求が重なって生じた場合は、DMA開始
後に他のチャンネルを優先的に実行する条件に従って実
行する。チャンネルを切り替えるタイミングはバースト
サイズDMAの実行終了時である。
数の要求が同時に発生した場合は、チャンネルの優先度
に従って要求を受は付ける。一方、いずれかのチャンネ
ルの実行中に要求が重なって生じた場合は、DMA開始
後に他のチャンネルを優先的に実行する条件に従って実
行する。チャンネルを切り替えるタイミングはバースト
サイズDMAの実行終了時である。
第8図は、第1表に示した表に基づいて、重なって生じ
たDMA要求を処理した場合のDMA実行タイミングチ
ャートである。
たDMA要求を処理した場合のDMA実行タイミングチ
ャートである。
時点T■は、最初に送信DMAリクエスト信号を受は付
け、1回目のバーストサイズf)MAが終了した時点で
ある。その時、送信FIFOスレッシュホールド信号(
C)はオン(ハイ)であり、送信データのDMA転送を
実行しなければならない状態にある。しかし、受信DM
Aリクエスト信号(D)が来ているので、送信DMAチ
ャンネルを中断して受信DMAリクエストを受は付け、
バーストサイズ受信DMAを実行する。
け、1回目のバーストサイズf)MAが終了した時点で
ある。その時、送信FIFOスレッシュホールド信号(
C)はオン(ハイ)であり、送信データのDMA転送を
実行しなければならない状態にある。しかし、受信DM
Aリクエスト信号(D)が来ているので、送信DMAチ
ャンネルを中断して受信DMAリクエストを受は付け、
バーストサイズ受信DMAを実行する。
一方、時点T■は、受信DMA実行中RAMモードDM
Aリクエストが来ているが、受信FIFOスレッシュホ
ールド信号がオン(ハイ)になっているので要求を受は
付けていない。
Aリクエストが来ているが、受信FIFOスレッシュホ
ールド信号がオン(ハイ)になっているので要求を受は
付けていない。
次に、時点T■は、2回目のバーストサイズ受信DMA
が終了した時点である。その時の受信FIFOスレッシ
ュホールド信号はオフ(ロウ)である。受信DMAチャ
ンネルを中断してRAMモードDMAリクエストを受は
付は実行している。
が終了した時点である。その時の受信FIFOスレッシ
ュホールド信号はオフ(ロウ)である。受信DMAチャ
ンネルを中断してRAMモードDMAリクエストを受は
付は実行している。
時点T■は、時点T■で受は付けたRAMモードDMA
が終了した時点である。ここでは中断していた受信DM
Aを再び実行している。
が終了した時点である。ここでは中断していた受信DM
Aを再び実行している。
時点T■は、時点T■で受は付けた受信DMAが終了し
た時点であり、中断していた送信DMAを再び実行して
いる。
た時点であり、中断していた送信DMAを再び実行して
いる。
時点T■は、全てのDMAチャンネルの実行が終了した
状態にある。
状態にある。
第9図は、第6図に示したDMA実行タイミングチャー
トのシーケンスをコントロールするDMAコントロール
ファームウェアの基本状態遷移図を、従来の場合との比
較において示している。
トのシーケンスをコントロールするDMAコントロール
ファームウェアの基本状態遷移図を、従来の場合との比
較において示している。
同図(A)は従来における状態遷移を示し、(B)は本
実施例における状態遷移を示す。
実施例における状態遷移を示す。
先ず、第9図(A)を参照して従来における状態遷移を
説明する。
説明する。
状態SOIでDMAチャンネルの要求を受は付け、要求
があるまでこの状態を続ける。そして、DMA要求があ
った場合、状態SO9に移行し、DMAの開始条件の検
出を行なう。例えば、受信DMA要求の受信FIFOス
レッシュホールド信号がオンである等が条件となる。そ
して、パース 27− トサイズDMA終了時に、受信FIFOスレッシュホー
ルド信号がオフ(L)ならば、状態SO9のままで条件
まちを行なう。状態SO9でDMA開始条件が整った場
合、DMA実行許可により状態SO3に遷移する。状態
SO3ではDMA転送を実行するためのデータを設定す
る。例えば、外部メモリファーストアドレスやデータレ
ングス等のDMAデータを設定する。次に、DMA開始
要求により状態SO4に遷移してバーストサイズのDM
Aを実行する。状態SO4におけるバーストサイズのD
MAが完了すると、状態4は状態SO6に遷移して、D
MA実行完了判定を行なう。
があるまでこの状態を続ける。そして、DMA要求があ
った場合、状態SO9に移行し、DMAの開始条件の検
出を行なう。例えば、受信DMA要求の受信FIFOス
レッシュホールド信号がオンである等が条件となる。そ
して、パース 27− トサイズDMA終了時に、受信FIFOスレッシュホー
ルド信号がオフ(L)ならば、状態SO9のままで条件
まちを行なう。状態SO9でDMA開始条件が整った場
合、DMA実行許可により状態SO3に遷移する。状態
SO3ではDMA転送を実行するためのデータを設定す
る。例えば、外部メモリファーストアドレスやデータレ
ングス等のDMAデータを設定する。次に、DMA開始
要求により状態SO4に遷移してバーストサイズのDM
Aを実行する。状態SO4におけるバーストサイズのD
MAが完了すると、状態4は状態SO6に遷移して、D
MA実行完了判定を行なう。
ここでDMA未完了でありバーストサイズDMAを再実
行する必要がある場合は、状態SO9に遷移したDMA
を再実行させる。一方、DMAが完了した場合は状態S
O7に遷移してDMA完了処理を行なう。この完了処理
が終了するとDMA完了処理終了として状態Solに戻
る。
行する必要がある場合は、状態SO9に遷移したDMA
を再実行させる。一方、DMAが完了した場合は状態S
O7に遷移してDMA完了処理を行なう。この完了処理
が終了するとDMA完了処理終了として状態Solに戻
る。
以上のように、従来の場合1つのチャンネルのDMAが
終了するまでは他のチャンネルの要求を 28 受は付けないようになっている。
終了するまでは他のチャンネルの要求を 28 受は付けないようになっている。
これに対して、本実施例では1つのチャンネルのDMA
の実行中にも優先度の高いDMAチャンネルの要求があ
れば、その要求をバーストサイズDMAの完了時に受は
付ける。即ち、本実施例の状態遷移について第9図(B
)を参照して詳細に説明する。第9図(B)において、
同図(A)と同じ状態には同図(A)と同一の符号を付
している。
の実行中にも優先度の高いDMAチャンネルの要求があ
れば、その要求をバーストサイズDMAの完了時に受は
付ける。即ち、本実施例の状態遷移について第9図(B
)を参照して詳細に説明する。第9図(B)において、
同図(A)と同じ状態には同図(A)と同一の符号を付
している。
最初の状態S01では、第1表のDMAチャンネルの優
先皮表に基づいてDMAチャンネルの要求を受は付ける
。要求があった場合、状態SO2に移行し、DMAの開
始条件の検出を行なう。例えば、受信DMA要求の受信
FIFOスレッシュホールド信号がオンである等が条件
となる。そして、バーストサイズDMA終了時に、受信
FIFOスレッシュホールド信号がオフ(L)ならば状
態S01に戻って他のチャンネルの要求チエツクを行な
う。状態SO2でDMA開始条件が整った場合、DMA
実行許可により状態SO3に遷移する。状態SO3では
、DMA転送を実行するためのデータを設定する。例え
ば、第1図のスモールCPUブロック105から2ポ一
トRAMに受けた外部メモリファーストアドレスやデー
タレングス等のDMAデータをそれぞれの専用カウンタ
に設定する。また、DMAチャンネル同士でアドレスカ
ウンタ等を共有しているところにおいては、実行が中断
された時に再開までの間データを2ボ一トRAMに退避
させる処理を行なう。通常のDMA実行チャンネルの場
合は、DMA開始要求により状態SO4に遷移して、バ
ーストサイズのDMAを実行する。これに対して、DM
A優先チャンネルの場合は、優先チャンネルDMA開始
要求により、状態SO5に遷移して、バーストサイズの
DMAを実行する。状態SO4、状態SO5におけるバ
ーストサイズのDMAが完了すると、状態SO6に遷移
して、DMA実行完了判定を行なう。ここでDMA未完
了でありバーストサイズDMAを再実行する必要がある
場合は、状態SOIに遷移してDMAを再実行させる。
先皮表に基づいてDMAチャンネルの要求を受は付ける
。要求があった場合、状態SO2に移行し、DMAの開
始条件の検出を行なう。例えば、受信DMA要求の受信
FIFOスレッシュホールド信号がオンである等が条件
となる。そして、バーストサイズDMA終了時に、受信
FIFOスレッシュホールド信号がオフ(L)ならば状
態S01に戻って他のチャンネルの要求チエツクを行な
う。状態SO2でDMA開始条件が整った場合、DMA
実行許可により状態SO3に遷移する。状態SO3では
、DMA転送を実行するためのデータを設定する。例え
ば、第1図のスモールCPUブロック105から2ポ一
トRAMに受けた外部メモリファーストアドレスやデー
タレングス等のDMAデータをそれぞれの専用カウンタ
に設定する。また、DMAチャンネル同士でアドレスカ
ウンタ等を共有しているところにおいては、実行が中断
された時に再開までの間データを2ボ一トRAMに退避
させる処理を行なう。通常のDMA実行チャンネルの場
合は、DMA開始要求により状態SO4に遷移して、バ
ーストサイズのDMAを実行する。これに対して、DM
A優先チャンネルの場合は、優先チャンネルDMA開始
要求により、状態SO5に遷移して、バーストサイズの
DMAを実行する。状態SO4、状態SO5におけるバ
ーストサイズのDMAが完了すると、状態SO6に遷移
して、DMA実行完了判定を行なう。ここでDMA未完
了でありバーストサイズDMAを再実行する必要がある
場合は、状態SOIに遷移してDMAを再実行させる。
DMAが完了した場合は、状態SO7に遷移して、DM
A完了処理を行なう。この完了処理が終了すると中断チ
ャンネルのDMAを再開させるべく状態S01に戻る。
A完了処理を行なう。この完了処理が終了すると中断チ
ャンネルのDMAを再開させるべく状態S01に戻る。
第7図は本実施例のファームウェアを使って重なって発
生したDMA要求を処理した場合のDMAパーフォ−マ
ンスゲラフである。ちなみに、DMAチャンネルの優先
度は第1表のDMAチャンネルの優先皮表に基づいてい
る。
生したDMA要求を処理した場合のDMAパーフォ−マ
ンスゲラフである。ちなみに、DMAチャンネルの優先
度は第1表のDMAチャンネルの優先皮表に基づいてい
る。
第7図(A)は、送信FIFOのバーストサイズが64
バイトの場合の、送信のパーフォ−マンスゲラフである
。最初に送信DMAの要求を受は付け、1回目のバース
トサイズDMAを終了した0時点で受信DMAの要求を
受は付けている。受信DMAを実行している間は送信は
行なわれていないので、送信FIFOのデータ量は変化
しない。
バイトの場合の、送信のパーフォ−マンスゲラフである
。最初に送信DMAの要求を受は付け、1回目のバース
トサイズDMAを終了した0時点で受信DMAの要求を
受は付けている。受信DMAを実行している間は送信は
行なわれていないので、送信FIFOのデータ量は変化
しない。
3回目のバーストサイズDMAを終了し、送信FIFO
スレッシュホールド信号がオフになった0時点で、RA
MモードDMA要求を優先的に受は付けている。しかし
、データレングスが最大で31 32バイトと条件が付いているため、送信FIFOのデ
ータ量が空になったり、このために通信データが途切れ
るいった不都合の発生はない。
スレッシュホールド信号がオフになった0時点で、RA
MモードDMA要求を優先的に受は付けている。しかし
、データレングスが最大で31 32バイトと条件が付いているため、送信FIFOのデ
ータ量が空になったり、このために通信データが途切れ
るいった不都合の発生はない。
同図(B)は、受信FIFOのバーストサイズが64バ
イトの場合の、受信のバーファーマンスゲラフである。
イトの場合の、受信のバーファーマンスゲラフである。
最初に受信のDMAの要求を受は付けて、1回目のバー
ストサイズDMAが終了し、受信FIFOスレッシュホ
ールド信号がオフになった0時点で、RAMモードDM
A要求を優先的に受は付けている。しかし、データレン
グスが最大で32バイトと条件が付いているために、受
信FIFOのデータが満杯になって通信データが書き消
される等の不都合の発生の心配はない。
ストサイズDMAが終了し、受信FIFOスレッシュホ
ールド信号がオフになった0時点で、RAMモードDM
A要求を優先的に受は付けている。しかし、データレン
グスが最大で32バイトと条件が付いているために、受
信FIFOのデータが満杯になって通信データが書き消
される等の不都合の発生の心配はない。
以上のように、優先度判定機能を持った通信用DMAコ
ントローラでは、最初に受は付けていたDMA要求が続
いていても、予め設定された1回のバーストサイズ分の
DMA転送が終る毎に、それ以外の要求をチエツクし、
予め付けた優先順位に基づいて最高の優先度を持ったD
MAチャンネルに切り替えて、DMAを実行する。例え
ば、送 32− 信DMA開始直後に受信DMA要求があった場合でも、
受信DMAの優先度が受信DMAの優先度よりも高いと
きには、受信DMAを優先させる。
ントローラでは、最初に受は付けていたDMA要求が続
いていても、予め設定された1回のバーストサイズ分の
DMA転送が終る毎に、それ以外の要求をチエツクし、
予め付けた優先順位に基づいて最高の優先度を持ったD
MAチャンネルに切り替えて、DMAを実行する。例え
ば、送 32− 信DMA開始直後に受信DMA要求があった場合でも、
受信DMAの優先度が受信DMAの優先度よりも高いと
きには、受信DMAを優先させる。
このため、受信に失敗して、相手局に再送信をさせる等
の時間的なロスを低減することができる。
の時間的なロスを低減することができる。
また、優先度の高いチャンネルのDMAの終了後には、
中断したチャンネルのDMAが先の中断点から再実行さ
れる。このため、中断したDMAを最初から再開させる
のに比較して非常に効率が良い。
中断したチャンネルのDMAが先の中断点から再実行さ
れる。このため、中断したDMAを最初から再開させる
のに比較して非常に効率が良い。
また、バーストサイズをホストプロセッサから設定でき
る可変値としたので、この値を適宜調整することにより
、ホストシステムとのバス権獲得時間を最適な時間に調
整することができる。
る可変値としたので、この値を適宜調整することにより
、ホストシステムとのバス権獲得時間を最適な時間に調
整することができる。
以上述べたように、本発明によれば、DMA転送を予め
定められたバーストサイズ単位で実行しながら、優先度
の高いDMAチャンネルの要求を確認し、優先度の高い
チャンネルからのDMA要求があった場合にはこれに切
り替えるようにしたので、待ち時間や再送時間等のロス
時間をなくし、通信効率を高めることができる。
定められたバーストサイズ単位で実行しながら、優先度
の高いDMAチャンネルの要求を確認し、優先度の高い
チャンネルからのDMA要求があった場合にはこれに切
り替えるようにしたので、待ち時間や再送時間等のロス
時間をなくし、通信効率を高めることができる。
第1図は本発明の一実施例の基本ブロック図、第2図は
第1図中のDMAコントロールブロックの基本ブロック
図、第3図は第2図中のDMA優先度判定部とDMAフ
ァームウェアROM/命令デコーダ部の詳細例を示すブ
ロック図、第4図は第3図中のDMAファームウェアR
OM/命令デコーダ部の動作タイミングチャート、第5
図は第2図中のDMA要求受付レジスタとDMA条件判
定回路の詳細例を示すブロック図、第6図は第1図中の
DMAコントロールブロックにDMA要求が重複して発
生した場合にDMAチャンネルのバーストチール処理を
行なう場合に使用するF I FO/RAMからの送信
/受信FIFOスレッシュホールド信号についてFIF
Oの構成に基づいて示す説明図、第7図は本実施例のフ
ァームウェアを使って重なって発生したDMA要求を処
理した場合のDMAパーフォ−マンスゲラフ、第8図は
第1表に基づいて重なって生じたDMA要求を処理した
場合のDMA実行タイミングチャート、第9図は第6図
に示したDMA実行タイミングチャートのシーケンスを
コントロールするDMAコントロールファームウェアの
基本状態遷移図である。 101・・・バスインターフェースブロック、102・
・・DMAコントロールブロック、103・・・F I
FO/RAM、104・・・ネットワークインターフ
ェースブロック、lO5・・・スモールCPUブロック
、201・・・DMA優先度判定部、202・・・DM
Aデータ記憶部、203・・・DMA転送制御部、20
4・・・DMAファームウェアROM/命令デコーダ部
、205・・・DMA要求受付レジスタ、206・・・
DMA条件判定回路、301・・・マルチプレクサ、3
02・・・アドレスレジスタ、303・・・ファームウ
ェアROM、304・・・命令ラッチレジスタ、305
・・・命令デコーダ、306・・・アドレスインクリメ
ント、307・・・レジスタ、501・・・送信 35
− DMA要求受付レジスタ、502・・・受信DMA要求
受付レジスタ、503・・・RAMモードDMA要求受
付レジスタ、504・・・リード/ライト信号ラッチレ
ジスタ、505・・・送信DMA中断中フラグ、506
・・・送信DMA実行中フラグ、507・・・受信DM
A実行中フラグ、508・・・バーストサイズDMA完
了フラグ。 −36〜
第1図中のDMAコントロールブロックの基本ブロック
図、第3図は第2図中のDMA優先度判定部とDMAフ
ァームウェアROM/命令デコーダ部の詳細例を示すブ
ロック図、第4図は第3図中のDMAファームウェアR
OM/命令デコーダ部の動作タイミングチャート、第5
図は第2図中のDMA要求受付レジスタとDMA条件判
定回路の詳細例を示すブロック図、第6図は第1図中の
DMAコントロールブロックにDMA要求が重複して発
生した場合にDMAチャンネルのバーストチール処理を
行なう場合に使用するF I FO/RAMからの送信
/受信FIFOスレッシュホールド信号についてFIF
Oの構成に基づいて示す説明図、第7図は本実施例のフ
ァームウェアを使って重なって発生したDMA要求を処
理した場合のDMAパーフォ−マンスゲラフ、第8図は
第1表に基づいて重なって生じたDMA要求を処理した
場合のDMA実行タイミングチャート、第9図は第6図
に示したDMA実行タイミングチャートのシーケンスを
コントロールするDMAコントロールファームウェアの
基本状態遷移図である。 101・・・バスインターフェースブロック、102・
・・DMAコントロールブロック、103・・・F I
FO/RAM、104・・・ネットワークインターフ
ェースブロック、lO5・・・スモールCPUブロック
、201・・・DMA優先度判定部、202・・・DM
Aデータ記憶部、203・・・DMA転送制御部、20
4・・・DMAファームウェアROM/命令デコーダ部
、205・・・DMA要求受付レジスタ、206・・・
DMA条件判定回路、301・・・マルチプレクサ、3
02・・・アドレスレジスタ、303・・・ファームウ
ェアROM、304・・・命令ラッチレジスタ、305
・・・命令デコーダ、306・・・アドレスインクリメ
ント、307・・・レジスタ、501・・・送信 35
− DMA要求受付レジスタ、502・・・受信DMA要求
受付レジスタ、503・・・RAMモードDMA要求受
付レジスタ、504・・・リード/ライト信号ラッチレ
ジスタ、505・・・送信DMA中断中フラグ、506
・・・送信DMA実行中フラグ、507・・・受信DM
A実行中フラグ、508・・・バーストサイズDMA完
了フラグ。 −36〜
Claims (1)
- 【特許請求の範囲】 1、メモリとメモリとの間に位置してそれらのメモリ間
のデータ転送をDMA転送によって行わせる通信用DM
Aコントローラであって、複数のチャンネルを有し、各
チャンネルは前記データ転送に際して使用されるFIF
Oをそれぞれ有し、チャンネルの切り換えにより、ある
メモリから他のメモリへデータ転送させ、他のメモリか
らあるメモリへデータ転送させる通信用DMAコントロ
ーラにおいて、 最も優先度の高いDMA要求に基づいて、予め定めたバ
ーストサイズのデータを転送する転送手段と、 前記転送手段による上記転送が1回終了する毎に、DM
A要求の有効なものについて優先度を判定する優先度判
定手段と、 前記優先度判定手段によって最も優先度が高いとされた
DMA要求に応じて、前記チャンネルを切換えるチャン
ネル切換手段と、 を備えることを特徴とする優先度判定機能を有する通信
用DMAコントローラ。 2、前記データ転送に当っての前記FIFOへのデータ
蓄積時間中に、自己が専有するワーキングメモリについ
てのDMA要求を実行させるDMA実行手段を有するこ
とを特徴とする請求項1記載の通信用DMAコントロー
ラ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1279268A JPH03139751A (ja) | 1989-10-26 | 1989-10-26 | 優先度判定機能を有する通信用dmaコントローラ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1279268A JPH03139751A (ja) | 1989-10-26 | 1989-10-26 | 優先度判定機能を有する通信用dmaコントローラ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03139751A true JPH03139751A (ja) | 1991-06-13 |
Family
ID=17608800
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1279268A Pending JPH03139751A (ja) | 1989-10-26 | 1989-10-26 | 優先度判定機能を有する通信用dmaコントローラ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03139751A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0803821A3 (en) * | 1996-04-26 | 1998-01-28 | Texas Instruments Incorporated | DMA channel assignment in a data packet transfer device |
| WO1999014679A1 (en) * | 1997-09-12 | 1999-03-25 | Siemens Microelectronics, Inc. | Interrupt system |
| US8032793B2 (en) | 2005-01-14 | 2011-10-04 | Fujitsu Limited | Method of controlling information processing system, information processing system, direct memory access control device and program |
| US8122164B2 (en) | 2008-09-26 | 2012-02-21 | Canon Kabushiki Kaisha | Information processing apparatus having first DMA controller and second DMA controller wherein selection circuit determines which DMA will perform data transfer based on higher data transfer performance |
-
1989
- 1989-10-26 JP JP1279268A patent/JPH03139751A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0803821A3 (en) * | 1996-04-26 | 1998-01-28 | Texas Instruments Incorporated | DMA channel assignment in a data packet transfer device |
| WO1999014679A1 (en) * | 1997-09-12 | 1999-03-25 | Siemens Microelectronics, Inc. | Interrupt system |
| US8032793B2 (en) | 2005-01-14 | 2011-10-04 | Fujitsu Limited | Method of controlling information processing system, information processing system, direct memory access control device and program |
| US8122164B2 (en) | 2008-09-26 | 2012-02-21 | Canon Kabushiki Kaisha | Information processing apparatus having first DMA controller and second DMA controller wherein selection circuit determines which DMA will perform data transfer based on higher data transfer performance |
| US8392630B2 (en) | 2008-09-26 | 2013-03-05 | Canon Kabushiki Kaisha | Information processing apparatus having first DMA controller and second DMA controller wherein selection circuit determines which DMA will perform data transfer based on higher data transfer performance |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0166272B1 (en) | Processor bus access | |
| US5819111A (en) | System for managing transfer of data by delaying flow controlling of data through the interface controller until the run length encoded data transfer is complete | |
| JPH04229350A (ja) | 媒体アクセス制御/ホストシステムインターフェースを実施するための方法及び装置 | |
| US20100131692A1 (en) | Bus bridge apparatus and bus bridge system | |
| KR920004416B1 (ko) | 개량된 통신제어장치에 사용된 데이타 처리장치 | |
| JPH10293744A (ja) | Pciバス・システム | |
| US20070074214A1 (en) | Event processing method in a computer system | |
| AU664521B2 (en) | A synchronization control system in a parallel computer | |
| EP1063594A2 (en) | An interrupt controller and a microcomputer incorporating this controller | |
| JPH03139751A (ja) | 優先度判定機能を有する通信用dmaコントローラ | |
| US7185123B2 (en) | Method and apparatus for allocating bandwidth on a transmit channel of a bus | |
| KR0182709B1 (ko) | 교환기에 있어서 프로세서간 통신방법 | |
| EP0640925B1 (en) | Data processing system having serial interface | |
| JP2624989B2 (ja) | データ転送制御装置 | |
| US5125079A (en) | Method for controlling the data transmission of a central unit interfacing control circuit and circuit arrangement for the implementation of the method | |
| JPH0816454A (ja) | 共用メモリアクセス制御回路 | |
| JPH10224410A (ja) | データ転送方式 | |
| JPS6314261A (ja) | マイクロプログラム制御装置 | |
| KR970005744B1 (ko) | 데이타 전송 시스템 | |
| JP2871171B2 (ja) | マイクロコンピュータ | |
| JPS61125670A (ja) | デ−タ転送装置 | |
| JPH0546529A (ja) | ダイレクトメモリアクセス方式 | |
| JP2933039B2 (ja) | 通信用コントローラ | |
| JPH04178869A (ja) | マルチプロセッサシステムの割込み制御装置とその割込み通信方法 | |
| EP1193606B1 (en) | Apparatus and method for a host port interface unit in a digital signal processing unit |