JPH0612526B2 - プログラマブル割込みコントローラ - Google Patents

プログラマブル割込みコントローラ

Info

Publication number
JPH0612526B2
JPH0612526B2 JP2273107A JP27310790A JPH0612526B2 JP H0612526 B2 JPH0612526 B2 JP H0612526B2 JP 2273107 A JP2273107 A JP 2273107A JP 27310790 A JP27310790 A JP 27310790A JP H0612526 B2 JPH0612526 B2 JP H0612526B2
Authority
JP
Japan
Prior art keywords
interrupt
level
bit
register
interrupt request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2273107A
Other languages
English (en)
Other versions
JPH03196225A (ja
Inventor
エイブリー、マーチン、リーフォード
デニス、リー、モエラー
ペーター、ユルゲン、クリム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH03196225A publication Critical patent/JPH03196225A/ja
Publication of JPH0612526B2 publication Critical patent/JPH0612526B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Programmable Controllers (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータ・システムのプログラマブル割
込みコントローラ、更に詳しくは、その個々が、入力ご
とに基つ”いてエッジまたはレベルでトリガされる割込
み要求を検出するようにプログラムされ得る複数の割込
み要求入力を持つ割込みコントローラに関わる。
〔従来の技術及びその問題点〕
1つ以上の周辺装置とインタフェースが取れるように設
計されているコンピュータ・システムは多い。コンピュ
ータは標準的には、データ回線、アドレス回線およびコ
ントロール回線を持つシステム・バウに接続された中央
処理装置(CPU )を備えている。これらのバス(母線)
は、プログラム・メモリのような他のコンピュータ・シ
ステムのコンポーネント、また、適切なインタフェース
を介して周辺装置にも接続される。このインタフェース
には、コンピュータ・システムと周辺装置との間におけ
るコンパティビリティを取るための電圧フォーマットま
たは信号フォーマットを変換する装置が含まれることが
ある。適切なインタフェース・コネクタがしばしば用い
られる。CPU と周辺装置との間における通信には、セン
サ用情報またはコマンド情報が含まれることがある。具
体的には、センサとして動作する周辺装置は、感知周辺
装置が感知する、例えば温度、電圧または他のパラメー
タのようなパラメータを示すデータ信号を発生すること
がある。データ信号は、適切な形式に変換され、次にイ
ンタフェースを通してCPU によって読み取られ、これに
よて、感知されたパラメータに関する必要とされるデー
タをCPU に与える。別法として、周辺装置をコントロー
ラにしてもよい。CPU は、インタフェースを通じて周辺
コントロール装置に対してインタフェースを通じて適切
なコマンドを書き込むことによって周辺の制御装置に指
令を与える。次に、この装置はコマンドに従って適切な
動作をとる。
複数の周辺装置を含むシステムにおいて、CPU と周辺装
置との間において頻繁なまたは連続的な通信がしばしば
必要とされる。CPU と周辺装置とを連絡状態に保つため
に、さまざまな提案がなされてきた。最初の提案は、ポ
ーリングと呼ばれるものである。ポーリング・システム
においては、CPU は、時間間隔を置いてポーリング・ル
ーチンを実行する。標準的には、ハードウェア・タイマ
によって、CPU は定期的にポーリング・ルーチンを実行
する。ポーリング・ルーチンの実行中、CPU は感知され
たパラメータのステータスが変化したか否かまたは周辺
装置に対してコマンドを送信する必要があるか否を指示
する情報を周辺装置から読み取る。ポーリング・ルーチ
ンの実行中、所与の周辺装置から受信された情報に基
つ”いて、CPU は、周辺装置にコマンドを送信したり、
コンピュータ・システムの記憶装置内に記憶されている
周辺装置のステータスの記録を更新したりして、適切な
処置を取る。ポーリングは通常、自身より数の多い周辺
装置とインタフェースするコンピュータ・システムにお
いて用いられる。しかし、ポーリングは、頻繁に実行し
なければならず、それによってCPU の処理時間を大幅に
消費するという不利点がある。多くの例においては、周
辺装置から読み取られたステータス情報は、なんら動作
が必要とされないことを示す。従って、過去においてポ
ーリンブ・ルーチンの実行に費やされた時間を考えれば
生産効率がよくないことが分かる。大量のアクティビテ
ィまたはリアルタイムの適用業務を必要とするコンピュ
ータ・システムにおいては、ポーリング・ルーチンを繰
り返すのに費やされる時間によって、処理効率が低下す
ることがあり得る。
ポーリングの代わりとして、コンピュータ・システム
は、割込みの手段として周辺装置を使用することがしば
しばある。割込みシステムにおいては、周辺装置は、CP
U によるなんらかのタイプの動作を必要とする状態が検
出されると、割込み要求と呼ばれる信号を送信する。割
込み要求入力回線を含むように設計されているCPU も多
い。このような割込み要求入力をもつCPU は、割込みサ
ービス・ルーチンを実行することによって、割込み要求
回線上の予め定められた電圧の信号に対して反応する。
このようにして、CPU と周辺装置間のインタフェースに
は、サービスが必要とされる周辺装置のステータスの変
化を検出し、適切な割込み要求信号をCPU に提供する回
路が含まれることがある。
このタイプの割込み駆動システムによっては、割込みル
ーチン必要とされる時にのみ実行されるので、処理効率
が上がる。しかし、複数の周辺装置を処理するために、
CPU が使用されることがしばしばである。このようなシ
ステムにおいては、どの周辺装置が割込み要求に対して
反応して処理される必要があるがを判断することについ
ての問題がある。さらに、もし複数の周辺装置が同時に
割込み要求信号を与えると、どの信号を最初に処理する
かを決定する方法が必要とされる。これらの問題に対し
て実効的な回答を与えるために、プログラマブル割込み
コントローラが設計され、コンピュータ・システムと連
携して用いられてきた。割込みコントローラ標準的には
CPU の割込み要求入力に接続されている単一の割込み要
求出力を持っている。割込みコントローラは、また、複
数の割込み要求入力を持っている。割込み要求入力は個
々に、周辺装置に接続されている。従って、周辺装置
は、処理を要求する時には、割込みコントローラによっ
て受信される適切な割込み要求信号を発生する。次に割
込みコントローラは、CPU に割込みを掛けて、適切な割
込みサービス・ルーチンが実行されるようにする。
割込みコントローラの例として、Intel 社によって製造
された8259A プログラマブル割込みコントローラが周知
である。8259A は、2つの異なった方法で複数の割込み
要求入力をサポートする2つの異なったタイプのマイク
ロプロセッサと共に動作するように設計されている。第
1のタイプの例は、サブルーチンのオペランドおよびア
ドレスを持つサブルーチンをコールするためのソフトウ
ェア指令を実行することによって割込み要求を処理す
る、Intel 8080/8085マイクロプロセッサである。第2
のタイプの例は、Intel 8086マイクロプロセッサであ
り、これは連続したメモリのページ内に記憶されている
アドレスのテーブルから割込みサービス・ルーチンのア
ドレスを選択するために8ビットのベクトルを用いるこ
とによって割込み要求を処理するものである。どのタイ
プのマイクロプロセッサ用に8259A がプログラムされる
かによって、割り込み要求信号に反応して、8259A はCP
U に割り込みを掛けて、割込みサービス・ルーチンのア
ドレスが後に続くサブルーチン・コール指令または8ビ
ットの割込みベクトルをシステム・バスを介してCPU に
提供する。従って、いずれの場合においても、8259A
は、どの割込みサービス・ルーチンを実行するかについ
ての情報をCPU に提供し、これによって、適切な方法で
割込みを要求した周辺装置をCPU が処理することを保証
する。
8259A は、割込み要求を、その割込み要求入力上におい
て、8個の電圧立ち上がり移行としてまたは高電圧レベ
ルとして検出するように構成してもよい。言い替えれ
ば、8259A 割込み要求入力は、エッジトリガまたはレベ
ルトリガのものとして構成してもよい。電圧立ち上がり
移行の形式においてエッジトリガの割込み要求信号を発
生するさせるために、多くの周辺装置が設計されてき
た。具体的には、エッジトリガの割込み要求は、予め定
められた制限時間以内における認識可能な低電圧から認
識可能な高電圧への移行である。しかし、高電圧レベル
を用いて処理を要求する周辺装置がより一般的となりつ
つある。割込みコントローラにとっては、レベルトリガ
の割込み要求を発生する周辺装置を許可するレベルトリ
ガ割込みを検出し、これによってインタフェースの設計
においてより大きなフレキシビリティがあたえられるよ
うにすることが望ましい。割込みコントローラを含むコ
ンピュータ・システムにとっては、エッジトリガ割込み
要求を発生させる古い周辺装置とのバックワード・コン
パティビリティを保持しつつも、レベルトリガ割込み要
求を発生させる新しい周辺装置を受け入れるに充分なフ
レキシビリティを持つことが望ましい。
しかし、現在までのプログラマブル割込みコントローラ
には、全ての割込み要求入力が同じ方法で構成されると
いう欠点があった。典型的な例としては、単一のエッジ
/レベル構成制御ビットは、全ての割込み要求入力をエ
ッジトリガかまたはレベレトリガであるようにプログラ
ムするのに使用される。この欠点によって、レベルトリ
ガ割込み要求を発生させる周辺装置を含むシステムをア
ップグレードするには、全ての周辺装置もそのように更
新しなければならないという不利点が生じた。レベルト
リガ周辺装置と古いエッジトリガ周辺装置とを混用する
ことは実効的でない。その結果、フレキシビリティが減
少し、ユーザ・コストが増大した。
〔発明の構成及び作用〕
本発明の第1の目的は、周辺装置1台当り、周辺装置か
らのエッジトリガおよびレベルトリガの割込み要求を検
出するプログラマブル割込みコントローラを提供するこ
とにある。
本発明の第2の目的は、周辺装置を処理するシステムの
能力を保持しつつ、エッジトリガ割込み要求とレベルト
リガの割込み要求との混合比率を変更することなどを含
むような方法で周辺装置を1つのグループとして置き換
えたりアップグレードしたりできるコンピュータ・シス
テム用の割込みコントローラを提供することにある。
本発明の関連目的は、個々の装置のアドレス・ロケーシ
ョンとは無関係に、エッジトリガ割り込み要求およびレ
ベルトリガ割込み要求を持ついかなる特定の周辺装置の
混合からの割込み要求を処理できるコンピュータ・シス
テム用の割込みコントローラを提供することにある。言
い替えれば、個々の周辺装置は、エッジトリガ割込み要
求とレベルトリガ割込み要求のいずれでももってよく、
また、割込みコントローラは、割込み回線1つ当りで、
エッジトリガ割込み要求およびレベルトリガ割込み要求
を受け持つ。
本発明の第3の目的は、以前のプログラマブル割込みコ
ントローラ用に掛かれた現存のソフトウェアに従ってプ
ログラムされ得る、上記の目的に準拠したプログラマブ
ル割込みコントローラを提供することにある。コントロ
ーラをそのようにプログラムすると、本発明に依るコン
トローラが、このような以前のプログラマブル割り込み
コントローラと矛盾しないように作動するように、全て
の入力は、エッジトリガ割り込み要求またはレベルトリ
ガ割り込み要求のいずれかを検出しなければならない。
従って、コントローラは、現存のコンピュータ・システ
ムとバックワード・コンパティブルである。
本発明の第4の目的は、上記の目的に従ったプログラマ
ブル割込みコントローラを含むコンピュータ・システム
を提供することにある。
本発明の第5の目的は、エッジトリガ割込みおよびレベ
ルトリガ割込みを受信して処理する方法を提供すること
にある。
上記の目的を満たすために、一群の周辺装置からの割込
み要求を受信するために接続された複数の入力と、CPU
に接続された割込み要求出力と、CPU に割込み要求を処
理させるために割込み要求入力を介して受信されたかい
かなる割込み要求に対しても反応する割込み要求出力か
ら割込み信号を送信することによってCPU に割込みを掛
けるための手段と、タイム・オーバラップ割込み要求が
受信された時にどの割込み要求を最初に処理するかを決
定する目的のためのヒアラーキを作成するための上記の
複数の入力における優先順位位置を個々の入力に割当て
る優先順位分解器と、エッジトリガ割込み要求とレベル
トリガ割込み要求のいずれかに対して反応するように個
々の入力を独立的に設立するための手段と、を有するコ
ンピュータ・システム内で用いられる、本発明に従った
プログラマブル割込みコントローラが提供される。
さらに、第1の割込み要求入力を介して入力されるエッ
ジトリガ割込み要求を検出し、第2の割込み要求入力を
介して入力されるレベルトリガの割込み要求を検出する
ための第1および2の割込み要求入力を持つ割込みコン
トローラを入力単位でプログラムするステップと、第1
の入力を介して入力されるエッジトリガ割込み要求を検
出しラッチするステップと、CPU に割込みを掛けてCPU
にエッジトリガ割込み要求を処理させるステップと、第
2の入力を介して入力されるレベルトリガの割込み要求
を検出するステップと、CPU に割込みを掛けてCPU にレ
ベルトリガ割込み要求を処理させるステップと、を有す
る、第1のソースからのエッジトリガ割込み要求および
第2のソースからのレベルトリガ割込み要求を受信し、
処理するための、本発明に従った方法が提供される。
本発明に従ったプログラマブル割り込みコントローラに
よって、エッジトリガ割り込み要求またはレベルトリガ
割り込み要求を利用する周辺装置、さまざまな割り込み
要求入力上で使用され得るという点において、コンピュ
ータ・システムを設計し実現する際におけるフレキシビ
リティが利点として提供される。さらに、このような周
辺装置は互換性がある。エッジトリガ周辺装置をレベル
トリガ周辺装置に交換する際に必要にことは単に、割り
込みコントローラのプログラム構成を変更するだけであ
る。従って、コンピュータ・システムは、新しいレベル
トリガ周辺装置を、別様に機能する周辺装置を交換する
ための好ましくない高い費用を招くことなく、用いるこ
とによってアップグレードされ得る。
クレームに記載されている発明に従った方法によって、
コンピュータ・システムの設計におけるプログラミング
上のフレキシビリティと便利さが長所として提供され、
また、割り込みコントローラと関連して通常は説明され
るシステムのアップグレードが容易になる。
本発明のこれらおよび他の目的、特徴および利点を、付
図を参照に説明する。
〔実施例〕
第1図に、本発明に従った割込みコントローラを用いた
コンピュータ・システムを示す。コンピュータのシステ
ム・バス2は、中央処理装置(CPU )4、メモリ6、割
込みコントローラ8および複数のインタフェース10から
24に接続されている。インタフェース10から24は、いか
なるタイプの適切な共用境界のものであってもよく、ま
た、汎用非同期送受信器(UARTS)や他の適切なコネク
タのような、電子インタフェース装置を有していてもよ
い。インタフェース10-24 は、熱電対や電圧センサのよ
うな感知装置もしくは監視装置または、モータ、電子ス
イッチもしくはコンピュータ制御の業務に適する他の装
置であり得る周辺装置26-40 に接続されている。周辺装
置26-40 は、回線42-56 を介して割込みコントローラ8
上の割込み要求入力に接続されている割込み要求出力を
持っている。割込みコントローラ8には、回線58を介し
て、CPU 上の割込み要求入力に接続されている割込み要
求出力が含まれている。割込み肯定応答回線60は、CPU4
からの割込み肯定応答信号を割込みコントローラ8に返
送するために接続されている。標準的には、回線58およ
び60は、データ回線、アドレス回線および制御回線を含
むシステム・バスの一部として扱われる。しかし図示し
やすいように、第1図には、割込みコントローラ8とCP
U 4との間を走っている割込み肯定応答回線60および割
込み要求回線58が示されている。
第2図は、割込みコントローラ8のより詳細な線図を示
す。データ・バス・バッファ62は、システム・データ・
バス2(第1図)と内部データ・バス64との間のインタ
フェースを提供している。割込み要求レジスタ(IRR )
66は、データ・バス64に接続され、また、集合的に68と
示されている8つの割込み要求入力を持つ。割込み要求
入力68は、個別にはIRG0-IRG7 と指定されている。
IRR66 は第1図に示す回線58に接続されている割込み要
求出力INTR 70 を持つ。さらに、第2図に描かれている
実施例には、CPU4からの割込み肯定応答回線60に接続
されている割込み肯定応答入力INTA 72 が含まれてい
る。CPU4が割込みコントローラ8を選択し、コントロ
ーラ8との間で情報を読み書きできるように、読出し入
力(▲▼)76および書込み入力(▲▼)7
8、チップ選択入力(▲▼)80ならびにアドレス選
択入力(AO)82を持つ読み書きコントロール・モジュー
ル74が提供されている。複数の割込みコントローラが単
一のコンピュータ・システムにカスケードされることを
可能にするために、コントローラがマスタとして使用さ
れる時には出力であり、コントローラがスレーブとして
使用される時には入力である3ビットのカスケード・バ
ス(CAS )86を持つカスケード・コントロール84が提供
されている。
第2図にはさらに、現役レジスタ(ISR )88が示されて
いる。ISR 88は、個々の割込み要求入力68に対応するビ
ットを保持する。ISR 88中のビットは、どの割込みレベ
ルが処理中であるか指示するように設定されている。IR
R 66は、割込み要求回線70を介してCPU 4に送られる割
込み要求を生成する。CPU Sからの肯定応答は、割込み
肯定応答回線72を介してIRR 66、ISR 88、ベクトル・ゼ
ネレータ90および優先順位分解器92(従来の設計の全
て)によって受信される。
割込みコントローラ8には更に、集合的に94として示さ
れている一連の初期化コマンド・ワード(ICW )のレジ
スタが含まれるが、これらは、初期化の際にデータ・バ
ス・バッファ62および内部データ・バス64を通してCPU
4によって書き込まれる。従来の方式においては、ICW
レジスタ94は、ベクトル・ゼネレータ90にベクトル・ビ
ットを提供し、次にこのゼネレータ、内部データ・バス
64上に適切な割り込みベクトルまたはサービス・ルーチ
ン・アドレスを送出する。優先順位分解器92は、同時ま
たは時間オーバラップ割込み要求がIRR 66によって受信
された時に、どの割込み要求を最初に処理するかを決定
するためのヒアラーキを作成するために、割込み要求入
力(IRWO-IRG7 )69の個々に、他の入力68に対する優先
順位位置を割り当てる。いかなる適切な優先順位機構を
用いてもよい。第1の例として、優先順位は所与の順番
に固定させてもよい。第2の例として、優先順位は回転
する、すなわち入力は、処理されると優先順位ヒアラー
キの底に行くようにしてもよい。最後に、オペレーショ
ン・コマンド・ワード(ICW )レジスタOCW1、OCW2およ
びOCW3によって割込みコントローラ8は、周知のように
さまざまなモードで動作する。OCW1は、マスク・レジス
タ96中に記憶される。OCW1レジスタのビットは、IRQ 入
力68の内で選択されたものをマスクする役目をする。OC
W2およびOCW3は、オペレーション・レジスタ98中に記憶
され、他のオペレーション・モードを提供する。
ICW レジスタ94は、第3図により詳細に描かれている。
これらのレジスタには、ICW1(100 と示されている)、
ICW2(102 と示されている)、ICW3(104 として示され
ている)、ICW4(106 として示されている)およびICW5
(108 として示されている)が含まれる。第3図におい
ては、ICW レジスタ94は、或る相互接続と共にブロック
図に示されている。レジスタを相互接続させるために使
用される追加論理を含むより詳細に図面を、以下に提供
し説明する。以下の説明によって、これらのレジスタ中
のビットによって制御されるさまざまな機能に関して好
ましい実施例が図示されるにしたがって、本発明の精神
および範囲に従った割込みコントローラには、不定の数
のレジスタが含まれ、以下に説明されるような機能のビ
ット割り当てを本実施例とは異なった配列にし得ること
が理解される。さらに、装置全体が本発明の精神および
範囲と本質的に矛盾しないように機能する限り、個別の
ビットを異なって定義してもよい。ICW レジスタ94は、
CPU 44による初期化の際にプログラムされるが、CPU
4はこれらのレジスタに値をセットして、割込みコント
ローラ8を望みの形態に構成する。さまざまな構成のた
めのICW のプログラミング例を、第9A-9E および関連の
本文中に示す。本発明においては、ICW レジスタ94は順
次書き込まれる。そうすると代わりに、ICW レジスタ94
を、どんな順序でも読み書きできるように、個別にアド
レス指定が可能であるようにしてもよい。これらのレジ
スタは個々に、書き込まれたことを示す信号を発生す
る。第3図においては、これらの信号は、ICW1/ICW1、C
OMPL ICW2、COMPL ICW3、COMPL ICW4おびICW5 COMPLETE
と示されている。これらの信号は、次に続くレジスタに
対する書き込みを可能にするために使用される。全ての
ICW 94レジスタを使用して割込みコントローラ8を完全
に構成している間、或るレジスタは開示された実施例に
特に関連するビットを含む。これらのレジスタを以下に
説明する。
第3図は、以下に現れる詳細に主題の要約と観てもよ
い。第3図に描かれている好ましい実施例のアーキテク
チャは、上述のIntel 8259A プログラマブル割込みコン
トローラに多くの点で類似している。特に、ICW1、ICW
2、ICW3およびICW4の各レジスタ100 、102 、104 およ
び106 は、8259A 内の同等のレジスタに大いに類似して
いる。
8259A 内に使用されているこれらのレジスタとこの好ま
しい実施例との間の相違点を以下に記す。
ICW5レジスタ108 は、本実施例のあたな特徴である。本
発明の目的は、割込みごとにエッジ感知またはレベル感
知であるように、複数の割込み要求入力をプログラミン
グし得るプログラマブル割込みコントローラを提供する
ことにあるので、ICW5レジスタ108 には、個々の割込み
要求入力に対応するビットが含まれる。ビットは個々
に、それぞれエッジ感知とレベル感知とに対応する2つ
の状態の内の1つにプログラミングされ得る。従って、
本発明に従えば、エッジトリガまたはレベルトリガを割
込みごとに自由に選択できるように、第3図に描かれて
いる割込みコントローラをユーザはプログラムし得る。
このことを念頭におけば、本発明に従ったプログラマブ
ル割込みコントローラは、この厳格なアーキテクチャに
従う必要はないことが分かるだろう。割込みコントロー
ラのタイプが異なれば、プログラミングの特徴のタイプ
も異なる。他の割込みコントローラ中の構成パラメータ
は、コントロール・レジスタを使用する方法以外の方法
でプログラミングできる、ということもあり得る。さら
に、類似の構成のパラメータは、初期化コントロール・
レジスタと関連して以下に説明されているものから、異
なったプログラマブル・ヒットという言葉を用いて定義
してもよい。しかし、もし複数の割込み要求入力が、IC
W5レジスタ108 のようなレジスタ又は他の適切な手段を
用いることによって、割込みごとにエッジ感知またはレ
ベル感知になるようにプログラミングされ得るのであれ
ば、いかなるこのようなプログラマブル割込みコントロ
ーラも、本発明の精神およびその範囲に入る。
以下に説明するように、Intel 8259A とのバックワード
・コンパティビリティは、LEVEL/▲▼ビットを
使用することによって提供される。この単−ビットを82
59A は、全ての割込み要求入力をエッジ感知またはレベ
ル感知のいずれかにプログラミングするのみに用いてい
るが、この好ましい実施例ではこの同じビットを用い
て、全ての割込み要求入力に対するエッジ感知を選択す
るか、または、ICW5レジスタ108 内のビットを使用して
割込みごとに選択するようにしている。LEVEL/▲
▼ビットをこのように使用することは、本発明の追加
の新規な特徴である。Intel 8259A とバックワード・コ
ンパティビリティを提供するようにこの好ましい実施例
では定義されているが、他のプログラマブル割込みコン
トローラは、それ自身の構成パラメータを適切な方法で
定義することを適用することによって実質的にアナログ
的な方法で、従来存在していた割込みコントローラとの
バックワード・コンパティビリティを提供する。
更に、第3図に、全ての初期化コマンド・ワード・レジ
スタに提供されるさまざまなシステム信号が示されてい
る。これらの信号は、その性質上全てが本質的に従来の
ものである。これらの信号は、標準的なコンピュータの
システム・データ信号、アドレス信号、および制御バス
信号である。例えば、回線DATAO-DATA7 はデータ・バス
回線である。これらは、第2図に示す8ビットのデータ
・バス64を一緒に構成している個別の回線である。回線
A0は。従来のアドレス・バスのLSB である。インタフェ
ース装置や割込みコントローラのような多くの大規模集
積回路(LSI )が、メモリマッピングされた入出力を用
いることによってログラムされ得る。これは、1つ以上
のメモリ・アドレスを使って、インタフェース装置や割
込みコントローラのような周辺装置をプログラムする従
来のプログラミング手法である。1つ以上のアドレス入
力が装置内に設計されると、システムのアドレス・バス
の回線は、ソフトウェア・プログラミングを通じてアド
レス指定を可能にするためにこれらの入力にハードウェ
ア的に接続され得る。最後に、I/O WRITE PULSE 信号、
CCLK信号およびBCLK信号は従来の制御信号である、特
に、この好ましい実施例は、2つの分離したクロック信
号CCLKおよびBCLKを用いている。標準的には、複数のク
ロック信号は、もしそれらが互いの間に所与の位置関係
を持っているのであれば、使用してもよい。他の従来の
システムにおいては、単一クロックが用いられている。
第4図に目を向けると、ICW1レジスタ100 およびそれに
対する書込みに利用されるロジックを示すより詳細な図
面が提供されている。ICW1レジスタ100 への書込みは、
システム・クロックBCLKおびCCLKを用いることによって
容易となる、AND ゲート110 は、システム・クロックCC
LKが、適当な条件下でICW1レジスタ100 のC入力112 に
到達できるようにするために存在する。ICW1レジスタ10
0 のB入力は、システム・クロックBCLKに直接に接続さ
れている。CPU が、割込みコントローラ8内の個別のレ
ジスタをアドレス指定できるようにするためには、アド
レス回線▲▼ 116は、I/O WRITE PULSE 118 と共に
HIGHレベルでなければならない。データ・バス64のデー
タ回線DATA4 がHIGHレベルである時、コマンドはICW1レ
ジスタ100 に出力されているものと解釈される。従っ
て、DATA4 もまたAND ゲート110 に接続されている。
データ・バス64上のデータ・ビットは、従来通りの方法
でICW1レジスタ100 に書き込まれ、割込みコントローラ
の希望の構成を表示するさまざまな定義された信号を提
供する、本発明の好ましい実施例に従えば、ICW1レジス
タのビット3は、LEVEL/▲▼ビット20である。
8259A 割込みコントローラにおいては、対応するビット
が、全ての割込み要求入力がレベル感知であるかまたは
エッジ感知であるかを定義する。本発明の本実施例にお
いては、LEVEL/▲▼ビット120 の機能は、本発
明に依る割込みごとの選択性だけでなく8259A とのバッ
クワード・コンパティビリティを提供するように修正さ
れている。LEVEL/▲▼ビット120 がLOW レベル
である時、全ての割込み要求入力は、エッジ感知であ
る。LEVEL/▲▼ビット120 がHIGHレベルである
時には、割込み要求入力は、エッジ感知であるかまたは
レベル感知であるか割込みごとにプログラム可能であ
る。厳密に、どのようにして個々の割込み要求入力が、
割込み要求を検出するためにプログラムされるかについ
ては、ICW5レジスタ108 との関連において以下に説明す
る。このようにICW1レジスタ100 のビット3を定義する
ことは、バックワード・コンパティビリティを提供しな
がらも本発明を実現するための実効的な方法である。82
59A を採用している多くの古いシステムは、エッジトリ
ガ割込み要求を発生させる周辺装置を使用しているの
で、8259A を構成するためのシステム・ソフトウェアは
標準的には、ICW1レジスタ100 のビット3をエッジトリ
ガ用にLOW レベルであるようにプログラムする。従っ
て、このビットをLOW レベルにプログラムする、本発明
に従った割込みコントローラは、8259A と同様に作動す
る。一方、本発明に従った割込みコントローラおよびよ
り新しいレベルトリガ周辺装置を用いているより新しい
システムは、LEVEL/▲▼ビット120 がHIGHレベ
ルに容易にプログラム可能であり、これによって割込み
ごとの割込み選択性を提供する。
バックワード・コンパティビリティを持つ本発明に従っ
た割込みコントローラを実現するためには、上記の実現
方法が、本発明を実行するのに最上のモードであると思
われる。しかし、エッジトリガ割込みおよびレベルトリ
ガ割込みを実現する他の方法も、本発明の範囲および精
神内にあることが理解されるだろう。例えば、LEVEL/▲
▼ビット120 は、HIGH値が全ての割込み要求入
力をレベル感知であるように構成し、また、LOW 値によ
って入力ごとの選択性が可能であるように、実現でき
る。そのほか、以下が説明するように、LEVEL/▲
▼ビット120 を無視し、また、個々の割込み要求入力
が、ICW5中の対応するビット従って常に構成されるよう
にしてもよい。さらに、LEVEL/▲▼ビット120
の状態を留保してもよい、すなわち、HIGH状態が、エッ
ジ感知割込み要求に対応するようにしてもよい。次に、
それはEDGE/▲▼ビットになる。
ICW1レジスタのビット0は、IC4 のビット122 である。
このビットが1の時、ICW4レジスタ106 がプログラムさ
れ、また、そのビットが、第5図に関連して説明され第
9図A-E に表としてまとめられているように割込みコン
トローラのパラメータを定義する。IC4 のビット122 が
0である場合、ICW4レジスタ106 はプログラムされず、
また、パラメータは、IC4 のビット122 がLOW レベルに
ある場合を図示した第9図Eと関連して説明されたよう
に、デフォルト値にセットされる。
第4図にはさらに、SINGLE/▲▼ビット1
24 であるICW1レジスタ100 のビット1が示されてい
る。このビットは、システム中に複数の割込みコントロ
ーラが使用されている時に従来の方法で利用される。マ
スタ割込みコントローラは、最大8個のスレーブ・コン
トローラと共に使用することが可能であり、これによっ
て最大64の優先順位レベルにおいて最大64の割込み要求
入力を処理することが可能となる。第2図に示され、ま
た、上述されたように、カスケード・コントロール84
は、3ビットのカスケード・バス86を持っている。もし
SINGLE/▲▼ビット124 をLOW レベルに
プログラムすることによってカスケード・モードガ選択
され、また、コントローラがマスタとして構成された場
合(ICW4レジスタ106 と関連して後で説明する)には、
カスケード・バス86を構成している3つの回線は、最大
8個のスレーブ・コントロールの内1つを選択するのに
使用される出力である。
さらに第4図には、信号ICW1の、HIGHレベルで真である
信号およびLOW レベルで真である信号を発生させるAND
ゲート126 およびインバータ128 が示されている。AND
ゲート126 は、アドレス回線▲▼ 116およびデータ
・バス64の第4番目のビットであるDATA4 だけでなくシ
ステムのI/O WRITE PULSE 118 を受信するために、その
入力が接続されている。従って、AND ゲート126 は、IC
W1レジスタ100 が書き込まれた時、I/O WRITE PULSE 11
8 と同期されるパルスとして信号ICW1を出力する。この
信号ICW1は、ICWlレジスタ100 をもって始まるプログラ
ミング・シーケンスが開始され、それによって他のレジ
スタを順にプログラミングすることが可能になると、残
余のICW レジスタをクリヤするために使用される。
ここで第5図を参照すると、ICW4レジスタ106 および付
随のロジックが開示されている。他のレジスタと同様
に、ICW4レジスタ106 はイネーブル・ロジック・ネット
ワークによってイネーブルされるシステム・クロックBC
LKおよびCCLKによってクロックされる。この好ましい実
施例に従うと、ICW2レジスタ102 および/またはICW3 1
04は、ICW4レジスタ106 に書き込むための先行前提条件
として書き込まれなければならないので、イネーブル・
ロジック・ネットワークは、レジスタ102 および104 へ
の書込みが完了したことを示す信号を受信する。この2
つの信号はそれぞれ、COMPL ICW2およびCOMPL ICW3と呼
ばれ、第3図において130 および132 として示されてい
る。ICW2レジスタおよびICW3レジスタは従来の構成のも
のであるため、本明細書中には詳細には開示されていな
い。このネットワークには、COMPL ICW2信号(ICW2レジ
スタ102 のプログラミングが完了したことを示す)およ
びICW1レジスタ100 のSINGLE/▲▼ビッ
ト124 を入力として受信するために接続されているAND
ゲート134 が含まれている。ORゲート136 は、AND ゲー
ト134 出力およびICW3レジスタ104 のプログラミングが
完了したことを示すCOMPL ICW3信号を入力として受信す
るように接続されている。第3図に示され以下に説明さ
れるように、単一モードにおいては、ICW3レジスタ104
はプログラミングされない。従って、ICW4レジスタ106
のプログラミングは、ICW3レジスタ104 のプログラミン
グ完了によってイネーブルされてもよいし、また、単一
モードにおいては、ICW2レジスタ102 のプログラミング
完了によってイネーブルされてもよい。
ORゲート136 の出力は、AND ゲート138 の入力に接続さ
れている。AND ゲート138 が出力を発生すると、その出
力によってシステム・クロックCCLKは、全ての必要は先
行前提条件が満たされた時に、AND ゲート140 を介して
ICW4レジスタ106 に対してイネーブルされる。ORゲート
136 の出力は1つの先行前提条件である。その上、I/O
WRITE PULSE 118 およびアドレス回線A0 116は、CLKをI
CW4レジスタ106 に対してイネーブルにするための先行
必要条件である。最後に、ICW4レジスタ106 には使用さ
れていないが、データ・バス64のビット5、6および7
は、LOWAレベルでなければならない。これら3つのデー
タ・ビットは、AND ゲート138 のHIGHレベルでアクティ
ブである入力を受け入れるために、従来通りに反転示さ
れている。
全てのICW レジスタのプログラミングが完了すると、プ
ログラマブル割込みコントローラ8をイネーブルするた
めの回路も第5図に提供されている。このコントローラ
8は、LEVEL/▲▼ビット120 がQHIGH レベルの
場合にICW5レジスタ108 がプログラミングされた時にイ
ネーブルされる。以下に示すように、ICW5レジスタ108
は、割込みごとにエッジトリガにするかレベルトリガに
するかを選択するようにプログラミングされる。もしLE
VEL/▲▼ビット120 がLOW レベルにプログラミ
ングされていると、全ての割り込み要求入力の省略時の
解釈は、エッジ感知となる。従って、ICW5 COMPLETE 信
号144 によって示されるように、LEVEL/▲▼ビ
ット120 がHIGHレベルであり、また、ICW5レジスタ108
がプログラミングされている時にプログラマブル割込み
コントローラ8をイネーブルするためにAND ゲート142
が提供されている。
セット/リセット・ラッチ146 は、148 として示されて
いるCOMPL ICW4信号を発生することによって、ICW4レジ
スタ106 の書込みが完了したことを示すために提供され
ている。ラッチ146 はまた、割込みコントローラ8のプ
ログラミングが完了したことを示すためにも用いられ
る。LEVEL/▲▼ビット120 がLOW レベルであ
り、従って割込みコントローラ8の省略時の解釈が全て
の入力がエッジ感知であることが示されている場合に
は、ICW5レジスタ108 をプログラムする必要はない。従
って、割込みコントローラ8は、ICW4レジスタ106 がプ
ログラムされた後ではイネーブルされる用意ができてい
る。
LEVEL/▲▼ビット120 は、それがHIGHレベルで
ある時、インバータ150 によって反転され、エッジトリ
ガであることを示す。ラッチ146 のHIGHレベルで真であ
る出力152 は、反転されたLEVEL/▲▼ビット12
0 と共にAND ゲート154 に接続されている。AND ゲート
142 および154 の出力は、ORゲート156 の入力に接続さ
れている。ORゲート156 の出力はPIC ENABLE信号158 で
あり、これはHIGHレベルの時には、プログラマブル割込
みコントローラ8がイネーブルされていることを示す。
PIC ENABLE 158信号はインバータ160 によって反転され
信号162 となり、この信号は、プログラマブル割込みコ
ントローラがイネーブルされていることを示すLOW レベ
ルでアクティブである信号が必要とされる場合に用いら
れる。
ラッチ146 は、システム・クロックCCLKおよびBCLKによ
ってクロックされる。CPU 4がICW レジスタ群のプログ
ラミングを開始すると、LOW レベル値がラッチ146 にク
ロック・インされる。従って、ラッチ146 のLOW レベル
で真である出力164 はHIGHレベルとなり、これによっ
て、ICW4のデコード信号を受信するAND ゲート138 がイ
ネーブルされる。ICW4が書き込まれAND ゲート138 出力
がHIGHレベルになると、ORゲート166 の出力がHIGHレベ
ルとなって、AND ゲート170 の第1の入力168 がHIGHレ
ベルとなり、このゲートの出力が、ラッチ146 のデータ
入力172 に接続される。AND ゲート170 の第2の入力17
4 は、▲▼に接続されている、▲▼は
通像はHIGHレベルであり、ICW1レジスタ100 が書き込ま
れた時にのみLOW レベルとなり、これによってICW レジ
スタ群のプログラミングを始動させる。従って、ICW1信
号がLOW レベルになる瞬間にLOW レベル値がラッチ146
にクロック・インされる。すると、ラッチ146 のLOW レ
ベルで真である出力164 がHIGHレベルとなり、AND ゲー
ト138 をイネーブルする。ラッチ146 のHIGHレベルで真
である出力152 はLOW レベルとなるので、ORゲート166
の出力は、AND ゲート138 の出力がHIGHレベルになるま
でLOW レベルにとどまる。AND ゲート138 の出力がHIGH
レベルとなり、AND ゲート140 を介してICW4レジスタ10
6 の入力Cに対してCCLKをイネーブルにし、さらに、OR
ゲート166 の出力もHIGHレベルにし、これによってラッ
チ146 のデータ入力172 に接続されているAND ゲート17
0 の出力をHIGHレベルにするので、ラッチ146 は、ICW4
レジスタ106 が書き込まれた時に最終的にセットされ
る。従って、LEVEL/▲▼ビット120 がLOW レベ
ルの時には、PIC ENABLE信号158 は、ICW4レジスタ106
が書き込まれつつある状態でラッチ146 がセットされる
時にHIGHレベルとなる。
第5図には更に、割込みコントローラの構成の異なる構
成を示すICW4レジスタ106 のさまざまなビットが示され
ている。一般的には、これらの信号は、Intel 8259A と
矛盾しないように定義される。これらの信号は、データ
・バス64のそれぞれのビットの適切な値を印加した状態
でICW4レジスタ106 に書き込むことによってプログラム
される。この開示された態様に関して特に興味深いのは
次に示すビットである。マイクロプロセッサ・モード
(uPM)ビット176 は、どのタイプのマイクロプロセッ
サと共に割込みコントローラが作動しているかに従って
セットされる。もしuPM ビット176 がLOW レベルであれ
ば、割込みコントローラ8は、16ビットの割込みサービ
ス・ルーチン・アドレスを提供することによってマイク
ロプロセッサ8080または8085に従って動作する。もしuP
M ビット176 がHIGHレベルであれば、割込みコントロー
ラ8は、8ビットの割込みベクトルを提供することによ
ってマイクロプロセッサ8086に従って動作する。MASTER
/▲▼(M/)ビット178 は、割込みコント
ローラ8がマスタであるかスレーブであるかを定義す
る。このビットは、スレーブ・コントローラの割込み要
求出力がマスタ・コントローラの割込み要求入力に接続
されているカスケード・モードにおいて使用される。
自動終了の割込み(AEOI)ビット180 は、割込み肯定応
答回線72を介して受信された最新の割込み肯定応答パル
スに継いで、プログラマブル割込みコントローラ8に割
込み動作の非特定終了を自動的に実行させるためにHIGH
レベルにプログラムしてもよい。AEOIビット180 は、循
環割込み要求優先順位と関連して従来のように用いても
よい。割込みモーの自動終了の循環に用いてもよい。
ここで第6図を参照すると、ICW5レジスタ108 が示され
ている。ICW5レジスタ108 には8個のデータ入力があ
り、その1つ1つが個々の割込み要求入力に対応してい
る。データ・バス64は、AND ゲート182 、184 、186 、
190 、192 、194 および196 を介して、ICW5レジスタ10
8 の個々の入力に対してイネーブルされる。レジスタ10
8 に書き込まれると、データ・バス64上のビットはレジ
スタ108 中にロードされ、出力信号LEVE/▲▼I
RQ0からLEVEL/▲▼IRQ7 までが駆動され、これ
によって個々の入力がレベル感知であるかエッジ感知で
あるかを、割込みごとに確立する。
さらに第6図には、システム・クロックCCLKをICW5レジ
スタ108 に対してイネーブルするための論理ネットワー
クが示されている。
信号162 はHIGHレベルであって、ICW レジスタ94のプロ
グラミングが進行中であるがまだ完了していないことを
示す。COMPL ICWS 148はHIGHレベルであって、ICW4レジ
スタ106 への書込みが完了したことを示す。ここに示す
回路には、ICW5レジスタ108 の入力Cに対してシステム
・クロックCCLKをイネーブルにするためのAND ゲート19
8 が含まれる。AND ゲート198 は、アドレス回線A0 116
およびI/O WRITE PULSE 118だけでなく、 信号162 およびCOMPL ICW4信号を受信する。
もう一つのAND ゲート200 は、システム・クロックCCLK
およびHIGHレベルデ真となる▲信号に接続され
る。AND ゲート198 および200 出力は、ICW5レジスタ10
8 の入力Cに接続されている出力を持つORゲート202 の
入力に接続されている。
AND ゲート200 は、ICW5レジスタ108 が、ICW1レジスタ
100 が書き込まれる時に書き込まれるように提供され
る。この時には、AND ゲート182 、184 、186 、188 、
190 、194 および196 は、LOW レベルにあるICW1信号に
接続されている自身のそれぞれの入力によってディスエ
ーブルされる。この信号はイナクティブであるので、AN
D ゲート182-196 の出力は全てLOW レベルであり、これ
によって、ICW1レジスタ100 が書き込まれた時にICW5レ
ジスタ108 の全てのビットをクリヤする。この動作は、
もしLEVEL/▲▼ビット120 がLOW レベルである
場合、ICW5の全ビットがクリヤされ、それによって全て
の割込み要求入力がエッジ感知のものとなるようになさ
れるものである。ゲートは個々に2つの入力を持つが、
一方は内部データ・バス64のデータ・バス回線に接続さ
れ、他方はICW1信号に接続されている。ICW1は、ICW1レ
ジスタ100 が書込みを受けている時だけLOW レベルであ
る。このようにして、その時にICW5レジスタ108 への全
ての入力がLOW レベルとなる。同様に、CCLKイネーブル
・ロジックには、その2つの入力がそれぞれICW1信号と
システム・クロックCCLKに接続されているAND ゲート20
0 が含まれる。従って、1つのクロック・パルスは、IC
W1レジスタ100 が書き込まれた時にICW5レジスタ108 の
入力Cに対してイネーブルされる。これによって、ICW1
レジスタ100 が書き込まれた時にICW5の全てのビトが確
実にクリヤされることになる。もしICW5レジスタ108 が
次に書き込まれると、その最終的な値はその時点で確立
される。ICW5レジスタ100 が次に書き込まなければ全て
の割込み要求入力は、エッジトリガであるように構成さ
れる。
また第6図には、セット/リセット・ラッチ204 が示さ
れているが、これはICW4レジスタ106 との関連において
示したセット/リセット104 と類似のものである。ラッ
チ204 は、通常HIGHレベルにあるICW1レジスタ100 が書
き込まれるとクリヤされる。この操作は、ラッチ204 の
入力Dに接続された出力と▲▼に接続された入
力とを有する。上述のように、▲▼はICW1レジ
スタ100 が書き込まれる時にはLOW レベルとなる。従っ
て、この時にLOW レベル値がラッチ204 にクロック・イ
ンされる。ラッチ204 は、COMPL ICW4 148がHIGHレベル
になるとセットされ、ICW4レジスタ106 が既に書込まれ
ていることを示し、また 162 がHIGHレベルにある時は、ICW4レジスタ106 は書き
込まれているが、第5図のセット/リセット・ラッチ14
6 のDに接続されたロジックはプログラマブル割込みコ
ントローラ8をいまだイネーブルにしていない。これら
の信号は、AND ゲート208 に入力され、そのゲートの出
力は上述の全ての条件がみたされた時にHIGHレベルとな
る。AND ゲート208 は、ORゲート210 の第1の入力に出
力接続されている。ORゲート208 は、ORゲート210 の第
1の入力に出力接続されている。ORゲート210 の第2の
入力は、ラッチ204 の出力に接続される。従って、ラッ
チが一度HIGHレベルになると、ORゲート210 の出力はAN
D ゲート208 の出力がLOW レベルになってもHIGHレベル
を保持する。従って、HIGHレベル値は、プログラミング
・シーケンスがICW1レジスタ100 をプログラムすること
によって再スタートするまでラッチ204 にクロック・イ
ンされ続ける。▲▼はLOW レベルとなり、AND
ゲート206 の出力もLOW レベルとなり、LOW レベル値が
ラッチ204 にクロック・インされる。ORゲート210 の出
力と▲▼信号は、AND ゲート206 の出力に接続
される。
以上において、本実施例でのプログラマブル割込みコン
トローラを提供する第2図に94で示した初期化コマンド
・ワード・レジスタについて説明した。
第2図に示した割込み要求レジスタ(IRR )66の部分詳
細論理図を第7図に示す。IRR 66は、8個のステージか
ら構成されており、各ステージは割り込み入力と1:1 で
対応している。第7図には、代表的なステージ212 を図
示した。IRR 66は全体として8個のステージを備えてい
ることが第7図に図示したところから解る。また本発明
の精神および範囲に従うプログラマブル割込みコントロ
ーラは、このようなステージを適切な数だけ含むことの
できることも了解されるところである。
本発明に依れば、第7図にはエッジトリガ割込み要求を
検出するために設計されたハードウェア及びレベルトリ
ガ割込み要求を検出するためのハードウェアが記載され
ている。また、LEVEL/▲▼IRQn と呼ばれる入
力信号214 が示されている。
この信号は、ステージ212 に対応する割込み要求入力が
エッジトリガされるか、またはレベルトリガされるかを
示している。LEVEL/▲▼IRQn 信号214 は、第
6図に示したICE5レジスタ108 の8個の出力信号のいず
れであってもよい。また、入力信号IRQn 216が示されて
いるが、これは割込み入力信号であり、第2図に示した
割込み要求入力のいずれであってもよい。LEVEL/▲
▼IRQn 信号214 の状態に依って第7図に図示した
ハードウェアの適当な部分を使用して、割込み要求を検
出し、IRR 66の適当なビットにラッチさせる。
レベルトリガに依る操作の場合には、LEVEL/▲
▼IRQn 信号214 はHIGHレベルにあり、従ってデータ入
力224 の準安定ラッチ212 にAND ゲート218 とORゲート
220 を通して割込み要求IRQn 216を送信できる。準安定
ラッチ222 は、AND ゲート228 を介して▲
▼信号226 により使用可能となったシステム・クロック
BCLKおよびCCLKによってクロックされる。▲
▼226は通常はHIGHレベルにあり、割込み肯定応答サ
イクル中のみLOW レベルとなり、その間レベルトリガ割
込み要求の検出を延期させることができる。
準安定ラッチ222 の出力は、ORゲート230 を介してAND
ゲート232 入力に達する。AND ゲート232 の残りの入力
には、ICW レジスタ94用のプログラミング・シーケンス
中以外はHIGHレベルである▲▼信号および 234が含まれる。この後者の信号は、第2図に示すサー
ビス・レジスタ(ISR )88中の対応するビットがセット
される時にLOW レベルになる以外は通常HIGHレベルにな
るパルスである。従って、準安定ラッチ222 の出力は、
AND ゲート232 を介して割込み要求レジスタ(IRR )ラ
ッチ236 のデータ入力に達する。このラッチ236 は、割
込み要求をストアするが、これは割込みコントローラ8
が、それを利用してCPU 4に割込みを掛け、また、CPU
4がどの割込み処置を実行するかを決定するのに適切な
情報を提供する。
上述のように、もし▲▼がLOW レベルであ
り、これによって、レベルトリガの割込み要求が出現し
た時に割込み肯定応答であることを示す場合、この割込
み要求は、割込み肯定応答が終了するまでは準安定ラッ
チ222 中にラッチされない。
割込みが肯定応答されている期間では、ICW4レジスタ10
6 のuPM ビット176 ごとに、割込みコントローラ8が80
80/8085 システムように構成されているかまたは8086シ
ステム用に構成されているかに依ってINTA回線72上2つ
または3つのパルスが存在することになる。割込みが肯
定応答されている間は、IRR ラッチ236 はリセットれ、
ISR 88の対応するビットがセットされる。ISR ビットが
セットされると、信号 はLOW レベルのパルスとなる。これは、準安定ラッチ22
2 の状態とは夢関係に真である。割込み肯定応答中にあ
って▲▼信号が適当な数だけ発生した後におい
ては、IRR ビットはリセットされ、ISR ビットはセット
される、ICW4レジスタのAEOIビット180 をプログラミン
グすることによって、割込み(AEOI)モードの自動終了が
選択された場合、ISR ビットは最終の▲▼パル
スの終了時においてクリヤされる。そうでない場合、IS
R ビットは、適切なEOI コマンドが割込みサービス・ル
ーチンによって発行される時にクリヤされる。最終▲
▼パルスの終了時において、▲▼は
HIGHレベルとなり、CCLKは準安定ラッチ222 の入力Cに
送られる。その上、IRR ラッチ236 へのデータ入力が、
ORゲート229 およびAND ゲート232 を介してイネーブル
される。従って、準安定ラッチ222 の出力は、IRR ラッ
チ236 中にラッチされる。
エッジトリガ動作において、以前に述べた第7図の下部
のハードウェアは、本質的には述べられたように作動す
る。しかし、同図の上部にあるハードウェアは、エッジ
トリガの割込み要求を検出してラッチし、また、ラッチ
された割込み要求をORゲート220 の入力に提供する。エ
ッジトリガの割込み要求は、インバータ238 によって反
転されたLEVEL/▲▼IRQn 信号によってイネー
ブルされ、AND ゲート240 を介してエッジ検出器242 の
入力に達する。エッジ検出器242 の出力は、ORゲート24
4 を介してレベル・コンバータ246 の入力に接続され
る。
第8図AおよびBに、第7図に示すエッジ検出器の好ま
しい2つの実施例を示す。最初に第8図Aを参照する
と、ラッチ248 ならびに自身の入力がラッチ248 の入力
およびLOW レベルで真となる出力に接続されているAND
ゲート250 が示されている。エッジトリガ割込み要求が
受信されると、IRQn信号216 はLOW 状態からHIGH状態に
移行する。有効なエッジが検出されるためには、この移
行は、例えば1クロック・サイクルのような指定された
制限時間内に発生しなければならない。システム・クロ
ックCCLKおよびBCLKは断続的に走行し、入力信号をラッ
チ248 中にラッチする。移行がなされると、1クロック
・サイクルの間、直前に存在していたLOW レベルの入力
は、ラッチ248 中にラッチされ、この移行に続く入力が
またHIGHレベルである間にLOW レベルで真である出力を
駆動する。AND ゲート250 の両出力は、この時間間隔の
間HIGHレベルである。AND ゲート250 からの出力信号
は、1クロック・サイクルの間HIGHレベルにある。この
HIGHレベルの信号は、レベル・コンバータ246 中にラッ
チされる。前に戻って第7図を参照すると、レベル・コ
ンバータ246 のHIGHレベルで真の出力がAND ゲート252
の入力にルート・バックされており、このAND ゲートの
出力がORゲート244 の入力に接続されていることが解
る。従って、レベル・コンバータ246 がHIGHレベルとし
てラッチされると、このHIGHレベルは 信号がLOW レベルになるか又は▲▼がLOW レベ
ルになるまでHIGHレベルにとどまり、初期化コントロー
ル・ワードが再プログラミングされていることを示す。
レベル・コンバータ246 の出力は次に、ORゲート220 の
出力に接続される。これ以降、ラッチされたエッジトリ
ガ割込み、以前に述べたようにあたかもそれがレベルト
リガ割込みであるように扱われる。
第8図Bを参照すると、エッジ検出器の第2の実施例が
示されている。この実施例は、同期ラッチ254 がラッチ
248 の前に接続されているという点において第8図Aの
実施例と異なる。IRQn入力は、同期ラッチ254 のデータ
入力に接続され、また、同期ラッチ254 の出力は、エッ
ジ検出ラッチ248 の入力およびAND ゲート250 に接続さ
れている。このラチ248 およびAND ゲート250 は、第8
図Aの実施例と本質的には同じに動作する。相違は同期
ラッチ254 が、システム・クロックCCLKおよびBCLKによ
ってエッジトリガ割込み要求を同期させることである。
これによって動作の信頼性が向上し、同期ラッチ254 の
タイミング特性を、エッジトリガ割込み要求IRQnのタイ
ミング特性に従って決定できる。
第9図のAからEは、さまざまなシステム構成のための
標準的な初期化コマンド・ワード・プログラミング・シ
ーケンスを示す表である。ICW1、ICW4およびICW5レジス
タ100 、106 および108 に加えて、ICW2およびICW3レジ
スタ102 および104 が示されている。個々の場合におい
て、構成の顕著な特性が右側に書き出されており、これ
らのシステム構成を実現するための或る必要な値を持っ
たビットがこれらの必要とされる値と共にしめされてい
る。第9図Aに目を転ずると、プログラマブル割込みコ
ントローラ8は、カスケート・モード用に構成されてい
る。従って、ICW1のビット1すなわちSINGLE/▲
▼ビット124 はゼロにセットされる。コントロ
ーラ8はさらに、Intel 8080またはIntel 8085マイクロ
プロセッサと共に動作するように構成されている。uPM
ビット176 すなわちICW4のビット0はゼロである。さら
に、ICW2レジスタおよび、ICW1レジスタ100 の3つのMS
B は、割込みサービス・ルーチン・アドレスの表を持つ
メモリのページのアドレスを与えるビットA15 からA5に
よってプログラムされる。アドレス間隔(ADI)ビット
すなわちICW1のビット2は1であれば、割込みサービス
・ルーチン・アドレス同士間の間隔が4バイトであるこ
とを示し、0であれば、この間隔が8バイトであること
を示す。後者の場合、ICW1レジスタ100 のビット5は使
用されない。最後に、割込みコントローラ8はカスケー
ド・モードにセットされており、また、マスタ割込みコ
ントローラおよび1つ以上のスレーブ割込みコントロー
ラが用いられているので、この特別な割込みコントロー
ラ8がマスタとしてプログラムされる。この操作は、バ
ッファ・モード・ビットBUF すなわちICW4のビット3を
1にセットし、さらにM/S ビット178 すなわちICW4のビ
ット2を1にセットすることによって実行される。
第9図Bに目を転じると、プログラマブル割込みコント
ローラ8が8086および8088マイクロプロセッサと共に使
用されるように構成されている点を除いては、第9図A
のそれと同一のプログラミング構成が示されている。こ
の相違はICW4のビッと0すなわちuPM ビット176 が1で
あることである。第9図Aに示すICW2レジスタ102 およ
びICW1レジスタ100 中の割込みルーチン・アドレス・ビ
ットの代わりに、第1図では、ICW2レジスタ102 ののビ
ット3-7 に、CPU 4に供給される割込みベクトルの5つ
のMSB が含まれる。割込みベクトルの残余を形成する3
つのLSB は、どの割込み要求回線IRQn 216がアクティブ
であるかによって決定される。
第9図Cに目を転じると、割込みコントローラ8がスレ
ーブであるように構成されている点を除いては、第9図
Aのそれと同一のプログラミング構成が示されている。
この操作は、単にM/Sビット178 すなわちICW4のビット
2をゼロにセットするだけで実行される。
第9図Dに目を転じると、カスケード・モードの代わり
に、割込みコントローラ8が単一モードに構成されてい
る点を除いては、第9図Aのそれと類似の構成が示され
ている。この操作は、SINGLE/▲▼ビッ
ト124 すなわちICW1のビット1を1にセットすることに
よって実行される。同様に、バッファ・モード・ビット
すなわちICW4のビット3は、バッファ・モードがここで
は適用されないのでゼロにセットされる。さらに、M/S
ビット178 の値は無関係である。注目すべきことは、IC
W3レジスタ104 が、第9図Dに示すプログラミング・シ
ーケンスから除外されていることである。ICW3には、マ
スタ・コントローラと1つ以上のスレーブ割込みコント
ローラの双方が存在するときに適切であるだけの情報が
含まれることである。マスト・コントローラの場合、第
9図Aに示すように、ICW3レジスタ104 には、対応する
割込み要求入力の個々が自身に取り付けられたスレーブ
・コントローラを持つが否かを示すためにセットされる
8ビットS7-S0 が含まれる。スレーブの場合、第9図C
に示すように、ICW3レジオスタ104 のビット2-0のみが
用いられる。これら3のビットは、スレーブ装置が接続
されるマスタ割込みコントローラの割込み要求入力にそ
の値が対応するスレーブIDを提供する。再度、マスタと
スレーブとの観念は、単一割込みコントローラが用いら
れて場合には無関係であるので、ICW3レジスタ104 は単
一モードから除外されている。
最後に目を第9図Eに転じると、ICW4レジスタ106 が除
外されているプログラミング構成が示されている。ICW4
をプログラムするか否かはIC4 ビットすなわちICW1のビ
ット0によって決定される。第9図A-D において、この
ビットは常にHIGHレベルにセットされている。しかし、
第9図Eにおいては、このビットはゼロである。従っ
て、ICW4レジスタ106 は除外され、或るデフォルト値
が、ICW4レジスタ106 中に現れるビットに対して設立さ
れる。第一に、あたかもICW4のビット0がゼロにセット
され、8080/8085 マイクロプロセッサを示すかのように
システムが構成される。第二に、あたかもバッファ・ビ
ットすなわちICW4のビット3がゼロであるかのように構
成される、すなわちシステムが非バッファ・モード用に
構成される。割込みコントローラ8が非バッファ・モー
ド用に構成されると、ハードウェア信号▲▼/▲
▼は入力として扱われ、その状態によって、割込みコ
ントロールがマスタとして構成さるかスレーブとして構
成されるかが決定される。第9図Eの場合、この信号は
HIGHレベルであることが前提とされている。この前提に
立てば、割込みコントローラは自身をマスタとして構成
する。
〔発明の効果〕
要約すると、周辺装置からのエッジトリガまたはレベル
トリガの割込み要求を検出することが可能な複数の割込
み要求入力を持つ、本発明に依るプログラマブル割込み
コントローラが提供されている。図示された実施例に示
すように、ICW5レジスタ108 は、個々の割込み要求入力
に対応するニットを持つ。これらのビットは、それぞれ
エッジトリガまたはレベルトリガに対応する2つの状態
の内いずれか1つにプログラムしてもよい。これらのビ
ットは1ビットつ”つプログマルできる。従って、割込
みコントローラの割込み要求入力は、レベル感知または
エッジ感知用に、個々の割込みごとにプログラムされ得
る。割込み要求入力はこのようにしてエッジ感知または
レベル感知用にプログラムすることもできるので、割込
みコントローラを使用しているシステムを、エッジトリ
ガ割込み要求とレベルトリガ割込み要求との混合を変化
させることによってアップグレードすることが可能であ
る。従って、システムは、新式のレベルトリガ周辺装置
を収納しつつも、古いエッジトリガ周辺装置とはバック
ワード・コンパティブルにとどまる。さらにその上、LE
VEL/▲▼ビット120 を用いることによって、割
込みコントローラをIntel 8259A 割込みコントローラと
矛盾しないように構成してもよい。従って、本発明に依
るコントローラは、859A をプログラムするために作成
されたソフトウェアとバックワード・コンパティブルで
ある。
以上、本発明の好ましい実施例を示してきたが、本発明
は開示された実施例に制限されないことが理解されよ
う。さらには、他のタイプの割込みコントローラガ、こ
の特鉄の割込みコントローラのアーキテクチャに適切な
何等かの方法によってエッジ感知またはレベル感知用
に、個々の割込みごとにプログラム可能な複数の割込み
要求入力を提供することによって本発明を利用すること
ができる。
【図面の簡単な説明】
第1図は、周辺装置を処理するための本発明に依る割込
みコントローラを利用するコンピュータ・システムのブ
ロック図、第2図は本発明に依る割込みコントローラの
ブロック図、第3図は、本発明の好ましい実施例中に利
用される初期化コントロール・ワード・レジスタのハー
ドウェア構成を示す論理線図、第4図から第6図は、第
3図に示す各種の初期化コントロール・ワード・レジス
タの詳細な論理線図、第7図は、第2図に示す割込み要
求レジスタ(IRR )のステージを示す詳細な論理線図、
第8図AおよびBは、第7図に示すエッジ検出器の、そ
れぞれ第1および第2の実施例、第9図AからEは、プ
ログラマブル割込みコントローラの好ましい実施例の初
期化コントロール・ワード・レジスタが、いかにしてさ
まざまなシステム構成用にプログラムされ得るかを示す
図表である。 4……CPU 、 8……割込みコントローラ、 10……インタフェース、 26……周辺装置、 62……双方向データ・バッファ、 74……読み/書きコントロール、 84……カスケード・バッファ/コンパレータ、 146……セット/リセット・ラッチ、 246……レベル・コンバータ、 224……準安定ラッチ、 242……エッジ検出器。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ペーター、ユルゲン、クリム アメリカ合衆国フロリダ州、ディアーフィ ールド、ビーチ、エスダブリュ、フォー ス、ストリート、3261 (56)参考文献 特開 昭57−41726(JP,A) マイクロコンピュータ・ユーザーズ・マ ニュアル MCS−85 intel 1983 年5月20日 P.4−93〜4−109 トランジスタ技術 1980年11月 P. 243〜309

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】中央処理装置(CPU)、メモリ、および
    CPUおよび複数の周辺機器間の入出力操作を支配する
    割込みコントローラにおいて、 複数の周辺機器からの割込み要求入力を受け取るための
    複数の入力と、 それぞれのビットが各個の割り込み要求線に関してエッ
    ジトリガに対応する第1の状態とレベルトリガに対応す
    る第2の状態との間でプログラム可能である複数のビッ
    トを有する初期化コマンド・レジスタと、 それぞれのステージがそれぞれの上記ビットおよびそれ
    ぞれの上記割り込み要求線に対応する複数のステージを
    有する割り込み要求レジスタであって、各ステージが、 (a)上記初期化コマンド・レジスタの対応するビット
    に応答し、該ビットが上記第1の状態にプログラムされ
    ているとき可動にされ、対応する割り込み要求線からの
    エッジトリガ割込み要求を受取りラッチするエッジ検出
    器と、 (b)上記エッジ検出器の出力に接続され上記エッジト
    リガ割り込み要求をレベル信号としてラッチするレベル
    変換器と、 (c)上記初期化コマンド・レジスタの対応するビット
    に応答し、該ビットが上記第2の状態にプログラムされ
    ているとき可動にされ、対応する割り込み要求線からの
    レベルトリガ割り込み要求を受取りラッチするラッチ
    と、 からなるものと、 上記エッジ検出器のすべてを可動にすべきことを示す第
    1の状態、および上記エッジ検出器のいくつかだけを可
    動にすべきことを示す第2の状態を有するレベル/エッ
    ジ信号を出す信号手段と、 を備え、 上記レベル/エッジ信号に応答して上記初期化コマンド
    ・レジスタがプログラムされる割り込みコントローラ。
JP2273107A 1989-11-03 1990-10-11 プログラマブル割込みコントローラ Expired - Lifetime JPH0612526B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43127589A 1989-11-03 1989-11-03
US431275 1989-11-03

Publications (2)

Publication Number Publication Date
JPH03196225A JPH03196225A (ja) 1991-08-27
JPH0612526B2 true JPH0612526B2 (ja) 1994-02-16

Family

ID=23711223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2273107A Expired - Lifetime JPH0612526B2 (ja) 1989-11-03 1990-10-11 プログラマブル割込みコントローラ

Country Status (9)

Country Link
EP (1) EP0426331B1 (ja)
JP (1) JPH0612526B2 (ja)
KR (1) KR940002087B1 (ja)
CN (1) CN1020813C (ja)
AU (1) AU635338B2 (ja)
BR (1) BR9005533A (ja)
DE (1) DE69031530D1 (ja)
GB (1) GB9012950D0 (ja)
MY (1) MY107293A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU706450B2 (en) * 1993-07-06 1999-06-17 Tandem Computers Incorporated A processor interface circuit
JP2921412B2 (ja) * 1994-09-30 1999-07-19 日本電気株式会社 データ処理装置
KR100393765B1 (ko) * 1996-03-26 2004-03-10 엘지전자 주식회사 인터럽트제어장치
US6298410B1 (en) * 1997-12-31 2001-10-02 Intel Corporation Apparatus and method for initiating hardware priority management by software controlled register access
CN100437394C (zh) * 2006-04-14 2008-11-26 华为技术有限公司 一种硬件单元的控制方法
CN101872330B (zh) * 2009-11-04 2012-07-25 杭州海康威视数字技术股份有限公司 多pcie设备系统中断处理方法
CN102200770B (zh) * 2011-04-06 2013-04-10 北京配天大富精密机械有限公司 一种基于pci的信息交互系统及方法、上位机
US9450585B2 (en) 2011-04-20 2016-09-20 Microchip Technology Incorporated Selecting four signals from sixteen inputs
US20120271968A1 (en) * 2011-04-21 2012-10-25 Microchip Technology Incorporated Logic device for combining various interrupt sources into a single interrupt source and various signal sources to control drive strength
CN102693193B (zh) * 2012-04-26 2015-05-27 重庆重邮信科通信技术有限公司 中断辅助处理装置、实时系统及中断处理方法
CN103617137B (zh) * 2013-11-29 2016-09-07 暨南大学 一种兼容8051 ip核的中断控制器及其控制方法
CN105278408B (zh) * 2015-10-26 2017-07-25 重庆电子工程职业学院 一种基于计算机ic控制的多功能定时器电路
CN107463494B (zh) * 2017-06-30 2020-11-03 百富计算机技术(深圳)有限公司 中断服务程序调试方法、装置、存储介质及其计算机设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5741726A (en) * 1980-08-22 1982-03-09 Hitachi Ltd Process interruption input circuit
PH24865A (en) * 1987-03-24 1990-12-26 Ibm Mode conversion of computer commands
CA1319441C (en) * 1988-09-09 1993-06-22 Paul R. Culley Programmable interrupt controller

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
トランジスタ技術1980年11月P.243〜309
マイクロコンピュータ・ユーザーズ・マニュアルMCS−85intel1983年5月20日P.4−93〜4−109

Also Published As

Publication number Publication date
JPH03196225A (ja) 1991-08-27
KR940002087B1 (ko) 1994-03-17
EP0426331A3 (en) 1991-11-06
AU6375790A (en) 1991-05-09
CN1052202A (zh) 1991-06-12
DE69031530D1 (de) 1997-11-06
CN1020813C (zh) 1993-05-19
GB9012950D0 (en) 1990-08-01
KR910010326A (ko) 1991-06-29
BR9005533A (pt) 1991-09-17
EP0426331B1 (en) 1997-10-01
MY107293A (en) 1995-10-31
EP0426331A2 (en) 1991-05-08
AU635338B2 (en) 1993-03-18

Similar Documents

Publication Publication Date Title
US5261107A (en) Programable interrupt controller
EP0157075B1 (en) Modular data processing system
JP2782367B2 (ja) 低電力モードを有するデジタル計算システム
US5802269A (en) Method and apparatus for power management of distributed direct memory access (DDMA) devices
US6219742B1 (en) Method and apparatus for artificially generating general purpose events in an ACPI environment
EP0423036B1 (en) CPU-bus controller
US6122748A (en) Control of computer system wake/sleep transitions
US5675772A (en) Device and method for reconfiguring a computer system with an incompatible CPU
JPH0612526B2 (ja) プログラマブル割込みコントローラ
WO1996000940A1 (en) Pci to isa interrupt protocol converter and selection mechanism
WO2000019292A2 (en) Upgrade card for a computer system
US7093118B2 (en) System and method for external bus device support
US5138709A (en) Spurious interrupt monitor
JPS6218936B2 (ja)
US4947478A (en) Switching control system for multipersonality computer system
KR950008229B1 (ko) 퍼스널 컴퓨터 시스템
JP2003058495A (ja) アービトレーション遅延を設定するプログラマブル・カウンタ
JPH0836485A (ja) 情報処理装置及び情報処理装置の制御方法
JP2754594B2 (ja) シングルチップマイクロコンピュータ
JPH04227547A (ja) 情報処理装置
JPH10247187A (ja) 1チップマイクロコンピュータ
GB2274525A (en) Computer system
JPH03134783A (ja) シングルチップマイクロコンピュータ
JPH09198272A (ja) エミュレーション用プロセッサおよびエミュレータ
Mitchell Introduction to Bus Systems