JPH02307124A - Interruption control system - Google Patents
Interruption control systemInfo
- Publication number
- JPH02307124A JPH02307124A JP1129539A JP12953989A JPH02307124A JP H02307124 A JPH02307124 A JP H02307124A JP 1129539 A JP1129539 A JP 1129539A JP 12953989 A JP12953989 A JP 12953989A JP H02307124 A JPH02307124 A JP H02307124A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- processing
- priority
- level
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 175
- 238000010586 diagram Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000001994 activation Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
Description
【発明の詳細な説明】
[概要]
複数のチャネルが接続されたプログラム制御方式のシス
テムにおけるプログラムの割込み制御方式に関し、
ハードウェアを増加させることなくプログラムの自由度
の大きい割込み制御を実現することを目的とし、
各種制御を行うプロセッサと、該プロセッサとバスを介
して接続されたメモリと、バスに接続された複数個のチ
ャネルインターフェイス部とを具備し、各チャネルの状
態の監視及び制御を前記メモリ内に格納された異なる処
理レベルをもつプログラムによって行う場合において、
前記メモリ内に下位処理レベルから上位処理レベルへの
割込み発生情報を優先度別に管理する割込み管理領域と
、各チャネル別の優先度を保持するチャネル別優先度保
持領域と、各チャネルの処理シーケンス別に優先度を保
持する処理シーケンス別優先度保持領域とを設け、下位
処理レベルから上位処理レベルへの割込み要因が発生し
た場合、この割込み要因がもつ優先度を前記チャネル別
優先度保持領域及び処理シーケンス別優先度保持領域内
の優先度情報より判別し、その情報を基に前記割込み管
理領域内に割込みが発生したことを示す情報を格納し、
プログラムが次に走行する処理レベルを前記割込み管理
領域内の情報に基づいて決定するように構成する。[Detailed Description of the Invention] [Summary] Regarding a program interrupt control method in a program control system in which a plurality of channels are connected, the present invention aims to realize interrupt control with a high degree of program freedom without increasing hardware. It is equipped with a processor that performs various controls, a memory connected to the processor via a bus, and a plurality of channel interface units connected to the bus, and the memory is used to monitor and control the state of each channel. When performed by programs with different processing levels stored in
The memory includes an interrupt management area that manages interrupt occurrence information from a lower processing level to an upper processing level by priority, a channel-specific priority holding area that holds the priority of each channel, and a processing sequence of each channel. A processing sequence-specific priority holding area is provided to hold the priority, and when an interrupt factor from a lower processing level to an upper processing level occurs, the priority of this interrupt factor is stored in the channel-based priority holding area and the processing sequence. Distinguishing from priority information in a separate priority holding area, and storing information indicating that an interrupt has occurred in the interrupt management area based on the information;
The processing level at which the program runs next is determined based on the information in the interrupt management area.
[産業上の利用分野]
本発明は、複数のチャネルが接続されたプログラム制御
方式のシステムにおけるプログラムの割込み制御方式に
関する。[Industrial Application Field] The present invention relates to a program interrupt control method in a program control system in which a plurality of channels are connected.
近年、コンピュータネットワークの拡大、高速化とディ
ジタル技術の進歩発展に伴い、複数の回線(チャネルと
もいう)を1本の伝送路に多重化して伝送する方式が普
及するようになってきている。このような回線を接続す
るシステムには、多重化する複数の回線を効率よく制御
するためにプログラムによる制御方式を採用するものが
ある。In recent years, with the expansion and speeding up of computer networks and the progress and development of digital technology, a method of multiplexing multiple lines (also called channels) into one transmission path has become popular. Some systems for connecting such lines employ a program-based control method in order to efficiently control a plurality of multiplexed lines.
[従来の技術]
第7図は従来システムの構成例を示すブロック図である
。このシステムは、外部的には伝送路1を介して網(ネ
ットワーク)2と接続され、複数のチャネルを1本の伝
送路に多重化した回線を接続したシステムを示している
。[Prior Art] FIG. 7 is a block diagram showing a configuration example of a conventional system. This system is externally connected to a network 2 via a transmission line 1, and shows a system in which a plurality of channels are multiplexed into one transmission line.
図において、3は各種制御を行うプロセッサ、4はバス
5を介してプロセッサ3と接続されるメモリである。該
メモリ4内には、制御プログラムの他、各チャネル毎に
回線制御データを格納するブロックICB、ハードウェ
アの状態に応じてプログラムが行う処理をシーケンス別
にテーブル化したブロックDTB及びシステム全体の制
御データ、エラー情報及びプログラムの動作環境等のデ
ータを保持するシステム管理ブロックSCBが含まれて
いる。In the figure, 3 is a processor that performs various controls, and 4 is a memory connected to the processor 3 via a bus 5. In addition to the control program, the memory 4 contains a block ICB that stores line control data for each channel, a block DTB that tables the processes performed by the program according to the hardware status by sequence, and control data for the entire system. , a system management block SCB that holds data such as error information and program operating environment.
6は複数(n個)のチャネルと伝送路1との間でデータ
の多重化及び分離処理を行う多重化処理部である。7は
各チャネルに接続される端末装置と多重化処理部6との
間でデータフォーマットの整合や送受信のタイミングの
制御及び各種制御線の制御を行うチャネルインターフェ
イス部で、n個存在している。8はこれらチャネルイン
ターフェイス部7及び多重化処理部6からの割込み信号
を受けてプロセッサ3に割込みレベルに応じて割込みを
与える割込み制御回路である。6 is a multiplexing processing unit that performs data multiplexing and demultiplexing processing between a plurality of (n) channels and the transmission line 1; Reference numeral 7 denotes channel interface sections, of which there are n, which perform matching of data formats, control of transmission/reception timing, and control of various control lines between the terminal devices connected to each channel and the multiplexing processing section 6. Reference numeral 8 denotes an interrupt control circuit which receives interrupt signals from the channel interface section 7 and the multiplexing processing section 6 and provides an interrupt to the processor 3 according to the interrupt level.
多重化処理部6には、網2側からの割込み信号をプロセ
ッサ3に与える網側インターフェイス部6aと、同じく
プロセッサ3に最優先の割込み信号を与えるエラー検出
回路6bが含まれる。チャネルインターフェイス部7に
は、エラーを検出するエラー検出回路7a、回線側との
インターフェイスを行う回線側インターフェイス部7b
及び端末側とのインターフェイスを行う端末側インター
フェイス部7Cが含まれる。そして、これらエラー検出
回路7a、回線側インターフェイス部7b及び端末側イ
ンターフェイス部7Cの出力は、それぞれ割込み制御回
路8にフイアドオア接続されて入っており、割込み信号
を割込み制御回路8に与える。割込み制御回路8は、こ
れら割込み信号を受けるとプロセッサ3の割込みレベル
入力し1〜L4に優先度に応じた割込みを与える。割込
みレベルはLlが一番高く、以下L2.L3・・・と続
く。The multiplexing processing unit 6 includes a network side interface unit 6a that provides an interrupt signal from the network 2 side to the processor 3, and an error detection circuit 6b that also provides an interrupt signal with the highest priority to the processor 3. The channel interface section 7 includes an error detection circuit 7a that detects errors, and a line side interface section 7b that interfaces with the line side.
and a terminal-side interface section 7C that interfaces with the terminal side. The outputs of the error detection circuit 7a, the line side interface section 7b, and the terminal side interface section 7C are respectively connected to the interrupt control circuit 8 in a fed-or connection, and provide an interrupt signal to the interrupt control circuit 8. When the interrupt control circuit 8 receives these interrupt signals, it inputs the interrupt level of the processor 3 and gives interrupts to the processors 1 to L4 according to their priorities. As for the interrupt level, Ll is the highest, followed by L2. Continues with L3...
このように構成されたシステムにおいて、プログラムは
メモリ4内に格納されており、プロセッサ3はメモリ4
より命令を読出してプログラムを実行する。この場合に
おいて、多重化処理部6や各チャネルインターフェイス
部7内には、ハードウェアの状態を表示・制御するため
のレジスタが存在し、プログラム(プロセッサ3)はこ
のレジスタをアクセスすることでハードウェアを制御す
る。In the system configured in this way, the program is stored in the memory 4, and the processor 3 is stored in the memory 4.
Read the instructions and execute the program. In this case, there are registers in the multiplexing processing unit 6 and each channel interface unit 7 for displaying and controlling the state of the hardware, and the program (processor 3) can access the hardware by accessing these registers. control.
プログラムにはLlからL5まで(L5は最低レベルで
あり、図面には示されていない)の5つの処理レベルが
あり、各レベルに対応した割込み機能がプロセッサ3に
設けられている。この割込み機能は、割込み制御回路8
を通じてハードウェアの各部と接続されており、ハード
ウェア上のエラーが検出された時、データの送受信が終
了した時又は制御線の状態に変化が生じた時などに、プ
ログラムに対してハードウェアが割込みを発生させるこ
とができるようになっている。The program has five processing levels from L1 to L5 (L5 is the lowest level and is not shown in the drawing), and the processor 3 is provided with an interrupt function corresponding to each level. This interrupt function is performed by the interrupt control circuit 8.
The hardware is connected to each part of the hardware through It is now possible to generate interrupts.
各処理レベルにはそれぞれ優先度があり、ハードウェア
による割込み機能は、その優先度に応じて割込み制御回
路8と接続されている。例えば、第7図において、エラ
ー検出回路6b、7aは最も優先度の高い処理レベルL
1の割込み機能と接続されている。更に、多重化処理部
6における伝送路1の状態変化により割込みは処理レベ
ルL2、各チャネルインターフェイス部7における制御
線の状態変化に伴う割込みは、回線側インターフェイス
に関する処理を処理レベルL3に、端末装置側インター
フェイスに関する処理を処理レベルL4にそれぞれ対応
づけている。なお、最低レベルの処理はレベルL5に割
り当てており、割込みのない時に用いられる。Each processing level has a priority level, and the hardware interrupt function is connected to the interrupt control circuit 8 according to the priority level. For example, in FIG. 7, the error detection circuits 6b and 7a are at the processing level L, which has the highest priority.
It is connected to the interrupt function of 1. Furthermore, interrupts due to changes in the state of the transmission line 1 in the multiplexing processing unit 6 are placed at the processing level L2, and interrupts due to changes in the status of the control line in each channel interface unit 7 are placed at the processing level L3, and the processing related to the line side interface is placed at the processing level L3. Processing related to the side interface is respectively associated with processing level L4. Note that the lowest level processing is assigned to level L5, and is used when there is no interrupt.
第8図はプログラムが使用する制御データの概要を示す
図であり、メモリ4の内部構成を示している。ICB(
Interface Controf Block
)ブロックには、回線制御データが格納されている。こ
の回線制御データは、図に示すように、各チャネル毎に
設けられており、その内部データはICBステータス領
域、現DTBポインタアドレス、次DTBポインタアド
レス及び入力監視ハードウェア・レジスタアドレス1゜
2により構成されている。FIG. 8 is a diagram showing an outline of control data used by the program, and shows the internal structure of the memory 4. As shown in FIG. ICB(
Interface Control Block
) block stores line control data. As shown in the figure, this line control data is provided for each channel, and its internal data is stored in the ICB status area, current DTB pointer address, next DTB pointer address, and input monitoring hardware register address 1.2. It is configured.
DTB (Control Data Block
)ブロックには処理シーケンステーブルが含まれており
、これら処理シーケンステーブルは、ハードウェアの状
態に応じてプログラムが行う処理をシーケンス別にテー
ブル化したものである。この処理シーケンステーブルは
、DTBステータス領域、出カバターン1.2. 入カ
バターン1.2及び次処理シーケンス用DTBアドレス
1.2より構成されている。DTB (Control Data Block
) block contains processing sequence tables, and these processing sequence tables are tables of processing performed by the program according to the hardware state, organized by sequence. This processing sequence table includes the DTB status area, output pattern 1.2. It consists of an input cover turn 1.2 and a DTB address 1.2 for the next processing sequence.
SCB(System Control Bloc
k)ブロックには、システム全体の制御データやエラー
情報及びプログラムの動作環境等のデータを保持するシ
ステム管理領域が格納されている。このシステム管理領
域は、SCBステータス。SCB (System Control Block)
k) The block stores a system management area that holds data such as control data for the entire system, error information, and program operating environment. This system management area is SCB status.
ICBポインタアドレス、参照テーブル、システム動作
モード及び全チャネル数より構成されている。It consists of an ICB pointer address, reference table, system operation mode, and total number of channels.
プログラムは、チャネルナンバより対応する■CBポイ
ンタアドレスを引き出し、ICB領域をアクセスする。The program extracts the corresponding ■CB pointer address from the channel number and accesses the ICB area.
次に、プログラムは各チャネルのICB内の制御データ
にあるDTBポインタアドレスよりDTB内の現処理シ
ーケンスを参照し、割込み要因に対する処理を行う。ま
た、同じDTB内に次シーケンス用のDTBポインタア
ドレスが含まれているので、このアドレスを基にICB
内のDTBポインタアドレスを更新し、処理シーケンス
を進める。Next, the program refers to the current processing sequence in the DTB from the DTB pointer address in the control data in the ICB of each channel, and performs processing for the interrupt factor. Also, since the DTB pointer address for the next sequence is included in the same DTB, the ICB
The DTB pointer address in the DTB pointer is updated and the processing sequence proceeds.
第9図は、従来方式によるプログラムの処理シーケンス
を示す図である。通常、プログラムは処理レベル5を走
行しており、システムの動作モードのチェックやプログ
ラムの動作環境の更新等、最も優先度の低い処理を行っ
ている。処理レベル1は、ハードウェアで発生したエラ
ーに対する処理を行うレベルで最も優先度が高い。処理
レベル2は、多重化処理部6(第7図参照)における伝
送路1の状態変化に応じて制御線の制御や網とのデータ
の送受信を行う。FIG. 9 is a diagram showing a program processing sequence according to the conventional method. Normally, the program is running at processing level 5, performing processing with the lowest priority, such as checking the operating mode of the system and updating the operating environment of the program. Processing level 1 is a level for processing errors that occur in hardware and has the highest priority. At processing level 2, the multiplexing processing section 6 (see FIG. 7) controls the control line and transmits and receives data to and from the network in response to changes in the state of the transmission line 1.
処理レベル3は、主としてチャネルインターフェイス部
7と多重化処理部6との間の制御を行い、処理レベル4
は主としてチャネルインターフェイス部7と端末装置間
の制御に関する動作を行う。Processing level 3 mainly controls between the channel interface section 7 and the multiplexing processing section 6;
mainly performs operations related to control between the channel interface unit 7 and the terminal device.
このようにして、各処理レベル毎に決められた処理が行
われる。In this way, processing determined for each processing level is performed.
第9図において、先ず処理レベル5を実行中に■に示す
処理レベル3への割込みが発生すると、上位レベルの処
理が下位レベルの処理よりも優先するので、プログラム
は処理レベル3に移り、処理レベル3を実行する。次に
、処理レベル3を実行中に■に示す処理レベル2への割
込みが発生すると、プログラムは処理レベル3の実行を
中断し、それよりも優先度の高い処理レベル2の実行を
開始する。そして、処理レベル2の処理が終了すると、
元の処理レベル3の残りの処理を実行する。In FIG. 9, first, when an interrupt to processing level 3 shown in (■) occurs while processing level 5 is being executed, the upper level processing has priority over the lower level processing, so the program moves to processing level 3 and the processing Execute level 3. Next, when an interrupt to processing level 2 shown in (3) occurs while processing level 3 is being executed, the program interrupts execution of processing level 3 and starts executing processing level 2, which has a higher priority. Then, when the processing of processing level 2 is completed,
Execute the remaining processing of the original processing level 3.
ここで、処理レベル3の実行中に■に示す処理レベル4
の割込みが発生すると、処理レベル4は処理レベル3よ
りも優先度が低いので、プログラムはその割込みを受付
ず、処理レベル3の処理を続行する。そして、処理レベ
ル3の処理が終了した後、処理レベル4の実行を開始し
、処理レベル4の処理が終了したら、最低レベルである
処理レベル5の処理に戻る。このように、従来方式では
、ハードウェアからある処理レベルへの割込みが発生す
ると、プロセッサ3は現処理レベルでの処理を中断し、
プログラム実行アドレスを割込み処理レベルに対応した
プログラム領域の先頭アドレスに変更し、新しい処理レ
ベルでの処理を開始する。Here, while processing level 3 is being executed, processing level 4 shown in ■
When an interrupt occurs, since processing level 4 has a lower priority than processing level 3, the program does not accept the interrupt and continues processing at processing level 3. Then, after the processing at processing level 3 is completed, execution at processing level 4 is started, and when the processing at processing level 4 is completed, the processing returns to processing at processing level 5, which is the lowest level. In this way, in the conventional method, when an interrupt to a certain processing level occurs from hardware, the processor 3 interrupts processing at the current processing level, and
The program execution address is changed to the start address of the program area corresponding to the interrupt processing level, and processing at the new processing level is started.
処理が終了すると、プログラムは割込み前の処理レベル
に戻ってそのレベルでの処理を再開する。When processing is completed, the program returns to the processing level before the interrupt and resumes processing at that level.
[発明が解決しようとする課題]
前述したように、従来方式では割込みの優先度はハード
ウェアの構成によって決められている。[Problems to be Solved by the Invention] As described above, in the conventional system, the priority of interrupts is determined by the hardware configuration.
一方、同じ処理レベルへの割込みでも、割込み要因によ
って重要度が異なってくる場合がある。例えば、レベル
3においてチャネルの送受信の起動処理は閉塞処理より
も重要度が高いし、その閉塞処理もデータ送受信中の制
御線の制御よりは優先される。また、同じ起動処理でも
、網側のインターフェイスの起動より端末側の起動の方
が優先度が高い。このように、割込み要因の内容によっ
てさまざまな優先度が存在する。On the other hand, even interrupts to the same processing level may have different degrees of importance depending on the interrupt factor. For example, at level 3, activation processing for channel transmission and reception is more important than blockage processing, and the blockage processing also has priority over control line control during data transmission and reception. Furthermore, even in the same activation process, activation on the terminal side has higher priority than activation of the interface on the network side. In this way, there are various priorities depending on the contents of the interrupt factor.
その一方、その割込み要因がどのチャネルによるものな
のかによっても優先度が異なってくる。On the other hand, the priority differs depending on which channel causes the interrupt.
例えば、ハードウェアの構造上はどのチャネルも同等で
あるが、あるチャネルはその多重化回線の他の複数のチ
ャネルの呼制御を行っている場合がある。このような場
合、このチャネルの制御は他のチャネルの制御より優先
される必要がある。For example, although all channels are equivalent in terms of hardware structure, a certain channel may perform call control for a plurality of other channels of its multiplexed line. In such a case, control of this channel needs to be given priority over control of other channels.
以上、説明したように、さまざまな優先度に応じた割込
み機能をハードウェアによって実現しようとすると、ど
うしても回路が複雑かつ大規模になってしまうという不
具合が発生する。そして、従来技術の構成では割込みの
優先制御の自由度も限られてしまう。As explained above, when attempting to implement interrupt functions according to various priorities using hardware, the problem inevitably occurs that the circuit becomes complex and large-scale. Furthermore, in the configuration of the prior art, the degree of freedom in priority control of interrupts is also limited.
本発明はこのような課題に鑑みてなされたものであって
、ハードウェアを増加させることなくプログラムの自由
度の大きい割込み制御を実現することができる割込み制
御方式を提供することを目的としている。The present invention has been made in view of these problems, and an object of the present invention is to provide an interrupt control method that can realize interrupt control with a high degree of program freedom without increasing hardware.
[課題を解決するための手段] 第1図は本発明方式の原理ブロック図である。[Means to solve the problem] FIG. 1 is a block diagram of the principle of the system of the present invention.
第7図と同一のものは、同一の符号を付して示す。Components that are the same as those in FIG. 7 are designated by the same reference numerals.
図において、3は各種制御を行うプロセッサと、10は
該プロセッサ3とバス5を介して接続されたメモリ、7
はバス5に接続された複数個のチャネルインターフェイ
ス部である。In the figure, 3 is a processor that performs various controls, 10 is a memory connected to the processor 3 via a bus 5, and 7
are a plurality of channel interface units connected to the bus 5.
10aは前記メモリ10内に下位処理レベルから上位処
理レベルへの割込み発生情報を優先度別に管理する割込
み管理領域、10bは各チャネル別の優先度を保持する
チャネル別優先度保持領域、10cは各チャネルの処理
シーケンス別に優先度を保持する処理シーケンス別優先
度保持領域である。Reference numeral 10a indicates an interrupt management area in the memory 10 for managing interrupt occurrence information from a lower processing level to an upper processing level by priority level, 10b indicates a priority holding area for each channel, and 10c indicates a priority holding area for each channel. This is a processing sequence priority holding area that holds priorities for each channel processing sequence.
[作用]
各チャネルの状態の監視及び制御を前記メモリ10内に
格納された異なる処理レベルをもつプログラムによって
行う場合において、下位処理レベルから上位処理レベル
への割込み要因が発生した場合、プロセッサ3はこの割
込み要因がもつ優先度を前記チャネル別優先度保持領域
10b及び処理シーケンス別優先度保持領域10c内の
優先度情報より判別し、その情報を基に前記割込み管理
領域10a内に割込みが発生したことを示す情報を格納
し、プログラムが次に走行する処理レベルを前記割込み
管理領域10a内の情報に基づいて決定するように構成
する。このような構成とすることにより、ハードウェア
を増加させることなくプログラムの自由度の大きい割込
み制御を実現することができる割込み制御方式を提供す
ることができる。[Operation] When the state of each channel is monitored and controlled by programs having different processing levels stored in the memory 10, when an interrupt factor from a lower processing level to an upper processing level occurs, the processor 3 The priority of this interrupt factor is determined from the priority information in the channel-specific priority holding area 10b and the processing sequence-specific priority holding area 10c, and based on the information, an interrupt is generated in the interrupt management area 10a. The processing level in which the program runs next is determined based on the information in the interrupt management area 10a. With such a configuration, it is possible to provide an interrupt control method that can realize interrupt control with a high degree of program freedom without increasing hardware.
[実施例]
以下、図面を参照して本発明の実施例を詳細に説明する
。[Example] Hereinafter, an example of the present invention will be described in detail with reference to the drawings.
第2図は本発明の一実施例を示す構成ブロック図である
。第1図、第7図と同一のものは、同一の符号を付して
示す。メモリ10において、割込み管理領域10aはS
CBブロック内に含まれ、チャネル別優先度保持領域1
0bはICBブロック内に含まれ、処理シーケンス別優
先度保持領域10cはDTBブロック内に含まれる。各
ハードウェアの内のエラー検出回路6b、7aの出力は
ワイアドオアで接続され、割込み制御回路8のレベル1
割込み発生部と接続され、最優先レベルL1となる。FIG. 2 is a block diagram showing an embodiment of the present invention. Components that are the same as those in FIGS. 1 and 7 are designated by the same reference numerals. In the memory 10, the interrupt management area 10a is S
Contained within the CB block, priority retention area 1 for each channel
0b is included in the ICB block, and the processing sequence priority holding area 10c is included in the DTB block. The outputs of the error detection circuits 6b and 7a in each hardware are connected by wired-or, and the level 1 of the interrupt control circuit 8
It is connected to the interrupt generating section and has the highest priority level L1.
その他のハードウェアからの割込み要因は、全てワイア
ドオアで接続され、割込み制御回路8のレベル2割込み
発生部と接続されている。この結果、レベル3以下の割
込みはプログラムによってしか発生できないようになっ
ている。割込み制御回路8内には、各ハードウェアから
割込みが発生した時、どのチャネルからの割込みである
かを示すチャネル(CH)保持レジスタ8aが設けられ
ている。All interrupt factors from other hardware are wired-OR connected and connected to the level 2 interrupt generation section of the interrupt control circuit 8. As a result, interrupts of level 3 or lower can only be generated by a program. The interrupt control circuit 8 is provided with a channel (CH) holding register 8a that indicates from which channel when an interrupt occurs from each piece of hardware.
第3図は割込み管理領域10aの構成例を示す図である
。図に示すように、優先変則にブロック化されており、
優先度情報はその割込み管理領域内の該当する優先変則
ブロックをアクセスするためのポインタアドレスとなっ
ている。各ブロックの先頭には、割込み発生カウンタと
割込み処理カウンタがある。プログラムは、割込み発生
カウンタ値を更新した後、その値を基に割込み要因情報
を各ブロックの割込み要因情報保持領域に書込む。FIG. 3 is a diagram showing an example of the configuration of the interrupt management area 10a. As shown in the figure, it is blocked by priority irregularities,
The priority information is a pointer address for accessing the corresponding priority irregular block within the interrupt management area. At the beginning of each block, there is an interrupt occurrence counter and an interrupt processing counter. After updating the interrupt occurrence counter value, the program writes interrupt factor information to the interrupt factor information holding area of each block based on the updated value.
この割込み発生カウンタは、割込み要因情報を各ブロッ
ク内において格納する場所を示すオフセット値となって
おり、サイクリックに使用される。This interrupt occurrence counter is an offset value indicating a location in each block where interrupt cause information is stored, and is used cyclically.
割込み処理カウンタは、割込み要因に対する処理が終了
する度に更新されるカウンタであり、未処理の割込み要
因情報の場所を示すオフセット値ともなっている。The interrupt processing counter is a counter that is updated every time processing for an interrupt factor is completed, and also serves as an offset value indicating the location of unprocessed interrupt factor information.
第4図は本発明によるDTBとICBの構成例を示す図
である。第8図に示す従来例と比較して、DTBブロッ
クでは処理シーケンス別優先度保持領域10cが、IC
Bブロックではチャネル別優先度保持領域10bが含ま
れている点が異なっている。 このように構成されたシ
ステムの動作を第5図に示すフローチャートに沿って説
明すれば、以下のとおりである。FIG. 4 is a diagram showing a configuration example of a DTB and an ICB according to the present invention. In comparison with the conventional example shown in FIG. 8, in the DTB block, the processing sequence priority holding area 10c is
The B block is different in that it includes a channel-specific priority holding area 10b. The operation of the system configured as described above will be explained below according to the flowchart shown in FIG.
初めに、割込みの優先制御に関する処理を説明する。最
優先レベルであるエラー処理以外の割込みが発生した場
合について考える。この割込みが発生すると、プログラ
ムは直ちに処理レベル2に移行する。処理レベル2にお
いて、プログラムは割込み制御回路8内の割込み要因レ
ジスタ(図示せず)にセットされた情報を読出して割込
み要因の解析を行う。それと同時に、プログラムはCH
保持レジスタ8aに保持されたデータから発生したチャ
ネルを認識する。First, processing related to interrupt priority control will be explained. Consider the case where an interrupt other than error processing, which has the highest priority level, occurs. When this interrupt occurs, the program immediately shifts to processing level 2. At processing level 2, the program reads information set in an interrupt cause register (not shown) in the interrupt control circuit 8 and analyzes the interrupt cause. At the same time, the program is
The channel generated from the data held in the holding register 8a is recognized.
このようにして割込みがどのチャネルで発生したか判別
したら、プログラムは対応するICB内のそのチャネル
に対応するICBポインタアドレスを引き出す(Sl)
。このようにして当該チャネルのIcB領域がアクセス
できたら、そのチャネルの優先度をチャネル別優先度保
持領域10bから読出し、現ICBの優先度がレベル2
であるかどうかチェックする(S2)。チャネル別の優
先度は2レベルあり、優先度が高い場合には処理レベル
2が選択される。そして、該当割込み要因に対する処理
をICB、DTBを用いて行う(S3)。この場合、処
理シーケンス毎の優先度には依存しない。Having thus determined in which channel the interrupt occurred, the program retrieves the ICB pointer address corresponding to that channel in the corresponding ICB (Sl)
. When the IcB area of the channel can be accessed in this way, the priority of that channel is read from the channel-specific priority holding area 10b, and the priority of the current ICB is set to level 2.
It is checked whether it is (S2). There are two levels of priority for each channel, and when the priority is high, processing level 2 is selected. Then, processing for the corresponding interrupt factor is performed using ICB and DTB (S3). In this case, it does not depend on the priority of each processing sequence.
優先度がレベル2よりも低い場合には、処理シーケンス
毎の優先度により処理レベルを選択する。If the priority is lower than level 2, the processing level is selected based on the priority of each processing sequence.
そのチャネルが現在どの処理シーケンスにあるかは、I
CBブロック内の制御データがら引き出すことができる
。プログラムは、rcBブロック内の現DTBポインタ
アドレスを引出しくS4)、現在の処理シーケンスに対
応したDTB領域をアクセスし、その領域内の処理シー
ケンス別優先度保持領域10cから優先度情報を読出す
。Which processing sequence the channel is currently in is determined by I
Control data within the CB block can be extracted. The program extracts the current DTB pointer address in the rcB block (S4), accesses the DTB area corresponding to the current processing sequence, and reads priority information from the processing sequence priority holding area 10c in that area.
そして、現処理シーケンスの優先度がレベル2であるか
どうかチェックする(S5)。そうであった場合にはス
テップS3を実行する。そうでなかった場合には、プロ
グラムは現処理シーケンスの優先度に応じ割込み管理領
域10a内の該当する優先度別ブロックに割込み要因情
報を書込む。Then, it is checked whether the priority of the current processing sequence is level 2 (S5). If so, step S3 is executed. If this is not the case, the program writes the interrupt factor information to the corresponding priority block in the interrupt management area 10a according to the priority of the current processing sequence.
また、割込み発生カウンタを更新する(S6)。Also, an interrupt occurrence counter is updated (S6).
具体的には、プログラムは優先度情報を基に割込み管理
領域10aの該当する領域をアクセスする。割込み管理
領域10aの内部構成は、第3図について説明したよう
な構成となっており、優先度別ブロックに割込み要因情
報を書込む。割込み要因情報を割込み管理領域10aに
登録する処理が終わると、プログラムは割込み管理領域
10aの中でも最も優先度が高いブロックからアクセス
し、未処理の割込み要因情報があれば、その優先度に応
じた処理レベルを選択する。ここで、未処理の割込み要
因情報があるかどぅがは割込み処理カウンタと割込み発
生カウンタの値を比較することにより識別する(S7)
。Specifically, the program accesses the corresponding area of the interrupt management area 10a based on the priority information. The internal configuration of the interrupt management area 10a is as described with reference to FIG. 3, and interrupt cause information is written in blocks classified by priority. When the process of registering interrupt factor information in the interrupt management area 10a is completed, the program accesses the block with the highest priority in the interrupt management area 10a, and if there is unprocessed interrupt factor information, it accesses the block according to the priority. Select the processing level. Here, whether or not there is unprocessed interrupt factor information is identified by comparing the values of the interrupt processing counter and the interrupt occurrence counter (S7).
.
そして、これら2つのカウンタのカウント値が一致した
かどうかチェックする(S8)。これら2つのカウント
値が等しい時、そのブロック内には未処理の割込み要因
情報はないことになる。従って、この場合には全ての優
先度別ブロックをチェックしたかどうか判断しくS9)
、Noの場合にはチェックする優先度別ブロックを変
えてステップS7を実行する。YESの場合には全ての
割込み処理が終了したことになるので、処理レベル5に
戻る(S 10)。Then, it is checked whether the count values of these two counters match (S8). When these two count values are equal, there is no unprocessed interrupt factor information in that block. Therefore, in this case, it is difficult to judge whether all priority blocks have been checked (S9).
, in the case of No, the priority block to be checked is changed and step S7 is executed. If YES, it means that all interrupt processing has been completed, so the process returns to processing level 5 (S10).
ステップS8において、2つのカウンタ値が一致しなか
った場合には、該当する優先度に応じた処理レベルに移
行する(Sll)。新しい処理レベルにおいて、プログ
ラムは割込み管理領域10a内のそれレベルに該当する
優先度別ブロックをアクセスして割込み処理カウンタ値
からこれから処理する割込み要因情報を引出す(S 1
2)。その情報からICBブロックの該当するチャネル
の領域をアクセスしく第4図参照)、ICBブロックに
セットされている現DTBポインタアドレスにより現在
の処理シーケンスに対応し・たDTBをアクセスする。In step S8, if the two counter values do not match, the process moves to the processing level corresponding to the corresponding priority (Sll). At the new processing level, the program accesses the priority block corresponding to that level in the interrupt management area 10a and extracts the interrupt cause information to be processed from now on from the interrupt processing counter value (S1
2). From this information, the corresponding channel area of the ICB block is accessed (see FIG. 4), and the DTB corresponding to the current processing sequence is accessed using the current DTB pointer address set in the ICB block.
そして、割込み要因情報とDTBブロック内の情報によ
り、プログラムはハードウェアに対する処理を決定し、
実行する(S 13)。Then, based on the interrupt factor information and the information in the DTB block, the program determines the processing for the hardware,
Execute (S13).
DTBブロック内には、次の処理シーケンスに対応した
DTBポインタアドレスが保持されており、プログラム
がこのアドレスによりJCBブロック内の現DTBポイ
ンタアドレスを更新する。A DTB pointer address corresponding to the next processing sequence is held in the DTB block, and the program updates the current DTB pointer address in the JCB block with this address.
こうして全ての処理が終わると、プログラムは割込み管
理領域10a内の該当するブロックの割込み処理カウン
タを更新し、次に実行する処理レベルを処理レベル2に
おける制御と同様にして決定する。未処理の割込み要因
情報が割込み管理領域10a内の全優先変則ブロックに
おいて存在しない場合には処理レベル5へ戻る。When all processing is completed in this manner, the program updates the interrupt processing counter of the corresponding block in the interrupt management area 10a, and determines the processing level to be executed next in the same manner as control at processing level 2. If unprocessed interrupt factor information does not exist in all priority irregular blocks within the interrupt management area 10a, the process returns to processing level 5.
第6図は本発明方式によるプログラムの処理シーケンス
を示す図である。プログラムが処理レベル5を実行中に
、■に示すように処理レベル3相当の割込み要因が発生
したものとする。プログラムは直ちに処理レベル2に移
り、割込み要因の解析を行う。その結果、処理レベルが
レベル3に移行する。そして、処理レベル3の実行中に
■に示すように処理レベル2相当の割込み要因が発生し
たものとする。FIG. 6 is a diagram showing a program processing sequence according to the method of the present invention. Assume that while the program is executing processing level 5, an interrupt factor corresponding to processing level 3 occurs as shown in (3). The program immediately moves to processing level 2 and analyzes the cause of the interrupt. As a result, the processing level shifts to level 3. Assume that an interrupt factor equivalent to processing level 2 occurs during execution of processing level 3, as shown in (3).
プログラムは処理レベル3の実行を中断して再び処理レ
ベル2に移行し、割込み要因の解析を行う。その結果、
レベル2が一番高い優先度であるので、そのまま処理レ
ベル2の処理を実行する。The program interrupts execution of processing level 3, moves to processing level 2 again, and analyzes the cause of the interrupt. the result,
Since level 2 has the highest priority, the processing of processing level 2 is executed as is.
処理レベル2の処理が終了したら、中断されていた処理
レベル3に移行し処理レベル3の処理を再開する。When the processing at processing level 2 is completed, the processing moves to processing level 3, which has been interrupted, and the processing at processing level 3 is restarted.
ここで、処理レベル3を実行中に■に示すように処理レ
ベル4相当の割込み要因が発生したものとする。プログ
ラムはレベル3の処理を中断し、再度レベル2に移行し
、割込み要因の解析を行う。Here, it is assumed that an interrupt factor equivalent to processing level 4 occurs while processing level 3 is being executed, as shown in (3). The program interrupts level 3 processing, moves to level 2 again, and analyzes the cause of the interrupt.
そして、その結果処理レベル4は処理レベル3よりも優
先度が低いので、プログラムは処理レベル3に戻り処理
レベル3の残りの処理を実行する。As a result, since processing level 4 has a lower priority than processing level 3, the program returns to processing level 3 and executes the remaining processing of processing level 3.
処理レベル3の処理が終了したら、処理レベルがレベル
4に移行し、処理レベル4の処理を実行する。そして、
処理レベル4の処理が終了したら、最低優先レベルであ
る処理レベル5に移行し、レベル5の処理を再開する。When the processing at processing level 3 is completed, the processing level shifts to level 4, and the processing at processing level 4 is executed. and,
When the processing at processing level 4 is completed, the process moves to processing level 5, which is the lowest priority level, and the processing at level 5 is restarted.
[発明の効果]
以上、詳細に説明したように、本発明によれば、下位処
理レベルから上位処理レベルへの割込み要因が発生した
場合、プロセッサはこの割込み要因がもつ優先度を前記
チャネル別優−先度保持領域及び処理シーケンス別優先
度保持領域内の優先度情報より判別し、その情報を基に
前記割込み管理領域内に割込みが発生したことを示す情
報を格納し、プログラムが次に走行する処理レベルを前
記割込み管理領域内の情報に基づいて決定するように構
成することにより、ハードウェアを増加させることなく
プログラムの自由度の大きい割込み制御を実現すること
ができる割込み制御方式を提供することができる。[Effects of the Invention] As described above in detail, according to the present invention, when an interrupt factor from a lower processing level to an upper processing level occurs, the processor sets the priority of this interrupt factor to the channel-specific priority. - Distinguish from the priority information in the priority holding area and the priority holding area for each processing sequence, and store information indicating that an interrupt has occurred in the interrupt management area based on that information, and the program will run next. To provide an interrupt control method capable of realizing interrupt control with a high degree of freedom in a program without increasing hardware by configuring the processing level to be determined based on information in the interrupt management area. be able to.
第1図は本発明方式の原理ブロック図、第2図は本発明
の一実施例を示す構成ブロック図、
第3図は割込み管理領域の構成例を示す図、第4図は本
発明によるDTBとICBの構成例を示す図、
第5図は本発明方式の動作を示すフローチャート、
第6図は本発明方式によるプログラムの処理シーケンス
を示す図、
第7図は従来システムの構成例を示すブロック図、
第8図はプログラムが使用する制御データの概要を示す
図、
第9図は従来方式によるプログラムの処理シーケンスを
示す図である。
第1図において、
3はプロセッサ、
5はバス、
7はチャネルインターフェイス部、
8は割込み制御回路、
10はメモリ、
10aは割込み管理領域、
10bはチャネル別優先度保持領域、
10cは処理シーケンス別優先度保持領域で、ある。FIG. 1 is a block diagram of the principle of the method of the present invention, FIG. 2 is a block diagram of the configuration of an embodiment of the present invention, FIG. 3 is a diagram of an example of the configuration of an interrupt management area, and FIG. 4 is a block diagram of the DTB according to the present invention. FIG. 5 is a flowchart showing the operation of the method of the present invention; FIG. 6 is a diagram showing a program processing sequence according to the method of the present invention; FIG. 7 is a block diagram showing an example of the configuration of a conventional system. 8 is a diagram showing an outline of control data used by the program, and FIG. 9 is a diagram showing a processing sequence of the program according to the conventional method. In FIG. 1, 3 is a processor, 5 is a bus, 7 is a channel interface section, 8 is an interrupt control circuit, 10 is a memory, 10a is an interrupt management area, 10b is a priority holding area for each channel, and 10c is a priority for each processing sequence. It is in the degree retention area.
Claims (1)
モリ(10)と、 バス(5)に接続された複数個のチャネルインターフェ
イス部(7)とを具備し、 各チャネルの状態の監視及び制御を前記メモリ(10)
内に格納された異なる処理レベルをもつプログラムによ
って行う場合において、 前記メモリ(10)内に下位処理レベルから上位処理レ
ベルへの割込み発生情報を優先度別に管理する割込み管
理領域(10a)と、 各チャネル別の優先度を保持するチャネル別優先度保持
領域(10b)と、 各チャネルの処理シーケンス別に優先度を保持する処理
シーケンス別優先度保持領域(10c)とを設け、 下位処理レベルから上位処理レベルへの割込み要因が発
生した場合、この割込み要因がもつ優先度を前記チャネ
ル別優先度保持領域(10b)及び処理シーケンス別優
先度保持領域(10c)内の優先度情報より判別し、 その情報を基に前記割込み管理領域(10a)内に割込
みが発生したことを示す情報を格納し、プログラムが次
に走行する処理レベルを前記割込み管理領域(10a)
内の情報に基づいて決定するように構成したことを特徴
とする割込み制御方式。[Claims] A processor (3) that performs various controls, a memory (10) connected to the processor (3) via a bus (5), and a plurality of channels connected to the bus (5). and an interface section (7), and the memory (10) monitors and controls the state of each channel.
an interrupt management area (10a) for managing interrupt occurrence information from a lower processing level to an upper processing level according to priority in the memory (10); A channel-by-channel priority holding area (10b) that holds the priority of each channel and a processing sequence-specific priority holding area (10c) that holds the priority of each channel's processing sequence are provided, and the process can be carried out from the lower processing level to the upper processing level. When an interrupt factor occurs, the priority of this interrupt factor is determined from the priority information in the channel-specific priority holding area (10b) and the processing sequence-specific priority holding area (10c), and the information Based on this, information indicating that an interrupt has occurred is stored in the interrupt management area (10a), and the processing level at which the program will run next is stored in the interrupt management area (10a).
An interrupt control method characterized in that the interrupt control method is configured to make a decision based on information in the interrupt control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1129539A JPH02307124A (en) | 1989-05-23 | 1989-05-23 | Interruption control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1129539A JPH02307124A (en) | 1989-05-23 | 1989-05-23 | Interruption control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02307124A true JPH02307124A (en) | 1990-12-20 |
Family
ID=15012028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1129539A Pending JPH02307124A (en) | 1989-05-23 | 1989-05-23 | Interruption control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02307124A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007105251A (en) * | 2005-10-13 | 2007-04-26 | Sankyo Kk | Game machine |
JP2007175204A (en) * | 2005-12-27 | 2007-07-12 | Sankyo Kk | Game machine |
JP2007175437A (en) * | 2005-12-28 | 2007-07-12 | Sankyo Kk | Game machine |
-
1989
- 1989-05-23 JP JP1129539A patent/JPH02307124A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007105251A (en) * | 2005-10-13 | 2007-04-26 | Sankyo Kk | Game machine |
JP2007175204A (en) * | 2005-12-27 | 2007-07-12 | Sankyo Kk | Game machine |
JP2007175437A (en) * | 2005-12-28 | 2007-07-12 | Sankyo Kk | Game machine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3573546B2 (en) | Parallel process scheduling method for parallel computer and processing device for parallel computer | |
US20040139362A1 (en) | Data processing apparatus | |
JPH02307124A (en) | Interruption control system | |
JP2877095B2 (en) | Multiprocessor system | |
JP2594600B2 (en) | Single chip microcomputer | |
JPH08171504A (en) | Emulation device | |
US20010039558A1 (en) | Cache memory management method for real time operating system | |
JPH03147157A (en) | Information processor | |
JP2585905B2 (en) | Multitask execution device | |
KR100498909B1 (en) | Inter-processor communication redundancy device of exchange system | |
JP2002312302A (en) | Peripheral device | |
JP2002215473A (en) | Information processor and multiplex system | |
JPH0520104A (en) | Inter-virtual cluster communication processor | |
JPH10326199A (en) | Interruption synchronizing device in dual system | |
JPH02191042A (en) | Interruption control system | |
JP2644572B2 (en) | Frame overhead processing circuit | |
JPH0555895B2 (en) | ||
JPH07287608A (en) | Dual synchronous controller of programmable controller | |
JPS6337433A (en) | Data processing system | |
JPH06266630A (en) | Input/output controller with trace function | |
JPH0275030A (en) | Input/output control system for virtual computer | |
JPH07114479A (en) | Interruption control system | |
JPH0322142A (en) | Interruption control device for microprocessor | |
JPS63196903A (en) | Programmable controller | |
JPS6120139A (en) | Interruption control system |