JP2504512B2 - DMA controller - Google Patents

DMA controller

Info

Publication number
JP2504512B2
JP2504512B2 JP63055899A JP5589988A JP2504512B2 JP 2504512 B2 JP2504512 B2 JP 2504512B2 JP 63055899 A JP63055899 A JP 63055899A JP 5589988 A JP5589988 A JP 5589988A JP 2504512 B2 JP2504512 B2 JP 2504512B2
Authority
JP
Japan
Prior art keywords
interrupt
channel
vector
supplied
channels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP63055899A
Other languages
Japanese (ja)
Other versions
JPH01229354A (en
Inventor
昭博 吉竹
秀之 飯野
秀憲 飛田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Fujitsu Electronics Inc
Original Assignee
Fujitsu Ltd
Fujitsu Electronics Inc
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 Fujitsu Ltd, Fujitsu Electronics Inc filed Critical Fujitsu Ltd
Priority to JP63055899A priority Critical patent/JP2504512B2/en
Priority to EP89302139A priority patent/EP0332351B1/en
Priority to US07/320,446 priority patent/US5056011A/en
Priority to KR1019890002887A priority patent/KR920001814B1/en
Publication of JPH01229354A publication Critical patent/JPH01229354A/en
Application granted granted Critical
Publication of JP2504512B2 publication Critical patent/JP2504512B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔概要〕 直接データ転送の制御を行なうDMAコントローラに関
し、 システム障害の要因を早期に中央処理装置に通知して
二次障害を防止できることを目的とし、 直接データ転送を別々に行なう複数のチャネルを持つ
DMAコントローラにおいて、該複数のチャネルが同時に
データ転送を終了したとき、システム障害による異常終
了のチャネルをデータ転送の完了した正常終了のチャネ
ルに優先させ、その後予め決められた該複数のチャネル
の優先順位に従って割込みを行なう単一のチャネルを選
択決定する割込みチャネル決定回路と、該複数のチャネ
ル夫々毎に該正常終了に対応する正常割込み及び該異常
終了に対応する異常割込み夫々の割込みベクタを格納し
たベクタレジスタと、該割込みチャネル決定回路で決定
されたチャネル及びその正常終了又は異常終了に応じて
該ベクタレジスタから割込みベクタを読み出す読出制御
回路とを有し、該ベクタレジスタから読み出した割込み
ベクタを中央処理装置に供給するよう構成する。
DETAILED DESCRIPTION OF THE INVENTION [Outline] The present invention relates to a DMA controller that controls direct data transfer, and separates direct data transfer for the purpose of early notification of a cause of system failure to a central processing unit to prevent secondary failure. Have multiple channels to do
In the DMA controller, when the plurality of channels finish data transfer at the same time, the channel that has abnormally ended due to a system failure is given priority over the channel that has normally completed data transfer, and then the predetermined priority order of the plurality of channels. An interrupt channel determination circuit for selecting and determining a single channel for performing an interrupt in accordance with the above, and a vector storing an interrupt vector for each of the normal interrupt corresponding to the normal end and the abnormal interrupt corresponding to the abnormal end for each of the plurality of channels. A register, a channel determined by the interrupt channel determination circuit, and a read control circuit for reading an interrupt vector from the vector register according to normal termination or abnormal termination thereof, and central processing of the interrupt vector read from the vector register It is configured to supply to the device.

〔産業上の利用分野〕[Industrial applications]

本発明はDMA(ダイレクト・メモリ・アクセス)コン
トローラに関し、直接データ転送の制御を行なうDMAコ
ントローラに関する。
The present invention relates to a DMA (Direct Memory Access) controller, and more particularly to a DMA controller that controls direct data transfer.

従来より、コンピュータシステムにおいてメモリ,入
力/出力(I/O)インターフェース等の間でのデータ転
送時間を短縮するために、DMAコントローラの制御によ
って周辺装置としての中央処理装置(CPU)を介さず直
接データを転送するDMA転送が行なわれている。
Conventionally, in order to reduce the data transfer time between the memory and the input / output (I / O) interface in a computer system, direct control is not performed via the central processing unit (CPU) as a peripheral device by the control of the DMA controller. DMA transfer is in progress to transfer data.

このようなDMAコントローラには複数のチャネルを有
し、各チャネルで別々のデータ転送を行なうものがあ
る。この場合、一般に各チャネルはデータ転送が終了す
ると割込みによりデータ転送終了をCPUに通知する。こ
れによりCPUは割込みアクノリッジサイクルを実行し、D
MAコントローラから返される割込みベクタに従って、デ
ータ転送終了に対する処理ルーチンを実行する。
Some such DMA controllers have a plurality of channels, and each channel carries out separate data transfer. In this case, in general, each channel notifies the CPU of the end of data transfer by an interrupt when the data transfer is completed. This causes the CPU to execute an interrupt acknowledge cycle and
Executes the processing routine for the end of data transfer according to the interrupt vector returned from the MA controller.

従って、複数のチャネルに割込み要求がある場合には
いずれか1つを選び、その割込み要求の割込みベクタを
CPUに供給する必要がある。
Therefore, if there are interrupt requests on multiple channels, select one and set the interrupt vector for that interrupt request.
Need to supply to CPU.

〔従来の技術〕[Conventional technology]

従来のDMAコントローラは、複数のチャネルに優先順
位(プライオリティ)を予め割付けている。複数のチャ
ネルに割込み要求がある場合、プライオリティの最も高
いチャネルを選び、このチャネルの割込みベクタをCPU
に供給している。
A conventional DMA controller assigns priorities to a plurality of channels in advance. If there are interrupt requests on multiple channels, select the channel with the highest priority and set the interrupt vector for this channel to the CPU.
Is being supplied to.

〔発明が解決しようとする課題〕[Problems to be Solved by the Invention]

ここで、プライオリティの低いチャネルがバスエラー
等の例外要因によりデータ転送を終了し、これと略同時
にプライオリティの高いチャネルがデータ転送を正常終
了した場合、従来のDMAコントローラはプライオリティ
に従って正常終了したプライオリティの高いチャネルの
割込みベクタをCPUに供給している。
Here, if a low priority channel ends data transfer due to an exception factor such as a bus error, and at the same time as a high priority channel ends data transfer normally, the conventional DMA controller will use the priority of the normally completed channel according to the priority. The high channel interrupt vector is being supplied to the CPU.

このため、バスエラー等のシステム障害に係る要因を
CPUに通知することが遅れてしまい二次障害を起こすお
それがあるという問題があった。
Therefore, the factors related to system failure such as bus error
There was a problem that notification to the CPU would be delayed and a secondary failure might occur.

本発明は上記の点に鑑みなされたもので、システム障
害の要因を早期にCPUに通知して二次障害を防止できるD
MAコントローラを提供することを目的とする。
The present invention has been made in view of the above points, and can notify a CPU of a factor of a system failure early to prevent a secondary failure.
The purpose is to provide an MA controller.

〔課題を解決するための手段〕[Means for solving the problem]

本発明のDMAコントローラは、 直接データ転送を別々に行なう複数のチャネルを持つ
DMAコントローラにおいて、 複数のチャネルが同時にデータ転送を終了したとき、
システム障害による異常終了のチャネルをデータ転送の
完了した正常終了のチャネルに優先させ、その後予め決
められた複数のチャネルの優先順位に従って割込みを行
なう単一のチャネルを選択決定する割込みチャネル決定
回路(111)と、 複数のチャネル夫々毎に該正常終了に対応する正常割
込み及び異常終了に対応する異常割込み夫々の割込みベ
クタを格納したベクタレジスタ(115)と、 割込みチャネル決定回路(111)で決定されたチャネ
ル及びその正常終了又は異常終了に応じてベクタレジス
タ(115)から割込みベクタを読み出す読出制御回路(1
12)とを有する。
The DMA controller of the present invention has multiple channels for direct direct data transfer.
In the DMA controller, when multiple channels finish data transfer at the same time,
An interrupt channel determination circuit (111) that prioritizes a channel that has abnormally ended due to a system failure over a channel that has normally completed data transfer and then selects and determines a single channel for interrupting according to a predetermined priority order of a plurality of channels (111 ), And a vector register (115) storing the interrupt vector of each of the normal interrupt corresponding to the normal end and the abnormal interrupt corresponding to the abnormal end for each of a plurality of channels, and the interrupt channel determination circuit (111). A read control circuit (1 that reads an interrupt vector from a vector register (115) according to a channel and its normal termination or abnormal termination.
12) and have.

〔作用〕[Action]

本発明においては、割込みチャンネル決定回路(11
1)で異常終了のチャネルを正常終了のチャネルに優先
させ、その後複数のチャネルの優先順位に従って割込み
チャネルを決定し、この決定により読出制御回路(11
2)でベクタレジスタ(115)から割込みベクタを読み出
してCPUに供給する。
In the present invention, the interrupt channel determination circuit (11
In 1), the channel that ended abnormally is given priority over the channel that ends normally, then the interrupt channel is determined according to the priority order of multiple channels, and the read control circuit (11
In 2), read the interrupt vector from the vector register (115) and supply it to the CPU.

このため、異常割込みベクタが優先してCPUに供給さ
れ、システム障害の要因が優先的かつ早期にCPUに通知
される。
Therefore, the abnormal interrupt vector is preferentially supplied to the CPU, and the cause of the system failure is preferentially and early notified to the CPU.

〔実施例〕〔Example〕

第2図は本発明のDMAコントローラを適用した2バス
システムの一実施例のシステム構成図を示す。
FIG. 2 shows a system configuration diagram of an embodiment of a 2-bus system to which the DMA controller of the present invention is applied.

同図中、バス30はアドレスバス30a、データバス30b、
コントローラバス30cより構成されており、バス30にはC
PU31、I/Oインターフェース32、メモリ33夫々が接続さ
れている。同様にバス40はアドレスバス40a、データバ
ス40b、コントローラバス40cより構成されており、バス
40にはCPU41、I/Oインターフェース42、メモリ43夫々が
接続されている。
In the figure, a bus 30 is an address bus 30a, a data bus 30b,
It consists of a controller bus 30c, and the bus 30 has a C
The PU 31, the I / O interface 32, and the memory 33 are connected to each other. Similarly, the bus 40 is composed of an address bus 40a, a data bus 40b, and a controller bus 40c.
A CPU 41, an I / O interface 42, and a memory 43 are connected to the 40.

DMAコントローラ50は直接コントローラバス30c、40c
と接続され、また双方向バッファ51a、51b夫々を介して
アドレスバス30a,40a夫々と接続され、同様に双方向バ
ッファ52a,52b夫々を介してデータバス30b,40b夫々と接
続されている。
DMA controller 50 is a direct controller bus 30c, 40c
And address buses 30a and 40a via bidirectional buffers 51a and 51b, respectively, and data buses 30b and 40b via bidirectional buffers 52a and 52b, respectively.

バッファ52a,52bは、端子ENにDMAコントローラ50より
バッファのオン/オフを切換えるコントロール信号DBEN
1,DBEN2夫々を供給され、端子T/Rに信号の方向を切換え
るコントロール信号DIN1,DIN2を供給されている。これ
によってデータバス30bとDMAコントローラ50のデータ入
出力端子との間、又はデータバス40bとDMAコントローラ
50の入出力端子との間、又はデータバス30b,40b間を接
続することができる。
The buffers 52a and 52b have a control signal DBEN for switching the buffer on / off from the DMA controller 50 to the terminal EN.
1, DBEN2 are respectively supplied, and control signals DIN1, DIN2 for switching the signal direction are supplied to the terminal T / R. Thereby, between the data bus 30b and the data input / output terminal of the DMA controller 50, or between the data bus 40b and the DMA controller.
It is possible to connect between 50 input / output terminals or between the data buses 30b and 40b.

バッファ51a,51b夫々も上記のバッファ52a,52bとまっ
たく同一の構成で、端子ENにDMAコントローラ50よりオ
ン/オフを切換えるコントロール信号ABEN1,ABEN2を供
給され、端子T/Rに信号の方向を切換えるコントロール
信号AIN1,AIN2を供給されている。
Each of the buffers 51a and 51b has exactly the same configuration as the above-mentioned buffers 52a and 52b, and the terminal EN is supplied with control signals ABEN1 and ABEN2 for switching on / off from the DMA controller 50 and the signal direction is switched to the terminal T / R. Control signals AIN1 and AIN2 are supplied.

第1図はDMAコントローラ50の一実施例のブロック図
を示す。
FIG. 1 shows a block diagram of an embodiment of the DMA controller 50.

同図中、転送要求制御部70はI/Oインターフェース32,
42、夫々からコントロールバス30c,40cを経て端子71に
入来する4チャネル分の転送要求信号REQO〜REQ3が供給
される。転送要求制御部70は同時に複数の転送要求があ
っても予め決定されプライオリティレジスタ70aに設定
された優先順位(プライオリティ)に従って単一の転送
要求信号を選択して中央処理部72及び動作決定部73に報
告する。動作決定部73はこの報告に対して応答を行な
う。なお、プライオリティレジスタ70aの内容は後述す
る割込制御部92にも供給される。
In the figure, the transfer request control unit 70 includes an I / O interface 32,
42, transfer request signals REQO to REQ3 for four channels coming to the terminal 71 via the control buses 30c and 40c are supplied from the respective terminals. The transfer request control unit 70 selects a single transfer request signal according to the priority (priority) set in advance and set in the priority register 70a even if there are a plurality of transfer requests at the same time, and the central processing unit 72 and the operation determining unit 73 are selected. Report to. The operation determining unit 73 responds to this report. The contents of the priority register 70a are also supplied to the interrupt control unit 92 described later.

スレーブ制御部74はCPU31,41夫々よりコントロールバ
ス30c,40cを経て端子75,76に入来するチップセレクト信
号CS1,CS2及び割込み要求応答信号IACK1,IACK2夫々を供
給される。チップセレクト信号はCPU31,41夫々がDMAコ
ントローラ50内のレジスタをアクセスするための信号で
あり、割込み要求応答信号はDMAコントローラ50がCPU3
1,41夫々に対する割込み要求を行なったときCPU31,41夫
々が応答する信号である。スレーブ制御部74は同時にこ
れらの信号があっても予め決定されたプライオリティに
従って単一の信号を選択して動作決定部73に報告し、ま
た割込み要求応答信号が供給されるとベクタ要求信号を
発生して割込み制御部92に供給する。
The slave control unit 74 is supplied with the chip select signals CS1 and CS2 and the interrupt request response signals IACK1 and IACK2 coming into the terminals 75 and 76 through the control buses 30c and 40c from the CPUs 31 and 41, respectively. The chip select signal is a signal for the CPU 31 and 41 to access the registers in the DMA controller 50, and the interrupt request response signal is the CPU 3 for the DMA controller 50.
This is a signal to which each of the CPUs 31 and 41 responds when an interrupt request is made to each of them. The slave controller 74 selects a single signal according to a predetermined priority and reports it to the operation determiner 73 even if these signals are present at the same time, and also generates a vector request signal when the interrupt request response signal is supplied. And supplies it to the interrupt control unit 92.

動作決定部73はこの報告に対してと応答を行なうとと
もに、スレーブ制御部74からの報告を中央処理部72に伝
える。
The operation determination unit 73 responds to this report and also transmits the report from the slave control unit 74 to the central processing unit 72.

中央処理部72はDMAコントローラ50全体の動作状態及
び4つのチャネル夫々が行なうデータ転送動作管理して
おり、この動作状態及び動作要求は動作決定部73に報告
される。中央処理部72に内蔵されたレジスタ77には転送
のソースアドレス,ディスティネイションアドレス,転
送データのバイト数等が格納される。
The central processing unit 72 manages the operation state of the entire DMA controller 50 and the data transfer operation performed by each of the four channels, and this operation state and operation request are reported to the operation determining unit 73. A register 77 built in the central processing unit 72 stores a transfer source address, a destination address, the number of bytes of transfer data, and the like.

動作決定部73は中央処理部72よりバス権の要求がある
とバス権制御部80に指示を出す。これによってバス制御
部80は端子81よりCPU31,41夫々にバス権要求信号HREQ1,
HREQ2を供給する。これに対してCPU31,41夫々が出力す
るバス権要求応答信号HACK1,HACK2夫々が端子82より入
来し、バス権制御部80は信号HACK1,HACK2夫々の入来を
動作決定部73に報告し、この報告は中央処理部72まで伝
えられる。
When the central processing unit 72 requests the bus right, the operation determining unit 73 gives an instruction to the bus right control unit 80. As a result, the bus control unit 80 sends the bus right request signal HREQ1,
Supply HREQ2. On the other hand, the bus right request response signals HACK1 and HACK2 output by the CPUs 31 and 41 respectively come in from the terminal 82, and the bus right control unit 80 reports the arrival of the signals HACK1 and HACK2 to the operation determining unit 73. This report is transmitted to the central processing unit 72.

また、動作決定部73はコントローラバス30c,40cより
端子78を介してバスエラー信号BERR1,BERR2を供給され
ると、データ転送を実行しているチャネルのクローズ要
求を中央処理部72に対して行なう。
Further, when the operation determining unit 73 is supplied with the bus error signals BERR1 and BERR2 from the controller buses 30c and 40c via the terminal 78, the operation determining unit 73 requests the central processing unit 72 to close the channel that is performing the data transfer. .

中央処理部72は各チャネル夫々の転送データの残りバ
イト数であるバイトカウントが零となった正常終了時、
又はバスエラー信号BERR1,2の入来によるクローズ要求
を供給された異常終了時に、対応するチャネルのデータ
転送を終了して割込み要求信号を生成し割込制御部92に
供給し、これと同時にデータ転送の終了状態を示す割込
みステータスを内部データバスに送出する。端子制御部
83は端子84にコントロールバス30c,40c夫々より入来す
るデータの書き込み/読み出しの完了を示すデータコン
プリート信号DC1,2を供給され、これを動作決定部73に
報告すると共に、動作決定部73よりの指示で端子84から
データコンプリート信号DCを出力する。また、同様にし
て端子85より供給されるリード/ライト信号R/W1,R/W2
夫々を動作決定部73に報告すると共に、動作決定部73の
指示により信号アドレスストローブ信号AS1,AS2、デー
タストローブ信号DS1,DS2及びリード/ライト信号R/W1,
R/W2夫々を端子85より出力する。更に、動作決定部73の
指示により端子86からバッファ51a〜52b夫々にコントロ
ール信号AIN1,AIN2,ABEN1,ABEN2、DIN1,DIN2,DBEN1,DBE
N2を供給し、かつ端子94からデータ転送アクノリッジ信
号ACK0〜3を出力する。
At the time of normal termination when the byte count, which is the number of remaining bytes of the transfer data of each channel, becomes zero, the central processing unit 72
Or, at the abnormal end when the close request is supplied due to the arrival of the bus error signals BERR1 and 2, the data transfer of the corresponding channel is ended and the interrupt request signal is generated and supplied to the interrupt control unit 92. An interrupt status indicating the transfer end status is sent to the internal data bus. Terminal control section
The terminal 84 is supplied with data complete signals DC1 and DC2 indicating the completion of writing / reading of data coming from the control buses 30c and 40c, respectively, to the terminal 84, and reports this to the operation deciding unit 73 and the operation deciding unit 73. The data complete signal DC is output from the terminal 84 in accordance with the instruction. Similarly, read / write signals R / W1 and R / W2 supplied from terminal 85
Each of them is reported to the operation determining unit 73, and the signal address strobe signals AS1 and AS2, the data strobe signals DS1 and DS2, and the read / write signal R / W1 are instructed by the operation determining unit 73.
Output each R / W2 from pin 85. Further, in accordance with an instruction from the operation determining unit 73, control signals AIN1, AIN2, ABEN1, ABEN2, DIN1, DIN2, DBEN1, DBE are supplied from the terminal 86 to the buffers 51a to 52b, respectively.
N2 is supplied and the data transfer acknowledge signals ACK0 to ACK3 are output from the terminal 94.

入出力制御部87は動作決定部73の指示によってバッフ
ァ51a,51bから端子88に入来するアドレスを内部アドレ
スバスを介して中央処理部72のレジスタ77及びコミュニ
ケーションレジスタ91に供給すると共に、中央処理部72
からのアドレスを端子88からバッファ51a,51b夫々に供
給する。また、バッファ52a,52bから端子89に入来する
データを内部データバスを介してレジスタ77及びコミュ
ニケーションレジスタ91に供給し、レジスタ77又はコミ
ュニケーションレジスタ91からのデータを端子89からバ
ッファ52a,52bに供給する。また、入出力制御部87に内
蔵されたデータホールディングレジスタ90にはデュアル
転送時の転送データが格納される。
The input / output control unit 87 supplies the address coming from the buffers 51a and 51b to the terminal 88 to the register 77 and the communication register 91 of the central processing unit 72 via the internal address bus according to the instruction of the operation determining unit 73, and also performs the central processing. Part 72
From the terminal 88 to the buffers 51a and 51b, respectively. Further, the data coming from the buffers 52a and 52b to the terminal 89 is supplied to the register 77 and the communication register 91 via the internal data bus, and the data from the register 77 or the communication register 91 is supplied from the terminal 89 to the buffers 52a and 52b. To do. Further, the data holding register 90 built in the input / output control unit 87 stores transfer data at the time of dual transfer.

コミュニケーションレジスタ91はCPU31,41間の通信メ
ッセージを格納する。
The communication register 91 stores communication messages between the CPUs 31 and 41.

割込み制御部92は第3図に示す構成である。 The interrupt controller 92 has the configuration shown in FIG.

第3図において、終了ステータスレジスタ100は4つ
のチャネル(CHO〜CH3)に対応して分けられており、端
子101を介して中央処理部72からチャネル毎の割込み要
求信号が供給されたとき、割込み要求信号が指定するチ
ャネルの領域に内部データバス102を介して中央部処理
部72から供給される終了ステータスを格納する。
In FIG. 3, the end status register 100 is divided corresponding to four channels (CHO to CH3), and when an interrupt request signal for each channel is supplied from the central processing unit 72 via the terminal 101, an interrupt is generated. The end status supplied from the central processing unit 72 via the internal data bus 102 is stored in the area of the channel designated by the request signal.

また、終了ステータスレジスタ100はCPU31又は41から
デコーダ103に内部アドレスバス104を介して所定のアド
レスが供給されると、このデコーダ103の出力信号によ
りチャネル単位でクリアされる。
Further, when a predetermined address is supplied from the CPU 31 or 41 to the decoder 103 via the internal address bus 104, the end status register 100 is cleared in a channel unit by an output signal of the decoder 103.

割込みマクスレジスタ105はチャネル(CHO〜CH3)に
対応して分けられており、アドレスをデコードするデコ
ーダ106の出力信号に指示されたとき、CPU31又は41より
供給されるチャネル毎の割込みマスクの値を格納する。
The interrupt max register 105 is divided corresponding to the channels (CHO to CH3), and when the output signal of the decoder 106 for decoding the address is instructed, the value of the interrupt mask for each channel supplied from the CPU 31 or 41 is set. Store.

上記終了ステータスレジスタ100及び割込みマスクレ
ジスタ105夫々の出力する終了ステータス及び割込みマ
スクはチャネル毎に割込みマスク及び割込み判定回路11
0に供給され、ここでチャネル毎に終了ステータスと割
込みマスクとの比較により割込み可否を判定し、割込み
が可であるときは終了ステータスからバスエラー等によ
る異常終了がデータ転送の終了による正常終了かを判定
し、この判定結果をチャネル毎に割込みチャネル決定回
路111に供給する。
The end status and interrupt mask output by the end status register 100 and the interrupt mask register 105 are the interrupt mask and interrupt judgment circuit 11 for each channel.
It is supplied to 0. Here, the interrupt status is judged by comparing the end status and interrupt mask for each channel, and if the interrupt is enabled, the abnormal status due to the bus error etc. from the end status indicates the normal end due to the end of data transfer. Is determined and the determination result is supplied to the interrupt channel determination circuit 111 for each channel.

割込みチャネル決定回路111には端子109を介してプラ
イオリティレジスタ70aより各チャネルのプライオリテ
ィが供給されており、まず異常終了のチャネルがあれば
そのうちの最もプライオリティの高いチャネルを選択
し、異常終了がなく正常終了のチャネルがあれば正常終
了のチャネルのなかで最もプライオリティの高いチャネ
ルを選択する。各チャネルのプライオリティが例えばチ
ャネルCHOが一番高く、チャネルCH1,チャネルCH2,チャ
ネルCH3の順に小さい場合、チャネルCHOが異常割込みが
最優先され、以下チャネルCH1の異常割込み、チャネルC
H2の異常割込み、チャネルCH3の異常割込み、チャネルC
H0の正常割込み、チャネルCH1の正常割込み、チャネルC
H2の正常割込み、チャネルCH3の正常割込みの順に優先
される。
The priority of each channel is supplied to the interrupt channel determination circuit 111 from the priority register 70a via the terminal 109. First, if there is an abnormally terminated channel, the channel with the highest priority is selected, and there is no abnormal termination and the operation is normal. If there is an ending channel, the channel with the highest priority is selected from the normally ending channels. If the priority of each channel is, for example, highest in channel CHO and smaller in the order of channel CH1, channel CH2, channel CH3, the abnormal interrupt in channel CHO is given the highest priority, and the abnormal interrupt in channel CH1 and channel C
H2 error interrupt, channel CH3 error interrupt, channel C
H0 normal interrupt, channel CH1 normal interrupt, channel C
The H2 normal interrupt and the channel CH3 normal interrupt have priority.

そして選択したチャネルの番号及びそのチャネルが正
常終了か異常終了かを指示する信号を読出制御回路112
に供給すると共に、端子113(第3図では端子93)から
割込みを発生するチャンネルが制御を受けているCPU31,
41のいずれか一方に割込み要求信号IRQ1,IRQ2を出力す
る。
Then, the read control circuit 112 outputs a signal indicating the number of the selected channel and whether the channel ends normally or abnormally.
To the CPU 31, whose channel that generates an interrupt from the terminal 113 (terminal 93 in FIG. 3) is being controlled.
The interrupt request signals IRQ1 and IRQ2 are output to one of 41.

読出制御回路112は端子114を介してスレーブ制御部74
からベクタ要求信号が供給されたとき割込みチャネル決
定回路111からの信号をデコードしてベクタレジスタ115
のアドレスを生成してベクタレジスタ115及びデータセ
レクタ116に供給する。
The read control circuit 112 is connected to the slave control unit 74 via the terminal 114.
When the vector request signal is supplied from the vector register 115, the signal from the interrupt channel determination circuit 111 is decoded to
Address is generated and supplied to the vector register 115 and the data selector 116.

ベクタレジスタ115は4つのチャネル(CHO〜CH3)夫
々毎に正常割込み及び異常割込みの割込みベクタを格納
するもので、これらの割込みベクタはCPU31,41からの所
定のアドレスをデコーダ117がデコードしたときCPU31,4
1から内部データバス102を介して供給され格納される。
内部データバス102を例えば16ビットとすると各割込み
ベクタは8ビットであり、ベクタレジスタ115より内部
データバスの例えば下位8ビットに割込みベクタを送出
するためにデータセレクタ116が設けられている。
The vector register 115 stores an interrupt vector of a normal interrupt and an abnormal interrupt for each of four channels (CHO to CH3). These interrupt vectors are generated when the decoder 117 decodes a predetermined address from the CPU 31, 41. ,Four
It is supplied and stored from 1 via the internal data bus 102.
If the internal data bus 102 has, for example, 16 bits, each interrupt vector has 8 bits, and a data selector 116 is provided to send the interrupt vector from the vector register 115 to, for example, the lower 8 bits of the internal data bus.

ベクタレジスタ115は読出制御回路112の出力するアド
レスから正常割込み又は異常割込みの割込みベクタを読
み出して内部データバス102に送出する。この割込みベ
クタは入出力制御部87を通ってCPU31又は41に供給され
る。
The vector register 115 reads an interrupt vector of a normal interrupt or an abnormal interrupt from the address output from the read control circuit 112 and sends it to the internal data bus 102. This interrupt vector is supplied to the CPU 31 or 41 through the input / output control unit 87.

ここで、端子113から割込み要求信号IRQ1が出力され
た場合、CPU31は割込み要求応答信号IACK1を第4図
(I)に示す如くアサートL(Lレベル)、割込みアク
ノリッジサイクルを実行する。
Here, when the interrupt request signal IRQ1 is output from the terminal 113, the CPU 31 asserts the interrupt request response signal IACK1 at L (L level) as shown in FIG. 4 (I), and executes the interrupt acknowledge cycle.

DMAコントローラ50には第4図(A)に示すクロックC
LKが供給されている。割込みアクノリッジサイクルで、
CPU31から同図(I)に示すLレベルの割込み要求応答
信号のIACK1を供給されるとサイクルTs1で同図(B),
(C)に示すコントロール信号ABEN1,AIN1をLレベルと
する。
The clock C shown in FIG.
LK is supplied. In the interrupt acknowledge cycle,
When IACK1 of the L level interrupt request response signal shown in (I) of the figure is supplied from the CPU 31, in cycle Ts 1 , the same figure (B),
The control signals ABEN1 and AIN1 shown in (C) are set to L level.

また同図(F)に示すHレベルのリード/ライト信号
R/W1によってサイクルTs4で同図(D)に示すコントロ
ール信号DBEN1をLレベルとする(信号DIN1は同図
(E)の如くHレベル)。これによってベクタレジスタ
115から読み出された同図(G)に示す割込みベクタが
出力され、CPU31に送出される。更に同図(H)に示す
データコンプリート信号DC1が出力される。
Further, an H level read / write signal shown in FIG.
The control signal DBEN1 shown in (D) of the figure is set to the L level in the cycle Ts 4 by R / W1 (the signal DIN1 is at the H level as shown in (E) of the figure). This makes the vector register
The interrupt vector shown in FIG. 9 (G) read from 115 is output and sent to the CPU 31. Further, the data complete signal DC1 shown in FIG.

このように異常割込みベクタを正常割込みベクタに優
先してCPU31,41に供給することにより、CPU31,41ではシ
ステム障害の要因を優先的かつ早期に知ることができ、
システム障害に対処できる。これによって二次障害を防
止できる。
In this way, by supplying the abnormal interrupt vector to the CPU31, 41 with priority over the normal interrupt vector, the CPU31, 41 can know the cause of the system failure preferentially and early,
Can handle system failures. This prevents secondary failures.

〔発明の効果〕〔The invention's effect〕

上述の如く、本発明のDMAコントローラによれば、シ
ステム障害の要因を早期にCPUに通知でき、これによっ
て二次障害を防止でき、実用上きわめて有用である。
As described above, according to the DMA controller of the present invention, the cause of the system failure can be notified to the CPU at an early stage, and thus the secondary failure can be prevented, which is extremely useful in practice.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明のDMAコントローラの一実施例のブロッ
ク図、 第2図は本発明のDMAコントローラを用いたシステムの
構成図、 第3図は割込制御部のブロック図、 第4図は割込みアクノリッジサイクルの波形図である。 図において、 30,40はバス、31,41はCPU、32,42はI/Oンターフェー
ス、33,43はメモリ、50はDMAコントローラ、51a,51b,52
a,52bはバッファ、70は転送要求制御部、72は中央処理
部、73は動作決定部、74はスレーブ制御部、77はレジス
タ、80はバス権制御部、83は端子制御部、87は入出力制
御部、91はコミュニケーションレジスタ、92は割込み制
御部、111は割込みチャネル決定回路、112は読出制御回
路、115はベクタレジスタ を示す。
FIG. 1 is a block diagram of an embodiment of a DMA controller of the present invention, FIG. 2 is a configuration diagram of a system using the DMA controller of the present invention, FIG. 3 is a block diagram of an interrupt control unit, and FIG. It is a wave form diagram of an interrupt acknowledge cycle. In the figure, 30,40 is a bus, 31,41 is a CPU, 32,42 is an I / O interface, 33,43 is a memory, 50 is a DMA controller, 51a, 51b, 52
a and 52b are buffers, 70 is a transfer request control unit, 72 is a central processing unit, 73 is an operation determination unit, 74 is a slave control unit, 77 is a register, 80 is a bus right control unit, 83 is a terminal control unit, and 87 is An input / output control unit, 91 is a communication register, 92 is an interrupt control unit, 111 is an interrupt channel determination circuit, 112 is a read control circuit, and 115 is a vector register.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】直接データ転送を別々に行なう複数のチャ
ネルを持つDMAコントローラにおいて、 該複数のチャネルが同時にデータ転送を終了したとき、
システム障害による異常終了のチャネルをデータ転送の
完了した正常終了のチャネルに優先させ、その後予め決
められた該複数のチャネルの優先順位に従って割込みを
行なう単一のチャネルを選択決定する割込みチャネル決
定回路(111)と、 該複数のチャネル夫々毎に該正常終了に対応する正常割
込み及び該異常終了に対応する異常割込み夫々の割込み
ベクタを格納したベクタレジスタ(115)と、 該割込みチャネル決定回路(111)で決定されたチャネ
ル及びその正常終了又は異常終了に応じて該ベクタレジ
スタ(115)から割込みベクタを読み出す読出制御回路
(112)とを有し、 該ベクタレジスタ(115)から読み出した割込みベクタ
を中央処理装置に供給することを特徴とするDMAコント
ローラ。
1. A DMA controller having a plurality of channels for performing direct data transfer separately, wherein when the plurality of channels simultaneously finish data transfer,
An interrupt channel determination circuit that prioritizes a channel that has abnormally terminated due to a system failure over a channel that has normally completed data transfer, and then selects and determines a single channel for interrupting in accordance with a predetermined priority of the plurality of channels ( 111), a vector register (115) storing an interrupt vector for each of the normal interrupt corresponding to the normal end and the abnormal interrupt corresponding to the abnormal end for each of the plurality of channels, and the interrupt channel determination circuit (111) And a read control circuit (112) for reading an interrupt vector from the vector register (115) in accordance with the normal termination or abnormal termination of the channel determined by A DMA controller characterized by being supplied to a processing device.
JP63055899A 1988-03-09 1988-03-09 DMA controller Expired - Lifetime JP2504512B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP63055899A JP2504512B2 (en) 1988-03-09 1988-03-09 DMA controller
EP89302139A EP0332351B1 (en) 1988-03-09 1989-03-03 Direct memory access controller
US07/320,446 US5056011A (en) 1988-03-09 1989-03-08 Direct memory access controller with expedited error control
KR1019890002887A KR920001814B1 (en) 1988-03-09 1989-03-09 Direct memory access controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63055899A JP2504512B2 (en) 1988-03-09 1988-03-09 DMA controller

Publications (2)

Publication Number Publication Date
JPH01229354A JPH01229354A (en) 1989-09-13
JP2504512B2 true JP2504512B2 (en) 1996-06-05

Family

ID=13011964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63055899A Expired - Lifetime JP2504512B2 (en) 1988-03-09 1988-03-09 DMA controller

Country Status (4)

Country Link
US (1) US5056011A (en)
EP (1) EP0332351B1 (en)
JP (1) JP2504512B2 (en)
KR (1) KR920001814B1 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01258163A (en) * 1988-04-08 1989-10-16 Fujitsu Ltd Direct memory access controller
DE69128565T2 (en) * 1990-06-25 1998-06-04 Nec Corp Microcomputer equipped with a DMA controller
GB9019022D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station or similar data processing system including interfacing means to microchannel means
US5664142A (en) * 1990-10-01 1997-09-02 International Business Machines Corporation Chained DMA devices for crossing common buses
US5655147A (en) * 1991-02-28 1997-08-05 Adaptec, Inc. SCSI host adapter integrated circuit utilizing a sequencer circuit to control at least one non-data SCSI phase without use of any processor
JP2561398B2 (en) * 1991-06-14 1996-12-04 日本電気株式会社 Redundant disk controller
US5551010A (en) * 1991-11-19 1996-08-27 Fujitsu Limited Arithmetic operation unit and memory accessing device for accessing primary and secondary cache memories independently of a CPU
US5293495A (en) * 1992-06-29 1994-03-08 Xerox Corporation Method of addressing devices and transferring data on a bus
JP3507524B2 (en) * 1993-06-21 2004-03-15 富士通株式会社 Data processing system with event report word processing function
US5377338A (en) * 1993-10-12 1994-12-27 Wang Laboratories, Inc. Apparatus and methods for reducing numbers of read-modify-write cycles to a memory, and for improving DMA efficiency
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
US5805927A (en) * 1994-01-28 1998-09-08 Apple Computer, Inc. Direct memory access channel architecture and method for reception of network information
US5655151A (en) * 1994-01-28 1997-08-05 Apple Computer, Inc. DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer
US6055584A (en) * 1997-11-20 2000-04-25 International Business Machines Corporation Processor local bus posted DMA FlyBy burst transfers
US6707824B1 (en) * 1998-05-20 2004-03-16 Nortel Networks Limited Method and apparatus for flexible egress traffic queuing
US6622193B1 (en) * 2000-11-16 2003-09-16 Sun Microsystems, Inc. Method and apparatus for synchronizing interrupts in a message passing queue oriented bus system
JP2003050774A (en) * 2001-08-08 2003-02-21 Matsushita Electric Ind Co Ltd Data processor and data transfer method
KR101287285B1 (en) * 2006-06-29 2013-07-17 엘지전자 주식회사 Method and apparatus for processing of interrupt routine, terminal apparatus thereof
CN110909055A (en) * 2019-11-18 2020-03-24 中移(杭州)信息技术有限公司 Data processing method, data processing device, electronic equipment and storage medium

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3999163A (en) * 1974-01-10 1976-12-21 Digital Equipment Corporation Secondary storage facility for data processing systems
US4293908A (en) * 1979-01-31 1981-10-06 Honeywell Information Systems Inc. Data processing system having direct memory access bus cycle
US4649470A (en) * 1980-02-11 1987-03-10 Data General Corporation Data processing system
US4507732A (en) * 1981-10-05 1985-03-26 Burroughs Corporation I/O subsystem using slow devices
JPS59195736A (en) * 1983-04-22 1984-11-06 Nippon Telegr & Teleph Corp <Ntt> Communication controller
JPS6073767A (en) * 1983-09-29 1985-04-25 Fujitsu Ltd Detection system of trouble detector
US4688166A (en) * 1984-08-03 1987-08-18 Motorola Computer Systems, Inc. Direct memory access controller supporting multiple input/output controllers and memory units
DE3584489D1 (en) * 1984-08-16 1991-11-28 Sharp Kk INFORMATION PROCESSOR.
US4751634A (en) * 1985-06-14 1988-06-14 International Business Machines Corporation Multiple port communications adapter apparatus
US4760515A (en) * 1985-10-28 1988-07-26 International Business Machines Corporation Arbitration apparatus for determining priority of access to a shared bus on a rotating priority basis
US4827409A (en) * 1986-07-24 1989-05-02 Digital Equipment Corporation High speed interconnect unit for digital data processing system
US4831523A (en) * 1986-10-31 1989-05-16 Bull Hn Information Systems Inc. Multiple DMA controller chip sequencer
JP2530829B2 (en) * 1987-01-16 1996-09-04 株式会社日立製作所 Direct memory access controller and data transfer method in multi-microcomputer system
US4803622A (en) * 1987-05-07 1989-02-07 Intel Corporation Programmable I/O sequencer for use in an I/O processor

Also Published As

Publication number Publication date
EP0332351A3 (en) 1991-03-27
EP0332351A2 (en) 1989-09-13
KR920001814B1 (en) 1992-03-03
JPH01229354A (en) 1989-09-13
EP0332351B1 (en) 1997-01-15
KR890015142A (en) 1989-10-28
US5056011A (en) 1991-10-08

Similar Documents

Publication Publication Date Title
JP2504512B2 (en) DMA controller
JP3335172B2 (en) Data processing system and input / output processor for use therein
US6192442B1 (en) Interrupt controller
KR920010916B1 (en) Multiprocessor level change synchronization apparatus
US4271466A (en) Direct memory access control system with byte/word control of data bus
US6952749B2 (en) Multiprocessor interrupt handling system and method
US20060259662A1 (en) Data trnasfer apparatus, data transfer method, and program
KR920008448B1 (en) Data process
JP2591181B2 (en) Microcomputer
US20080005387A1 (en) Semiconductor device and data transfer method
JPH02230455A (en) Interruption control system for external memory device
EP0338564B1 (en) Microprogram branching method and microsequencer employing the method
EP0331487B1 (en) Data transfer control system
US10540305B2 (en) Semiconductor device
JPH04302035A (en) Interruption controller
EP0330110B1 (en) Direct memory access controller
US20060026310A1 (en) Computer system having an I/O module directly connected to a main storage for DMA transfer
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
KR20070061240A (en) Apparatus for direct memory access for absolute priority dma request and method thereof
JPH03139751A (en) Dma controller for communication with priority decision function
JPH06250965A (en) Input/output controller
JP2504511B2 (en) DMA controller
JP2002278922A (en) Computer bus system
JPH0736806A (en) Dma system
JP2000132527A (en) Inter-processor communication controller

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term