JPH06324996A - Integrated circuit and programmable multiprocessor interruption controller system - Google Patents

Integrated circuit and programmable multiprocessor interruption controller system

Info

Publication number
JPH06324996A
JPH06324996A JP6104748A JP10474894A JPH06324996A JP H06324996 A JPH06324996 A JP H06324996A JP 6104748 A JP6104748 A JP 6104748A JP 10474894 A JP10474894 A JP 10474894A JP H06324996 A JPH06324996 A JP H06324996A
Authority
JP
Japan
Prior art keywords
interrupt
processor
bus
controller
mpic
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
JP6104748A
Other languages
Japanese (ja)
Inventor
P K Nizar
ピイ・ケイ・ニザー
David Carson
デビッド・カーソン
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPH06324996A publication Critical patent/JPH06324996A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Programmable Controllers (AREA)
  • Information Transfer Systems (AREA)

Abstract

PURPOSE: To deal with the problem of optimum dynamic and static interruption service in a multiprocessor system. CONSTITUTION: A multiprocessor programmable interruption controller system is provided with an I/O interruption controller for receiving an interruption request from an I/O sub-system, plural processor interruption controllers which are related with the specified processor and distribute received interruptions and an interruption controller bus 103 for mainly transmitting the interruption requests between the interruption controllers by using a standard message format and an arbitration protocol and for arbitrating a bus and priority.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】関連出願のクロス・リファレンス 本件は、マルチプロセッサ・プログラマブル割り込みコ
ントローラ・システムについて、1990年12月21
日に提出された先行出願第07/632,149号の一
部継続出願である。
CROSS REFERENCE TO RELATED APPLICATION This application relates to a multiprocessor programmable interrupt controller system, December 21, 1990.
It is a continuation-in-part application of prior application No. 07 / 632,149 filed on May 28, 2009.

【0002】[0002]

【産業上の利用分野】本発明は、一般に、マルチプロセ
ッサの分野に関するものであり、とりわけ、マルチプロ
セッサ環境において、周辺装置のサービス割り込み要求
を取り扱うように設計された割り込みコントローラに関
するものである。
FIELD OF THE INVENTION The present invention relates generally to the field of multiprocessors, and more particularly to interrupt controllers designed to handle peripheral service interrupt requests in a multiprocessor environment.

【0003】[0003]

【従来の技術】プリンタ、スキャナ、及び、ディスプレ
イ装置のようなコンピュータ部品を含む入力/出力周辺
装置は、適正な機能を確保するため、ホスト・プロセッ
サによる間欠的サービスを必要とする。例えば、サービ
スには、データ配信、データ収集、及び、制御信号の全
てまたはいずれかが含まれる。各周辺装置は、装置のタ
イプだけでなく、そのプログラムされた用途によっても
決まる、異なるサービス・スケジュールを備えているの
が普通である。ホスト・プロセッサは、個々の必要に応
じて、これらの装置間におけるそのサービス・アクティ
ビティを多重化し、同時に、1つ以上のバックグラウン
ド・プログラムを実行する。サービスの必要についてホ
ストに知らせるため、2つの方法、すなわち、ポーリン
グ装置法と装置割り込み法が用いられてきた。前者の方
法では、各周辺装置が、周期的にチェックを行って、サ
ービス要求を示すフラグがセットされているか否かを確
認し、一方、後者の方法では、装置のサービス要求は、
ホストに割り込んで、その現行プログラムから特殊な割
り込みサービス・ルーチンへの分岐を強制することが可
能な、割り込みコントローラに対して経路指定される。
割り込み法は、ホストがポーリングのために不必要なク
ロック・サイクルを充てなくてもよいので、有利であ
る。本発明が取り扱うのは、この後者の方法である。本
発明によって取り扱われる特定の問題は、マルチプロセ
ッサ・システム環境における割り込みの管理である。
BACKGROUND OF THE INVENTION Input / output peripherals, including computer components such as printers, scanners, and display devices, require intermittent servicing by a host processor to ensure proper functionality. For example, services include data distribution, data collection, and / or control signals. Each peripheral device typically has a different service schedule that depends not only on the type of device, but on its programmed use. The host processor multiplexes its service activities among these devices as needed and concurrently executes one or more background programs. Two methods have been used to inform the host about the need for service: the polling device method and the device interrupt method. In the former method, each peripheral device periodically checks to see if a flag indicating a service request is set, while in the latter method, the service request of the device is
Routed to an interrupt controller that can interrupt the host and force a branch from its current program to a special interrupt service routine.
The interrupt method is advantageous because the host does not have to spend unnecessary clock cycles for polling. It is this latter method that the present invention deals with. A particular problem addressed by the present invention is managing interrupts in a multiprocessor system environment.

【0004】しばしば、共通の周辺装置を備えた1組の
ネットワーク・コンピュータから成るマルチプロセッサ
・システムは、割り込み制御法の設計において難題を生
じることになる。例えば、ある数のユーザにサービスを
行うコンピュータ・ネットワークの場合、割り込み取扱
い負荷を何らかの最適なやり方で分散することが極めて
望ましい。優先順位の高いジョブを処理するプロセッサ
は、優先順位の低いジョブプロセッサが利用可能な場
合、この義務から解放されるべきである。最低の優先順
位で動作するプロセッサの場合、割り込みサービス要求
によってかかる負担が均等であることが望ましい。ま
た、特殊環境では、特定のI/O装置が、あらかじめ選
択された(すなわち、フォーカス)プロセッサによるサ
ービスだけしか受けないようにする必要がある。従っ
て、本発明はマルチプロセッサ・システムにおける最適
な動的及び静的割り込みサービスの問題を取り扱うもの
である。
Often, a multiprocessor system consisting of a set of network computers with common peripherals presents a challenge in the design of interrupt control strategies. For example, for a computer network that serves a certain number of users, it is highly desirable to balance the interrupt handling load in some optimal way. Processors that process high priority jobs should be relieved of this obligation if low priority job processors are available. For processors operating at the lowest priority, it is desirable that interrupt service requests be equally burdened. Also, in a special environment, a particular I / O device should only be serviced by a preselected (ie, focus) processor. Accordingly, the present invention addresses the problem of optimal dynamic and static interrupt servicing in multiprocessor systems.

【0005】Intel 82C59A及び82380
プログラマブル割り込みコントローラ(PIC)を典型
とする先行技術は、いくつかの外部割り込み要求入力を
受諾するように設計されている。図1に示すこうしたコ
ントローラの基本構造は、6つの主要ブロックから構成
される: IRR− 割り込み要求レジスタ11は、サービスを要
求するライン16の全割り込みレベル(IRQx)を記
憶する。 ISR− 割り込みサービス・レジスタ12は、サービ
スを受けている全割り込みレベルを記憶し、割り込み終
了(EQI)を受信すると、状況が更新される。 IMR− 割り込みマスク・レジスタ13は、IRR1
1における働きによって、どのIRQライン16にマス
キングを施し、又はどのIRQライン16を割り込み禁
止にすべきかを示すビットを記憶する。 VR− 各IRQライン16毎に1つずつの、1組の
レジスタから成る、ベクトル・レジスタ19は、ホスト
・プロセッサが要求に対するサービスを行うのに必要な
全ての情報を納めた、データ・バス17によってホスト
・プロセッサに供給される、あらかじめプログラムされ
た割り込みベクトル数を記憶している。 PR− 優先順位リゾルバ15は、IRR11によっ
て設定されたビットの優先順位を判定する論理ブロック
であり、ホスト・プロセッサからの割り込み肯定応答サ
イクル(INTA)時に、最高の優先順位が選択され、
ISR12の対応するビットにストローブされる。 Control Logic− 同じPIC内の他の内
部ブロックの動作全体を調整し、IRR11の1つ以上
のビットがアクティブである場合、ホスト入力割り込み
(INT)ライン19を起動し、VR19が、INTA
サイクル時に、割り込みベクトルをデータ・バス17に
送り込むことができるようにし、現在サービスを受けて
いるものより優先順位が等しいか、あるいは、それより
低い全ての割り込みを禁止する。
Intel 82C59A and 82380
The prior art, typified by programmable interrupt controllers (PICs), is designed to accept some external interrupt request inputs. The basic structure of such a controller shown in FIG. 1 consists of six main blocks: IRR--Interrupt request register 11 stores the total interrupt level (IRQx) of line 16 requesting service. The ISR-interrupt service register 12 stores all interrupt levels being serviced and the status is updated upon receipt of an interrupt end (EQI). IMR- interrupt mask register 13 contains IRR1
The action at 1 stores a bit indicating which IRQ line 16 should be masked or which IRQ line 16 should be interrupt disabled. VR--A vector register 19, consisting of a set of registers, one for each IRQ line 16, contains a data bus 17 containing all the information the host processor needs to service the request. Stores a preprogrammed number of interrupt vectors to be supplied to the host processor by. The PR-Priority Resolver 15 is a logic block that determines the priority of the bits set by the IRR 11, the highest priority being selected during an interrupt acknowledge cycle (INTA) from the host processor,
Strobed to the corresponding bit in ISR12. Control Logic-coordinates overall operation of other internal blocks within the same PIC, activates the Host Input Interrupt (INT) line 19 if one or more bits of IRR11 are active, and VR19 causes INTA
During the cycle, it allows the interrupt vector to be driven onto the data bus 17 and inhibits all interrupts of equal or lower priority than the one currently being serviced.

【0006】下記を含むいくつかの異なる方法を用い
て、各種IRQライン16に優先順位が割り当てられて
きた: 1)完全ネスト・モード、 2)自動ローテーション − 等優先順位装置モード、 3)特定ローテーション − 特定優先順位モード。
Priority has been assigned to various IRQ lines 16 using several different methods including: 1) full nest mode, 2) automatic rotation-equal priority device mode, 3) specific rotation. -Specific priority mode.

【0007】完全ネスト・モードは、IRQ入力ライン
16の全てが、最高優先順位から最低優先順位へと配置
された、マルチ・レベル割り込み構造を支援するもので
あり、一般に、IRQ0には、最高の優先順位が割り当
てられ、IRQ7には、最低の優先順位が割り当てられ
る。
Full nest mode supports a multi-level interrupt structure where all of the IRQ input lines 16 are placed from highest priority to lowest priority, and generally IRQ0 has the highest Priorities are assigned and IRQ7 is assigned the lowest priority.

【0008】割り込み装置の優先順位が等しい場合、優
先順位の自動ローテーションは、割り当てられた優先順
位にローテーション(循環シフト)を施して、最近サー
ビスを受けたばかりのIRQラインが、最低の優先順位
になるようにすることによって実現する。この方法によ
れば、割り込みサービスに対するアクセス可能性が、競
合する各装置に対して統計的に平均化されることになり
がちである。
If the interrupting devices have equal priorities, the automatic rotation of priorities rotates the assigned priorities (circular shift) so that the most recently serviced IRQ line is the lowest priority. By doing so. With this method, accessibility to interrupt services tends to be statistically averaged for each competing device.

【0009】特定のローテーション法によれば、ユーザ
が、どのIRQラインに最低の優先順位をつけるべきか
を選択することができるので、ユーザにとって融通が効
くことになり、他の全てのIRQラインには、順次(循
環的に)高くなる優先順位が割り当てられる。
A particular rotation method allows the user to choose which IRQ line should be given the lowest priority, which gives the user more flexibility and allows all other IRQ lines to be given priority. Are assigned sequential (cyclically) higher priorities.

【0010】以上の説明から明らかなように、解説のタ
イプのPIC構造は、多数の周辺装置を備えたユニプロ
セッサ・システムに適合するが、本発明が取り扱う多数
の共用周辺装置を備えたマルチプロセッサ・システムに
は適合しない。
As can be seen from the above description, the described type of PIC structure is compatible with uniprocessor systems with multiple peripherals, but the present invention deals with multiprocessors with multiple shared peripherals. -Not compatible with the system.

【0011】[0011]

【発明が解決しようとする課題】本発明の目的の1つ
は、ローカル・プロセッサと関連ローカル・プロセッサ
割り込みコントローラの両方を単一装置として組み込ん
だ集積回路チップを利用する、マルチプロセッサ・プロ
グラマブル割り込みコントローラ(MPIC)・システ
ムを提供することにある。
SUMMARY OF THE INVENTION One of the objects of the present invention is to utilize a multiprocessor programmable interrupt controller that utilizes an integrated circuit chip that incorporates both the local processor and associated local processor interrupt controller as a single device. (MPIC) system.

【0012】本発明のもう1つの目的は、下記の機能を
含むが、これに限定されない、マルチプロセッサ・プロ
グラマブル割り込みコントローラ(MPIC)・システ
ムを提供することにある: 1)それぞれ、それ自体の割り込みセットを備える複数
I/O周辺装置、 2)選択されたプロセッサに対する割り込みの対称分散
を含む、静的並びに動的マルチプロセッサ割り込み管
理、 3)レベルまたはエッジでトリガされる割り込み要求ピ
ン、ピン毎に選択可能なソフトウェア、 4)ピン毎にプログラム可能な割り込みベクトル及びス
テアリング情報、 5)各オペレーティング・システムによって定義される
プログラマブル・ベクトル・アドレス、 6)割り込みタスクの動的再割り当てのため、プロセッ
サが他のプロセッサに割り込むことができるようにする
プロセッサ間割り込み、 7)マスキング不能割り込み(NMI)、プロセッサの
リセット、及び、システム・デバッギングに関連したシ
ステム全域支援機能の支援。
Another object of the present invention is to provide a multiprocessor programmable interrupt controller (MPIC) system including, but not limited to, the following functions: 1) Each interrupt of its own Multiple I / O peripherals with sets, 2) Static and dynamic multiprocessor interrupt management, including symmetrical distribution of interrupts to selected processors, 3) Level or edge triggered interrupt request pins, per pin Selectable software, 4) Pin-by-pin programmable interrupt vector and steering information, 5) Programmable vector address defined by each operating system, 6) Interrupt processor for dynamic reallocation of interrupt tasks, etc. Interrupting the processor Inter-processor interrupt to be so, 7) masking non Interrupt (NMI), a processor reset, and, support for system-wide support functions related to system debugging.

【0013】本発明のもう1つの目的は、いくつかのプ
ロセッサに大幅な罰金を課さずに、細分性が1の、すな
わち、1度にプロセッサ1つのスケーリングで、システ
ムを支援することにある。
Another object of the present invention is to support a system with a granularity of 1, ie, one processor at a time, without imposing a significant penalty on some processors.

【0014】[0014]

【課題を解決するための手段】本発明は、下記の3つの
主要サブシステムを含む、MPICシステム構造によっ
て、上記の機能を実現する: 1)プロセッサ選択及びベクトル/優先順位情報に関す
る着信転送テーブルを備えた関連I/O周辺装置から割
り込み要求(IRQ)信号を収集するためのI/O−M
PIC装置、 2)部分的に、または、全体として、関連プロセッサに
組み込まれて、それぞれ、保留、ネスティング、及び、
マスキング操作、並びに、プロセッサ間割り込み発生を
含む、特定のシステム・プロセッサに関する割り込み要
求を管理する、関連プロセッサまたは装置に接続され
た、独立した補助装置とすることが可能なローカルMP
IC装置、 3)任意のシステム・バス及びメモリ・バスとは別個
の、I/OとローカルMPICとの間、並びに、ローカ
ルMPIC間における通信専用のI/Oバス。
The present invention implements the above functions with an MPIC system architecture that includes the following three major subsystems: 1) A call forwarding table for processor selection and vector / priority information. I / O-M for collecting interrupt request (IRQ) signals from associated I / O peripherals
A PIC device, 2) partially or wholly incorporated into an associated processor to respectively hold, nest, and
A local MP that can be an independent auxiliary device connected to an associated processor or device that manages masking operations and interrupt requests for a particular system processor, including inter-processor interrupt generation.
IC device, 3) An I / O bus dedicated to communication between I / O and local MPICs, and between local MPICs, separate from any system and memory buses.

【0015】[0015]

【実施例】マルチプロセッサ・プログラマブル割り込み
コントローラ(MPIC)システムについて、解説す
る。以下の解説において、本発明の望ましい実施例の理
解を完全なものにするため、入力ピン、ビット、装置等
の特定の数といった、多くの特定の詳細について記載が
ある。しかし、当該技術の熟練者には明らかなように、
本発明は、こうした特定の詳細にこだわることなく、実
施可能である。他の例では、本発明が不必要に曖昧にな
らないようにするため、周知の回路については、詳細に
示されておらず、ブロック図の形でしか示されていな
い。
EXAMPLE A multiprocessor programmable interrupt controller (MPIC) system will be described. In the following description, numerous specific details are set forth, such as the specific numbers of input pins, bits, devices, etc., to complete the understanding of the preferred embodiments of the present invention. However, as will be appreciated by those skilled in the art,
The present invention may be practiced without adhering to these specific details. In other instances, well-known circuits have not been shown in detail, only in block diagram form, in order not to obscure the invention unnecessarily.

【0016】さらに、本発明の説明においては、現在の
ところ望ましい実施例に固有の信号名を基準にした。こ
れらの特定の名称を基準にしたことについては、本発明
の精神または範囲に対する制限とみなすべきではない。
Furthermore, in describing the present invention, reference has been made to signal names unique to the presently preferred embodiment. References to these particular names should not be construed as limitations on the spirit or scope of the invention.

【0017】マルチプロセッサ・プログラマブル割り込
みコントローラ(MPIC)・システムは、マルチプロ
セッサ環境における割り込みサービスに適合するように
設計されている。この実施は、主として、いくつかの周
辺装置の割り込みが、プログラマブル割り込みコントロ
ーラ(PIC)に助けられた単一プロセッサによってサ
ービスを受ける、ユニプロセッサ・システムに関するも
のである。マルチプロセッサ・システムの場合、グルー
プをなす同様のプロセッサ間において割り込みサービス
の負担を共有することが望ましい場合が多い。これは、
関連グループをなすプロセッサ、及び、プロセッサ間に
おけるタスクの公平な割り当てを決定する機構に対し
て、割り込みサービス要求を同報通信する能力を表して
いる。ユニプロセッサ設計の問題は、大幅に単純にな
る:プロセッサ専用のPICが、各割り込み要求(IR
Q)ラインに優先順位を割り当て、割り当て優先順位に
従って、要求を配列し、プロセッサに必要な情報を送っ
て、適合するサービス・サブルーチンが時宜を得て開始
されるようにする。
The multiprocessor programmable interrupt controller (MPIC) system is designed to accommodate interrupt servicing in a multiprocessor environment. This implementation is primarily concerned with uniprocessor systems in which some peripheral interrupts are serviced by a single processor assisted by a programmable interrupt controller (PIC). In multiprocessor systems, it is often desirable to share the burden of interrupt service among similar processors in a group. this is,
It represents the ability to broadcast interrupt service requests to related groups of processors and to a mechanism that determines the fair allocation of tasks among the processors. The problem of uniprocessor design is greatly simplified: the processor-specific PIC needs to handle each interrupt request (IR
Q) Assigning priorities to lines, arranging requests according to their assigned priorities and sending the necessary information to the processor so that matching service subroutines can be started in a timely manner.

【0018】MPICシステムによって、個々のプロセ
ッサに対する動的割り込みタスク割り当てと静的割り込
みタスク割り当ての両方が可能になる。純粋に静的モー
ドで動作する場合、それは、既定のスケジュールに基づ
いて、各割り込みを割り当てる、ほぼユニプロセッサ・
システムにおけるPICと同様の働きをする。
The MPIC system allows both dynamic and static interrupt task assignments for individual processors. When operating in purely static mode, it allocates each interrupt based on a default schedule, almost a uniprocessor.
It works like a PIC in a system.

【0019】動的モードで動作する場合、MPICは、
プロセッサ間におけるタスクの相対的優先順位を考慮し
て、割り込みタスク割り当てを管理する。
When operating in dynamic mode, the MPIC is
Manage interrupt task assignments, taking into account the relative priority of tasks among processors.

【0020】より一般的な用法では、静的割り込み管理
と動的割り込み管理の両方の要素が必要になることが予
測される。静的割り当ては、例えば、許可の考慮におい
て、サービス・ソフトウェアの共用が排除される場合に
行うことができる。他の環境では、割り込みサービス・
タスクは、共通の周辺サブシステムを共用するプロセッ
サのサブセットに制限されるのが望ましい。極端な場
合、全てのプロセッサが、全周辺サブシステムから割り
込み要求を受けることになる。
It is anticipated that the more general usage will require elements for both static and dynamic interrupt management. Static allocation can be made, for example, when sharing of service software is eliminated in consideration of authorization. In other environments, interrupt service
Tasks are preferably limited to a subset of processors that share a common peripheral subsystem. In the extreme case, all processors will receive interrupt requests from all peripheral subsystems.

【0021】図2は、現在のところ望ましいマルチプロ
セッサ・プログラマブル割り込みコントローラ(MPI
C)・システムのブロック図である。MPIC100
は、3つの主要装置、すなわち、I/O−MPIC装置
102、MPIC−バス103、及び、その1つが10
4で表示されている多数のローカルMPIC装置から構
成される。各I/O−MPIC102は、その関連I/
Oサブシステム101(一般に、周辺装置の集合)か
ら、それぞれ、独自のIRQに対応する割り込みライン
107を受け入れる。I/O−MPICの出力は、全て
のローカルMPIC装置104に対して、必要な識別情
報及び優先順位情報の全てを含む、適正にフォーマッテ
ィングを施されたIRQメッセージを同報通信するMP
ICバス103に結合される。各ローカルMPIC装置
104は、メッセージを調べて、それを受諾すべきか否
かを判定する。2つ以上のローカルMPIC装置104
によって仮に受諾されると、競合する装置間において、
調停手順が呼び出される。優先順位が最低のローカルM
PIC104が調停で勝ちを納め、IRQを受諾して、
適時にその関連プロセッサ105に分配する。
FIG. 2 illustrates the presently preferred multiprocessor programmable interrupt controller (MPI).
C) is a block diagram of the system. MPIC100
Has three main devices, the I / O-MPIC device 102, the MPIC-bus 103, and one of the ten devices.
It is composed of a number of local MPIC devices represented by 4. Each I / O-MPIC 102 has its associated I / O
Each accepts an interrupt line 107 corresponding to its own IRQ from the O subsystem 101 (generally a set of peripherals). The output of the I / O-MPIC is an MP that broadcasts a properly formatted IRQ message containing all the necessary identification and priority information to all local MPIC devices 104.
It is coupled to the IC bus 103. Each local MPIC device 104 examines the message to determine if it should accept it. Two or more local MPIC devices 104
If temporarily accepted by, between competing devices,
The arbitration procedure is called. Local M with lowest priority
PIC104 paid the arbitration, accepted the IRQ,
Timely distribution to its associated processor 105.

【0022】システム・バス30は、マルチプロセッサ
・システムのプロセッサ、メモリ、及び、他の周辺装置
間における通信のための共通手段である。各プロセッサ
及び周辺装置は、メモリ・バス・コントローラ(MB
C)31によって、システム・バス30とインターフェ
イスされる。先行技術によるシステムの場合、システム
・バス30は、割り込み要求トラフィック、割り込みサ
ービス・トラフィック、及び、他の全ての装置間システ
ム・トラフィックを伝送する。本発明は、割り込み要求
トラフィックをMPICバス103に回し、これによっ
て、システム全体の効率を向上させる。
System bus 30 is a common means for communication between processors, memory, and other peripheral devices of a multiprocessor system. Each processor and peripheral is a memory bus controller (MB
C) 31 interfaces with the system bus 30. For prior art systems, system bus 30 carries interrupt request traffic, interrupt service traffic, and all other inter-device system traffic. The present invention routes interrupt request traffic to the MPIC bus 103, thereby improving overall system efficiency.

【0023】B.割り込み制御 マルチプロセッサ・システムにおいて、I/O装置とロ
ーカルMPIC装置の両方の割り込み制御機能は、共同
で、割り込み発生源から割り込みサービス・プロセッサ
に割り込みを配信する責務を果たす。
B. Interrupt Control In a multiprocessor system, the interrupt control functions of both the I / O device and the local MPIC device are jointly responsible for delivering interrupts from the interrupt source to the interrupt service processor.

【0024】各割り込みは、システムにおける他の割り
込みからその割り込みを一意的に識別するアイデンティ
ティ、すなわち、割り込みベクトルを備えている。プロ
セッサは、割り込み(IRQ)を受諾すると、該ベクト
ルを利用して、その割り込みテーブルにおける適合する
ソフトウェア割り込みハンドラの入り口点を突き止め
る。望ましい実施例は、0〜255の範囲で、256
(8ビット)のベクトルを支援する。
Each interrupt has an identity, or interrupt vector, that uniquely identifies that interrupt from other interrupts in the system. When the processor accepts the interrupt (IRQ), it uses the vector to locate the entry point of the matching software interrupt handler in its interrupt table. The preferred embodiment is 256 in the range 0-255.
Supports (8-bit) vectors.

【0025】各割り込みは、8ビット割り込みベクトル
の5つの最上位ビットによって表される割り込み優先順
位、すなわち、0が最低の優先順位で、15が最高の優
先順位をなす16の優先レベルを備えている。このこと
は、16の異なるベクトルは、単一の割り込み優先レベ
ルを共用できることを表している。
Each interrupt has an interrupt priority represented by the five most significant bits of the 8-bit interrupt vector, ie, 16 priority levels, with 0 being the lowest priority and 15 being the highest priority. There is. This means that 16 different vectors can share a single interrupt priority level.

【0026】下記を含むことが可能な、割り込みは、い
くつかの異なる発生源によって発生する: 1)エッジ(レベル遷移)または割り込み入力ピンによ
って明示されるI/O−MPIC装置に接続され、任意
のプロセッサに着信転送可能な外部I/O装置の割り込
み、 2)エッジまたはレベル信号として明示される、常にロ
ーカル・プロセッサだけに向けられる、局所的に接続さ
れる装置の割り込み、 3)3つのプログラマブル・タイマのどれかによってロ
ーカルMPIC内に発生するMPICタイマの割り込
み、 4)ソフトウェア自体の割り込み、プレエンプティブ・
スケジューリング、キャッシュ・メモリのテーブル・ル
ック・アサイド・バッファ(TLB)のフラッシング、
及び、割り込みの回送の支援において、プロセッサ・グ
ループの個々のプロセッサにアドレス指定されるプロセ
ッサ間割り込み、 5)データ・バスにパリティ・エラーを検出するローカ
ルMPIC装置によって発生し、ホストに割り込むバス
・パリティ・エラー割り込み。
Interrupts can be generated by a number of different sources, which can include: 1) Connected to an I / O-MPIC device specified by an edge (level transition) or interrupt input pin, optional. External I / O device interrupts that can be forwarded to any processor, 2) Locally connected device interrupts that are always directed only to the local processor, manifested as edge or level signals, 3) 3 programmable・ MPIC timer interrupt generated in the local MPIC by any of the timers, 4) software interrupt, preemptive
Scheduling, flushing table look aside buffer (TLB) in cache memory,
And, in support of interrupt forwarding, interprocessor interrupts addressed to individual processors of a processor group, 5) Bus parity generated by a local MPIC unit that detects a parity error on the data bus and interrupts the host. -Error interrupt.

【0027】割り込みの宛先は、ゼロ、1、または、シ
ステム内のプロセッサ・グループとすることができる。
各割り込み毎に、異なる宛先を指定することが可能であ
る。送り出し側は、2つの宛先モード、すなわち、物理
モードと論理モードの一方で、割り込みの宛先を指定す
る。
The destination of the interrupt can be zero, one, or a group of processors in the system.
It is possible to specify a different destination for each interrupt. The sending side specifies the destination of the interrupt in one of two destination modes: physical mode and logical mode.

【0028】物理モードの場合、宛先プロセッサは、独
自の8ビットのMPIC−IDによって指定される。単
一宛先または全て宛先に対する同報通信(全て1のMP
IC−ID)の場合に限って、物理宛先モードで指定す
ることができる。
In the physical mode, the destination processor is specified by a unique 8-bit MPIC-ID. Broadcast to a single destination or all destinations (MP of all 1
Only in the case of IC-ID), the physical destination mode can be designated.

【0029】各MPIC装置は、装置の8ビットMPI
C−IDを納めたレジスタを備えている。MPIC−I
Dは、MPIC装置の物理名の働きをする。このID
は、宛先情報の指定に用いることが可能であり、また、
MPICバスに対するアクセスにも利用される。MPI
CがそのMPIC−IDを設定するメカニズムは、実施
例によって決まる。実施例の中には、リセット時にスロ
ット数からピンの一部にMPIC−CDでラッチを施す
ものもある。MPIC−IDは、ソフトウェアによって
読み取られ、書き込まれる。
Each MPIC device is an 8-bit MPI of the device.
It has a register that stores the C-ID. MPIC-I
D acts as the physical name of the MPIC device. This ID
Can be used to specify destination information, and
It is also used to access the MPIC bus. MPI
The mechanism by which C sets its MPIC-ID is implementation dependent. In some embodiments, some of the pins are latched by MPIC-CD from the number of slots at the time of reset. The MPIC-ID is read and written by software.

【0030】MPIC−IDは、物理宛先モードで、M
PICにアドレス指定するために用いられる、また、M
PICバスの用途に用いられる、MPIC装置の物理
「名」の働きをする。
The MPIC-ID is a physical destination mode and is M
Used to address the PIC, also M
It acts as the physical "name" of the MPIC device, which is used for PIC bus applications.

【0031】論理モードの場合、宛先は、32ビットの
宛先フィールドを利用して、指定される。全てのローカ
ルMPIC装置には、割り込みの宛先フィールドの突き
合わせを行って、その受け取り側が、割り込みの目標で
あるか否かを判定することになる、32ビットの論理宛
先レジスタ223が含まれている。各ローカルMPIC
装置における追加32ビットの宛先フォーマット・レジ
スタ221によって、宛先フィールドと宛先フォーマッ
ト・レジスタとの対照を行うべき方法が正確に決められ
る。換言すれば、宛先フォーマット・レジスタ221に
よって、論理宛先情報の解釈が決められる。
In the logical mode, the destination is specified using the 32-bit destination field. All local MPIC devices include a 32-bit logical destination register 223, which will match the destination field of the interrupt to determine if its recipient is the target of the interrupt. Each local MPIC
The additional 32-bit destination format register 221 in the device determines exactly how the destination field and destination format register should be matched. In other words, the destination format register 221 determines the interpretation of the logical destination information.

【0032】宛先フォーマット・レジスタ221は、3
2ビットの宛先情報を下記の2つのフィールドに区分化
される: (1)スカラIDを表すために用いることが可能な符号
化フィールド。符号化フィールドにおける突き合わせで
は、このフィールドにおける値と正確に一致することが
必要とされる。論理モードにおける全てに対する同報通
信を支援するため、全て1の符号化フィールド値は、任
意の符号化値と一致するので、特殊なものとして取り扱
われる。 (2)1組の要素を表すために用いることが可能な復号
化フィールド(またはビット・アレイ)。復号化フィー
ルドにおける突き合わせでは、復号化フィールドにおけ
る対するビット対の少なくとも1つが、両方とも1であ
ることを必要とする。
The destination format register 221 contains 3
The 2-bit destination information is partitioned into two fields: (1) A coded field that can be used to represent a scalar ID. Matching in the encoded field requires an exact match with the value in this field. To support broadcast to all in logical mode, the all-one coded field value matches any coded value and is treated as special. (2) A decoded field (or bit array) that can be used to represent a set of elements. Matching in the decoded field requires that at least one of the corresponding bit pairs in the decoded field are both 1.

【0033】宛先フォーマット・レジスタ221は、ソ
フトウェアによって制御され、宛先情報のどのビットが
符号化フィールドの一部で、どのビットが復号化フィー
ルドの一部であるかを判定する。宛先での突き合わせで
は、両方のフィールドが一致しなければならない。
The destination format register 221 is software controlled and determines which bits of the destination information are part of the encoded field and which bits are part of the decoded field. For destination match, both fields must match.

【0034】各フィールドが実際には何を表しているか
の論理レベルによる解釈は、全くオペレーティング・シ
ステムによって決まる。これらのフィールドは、連続ビ
ットを利用する必要がないことと、どちらかのフィール
ド長をゼロにすることができるということに留意された
い。ゼロ長のフィールドは、必ず一致する。宛先解釈
は、各ローカルMPIC装置によって局所的に実施され
るので、システム内における全ローカルMPIC装置の
宛先フォーマット・レジスタに対して、同一のセット・
アップが施されなければならない。
The logical level interpretation of what each field actually represents is entirely operating system dependent. Note that these fields do not need to utilize consecutive bits and that either field length can be zero. Zero-length fields always match. Since the destination interpretation is performed locally by each local MPIC device, the same set of destination format registers for all local MPIC devices in the system.
Up must be given.

【0035】さらに、宛先指定メカニズムを例示するた
め、次に、異なる解釈を用いた3つの例の利用モードに
ついて解説する。これらは、おそらく、実際に用いられ
る最も一般的なモデルである。 例1:単一レベル・モデル このモデルの場合、宛先情報の32ビットが、全て、復
号化フィールドと解釈される。各ビット位置は、個々の
ローカルMPIC装置に対応する。ビット位置は、物理
MPIC−IDに対応することもあり得るが、これは、
その通りでなくてもかまわない。この案によれば、メン
バのビットを1にセットすることによって、MPIC装
置の任意のグループを指定することができるが、システ
ム毎に、最大32のプロセッサ(またはローカルMPI
C装置)を指定することが可能である。この案では、そ
のビットが宛先アレイ内にセットされている場合、MP
IC装置がアドレス指定される。32の宛先ビットを全
て1にセットすることによって、全てに対する同報通信
が実施される。これによって、システム内の全MPIC
装置が選択されることになる。
To further illustrate the addressing mechanism, three example usage modes with different interpretations will now be described. These are probably the most common models used in practice. Example 1: Single Level Model In this model, all 32 bits of destination information are interpreted as decoded fields. Each bit position corresponds to an individual local MPIC device. The bit position may correspond to the physical MPIC-ID, which is
It doesn't have to be that way. According to this scheme, an arbitrary group of MPIC devices can be designated by setting the member bit to 1, but a maximum of 32 processors (or local MPIs) can be specified for each system.
C device) can be designated. The idea is that if the bit is set in the destination array, then MP
The IC device is addressed. Broadcasting for all is performed by setting all 32 destination bits to one. This allows all MPICs in the system
The device will be selected.

【0036】例2:階層モデル このモデルは、非ゼロ長の符号化及び復号化フィールド
を利用する。符号化フィールドは、ローカルMPIC装
置の静的クラスタを表しており、復号化フィールドにお
けるビット位置は、クラスタ内における個々のローカル
MPIC装置を識別する。クラスタ内における任意の組
をなすプロセッサは、クラスタの命名を行い、クラスタ
内における選択メンバに関して、復号化フィールドにビ
ットをセットすることによって指定することが可能であ
る。これは、32を超えるプロセッサを備えたシステム
を支援し、DASHスタイルのクラスタ・アーキテクチ
ャに一致する。全てに対する同報通信は、32の宛先ビ
ットを全て1にセットすることによって実施される。こ
れによって、全クラスタにおける一致が保証され、各ク
ラスタ毎に、全てのMPICが選択されることになる。
Example 2: Hierarchical Model This model utilizes non-zero length encoded and decoded fields. The encoded field represents a static cluster of local MPIC devices, and the bit positions in the decoded field identify individual local MPIC devices within the cluster. Any set of processors within a cluster can name the cluster and specify for selected members within the cluster by setting a bit in the decode field. This supports systems with more than 32 processors and is consistent with a DASH style cluster architecture. Broadcast to all is performed by setting all 32 destination bits to 1. This ensures a match in all clusters and selects all MPICs for each cluster.

【0037】例3:双峰モデル 符号化フィールドの各値は、個々のローカルMPICの
IDである。このIDは、MPICの物理MPIC−I
Dと同一にすることも可能であるが、これは、そうでな
くてもかまわない。復号化フィールドにおける各ビット
は、既定のグループを表している。この案によれば、符
号化フィールドにおけるそのIDを利用して(及び、グ
ループを選択せずに)、単一MPIC装置にアドレス指
定することもできるし、あるいは、符号化フィールドを
全て1にセットし、復号化フィールドにおけるグループ
を選択することによって、MPICのグループ(または
グループからなるユニオン)をアドレス指定することも
可能である。各MPIC装置は、複数グループのメンバ
とすることが可能である。双峰モデルにおいて全てに対
する同報通信を支援するには、ソフトウェアによって、
システムの全てのローカルMPICを含むグループを決
める必要がある。従って、同報通信は、32の宛先ビッ
トを全て1にセットすることによって実施される。これ
によって、個々のIDが全て一致し、また、全ローカル
装置を含むグループも一致する。
Example 3: Bimodal Model Each value of the coded field is the ID of an individual local MPIC. This ID is the physical MPIC-I of MPIC.
It can be the same as D, but this need not be the case. Each bit in the decoded field represents a predefined group. According to this scheme, it is possible to address a single MPIC device using its ID in the coded field (and without selecting a group), or set the coded field to all ones. However, it is also possible to address a group of MPICs (or a union of groups) by selecting the group in the decoding field. Each MPIC device can be a member of multiple groups. In order to support broadcasting for all in the Souhou model, software
It is necessary to determine a group that includes all local MPICs in the system. Therefore, broadcasting is performed by setting all 32 destination bits to 1. As a result, all the individual IDs match, and also the group including all local devices match.

【0038】各プロセッサは、プロセッサが現在実行し
ているタスクまたはコードの相対的重要性を示すプロセ
ッサ優先順位を備えている。このコードは、プロセスま
たはスレッドの一部とすることも可能であるし、あるい
は、割り込みハンドラとすることも可能である。優先順
位は、タスクの変化に応じて、動的に高くなったり、低
くなったりするので、優先順位の低い割り込みはマスキ
ングされる。プロセッサは、IRQのサービスの直後
に、前に割り込まれたアクティビティに戻る。
Each processor has a processor priority that indicates the relative importance of the task or code the processor is currently executing. This code can be part of a process or thread, or it can be an interrupt handler. The priority is dynamically increased or decreased according to the change of the task, so that the interrupt with the low priority is masked. The processor returns to the previously interrupted activity immediately after servicing the IRQ.

【0039】プロセッサは、そのプロセッサ優先順位
が、所定のグループ内の全プロセッサの中で最低の場
合、そのグループをなすプロセッサ内において優先順位
が最低になる。所定のグループ内において、1つ以上の
プロセッサが同時に最低の優先順位になる場合、利用可
能か否かは、調停プロセスによって決まる。
When a processor has the lowest processor priority among all the processors in a given group, it has the lowest priority among the processors forming the group. The availability is determined by the arbitration process if more than one processor simultaneously has the lowest priority within a given group.

【0040】あるプロセッサが、現在ある割り込みのサ
ービス中である場合、あるいは、現在、その割り込み要
求が保留中の場合、該プロセッサは、その割り込みのフ
ォーカスになる。
If a processor is currently servicing an interrupt, or if the interrupt request is currently pending, it becomes the focus of the interrupt.

【0041】本発明の重要な特徴は、割り込みシステム
の下記の属性を表した、特定の宛先に対する割り込みの
ちょうど1回だけの配信の意味が保証されることであ
る: 1)割り込みの挿入は、拒否されない; 2)割り込み(IRQ)は、失われない; 3)エッジでトリガされる割り込みの場合、同じIRQ
が発生しても、配信が2回以上行われることはない、す
なわち、最初に、そのフォーカス・プロセッサに割り込
みを配信することによって(現在1の場合)、最初の割
り込みが保留中の(サービスが完了していない)同じ割
り込みの複数発生は、全て、ローカルMPIC割り込み
要求レジスタ(IRR)の、その特定の割り込み要求に
対応する保留ビットに保留中として記録される; 4)レベルで起動する割り込みの場合、I/O−MPI
Cの割り込みピンの状態は、その状態がI/O−MPI
C割り込み入力ピンの状態と異なる毎に、宛先ローカル
MPICのIRR保留ビットで再生され、プロセッサが
そのタスクの優先順位を明示的に高くしない限り、宛先
ローカルMPICだけが、割り込み終了(EOI)信号
の実行と同時に、同じIRQを開始する。
An important feature of the present invention is that the exactly one-time delivery of an interrupt to a particular destination is guaranteed to mean the following attributes of the interrupt system: 1) Interrupt insertion Not rejected; 2) Interrupt (IRQ) is not lost; 3) Same IRQ for edge triggered interrupts
Occurs, the delivery is never made more than once, that is, by first delivering an interrupt to that focus processor (currently 1), the first interrupt is pending (service is Multiple occurrences of the same interrupt (not completed) are all recorded as pending in the pending bit of the local MPIC interrupt request register (IRR) corresponding to that particular interrupt request; If I / O-MPI
The state of the interrupt pin of C is I / O-MPI.
Each time it differs from the state of the C interrupt input pin, it is replayed with the IRR pending bit of the destination local MPIC, and unless the processor explicitly raises the priority of its task, only the destination local MPIC will receive the end of interrupt (EOI) signal. Upon execution, start the same IRQ.

【0042】望ましい実施例は、こうした入力IRQの
着信転送及び宛先プロセッサの選択のための2つのモー
ド、すなわち、固定静的モードと動的最下位優先順位モ
ードを支援する。可能性のある、これらの及びその他の
オペレーティング・システムによって支援されるモード
は、以下の情報によって支援される: 1)各MPIC装置によって知られているMPIC−I
D、 2)I/O−MPICの着信転送テーブルからの宛先ア
ドレス・フィールド、 3)MPIC装置アドレス;各MPIC装置は、それ自
体のアドレスを知っている、 4)あるMPIC装置が現在その割り込みのフォーカス
であるか否か、 5)全プロセッサの優先順位
The preferred embodiment supports two modes for such incoming IRQ call forwarding and destination processor selection: fixed static mode and dynamic lowest priority mode. The possible modes supported by these and other operating systems are supported by the following information: 1) MPIC-I known by each MPIC device.
D, 2) Destination address field from the I / O-MPIC's incoming forwarding table, 3) MPIC device address; each MPIC device knows its own address, 4) one MPIC device is currently in the interrupt Whether or not it is the focus, 5) Priority of all processors

【0043】固定モードは、最も単純な方法である。割
り込みは、I/O MPICによって、特定のIRQに
関する宛先アドレス・フィールドにおける符号化された
全MPICに対して、無条件で同報通信され、一般に
は、単一のMPICが指定される。優先順位情報は、無
視される。宛先プロセッサが、利用可能でなければ、そ
のプロセッサの優先順位が、ローカルMPICに、該プ
ロセッサに対する割り込みの分配をさせるのに十分なほ
ど低くなるまで、割り込みは、宛先プロセッサのローカ
ルMPICにおいて保留状態に保持される。固定着信転
送の結果、: 1)全プロセッサにわたる静的分散、 2)所定の割り込みに対する指定のローカルMPICの
割り当てが生じる。固定着信転送によれば、ソフトウェ
アによって 、あるプロセッサで実行されるドライバ・
コードが結合される場合、既存の単一スレッド装置ドラ
イバが、マルチ・プロセッサ環境において機能すること
が可能になり、MPIC装置は、固定配信モードに合わ
せてプログラムされているので、装置の割り込みが、そ
のドライバが実行される同じプロセッサに送られる。
Fixed mode is the simplest method. Interrupts are unconditionally broadcast by the I / O MPIC to all MPICs encoded in the destination address field for a particular IRQ, and generally a single MPIC is designated. Priority information is ignored. If the destination processor is not available, the interrupt will be pending in the local MPIC of the destination processor until its priority is low enough to cause the local MPIC to distribute the interrupt to that processor. Retained. Fixed call transfer results in: 1) static distribution across processors, 2) assignment of a specified local MPIC to a given interrupt. Fixed call transfer allows software to run a driver that runs on a processor.
When the code is combined, existing single-threaded device drivers are allowed to work in a multi-processor environment and the MPIC device is programmed for fixed delivery mode so that device interrupts The driver is sent to the same processor on which it executes.

【0044】優先順位が最低の着信転送モードの場合、
着信転送アドレス・フィールドによって指定されるグル
ープにおいて利用可能な、優先順位が最低のプロセッサ
が、割り込みのサービスを行うことになる。これら優先
順位が最低のプロセッサのローカルMPICが、それぞ
れ、その関連プロセッサの優先順位を知っているので、
調停プロトコルは、MPICバスで実行され、最低の優
先順位を決定する。
In the call transfer mode with the lowest priority,
The lowest priority processor available in the group specified by the call forwarding address field will service the interrupt. Since each local MPIC of these lowest priority processors knows the priority of its associated processor,
The arbitration protocol runs on the MPIC bus and determines the lowest priority.

【0045】2つ以上のプロセッサが、最低の優先順位
で動作する場合、それらの1つをランダムに選択するこ
とが可能である。追加プロセッサ選択アルゴリズムは、
優先順位が最低のプロセッサ間において割り込みサービ
ス・タスクを均等に拡散することを目的として、プロセ
ッサのランダムな選択の候補となる、優先順位が最低の
残りのプロセッサに適用される。
If two or more processors operate at the lowest priority, it is possible to randomly select one of them. The additional processor selection algorithm is
It applies to the remaining lowest priority processors, which are candidates for random selection of processors, with the goal of spreading the interrupt service tasks evenly among the lowest priority processors.

【0046】C.構造の説明 図2のI/O−MPIC装置102は、図3にさらに詳
細に示されている。割り込み入力ライン107によっ
て、I/O装置が、その割り込みを送り込むための手段
が得られる。エッジ・フィルタ108を用いることによ
って、入力ピンにおいてクリーンなレベル遷移が生じ
る。着信転送テーブル109は、各割り込み入力ピン
(ライン107)毎に、専用の64ビットの項目を備え
ている。前述の先行技術による82C59A/8238
0 PICのIRQピンとは違って、割り込み優先順位
の概念は、本発明のI/O MPIC装置における物理
割り込み入力ピンの位置とは全く関係がない。各入力ピ
ン107の優先順位は、着信転送テーブル109の対応
する項目における8ビット・ベクトルを割り当てること
によって、ソフトウェアでプログラム可能である。
C. Structural Description The I / O-MPIC device 102 of FIG. 2 is shown in more detail in FIG. The interrupt input line 107 provides a means for the I / O device to deliver its interrupt. The use of edge filter 108 results in a clean level transition at the input pin. The incoming call transfer table 109 has a dedicated 64-bit item for each interrupt input pin (line 107). 82C59A / 8238 according to the aforementioned prior art
Unlike the 0 PIC IRQ pin, the concept of interrupt priority has nothing to do with the position of the physical interrupt input pin in the I / O MPIC device of the present invention. The priority of each input pin 107 is software programmable by assigning an 8-bit vector in the corresponding entry of the call forwarding table 109.

【0047】図4には、着信転送テーブルの各64ビッ
ト項目のフォーマットが示されている。各項目の説明は
以下の通りである: ベクトル(0:7): 割り込みベクトルを含む8
ビットのフィールド。 配信モード(8:10): 宛先フィールドにリスト・
アップされたローカルMPICが、この信号を受信する
と、いかに働くべきかを指定する3ビット・フィールド
は、下記の意味を有している: 000 − 固定 − 宛先にリスト・アップされた全
プロセッサに配信する。 001 − 最低優先順位 − 宛先にリスト・アップ
された全プロセッサのうち優先順位が最低のプロセッサ
に配信する。 011 − 遠隔読み取り − ローカル・プロセッサ
がエッジ・トリガ・モードで行うアクセスに備えて、遠
隔レジスタに記憶すべき、そのアドレスがベクトル・フ
ィールド内にある、MPIC装置レジスタの内容を要求
する。 100 − NMI − ベクトル情報を無視して、リス
ト・アップされた全プロセッサのマスキング不能割り込
み(NMI)ピンに配信する;エッジ感応信号として扱
われる。 101 − リセット − プロセッサのリセット・ピ
ンのアサート/アサート解除によって、リスト・アップ
された全てのプロセッサに配信する;アドレス指定され
た全てのローカル・プロセッサをセットする。 110 − デバッグ − ローカルMPICのデバッ
グ・ピンのアサート/アサート解除によって、リスト・
アップされた全てのプロセッサに配信する;レベル感応
信号として扱われる。 111 − ExtINT − 外部的に接続される8
259Aコンパチブル割り込みコントローラにおいて生
じる割り込みとしてリスト・アップされた全プロセッサ
のINTピンに配送する;レベル感応信号として扱われ
る。リセット、デバッグ、及び、ExtINTの配信モ
ードは、I/O装置の割り込みには関連していないとい
う点に留意されたい。リセット及びデバッグは、プロセ
ッサ間割り込みであるが、ExtINTモードは、事実
上の規格である既存の8259A PICとの適合性を
得るために含まれている。
FIG. 4 shows the format of each 64-bit item of the incoming call transfer table. The description of each item is as follows: Vector (0: 7): 8 including interrupt vector
Field of bits. Delivery mode (8:10): List in the destination field
The 3-bit field that specifies how the up-local MPIC, when receiving this signal, should have the following meaning: 000-Fixed-Distributed to all processors listed in the destination. To do. 001-Lowest priority-Delivers to the processor with the lowest priority among all the processors listed in the destination. 011-Remote Read-Requests the contents of an MPIC unit register whose address is in the vector field to be stored in the remote register in preparation for an access made by the local processor in edge-triggered mode. 100-NMI-Ignore vector information and deliver to non-maskable interrupt (NMI) pins of all listed processors; treated as edge sensitive signal. 101-Reset-Deliver to all listed processors by asserting / de-asserting the reset pin of the processor; set all addressed local processors. 110-Debug-A local MPIC debug pin is asserted / de-asserted to
Deliver to all upgraded processors; treated as level sensitive signals. 111-ExtINT-Externally connected 8
Deliver to the INT pins of all processors listed as interrupts that occur in the 259A Compatible Interrupt Controller; treated as level sensitive signals. Note that the reset, debug, and ExtINT delivery modes are not related to I / O device interrupts. Reset and debug are interprocessor interrupts, but ExtINT mode is included for compatibility with the de facto standard existing 8259A PIC.

【0048】 宛先モード(11): 宛先フィールドの解釈: 0 − 物理モード − ビット56:63のMPIC
−IDを利用する。 1 − 論理モード − 32ビット・フィールドは、
オペレーティング・システムによって定義される、論理
宛先である。 配信状況(12): 割り込みの現在の配信状況を含む
2ビットのソフトウェア・読み取り専用フィールド: 0 − 遊休 − 現在のアクティビティがない。 1 − 送信保留 − 送り込まれる他の割り込みによ
って保持されるローカルMPICに送り込まれる割り込
み。このビットは、ソフトウェアによる読み取り専用で
ある、すなわち、着信転送テーブル109に対する32
ビット・ソフトウェアの書き込みは、このビットには影
響しない。 遠隔IRR(14):レベル感応割り込みに関する宛先
ローカルMPICの割り込み要求レジスタ(IRR)・
ビットだけを鏡映し、ビット状況が、対応する割り込み
入力ライン107に一致しない場合、宛先のIRRビッ
トに新しい状況を反映させるI/O−MPICメッセー
ジが送られて、遠隔(ローカルMPIC)IRRビット
に追従をさせる。 トリガ・モード(15):割り込み信号のフォーマット
を表示する: 0 − エッジ感応 1 − レベル感応
Destination Mode (11): Interpretation of Destination Field: 0-Physical Mode-MPIC of bits 56:63
-Use ID. 1-logical mode-32-bit field
It is a logical destination defined by the operating system. Delivery Status (12): A 2-bit software read-only field containing the current delivery status of the interrupt: 0-idle-no current activity. 1-Send Pending-Interrupt sent to the local MPIC held by another interrupt sent. This bit is software read-only, that is, 32 for the call forwarding table 109.
Bit software writes have no effect on this bit. Remote IRR (14): Destination Local MPIC's Interrupt Request Register (IRR) for level sensitive interrupts
If only the bit is mirrored and the bit status does not match the corresponding interrupt input line 107, then an I / O-MPIC message is sent to the destination IRR bit to reflect the new status to the remote (local MPIC) IRR bit. Make them follow. Trigger mode (15): Display interrupt signal format: 0-edge sensitive 1-level sensitive

【0049】マスク(16): マスク状況を表示する: 0 − 非マスク割り込み(NMI) 1 − 優先順位の高いタスクによってブロック可能な
マスク割り込み。 宛先(32:63):オペレーティング・システムによ
って定義される割り込み宛先を表す32ビット・フィー
ルド。図4の下部は、前述の可能性のある2つのフォー
マット、すなわち、宛先プロセッサ毎に1ビットを用い
る32ビットの物理(復号化)フォーマット、及び、8
つの符号化ビットと、24の復号化ビットによって、2
56×24の2次元宛先空間を定義する、8/24ビッ
ト論理フォーマットを表している。
Mask (16): Display mask status: 0-Non-Mask Interrupt (NMI) 1-Mask interrupt that can be blocked by higher priority tasks. Destination (32:63): A 32-bit field that represents the interrupt destination defined by the operating system. The lower part of FIG. 4 shows the two possible formats mentioned above, namely a 32-bit physical (decoding) format with one bit per destination processor and 8
2 with 1 coded bit and 24 decoded bits
8 represents an 8/24 bit logical format that defines a 56 × 24 two-dimensional destination space.

【0050】64ビット幅の着信転送テーブル109
は、上述のように、ハードウェア書き込み及びソフトウ
ェア読み取り専用の配信状況及び遠隔IRRビットを除
き、ホスト・プロセッサの32ビット・アドレス及び3
2のデータ・ライン、DATA/ADDR106を介し
て読み取り/書き込みアクセス可能である。着信転送テ
ーブルの項目は、フォーマッティングが施され、MPI
Cバス送受信装置110によって、全てのローカルMP
IC装置104に対して同報通信される。MPICバス
107のプロトコルは、データ用の4線と、そのクロッ
ク用の1線から成る、5線式同期バスを指定する。メッ
セージ・フォーマットの特定の詳細については、MPI
Cバス・プロトコルに関するセクションにおいて取り扱
うことにする。受諾によって、配信状況が遊休にリセッ
トされる。
64-bit wide incoming transfer table 109
As described above, except for the hardware write and software read-only delivery status and remote IRR bit, the host processor's 32-bit address and 3
Two data lines, read / write accessible via DATA / ADDR 106. The items in the call transfer table are formatted and the MPI
All local MPs are transmitted by the C bus transmitter / receiver 110.
It is broadcast to the IC device 104. The protocol of the MPIC bus 107 specifies a 5-wire synchronous bus consisting of 4 lines for data and 1 line for its clock. See MPI for specific details on message formats.
It will be dealt with in the section on the C-bus protocol. Acceptance resets the delivery status to idle.

【0051】ローカルMPIC装置104は、割り込み
受諾、プロセッサに対する割り込みの分配、及び、プロ
セッサ間割り込みの送信の責務を負っている。割り込み
の着信転送テーブル項目に指定の割り込み配信モードに
基づいて、0、1、または、2以上のMPIC装置が、
割り込みを受諾することができる。ローカルMPIC
は、その関連プロセッサに割り込みを配信できる場合に
限って、割り込みを受諾する。割り込みの受諾は、純粋
に、I/O−MPIC102及びローカルMPIC10
4の問題であるが、プロセッサに対する割り込みの分配
だけは、ローカルMPIC104及びそのローカル・プ
ロセッサ105を必要とする。
The local MPIC device 104 is responsible for accepting interrupts, distributing interrupts to processors, and sending interprocessor interrupts. Based on the interrupt delivery mode specified in the incoming call transfer table item of the interrupt, 0, 1, or 2 or more MPIC devices are
You can accept the interruption. Local MPIC
Accepts an interrupt only if it can deliver it to its associated processor. Accepting an interrupt is purely an I / O-MPIC 102 and a local MPIC 10
Problem 4 is that only distribution of interrupts to the processor requires the local MPIC 104 and its local processor 105.

【0052】I/O−MPIC装置102の着信転送テ
ーブル109は、I/Oサブシステム101に生じた、
所与の割り込みに対応する着信転送テーブル項目をMP
ICバス103を介して同報通信することによって、任
意のプロセッサに送らなければならない可能性のある割
り込みの舵取りの働きをする。
The incoming call transfer table 109 of the I / O-MPIC device 102 is generated in the I / O subsystem 101.
MP the call transfer table entry corresponding to the given interrupt
Broadcasting over the IC bus 103 serves to steer interrupts that may have to be sent to any processor.

【0053】図5には、ローカルMPIC装置104の
構造要素の詳細が示されている。ローカル・ベクトル・
テーブル210は、関連ローカル・プロセッサだけに関
連した割り込みに制限される点を除けば、I/O−MP
IC着信転送テーブル109と同様の機能を果たす。ロ
ーカル・ベクトル・テーブル210は、6つの32ビッ
ト項目を含んでいる。項目201〜202は、タイマ0
〜2に対応し、項目203及び204は、ローカル割り
込み入力ピンに対応し、項目205は、データ優先順位
エラーに関する割り込みの発生を制御する。タイマ項目
200〜202の高位ビットは、他の項目にはないタイ
マに固有のフィールドを含んでいる(後述のタイマに関
する論考において詳述するように)。
FIG. 5 shows details of the structural elements of the local MPIC device 104. Local vector
Table 210 is an I / O-MP, except that it is limited to interrupts associated only with the associated local processor.
It has the same function as the IC incoming call transfer table 109. The local vector table 210 contains six 32-bit items. Items 201-202 are timer 0
2, items 203 and 204 correspond to local interrupt input pins, and item 205 controls the generation of interrupts for data priority errors. The high-order bits of timer items 200-202 contain timer-specific fields not found elsewhere (as detailed in the discussion of timers below).

【0054】図2及び5には、ローカルMPIC装置1
04が独立したエンティティとして示されているが、該
装置は、部分的に、または、まるごと、関連プロセッサ
またはプロセッサ・チップ105に組み込むことが可能
である。これは、ローカルMPIC装置104と関連プ
ロセッサ105の間における通信の効率を改善するため
に行われることもある。例えば、ローカルMPIC装置
の装置203及び204から成るローカル割り込みテー
ブルによって、キャッシュ・メモリに対するより直接的
な経路を形成することが可能になるので、キャッシュ・
メモリ変換ルック・アップ・バッファのフラッシングが
加速される。
2 and 5, a local MPIC device 1 is shown.
Although 04 is shown as a separate entity, the device can be partially or wholly integrated into the associated processor or processor chip 105. This may be done to improve the efficiency of communication between the local MPIC device 104 and the associated processor 105. For example, a local interrupt table consisting of devices 203 and 204 of the local MPIC device allows a more direct path to the cache memory to be formed, thus
Flushing of the memory translation look-up buffer is accelerated.

【0055】図6によって、ローカル・ベクトル・テー
ブル項目200〜205に関連した各種フィールドが定
義される。 ベクトル(0:7): 割り込みベクトルを含む8ビッ
ト・フィールド。 配信モード(DELV)(8:10): 最下位の優先
順位(001)を除く着信転送テーブル109と同じ意
味を有する3ビット・フィールドが、固定(000)と
同義語である。 遠隔IRR(R)(14): このビットは、このロー
カルMPIC装置の割り込みのIRRビットを反映す
る。該ビットは、レベルでトリガされるローカル割り込
みのためだけに用いられ、エッジでトリガされる割り込
みについては定義されず、ソフトウェアによる読み取り
専用である。 トリガ・モード(TM)(15): 0は、エッジ感応
トリガを表し、1は、レベル感応割り込みを表してい
る。ローカル割り込みピン(203、204)は、他の
エッジまたはレベルでトリガされるようにプログラムす
ることが可能であるが、タイマ(200:202)及び
パリティ(205)は、常にエッジに感応する。 マスク(MS)(16): 0は、割り込みを可能に
し、1は、割り込みをマスクする。 モード(M)(17): タイマのモードを選択する;
0は、単発であり、1は、周期的である。 ベース(18:19): カウンタに関して3つの時間
ベースの1つを選択する。(モード及びベースのパラメ
ータについては、タイマ・アーキテクチャに関するセク
ションにおいてさらに述べることにする。)
FIG. 6 defines the various fields associated with the local vector table entries 200-205. Vector (0: 7): An 8-bit field containing the interrupt vector. Delivery mode (DELV) (8:10): A 3-bit field having the same meaning as the incoming call transfer table 109 except for the lowest priority (001) is synonymous with fixed (000). Remote IRR (R) (14): This bit reflects the IRR bit of this local MPIC device interrupt. This bit is used only for level-triggered local interrupts, is not defined for edge-triggered interrupts, and is read-only by software. Trigger Mode (TM) (15): 0 represents an edge sensitive trigger and 1 represents a level sensitive interrupt. The local interrupt pins (203, 204) can be programmed to be triggered on other edges or levels, but the timers (200: 202) and parity (205) are always edge sensitive. Mask (MS) (16): 0 enables interrupts, 1 masks interrupts. Mode (M) (17): Select the timer mode;
0 is a single shot and 1 is periodic. Base (18:19): Select one of three time bases for the counter. (Mode and base parameters will be discussed further in the section on timer architecture.)

【0056】プロセッサは、そのレイアウトがI/O−
MPIC着信転送テーブル109のレイアウトと似てい
る、64ビットの割り込み指令レジスタ220に対する
書き込みを行って、プロセッサ間割り込みを発生する。
着信転送テーブルの項目に非常によく似たプログラマブ
ル・フォーマットが、図7に示されているが、これによ
って、全てのプロセッサが、割り込みを発生することが
可能になり、従って、それが最初に受諾した割り込みを
他のプロセッサに回送することが可能になる。この特徴
も、デバッギングに有効である。割り込み指令レジスタ
220は、ソフトウェアで読み取り・書き取りが行われ
る。 ベクトル(0:7): 送られる割り込みを識別す
る。 配信モード(8:10): 着信転送テーブル109と
同じ解釈。 宛先モード(11): 着信転送テーブル109と
同じ解釈。 配信状況(12): 着信転送テーブル109と
同じ解釈。ローカル・プロセッサが状況をセットし、ロ
ーカルMPICが更新する。ソフトウェアは、このフィ
ールドを読み取ることによって、割り込みが送信された
か否かを確かめ、送信されていれば、割り込み指令レジ
スタ220は、新しい割り込みを受諾する準備ができて
いる。配信状況が遊休(0)になる前に、重ね書きをす
ると、その割り込み状況が、不明確になる(受諾された
かもしれないし、あるいは、受諾されなかったかもしれ
ない)。 レベルアサート解除(14): レベル感応割り込み
(0−アサート解除、1−アサート)のアサート/アサ
ート解除をシミュレートするため、トリガ・モード(1
5)と連係して用いられるビット。例えば、配信モード
がリセットで、トリガ・モードがレベルで、レベルアサ
ート解除が1の場合、アドレス指定されたMPICのプ
ロセッサに対するリセットのアサート解除が生じる。ま
た、この条件によって、全てのMPICがその調停ID
(優先順位が最低の調停におけるタイ・ブレークに用い
られる)をMPIC−IDにリセットする。 トリガ・モード(15): 着信転送テーブル109と
同じ。 遠隔読み取り状況(16:17): 遠隔読み取りレジ
スタ224に含まれるデータ・状況を示す: 00 − 無効 − 遠隔読み取りレジスタ224の内
容が無効であり遠隔MPIC装置は配信ができない。 01 − 進行中 − 遠隔読み取りが進行中であり、
データを待っている。 10 − 有効 − 遠隔読み取りが完了、有効デー
タ。 宛先簡略伝達(18:19): 32ビットの宛先フィ
ールドを設ける必要がないようにして、宛先の指定に用
いられる3ビット・フィールド。これによって、下記の
共通事例に関するビット・フィールド32:63に対応
する第2の32ビット書き込み操作が不要になるので、
ソフトウェアのオーバヘッドが減少する: a)ソフトウェア自体の割り込み、 b)単一固定宛先に対する割り込み、 c)送信プロセッサを含む、宛先フィールド(32:6
3)において命名可能な全てのプロセッサに対する割り
込み、 2ビット・コードは、下記のように解釈される: 00 − 非簡略伝達;宛先フィールド(32:63)
を利用。 01 − 自己;現在のローカルMPICが唯一の宛先
(ソフトウェア割り込みに用いられる)。 10 − 自己を含む全て。 11 − 自己を除く全て;リセット及びデバッグ時に
用いられる。 宛先(32:63): オペレーティング・システムに
よって定義される;着信転送109と同じ。宛先簡略伝
達が宛先フィールド(000)にセットされる場合に限
って利用される。
The layout of the processor is I / O-
Writing to the 64-bit interrupt command register 220, which is similar to the layout of the MPIC incoming call transfer table 109, generates an inter-processor interrupt.
A programmable format that is very similar to the entries in the call forwarding table is shown in Figure 7, but this allows all processors to generate an interrupt, so that it accepts first. The generated interrupt can be forwarded to another processor. This feature is also effective for debugging. The interrupt command register 220 is read / written by software. Vector (0: 7): identifies the interrupt to be sent. Delivery mode (8:10): Same interpretation as the call forwarding table 109. Destination mode (11): Same interpretation as the call transfer table 109. Delivery status (12): Same interpretation as the incoming call transfer table 109. The local processor sets the status and the local MPIC updates. Software reads this field to see if an interrupt was sent, and if so, the interrupt command register 220 is ready to accept a new interrupt. Overwriting before the delivery status becomes idle (0) makes the interrupt status unclear (may or may not have been accepted). Level deassertion (14): To simulate assertion / deassertion of level sensitive interrupts (0-deassert, 1-assert), trigger mode (1
5) Bits used in conjunction with. For example, if the delivery mode is reset, the trigger mode is level, and the level deassert is 1, a deassertion of reset to the processor of the addressed MPIC occurs. Also, under this condition, all MPICs have their arbitration ID.
Reset (used for tie breaks in lowest priority arbitration) to MPIC-ID. Trigger mode (15): Same as the call transfer table 109. Remote Read Status (16:17): Indicates the data / status contained in the remote read register 224: 00-Invalid-The remote MPIC device cannot deliver because the contents of the remote read register 224 are invalid. 01-in progress-remote reading is in progress,
Waiting for data 10-Valid-Remote reading completed, valid data. Destination Short Transfer (18:19): A 3-bit field used to specify the destination without having to provide a 32-bit destination field. This eliminates the need for a second 32-bit write operation corresponding to bit fields 32:63 for the common case below.
The software overhead is reduced: a) the software's own interrupts, b) the interrupt for a single fixed destination, c) the destination field containing the sending processor (32: 6).
Interrupts for all processors that can be named in 3), 2-bit codes are interpreted as follows: 00- non-simplified transmission ; destination field (32:63).
use. 01- Self ; current local MPIC is the only destination (used for software interrupts). 10 -Everything, including self . 11 -all except self ; used during reset and debug. Destination (32:63): Defined by operating system; same as call transfer 109. It is used only when the destination simple transfer is set in the destination field (000).

【0057】I/O−MPIC装置102及び全ローカ
ルMPIC装置104は、MPICバス103を介し
て、メッセージを受信する。MPIC装置は、まず、メ
ッセージの宛先に属しているか否かをチェックして、確
かめる。例えば、前述の32ビット宛先フォーマットの
場合、MPIC−IDレジスタ222における32未満
のID値を備えた各MPIC装置は、そのMPIC−I
Dを利用して、32ビット宛先アレイに索引を付ける。
そのビットがセットされているのが分かれば、MPIC
装置は、このメッセージによってアドレス指定される。
8×24フォーマットの場合、各MPIC装置は、その
24ビット・グループ・リスト・レジスタ(32:5
5)とメッセージのグループ・リストのビット単位によ
るAND演算及び結果生じる全ビットのOR演算を行う
ことによって、そのMPIC−CDが32ビット宛先フ
ィールドのMPIC−CDに等しいか、あるいは、図7
に示すように、グループ・リストのメンバであるかをチ
ェックする。メッセージのMPIC−IDの値が225
の場合、MPIC装置は、同様に、そのメッセージによ
ってアドレス指定されることになる。
The I / O-MPIC device 102 and the all-local MPIC device 104 receive the message via the MPIC bus 103. The MPIC device first checks to see if it belongs to the destination of the message. For example, in the case of the 32-bit destination format described above, each MPIC device having an ID value less than 32 in the MPIC-ID register 222 is assigned to that MPIC-I.
Use D to index into the 32-bit destination array.
If you know that bit is set, MPIC
The device is addressed by this message.
In the 8 × 24 format, each MPIC device has its 24-bit group list register (32: 5).
5) and a bitwise AND operation of the group list of messages and the resulting OR of all bits, or its MPIC-CD is equal to the MPIC-CD of the 32-bit destination field, or FIG.
Check to see if you are a member of the group list, as shown in. The value of MPIC-ID of the message is 225
, The MPIC device will be addressed by that message as well.

【0058】図5のMPICバス送受信及び調停装置2
16は、出力267によって、MPIC−IDレジスタ
222の内容に関連して論理演算を実施する、受諾論理
装置248に対して宛先及びモード情報を送り出す。メ
ッセージが受諾されると、装置226の出力266で得
られるベクトル情報は、復号化され、モード情報と共
に、ベクトル復号化装置228によって3×256ビッ
トのベクトル・アレイ230に送られる。ベクトル復号
化装置228によって復号化されると、8ビットの割り
込みベクトルは、可能性のある256のうちのどのビッ
ト位置が、セットされて、優先順位を示しているかを判
定する。ある割り込みが、サービスを受けている場合、
優先順位が等しいか、それより低い割り込みは、全て、
優先順位付け装置240によって、自動的にマスクされ
る。
MPIC bus transmission / reception and arbitration device 2 of FIG.
16 outputs, via output 267, the destination and mode information to acceptance logic 248, which performs logical operations in relation to the contents of MPIC-ID register 222. If the message is accepted, the vector information available at the output 266 of the device 226 is decoded and sent with the mode information by the vector decoding device 228 to the 3x256 bit vector array 230. When decoded by the vector decoder 228, the 8-bit interrupt vector determines which bit position of the possible 256 is set to indicate priority. If an interrupt is being serviced,
All interrupts with equal or lower priority are
It is automatically masked by the prioritizer 240.

【0059】3×256ビットのベクトル・アレイ23
0は、割り込みに関連した情報を記憶するために用いら
れる256ビットのベクトルから構成される。各レジス
タは、ソフトウェアでは読み取り専用であり、ハードウ
ェアで読み書きされる。レジスタの定義は、下記の通り
である: ISR: サービス中レジスタ231;割り込み終了
(EOI)がプロセッサによって送り出されていない、
現在サービス中の割り込みを示す。 IRR: 割り込み要求レジスタ232;ローカルMP
IC装置によって受諾されたが、プロセッサに分配され
ていない割り込みを納めている。 TMR: トリガ・モード・レジスタ234;着信転送
テーブル項目における送信MPIC−I/O装置トリガ
・モード・ビットによって送信される、割り込みが、レ
ベル感応タイプか、あるいは、エッジ感応タイプかを示
す。
3 × 256 bit vector array 23
0 consists of a 256-bit vector used to store information related to interrupts. Each register is read-only in software and read and written in hardware. The register definitions are as follows: ISR: In Service Register 231; End of Interrupt (EOI) not sent out by processor,
Indicates an interrupt currently in service. IRR: interrupt request register 232; local MP
It contains an interrupt that has been accepted by the IC device but has not been distributed to the processor. TMR: Trigger Mode Register 234; indicates whether the interrupt sent by the Send MPIC-I / O Device Trigger Mode bit in the Call Transfer Table entry is level sensitive or edge sensitive.

【0060】割り込みが、サービス中であり、TMRビ
ットが、エッジタイプを示す0の場合、対応するIRR
ビットは、クリアされ、対応するISRビットがセット
される。TMRビットが、レベルタイプを示す1の場
合、割り込みがサービス中であれば(ISRビットがセ
ットされている)、IRRビットは、クリアされない。
代わりに、IRRビットは、割り込み入力ピンの状態を
反映する。前述のように、レベルでトリガされる割り込
みがアサート解除されるの場合、ソースI/O−MPI
Cは、食い違いを検出して、宛先ローカルMPIC装置
にメッセージを送り、そのIRRビットをクリアする。
If the interrupt is in service and the TMR bit is 0 indicating the edge type, the corresponding IRR
The bit is cleared and the corresponding ISR bit is set. If the TMR bit is 1, indicating the level type, then the IRR bit is not cleared if the interrupt is in service (the ISR bit is set).
Instead, the IRR bit reflects the state of the interrupt input pin. As previously mentioned, if the level-triggered interrupt is deasserted, the source I / O-MPI
C detects the discrepancy and sends a message to the destination local MPIC device, clearing its IRR bit.

【0061】図8には、遠隔IRRビット及び宛先ロー
カルMPIC装置のIRRビットが、割り込み入力(I
NTIN)の状態にいかに追従するかが例示されてい
る。さらに、INTINがある装置によってまだアサー
トされている限りにおいて、割り込みの再アサートがい
かにしてEOIの直後に続くかも示されている。この例
の場合、2つの装置A及びBが、I/O−MPICに対
するレベルトリガ割り込み入力を共有している。装置A
が、ライン(a)で示すようにレベル割り込みを立ち上
げ、ライン(b)で示すように、装置Bによる割り込み
が後続する。結果生じるINTIN信号は、ライン
(c)で示されるように、ライン(a)及びライン
(b)のOR演算による組み合わせである。図3のMP
ICバス送受信装置110によって、INTINと、遠
隔IRRビット、すなわち、ライン(e)に示す着信転
送テーブル104のビット14との排他的OR演算が行
われ、ライン(d)に示す「レベルアサート」及び「レ
ベルアサート解除」が生じる。ローカルMPICのIR
Rビットは、ライン(f)に示すライン(e)の状態に
追従する。ライン(g)には、INTIN信号が、装置
の1つによってまだアサートされている限りにおいて、
割り込みの再アサートがいかにしてEOIの直後に続く
かが示されている。
In FIG. 8, the remote IRR bit and the IRR bit of the destination local MPIC device are shown as interrupt inputs (I
How to follow the state of NTIN) is illustrated. It also shows how interrupt reassertion immediately follows the EOI, as long as INTIN is still asserted by some device. In this example, the two devices A and B share a level triggered interrupt input to the I / O-MPIC. Device A
, Raises a level interrupt as shown in line (a), followed by an interrupt by device B as shown in line (b). The resulting INTIN signal is the ORed combination of line (a) and line (b), as shown by line (c). MP in Figure 3
The IC bus transceiver 110 performs an exclusive OR operation of the INTIN and the remote IRR bit, that is, bit 14 of the incoming transfer table 104 shown in line (e), and performs the "level assert" shown in line (d) and "Level deassertion" occurs. IR of local MPIC
The R bit follows the state of line (e) shown in line (f). On line (g), as long as the INTIN signal is still asserted by one of the devices,
It is shown how the reassertion of an interrupt immediately follows the EOI.

【0062】図9は、ローカルMPIC装置の割り込み
受諾プロセスを表したフローチャートである。メッセー
ジを受信すると、ローカルMPIC装置は、現在のフォ
ーカスになる、すなわち、関連IRRまたはISRビッ
トが、保留中であり、優先順位とは関係なく割り込みを
受諾し、他のローカルMPICに知らせて、優先順位の
調停を打ち切る。これによって、異なるプロセッサに対
する同じ割り込み発生の多重配信が回避され、ユニプロ
セッサ・システムにおける先行技術による割り込み配信
の意味と一致する。ローカルMPIC装置は、現在フォ
ーカスでなければ、他のローカルMPICによる受諾に
ついて傾聴する。2つ以上のMPICが利用可能な場
合、MPICバス・プロトコルと題するセクションで解
説のように、調停を呼び出して、勝者となる(優先順位
が最下位の)装置が判定される。
FIG. 9 is a flowchart showing the interrupt acceptance process of the local MPIC device. Upon receiving the message, the local MPIC device becomes the current focus, ie the associated IRR or ISR bit is pending, accepts the interrupt regardless of priority and informs other local MPICs to take precedence. Terminate the mediation of the ranking. This avoids multiple delivery of the same interrupt occurrence to different processors, consistent with prior art interrupt delivery semantics in uniprocessor systems. The local MPIC device listens for acceptance by another local MPIC if it is not currently in focus. If more than one MPIC is available, arbitration is invoked to determine the winner (lowest priority) device, as described in the section entitled MPIC Bus Protocol.

【0063】メッセージが、NMI、デバッグ、また
は、リセットとして送られる場合、宛先にリスト・アッ
プされた全装置は、図6におけるプロセッサのNMI出
力263、デバッグ・ピン264、または、リセット・
ピン265のアサート/アサート解除を無条件で行う。
ISR231及びIRR232は、バイパスされ、ベク
トル情報は、不明確になる。
If the message is sent as NMI, debug, or reset, all devices listed in the destination will have the processor's NMI output 263, debug pin 264, or reset
Assert / deassert pin 265 unconditionally.
The ISR 231 and IRR 232 are bypassed and the vector information is obscured.

【0064】図5のタスク優先順位レジスタ(TPR)
242には、タスクのスイッチ時、及び、割り込みハン
ドラに入ったり、あるいは、出たりする際のような、明
示的なソフトウェアのアクションのために、動的に変化
を生じる、そのプロセッサのタスクの現在における優先
順位が記憶されている。TPR242は、8ビット・フ
ィールド(0:7)によって、256までの優先レベル
を支援する32ビットのレジスタである。4つの最上位
ビット(4:7)は、16の割り込み優先順位に対応
し、一方、4つの最下位ビット(0:3)は、さらに分
解可能にする。例えば、5つの最上位ビットがゼロで、
3つの最下位ビットが非ゼロのTPR値を利用すること
によって、割り込みを割り当てるための0(遊休)と1
の間におけるタスク・スケジューリング・クラスを記述
することが可能になる。これは、いくつかのプロセッサ
が、優先順位が同じ最低レベルで動作している場合に、
とりわけ有効である。
The task priority register (TPR) of FIG.
242 shows the current state of tasks for that processor that dynamically change due to explicit software actions, such as when switching tasks and entering and leaving interrupt handlers. The priority order is stored. The TPR 242 is a 32-bit register that supports priority levels up to 256 with an 8-bit field (0: 7). The four most significant bits (4: 7) correspond to 16 interrupt priorities, while the four least significant bits (0: 3) allow further resolution. For example, if the 5 most significant bits are zero,
0 (idle) and 1 for assigning interrupts by utilizing a TPR value where the three least significant bits are non-zero
It becomes possible to describe a task scheduling class in between. This means that if some processors are operating at the lowest priority level,
Especially effective.

【0065】プロセッサの優先順位は、TPR242、
ISR231、及び、IRR232から導き出される。
それは、全て、符号化8ビット表現の4つの最上位ビッ
トを利用して評価される、そのタスクの最高の優先順位
であり、最高位のISRビットの優先順位であり、最高
位のIRRビットの優先順位である。割り込みを受諾す
るローカルMPICの利用可能性を判定し、優先順位が
最低のローカルMPIC装置を判定する際に用いられる
この値は、必要に応じて、オン・ザ・フライ式に計算さ
れる。
The processor priority is TPR242,
It is derived from ISR231 and IRR232.
It is the highest priority of the task, the highest ISR bit, and the highest IRR bit, all evaluated using the four most significant bits of the coded 8-bit representation. It is a priority. This value, which is used in determining the availability of the local MPIC to accept the interrupt and in determining the lowest priority local MPIC device, is calculated on-the-fly as needed.

【0066】ローカルMPICは、割り込みを受諾する
と、ローカル・プロセッサに対する割り込みの配信を保
証する。マスキング可能な割り込みの分配は、プロセッ
サのINTピンに接続されたINTピン262をアサー
トするローカルMPIC装置で開始される、INT/I
NTAプロトコルによって制御される。プロセッサは、
割り込みが許可されると、これに応答して、ラインIN
TAサイクルをライン261で送り出し、ローカルMP
ICがその内部優先順位状態を凍結させ、優先順位が最
高の割り込みの8ビット・ベクトルをプロセッサのデー
タ・バス106に解放する。該プロセッサは、ベクトル
を読み取って、それを利用し、割り込みハンドラの入り
口点を見つける。ローカルMPICは、また、割り込み
のISRビットもセットする。対応するIRRビット
は、TMR234が、前述のように、エッジでトリガさ
れる割り込みを示す場合に限って、クリアされる。
When the local MPIC accepts the interrupt, it guarantees delivery of the interrupt to the local processor. The distribution of maskable interrupts is initiated by the local MPIC device which asserts INT pin 262 which is connected to the INT pin of the processor.
Controlled by the NTA protocol. The processor is
When the interrupt is enabled, in response to this, the line IN
Send TA cycle on line 261 and use local MP
The IC freezes its internal priority state and releases the 8-bit vector of the highest priority interrupt to the processor's data bus 106. The processor reads the vector and uses it to find the entry point for the interrupt handler. The local MPIC also sets the ISR bit of the interrupt. The corresponding IRR bit is cleared only if TMR 234 indicates an edge triggered interrupt, as described above.

【0067】レベルでトリガされる割り込みが、INT
Aサイクルの直前において、アサート解除される場合、
全IRRビットがクリア可能になり、優先順位付け装置
240は、ベクトルを見つけて、データ・バス106で
プロセッサに配信することができない。代わりに、優先
順位付け240は、スプリアス割り込みベクトル(SI
V)を戻すことになる。(SIV)の分配は、ISR2
31には影響しないので、割り込みハンドラは、EOI
を送り出さずに、戻ることになる。SIVは、優先順位
付け装置240内のSIVレジスタを介してプログラム
可能である。
A level triggered interrupt is INT
Immediately before A cycle, when deasserted,
All IRR bits are cleared and the prioritizer 240 cannot find the vector and deliver it to the processor on the data bus 106. Instead, prioritization 240 uses spurious interrupt vector (SI
V) will be returned. (SIV) distribution is ISR2
31 does not affect, so the interrupt handler
Will return without sending. The SIV is programmable via the SIV register in the prioritizer 240.

【0068】ローカルMPIC装置は、割り込みを分配
すべきプロセッサのないシステム内に存在することが可
能である。システム内においてこれが示す唯一の危険
は、全プロセッサの優先順位が最低の場合に、最低優先
順位配信モードを利用して、全プロセッサに割り込みの
同報通信が行われると、該プロセッサのないローカルM
PIC装置が、たまたま、その時、最低のArb ID
を備えている場合、その割り込みを受諾する恐れがある
ということである。こうした偶発事を防ぐため、全ロー
カル装置が、割り込み禁止状態に初期設定されるので、
MPICバスからのMPICメッセージの受諾を開始で
きるようになる前には、明示的に割り込み可能にしなけ
ればならない。割り込み禁止になったローカルMPIC
装置は、配信モードが「リセット」にセットされたメッ
セージに応答するだけである。リセット/アサート解除
メッセージは、ローカルMPICがリセットによって生
じる場合、ローカルMPICの論理宛先情報が不明確
(全てゼロ)になるので、目標のMPIC−IDを利用
して、物理宛先モードで送るのが望ましい。
The local MPIC device can reside in a system without a processor to distribute the interrupt. The only danger this presents in the system is that if all processors have the lowest priority and the lowest priority delivery mode is used to broadcast interrupts to all processors, the local M
The PIC device happens to have the lowest Arb ID
If it has, it means that you may accept the interrupt. To prevent such accidents, all local devices are initially set to interrupt disabled state.
Before it can start accepting MPIC messages from the MPIC bus, it must be explicitly enabled for interrupts. Local MPIC with interrupt disabled
The device only responds to messages with the delivery mode set to "reset". It is desirable to send the reset / deassert message in physical destination mode using the target MPIC-ID because the logical destination information of the local MPIC becomes unclear (all zeros) if the local MPIC is reset. .

【0069】割り込みハンドラから戻る前に、ソフトウ
ェアは、そのローカルMPICに割り込み終了(EO
I)指令を送り、EOIレジスタ246に書き込んで、
割り込みがもはやサービス中ではないことを表示し、次
に優先順位の高いアクティビティに戻すことによって、
ISR231の優先順位が最高のビットをクリアしなけ
ればならない。
Before returning from the interrupt handler, the software interrupts its local MPIC (EO
I) Send a command and write it to the EOI register 246,
By displaying that the interrupt is no longer in service and returning to the next highest priority activity,
The highest priority bit of ISR 231 must be cleared.

【0070】MPICシステムは、下記のやり方で初期
設定される: a)各MPIC装置は、共通のリセット・ラインに接続
され、システム・リセット信号によって起動するリセッ
ト入力ピンを備えている。 b)データ・バス106の8つの最下位ビットが、MP
IC−IDレジスタ222にラッチされる。 c)各ローカルMPICがそのプロセッサ・リセット
(RST)・ピン265をアサートし、全ての内部MP
ICレジスタを初期状態にリセットする、すなわち、割
り込み受諾をマスクするように、着信転送テーブル10
9及びローカル・ベクトル・テーブル210をセットす
るか、さもなければ、レジスタ状態をゼロにセットす
る。 d)各ローカルMPICは、プロセッサのリセット・ピ
ンのアサート解除を行って、プロセッサが自己テストを
実施し、初期設定コードを実行できるようにする。 e)最初にMPICバス103につながったプロセッサ
が、下記のにようにして、プロセッサ間割り込みを送り
つけることによって、他のプロセッサを強制的にリセッ
トする: 配信モード =リセット トリガ・モード =レベル レベルアサート解除 =0 宛先簡略伝達 =自己を除く全て、 他のプロセッサは、活動状態にあるプロセッサのオペレ
ーティング・システムによって、活動状態にされるま
で、リセット状態に保たれる。f)実行中のプロセッサ
だけが、システムの初期設定及び構成の大部分を実施
し、結局は、オペレーティング・システムをブートし
て、アサート解除/リセット信号を送り出し、他のプロ
セッサを活動状態にする。
The MPIC system is initialized in the following manner: a) Each MPIC device has a reset input pin connected to a common reset line and activated by a system reset signal. b) The 8 least significant bits of data bus 106 are MP
It is latched in the IC-ID register 222. c) Each local MPIC asserts its processor reset (RST) pin 265 and all internal MPICs
The call forwarding table 10 is reset so that the IC register is reset to the initial state, that is, the interrupt acceptance is masked.
9 and the local vector table 210, or else set the register state to zero. d) Each local MPIC deasserts the processor's reset pin to allow the processor to perform self-tests and execute initialization code. e) The first processor connected to the MPIC bus 103 forcibly resets another processor by sending an inter-processor interrupt as follows: delivery mode = reset trigger mode = level level assertion Clear = 0 Destination Simple Transfer = All except self, other processors are held in reset state by the operating system of the active processor until activated. f) Only the running processor performs most of the initialization and configuration of the system, eventually booting the operating system and sending deassert / reset signals to activate other processors.

【0071】D.MPICバス・プロトコル MPICバス103は、I/O−MPIC装置とローカ
ルMPIC装置を接続する5線同期バスである。これら
のうち4線は、データ伝送及び調停用であり、1線は、
クロック・ラインである。
D. MPIC Bus Protocol The MPIC bus 103 is a 5-line synchronous bus that connects the I / O-MPIC device and the local MPIC device. Of these, 4 lines are for data transmission and arbitration, and 1 line is
This is the clock line.

【0072】電気的には、バスは、ワイヤOR接続が施
されており、バス利用の調停と、最下位優先順位の調停
の両方が可能である。ワイヤOR接続のため、バスでの
実行速度は十分に低いので、設計に固有の終了同調は不
要である。また、バス速度は、バスをラッチして、次の
駆動サイクルを禁止しなければならないか否かを判定す
るため、単一バス・サイクルにおいて、ラッチ情報に対
する単純な論理演算を実施するのに十分な時間を与えな
ければならない。10MHzのバス速度の場合、調停を
必要としない割り込みは、約2.3μsで配信され、優
先順位の調停を行う場合は、約3.4μsで配信され
る。
Electrically, the bus is wire-OR connected, and both arbitration for bus utilization and arbitration for the lowest priority are possible. Because of the wire-OR connection, the speed of execution on the bus is low enough that no design-specific termination tuning is required. Also, the bus speed is sufficient to perform a simple logical operation on the latched information in a single bus cycle to determine if the bus should be latched to inhibit the next drive cycle. I have to give you some time. For bus speeds of 10 MHz, interrupts that do not require arbitration are delivered in about 2.3 μs, and with arbitration for priority, they are delivered in about 3.4 μs.

【0073】MPIC装置102及び104は、図11
に示すように、非孤立構成をなすように直接接続される
独立したMPICバス入力ピンと出力ピンを備えてい
る。3状態入力バッファ301及び出力バッファ302
を利用して、図12に示すように、多数のプロセッサを
支援する必要があるMPICバスに対する階層的接続を
施すことが可能である。
The MPIC devices 102 and 104 are shown in FIG.
As shown in FIG. 3, it has independent MPIC bus input pins and output pins that are directly connected to each other in a non-isolated configuration. 3-state input buffer 301 and output buffer 302
Can be used to provide a hierarchical connection to the MPIC bus that needs to support multiple processors, as shown in FIG.

【0074】MPICバス103の利用、及び、最低優
先順位のMPIC装置の判定に関する調停は、同期して
動作する、全MPICメッセージ装置によって決まる。
分配されるバス調停を利用して、複数エージェントが、
同時に伝送を開始する場合の処理が行われる。バス調停
では、MPICバスにおける少数の調停サイクルを利用
する。これらのサイクル時に、調停の「敗者」は、唯一
の「勝者」だけが伝送を続ける状態になるまで、漸次、
脱落していく。メッセージの送信(バス調停を含む)が
開始すると、可能性のある競合者は、メッセージが完全
に送られるのに十分なサイクルが経過するまで、伝送を
抑制しなければならない。用いられるバス・サイクル数
は、送られるメッセージのタイプによって決まる。
The arbitration regarding the use of the MPIC bus 103 and the determination of the lowest priority MPIC device depends on all the MPIC message devices operating in synchronization.
Utilizing distributed bus arbitration, multiple agents
At the same time, processing for starting transmission is performed. Bus arbitration utilizes a small number of arbitration cycles on the MPIC bus. During these cycles, the arbitration "loser" gradually progresses until only the "winner" is in a state of transmission,
Drop off. When a message begins to be sent (including bus arbitration), potential competitors must suppress the transmission until enough cycles have passed for the message to be completely sent. The number of bus cycles used depends on the type of message sent.

【0075】バス調停サイクルは、エージェントがMP
ICバスにおいて、最初に上位ビットについて、そのM
PIC−IDを駆動することによって開始する。すなわ
ち、8ビットMPIC−ID(10:17)が、2ビッ
トの順次グループ(17:16)(15:14)(1
3:12)(11:10)に細分される。これらの組I
(im):I(i)は、次に、順次復号化されて、図1
3に示すように、4ビット・パターン(B0:B3)が
得られることになる。ビット(B0:B3)は、ライン
毎に1ビットずつ、4つのMPICバス・ラインに加え
られる。MPICバスに対するワイヤードOR接続のた
め、IDの各組だけが、単一の線に対してアサートし、
バスを駆動しているバス・ライン・エージェントが、そ
のバスにおいてやはり最高位の1であるか否かをチェッ
クするだけで、エージェントが、脱落する(「負け
る」)か、あるいは、MPIC−IDの後続する2ビッ
トに関する次のサイクルの調停を続けるかを、確信をも
って決定できるようにする。こうして、各MPICバス
・サイクル毎に、2ビットの調停が行われる。
In the bus arbitration cycle, the agent
In the IC bus, first, for the upper bits, the M
Start by driving the PIC-ID. That is, the 8-bit MPIC-ID (10:17) has a 2-bit sequential group (17:16) (15:14) (1).
3:12) (11:10). These sets I
(Im): I (i) is then sequentially decoded, as shown in FIG.
As shown in 3, a 4-bit pattern (B0: B3) will be obtained. Bits (B0: B3) are added to the four MPIC bus lines, one bit per line. Due to the wired-OR connection to the MPIC bus, only each set of IDs asserts for a single line,
If the bus line agent driving the bus only checks if it is the highest 1 on the bus, the agent either drops out (“loses”) or the MPIC-ID Allows a confident decision whether to continue arbitrating for the next cycle on the following two bits. Thus, 2-bit arbitration is performed every MPIC bus cycle.

【0076】また、最低のプロセッサ優先順位を備えた
ローカルMPIC装置を見つけるために、調停が利用さ
れる。最低優先順位の調停では、最低優先順位において
実行する複数のMPIDが存在する場合、8ビットの調
停ID(Arb ID)が付属した、MPICのプロセ
ッサ優先順位レジスタの値を利用してタイブレークされ
る。
Arbitration is also used to find the local MPIC device with the lowest processor priority. In the lowest priority arbitration, when there are a plurality of MPIDs to be executed in the lowest priority, a tie-break is performed using the value of the processor priority register of MPIC, which is attached with an 8-bit arbitration ID (Arb ID). .

【0077】Arb IDとして一定の8ビットMPI
C IDを用いると、低ID値を備えたMPICに有利
に働くので、歪み対称を生じやすい。MPICのArb
IDは、従って、MPIC ID自体ではなく、それ
から導き出されるものである。リセット時には、MPI
CのArb IDは、そのMPIC IDに等しくな
る。MPICバスによって、メッセージの同報通信が行
われる毎に、全MPICがArb IDを1ビットずつ
インクリメントさせるので、次の調停に対して異なるA
rb ID値が与えられることになる。Arb ID
は、次の期間に、どのMPICを最下位のArb ID
にするかについての、よりランダムな選択を保証するた
め、エンディアン反転(LSBがMSBになる等)が施
される。反転されたArb IDが復号化されて、上述
のように、MPICバスに調停信号が生じる。
Fixed 8-bit MPI as Arb ID
The use of C ID favors MPICs with low ID values, and is therefore susceptible to distortion symmetry. Arb of MPIC
The ID is therefore not derived from the MPIC ID itself, but derived from it. At reset, MPI
The Arb ID of C will be equal to its MPIC ID. Every time a message is broadcast by the MPIC bus, all MPICs increment the Arb ID by 1 bit, so that different A for the next arbitration.
The rb ID value will be given. Arb ID
Which MPIC is the lowest Arb ID in the next period?
An endian reversal (LSB becomes MSB, etc.) is performed to ensure a more random selection of what to do. The inverted Arb ID is decoded to produce an arbitration signal on the MPIC bus, as described above.

【0078】バス調停後、勝者は、ニブル−直列式に、
クロック毎に4ビットずつ、バスで実際のメッセージを
駆動する。MPICメッセージは、2つの長さ、すなわ
ち、21サイクルの短い長さ、及び、30サイクルの長
い長さになる。長いメッセージ・タイプは、最初の19
サイクルに優先順位調停のためのサイクルを追加する。
中間メッセージ・タイプは、勝者が調停前から分かって
いる場合のように、完全な調停が必要とされない場合に
しか生じない。
After the bus arbitration, the winner is a nibble-serial type,
Drive the actual message on the bus, 4 bits per clock. The MPIC message is two lengths, a short length of 21 cycles and a long length of 30 cycles. The long message type is the first 19
Add a cycle for priority arbitration to the cycle.
Intermediate message types only occur when full arbitration is not required, such as when the winner is known before arbitration.

【0079】短いメッセージ・フォーマットは、図14
に示すように、最初の列が、メッセージのサイクル索引
(1:19)を表し、次の4列が、MPICバスの4つ
のデータ・ラインを表している。
The short message format is shown in FIG.
, The first column represents the cycle index (1:19) of the message, and the next four columns represent the four data lines of the MPIC bus.

【0080】最初の4行(1:4)が、MPICバスの
調停サイクルを表しており、どの行も、前述のように、
MPIC−IDの復号化組を表す4つの項目を備えてい
る、すなわち、i76...i76は、組(7:6)を
表し、i54...i54は、組(5:4)を表し、等
等。
The first four lines (1: 4) represent the arbitration cycle of the MPIC bus, and all lines are as described above.
It has four items that represent the decrypted set of MPIC-ID, i.e. i76. . . i76 represents a set (7: 6), i54. . . i54 represents the set (5: 4), and so on.

【0081】サイクル5は、メッセージの拡張配信モー
ドであり、図15に基づいて解釈される。ビット指定D
Mは、物理モードの場合0で、論理モードの場合1の宛
先モード・ビットである。ビットM0、M1、M2は、
図4の着信転送テーブルにおいてあらかじめ割り当てら
れている。
Cycle 5 is the extended message delivery mode, which is interpreted based on FIG. Bit designation D
M is the destination mode bit which is 0 for physical mode and 1 for logical mode. Bits M0, M1 and M2 are
It is assigned in advance in the call transfer table of FIG.

【0082】サイクル6には、図16に定義の制御ビッ
トが含まれる。拡張配信モードと、制御ビット、サイク
ル5及び6は、共に、必要なメッセージ長、及び、図1
7に示すメッセージの残りのフィールドの解釈を決め
る。サイクル7及び8は、8ビットの割り込みベクトル
を構成する。サイクル9〜16は、32ビットの宛先フ
ィールドである。サイクル17は、サイクル5〜16に
おけるデータに関する検査合計である。この検査合計に
よって、該サイクルにおけるデータが伝送エラーから保
護されている。送信MPIC装置は、この検査合計を可
能にする。
Cycle 6 includes the control bits defined in FIG. The extended delivery mode, control bits, cycles 5 and 6 are both required message length and
Determine the interpretation of the remaining fields of the message shown in 7. Cycles 7 and 8 form an 8-bit interrupt vector. Cycles 9-16 are 32-bit destination fields. Cycle 17 is a checksum on the data in cycles 5-16. This checksum protects the data in the cycle from transmission errors. The transmitting MPIC device enables this checksum.

【0083】サイクル18は、送信MPICによって、
1111として駆動されるポスト・アンブル・サイクル
であり、全てのMPICが、受信メッセージに含まれる
情報に基づいて各種内部計算を行うことが可能になる。
計算の1つは、サイクル5〜16における受信データに
ついて計算した検査合計を取り出して、サイクル17の
値と比較する。任意のMPIC装置が、サイクル17に
おいて受け渡されたものとは異なる検査合計を計算した
場合、該MPICは、サイクル19において、1111
として駆動することによって、MPICバスでエラーを
知らせる。これが起こると、全MPIC装置が、メッセ
ージが送られなかったものと仮定し、送信MPIC装置
は、MPICバスに関する再調停を含むメッセージの送
信を再度試みなければならない。最低優先順位配信の場
合、割り込みにフォーカス・プロセッサがあれば、フォ
ーカス・プロセッサが、サイクル19において1110
を駆動することによって、これを知らせる。これは、他
の全てのMPICに、割り込みが受諾されたこと、調停
がプリエンプトされること、短いメッセージ・フォーマ
ットが用いられることを知らせる。全(非フォーカス)
MPIC装置が、サイクル19において、1000を駆
動する。最低優先順位配信モードの場合、1000は、
その割り込みに、現在フォーカス・プロセッサがないこ
と、配信を完了するには、優先順位の調停が必要である
ことを意味している。その場合、長いメッセージ・フォ
ーマットが用いられる。サイクル19において、非最低
優先順位モードに関して1000である場合、そのメッ
セージは、受諾済みであり、送信されるものと思われ
る。
Cycle 18 is performed by the transmitting MPIC.
This is a post amble cycle driven as 1111, which allows all MPICs to perform various internal calculations based on the information contained in the received message.
One of the calculations is to take the checksum calculated on the received data in cycles 5-16 and compare it to the value in cycle 17. If any MPIC device calculates a checksum different than the one passed in cycle 17, then the MPIC calculates in cycle 19 1111.
An error is signaled on the MPIC bus by driving as. When this happens, all MPIC devices assume that the message was not sent, and the sending MPIC device must try again to send the message, including arbitration for the MPIC bus. For lowest priority delivery, if there is a focus processor in the interrupt, the focus processor
Signal this by driving. This informs all other MPICs that the interrupt was accepted, arbitration is preempted, and a short message format is used. All (non-focus)
The MPIC device drives 1000 in cycle 19. In the case of the lowest priority delivery mode, 1000 is
The interrupt means that there is currently no focus processor and priority arbitration is required to complete the delivery. In that case, the long message format is used. In cycle 19, if it is 1000 for non-lowest priority mode, then the message has been accepted and is considered to be sent.

【0084】MPIC装置が、エラー・サイクル時に、
エラーを検出して、報告すると、該MPIC装置は、2
つの連続した遊休(0000)サイクルに遭遇するま
で、バスの傾聴だけしか行わない。この2つの連続した
サイクルは、メッセージの受け渡しが行われ、どのMP
IC装置でも、新しいメッセージを開始できることを示
すものである。この結果、MPICバスにおけるサイク
ルを出たMPIC装置は、他のMPIC装置と同期した
状態に戻ることが可能になる。
During the error cycle, the MPIC device
Upon detecting and reporting an error, the MPIC device will
Only listen to the bass until it encounters two consecutive idle (0000) cycles. In these two consecutive cycles, message passing is performed and which MP
It also shows that the IC device can start a new message. As a result, an MPIC device that has left the cycle on the MPIC bus can return to a state in synchronization with another MPIC device.

【0085】長いメッセージ・フォーマットのサイクル
1〜19は、短いメッセージ・フォーマットのサイクル
1〜19と同一である。前述のように、長いメッセージ
・フォーマットが用いられるのは、次の2つの場合であ
る: (1)割り込みにフォーカス・プロセッサがない場合
の、最低優先順位配信。サイクル20〜27は、8つの
調停サイクルであり、宛先MPIC装置が、最低のプロ
セッサ優先順位/Arb ID値を備えたMPIC装置
を決める。 (2)遠隔読み取りメッセージ。サイクル20〜27
は、遠隔読み取りレジスタの32ビットの内容である。
この情報は、遠隔MPIC装置によってバスで駆動され
る。
Cycles 1-19 of the long message format are identical to cycles 1-19 of the short message format. As mentioned above, the long message format is used in two cases: (1) Lowest priority delivery when the interrupt has no focus processor. Cycles 20-27 are eight arbitration cycles, where the destination MPIC device determines the MPIC device with the lowest processor priority / Arb ID value. (2) Remote reading message. Cycle 20-27
Is the 32-bit content of the remote read register.
This information is bus driven by the remote MPIC device.

【0086】サイクル28は、受諾サイクルである。最
低優先順位配信の場合、調停に勝てなかった全MPIC
装置(調停に参加しなかったものも含む)は、1100
(非受諾)でサイクル28を駆動し、一方、勝利を納め
たMPIC装置は、1111で駆動する。サイクル28
で、1111を読み取ると、割り込みが受諾されたこと
が、全MPIC装置に明らかになり、メッセージは、配
信されるものとみなされる。サイクル28で、1100
(あるいは、その問題に関して、1111以外の任意の
もの)を読み取ると、全MPICが、メッセージは受諾
されていないか、あるいいは、調停中にエラーが生じた
ものと仮定する。このメッセージは、配信されないとみ
なされ、送信MPIC装置は、もう1度メッセージの送
信を試みる。
Cycle 28 is an acceptance cycle. All MPICs that failed to win arbitration in case of lowest priority delivery
Equipment (including those that did not participate in mediation) is 1100
The cycle 28 is driven (non-acceptance), while the winning MPIC device is driven 1111. Cycle 28
So reading 1111 reveals that the interrupt was accepted to all MPIC devices and the message is considered to be delivered. Cycle 28, 1100
Reading (or anything other than 1111 for that matter) assumes that all MPICs did not accept the message or that an error occurred during arbitration. This message is considered undelivered and the sending MPIC device tries to send the message again.

【0087】遠隔読み取りメッセージに関しては、サイ
クル28は、サイクル20〜27において要求データを
うまく供給できた場合、バスを1111で駆動する応答
遠隔MPIC装置を除いた、全MPIC装置によって1
100として駆動される。サイクル28で1111を読
み取ると、サイクル20〜27のデータは、有効とみな
され、別様であれば、そのデータは、無効とみなされ
る。遠隔読み取りを送りだしたソースMPIC装置は、
サイクル28を利用して、割り込み指令レジスタにおけ
る遠隔読み取り状況フィールドの状態(有効または無
効)を判定する。いずれにせよ、遠隔読み取りは再試行
されないので、遠隔読み取り要求は、常にうまくゆく
(データは有効の場合もあれば、無効の場合もある
が)。この理由は、遠隔読み取りがデバッグ機能であ
り、応答できない「立ち往生した」遠隔MPICによっ
て、デバッギング手順を立ち往生させてはならないから
である。
For remote read messages, cycle 28 is set by all MPIC devices except the response remote MPIC device which drives the bus at 1111 if the requested data was successfully supplied in cycles 20-27.
Driven as 100. When reading 1111 in cycle 28, the data in cycles 20-27 is considered valid, otherwise the data is considered invalid. The source MPIC device that sent the remote reading
Cycle 28 is utilized to determine the status (enabled or disabled) of the remote read status field in the interrupt command register. In any case, the remote read is not retried, so the remote read request always succeeds (though the data may or may not be valid). The reason for this is that remote reading is a debug feature and the debugging procedure should not be stalled by a "stuck" remote MPIC that cannot respond.

【0088】サイクル29及び30は、2つの遊休サイ
クルである。MPICバスは、サイクル31において、
次のメッセージを送るために利用可能である。短いメッ
セージと長いメッセージの両方の終結時における2つの
遊休サイクル、並びに、所定の他のバス・サイクルのた
めの非ゼロ(すなわち、非遊休)符号化によって、たま
たま1サイクル分だけ位相のずれているMPICバス・
エージェントが、その検査合計エラーの報告後、2つの
連続した遊休サイクルを待つだけで、あるメッセージに
おける同期停滞が可能になる。これは、有効調停サイク
ルは、決して0000にならないという事実を利用した
ものである。
Cycles 29 and 30 are two idle cycles. In the cycle 31, the MPIC bus
It can be used to send the next message. It happens to be one cycle out of phase due to the two idle cycles at the end of both short and long messages, as well as non-zero (ie, non-idle) encoding for certain other bus cycles. MPIC bus
The agent only needs to wait for two consecutive idle cycles after reporting its checksum error, allowing for synchronization stagnation in a message. This takes advantage of the fact that the effective arbitration cycle is never 0000.

【0089】ローカルMPIC装置104のローカル・
ベクトル・テーブル210には、3つの独立して動作す
る32ビット幅のプログラマブル・タイマ200、20
1、及び、202が含まれている。各タイマ毎に、3つ
のクロック入力の1つからそのクロック・ベースを選択
することができる。各タイマは、単発モードと周期モー
ドのいずれかで動作可能であり、それぞれ、任意のプロ
グラマブル・ベクトルを備えたローカル・プロセッサに
割り込むように構成することが可能である。
Local MPIC device 104 local
The vector table 210 includes three independently operating programmable timers 200, 20 of 32-bit width.
1 and 202 are included. For each timer, its clock base can be selected from one of three clock inputs. Each timer can operate in either a one-shot mode or a periodic mode, and each can be configured to interrupt a local processor with any programmable vector.

【0090】ローカルMPIC装置104は、2つの独
立したクロック入力ピンを備えている:CLOCKピン
は、MPIC内部クロックを生じ、TMBASEは、外
部クロックを生じる。TMBASEの周波数は、MPI
Cアーキテクチャによって28.636MHzに固定さ
れている。さらに、ローカルMPICには、図19に示
すように、クロック信号を2、4、8、16のいずれか
で割るように構成可能なディバイダが含まれる。ベース
0は、常に、CLOCKに等しく、ベース1は、常に、
TMBASEに等しく、ベース2は、CLOCKまたは
TMBASEを2、4、8、16のいずれかで割ったも
のに等しくなる。ディバイダ(ベース2)構成レジスタ
が、図20に示されている。
The local MPIC device 104 has two independent clock input pins: the CLOCK pin produces the MPIC internal clock and TMBASE produces the external clock. The frequency of TMBASE is MPI
It is fixed at 28.636 MHz by the C architecture. In addition, the local MPIC includes a divider that can be configured to divide the clock signal by either 2, 4, 8, or 16 as shown in FIG. Base 0 is always equal to CLOCK and Base 1 is always
Equal to TMBASE, Base2 will be equal to CLOCK or TMBASE divided by either 2, 4, 8 or 16. The divider (base 2) configuration register is shown in FIG.

【0091】ソフトウェアは、その32ビットの初期カ
ウント・レジスタをプログラムすることによって、タイ
マを始動する。タイマは、この値を現在カウント・レジ
スタにコピーすることによって、各時間ベース・パルス
(ベース0、1、または、2)毎に1カウントの割合
で、カウント・ダウンを開始する。各タイマは、単発モ
ードでも、周期モードでも動作可能である。単発モード
の場合、タイマは、1度カウント・ダウンすると、再プ
ログラムされるまで、ゼロに留まる。周期モードの場
合、タイマは、自動的に、初期カウント・レジスタの内
容を現在カウント・レジスタに再ロードする。
Software starts a timer by programming its 32-bit initial count register. The timer starts counting down at a rate of one count for each time base pulse (base 0, 1, or 2) by copying this value into the current count register. Each timer can operate in either a single shot mode or a periodic mode. In single shot mode, the timer counts down once and remains at zero until reprogrammed. In periodic mode, the timer automatically reloads the contents of the initial count register into the current count register.

【0092】3つのタイマは、図21に示すように、ロ
ーカル・ベクトル・テーブル項目によって構成される。
ベクトル・フィールド(0:7)は、前述の通りであ
る。マスクi、すなわち、ビット(16)は、カウント
が0に達すると、i番目のタイマによって発生した割り
込みをマスクする(1)か、あるいは、マスクしない
(0)働きをする。ベースiフィールド(18:19)
は、i番目のタイマによって用いられるベース入力であ
る:00−ベース0、01−ベース1、02−ベース
2。モードiビット(17)は、i番目のタイマのモー
ドである:0−単発、1−周期。
The three timers are made up of local vector table entries, as shown in FIG.
The vector field (0: 7) is as described above. Mask i, bit (16), serves to mask (1) or not mask (0) the interrupt generated by the i-th timer when the count reaches zero. Base i field (18:19)
Are the base inputs used by the i-th timer: 00-base 0, 01-base 1, 02-base 2. The mode i bit (17) is the mode of the i th timer: 0-single shot, 1-cycle.

【0093】F.プロセッサ専用記憶装置 各ローカルMPIC装置によって、図5に示すように、
ローカルプロセッサだけしかアクセスできない32ビッ
ト・レジスタを備えたプロセッサ専用記憶装置250が
得られる。各プロセッサは、そのレジスタに同様のアド
レス指定を行う(同じアドレスを介して)ので、該レジ
スタによって、「プロセッサ自体の」データを提供す
る、便利な、プロセッサ・アーキテクチャとは別個の方
法が得られる。いずれにせよ、該レジスタの内容は、M
PICによって解釈されるものではない。これらのレジ
スタは、他のローカルMPICレジスタと同じ物理アド
レス・ページに位置決めされ、従って、該レジスタへの
アクセスは、監視プログラムだけに制限することが可能
である。プロセッサで実行中のオペレーティング・シス
テムは、自由に、好きなように、これらのレジスタを利
用することができる。
F. Processor-dedicated storage device Each local MPIC device, as shown in FIG.
A processor-dedicated memory 250 with 32-bit registers accessible only to the local processor is obtained. Since each processor addresses its registers in a similar manner (via the same address), the registers provide a convenient, processor-independent method of providing "processor-specific" data. . In any case, the contents of the register are M
Not interpreted by PIC. These registers are located on the same physical address page as other local MPIC registers, so access to them can be restricted to supervisors only. The operating system running on the processor is free to utilize these registers as it pleases.

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

【図1】 一般的な先行技術によるユニプロセッサ・プ
ログラマブル割り込みコントローラ(PIC)のブロッ
ク図。
FIG. 1 is a block diagram of a general prior art uniprocessor programmable interrupt controller (PIC).

【図2】 現在のところ望ましいマルチプロセッサ・プ
ログラマブル割り込みコントローラ(MPIC)・シス
テムのブロック図。
FIG. 2 is a block diagram of a presently preferred multiprocessor programmable interrupt controller (MPIC) system.

【図3】 現在のところ望ましいI/O−MPIC装置
のブロック図。
FIG. 3 is a block diagram of a presently preferred I / O-MPIC device.

【図4】 着信転送テーブルの64ビット項目を構成す
る各種フィールドを示す図。
FIG. 4 is a diagram showing various fields forming 64-bit items of a call transfer table.

【図5】 現在のところ望ましいローカルMPIC装置
のブロック図。
FIG. 5 is a block diagram of a currently preferred local MPIC device.

【図6】 ローカルMPIC装置のローカル・ベクトル
・テーブル項目を構成する各種フィールドを示す図。
FIG. 6 illustrates various fields that make up a local vector table entry for a local MPIC device.

【図7】 割り込み指令レジスタの各種フィールド割り
当てを示す図。
FIG. 7 is a diagram showing various field assignments of an interrupt command register.

【図8】 宛先IRRビットによる遠隔IRRビットの
追従を示す図。
FIG. 8 shows the tracking of remote IRR bits by destination IRR bits.

【図9】 ローカルMPIC装置による割り込み受諾プ
ロセスを表したフローチャート。
FIG. 9 is a flowchart showing an interrupt acceptance process by the local MPIC device.

【図10】 MPIC−IDレジスタ構成を示す図。FIG. 10 is a diagram showing an MPIC-ID register configuration.

【図11】 非孤立MPICバス接続を示す図。FIG. 11 shows a non-isolated MPIC bus connection.

【図12】 3状態バッファ利用MPICバス構成を示
す図。
FIG. 12 is a diagram showing an MPIC bus configuration using a 3-state buffer.

【図13】 バス調停に用いられるMPIC−IDに関
する2ビット復号化プロセスを示す図。
FIG. 13 shows a 2-bit decoding process for MPIC-ID used for bus arbitration.

【図14】 MPICの短いメッセージの形式を示す
図。
FIG. 14 is a diagram showing a format of a short message of MPIC.

【図15】 配信モードによるMPICメッセージの符
号化を示す図。
FIG. 15 is a diagram showing encoding of an MPIC message according to a delivery mode.

【図16】 MPICメッセージの制御ビットを明らか
にする図。
FIG. 16 is a diagram showing control bits of an MPIC message.

【図17】 拡張配信モードによる制御ビットの符号化
を明らかにする図。
FIG. 17 is a diagram showing the encoding of control bits in the extended distribution mode.

【図18】 MPICバスの中間のメッセージ・フォー
マット及び長いメッセージ・フォーマットを示す図。
FIG. 18 is a diagram showing an intermediate message format and a long message format of the MPIC bus.

【図19】 ベース0、1、及び、2の時間ジェネレー
タを示す図。
FIG. 19 is a diagram showing base 0, 1, and 2 time generators.

【図20】 分割(ベース2)構成レジスタのビット割
り当てを示す図。
FIG. 20 is a diagram showing bit allocation of a division (base 2) configuration register.

【図21】 3タイマ・ローカル・ベクトル・テーブル
の内容を示す図。
FIG. 21 is a diagram showing the contents of a 3-timer local vector table.

【符号の説明】[Explanation of symbols]

30 システム・バス 100 MPIC 102 I/O−MPIC装置 103 MPICバス 104 ローカルMPIC装置 105 関連プロセッサ 107 割り込み入力ライン 108 エッジ・フィルタ 110 MPICバス送受信装置 220 割り込み指令レジスタ 221 宛先フォーマット・レジスタ 222 MPIC−IDレジスタ 223 論理宛先レジスタ 224 遠隔読み取りレジスタ 228 ベクトル復号化装置 230 ベクトル・アレイ 231 サービス中レジスタ 232 割り込み要求レジスタ 234 トリガ・モードレジスタ 240 優先順位づけ装置 242 タスク優先順位レジスタ 246 EOIレジスタ 262 INTピン 263 NMI出力 264 デバッグ・ピン 265 リセット・ピン 301 3状態入力バッファ 302 3状態出力バッファ 30 System Bus 100 MPIC 102 I / O-MPIC Device 103 MPIC Bus 104 Local MPIC Device 105 Related Processor 107 Interrupt Input Line 108 Edge Filter 110 MPIC Bus Transceiver Device 220 Interrupt Command Register 221 Destination Format Register 222 MPIC-ID Register 223 Logical Destination Register 224 Remote Read Register 228 Vector Decoder 230 Vector Array 231 In-Service Register 232 Interrupt Request Register 234 Trigger Mode Register 240 Prioritizer 242 Task Priority Register 246 EOI Register 262 INT Pin 263 NMI Output 264 Debug pin 265 Reset pin 301 3-state input buffer 302 3-state Status output buffer

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 多数のプロセッサ、共通システム・バ
ス、ローカル・プロセッサ割り込みコントローラ、少な
くとも1つのI/O割り込みコントローラ、及び、割り
込みバスを含む、マルチプロセッサ・プログラマブル割
り込みコントローラ・システムに用いられる集積回路に
おいて、 (a)データ、アドレス、及び、制御入力/出力ポート
を備えた中央演算処理装置(CPU)から構成されるプ
ロセッサ回路と、 (b)前記データ、アドレス、及び、制御ポートに接続
されて、前記プロセッサ回路からプロセッサ割り込み要
求信号を受諾し、プロセッサ割り込みの性質及び優先順
位を示すことになる、前記プロセッサ割り込み要求信号
のフォーマッティングを行い、受諾した割り込み信号を
待ち行列に入れ、受諾した割り込み信号を優先順にサー
ビスを行う関連プロセッサに送るローカル・プロセッサ
割り込みコントローラと、割り込みバスに接続されて、
I/O割り込みコントローラと他のローカル・プロセッ
サ・コントローラの両方によってフォーマッティングさ
れた、当該プロセッサがサービスを行うのに適した割り
込み信号を受信して、受諾し、受信した割り込み信号の
受諾と同時に、割り込みバスで、受諾信号を同報通信す
るための手段から構成される、集積回路。
1. An integrated circuit for use in a multiprocessor programmable interrupt controller system including multiple processors, a common system bus, a local processor interrupt controller, at least one I / O interrupt controller, and an interrupt bus. (A) a processor circuit comprising a central processing unit (CPU) having data, address and control input / output ports, and (b) connected to the data, address and control ports, Accepting a processor interrupt request signal from the processor circuit, indicating the nature and priority of the processor interrupt, formatting the processor interrupt request signal, putting the accepted interrupt signal in a queue, and accepting the accepted interrupt signal. Priority And a local processor interrupt controller to send the related processor for servicing, and is connected to the interrupt bus,
Receiving and accepting an interrupt signal, formatted by both the I / O interrupt controller and another local processor controller, suitable for the processor to service, and simultaneously accepting the received interrupt signal and simultaneously interrupting An integrated circuit comprising means for broadcasting an acceptance signal on a bus.
【請求項2】 さらに、ローカル・プロセッサ割り込み
コントローラ内にあって、割り込みに関連した信号の伝
送のために行う割り込みバスの制御について、他のI/
O及びローカル・プロセッサ割り込みコントローラとの
調停を行うための手段が設けられていることを特徴とす
る請求項1に記載の集積回路。
2. The control of an interrupt bus within a local processor interrupt controller for transmission of signals associated with an interrupt is another aspect of I / O.
The integrated circuit of claim 1, wherein means are provided for arbitrating with the O and local processor interrupt controllers.
【請求項3】 さらに、ローカル・プロセッサ割り込み
コントローラ内にあって、調停時に、各ローカル・コン
トローラの相対的優先順位を設定するための、あらかじ
め割り当てられた独自の識別番号を記憶して、割り込み
バスの利用に関して最高の優先順位を設定し、かつ、割
り込み要求メッセージの受諾に関して最低の優先順位を
設定するか、あるいは、そのいずれかの設定を行うため
のレジスタが設けられていることを特徴とする請求項1
に記載の集積回路。
3. The interrupt bus within the local processor interrupt controller for storing a unique preassigned identification number for setting the relative priority of each local controller during arbitration. Is provided with a register for setting the highest priority with respect to the use of and the lowest priority with respect to acceptance of an interrupt request message, or setting either of them. Claim 1
The integrated circuit according to.
【請求項4】 共通システム・バスによって相互接続さ
れた多数のプロセッサ及び少なくとも1つの周辺装置か
ら構成され、周辺装置が、少なくとも1つのプロセッサ
からのサービス要求を信号で知らせることが可能な割り
込み要求ラインを備えており、プロセッサが、共通マル
チプロセッサ・システム・バスを利用せずに他のプロセ
ッサからのサービスを要求することが可能になってい
る、マルチプロセッサ環境において動作するためのマル
チプロセッサ・プログラマブル割り込みコントローラ・
システムにおいて、 (a)割り込み要求と肯定応答メッセージを伝達するた
めの割り込みバスと、 (b)少なくとも1つの周辺装置の割り込み要求ライン
に接続されて、少なくとも1つの周辺装置の割り込み信
号を受諾し、割り込みバスによる伝送に備えて、割り込
み信号のフォーマッティングを行い、このフォーマッテ
ィングによって、該割り込み信号が、該周辺装置の割り
込み信号の性質及び優先順位を表し、また、前記割り込
みバスに接続されて、フォーマッティングを施された割
り込み信号を伝送し、その割り込み要求の処置に関する
状況情報を受信する、割り込みのサービスに適したプロ
セッサ・グループを示すI/Oコントローラと、 (c)それぞれ、特定のプロセッサと関連し、少なくと
も1つが、関連するプロセッサと共通のチップに集積さ
れて、その関連プロセッサからプロセッサ割り込み要求
信号を受諾し、関連プロセッサ割り込みの性質及び優先
順位を示すことになる、関連プロセッサの割り込み要求
信号のフォーマッティングを行う多数のローカル・プロ
セッサ・コントローラから構成され、集積されたローカ
ル・プロセッサ・コントローラが、割り込みバスに接続
されて、I/Oコントローラと他のローカル・プロセッ
サ・コントローラの両方によってフォーマッティングさ
れた、関連プロセッサがサービスを行うのに適した割り
込み信号を受信して、受諾し、受信した割り込み信号の
受諾と同時に、割り込みバスで、受諾信号を同報通信
し、受諾した割り込み信号を待ち行列に入れ、受諾した
割り込み信号を優先順にサービスを行う関連プロセッサ
に送ることを特徴とする、 マルチプロセッサ・プログラマブル割り込みコントロー
ラ・システム。
4. An interrupt request line comprising a number of processors and at least one peripheral device interconnected by a common system bus, the peripheral device being capable of signaling a service request from at least one processor. Multiprocessor programmable interrupts for operating in a multiprocessor environment, which enables the processor to request services from other processors without utilizing a common multiprocessor system bus. controller·
In the system: (a) an interrupt bus for carrying interrupt request and acknowledge messages; and (b) connected to an interrupt request line of at least one peripheral device to accept an interrupt signal of at least one peripheral device, In preparation for transmission by the interrupt bus, the interrupt signal is formatted such that the interrupt signal represents the nature and priority of the interrupt signal of the peripheral device and is also connected to the interrupt bus for formatting. An I / O controller that indicates the group of processors suitable for servicing the interrupt, transmitting the applied interrupt signal and receiving status information regarding the treatment of the interrupt request; and (c) each associated with a particular processor At least one of the associated processors Local processor controller integrated in a chip to accept processor interrupt request signals from its associated processor and format the interrupt request signal of the associated processor to indicate the nature and priority of the associated processor interrupt. An integrated local processor controller, configured from, connected to the interrupt bus and formatted by both the I / O controller and another local processor controller, suitable for serving by the associated processor When an interrupt signal is received and accepted, and at the same time that the received interrupt signal is accepted, the acknowledge signal is broadcast on the interrupt bus, the accepted interrupt signal is queued, and the accepted interrupt signals are serviced in priority order. Related processor And wherein the sending multiprocessor programmable interrupt controller system.
【請求項5】 (a)I/Oコントローラ内にあって、
割り込みに関連した信号の伝送のために行う割り込みバ
スの制御について、割り込みバスを介して、他のI/O
及びローカル・プロセッサ割り込みコントローラとの調
停を行うための手段と、 (b)各ローカル・プロセッサ・コントローラ内にあっ
て、割り込みに関連した信号の伝送のために行う割り込
みバスの制御について、割り込みバスを介して、他のI
/O及びローカル・プロセッサ割り込みコントローラと
の優先順位の調停を行うための手段が、さらに設けられ
ていることを特徴とする、請求項4に記載のマルチプロ
セッサ・プログラマブル割り込みコントローラ・システ
ム。
5. (a) In the I / O controller,
Regarding the control of the interrupt bus for transmitting the signal related to the interrupt, other I / O is controlled via the interrupt bus.
And (b) means for arbitrating with the local processor interrupt controller, and (b) controlling the interrupt bus in each local processor controller for transmitting signals related to interrupts. Through the other I
5. The multiprocessor programmable interrupt controller system of claim 4, further comprising means for arbitrating priorities with the / O and local processor interrupt controllers.
【請求項6】 さらに、ローカル・プロセッサ・コント
ローラ内にあって、調停時に、各ローカル・コントロー
ラの相対的優先順位を設定するための、あらかじめ割り
当てられた独自の識別番号を記憶して、バスの利用に関
して最高の優先順位を設定し、かつ、割り込み要求メッ
セージの受諾に関して最低の優先順位を設定するための
レジスタが設けられていることを特徴とする、請求項5
に記載のマルチプロセッサ・プログラマブル割り込みコ
ントローラ・システム。
6. The local processor controller further stores a unique pre-assigned identification number for setting the relative priority of each local controller during arbitration to store the bus 6. A register is provided for setting the highest priority for utilization and the lowest priority for acceptance of interrupt request messages.
A multiprocessor programmable interrupt controller system according to claim 1.
【請求項7】 (a)関連したローカル・プロセッサ・
タスクの現在の優先順位に基づいて割り込み信号の受諾
を調停し、適格なプロセッサのうち、優先順位が最低の
プロセッサに関連したローカル・プロセッサ・コントロ
ーラが割り込み要求信号を受信するようにするための手
段と、 (b)同じ最低レベルの優先順位で動作する適格なプロ
セッサの部分集合に含まれたローカル・プロセッサのう
ちの1つを選択して、要求を分配し、同じ最低レベルの
優先順位で動作する適格なプロセッサの部分集合の間に
おいて均等な確率になるようにサービスを行うための手
段が、さらに設けられていることを特徴とする、 請求項4に記載のマルチプロセッサ・プログラマブル割
り込みコントローラ・システム。
7. A related local processor
Means for arbitrating acceptance of an interrupt signal based on the task's current priority and causing the local processor controller associated with the lowest priority processor of the eligible processors to receive the interrupt request signal. And (b) select one of the local processors in a subset of eligible processors that operate at the same lowest level of priority, distribute the request, and operate at the same lowest level of priority. Multiprocessor programmable interrupt controller system according to claim 4, characterized in that means are further provided for servicing with equal probability among a subset of eligible processors that .
【請求項8】 共通システム・バスによって相互接続さ
れた多数のプロセッサ及び少なくとも1つの周辺装置か
ら構成され、周辺装置が、少なくとも1つのプロセッサ
からのサービス要求を知らせることが可能な割り込み要
求ラインを備えており、プロセッサが、共通マルチプロ
セッサ・システム・バスを利用せずに、他のプロセッサ
からのサービスを要求することが可能になっている、マ
ルチプロセッサ環境において動作するためのマルチプロ
セッサ・プログラマブル割り込みコントローラ・システ
ムにおいて、 (a)割り込み要求と肯定応答メッセージを伝達するた
めの割り込みバスと、 (b)少なくとも1つの周辺装置の割り込み要求ライン
に接続されて、少なくとも1つの周辺装置の割り込み信
号を受諾し、割り込みバスによる伝送に備えて前記割り
込み信号のフォーマッティングを行い、このフォーマッ
ティングによって、その割り込み信号が、前記周辺装置
の割り込み信号の性質及び優先順位を表し、また、割り
込みバスに接続されて、フォーマッティングを施された
割り込み信号を伝送し、その割り込み要求の処置に関す
る状況情報を受信する、割り込みのサービスに適したプ
ロセッサ・グループを示すI/Oコントローラと、 (c)それぞれ、特定のプロセッサと関連し、その関連
プロセッサからプロセッサ割り込み要求信号を受諾し、
関連プロセッサ割り込みの性質及び優先順位を示すこと
になる、関連プロセッサ割り込み要求信号のフォーマッ
ティングを行い、割り込みバスに接続されて、I/Oコ
ントローラと他のローカル・プロセッサ・コントローラ
の両方によってフォーマッティングされた、関連プロセ
ッサがサービスを行うのに適した割り込み信号を受信し
て、受諾し、受信した割り込み信号の受諾と同時に、割
り込みバスで、受諾信号を同報通信し、受諾した割り込
み信号を待ち行列に入れ、受諾した割り込み信号を優先
順にサービスを行う関連プロセッサに送る、多数のロー
カル・プロセッサ・コントローラと、 (d)ローカル・プロセッサ・コントローラに関連し、
接続され、直接、ローカル・プロセッサ割り込みベクト
ルを取り扱うため、ローカル割り込みベクトル・テーブ
ルを組み込んでいる、少なくとも1つの集積回路プロセ
ッサ・チップから構成される、 マルチプロセッサ・プログラマブル割り込みコントロー
ラ・システム
8. An interrupt request line comprising a number of processors and at least one peripheral device interconnected by a common system bus, the peripheral device being capable of signaling a service request from at least one processor. Multiprocessor programmable interrupt controller for operating in a multiprocessor environment, enabling processors to request service from other processors without utilizing a common multiprocessor system bus. In the system: (a) an interrupt bus for carrying interrupt request and acknowledgment messages; and (b) connected to the interrupt request line of at least one peripheral device to accept at least one peripheral device interrupt signal. , Transmission by interrupt bus The interrupt signal is provided for formatting, and by this formatting, the interrupt signal represents the nature and priority of the interrupt signal of the peripheral device, and is connected to the interrupt bus to output the formatted interrupt signal. An I / O controller that indicates a processor group suitable for servicing an interrupt that transmits and receives status information regarding the disposition of that interrupt request; Accept the request signal,
Formatting the associated processor interrupt request signal that will indicate the nature and priority of the associated processor interrupt, connected to the interrupt bus, and formatted by both the I / O controller and the other local processor controller, The associated processor receives and accepts interrupt signals suitable for servicing, and at the same time it accepts the received interrupt signals, it broadcasts the acknowledge signals on the interrupt bus and queues the accepted interrupt signals , A number of local processor controllers that send the accepted interrupt signals to the associated priority servicing processor, and (d) associated with the local processor controller,
A multiprocessor programmable interrupt controller system consisting of at least one integrated circuit processor chip incorporating a local interrupt vector table for handling local processor interrupt vectors directly connected.
JP6104748A 1993-04-19 1994-04-19 Integrated circuit and programmable multiprocessor interruption controller system Pending JPH06324996A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US4951593A 1993-04-19 1993-04-19
US049515 1993-04-19

Publications (1)

Publication Number Publication Date
JPH06324996A true JPH06324996A (en) 1994-11-25

Family

ID=21960233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6104748A Pending JPH06324996A (en) 1993-04-19 1994-04-19 Integrated circuit and programmable multiprocessor interruption controller system

Country Status (6)

Country Link
JP (1) JPH06324996A (en)
DE (1) DE4413459C2 (en)
GB (1) GB2277388B (en)
HK (1) HK1001011A1 (en)
IT (1) IT1270035B (en)
SG (1) SG48803A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008535099A (en) * 2005-03-28 2008-08-28 マイクロソフト コーポレーション System and method for extended interrupt controller and synthetic interrupt source
JP2010086456A (en) * 2008-10-02 2010-04-15 Renesas Technology Corp Data processing system and semiconductor integrated circuit
JP2010102540A (en) * 2008-10-24 2010-05-06 Fujitsu Microelectronics Ltd Multiprocessor system lsi
JP2010538373A (en) * 2007-09-06 2010-12-09 インテル・コーポレーション Creation of logical APICID with cluster ID and intracluster ID
US7853743B2 (en) 2006-11-10 2010-12-14 Seiko Epson Corporation Processor and interrupt controlling method
JP2012507080A (en) * 2008-10-28 2012-03-22 インテル・コーポレーション Interrupt communication technology in computer system
JP2013507719A (en) * 2009-10-13 2013-03-04 エンパイア テクノロジー ディベロップメント エルエルシー Interrupt mask for multi-core processors

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG67906A1 (en) * 1993-12-16 1999-10-19 Intel Corp Multiple programmable interrupt controllers in a multi-processor system
CN117294538B (en) * 2023-11-27 2024-04-02 华信咨询设计研究院有限公司 Bypass detection and blocking method and system for data security risk behaviors

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3676861A (en) * 1970-12-30 1972-07-11 Honeywell Inf Systems Multiple mask registers for servicing interrupts in a multiprocessor system
US4495569A (en) * 1982-06-28 1985-01-22 Mitsubishi Denki Kabushiki Kaisha Interrupt control for multiprocessor system with storage data controlling processor interrupted by devices
JPH03122742A (en) * 1989-10-05 1991-05-24 Oki Electric Ind Co Ltd Interruption informing system
US5193187A (en) * 1989-12-29 1993-03-09 Supercomputer Systems Limited Partnership Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers
US5179707A (en) * 1990-06-01 1993-01-12 At&T Bell Laboratories Interrupt processing allocation in a multiprocessor system
US5125093A (en) * 1990-08-14 1992-06-23 Nexgen Microsystems Interrupt control for multiprocessor computer system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008535099A (en) * 2005-03-28 2008-08-28 マイクロソフト コーポレーション System and method for extended interrupt controller and synthetic interrupt source
US7853743B2 (en) 2006-11-10 2010-12-14 Seiko Epson Corporation Processor and interrupt controlling method
JP2010538373A (en) * 2007-09-06 2010-12-09 インテル・コーポレーション Creation of logical APICID with cluster ID and intracluster ID
JP2010086456A (en) * 2008-10-02 2010-04-15 Renesas Technology Corp Data processing system and semiconductor integrated circuit
JP2010102540A (en) * 2008-10-24 2010-05-06 Fujitsu Microelectronics Ltd Multiprocessor system lsi
US8549200B2 (en) 2008-10-24 2013-10-01 Fujitsu Semiconductor Limited Multiprocessor system configured as system LSI
JP2012507080A (en) * 2008-10-28 2012-03-22 インテル・コーポレーション Interrupt communication technology in computer system
JP2014029702A (en) * 2008-10-28 2014-02-13 Intel Corp Interrupt communication apparatus, method and system
CN104021109A (en) * 2008-10-28 2014-09-03 英特尔公司 Technique for communicating interrupts in a computer system
CN104021109B (en) * 2008-10-28 2017-11-07 英特尔公司 Technology for transmitting interruption in computer systems
JP2013507719A (en) * 2009-10-13 2013-03-04 エンパイア テクノロジー ディベロップメント エルエルシー Interrupt mask for multi-core processors

Also Published As

Publication number Publication date
IT1270035B (en) 1997-04-28
ITMI940730A0 (en) 1994-04-15
GB2277388A (en) 1994-10-26
GB2277388B (en) 1997-08-13
ITMI940730A1 (en) 1995-10-15
HK1001011A1 (en) 1998-05-15
DE4413459C2 (en) 2000-04-06
DE4413459A1 (en) 1994-10-20
GB9402811D0 (en) 1994-04-06
SG48803A1 (en) 1998-05-18

Similar Documents

Publication Publication Date Title
JP2855298B2 (en) Arbitration method of interrupt request and multiprocessor system
US5696976A (en) Protocol for interrupt bus arbitration in a multi-processor system
KR100292660B1 (en) Multiprocessor Programmable Interrupt Controller System with Integrated Interrupt Controller
US5555420A (en) Multiprocessor programmable interrupt controller system with separate interrupt bus and bus retry management
KR100399385B1 (en) Multiprocessing system using adaptive interrupt mapping mechanism and method
US5555430A (en) Interrupt control architecture for symmetrical multiprocessing system
US5781187A (en) Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system
US5530891A (en) System management interrupt mechanism within a symmetrical multiprocessing system
US5564060A (en) Interrupt handling mechanism to prevent spurious interrupts in a symmetrical multiprocessing system
US5568649A (en) Interrupt cascading and priority configuration for a symmetrical multiprocessing system
US5410710A (en) Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems
US4782439A (en) Direct memory access system for microcontroller
CA2349662C (en) Interrupt architecture for a non-uniform memory access (numa) data processing system
EP0426413B1 (en) Multiprocessor arbitration in single processor arbitration schemes
US5437042A (en) Arrangement of DMA, interrupt and timer functions to implement symmetrical processing in a multiprocessor computer system
US5613126A (en) Timer tick auto-chaining technique within a symmetrical multiprocessing system
US6249830B1 (en) Method and apparatus for distributing interrupts in a scalable symmetric multiprocessor system without changing the bus width or bus protocol
EP0685798B1 (en) Interrupt controllers in symmetrical multiprocessing systems
US5428794A (en) Interrupting node for providing interrupt requests to a pended bus
JPH06324996A (en) Integrated circuit and programmable multiprocessor interruption controller system
US5590338A (en) Combined multiprocessor interrupt controller and interprocessor communication mechanism