JPH04318654A - Redirection system for interruption to microprocessor - Google Patents
Redirection system for interruption to microprocessorInfo
- Publication number
- JPH04318654A JPH04318654A JP4026575A JP2657592A JPH04318654A JP H04318654 A JPH04318654 A JP H04318654A JP 4026575 A JP4026575 A JP 4026575A JP 2657592 A JP2657592 A JP 2657592A JP H04318654 A JPH04318654 A JP H04318654A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- interrupts
- cpu
- bus
- hardware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Abstract
Description
【0001】0001
【産業上の利用分野】本発明は、コンピュータシステム
に関するものであり、より詳細には多重バス上の多重プ
ロセッサに指示される割り込みの効率の良い制御及び伝
達を提供するためのコンピュータ・アーキテクチャに関
する。TECHNICAL FIELD This invention relates to computer systems and, more particularly, to a computer architecture for providing efficient control and delivery of interrupts directed to multiple processors on multiple buses.
【0002】0002
【従来の技術及び発明が解決しようとする課題】パーソ
ナルコンピュータ(以下、PCと称す)産業が急速に発
展した結果として、ミニコンピュータ又はメインフレー
ムコンピュータで伝統的に処理されていた高性能用途に
ハイエンドPCが移行してきた。これらの高性能用途で
は、多数の周辺装置と高速度で対話する必要がある他、
莫大な量のデータを操作してユーザにより認識されるも
のとしてリアルタイム動作を行う必要がある。[Background Art and Problems to be Solved by the Invention] As a result of the rapid development of the personal computer (hereinafter referred to as PC) industry, high-end PC has migrated. These high-performance applications require high-speed interaction with a large number of peripheral devices;
It is necessary to perform real-time operations by manipulating huge amounts of data to be recognized by the user.
【0003】その結果として、多重プロセッサをPCの
アーキテクチャ内に実施して、並列実行可能なタスクや
責務(responsibilities)を割り当て
ることにより、速度を最大化している。換言すれば、多
重プロセッサ(以下、MPと称す)システムの独立した
プロセッサが、トランザクションを同時に処理するよう
設定された多重ライン命令を介し、同時に命令を実行す
る。As a result, multiple processors are implemented within the PC architecture to maximize speed by assigning tasks and responsibilities that can be performed in parallel. In other words, independent processors of a multi-processor (hereinafter referred to as MP) system execute instructions simultaneously via multiple line instructions configured to process transactions simultaneously.
【0004】より多数のプロセッサがMPシステムに付
加されるにつれて、割り込みの伝達及び制御は一層複雑
になり、MPシステムには耐え難い負担となる。割り込
みは、中央処理装置(CPU)に、コンピュータシステ
ム内の必要な特定のルーチンを自動的に且つ即座に実行
させる信号である。As more processors are added to an MP system, interrupt delivery and control becomes more complex and becomes an unbearable burden on the MP system. Interrupts are signals that cause the central processing unit (CPU) to automatically and immediately execute certain required routines within a computer system.
【0005】割り込みを受信すると、CPUは割り込み
シーケンスに従う。割り込みシーケンスの間、CPUは
先ず現在実行中の命令を完了させる。次に、CPUは、
主記憶装置内部のスタック、あるいはCPU又はその他
の場所にある特殊目的のレジスタに入っている次の命令
に転じるために必要な全てのレジスタ値(例えば、命令
ポインタ(IP)、命令セグメント(CS)、プロセッ
サ状態語(PSW)、その他)を退避させる。次いで割
り込みルーチンが始まる。割り込みが実行された後、C
PUは、レジスタ値をスタック又は特殊目的のレジスタ
からCPUに入れ戻す割り込みルーチンの最後に、命令
により当初実行していたプログラムに戻る。[0005] Upon receiving an interrupt, the CPU follows an interrupt sequence. During an interrupt sequence, the CPU first completes the currently executing instruction. Next, the CPU
All register values (e.g., instruction pointer (IP), instruction segment (CS)) needed to move to the next instruction, either on the stack inside main memory or in special-purpose registers on the CPU or elsewhere. , processor state word (PSW), etc.). The interrupt routine then begins. After the interrupt is executed, C
The PU returns to the program it was originally executing with an instruction at the end of an interrupt routine that puts register values back into the CPU from the stack or special purpose registers.
【0006】MPシステムでは、割り込みは幾つかの異
なる場所からしばしば発生するものであり、したがって
特別な名称が与えられている。割り込みのあるものは「
内部」割り込みである。内部割り込みは、CPUの状態
、又は命令によって開始される。例えば、典型的な内部
割り込みは、0による除算で生じるものである。In MP systems, interrupts often originate from several different places and are therefore given special names. Those with interrupts are
This is an "internal" interrupt. Internal interrupts are initiated by CPU status or instructions. For example, a typical internal interrupt is one that occurs on division by zero.
【0007】他の割り込みは「外部」割り込みである。
外部割り込みは、コンピュータシステム内のどこかから
CPUに送られる信号により生じる。外部割り込みの一
例として、CPUにより使用されるべき入出力(以下、
I/Oと称す)装置の必要性により生じるものがある。Other interrupts are "external" interrupts. External interrupts are caused by signals sent to the CPU from somewhere within the computer system. An example of an external interrupt is input/output (hereinafter referred to as
Some are caused by the needs of the device (referred to as I/O).
【0008】更に、外部割り込みは、複雑な割り込みネ
ットワークを備えたMPシステムにおいて、二つの形式
、即ち(1)「局所」割り込み、(2) 「大域」割り
込み、という形式に分類されることが時々ある。局所割
り込みは、行先CPUに関して局所的に発生する割り込
みであり、即ち換言すれば、同じサブシステム内で発生
した割り込みである。局所割り込みの一例として、数学
的双対プロセッサからの割り込みがある。これに対し、
大域割り込みは、行先CPU以外のサブシステムで発生
する。大域割り込みの例として、ユーザキーボード、シ
ステムタイマ、ディスクドライブコントローラ、ビデオ
コントローラ、直列又は並列ポート等から発生するもの
がある。Furthermore, external interrupts are sometimes classified into two types in MP systems with complex interrupt networks: (1) "local" interrupts, and (2) "global" interrupts. be. A local interrupt is an interrupt that occurs locally with respect to the destination CPU, or in other words, an interrupt that occurs within the same subsystem. An example of a local interrupt is an interrupt from a mathematically dual processor. On the other hand,
Global interrupts occur in subsystems other than the destination CPU. Examples of global interrupts include those generated from user keyboards, system timers, disk drive controllers, video controllers, serial or parallel ports, and the like.
【0009】割り込みの効率的な伝達及び制御は、高性
能MPシステムにとって重要である。特に、大域割り込
みは、プロセッサが幾つかの異なるバスに渡って広がっ
ているMPシステムの全てのプロセッサの間で容易に管
理されなければならない。Efficient communication and control of interrupts is important to high performance MP systems. In particular, global interrupts must be easily managed among all processors in an MP system where the processors are spread across several different buses.
【0010】従来技術では、大域割り込みは普通は「シ
ステム」割り込みコントローラにより制御される。この
コントローラは、単一ユニット又は協同動作する複数ユ
ニットという形態を取ることができる。独立して又は組
み合わせて動作することができる典型的なシステム割り
込みコントローラは、例えば、「INTEL」8259
プログラム可能割り込みコントローラ(PIC)であ
る。この「INTEL」8259 プログラム可能割り
込みコントローラは市場入手可能であり、アメリカ合衆
国カリフォルニア州のインテル・コーポレーションによ
り製造されている。In the prior art, global interrupts are typically controlled by a "system" interrupt controller. The controller can take the form of a single unit or multiple units working together. Typical system interrupt controllers that can operate independently or in combination include, for example, the INTEL 8259
A programmable interrupt controller (PIC). The "INTEL" 8259 programmable interrupt controller is commercially available and manufactured by Intel Corporation of California, USA.
【0011】通常の割り込みプロトコルでは、システム
割り込みコントローラは全ての割り込みを任意の「省略
時」CPUに伝える。省略時CPUは、識別可能なデー
タセグメント(命令を含む)を共用主記憶装置に入れて
、割り込み、行先CPU、及び行先CPUにより実行さ
れるべき割り込みルーチンを指定する。MPシステムの
他のプロセッサは、データセグメントの待ち行列又は識
別子を監視するように、共用主記憶装置に絶えずアクセ
スする。次いで行先CPUが割り込みを認識し、指定さ
れた割り込みルーチンに従って処理を行う。In the normal interrupt protocol, the system interrupt controller routes all interrupts to any "default" CPU. The default CPU places an identifiable data segment (containing instructions) in shared main memory that specifies the interrupt, the destination CPU, and the interrupt routine to be executed by the destination CPU. Other processors in the MP system constantly access the shared main memory to monitor data segment queues or identifiers. The destination CPU then recognizes the interrupt and processes it according to the specified interrupt routine.
【0012】しかし、前述の従来の大域割り込管理の手
法は、多重バスを有する高性能MPシステムにおいては
問題がある。省略時CPUが、主記憶装置に対して割り
込みの伝達(channelling)に関するコード
を実行するため、それ自身のプログラムの実行を一時的
に停止しなければならない、ということがしばしばある
。However, the conventional global interrupt management techniques described above have problems in high performance MP systems having multiple buses. It is often the case that the default CPU must temporarily suspend execution of its own program in order to execute code related to channeling interrupts to main memory.
【0013】更に、全てのCPUと共用主記憶装置との
間のバスに過大な通信量が存在する。CPUと主記憶装
置との間で行われなければならない莫大なトランザクシ
ョンのため、全体としてのMPシステムの速度は最適と
まではいかない。更に、その性能が低下した結果として
、MPシステムに接続可能なプロセッサの数が更に限ら
れてしまう。Additionally, there is an excessive amount of communication on the bus between all CPUs and the shared main memory. Due to the large number of transactions that must be performed between the CPU and main memory, the overall speed of the MP system is less than optimal. Furthermore, as a result of the reduced performance, the number of processors that can be connected to the MP system is further limited.
【0014】従来知られている他の方法は「割り込みせ
んさく(snooping)」と呼ばれている。割り込
みせんさくは、CPUが伝統的な拡張工業標準アーキテ
クチャ(EISA)バス又は従来のマイクロチャネル(
MCA)バスのような専用バスを有するI/Oカード上
にCPUが設置されているMPシステムのために提案さ
れたものである。I/Oカードは、例えばコンピュータ
システムの高速システムバスに差し込まれ、これにより
多重バスシステムが形成される。Another method known in the art is called "interrupt snooping." Interrupt nuisance is a problem when the CPU is running on a traditional Extended Industry Standard Architecture (EISA) bus or on a traditional Micro Channel (
It was proposed for MP systems in which the CPU is installed on an I/O card with a dedicated bus such as the MCA bus. The I/O card is plugged into, for example, a high speed system bus of a computer system, thereby forming a multiple bus system.
【0015】割り込みせんさくは、割り込みの生成及び
その伝達を行う為に、省略時CPUという概念、又は中
央ロケーションという概念を全く用いていない。割り込
みは、各I/Oカードで生成され、受信される。Interrupt Sensitiveness does not use the concept of a default CPU or any central location to generate interrupts and communicate them. Interrupts are generated and received by each I/O card.
【0016】割り込みせんさく処理を実行するには、各
I/Oカードのバスマスタにインテル8259割り込み
コントローラ又はその等価回路を設ける。その割り込み
コントローラからの割り込みは、割り込みを受信させる
意図のないコンピュータシステムの構成要素からマスク
される。全てのバスマスタは、各々に対応する割り込み
についてシステムバスを監視し、次いでそのそれぞれの
I/Oカード上にある局所CPUに割り込みを指示する
。実質的に、大域割り込みについての全責務は、コンピ
ュータシステムからI/Oカードに転送される。[0016] To perform interrupt-sniff processing, the bus master of each I/O card is provided with an Intel 8259 interrupt controller or its equivalent circuit. Interrupts from that interrupt controller are masked from components of the computer system that are not intended to receive the interrupts. All bus masters monitor the system bus for their respective interrupts and then direct the interrupts to the local CPUs on their respective I/O cards. Essentially all responsibility for global interrupts is transferred from the computer system to the I/O card.
【0017】しかし、前述の割り込み管理機構は、多重
バスを備えた高性能MPシステムにとっては理想的でな
い。この機構では、割り込みがバス基準によりバス上で
管理されること、及び、各バスが少なくとも1つの割り
込み送受信機構を有することが必要である。更に詳しく
述べれば、I/Oカードが接続されているシステムバス
にCPUが付加される場合に、その付加されたCPUは
、I/Oカード上のCPUに割り込みを送受信するため
に、ハードウェア又はソフトウェアのいずれかにおいて
割り込み論理の複製を行わなければならない。更に、例
えば、割り込み回路を付加しないと、システムタイマ及
び/又はユーザキーボードからの標準割り込みをシステ
ムバスにインターフェイスすることができない。However, the interrupt management mechanisms described above are not ideal for high performance MP systems with multiple buses. This mechanism requires that interrupts be managed on the bus on a bus basis and that each bus has at least one interrupt transceiver mechanism. More specifically, when a CPU is added to the system bus to which an I/O card is connected, the added CPU uses hardware or Replication of the interrupt logic must be done somewhere in the software. Furthermore, standard interrupts from, for example, a system timer and/or user keyboard cannot be interfaced to the system bus without the addition of interrupt circuitry.
【0018】[0018]
【課題を解決するための手段】本発明は、共用記憶装置
を有し、且つアーキテクチャ的に分離された多重バスを
備えることができる多重プロセッサ(MP)システムに
おいて大域割り込みを高性能に管理するシステム及び方
法である。SUMMARY OF THE INVENTION The present invention provides a system for high performance global interrupt management in a multiprocessor (MP) system having shared storage and which may include multiple architecturally separated buses. and method.
【0019】本発明は、システム割り込みコントローラ
からの大域割り込みを受信するリダイレクタの実施を構
想するものである。このリダイレクタは、省略時プロセ
ッサにおけるソフトウェアという形態、又はプログラム
可能論理アレイのように、ハードウェアの別個の構成要
素という形態のいずれでもよい。The present invention envisions the implementation of a redirector that receives global interrupts from a system interrupt controller. This redirector may either take the form of software on the default processor or a separate component of hardware, such as a programmable logic array.
【0020】大域割り込みの受信後、リダイレクタは、
MPシステム内の個々のプロセッサに大域割り込みを直
接知らせる。個々のプロセッサの幾つかは、恐らくは入
出力(I/O)カード上の、遠隔の、アーキテクチャ的
に分離されているバス上に存在することができる。After receiving the global interrupt, the redirector:
Global interrupts are communicated directly to individual processors within the MP system. Some of the individual processors may reside on remote, architecturally separate buses, perhaps on input/output (I/O) cards.
【0021】更に、本発明は、割り込みせんさくの概念
を用いて協同動作するように実施可能であるということ
を構想するものである。割り込みせんさくは、従来、幾
つかの市販のI/Oカードのために企図されている。It is further envisioned that the present invention can be implemented in a cooperative manner using the concept of interrupt-sensitivity. Interrupt security has previously been contemplated for several commercially available I/O cards.
【0022】本発明は、上記のような従来の欠点を克服
し、更に下記の別の特徴及び長所を提供する。The present invention overcomes the drawbacks of the prior art as described above and provides additional features and advantages as described below.
【0023】第1に、本発明は、MPシステムのプロセ
ッサにより主記憶装置に不必要に繰り返される問い合わ
せを排除することにより、コンピュータシステムのバス
上の通信量を減少させる。その結果として、MPシステ
ムの全体としての速度が向上し、MPシステムに接続可
能なプロセッサの数が増大する。First, the present invention reduces the amount of communication on a computer system bus by eliminating unnecessary repeated queries to main memory by the MP system's processor. As a result, the overall speed of the MP system increases and the number of processors that can be connected to the MP system increases.
【0024】第2に、本発明は、MPシステムの様々な
バスのプロトコル及び/又はコンパチブルモデルを再規
定せずに実施することができる。Second, the invention can be implemented without respecifying the protocols and/or compatible models of the various buses of the MP system.
【0025】第3に、本発明は、ソフトウェアとハード
ウェアとのいずれでも実施することができるという柔軟
性を有するものである。Third, the present invention is flexible in that it can be implemented in either software or hardware.
【0026】第4に、本発明は、多様なプロセッサ構成
を考慮している。換言すれば、本発明は、同種又は非同
種のMPUを用いて実施可能である。例えば、「INT
EL」ファミリーのMPU(アメリカ合衆国のインテル
・コーポレーション製)を「MOTOROLA」ファミ
リーのMPU(アメリカ合衆国のモトローラ・インコー
ポレーテッド製)と混種させることができる。Fourth, the present invention allows for a variety of processor configurations. In other words, the present invention can be implemented using homogeneous or non- homogeneous MPUs. For example, “INT
It is possible to mix an MPU of the "EL" family (manufactured by Intel Corporation of the United States) with an MPU of the "MOTOROLA" family (manufactured by Motorola Incorporated of the United States of America).
【0027】本発明の他の特徴及び長所は、以下の図面
及び詳細な説明を検討することにより当業者に明らかと
なるであろう。更なる特徴及び長所を全てここに織り込
むことを意図している。Other features and advantages of the invention will become apparent to those skilled in the art from consideration of the following drawings and detailed description. All additional features and advantages are intended to be incorporated herein.
【0028】特許請求の範囲に記載されたものとしての
本発明もまた、本書及び図面を参照することによって、
より良く理解されよう。The present invention as defined in the claims can also be understood by referring to this document and the drawings.
be better understood.
【0029】[0029]
【実施例】図1は、n個の中央処理装置(CPU) 1
10〜116 をそれぞれ有するn個のマイクロプロセ
シングユニット(MPU) 102〜108 を備えて
いる従来のパーソナルコンピュータ(PC)アーキテク
チャを示す。MPU102 〜108 は主記憶装置1
18を共用する。[Example] Figure 1 shows n central processing units (CPUs) 1
1 shows a conventional personal computer (PC) architecture comprising n microprocessing units (MPUs) 102-108, each having n microprocessing units (MPUs) 10-116. MPUs 102 to 108 are the main storage device 1
18 are shared.
【0030】MPU102〜108 はアーキテクチャ
的に分離された幾つかのバス上に存在する。MPU10
2及びMPU108は 主記憶装置118 と共にシス
テムバス120上に存在するが、MPU 104はバス
122 上に存在し、MPU 106はバス124上に
存在する。バスインターフェイスは簡素化のため図示し
ていない。n個のMPU 102〜108のいずれもシ
ステムバス120 に差し込まれる従来の入出力(I/
O)カード上に存在することができる。図示するように
、MPU104,106 の他、そのそれぞれのバス1
22,124 もI/Oカード126,128 上に存
在することが出来る。MPUs 102-108 reside on several architecturally separated buses. MPU10
2 and MPU 108 reside on system bus 120 along with main memory 118 , while MPU 104 resides on bus 122 and MPU 106 resides on bus 124 . The bus interface is not shown for simplicity. Each of the n MPUs 102 to 108 has conventional input/output (I/O) plugged into the system bus 120.
O) Can be present on the card. As shown in the figure, in addition to the MPUs 104 and 106, their respective buses 1
22,124 may also be present on I/O cards 126,128.
【0031】図1のMPシステムにおいて、システム割
り込みコントローラ130 はMPシステム内の大域割
り込みに備えている。このシステム割り込みコントロー
ラ130 はシステムバス120 に直接接続されてい
る。In the MP system of FIG. 1, a system interrupt controller 130 provides for global interrupts within the MP system. This system interrupt controller 130 is connected directly to the system bus 120.
【0032】図2は、図1のアーキテクチャを用いた一
般の割り込みプロトコルを示すものである。システム割
り込みコントローラは、任意の「省略時」CPUに全て
の割り込みを送信する。図示するように、MPU 10
2のCPU 110が省略時CPUとして任意に選択さ
れている。FIG. 2 illustrates a general interrupt protocol using the architecture of FIG. The system interrupt controller sends all interrupts to any "default" CPU. As shown, MPU 10
CPU 2 110 is arbitrarily selected as the default CPU.
【0033】省略時CPU 110は、矢印 202で
示すように、システム割り込みコントローラ130 か
らの大域割り込みを受信する。CPU 110により割
り込みが受信された場合、これに続いてCPU 110
からシステム割り込みコントローラ130 に肯定応答
(ACK)信号が送信される。Default CPU 110 receives global interrupts from system interrupt controller 130, as indicated by arrow 202. If an interrupt is received by CPU 110, then CPU 110
An acknowledgment (ACK) signal is sent from the system interrupt controller 130 to the system interrupt controller 130.
【0034】矢印 204で示すように、省略時CPU
110は、システム割り込みコントローラ130 か
らの大域割り込み信号を受信した後、識別可能なデータ
セグメントを共用主記憶装置118 に入れる。この共
用主記憶装置118 に格納されているデータには、割
り込みと、目的とする行先CPU(図2の例では、CP
U112,114 ,又は116)と、目的とする行先
CPUにより実行されるべき割り込みルーチンとを指定
する命令が含まれている。As shown by arrow 204, the default CPU
110 places the identifiable data segment into shared main storage 118 after receiving a global interrupt signal from system interrupt controller 130 . The data stored in this shared main storage 118 includes interrupts and the intended destination CPU (in the example of FIG.
112, 114, or 116) and an interrupt routine to be executed by the intended destination CPU.
【0035】各MPU 104〜108 上のMPシス
テムにおける他のCPU112 〜116 は、データ
セグメントの待行列又は識別子を監視するように、対応
する矢印 206,208,210で示されるように共
用主記憶装置118 に絶えずアクセスする。The other CPUs 112 - 116 in the MP system on each MPU 104 - 108 use shared main memory as indicated by corresponding arrows 206 , 208 , 210 to monitor data segment queues or identifiers. 118 constantly.
【0036】最終的に、行先CPU(112 ,114
,、又は116)は、共用主記憶装置118 をサンプ
リングした後に割り込みを認識する。次いでデータが共
用主記憶装置118 から読み出され、行先CPUが、
指定された割り込みルーチンに従って動作する。Finally, the destination CPU (112, 114
, or 116) recognizes the interrupt after sampling the shared main storage 118. The data is then read from shared main memory 118 and the destination CPU
Operate according to the specified interrupt routine.
【0037】しかし、前述の従来の大域割り込み管理方
法には問題がある。省略時CPU110 は、共用主記
憶装置118 への割り込みの伝達に関するコードを実
行するため、常にそれ自身のプログラムの実行を一時的
に停止しなければならない。However, there are problems with the conventional global interrupt management method described above. The default CPU 110 must always temporarily suspend execution of its own programs in order to execute code related to the delivery of interrupts to shared main memory 118 .
【0038】更に、全CPU110 〜116 と共用
主記憶装置118 との間のバスに過大な通信量が存在
する。図1において、バス122,124 の他に、シ
ステムバス120 も、割り込みプロトコルによる過大
な通信量を特徴とするものである。Furthermore, there is an excessive amount of communication on the bus between all CPUs 110 - 116 and shared main storage 118 . In FIG. 1, in addition to buses 122 and 124, system bus 120 is also characterized by an excessive amount of communication due to the interrupt protocol.
【0039】図2に矢印 204〜210 で示したよ
うに、CPU110 〜116と共用主記憶装置118
との間で行われなければならない莫大なトランザクショ
ンのため、MPUシステム全体としての速度は最適とま
ではいかない。更に、性能低下の結果として、MPシス
テムに接続可能なMPUの数が一層限られてしまう。As shown by arrows 204 to 210 in FIG.
Due to the huge number of transactions that must be made to and from the MPU, the overall speed of the MPU system is less than optimal. Furthermore, as a result of the performance degradation, the number of MPUs that can be connected to the MP system is further limited.
【0040】図3は、「割り込みせんさく」の概念、及
び割り込みせんさくを省略時CPU方法と組み合わせて
用いた管理機構を示している。FIG. 3 illustrates the concept of "interrupt-sensitivity" and a management mechanism that uses interrupt-sensitivity in conjunction with the default CPU method.
【0041】割り込みせんさくは、従来の拡張工業標準
(EISA)バス又は従来のマイクロチャネル(MCA
)バスのような、専用の、アーキテクチャ的に分離され
たバスを有するI/Oカード上にCPUが設置されてい
るMPシステムのために提案されてきた。図1及び図3
に示すように、MPU104,106 は別々のそれぞ
れのI/Oカード126,128 上に存在し、これら
のカードはシステムバス120 に差し込まれる。[0041] Interrupt sniffing can be implemented using either the traditional Extended Industry Standard (EISA) bus or the traditional
) bus has been proposed for MP systems in which the CPU is located on an I/O card with a dedicated, architecturally separate bus, such as a bus. Figures 1 and 3
As shown, MPUs 104 and 106 reside on separate respective I/O cards 126 and 128, which are plugged into system bus 120.
【0042】割り込みせんさくに従って、割り込みは、
矢印302 で示すように、異なるI/Oカードに載っ
ているMPU104,106 との間で直接伝達が行わ
れる。構成上の見地から言うと、この矢印302 で示
す伝達は、図1のバス120,122,124 を介し
て行われる。実行中の対話のみがこの形式である場合に
、純粋な割り込みせんさくが生じることになる。According to interrupt snooping, interrupts are
As indicated by arrow 302, direct communication occurs between MPUs 104 and 106 located on different I/O cards. From an architectural standpoint, this communication, indicated by arrow 302, takes place via buses 120, 122, 124 of FIG. Pure interrupt nuisance will occur if the only ongoing interaction is of this type.
【0043】しかし、1つ以上の他のCPU102,1
08 が直接システムバス120 に接続される図1の
MPシステムでは、省略時CPUの概念、又は何か他の
手法を実施して、これらのCPUへ割り込みを指示しな
ければならない。よって、本MPシステムは、省略時C
PUの概念及び割り込みせんさくの概念の双方を含む割
り込み管理の混種形態を組み込んでいる。However, one or more other CPUs 102,1
In the MP system of FIG. 1, where CPUs 08 are directly connected to system bus 120, the concept of a default CPU, or some other technique, must be implemented to direct interrupts to these CPUs. Therefore, in this MP system, the default C
It incorporates a hybrid form of interrupt management that includes both the concept of PU and the concept of interrupt prudence.
【0044】特に、割り込みせんさくは、全てのI/O
カードの間で、例えば、I/Oカード126 とI/O
カード128 との間で生じる。これと同時に、CPU
110 が省略時CPUとして動作する。このCPU1
10 は、システムバス120 上の全てのCPU、即
ちCPU116 に割り込みを導く。更に、I/Oカー
ド126,128 のバスマスタ(図示せず)は、仮想
線304 で示すように、システム割り込みコントロー
ラ130からの割り込みに聞き耳を立てる。[0044] In particular, interrupt snooping is
For example, between the I/O card 126 and the I/O
This occurs between card 128 and card 128. At the same time, the CPU
110 operates as the CPU by default. This CPU1
10 directs interrupts to all CPUs on system bus 120, ie, CPU 116. Additionally, the bus masters (not shown) of I/O cards 126, 128 listen for interrupts from system interrupt controller 130, as indicated by phantom line 304.
【0045】二つ以上のCPUがI/Oカードの各々に
存在することができることに注目すべきである。更に、
システム割り込みコントローラ130 からの割り込み
は全て、I/O上の特定のCPUにではなく、特定のI
/Oカードに指示される。It should be noted that more than one CPU can be present on each I/O card. Furthermore,
All interrupts from the system interrupt controller 130 are sent to a specific I/O, rather than to a specific CPU on the I/O.
/O card indicates.
【0046】しかし、前述の混種形態の割り込み管理機
構は、幾つかの理由のため、多重バスを有する高性能M
Pアーキテクチャには望ましくない。その1つの理由は
、MPシステムに冗長な割り込みマネージャが不必要に
存在することである。実際に、各I/Oカード126,
128 は、割り込みマネージャである他、システム割
り込みコントローラ130 でもある。However, the above-described hybrid interrupt management mechanism is not suitable for high-performance MBs with multiple buses for several reasons.
Undesirable for P architecture. One reason for this is the unnecessary presence of redundant interrupt managers in MP systems. In fact, each I/O card 126,
In addition to being an interrupt manager, 128 is also a system interrupt controller 130.
【0047】更に、多くの不必要な通信量がバス上に、
特にシステムバス120 上に依然として存在する。そ
の結果として、速度が落ち、MPシステムに接続可能な
プロセッサの数が制限されてしまう。Furthermore, a lot of unnecessary traffic is placed on the bus.
Specifically, it still exists on the system bus 120. As a result, speed is reduced and the number of processors that can be connected to the MP system is limited.
【0048】図4は本発明の好適な実施例を示す。リダ
イレクタ402 は、I/Oカード、例えば、I/Oカ
ード126 又はI/Oカード128 上の個々のCP
Uを含む、あらゆるバス上の個々のCPUに、システム
割り込みコントローラ130 からの割り込みを指示す
るように実施されている。FIG. 4 shows a preferred embodiment of the invention. Redirector 402 is configured to connect individual CPs on an I/O card, e.g., I/O card 126 or I/O card 128.
It is implemented to direct interrupts from the system interrupt controller 130 to individual CPUs on every bus, including U.
【0049】図示するように、リダイレクタ402 は
、バス404を介してシステム割り込みコントローラ1
30 と交信する。更に、リダイレクタ402 は、n
個の個々のMPU102 〜108 と交信する。As shown, redirector 402 communicates with system interrupt controller 1 via bus 404.
Communicate with 30. Furthermore, the redirector 402
individual MPUs 102 - 108 .
【0050】リダイレクタ402 は、ソフトウェア優
勢、ハードウェア優勢、又はソフトウェアとハードウェ
アとの組み合わせにより最適に実施することができる。
ソフトウェア優勢を実施した場合、リダイレクタ402
の機能性は、「省略時CPU」の類ではあるが、後に
図5で説明するように異なる機能を備えている、任意の
CPUにより実行されるプログラムコードによって実施
される。Redirector 402 can best be implemented as software-dominant, hardware-dominant, or a combination of software and hardware. If software dominance is implemented, the redirector 402
The functionality of is implemented by program code executed by any CPU, although of the "default CPU" type, but with different functionality as explained later in FIG.
【0051】ハードウェア優勢を実施した場合、リダイ
レクタ402 の機能性は、物理的論理回路で達成され
る。
この論理回路は、用途特定集積回路(ASIC) のよ
うな外部マイクロチップ上で、又は他の個別回路装置上
で実施可能である。更に、システム割り込みコントロー
ラ130 及びリダイレクタ402 は、ASICのよ
うな同一の回路装置上に組込むことができる。好適な実
施例では、ハードウェア論理を実施するためにプログラ
ム可能論理アレイ(PAL)を用いている。In a hardware-based implementation, the functionality of redirector 402 is accomplished in physical logic circuits. This logic circuitry can be implemented on an external microchip, such as an application specific integrated circuit (ASIC), or on other discrete circuit devices. Furthermore, system interrupt controller 130 and redirector 402 can be integrated on the same circuit device, such as an ASIC. The preferred embodiment uses a programmable logic array (PAL) to implement the hardware logic.
【0052】更に、従来周知である通り、必要な論理の
実質的部分をソフトウェアとハードウェアとの双方で実
施することができ、即ちそれらを組み合わせたものを実
施することが出来る。Furthermore, as is well known in the art, a substantial portion of the necessary logic can be implemented in both software and hardware, or a combination thereof.
【0053】図5及び図6を参照して、ソフトウェア又
はハードウェアによるシステム割り込みリダイレクショ
ン方法を以下に説明する。図5はソフトウェア(S/W
)割り込みリダイレクションに関するものであり、これ
に対し、図6はハードウェア(H/W)割り込みリダイ
レクションに関するものである。A system interrupt redirection method using software or hardware will be described below with reference to FIGS. 5 and 6. Figure 5 shows software (S/W)
) relates to interrupt redirection, whereas FIG. 6 relates to hardware (H/W) interrupt redirection.
【0054】(1) フローチャートのブロック514
,524 において、(a)リダイレクタ402 と(
b)リダイレクタ402の機能に対応するコードを有す
る省略時CPUとの何れかが、システム割り込みコント
ローラ130 からの大域システム割り込みを受信する
。(1) Block 514 of the flowchart
, 524, (a) redirector 402 and (
b) Any default CPU with code corresponding to the functionality of redirector 402 receives a global system interrupt from system interrupt controller 130 .
【0055】(2) フローチャートのブロック516
,526 において、(a)リダイレクタ402 と(
b)省略時CPUとの何れかが、又は(b) 省略時C
PUが、ルックアップテーブルを使用して、行先CPU
及びその関連するI/Oアドレス、対応する割り込みベ
クトル、及び割り込みの優先順位を見つける。(2) Block 516 of the flowchart
, 526, (a) redirector 402 and (
b) either the default CPU, or (b) the default C
The PU uses a lookup table to find the destination CPU.
and its associated I/O address, corresponding interrupt vector, and interrupt priority.
【0056】(3) フローチャートのブロック518
,528 において、(a)リダイレクタ402 と(
b)省略時CPUとの何れかが、次いでルックアップテ
ーブルの内容を行先CPUに書込む。(3) Block 518 of the flowchart
, 528, (a) redirector 402 and (
b) Either the default CPU then writes the contents of the lookup table to the destination CPU.
【0057】本発明では、リダイレクタ402 又は省
略時CPUが、割り込みを送信する前に、セマフォー式
システムの場合のように、行先CPUを制御したり「所
有」したりする必要がない、ということに注目する価値
がある。セマフォー方式では、CPUが割り込みを受信
する態勢が整っているか否か又は受信することができる
か否かを指示する。セマフォー方式では、CPUが多重
割り込み命令で一度に圧倒されることがないようにして
いる。The present invention provides that redirector 402, or the default CPU, does not need to control or "own" the destination CPU before sending an interrupt, as is the case in semaphore-based systems. It's worth paying attention to. The semaphore scheme indicates whether the CPU is ready or able to receive an interrupt. The semaphore method prevents the CPU from being overwhelmed by multiple interrupt instructions at once.
【0058】ソフトウェア的に実施したものにおける省
略時CPUも、ハードウェア的に実施したものにおける
リダイレクタ402 も、行先CPUを所有する必要が
無いということの理由は、大域割り込みの可能性がある
ソースが、MPシステム内に1つだけ存在するというこ
とである。更に、行先CPUは、省略時CPU又はリダ
イレクタ402 からの割り込みをハンドシェイクし、
即ちその応答を行う。The reason that neither the default CPU in a software implementation nor the redirector 402 in a hardware implementation is required to own the destination CPU is that the potential source of the global interrupt is , only one exists in the MP system. Additionally, the destination CPU handshakes interrupts from the default CPU or redirector 402;
That is, the response is made.
【0059】本発明の他の特徴は、リダイレクタ402
が、MPシステムにおけるMPU110〜116 の
間で一種のバッファ/インターフェイスとして働くとい
うことである。換言すれば、本発明は、同種又は非同種
のプロセッサを同一のシステム割り込みコントローラ1
30 から動作させることが出来る。Another feature of the invention is that the redirector 402
This means that it functions as a kind of buffer/interface between the MPUs 110 to 116 in the MP system. In other words, the present invention enables homogeneous or non- homogeneous processors to be integrated into the same system interrupt controller 1.
It can be operated from 30.
【0060】本発明の特定のハードウェア的な実施例を
図7及び図8に示す。この特定のハードウェア的な実施
例は、バスネットワーク上の通信量を減らすと同時に、
高性能MPシステムにおいて最大256 までの割り込
みベクトルを生成する、廉価で効率の良い実施方法を示
すものである。A specific hardware embodiment of the invention is shown in FIGS. 7 and 8. This particular hardware implementation reduces the amount of traffic on the bus network while at the same time
We demonstrate an inexpensive and efficient implementation of generating up to 256 interrupt vectors in a high performance MP system.
【0061】リダイレクタ402 の機能性は、明確な
中央ロケーションで、恐らくはシステム割り込みコント
ローラ130 又はその近くで部分的に実行され、また
n個のMPU102 〜108 の各々に対する局所的
な場所で部分的に実行される。図7は、システム割り込
みコントローラに関連する、ベクトル変換送信器と呼ば
れる部分を示すものである。これに対し、図8は、個々
のMPUに関連する、ベクトル変換受信器と呼ばれる部
分を示すものである。実質的に、ベクトル変換送信器は
、n個のMPU102 〜108 のうちの特定のCP
Uにシステム割り込みを伝え、一方、ベクトル変換受信
器は、ハンドシェーク論理及び局所割り込みを処理する
論理を備えている。The functionality of the redirector 402 is performed partly in a well-defined central location, perhaps at or near the system interrupt controller 130, and partly in local locations for each of the n MPUs 102-108. be done. FIG. 7 shows a portion called the vector translation transmitter that is associated with the system interrupt controller. On the other hand, FIG. 8 shows a portion called a vector conversion receiver associated with each MPU. Substantially, the vector conversion transmitter may be configured to
It communicates system interrupts to the U, while the vector conversion receiver includes handshake logic and logic to handle local interrupts.
【0062】図7に仮想線のブロック602 で示し、
図8に仮想線のブロック702 で示すように、ベクト
ル変換送信器及びベクトル変換受信器は共にASICの
ような1つの回路ユニット上に構成可能であることがわ
かる。ベクトル変換送信器は、図7に示すように、シス
テム割り込みコントローラ130 を更に備えることが
できることに注目すべきである。[0062] In FIG. 7, a block 602 of imaginary lines indicates,
It can be seen that both the vector conversion transmitter and the vector conversion receiver can be implemented on one circuit unit, such as an ASIC, as shown in phantom block 702 in FIG. It should be noted that the vector translation transmitter may further include a system interrupt controller 130, as shown in FIG.
【0063】図7のベクトル変換送信器のアーキテクチ
ャは、IBMのPCにコンパチブルである。更に詳細に
は、IBMの標準アーキテクチャには、システム割り込
みコントローラ130 として働く1組の縦続接続「I
NTEL」8259 割り込みコントローラ604,6
06 が必要である。
コントローラ604,606 を縦続接続することは、
従来周知である。縦続接続構成は、8つの割り込みしか
できない単一の「INTEL」8259 割り込みコン
トローラとは異なり、16の異なる割り込みを考慮した
ものである。ベクトル変換送信器は次のように動作する
。MPシステムにおける或る部分からの16ビットのシ
ステム割り込み(IRQ 15:0)は、PAL161
0 の制御下にあるラッチ608 に入る。PAL16
10 は、チップイネーブル(CE)制御612 及び
方向(DIR)制御614 を介してラッチ608 を
制御する。更に、ラッチ608は、1組の並列PAL6
16 〜622 から構成されている。The vector conversion transmitter architecture of FIG. 7 is compatible with IBM PCs. More specifically, IBM's standard architecture includes a set of cascaded connections "I" that act as a system interrupt controller 130.
NTEL” 8259 Interrupt controller 604, 6
06 is required. Connecting the controllers 604 and 606 in cascade means
It is conventionally well known. The cascade configuration allows for 16 different interrupts, unlike the single ``INTEL'' 8259 interrupt controller, which allows only 8 interrupts. The vector conversion transmitter operates as follows. A 16-bit system interrupt (IRQ 15:0) from some part of the MP system is
latch 608 is under the control of 0. PAL16
10 controls latch 608 through chip enable (CE) control 612 and direction (DIR) control 614. Furthermore, the latch 608 connects a set of parallel PAL6
It consists of 16 to 622.
【0064】縦続接続「INTEL」8259 割り込
みコントローラ604,606 (システム割り込みコ
ントローラ130)は、4ビットバス624(I15:
I12) 、4ビットバス626 (I11:I8)
、4ビットバス628 (I7:I4) 、及び4ビッ
トバス630 (I3:I0) を介して16ビットの
システム割り込みを受信する。続いて、「INTEL」
8259 割り込みコントローラ604,606 は、
割り込みライン632 を介してPAL1610 にシ
ステム割り込みを知らせる。PAL1610 は次いで
、割り込み肯定応答(INT ACK)ライン634を
経由して縦続接続「INTEL」8259 割り込みコ
ントローラ604,606 に割り込み肯定応答を送信
する。Cascade connection "INTEL" 8259 interrupt controllers 604, 606 (system interrupt controller 130) connect 4-bit bus 624 (I15:
I12), 4-bit bus 626 (I11:I8)
, 4-bit bus 628 (I7:I4), and 4-bit bus 630 (I3:I0). Next, “INTEL”
8259 interrupt controllers 604 and 606 are
System interrupts are signaled to the PAL 1610 via interrupt line 632. PAL 1610 then sends an interrupt acknowledgement to cascaded INTEL 8259 interrupt controllers 604, 606 via interrupt acknowledge (INT ACK) line 634.
【0065】次に、1組の縦続接続「INTEL」82
59 割り込みコントローラ604,606 (システ
ム割り込みコントローラ130)は、16の異なる種類
のシステム割り込みのいずれをも指定することができる
4ビットの割り込みベクトル(vd3:0)を、PAL
1610 及びPAL3636 に送信する。したがっ
て、PAL1610 は、チップイネーブル制御612
を介してラッチ608 を凍結させ、更にチップイネ
ーブル制御640 及び方向制御642を介してランダ
ムアクセスメモリ(RAM)638をイネーブルにする
。PAL3636は、4ビットの割り込みベクトルをア
ドレス(va3:va0)に変換する。このアドレスは
、RAM 638内のルックアップテーブルに送られる
。その結果として、バス646 で示すように、16ビ
ットのデータ語が、RAM 638 からシステムデー
タバス644 に伝達される。システムデータバス64
4 は、幾つかのバスを組み合わせたものでもよい。更
に、好適な実施例では、16ビットのデータ語が、割り
込みベクトル(8ビット)、ベクトル優先順位、及び割
り込みベクトルを受信するためのCPUのアドレス(ス
ロット番号)から構成されている。Next, a set of cascade connections "INTEL" 82
59 The interrupt controllers 604, 606 (system interrupt controller 130) transmit a 4-bit interrupt vector (vd3:0) that can specify any of 16 different types of system interrupts to the PAL
1610 and PAL3636. Therefore, the PAL 1610 uses the chip enable control 612
Freezes latch 608 via chip enable control 640 and enables random access memory (RAM) 638 via direction control 642. The PAL3636 converts the 4-bit interrupt vector into an address (va3:va0). This address is sent to a lookup table in RAM 638. As a result, a 16-bit data word is transferred from RAM 638 to system data bus 644, as shown at bus 646. system data bus 64
4 may be a combination of several buses. Additionally, in the preferred embodiment, a 16-bit data word consists of an interrupt vector (8 bits), a vector priority, and the address (slot number) of the CPU to receive the interrupt vector.
【0066】前述の16ビットのデータ語がRAM 6
38により出力されるのと同時に、PAL5636 は
、16ビットのデータ語を行先CPUに書込むため、制
御650,652 を介してシステム制御バス648
にI/Oサイクルを生成する。システム制御バス648
は、MPシステムのアドレスライン及び制御ラインの
双方から構成されており、またバスを組み合わせたもの
とすることもできる。図示するように、PAL3636
は、システム制御バス648 上で以下の命令を実行
することが出来る。(1)命令又はデータのいずれかを
示す制御信号(CMD/D)、(2) 記憶装置又はI
/Oのいずれかを示す制御信号(M/IO)、(3)
読み出し又は書き込みのいずれかを示す制御信号(RD
/WR)、(4) バス要求(BUSRQ)信号、及び
(5) バス肯定応答(BUSACK)信号。The aforementioned 16-bit data word is stored in RAM 6.
38, the PAL 5636 connects the system control bus 648 via controls 650, 652 to write a 16-bit data word to the destination CPU.
generates an I/O cycle. System control bus 648
consists of both the address and control lines of the MP system, and can also be a combination of buses. As shown, PAL3636
can execute the following instructions on system control bus 648: (1) Control signal (CMD/D) indicating either command or data, (2) Storage device or I
Control signal (M/IO) indicating either /O, (3)
A control signal (RD
/WR), (4) a bus request (BUSRQ) signal, and (5) a bus acknowledge (BUSACK) signal.
【0067】更に、RAM 638から出力された割り
込みベクトルは、縦続接続「INTEL」8259 割
り込みコントローラ604,606のデータライン(v
d7:0)654,656 から分離されなければなら
ない一方、データライン(vd7:0)654,656
へのアクセスはなお考慮されている。データライン(
vd7:0)654,656 へのアクセスは、縦続接
続「INTEL」8259割り込みコントローラ604
,606 をプログラムすることができるようにするの
に必要である。Furthermore, the interrupt vector output from the RAM 638 is connected to the data line (v
d7:0) 654,656 while the data line (vd7:0) 654,656
Access to is still being considered. Data line (
vd7:0) 654,656 is accessed through the cascade connection “INTEL” 8259 interrupt controller 604
, 606.
【0068】縦続接続「INTEL」8259 割り込
みコントローラ604,606 に対して(プログラム
の)読み出し又は書き込みを行うため、各種信号が、P
AL1610 によってシステム制御バス648から監
視される。図示するように、PAL1610 は、シス
テム制御バス648 から以下の信号を受信する。(1
) 命令又はデータのいずれかを示す制御信号(CMD
/D)、(2) 記憶装置又はI/Oのいずれかを示す
制御信号(M/IO)、(3) 読み出し又は書き込み
のいずれかを示す制御信号(RD/WR) 、及び(4
) アドレス(A4:A0又はA4〜AO)。上述の信
号は、外部I/O装置により生成され、「INTEL」
8259 割り込みコントローラ604,606 又は
RAM638 のいずれに対して(プログラムの)読み
出し又は書き込みを行うために使用することができるも
のである。Cascade connection "INTEL" 8259 In order to read or write (programs) to interrupt controllers 604 and 606, various signals are sent to P
Monitored from system control bus 648 by AL 1610. As shown, PAL 1610 receives the following signals from system control bus 648: (1
) A control signal (CMD) indicating either a command or data
/D), (2) a control signal (M/IO) indicating either a storage device or I/O, (3) a control signal (RD/WR) indicating either reading or writing, and (4)
) Address (A4:A0 or A4-AO). The above signal is generated by an external I/O device and is called "INTEL".
It can be used to read or write (programs) to either the 8259 interrupt controllers 604, 606 or the RAM 638.
【0069】外部I/O装置が、縦続接続「INTEL
」8259 割り込みコントローラ604,606 に
アクセスしようとすると、PAL4658 及びPAL
5660 がイネーブルとなり、これにより「INTE
L」8259 割り込みコントローラ604,606
にシステムデータバス644 からアクセスすることが
可能となる。これに対し、システム割り込みがn個のM
PU 102〜108 のうちの1つに送られている場
合は、PAL4658 及びPAL5660 がディセ
ーブルとなり、これによりデータライン(vd7:0)
654,656がシステムデータバス644 から分離
され、したがって、結局は、RAM638により出力さ
れる16ビットのデータ語から分離される。[0069] The external I/O device connects the cascade connection “INTEL
'8259 When attempting to access interrupt controllers 604 and 606, PAL4658 and PAL
5660 is enabled, which causes the “INTE
L'8259 Interrupt controller 604, 606
can be accessed from the system data bus 644. On the other hand, if there are n system interrupts, M
If being sent to one of PUs 102-108, PAL4658 and PAL5660 are disabled, which causes the data line (vd7:0)
654 and 656 are separated from the system data bus 644 and thus ultimately from the 16-bit data word output by RAM 638.
【0070】図8は、RAM638 から出力される割
り込みベクトルにより指定される行先CPUの付近に設
置されているベクトル変換受信器を示すものである。こ
のベクトル変換受信器は、以下に説明するように、ベク
トル変換送信器に関連する同様の構成要素及び機能を備
えている。FIG. 8 shows a vector conversion receiver installed near the destination CPU designated by the interrupt vector output from the RAM 638. The vector conversion receiver includes similar components and functionality associated with the vector conversion transmitter, as described below.
【0071】図8のベクトル変換受信器は、システムデ
ータバス644 から、結局は図7のベクトル変換送信
器から、ラッチ704 に割り込みベクトルを読み出す
。ラッチ704は、二つの並列PAL、即ちPAL2A
706及びPAL2B708から構成されている。更に
、ラッチ704 は、チップイネーブル(CE)制御7
12 及び方向(DIR)制御714 を介してPAL
1710 により制御される。図7のPAL1610
と同様に、図8のPAL1710 は、制御論理として
働く。The vector translation receiver of FIG. 8 reads the interrupt vector into latch 704 from the system data bus 644 and ultimately from the vector translation transmitter of FIG. Latch 704 connects two parallel PALs, namely PAL2A
706 and PAL2B 708. Furthermore, the latch 704 is connected to the chip enable (CE) control 7
12 and direction (DIR) control 714 via PAL
1710. PAL1610 in Figure 7
Similarly, the PAL 1710 of FIG. 8 serves as the control logic.
【0072】単一の「INTEL」8259 割り込み
コントローラ716 は図示するように、並列バス71
8(I7:I4),720(I3:0)を介して7ビッ
トの割り込みベクトル(I7:I0)を受信する。「I
NTEL」8259 割り込みコントローラ716は、
7ビットの割り込みベクトルに(局所割り込みと共に)
優先順位を与え、そのベクトルを3ビットの割り込みベ
クトル(vd2:0)に変換する。A single INTEL 8259 interrupt controller 716 is connected to a parallel bus 71 as shown.
8 (I7:I4), 720 (I3:0) to receive a 7-bit interrupt vector (I7:I0). “I
NTEL” 8259 interrupt controller 716 is
into a 7-bit interrupt vector (along with local interrupts)
Give priority and convert the vector into a 3-bit interrupt vector (vd2:0).
【0073】次に、「INTEL」8259 割り込み
コントローラ716 は、その関連する局所CPU(n
個のMPU102 〜108のうちの1つ)に割り込み
ライン732 を介してシステム割り込みを知らせる。
次いで、局所MPUが、「INTEL」8259 割り
込みコントローラ716 に信号を送って割り込み肯定
応答サイクルを実行しなければならないことを知る。実
質的に、割り込み肯定応答サイクルは、特殊な種類のI
/O読み出しである。Next, the "INTEL" 8259 interrupt controller 716 controls its associated local CPU (n
one of the MPUs 102-108) is notified of the system interrupt via interrupt line 732. The local MPU then knows that it must signal the INTEL 8259 interrupt controller 716 to perform an interrupt acknowledge cycle. Essentially, the interrupt acknowledge cycle is a special kind of I
/O read.
【0074】図示のように、PAL1710 は、局所
MPUから以下の信号を受信する。(1)命令又はデー
タのいずれか一方(CMD/D)、(2) 記憶装置又
はI/Oのいずれか一方(M/IO)、(3) 読み出
し又は書き込みのいずれか一方(RD/WR)、及び(
4) アドレス(A4:A0)。PAL1710 は、
局所MPUからの前述の信号をデコードし、割り込み肯
定応答ライン734 を介して「INTEL」8259
割り込みコントローラ716 に割り込み肯定応答を
送信する。As shown, the PAL 1710 receives the following signals from the local MPU. (1) Either command or data (CMD/D), (2) Either storage device or I/O (M/IO), (3) Either read or write (RD/WR) ,as well as(
4) Address (A4:A0). PAL1710 is
Decodes the aforementioned signal from the local MPU and sends “INTEL” 8259 via interrupt acknowledge line 734.
Sends an interrupt acknowledgment to interrupt controller 716.
【0075】「INTEL」8259 割り込みコント
ローラ716 は、3ビットの割り込みベクトル(vd
2:0)をPAL1710 に送信する。このベクトル
は、8種類の異なる割り込みのいずれかを指定すること
ができるものである。したがって、PAL1710 は
、キャッシュイネーブル制御712 を介してラッチ7
04 を凍結し、キャッシュイネーブル制御740を介
してRAM738をイネーブルにする。更に、このPA
L1710 は、3ビットの割り込みベクトルをアドレ
ス(va2:va0)に変換する。このアドレスは、R
AM738 内のルックアップテーブルに送信される。
よって、システムデータバス644 から受取った元の
割り込みベクトル(I7:I0)は、8種の異なる可能
性のいずれであってもよいものであり、256 種の異
なる可能性のいずれともすることができる他のベクトル
を識別するために使用される。The "INTEL" 8259 interrupt controller 716 has a 3-bit interrupt vector (vd
2:0) to PAL1710. This vector can specify any of eight different types of interrupts. Therefore, PAL 1710 uses latch 7 via cache enable control 712.
04 and enables RAM 738 via cache enable control 740. Furthermore, this P.A.
L1710 converts a 3-bit interrupt vector into an address (va2:va0). This address is R
Sent to lookup table in AM738. Thus, the original interrupt vector (I7:I0) received from the system data bus 644 could be any of 8 different possibilities, and could be any of 256 different possibilities. Used to identify other vectors.
【0076】最後に、割り込みベクトルは、RAM73
8 からシステムデータバス(d7:0)644を介し
て関連する局所MPUに送信される。Finally, the interrupt vector is
8 to the associated local MPU via the system data bus (d7:0) 644.
【0077】RAM738 により出力された割り込み
ベクトルは、「INTEL」8259 割り込みコント
ローラ716 のデータライン(vd7:0)から分離
されなければならないが、データライン(vd7:0)
へのアクセスはなお考慮されている。その1つの理由は
、「INTEL」8259 割り込みコントローラ71
6 にアクセスし、プログラムすることができるように
するため、データライン(vd7:0)へのアクセスが
必要であるということである。The interrupt vector output by RAM 738 must be separated from the data line (vd7:0) of the "INTEL" 8259 interrupt controller 716, but the data line (vd7:0)
Access to is still being considered. One reason for this is the "INTEL" 8259 interrupt controller 71
In order to be able to access and program the data lines (vd7:0), access to the data lines (vd7:0) is required.
【0078】「INTEL」8259 割り込みコント
ローラに対して読み書きを行おうとする場合、PAL3
758 及びPAL4760 がイネーブルになり、こ
れによりシステムデータバス644 から「INTEL
」8259 割り込みコントローラ716 にアクセス
することが可能となる。これに対し、割り込みが関連す
る局所MPUに送られている場合は、PAL3758
及びPAL4760 がディセーブルになり、これによ
り「INTEL」8259 割り込みコントローラ71
6 からのデータライン(vd7:0)がシステムデー
タバス644 から分離され、したがって、RAM73
8 により出力される割り込みベクトル(d7:0)か
ら分離される。"INTEL" 8259 When attempting to read or write to the interrupt controller, PAL3
758 and PAL4760 are enabled, which causes the system data bus 644 to
” 8259 The interrupt controller 716 can be accessed. On the other hand, if the interrupt is being sent to the associated local MPU, the PAL3758
and PAL4760 are disabled, which causes the ``INTEL'' 8259 interrupt controller 71
The data lines from 644 (vd7:0) are separated from the system data bus 644 and therefore
It is separated from the interrupt vector (d7:0) output by 8.
【0079】本発明のシステム及び方法は、上述したよ
うに、割り込みせんさくによっても実施可能である。こ
の装置は、割り込みせんさくと、ソフトウェア割り込み
リダイレクション又はハードウェア割り込みリダイレク
ションとの混種態様となる。このような方法は、応答必
要性が重要なI/Oカードを有するMPシステムにおい
て望ましいものである。The systems and methods of the present invention can also be implemented with interrupt sparing, as described above. The device is a hybrid of interrupt sensitivity and software interrupt redirection or hardware interrupt redirection. Such a method is desirable in MP systems with I/O cards where response needs are important.
【0080】ソフトウェア割り込みリダイレクションは
、わずかに1個か2個、又は3個のマイクロプロセッサ
及び関連サブシステムを有するPCに好適である。その
1つの理由は、本発明を低価格で実施することができる
ということである。他の理由は、MPシステムに更にハ
ードウェアを付加するという負担がないということであ
る。また別の理由は、ソフトウェアのオーバヘッドが大
きくないということである。更に、アーキテクチャ的に
分離された多重バスに渡って接続を行うようにこのシス
テム及び方法をより一層容易に設計することが出来る。Software interrupt redirection is suitable for PCs with only one, two, or three microprocessors and associated subsystems. One reason for this is that the invention can be implemented at low cost. Another reason is that there is no burden of adding more hardware to the MP system. Another reason is that the software overhead is not large. Furthermore, the system and method can be more easily designed to make connections across multiple architecturally separated buses.
【0081】ハードウェア割り込みリダイレクションは
、多数の大域割り込みがあるMPシステムにおいて、本
発明の一層望ましい形態となる。換言すれば、割り込み
を処理するためのこのようなMPシステムにおける省略
時CPUでの付加的なソフトウェアオーバヘッドが、省
略時CPUを停止に追い込むことができる。Hardware interrupt redirection becomes a more desirable form of the invention in MP systems with a large number of global interrupts. In other words, the additional software overhead on the default CPU in such an MP system for handling interrupts can force the default CPU to stall.
【0082】最後に、ソフトウェア割り込みリダイレク
ション、割り込みリダイレクション、又はソフトウェア
又はハードウェア割り込みリダイレクションによる割り
込みせんさくは、OS/2又はUNIXオペレーティン
グシステム(ドライバ)とコンパチブルである。その理
由は、オペレーティングシステム及びアプリケーション
プログラムには大域割り込みが見えないということある
。Finally, interrupt sensitivity via software interrupt redirection, interrupt redirection, or software or hardware interrupt redirection is compatible with OS/2 or UNIX operating systems (drivers). The reason is that global interrupts are invisible to the operating system and application programs.
【0083】本発明は好適実施例に限定されるものでは
なく、上述の実施例は説明を目的とする単なる例に過ぎ
ない、ということが理解されるべきである。ゆえに、本
発明の範囲は、上述の詳細な説明及び図面により規定さ
れるものとしての特許請求の範囲により解釈されるべき
である。It should be understood that the invention is not limited to the preferred embodiments, and that the embodiments described above are merely examples for illustrative purposes. The scope of the invention should, therefore, be construed by the claims as defined by the foregoing detailed description and drawings.
【0084】[0084]
【発明の効果】本発明は上述のように構成したので、M
Pシステムのプロセッサにより主記憶装置に不必要に繰
り返される問い合わせを排除してコンピュータシステム
のバス上の通信量を減少させ、これにより、MPシステ
ムの全体としての速度を向上させ、MPシステムに接続
可能なプロセッサの数を増大させることが出来る。また
、本発明はMPシステムの様々なバスのプロトコル及び
/又はコンパチブルモデルを再規定せずに実施すること
が可能であり、更に、ソフトウェアとハードウェアとの
いずれでも実施可能である。加えて、本発明は多様なプ
ロセッサ構成を考慮しており、同種又は非同種のMPU
を用いて実施することが出来る。このように、本発明に
より、共用記憶装置を有し、且つアーキテクチャ的に分
離された多重バスを備えることができるMPシステムに
おいて、大域割り込みを高性能に管理することが可能と
なる。[Effects of the Invention] Since the present invention is configured as described above, M
Reduces the amount of communication on the computer system's bus by eliminating unnecessary repeated queries to main memory by the processor of the P system, thereby increasing the overall speed of the MP system and making it possible to connect to the MP system. The number of processors can be increased. Additionally, the present invention can be implemented without respecifying the protocols and/or compatible models of the various buses of the MP system, and can be implemented in both software and hardware. In addition, the present invention takes into account a variety of processor configurations, including homogeneous or non- homogeneous MPUs.
It can be carried out using Thus, the present invention makes it possible to manage global interrupts with high performance in an MP system that has a shared storage device and can have multiple architecturally separated buses.
【図1】パーソナルコンピュータアーキテクチャに採用
可能なn個の多重処理ユニットを備えた従来の多重プロ
セッサシステムを示すブロック図である。FIG. 1 is a block diagram illustrating a conventional multiprocessor system with n multiple processing units that can be employed in a personal computer architecture.
【図2】システム割り込みコントローラがMPUの任意
選択「省略時」CPUに対して全てのシステム割り込み
の伝達を行う、図1のアーキテクチャを用いた一般的な
割り込みプロトコルを示すブロック図である。FIG. 2 is a block diagram illustrating a general interrupt protocol using the architecture of FIG. 1 in which a system interrupt controller routes all system interrupts to the MPU's optional "default" CPU.
【図3】「割り込みせんさく」の概念、及び省略時CP
U方法と組み合わせて割り込みせんさくを用いた管理機
構を示すブロック図である。[Figure 3] Concept of “interruption nosy” and default CP
FIG. 3 is a block diagram illustrating a management mechanism using interrupt prudence in combination with method U;
【図4】ハードウェア、ソフトウェア、及びそれらの組
み合わせといった形態においてリダイレクタを実施して
システム割り込みコントローラからの大域システム割り
込みをMPシステムの個々のCPUに直接チャネリング
する、本発明の好適な実施例を示すブロック図である。FIG. 4 illustrates a preferred embodiment of the present invention implementing a redirector in the form of hardware, software, and combinations thereof to channel global system interrupts from a system interrupt controller directly to individual CPUs of an MP system; It is a block diagram.
【図5】本発明のソフトウェア割り込みリダイレクショ
ンを実施するための方法を示すフローチャートである。FIG. 5 is a flowchart illustrating a method for implementing software interrupt redirection of the present invention.
【図6】本発明のハードウェア割り込みリダイレクショ
ンを実施するための方法を示すフローチャートである。FIG. 6 is a flowchart illustrating a method for implementing hardware interrupt redirection of the present invention.
【図7】本発明によるリダイレクタの特定のハードウェ
ア的な実施例の一部である、システム割り込みコントロ
ーラの近くに配置されたベクトル変換送信器を示すブロ
ック図である。FIG. 7 is a block diagram illustrating a vector translation transmitter located near a system interrupt controller that is part of a particular hardware embodiment of a redirector according to the present invention.
【図8】本発明によるリダイレクタの特定のハードウェ
ア的な実施例の残りの部分である、MPシステムのn個
のMPUのそれぞれの近くに配置されたベクトル変換受
信器を示すブロック図である。FIG. 8 is a block diagram illustrating the remainder of a particular hardware embodiment of a redirector according to the invention, a vector conversion receiver located near each of the n MPUs of the MP system;
102〜108 MPU
130 システム割り込みコントローラ4
02 リダイレクタ102-108 MPU 130 System interrupt controller 4
02 Redirector
Claims (1)
サとを有するコンピュータシステムの性能を向上させる
ためのシステムであって、このシステムが、割り込みを
生成するシステム割り込みコントローラと、前記システ
ム割り込みコントローラからの割り込みを受信して前記
コンピュータシステムにおける個々のプロセッサに割り
込みを直接知らせるリダイレクタとよりなることを特徴
とする、マイクロプロセッサへの割り込みのリダイレク
ションシステム。1. A system for improving the performance of a computer system having a shared storage device and at least one processor, the system comprising: a system interrupt controller that generates interrupts; and a system that receives interrupts from the system interrupt controller. A redirection system for redirecting interrupts to a microprocessor, comprising: a redirector that receives the interrupt and directly notifies each processor in the computer system of the interrupt.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US65468091A | 1991-02-13 | 1991-02-13 | |
US654680 | 1991-02-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04318654A true JPH04318654A (en) | 1992-11-10 |
Family
ID=24625827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4026575A Pending JPH04318654A (en) | 1991-02-13 | 1992-02-13 | Redirection system for interruption to microprocessor |
Country Status (2)
Country | Link |
---|---|
US (1) | US5428799A (en) |
JP (1) | JPH04318654A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722916A (en) * | 2020-06-29 | 2020-09-29 | 长沙新弘软件有限公司 | Method for processing MSI-X interruption by mapping table |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2680591B1 (en) * | 1991-08-22 | 1996-01-26 | Telemecanique | PROGRAMMABLE INTERRUPTION CONTROLLER, INTERRUPTIVE SYSTEM, AND INTERRUPTION CONTROL METHOD. |
US5724549A (en) * | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
US5758053A (en) * | 1992-07-22 | 1998-05-26 | Hitachi, Ltd. | Fault handling and recovery for system having plural processors |
WO1995010806A1 (en) * | 1993-10-12 | 1995-04-20 | Sony Corporation | Device and method for controlling interruption |
JPH07244649A (en) * | 1994-03-08 | 1995-09-19 | Fujitsu Ltd | Interrupt processing distributed method |
US5781187A (en) * | 1994-05-31 | 1998-07-14 | Advanced Micro Devices, Inc. | Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system |
US5708813A (en) * | 1994-12-12 | 1998-01-13 | Digital Equipment Corporation | Programmable interrupt signal router |
US5710891A (en) * | 1995-03-31 | 1998-01-20 | Sun Microsystems, Inc. | Pipelined distributed bus arbitration system |
EP0735480B1 (en) * | 1995-03-31 | 2003-06-04 | Sun Microsystems, Inc. | Cache coherent computer system that minimizes invalidation and copyback operations |
EP0735481B1 (en) * | 1995-03-31 | 2003-05-14 | Sun Microsystems, Inc. | System level mechanism for invalidating data stored in the external cache of a processor in a computer system |
US5655100A (en) * | 1995-03-31 | 1997-08-05 | Sun Microsystems, Inc. | Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system |
US5907485A (en) * | 1995-03-31 | 1999-05-25 | Sun Microsystems, Inc. | Method and apparatus for flow control in packet-switched computer system |
US5657472A (en) * | 1995-03-31 | 1997-08-12 | Sun Microsystems, Inc. | Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor |
US5689713A (en) * | 1995-03-31 | 1997-11-18 | Sun Microsystems, Inc. | Method and apparatus for interrupt communication in a packet-switched computer system |
US5684977A (en) * | 1995-03-31 | 1997-11-04 | Sun Microsystems, Inc. | Writeback cancellation processing system for use in a packet switched cache coherent multiprocessor system |
US5634068A (en) * | 1995-03-31 | 1997-05-27 | Sun Microsystems, Inc. | Packet switched cache coherent multiprocessor system |
US6148321A (en) * | 1995-05-05 | 2000-11-14 | Intel Corporation | Processor event recognition |
US5799195A (en) * | 1995-07-24 | 1998-08-25 | Dell Usa, L.P. | Structure and method for detecting occurrence of external events using semaphores |
US5850555A (en) * | 1995-12-19 | 1998-12-15 | Advanced Micro Devices, Inc. | System and method for validating interrupts before presentation to a CPU |
US5894578A (en) * | 1995-12-19 | 1999-04-13 | Advanced Micro Devices, Inc. | System and method for using random access memory in a programmable interrupt controller |
US5850558A (en) * | 1995-12-19 | 1998-12-15 | Advanced Micro Devices | System and method for referencing interrupt request information in a programmable interrupt controller |
US5857090A (en) * | 1995-12-29 | 1999-01-05 | Intel Corporation | Input/output subsystem having an integrated advanced programmable interrupt controller for use in a personal computer |
JPH1078934A (en) * | 1996-07-01 | 1998-03-24 | Sun Microsyst Inc | Multi-size bus connection system for packet switching computer system |
US5893165A (en) * | 1996-07-01 | 1999-04-06 | Sun Microsystems, Inc. | System and method for parallel execution of memory transactions using multiple memory models, including SSO, TSO, PSO and RMO |
US5898834A (en) * | 1996-08-16 | 1999-04-27 | Starwave Corporation | System, method, and medium for control of objects in a multi-platform environment |
US6021456A (en) * | 1996-11-12 | 2000-02-01 | Herdeg; Glenn Arthur | Method for communicating interrupt data structure in a multi-processor computer system |
US6247091B1 (en) * | 1997-04-28 | 2001-06-12 | International Business Machines Corporation | Method and system for communicating interrupts between nodes of a multinode computer system |
US6219741B1 (en) * | 1997-12-10 | 2001-04-17 | Intel Corporation | Transactions supporting interrupt destination redirection and level triggered interrupt semantics |
US6192439B1 (en) * | 1998-08-11 | 2001-02-20 | Hewlett-Packard Company | PCI-compliant interrupt steering architecture |
US6470408B1 (en) | 1999-04-14 | 2002-10-22 | Hewlett-Packard Company | Apparatus and method for delivering interrupts via an APIC bus to IA-32 processors |
US6625679B1 (en) | 1999-04-19 | 2003-09-23 | Hewlett-Packard Company | Apparatus and method for converting interrupt transactions to interrupt signals to distribute interrupts to IA-32 processors |
US6973095B1 (en) * | 2000-10-27 | 2005-12-06 | Redback Networks Inc. | Remote circuit provisioning |
US7107587B1 (en) | 2000-09-18 | 2006-09-12 | Microsoft Corporation | Access redirector and entry reflector |
KR100456630B1 (en) * | 2001-12-11 | 2004-11-10 | 한국전자통신연구원 | Method and apparatus for interrupt redirection for arm processors |
US20050165990A1 (en) * | 2003-01-24 | 2005-07-28 | Fujitsu Limited | Interrupt control device |
US7117285B2 (en) * | 2003-08-29 | 2006-10-03 | Sun Microsystems, Inc. | Method and system for efficiently directing interrupts |
US20050080961A1 (en) * | 2003-10-09 | 2005-04-14 | Bedwell Ryan D. | Communication steering for use in a multi-master shared resource system |
US7139857B2 (en) * | 2003-11-12 | 2006-11-21 | Standard Microsystems Corporation | Method and apparatus for handling interrupts |
US7752371B2 (en) * | 2003-12-29 | 2010-07-06 | Broadcom Corporation | System and method for interrupt abstraction |
US7240137B2 (en) * | 2004-08-26 | 2007-07-03 | International Business Machines Corporation | System and method for message delivery across a plurality of processors |
US8255591B2 (en) * | 2004-09-23 | 2012-08-28 | International Business Machines Corporation | Method and system for managing cache injection in a multiprocessor system |
US20060136642A1 (en) * | 2004-12-21 | 2006-06-22 | Ooi Ping C | Interrupt distribution for multiprocessor system |
JP5006526B2 (en) * | 2005-05-31 | 2012-08-22 | ルネサスエレクトロニクス株式会社 | Interrupt distribution device |
JP4247228B2 (en) * | 2005-11-28 | 2009-04-02 | 株式会社日立製作所 | Hetero multiprocessor system and its OS configuration method |
JP2008065713A (en) * | 2006-09-08 | 2008-03-21 | Canon Inc | Multiprocessor system and interrupt control method |
JP2008176360A (en) * | 2007-01-16 | 2008-07-31 | Renesas Technology Corp | Multiprocessor system |
US7774554B2 (en) * | 2007-02-20 | 2010-08-10 | International Business Machines Corporation | System and method for intelligent software-controlled cache injection |
US8612973B2 (en) * | 2007-09-26 | 2013-12-17 | Hewlett-Packard Development Company, L.P. | Method and system for handling interrupts within computer system during hardware resource migration |
US7962771B2 (en) * | 2007-12-31 | 2011-06-14 | Intel Corporation | Method, system, and apparatus for rerouting interrupts in a multi-core processor |
US7788435B2 (en) * | 2008-01-09 | 2010-08-31 | Microsoft Corporation | Interrupt redirection with coalescing |
JP5167844B2 (en) * | 2008-02-05 | 2013-03-21 | 日本電気株式会社 | Processor, electronic device, interrupt control method, and interrupt control program |
CN102077181B (en) * | 2008-04-28 | 2014-07-02 | 惠普开发有限公司 | Method and system for generating and delivering inter-processor interrupts in a multi-core processor and in certain shared-memory multi-processor systems |
US8024504B2 (en) * | 2008-06-26 | 2011-09-20 | Microsoft Corporation | Processor interrupt determination |
US20090327556A1 (en) * | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Processor Interrupt Selection |
US20100088446A1 (en) * | 2008-10-06 | 2010-04-08 | Texas Instruments Incorporated | Prioritizing interrupt controller |
JP5169731B2 (en) * | 2008-10-24 | 2013-03-27 | 富士通セミコンダクター株式会社 | Multiprocessor system LSI |
JP2011076584A (en) * | 2009-09-02 | 2011-04-14 | Renesas Electronics Corp | Semiconductor integrated circuit device |
KR20110097447A (en) * | 2010-02-25 | 2011-08-31 | 삼성전자주식회사 | System-on-Chip with Interrupt Proxy Function and Interrupt Proxy Processing Method |
US8880764B2 (en) * | 2011-08-30 | 2014-11-04 | Red Hat Israel, Ltd. | Pessimistic interrupt affinity for devices |
JP6365224B2 (en) * | 2014-10-21 | 2018-08-01 | 富士通株式会社 | Sensing control program and portable terminal device |
US10089265B2 (en) | 2015-08-07 | 2018-10-02 | Mediatek Inc. | Methods and systems for handling interrupt requests |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3665404A (en) * | 1970-04-09 | 1972-05-23 | Burroughs Corp | Multi-processor processing system having interprocessor interrupt apparatus |
US4004283A (en) * | 1974-10-30 | 1977-01-18 | Motorola, Inc. | Multiple interrupt microprocessor system |
US4291371A (en) * | 1979-01-02 | 1981-09-22 | Honeywell Information Systems Inc. | I/O Request interrupt mechanism |
US4907149A (en) * | 1983-07-22 | 1990-03-06 | Texas Instruments Incorporated | Dynamic redirection of interrupts |
US4631670A (en) * | 1984-07-11 | 1986-12-23 | Ibm Corporation | Interrupt level sharing |
US4967342A (en) * | 1984-08-17 | 1990-10-30 | Lent Robert S | Data processing system having plurality of processors and channels controlled by plurality of system control programs through interrupt routing |
US4734882A (en) * | 1985-04-01 | 1988-03-29 | Harris Corp. | Multilevel interrupt handling scheme |
US4768149A (en) * | 1985-08-29 | 1988-08-30 | International Business Machines Corporation | System for managing a plurality of shared interrupt handlers in a linked-list data structure |
JPH0792782B2 (en) * | 1985-09-30 | 1995-10-09 | 富士通株式会社 | Processing execution system |
US4709324A (en) * | 1985-11-27 | 1987-11-24 | Motorola, Inc. | Data processor control unit having an interrupt service using instruction prefetch redirection |
US5125093A (en) * | 1990-08-14 | 1992-06-23 | Nexgen Microsystems | Interrupt control for multiprocessor computer system |
US5175853A (en) * | 1990-10-09 | 1992-12-29 | Intel Corporation | Transparent system interrupt |
-
1992
- 1992-02-13 JP JP4026575A patent/JPH04318654A/en active Pending
-
1994
- 1994-05-27 US US08/250,349 patent/US5428799A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722916A (en) * | 2020-06-29 | 2020-09-29 | 长沙新弘软件有限公司 | Method for processing MSI-X interruption by mapping table |
CN111722916B (en) * | 2020-06-29 | 2023-11-14 | 长沙新弘软件有限公司 | Method for processing MSI-X interrupt through mapping table |
Also Published As
Publication number | Publication date |
---|---|
US5428799A (en) | 1995-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04318654A (en) | Redirection system for interruption to microprocessor | |
US6711643B2 (en) | Method and apparatus for interrupt redirection for arm processors | |
US4481572A (en) | Multiconfigural computers utilizing a time-shared bus | |
US6370606B1 (en) | System and method for simulating hardware interrupts in a multiprocessor computer system | |
US6249830B1 (en) | Method and apparatus for distributing interrupts in a scalable symmetric multiprocessor system without changing the bus width or bus protocol | |
US6983337B2 (en) | Method, system, and program for handling device interrupts | |
US20050066099A1 (en) | Interrupt disabling apparatus, system, and method | |
US4736319A (en) | Interrupt mechanism for multiprocessing system having a plurality of interrupt lines in both a global bus and cell buses | |
US5937200A (en) | Using firmware to enhance the functionality of a controller | |
JPH1097509A (en) | Method and apparatus for distributing interrupts in a symmetric multiprocessor system | |
US6470408B1 (en) | Apparatus and method for delivering interrupts via an APIC bus to IA-32 processors | |
US6789142B2 (en) | Method, system, and program for handling interrupt requests | |
JPH01197866A (en) | Interface apparatus and method | |
US6418497B1 (en) | Method and system for interrupt handling using system pipelined packet transfers | |
JPH0512736B2 (en) | ||
JPH02230455A (en) | Interruption control system for external memory device | |
JPS63310051A (en) | Method and apparatus for executing input/output process containing program input/output instruction | |
US5524211A (en) | System for employing select, pause, and identification registers to control communication among plural processors | |
US5953535A (en) | Using intelligent bus bridges with pico-code to service interrupts and improve interrupt response | |
US5809333A (en) | System for implementing peripheral device bus mastering in desktop PC via hardware state machine for programming DMA controller, generating command signals and receiving completion status | |
US20020087775A1 (en) | Apparatus and method for interrupt delivery | |
US6112272A (en) | Non-invasive bus master back-off circuit and method for systems having a plurality of bus masters | |
US5774743A (en) | System for implementing peripheral device bus mastering in mobile computer via micro-controller for programming DMA controller, generating and sending command signals, and receiving completion status | |
US5931930A (en) | Processor that indicates system bus ownership in an upgradable multiprocessor computer system | |
JPH056333A (en) | Multiprocessor system |