JPH03139751A - Dma controller for communication with priority decision function - Google Patents

Dma controller for communication with priority decision function

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
Application number
JP1279268A
Other languages
Japanese (ja)
Inventor
Takeshi Mineoka
嶺岡 丈士
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 Corp
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics 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 Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP1279268A priority Critical patent/JPH03139751A/en
Publication of JPH03139751A publication Critical patent/JPH03139751A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the communication efficiency by confirming the request of a DMA channel with high priority while performing DMA transfer in predetermined burst size units and performing switching to the DMA request of a channel with higher priority when there is the request. CONSTITUTION:Plural DMA(direct memory access) requests are given priority levels in advance and a transfer means 203 transfers data of burst size which is predetermined by single-time DMA transfer. Every time single DMA burst transfer ends, a priority decision means 201 checks the priority levels of effective DMA requests and the channel is switched to the channel with top priority. Data transfer is carried out over the switched channel and this is repeated. Consequently, the efficiency of the data transfer can be improved.

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は、優先度判定機能を有する通信用DMAコント
ローラに関する。
DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Industrial Application Field) The present invention relates to a communication DMA controller having a priority determination function.

(従来の技術) 一般に、データの通信においては、高速でデ−夕を転送
すべ(DMA(ダイレクトメモリアクセス)転送が行な
われることが多い。従来のDMA転送においては、ある
チャンネルに割り当てられた転送用データブロックを、
チャンネル単位のプライオリティ転送を行う。このため
、バーストサイズを、DMAに、転送用のデータブロッ
クよりも小さく設定した場合であっても、1回のバース
ト転送が終了しても、その都度チャンネルは切り替わら
ない。そして、そのチャンネルに割り当てられた転送用
データブロックのすべての転送が終了したら、次に優先
度の高いチャンネルに切り換えられて、DMA転送が行
われる。
(Prior Art) Generally, in data communication, data is transferred at high speed (DMA (direct memory access) transfer is often performed. In conventional DMA transfer, transfer assigned to a certain channel is often performed. data block for
Perform priority transfer on a channel-by-channel basis. Therefore, even if the burst size is set in the DMA to be smaller than the data block for transfer, the channel will not be switched each time even if one burst transfer is completed. When all the transfer data blocks allocated to that channel have been transferred, the channel is switched to the next highest priority channel and DMA transfer is performed.

(発明が解決しようとする課題) 従来のDMAコントローラは以上のように構成されてい
るので、それを通信データ転送用に用いると、送受信が
重なったときに以下の様な問題が発生する。
(Problems to be Solved by the Invention) Since the conventional DMA controller is configured as described above, when it is used for communication data transfer, the following problems occur when transmission and reception overlap.

例えば、送信DMA開始直後に通信データの受信が始ま
っても、送信データを全て送信し終るまではチャンネル
を受信DMAモードに切り替えられない。このため、送
信データのデータ長が長いと、受信データを受信し損う
可能性がある。また、受信データを受信し損う条件は、
受信FIFO(ファーストインファーストアウト)バッ
ファの大きさや、この時に同時に送信を行なっている送
信データの大きさによって異る。受信に失敗すると、相
手局はデータの上位層から再送信を行う。
For example, even if communication data reception begins immediately after transmission DMA starts, the channel cannot be switched to reception DMA mode until all transmission data has been transmitted. Therefore, if the data length of the transmitted data is long, there is a possibility that the received data may be missed. In addition, the conditions for failing to receive received data are as follows:
It varies depending on the size of the reception FIFO (first-in-first-out) buffer and the size of the transmission data that is being transmitted at the same time. If reception fails, the other station retransmits the data from the upper layer.

このため、データ転送時間が長くなって、転送効率が悪
化する。
As a result, data transfer time becomes longer and transfer efficiency deteriorates.

本発明は、上記従来技術の難点に鑑みてなされたもので
、その目的は、DMA転送においては、通信データを予
め定められたバーストサイズに区切って送り、1回転送
終了する毎に全てのDMA転送要求の優先順位を判定し
、その順位の高いチャンネルに切り替えてDMA転送し
、これを繰り返してデータ転送し、これによりデータ転
送の効率を向上させることにある。
The present invention has been made in view of the above-mentioned drawbacks of the prior art.The purpose of the present invention is to send communication data divided into predetermined burst sizes in DMA transfer, and to transfer all DMA data each time one transfer is completed. The purpose of the present invention is to determine the priority of a transfer request, switch to a channel with a higher priority, perform DMA transfer, and repeat this process to transfer data, thereby improving the efficiency of data transfer.

〔発明の構成〕[Structure of the invention]

(課題を解決するための手段) 上記目的を達成するために、本発明の第1の優 3− 先度判定機能を有する通信用DMAコントローラは、メ
モリとメモリとの間に位置してそれらのメモリ間のデー
タ転送をDMA転送によって行わせる通信用DMAコン
トローラであって、複数のチャンネルを有し、各チャン
ネルは前記データ転送に際して使用されるFIFOをそ
れぞれ有し、チャンネルの切り換えにより、あるメモリ
から他のメモリへデータ転送させ、他のメモリからある
メモリへデータ転送させる通信用DMAコントローラに
おいて、最も優先度の高いDMA要求に基づいて、予め
定めたバーストサイズのデータを転送する転送手段と、
前記転送手段による上記転送が1回終了する毎に、DM
A要求の有効なものについて優先度を判定する優先度判
定手段と、前記優先度判定手段によって最も優先度が高
いとされたDMA要求に応じて、前記チャンネルを切換
えるチャンネル切換手段と、を備えるものとして構成さ
れる。
(Means for Solving the Problems) In order to achieve the above object, the first advantage of the present invention is to provide a communication DMA controller having a priority determination function. A communication DMA controller that transfers data between memories by DMA transfer, has a plurality of channels, each channel has a FIFO used for the data transfer, and by switching channels, data can be transferred from one memory to another. A communication DMA controller that transfers data to another memory and from another memory to a certain memory, a transfer means that transfers data of a predetermined burst size based on a DMA request with the highest priority;
Each time the transfer by the transfer means is completed, the DM
A device comprising: priority determining means for determining the priority of valid A requests; and channel switching means for switching the channel in accordance with the DMA request determined to have the highest priority by the priority determining means. Constructed as.

また、本発明の第′2の優先度判定機能を有する通信用
DMAコントローラは、前記第1のDMA 4− コントローラにおいて、前記データ転送に当っての前記
FIFOへのデータ蓄積時間中に、自己が専有するワー
キングメモリについてのDMA要求を実行させるDMA
実行手段を有するものとして構成される。
Further, in the communication DMA controller having the second priority determination function of the present invention, in the first DMA controller, during the data accumulation time in the FIFO during the data transfer, the communication DMA controller DMA that executes DMA requests for exclusive working memory
It is configured as having execution means.

(作 用) 複数のDMA (ダイレクトメモリアクセス)要求に予
め優先順位がつけられている。転送手段では、1回のD
MA転送で予め定められたバーストサイズのデータが転
送される。1回のDMAバースト転送終了毎に、優先度
判定手段により、有効なりMA要求の優先度を調べる。
(Function) Multiple DMA (direct memory access) requests are prioritized in advance. With the transfer means, one D
Data of a predetermined burst size is transferred by MA transfer. Each time one DMA burst transfer is completed, the priority determining means checks the priority of the valid MA request.

最も優先度の高いDMA要求に対応するチャネルにチャ
ネルが切り換えられる。切りの換えられたチャネルにお
いてデータ転送が行われる。これが繰り返えされる。
The channel is switched to the channel corresponding to the highest priority DMA request. Data transfer takes place on the switched channel. This is repeated.

また、データ転送に当ってのFIFOへのデータ蓄積中
に、ワーキングメモリについてのDMA要求が実行され
る。
Furthermore, during data storage in the FIFO during data transfer, a DMA request for the working memory is executed.

(実施例) 以下、図面を参照しながら本発明の実施例を説明する。(Example) Embodiments of the present invention will be described below with reference to the drawings.

第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。
FIG. 1 is a block diagram of an embodiment of the present invention, particularly showing the basic blocks of a communication controller. This communication controller is composed of five blocks. The first block (101) is a bus interface block 101 (Bus I/ P). The second block (102) is a DMA control block 102 (DMAC) that operates according to internal DMA firmware and performs intelligent control such as switching the three DMA channels in priority order.
It is. The third block (103) is an FI FO/RAM block 1 that uses a plurality of communication data buffers as automatic buffer locations to improve communication data transfer efficiency.
03 (FIFO/RAM). Fourth block (1
05) is a small CPU block 105 (Small C
PU). The fifth block (104) is a network interface block 104 (Network I/P) that controls communication such as assembling and recognizing communication frames and detecting various communication errors. The bus interface block 101 provides a 24-bit address to a memory circuit (not shown).
The address/data buffer register (Addr) inputs and outputs 16-bit data.
ess /Data Buf'l'er Register
er) and a communication register.The communication register sends a bus request signal BREQ, read signal RD, and write signal WR to the memory circuit, and receives a bus acknowledge signal BACK from the memory circuit. wear. Also, from the host processor, a chip select signal C8 and a read signal RD are sent for I10 access.

ライト信号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)がやり取りされる。
The write signal WR is received. DMA control block 102 is a DMA micro control (D
HA Micro Control Logic) and
DMA Firmware ROM
re ROM) and address count/data alignment (Address Count & Data Al
ignment) and DM with 2Port RAM
A control register (DMA Control R
gister). Also, FIFO/RAM
103, a plurality of transmission FIFOs (TX-FIFOs);
a plurality of reception FIFOs (RX-FIFOs);
Working memory with Port RAM (Mark
ing Méraory). The small CPU block 105 also has a communication register interface (ComlIunlcatlonRe).
glsuters Interf'1ce) and internal firmware ROM (Internal F
irmware ROM) and Execution Control
, X register (X-Reg) and Y register (Y-R
eg) and an arithmetic unit (ALU) connected to the internal bus interface (InternalBu
s Interface ) and working register (
Work-8-1ng Registers). On the other hand, network interface (Network l/F
) 104 is a 6-byte transmission FI
O (TX-FIFO), 6-byte receive FIFO (RX-FIFO), and delimiter generator/detector (Delimltor Generator & Delimiter).
tector) and a protocol timer (Protoc
ol Timer) and a parallel/serial converter (P) that sends data to a physical layer data transmitting/receiving circuit (not shown).
The parallel/serial conversion unit (serial to parallel) receives data from the physical layer data transmission/reception circuit. The DMA control register of the DMA control block 102, the transmission/reception FIFO of the FIFO/RAM block and network interface 104, and the internal bus interface of the small CPU block 105 are connected to a 16-bit internal bus (Inte
(nal Bus). Further, the DMA address count/data regulation of the DMA control block 102 and the FIFO/RAM 103 are connected by a dedicated 16-bit data bus. Also DMA
The DMA address count/data tailoring of the control block 102 is performed using the DMA in the FIFO/RAM 103.
Outputs mode signal and strobe signal. Also, DMA
Between the DMA microcontrol of the control block 102 and the execution control of the small CPU block 105, DMA request (DMA Request) and DMA completion (DMA
Complete) is exchanged. Furthermore, 16-bit data is exchanged between the communication register of the bus interface block 101 and the communication register interface of the small CPU block 105.

第2図は第1図に示したDMAコントロールブロック1
02の基本ブロック図である。このDMAコントロール
ブロック102は3つの基本ブロックを有する。第1の
ブロック(201)は、DMA要求信号の受付、DMA
完了信号の出力、優先順位に従ったDMAチャンネルの
バーストスチール処理等のインテリジェント制御を行な
うDMA優先度判定部201である。第2のブロック(
202)は、図示しない外部メモリアドレスの生成と、
通信フレームレングスやバーストサイズ等の解釈と、2
ボ一トRAMを用いたスモールCPUブロック105と
のDMAデータの受は渡しとを行なうDMAデータ記憶
部202である。
Figure 2 shows the DMA control block 1 shown in Figure 1.
02 is a basic block diagram. This DMA control block 102 has three basic blocks. The first block (201) receives a DMA request signal, performs DMA
This is a DMA priority determination unit 201 that performs intelligent control such as output of a completion signal and burst steal processing of DMA channels according to priorities. The second block (
202) generates an external memory address (not shown);
Interpretation of communication frame length, burst size, etc., and 2.
A DMA data storage unit 202 receives and transfers DMA data to and from the small CPU block 105 using a port RAM.

第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の各種カウンタに対するカウント信号が送出される
The third block (203) is a DMA transfer control unit 203 that requests the host processor for bus ownership through the bus interface block 101, outputs a strobe signal for data input/output to the PIFORAM, and controls the DMA data transfer cycle. It is. The DMA priority determination unit 201 sends signals such as transmission DMA completion, reception DMA completion, and RAM mode DMA completion to the small CPU block 10.
DMA firmware ROM/command instruction deck 7 unit 24 (DMA FI
rmware ROM & In5truction
Deco-der) and small CPU block 10
A DMA request reception register 205 receives and transmits DMA requests from 5 to 1, receive DMA requests, RAM mode DMA requests, and read/write (RD/WR) signals, and a small CP.
Transmission FFO-TH (transmission FI
FO-THRESHOLD), receiving FI FO-T
DM that accepts signals such as H (reception FIFO-THRESHOLD), reception FIFO-empty, and reception completion.
A condition determination circuit 206. The DMA data storage unit 202 includes a communication frame address counter, a RAM data address counter, a transmission frame length down counter, a reception frame length down counter, and a RAM
Counters such as data length down counter, DMA burst size down counter, and DMA data 2
Port RAM (RAM Data 2port-RA
M) and an internal bus interface. Also,
The DMA data storage 202 has a bus interface block 101 and a 24-bit address (Address).
) line and a 16-bit data line. On the other hand, the internal bus 12-interface uses a 5-bit address (Address
ss) line and a 16-bit data line to the internal bus. DMA transfer control unit 203
converts the DMA mode signal and strobe signal to FIFO
/FIFO access signal generation circuit to send to RAM103, bus request signal (BUSRQ), read/write signal (RD/WR), next address (Next A)
ddress) request, next data (NextDat)
a) Transfer signals such as requests to the bus interface block 10
1, transmits and receives a DMA request signal from the DMA firmware ROM/instruction decoder section 204, and DMA
D supplies a DMA completion signal to the condition determination circuit 206
MA cycle control state machine. In addition, D
A data length 0 signal detected by various counters is sent from the MA data storage unit 202, and the DMA cycle control state machine of the DMA transfer control unit 203 and the DMA
The signal is input to the DMA condition determination circuit 206 of the priority determination section 201. Further, from the DMA cycle control state machine of the DMA transfer control unit 203, the DMA data storage unit 2
Count signals for various counters of 02 are sent out.

第3図は第2図のDMAファームウェアROM/命令デ
コーダ部204の構成を詳細に示すブロック図である。
FIG. 3 is a block diagram showing in detail the configuration of the DMA firmware ROM/instruction decoder section 204 of FIG. 2. As shown in FIG.

第3図において、マルチプレクサ(MPX)301は次
の番地のアドレス311かジャンプアドレス310のい
ずれかを選択して、選択アドレス313を送出する。マ
ルチプレクサ301からの選択アドレス313はアドレ
スレジスタ302にラッチされる。ファームウェアRO
M (PlriWare ROM) 303は、アドレ
スレジスタ302から出力されるアドレス314に対応
するデータ、つまり命令コード315を出力する。
In FIG. 3, a multiplexer (MPX) 301 selects either the next address 311 or the jump address 310 and sends out the selected address 313. Selected address 313 from multiplexer 301 is latched into address register 302. Firmware RO
M (PlriWare ROM) 303 outputs data corresponding to address 314 output from address register 302, that is, instruction code 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を無効と
する。
The instruction latch register 304 is a firmware ROM 3
The instruction code 315 output from 03 is latched. Address increment (+1) 306 adds 1 to address 314 output from address register 302 to generate address 311 at the next address. The instruction decoder 305 decodes the instruction code 316 output from the instruction latch register 304 and outputs a control signal 317 for setting/resetting flags, pig transfer between registers, detecting jump conditions, etc. A jump (JLIMP) signal 308 that is input when a jump condition is satisfied based on a jump command from the control signal 317 is an MPX
301 selects the jump address 310, is latched by the register 307 for one clock (CLK), and is given to the instruction decoder 305 for one clock as an instruction decode enable signal 309,
The control signal 317 output by the instruction decoder 305 is invalidated.

なお、命令ラッチレジスタ304から出力される命令コ
ード316のうちの一部は、ジャンプアドレス310と
してマルチプレクサ301に与えられる。また、アドレ
スレジスタ302及び命令ラッチレジスタ304はリセ
ット信号(RESET)によってリセットされる。
Note that a part of the instruction code 316 output from the instruction latch register 304 is given to the multiplexer 301 as a jump address 310. Further, the address register 302 and the instruction latch register 304 are reset by a reset signal (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で
ある。
FIG. 4 is an operation timing chart of the DMA firmware ROM/instruction decoder section of FIG. 3. FIG. 4 (A) shows the clock, (B) shows the address 314 output from the address register 302, and (C) shows the clock.
is the firmware ROM 303 that received the address 314.
(D) is the instruction code 316 that is the output of the instruction latch register 304 that received the instruction code 315. (E) is the control signal 317 that is output from the instruction decoder 305 that received the instruction code 316. ,(
F) is a jump signal 30 that is input to the register 307 when a jump condition is satisfied in response to a jump instruction output from the instruction decoder 305, similar to the control signal 317.
8, (G) is an instruction decode disable signal 309 given from the register 307 to the instruction decoder 305.

マルチプレクサ301から出力される選択アドレス31
3は、クロックの立ち上がりでアドレスレジスタ302
にラッチされ、アドレス314として出力され、ファー
ムウェアROM303に与えられる。ファームウェアR
OM303の出力である命令コード315は、クロック
の立ち下がり6 で出力される。ファームウェアROM303から出力さ
れた命令コード315は、クロックの立ち上がりで命令
ラッチレジスタ304にラッチされ、命令デコーダ30
5に与えられ、その命令デコーダ305から制御信号3
17やジャンプ信号308が出力される。
Selected address 31 output from multiplexer 301
3 is the address register 302 at the rising edge of the clock.
The data is latched into the address 314, outputted as an address 314, and given to the firmware ROM 303. Firmware R
The instruction code 315, which is the output of the OM 303, is output at the falling edge 6 of the clock. The instruction code 315 output from the firmware ROM 303 is latched into the instruction latch register 304 at the rising edge of the clock, and is sent to the instruction decoder 30.
5 and the control signal 3 from its instruction decoder 305.
17 and a jump signal 308 are output.

なお、命令デコーダ305からの制御信号317に基づ
くジャンプ命令によるジャンプ条件が成立した場合、ジ
ャンプ信号308が入力される。このジャンプ信号30
8は、レジスタ307により1クロック間ラッチされ、
命令デコードイネーブル信号309となる。この信号3
09は命令デコーダ305に与えられ、次のクロック期
間にファームウェアROM303から命令ラッチレジス
タ304を通じて与えられる命令コード316(ジャン
プアドレス)のデコードを無効とする。
Note that when a jump condition based on a jump command based on a control signal 317 from the command decoder 305 is satisfied, a jump signal 308 is input. This jump signal 30
8 is latched for one clock by register 307,
This becomes an instruction decode enable signal 309. This signal 3
09 is given to the instruction decoder 305 to invalidate the decoding of the instruction code 316 (jump address) given from the firmware ROM 303 through the instruction latch register 304 in the next clock period.

第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に入力される。
FIG. 5 shows the DMA request reception register 20 shown in FIG.
5 is a block diagram showing details of the DMA condition determination circuit 206. FIG. As shown in FIG. 5, the DMA request reception register 205 includes a transmission DMA request reception register 501, a reception
It has an MA request reception register 502, a RAM mode DMA request reception register 503, and a read/write signal latch register 504. The transmit DMA request 513 is stored in the transmit DMA request reception register 501, the receive DMA request 514 is stored in the receive DMA request reception register 502, and the RA
M mode DMA request 541 is RAM mode DMA
A read/write signal 515 is sent to the request reception register 503.
are respectively input to the read/write signal latch register 504. A clock signal CLK and a reset signal 511 are input to the transmit DMA request reception register 501, the reception DMA request reception register 502, the RAM mode DMA request reception register 503, and the read/write signal latch register 504, and their respective outputs are as follows. AND circuits 524 and 52 to which the detection signal 510 is input
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に
入力される。
The DMA condition determination circuit 206 also determines the transmission DMA suspension flag 505, the transmission DMA execution flag 506, the transmission D
It includes an MA execution flag 507 and a burst size DMA completion flag 508. A reset signal 511 and a set signal 512 are input to each flag, respectively. Furthermore, a burst size DMA completion signal 523 is input to the burst size DMA completion flag 508 . Transmission DMA suspension flag 505, transmission DMA execution flag 506, reception D
The outputs of the MA execution flag 507 and the burst size DMA completion flag 508 are input to AND circuits 528, 529, 530, and 538, respectively, to which the detection signal 510 is input.

また、検出信号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が送出される。
Further, the detection signal 510 is transmitted to other AND circuits 531 to 53.
8 is input. The AND circuit 531 receives the transmit DMA data length 0 signal 516, and the AND circuit 532 receives the RA
The M mode DMA data length 0 signal 517 is sent to the AND circuit 533, and the burst size 0 signal 518 is sent to the AND circuit 534 via the logic gate 542 to the receive FIFO.
The empty signal 519 and the reception completion signal 520 are sent to the AND circuit 9.
- 535 has a receive FI via logic gates 543, 544;
FO empty signal 519, reception completion signal 520 and reception FIFO
The threshold signal 521 is sent to the AND circuit 536, the set signal 512 is sent to the AND circuit 537, and the transmission FI signal is sent to the AND circuit 537.
FO threshold signals 522 are each input. Each output signal of AND circuits 524 to 538 is input to OR circuit 545. A jump signal 509 is sent from this OR circuit 545.

この第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実行が制御される。
In FIG. 5, a transmission DMA request reception register 50
1. Reception DMA request reception register 502, RAM mode DMA request reception register 503, and read/write signal latch register 504 receive various DMA request signals, that is, transmission DMA request 513, reception DMA request 5
14, RAM mode DMA request 541, and read/write signal 515, respectively, and D
After the execution of MA is completed, it is reset by a reset signal 511 based on firmware. Further, the transmission DMA interruption flag 505 is set by a firmware-based set signal 512 to interrupt the transmission DMA when executing the reception DMA that shares a channel. This flag 505 is used for the purpose of saving and resetting data, and is reset by a reset signal 511 when transmission DMA is restarted. The transmit DMA execution flag 506 and the receive DMA execution flag 507 are each set by a set signal 512 based on firmware before execution of the transmit/receive DMA. These flags 506 and 507 are used for sending and receiving DM
This is used for the purpose of interrupting A, preferentially executing RAM mode DMA, and then executing transmitting/receiving DMA again from the interrupted point. These flags 506 and 507 are used for sending and receiving DMA
Upon completion of the firmware-based reset signal 51
It is reset at 1. The burst size DMA completion flag 508 is set by the burst size DMA completion signal 523 when the burst size DMA is completed.
After the firmware is detected, it is reset by a reset signal 511. The registers and flags indicated by reference numerals 501 to 508 and the condition signals indicated by reference numerals 516 to 522 are each logically connected to a detection signal 510 based on a firmware microinstruction, and further summed up by an OR circuit 545 to generate a jump signal. 509. DMA execution is controlled based on this jump signal 509.

第6図は、第1図のDMAコントロールブロックにDM
A要求が重複して発生した場合に、DMAチャンネルの
バーストチール処理を行なう場合に使用する、F I 
FO/RAMから出力される送信/受信FIFOスレッ
シュホールド信号について、FIFOの図を用いて示す
説明図である。
Figure 6 shows the DMA control block in Figure 1.
FI is used to perform burst processing on the DMA channel when A requests occur repeatedly.
FIG. 2 is an explanatory diagram showing a transmission/reception FIFO threshold signal output from the FO/RAM using a FIFO diagram.

第6図(A)は、送信FIFOのスレッシュホールド値
を、同図(B)は受信FIFOのスレッシュホールド値
をそれぞれ示すものである。
FIG. 6(A) shows the threshold value of the transmitting FIFO, and FIG. 6(B) shows the threshold value of the receiving FIFO.

FIFOはいずれも16ビツト×256ワードの領域を
有している。この例では、DMAのバーストサイズ(B
urst 5ize)として32バイト(Byte)を
設定した場合を例示している。このバーストサイズは、
FIFOのスレッシュホールド値を決める重要な値であ
り、ホストプロセッサがDMAを使ってRAMに書き込
み、これをスモールCPUブロック105が読みDMA
とFIFOに書きこむ、外部から設定可能な値である。
Each FIFO has an area of 16 bits x 256 words. In this example, the DMA burst size (B
This example shows a case where 32 bytes are set as the urst 5ize. This burst size is
This is an important value that determines the FIFO threshold value, and the host processor writes it to RAM using DMA, and the small CPU block 105 reads it and writes it to RAM using DMA.
This is a value that can be set externally and written to the FIFO.

先ず、送信FIFOのスレッシュホールド値について説
明する。送信の場合、特にDMAコントロールブロック
102のアンダーランによって、F I FO/RAM
103の送信FIFOを空にしてはならない。従って、
スレッシュホールド値は、128Byte (FIFO
容量) −32Byte (バースト値) −96By
te (スレッシュホールド値)となる。
First, the threshold value of the transmission FIFO will be explained. In the case of transmission, in particular an underrun in the DMA control block 102 causes the F I FO/RAM
The transmit FIFO of 103 must not be empty. Therefore,
The threshold value is 128 Byte (FIFO
Capacity) -32Byte (Burst value) -96Byte
te (threshold value).

次に、受信FIFOのスレッシュホールド値について説
明する。受信の場合は、DMAコントロールブロック1
02のアンダーランによって、FIFO/RAM103
の受信FIFOが満杯にならないようにしなくてはなら
ない。従って、スレッシュホールド値は 32Byte(バースト値)  23− −32Byte (スレッシュホールド値)となる。
Next, the threshold value of the reception FIFO will be explained. For reception, DMA control block 1
FIFO/RAM103 due to underrun of 02
It is necessary to prevent the receive FIFO from becoming full. Therefore, the threshold value is 32 Bytes (burst value) 23--32 Bytes (threshold value).

ちなみに、DMAコントロールブロック102は、通信
データの書き消しゃ空データの転送が生じないようにす
るため、スレッシュホールド信号がオンの時にだけバー
ストサイズDMA転送を実行する。
Incidentally, the DMA control block 102 executes burst size DMA transfer only when the threshold signal is on, in order to prevent transfer of empty data from occurring if communication data is written or erased.

第1表は、第1図のDMAコントロールブロックが持つ
3つのチャンネル、受信DMA、送信DMASRAMモ
ードDMAの優先度を示す表である。ちなみに、表に示
した優先度は固定である。
Table 1 is a table showing the priorities of the three channels, reception DMA, and transmission DMA SRAM mode DMA possessed by the DMA control block of FIG. By the way, the priorities shown in the table are fixed.

4− いずれのチャンネルのDMAも実行していない時に、複
数の要求が同時に発生した場合は、チャンネルの優先度
に従って要求を受は付ける。一方、いずれかのチャンネ
ルの実行中に要求が重なって生じた場合は、DMA開始
後に他のチャンネルを優先的に実行する条件に従って実
行する。チャンネルを切り替えるタイミングはバースト
サイズDMAの実行終了時である。
4- If multiple requests occur simultaneously when DMA is not being executed for any channel, the requests are accepted according to the priority of the channel. On the other hand, if overlapping requests occur during the execution of one of the channels, the other channels are executed according to the condition that the other channels are executed preferentially after the DMA is started. The timing for switching channels is when execution of burst size DMA ends.

第8図は、第1表に示した表に基づいて、重なって生じ
たDMA要求を処理した場合のDMA実行タイミングチ
ャートである。
FIG. 8 is a DMA execution timing chart when overlapping DMA requests are processed based on the table shown in Table 1.

時点T■は、最初に送信DMAリクエスト信号を受は付
け、1回目のバーストサイズf)MAが終了した時点で
ある。その時、送信FIFOスレッシュホールド信号(
C)はオン(ハイ)であり、送信データのDMA転送を
実行しなければならない状態にある。しかし、受信DM
Aリクエスト信号(D)が来ているので、送信DMAチ
ャンネルを中断して受信DMAリクエストを受は付け、
バーストサイズ受信DMAを実行する。
Time T■ is the time when the transmission DMA request signal is first accepted and the first burst size f) MA is completed. At that time, the transmit FIFO threshold signal (
C) is on (high) and in a state where DMA transfer of transmission data must be performed. However, received DM
Since the A request signal (D) is coming, interrupt the sending DMA channel and accept the receiving DMA request,
Execute burst size receive DMA.

一方、時点T■は、受信DMA実行中RAMモードDM
Aリクエストが来ているが、受信FIFOスレッシュホ
ールド信号がオン(ハイ)になっているので要求を受は
付けていない。
On the other hand, at time T■, RAM mode DM during reception DMA
An A request has come, but since the receive FIFO threshold signal is on (high), the request is not accepted.

次に、時点T■は、2回目のバーストサイズ受信DMA
が終了した時点である。その時の受信FIFOスレッシ
ュホールド信号はオフ(ロウ)である。受信DMAチャ
ンネルを中断してRAMモードDMAリクエストを受は
付は実行している。
Next, at time T■, the second burst size reception DMA
This is the point at which the At that time, the reception FIFO threshold signal is off (low). The receive DMA channel is interrupted and the RAM mode DMA request is received and executed.

時点T■は、時点T■で受は付けたRAMモードDMA
が終了した時点である。ここでは中断していた受信DM
Aを再び実行している。
Time T■ is the RAM mode DMA that was accepted at time T■.
This is the point at which the Incoming DM that was interrupted here
Running A again.

時点T■は、時点T■で受は付けた受信DMAが終了し
た時点であり、中断していた送信DMAを再び実行して
いる。
At time T■, the reception DMA that was accepted at time T■ has been completed, and the suspended transmission DMA is being executed again.

時点T■は、全てのDMAチャンネルの実行が終了した
状態にある。
At time T2, all DMA channels have finished executing.

第9図は、第6図に示したDMA実行タイミングチャー
トのシーケンスをコントロールするDMAコントロール
ファームウェアの基本状態遷移図を、従来の場合との比
較において示している。
FIG. 9 shows a basic state transition diagram of the DMA control firmware that controls the sequence of the DMA execution timing chart shown in FIG. 6, in comparison with a conventional case.

同図(A)は従来における状態遷移を示し、(B)は本
実施例における状態遷移を示す。
(A) of the figure shows state transition in the conventional case, and (B) shows state transition in the present embodiment.

先ず、第9図(A)を参照して従来における状態遷移を
説明する。
First, a conventional state transition will be explained with reference to FIG. 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実行完了判定を行なう。
It accepts requests for DMA channels in state SOI and continues in this state until a request is received. If there is a DMA request, the process moves to state SO9, and the DMA start condition is detected. For example, the condition is that the reception FIFO threshold signal of the reception DMA request is on. Then, if the reception FIFO threshold signal is off (L) at the end of the parse size DMA, the condition is incorrect while the state SO9 remains. If the DMA start conditions are met in state SO9, the state transitions to state SO3 due to DMA execution permission. In state SO3, data for executing DMA transfer is set. For example, DMA data such as an external memory first address and data length are set. Next, in response to a DMA start request, the state transitions to state SO4 and DM of the burst size is executed.
Execute A. Burst size D in state SO4
When MA is completed, state 4 transitions to state SO6 and D
Perform MA execution completion determination.

ここでDMA未完了でありバーストサイズDMAを再実
行する必要がある場合は、状態SO9に遷移したDMA
を再実行させる。一方、DMAが完了した場合は状態S
O7に遷移してDMA完了処理を行なう。この完了処理
が終了するとDMA完了処理終了として状態Solに戻
る。
If the DMA is not completed here and it is necessary to re-execute the burst size DMA, the DMA that has transitioned to state SO9
re-run. On the other hand, if the DMA is completed, the state S
Transition to O7 and DMA completion processing is performed. When this completion process is completed, the DMA completion process is completed and the state returns to Sol.

以上のように、従来の場合1つのチャンネルのDMAが
終了するまでは他のチャンネルの要求を 28 受は付けないようになっている。
As described above, in the conventional case, requests for other channels are not accepted until DMA for one channel is completed.

これに対して、本実施例では1つのチャンネルのDMA
の実行中にも優先度の高いDMAチャンネルの要求があ
れば、その要求をバーストサイズDMAの完了時に受は
付ける。即ち、本実施例の状態遷移について第9図(B
)を参照して詳細に説明する。第9図(B)において、
同図(A)と同じ状態には同図(A)と同一の符号を付
している。
On the other hand, in this embodiment, one channel's DMA
If there is a request for a high-priority DMA channel during execution, the request will be accepted upon completion of the burst size DMA. That is, the state transition of this embodiment is shown in FIG. 9 (B
) for a detailed explanation. In FIG. 9(B),
The same states as in FIG. 3(A) are given the same reference numerals as in FIG. 4(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を再実行させる。
In the first state S01, DMA channel requests are accepted or accepted based on the DMA channel priority list in Table 1. If there is a request, the process moves to state SO2 and detects the DMA start condition. For example, the condition is that the reception FIFO threshold signal of the reception DMA request is on. Then, at the end of the burst size DMA, if the reception FIFO threshold signal is off (L), the process returns to state S01 and checks for other channels. If the DMA start conditions are met in state SO2, the DMA
Upon execution permission, the state transits to SO3. In state SO3, data for executing DMA transfer is set. For example, DMA data such as an external memory first address and data length received from the small CPU block 105 in FIG. 1 into the 2-point RAM are set in respective dedicated counters. Further, in a case where an address counter or the like is shared between DMA channels, when execution is interrupted, data is saved in a 2-bot RAM until execution is resumed. In the case of a normal DMA execution channel, a DMA start request causes a transition to state SO4, and burst-sized DMA is executed. On the other hand, DM
In the case of the A priority channel, the priority channel DMA start request causes a transition to state SO5, and burst size DMA is executed. When the burst-sized DMA in states SO4 and SO5 is completed, the state transits to state SO6, and it is determined whether the DMA execution is complete. If the DMA is not yet completed and it is necessary to re-execute the burst-size DMA, the state transitions to SOI and the DMA is re-executed.

DMAが完了した場合は、状態SO7に遷移して、DM
A完了処理を行なう。この完了処理が終了すると中断チ
ャンネルのDMAを再開させるべく状態S01に戻る。
If DMA is completed, transition to state SO7 and DM
Perform A completion processing. When this completion process is completed, the process returns to state S01 in order to restart the DMA of the interrupted channel.

第7図は本実施例のファームウェアを使って重なって発
生したDMA要求を処理した場合のDMAパーフォ−マ
ンスゲラフである。ちなみに、DMAチャンネルの優先
度は第1表のDMAチャンネルの優先皮表に基づいてい
る。
FIG. 7 is a DMA performance chart when the firmware of this embodiment is used to process overlapping DMA requests. Incidentally, the priority of the DMA channel is based on the priority table of the DMA channel in Table 1.

第7図(A)は、送信FIFOのバーストサイズが64
バイトの場合の、送信のパーフォ−マンスゲラフである
。最初に送信DMAの要求を受は付け、1回目のバース
トサイズDMAを終了した0時点で受信DMAの要求を
受は付けている。受信DMAを実行している間は送信は
行なわれていないので、送信FIFOのデータ量は変化
しない。
In FIG. 7(A), the burst size of the transmit FIFO is 64.
This is a performance graph of transmission in the case of bytes. The transmit DMA request is accepted first, and the receive DMA request is accepted at time 0 when the first burst size DMA is completed. Since no transmission is being performed while the reception DMA is being executed, the amount of data in the transmission FIFO does not change.

3回目のバーストサイズDMAを終了し、送信FIFO
スレッシュホールド信号がオフになった0時点で、RA
MモードDMA要求を優先的に受は付けている。しかし
、データレングスが最大で31 32バイトと条件が付いているため、送信FIFOのデ
ータ量が空になったり、このために通信データが途切れ
るいった不都合の発生はない。
The third burst size DMA is completed and the transmit FIFO is
At time 0, when the threshold signal turns off, RA
M mode DMA requests are accepted with priority. However, since there is a condition that the maximum data length is 31 to 32 bytes, there will be no inconveniences such as the amount of data in the transmission FIFO becoming empty or communication data being interrupted due to this.

同図(B)は、受信FIFOのバーストサイズが64バ
イトの場合の、受信のバーファーマンスゲラフである。
FIG. 4B shows a reception buffer when the burst size of the reception FIFO is 64 bytes.

最初に受信のDMAの要求を受は付けて、1回目のバー
ストサイズDMAが終了し、受信FIFOスレッシュホ
ールド信号がオフになった0時点で、RAMモードDM
A要求を優先的に受は付けている。しかし、データレン
グスが最大で32バイトと条件が付いているために、受
信FIFOのデータが満杯になって通信データが書き消
される等の不都合の発生の心配はない。
First, a receive DMA request is accepted, and at time 0, when the first burst size DMA is completed and the receive FIFO threshold signal is turned off, RAM mode DM
Requests A are given priority. However, since the data length is limited to a maximum of 32 bytes, there is no need to worry about inconveniences such as communication data being erased due to the reception FIFO becoming full.

以上のように、優先度判定機能を持った通信用DMAコ
ントローラでは、最初に受は付けていたDMA要求が続
いていても、予め設定された1回のバーストサイズ分の
DMA転送が終る毎に、それ以外の要求をチエツクし、
予め付けた優先順位に基づいて最高の優先度を持ったD
MAチャンネルに切り替えて、DMAを実行する。例え
ば、送 32− 信DMA開始直後に受信DMA要求があった場合でも、
受信DMAの優先度が受信DMAの優先度よりも高いと
きには、受信DMAを優先させる。
As described above, in a communication DMA controller with a priority determination function, even if the initially accepted DMA request continues, each time a preset burst size of DMA transfer is completed, , check other requests,
D with the highest priority based on pre-assigned priorities
Switch to MA channel and execute DMA. For example, even if there is a receive DMA request immediately after the start of the transmit DMA,
When the priority of the receive DMA is higher than the priority of the receive DMA, the receive DMA is given priority.

このため、受信に失敗して、相手局に再送信をさせる等
の時間的なロスを低減することができる。
Therefore, it is possible to reduce time losses such as when reception fails and the other station is forced to retransmit.

また、優先度の高いチャンネルのDMAの終了後には、
中断したチャンネルのDMAが先の中断点から再実行さ
れる。このため、中断したDMAを最初から再開させる
のに比較して非常に効率が良い。
Also, after the DMA of the high priority channel ends,
DMA of the interrupted channel is re-executed from the previous interruption point. Therefore, it is much more efficient than restarting interrupted DMA from the beginning.

また、バーストサイズをホストプロセッサから設定でき
る可変値としたので、この値を適宜調整することにより
、ホストシステムとのバス権獲得時間を最適な時間に調
整することができる。
Furthermore, since the burst size is a variable value that can be set by the host processor, by adjusting this value as appropriate, the time for acquiring bus rights with the host system can be adjusted to an optimal time.

〔発明の効果〕〔Effect of the invention〕

以上述べたように、本発明によれば、DMA転送を予め
定められたバーストサイズ単位で実行しながら、優先度
の高いDMAチャンネルの要求を確認し、優先度の高い
チャンネルからのDMA要求があった場合にはこれに切
り替えるようにしたので、待ち時間や再送時間等のロス
時間をなくし、通信効率を高めることができる。
As described above, according to the present invention, while executing DMA transfer in units of a predetermined burst size, a request for a DMA channel with a high priority is confirmed, and if a DMA request from a channel with a high priority is detected. Since the system is configured to switch to this mode when the communication occurs, it is possible to eliminate loss time such as waiting time and retransmission time, and improve communication efficiency.

【図面の簡単な説明】[Brief explanation of the drawing]

第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〜
Fig. 1 is a basic block diagram of an embodiment of the present invention, Fig. 2 is a basic block diagram of the DMA control block in Fig. 1, and Fig. 3 is a basic block diagram of the DMA control block in Fig. 2. /A block diagram showing a detailed example of the instruction decoder section, FIG. 4 is the DMA firmware R in FIG.
Operation timing chart of OM/instruction decoder section, 5th
The figure is a block diagram showing a detailed example of the DMA request reception register and DMA condition determination circuit in Figure 2, and Figure 6 is a block diagram showing a detailed example of the DMA request reception register and DMA condition judgment circuit in Figure 2. About the transmit/receive FIFO threshold signal from FIFO/RAM used when performing burst steal processing
FIG. 7 is an explanatory diagram based on the configuration of O, FIG. 7 is a DMA performance graph when overlapping DMA requests are processed using the firmware of this embodiment, and FIG. 8 is an explanatory diagram showing overlapping DMA requests based on Table 1. DMA execution timing chart when a generated DMA request is processed. FIG. 9 is a basic state transition diagram of the DMA control firmware that controls the sequence of the DMA execution timing chart shown in FIG. 101... bus interface block, 102...
...DMA control block, 103...F I
FO/RAM, 104... Network interface block, lO5... Small CPU block, 201... DMA priority determination unit, 202... DM
A data storage unit, 203...DMA transfer control unit, 20
4... DMA firmware ROM/instruction decoder section, 205... DMA request reception register, 206...
DMA condition determination circuit, 301... multiplexer, 3
02... Address register, 303... Firmware ROM, 304... Instruction latch register, 305
...Instruction decoder, 306...Address increment, 307...Register, 501...Transmission 35
- DMA request reception register, 502... Reception DMA request reception register, 503... RAM mode DMA request reception register, 504... Read/write signal latch register, 505... Transmission DMA suspension flag, 506
...Send DMA execution flag, 507...Receive DM
A execution flag, 508...Burst size DMA completion flag. -36~

Claims (1)

【特許請求の範囲】 1、メモリとメモリとの間に位置してそれらのメモリ間
のデータ転送をDMA転送によって行わせる通信用DM
Aコントローラであって、複数のチャンネルを有し、各
チャンネルは前記データ転送に際して使用されるFIF
Oをそれぞれ有し、チャンネルの切り換えにより、ある
メモリから他のメモリへデータ転送させ、他のメモリか
らあるメモリへデータ転送させる通信用DMAコントロ
ーラにおいて、 最も優先度の高いDMA要求に基づいて、予め定めたバ
ーストサイズのデータを転送する転送手段と、 前記転送手段による上記転送が1回終了する毎に、DM
A要求の有効なものについて優先度を判定する優先度判
定手段と、 前記優先度判定手段によって最も優先度が高いとされた
DMA要求に応じて、前記チャンネルを切換えるチャン
ネル切換手段と、 を備えることを特徴とする優先度判定機能を有する通信
用DMAコントローラ。 2、前記データ転送に当っての前記FIFOへのデータ
蓄積時間中に、自己が専有するワーキングメモリについ
てのDMA要求を実行させるDMA実行手段を有するこ
とを特徴とする請求項1記載の通信用DMAコントロー
ラ。
[Claims] 1. Communication DM that is located between memories and performs data transfer between the memories by DMA transfer.
A controller, which has a plurality of channels, and each channel is a FIF used for the data transfer.
In a communication DMA controller, which has a DMA controller that transfers data from one memory to another memory and from another memory to another memory by switching channels, a transfer means for transferring data of a predetermined burst size, and a DM for each transfer by the transfer means;
A priority determining means for determining the priority of valid A requests; and a channel switching means for switching the channel in accordance with the DMA request determined to have the highest priority by the priority determining means. A communication DMA controller having a priority determination function. 2. The communication DMA according to claim 1, further comprising DMA execution means for executing a DMA request for its own exclusive working memory during data accumulation time in the FIFO during the data transfer. controller.
JP1279268A 1989-10-26 1989-10-26 Dma controller for communication with priority decision function Pending JPH03139751A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1279268A JPH03139751A (en) 1989-10-26 1989-10-26 Dma controller for communication with priority decision function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1279268A JPH03139751A (en) 1989-10-26 1989-10-26 Dma controller for communication with priority decision function

Publications (1)

Publication Number Publication Date
JPH03139751A true JPH03139751A (en) 1991-06-13

Family

ID=17608800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1279268A Pending JPH03139751A (en) 1989-10-26 1989-10-26 Dma controller for communication with priority decision function

Country Status (1)

Country Link
JP (1) JPH03139751A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0803821A2 (en) * 1996-04-26 1997-10-29 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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0803821A2 (en) * 1996-04-26 1997-10-29 Texas Instruments Incorporated DMA channel assignment in a data packet transfer device
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
US6092141A (en) Selective data read-ahead in bus-to-bus bridge architecture
US20070074214A1 (en) Event processing method in a computer system
JPH04229350A (en) Method and apparatus for performing medium access control/host system interface
JPH04312160A (en) Multiprocessor system and its message transmission and reception controller
KR920004416B1 (en) Data processing device used in advanced communication control apparatus
JPH10293744A (en) Pci bus system
AU664521B2 (en) A synchronization control system in a parallel computer
EP1063594A2 (en) An interrupt controller and a microcomputer incorporating this controller
KR100874073B1 (en) Method and apparatus for allocating bandwidth on a transmit channel of a bus
JPH03139751A (en) Dma controller for communication with priority decision function
KR0182709B1 (en) Communication method between processors in switching system
EP0640925B1 (en) Data processing system having serial interface
JP2624989B2 (en) Data transfer control device
JPH0816454A (en) Shared memory access control circuit
US5125079A (en) Method for controlling the data transmission of a central unit interfacing control circuit and circuit arrangement for the implementation of the method
JPH10224410A (en) Data transfer system
JPS61125670A (en) Data transfer device
JPS6314261A (en) Microprogram controller
KR970005744B1 (en) Data transfer system
JPH0546529A (en) Direct memory access system
JP2871171B2 (en) Microcomputer
JP2933039B2 (en) Communication controller
JP2000259548A (en) Dma bus transfer system