JPH0619718B2 - 割込制御装置 - Google Patents

割込制御装置

Info

Publication number
JPH0619718B2
JPH0619718B2 JP60283217A JP28321785A JPH0619718B2 JP H0619718 B2 JPH0619718 B2 JP H0619718B2 JP 60283217 A JP60283217 A JP 60283217A JP 28321785 A JP28321785 A JP 28321785A JP H0619718 B2 JPH0619718 B2 JP H0619718B2
Authority
JP
Japan
Prior art keywords
block
control
interrupt
bit
work
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
JP60283217A
Other languages
English (en)
Other versions
JPS61201339A (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 JPS61201339A publication Critical patent/JPS61201339A/ja
Publication of JPH0619718B2 publication Critical patent/JPH0619718B2/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
    • 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)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ディジタル処理システムにおける割込制御方
法及び割込制御装置 [開示の概要] 複数個の割込源から受け取った割込要求のサービスを行
うためのルーチンを包含する、割込駆動ディジタル処理
システムを開示する。割込要求の各々はシステム内の正
規の処理に割込を行い、受け取った割込要求を直ちに満
たすのに必要な所定の作業項目を実行する。作動してい
るサービス・ルーチンは次いで、受け取った割込要求を
完全に満たすには実行しなければならないが、実行を後
で行ってシステムの性能に影響をおよぼさないようにで
きる個々の作業項目を識別し、待ち行列に入れる。次い
で、正規の処理が復帰させられ、待ち行列に入れられた
実行される。これによって、個々の割込要求のサービス
を行う際に、正規の処理が最少限の時間の間、中断され
る。また、待ち行列内の作業項目には、正規の処理の間
に、実行の優先順位がつけられ、ディジタル処理システ
ムの性能を最適化する。開示された好ましい実施例は、
ホスト処理装置と複数個の入出力装置との間の通信を構
成するためのディジタル通信アダプタである。
[従来の技術] 複数個の割込源が生成した複数個の割込要求に応答する
典型的なディジタル処理システムにおいて、各割込要求
によって、システムは正規の処理を終了し、独自の一連
の処理ステップないし作業項目を遂行し、特定の割込要
求を満たす。独自の一連の作業項目は、本技術分野にお
いて割込制御装置と呼ばれるものによって処理される。
典型的な優先化割込システムにおいて、割込源のそれぞ
れには、高い優先順位から比較的低い優先順位までの範
囲にわたる所定の優先レベルが与えられる。高優先順位
の割込要求は正規の処理に割り込めるだけではなく、低
優先順位の割込要求の処理にも割込を行うことができ
る。逆に、低優先順位の割込要求は正規の処理に割込を
行うことができるが、同等またはより高い優先順位の割
込要求の処理に割り込むことはできない。
しばしば見られるように、所定の割込要求を完全に満た
すために、実行する必要のある一連の作業項目の個々の
作業項目は、刺激割込要求と同じ緊急度を有しているこ
とはない。たとえば、鍵盤装置を包含しており、鍵盤と
データ処理装置との間にシリアル・インタフェースを有
しているデータ処理システムにおいて、特定のキーを打
つと、一連の独立したビットからなる鍵盤フレームが、
鍵盤からデータ処理装置へ送られる。各鍵盤フレームの
受信は、割込サービス・ルーチンを開閉する割込要求を
包含しており、このサービス・ルーチンは以下のステッ
プを行う。(1)データ・ピンを読み取り、ビット値を
格納する。(2)フレーム・ビット・カウンタを増加さ
せる。(3)フレーム・ビット・カウンタを読み取っ
て、フレーム全体を受け取ったかどうか決定する。
(4)フレーム全体を受け取っていなければ、以降のビ
ットを待機する準備をする。ビットを受け取ることによ
って、ステップ1−3を繰返すことが必要となる。
(5)フレーム全体を受け取ったなら、フレームを処理
して、データ処理装置で使用できるようにする。データ
処理装置で使用できるようにするには、典型的な場合、
次のステップが包含されている。フレームが有効なフレ
ームであるかどうか決定する。フレーム内の情報が「再
信」、「システム・リセット」または「システム・トラ
ップのセット」などの基本的なコマンドを含んでいるか
どうか決定する。キーストロークの可聴「クリック」音
を発生する。最後に、データ処理装置のフレームを送信
する。さらに、慎重に設計されたシステムは、装置エラ
ーが鍵盤フレームの処理中に発生した場合に、これらを
報告し、システムのサービスを容易とすることができ
る。これらのステップを実行している間、同等またはよ
り低い優先順位の割込要求は割込禁止となされる。
鍵盤割込要求を完全に満たすのに必要なステップのう
ち、直ちに処理しなければならないのは、最初の数ステ
ップだけである。他のステップは割込制御装置の性能に
影響をおよぼさず、後でひとつずつ行うことができる。
すべてのステップを完了することを要求してから、正規
の処理に制御を戻すことによって、公知の割込制御装置
は、実際に必要なものより長い間、正規の処理に割込を
行う。割込サービス・ルーチンに同等またはより低い優
先順位の割込要求が割込を行うことができないのである
から、これは割込駆動システムの作動を非効率なものと
する。
既存の割込制御装置の他の問題は、既存のハードウェア
を用いて構築されたディジタル処理システムが、ハード
ウェアで定義された一定数の割込源を使用することに、
しばしば限定されることである。また、ハードウェアは
個々の割込源に割当てることのできる優先レベルの数を
固定することがしばしばある。
割込駆動データ処理システムの適用業務の中には、個々
の割込要求を満たすのに必要な個々の作業項目を実行す
ることが、特定のシステムの要件を最適化するように編
成されている場合、性能の改善を実現するものもある。
たとえば、局所記憶機構が限定されている通信アダプタ
においては、ランダムな非同期割込要求に応じて作業項
目を順次行うのではなく、データをアダプタの記憶機構
から伝送する作業項目を高優先順位にし、アダプタの記
憶機構にデータを受け入れる作業項目を低優先順位にす
るように、作業項目を編成するのが有利である。このよ
うにして、特殊なシステムの要件、すなわち局所記憶の
保存が満たされ、システムの性能が最適化される。
公知の割込制御装置のさらに他の問題は、最初の割込要
求を処理するのに必要な作業項目の中には、第二の割込
要求を処理するのに必要な作業項目と同じものがしばし
ばあるということである。これらの共通作業項目を、各
割込サービス・ルーチンに格納すると、記憶域が無駄に
なる。たとえば、幾つかの適用業務源から単一のホスト
へのデータを受入れるための通信アダプタにおいては、
各データ源が個々のデータ源からホストへデータを伝送
するための割込サービス・ルーチンを開始できるように
なる。各サービス・ルーチンはデータをホストへの伝送
のために緩衝する作業項目を含むことになる。この作業
項目を各割込サービス・ルーチンで反復するよりも、デ
ータを緩衝するために実行しなければならない単一の一
般的な作業項目を、源に関係なくホストに指定する方
が、はるかに有利である。これによって、記憶域をより
有効に使用される。
[問題点を解決するための手段] 本発明は、公知の割込制御装置及び方法に存在する上記
の問題点を、個々の割込要求に応答する第一段階を有す
る改善された割込制御装置および割込制御方法を提供す
ることによって解決するものである。第一段階は割込要
求に応じて式の処理を中断し、直ちに処理する必要のあ
る作業項目を実行し、システムの性能に影響をおよぼさ
ずに、後で実行してもかまわない作業項目を明確にし、
これらを待ち行列に入れる。次いで、正規の処理が再開
され、明確にされた作業項目が正規の処理中に実行され
る。
この改善された割込制御装置及び方法は所定の優先順位
の割込要求を最低限の時間の間割込禁止とし、同時に同
一またはより高い優先順位の割込要求のサービスを行
う。
さらに、作業項目待ち行列内の個々の作業項目を、中間
の処理ステップとして異なる時期に実行し、2つ以上の
割込要求を満たすこともできる。作業項目の中には幾つ
かの割込要求を満たすために適用できるものがあり、ま
た各作業項目が格納されるのが1回だけなのであるか
ら、記憶空間が最少となる。
また、作業項目待ち行列自体を優先化して、幾つかの作
業項目を他の作業項目よりも前に実行することを確保す
ることもできる。これにより、特定の割込駆動システム
を、特定の適用業務に対して最適化することができる。
好ましい実施例において、一定数の割込源とこれらの割
込源に割当てることのできる一定数の優先順位を有する
ハードウェア・システムを使用して、任意数の作業項目
と、各作業項目に割当てることのできる任意数の優先レ
ベルとを有する作業項目待ち行列を構築することができ
る。
上記に鑑み、本発明の主たる目的は、最小限の時間の間
処理を行う割込要求を遅延させ、同時に同一またはより
高い優先順位の割込要求の処理を行う割込制御装置及び
方法を提供することである。
本発明の他の目的は、正規の処理を中断していないとき
に、重要でない作業項目を実行して、特定の割込要求を
一度にひとつ満たすことのできる割込要求を提供するこ
とである。
本発明のさらに他の目的は、個々の割込要求を満たす個
々の作業項目を明確にして、これらを実行し、割込駆動
システムを特定の適用業務に対して最適化することので
きる割込制御装置及び方法を提供することである。
[実施例] 第1図には、本発明を実施する通信アダプタが開示され
ている。一般的に、通信アダプタはホスト処理装置30
と、マウス31、スピーカ32、鍵盤33およびキーロ
ック・スイッチ34などの周辺入出力装置との間のデー
タ通信を制御する。キーロック・スイッチ34はキーロ
ック・スイッチ・ライン47によって、マイクロコント
ローラ36に接続されている。アダプタはマイクロコン
トローラ36、周辺インタフェース回路37、コマンド
・レジスタ38および装置駆動機構/受信機構39で構
成されている。
マイクロコントローラ36は、たとえば、カリフォルニ
ア州サンタ・クララのインテル・コーポレーション(Int
el Corporation of Santa Clara、California)の製造し
た8051型りマイクロコントローラであり、また周辺
インタフェース回路37は、たとえば、これもインテル
・コーポレーションの製造した8255型の周辺インタ
フェース回路である。
マイクロコントローラ36は専用マイクロプロセッサに
基づくシステムであって、RAM40、ROM45、お
よび汎用非同期受信機(UART)42を包含してい
る。マイクロプロセッサ36はプログラムされ、スピー
カ32および鍵盤33のそれぞれとの通信に使用される
通信ポート43および44を提供する。ポート44はキ
ーロック・スイッチ・ライン47を介して、キーロック
・スイッチ34とも通信を行う。RAM40はホストの
コマンドをコマンド・レジスタ38から受信するための
コマンド・バッファ41を有している。以下で開示する
プログラムは、ROM45に常駐しており、マイクロプ
ロセッサ36はライン48および49のそれぞれを介し
て、 システム・トラップ機能およびシステム・リセット機能
を開始することができる。
8051マイクロプロセッサの作動およびアーキテクチ
ャは、インテル・コーポレーション刊行物番号2103
59−001「マイクロコトローラ使用の手引」(Intel
Corporation Publication Number 210359-001 entitle
d “Microcontroller User's Guide"に記載されており、
該刊行物を本明細書の一部とみなし、背景資料として参
照する。
作動時に、マイクロプロセッサ36は各データ源を高優
先レベルまたは低優先レベルのいずれか一方に割当てる
ことのできる合計5個のデータ源からの割込要求を許容
可能である。割込要求を受け取ると、マイクロコントロ
ーラ36内の正規の処理は、割込が処理されるまで中断
される。高優先順位の割込は正規の処理、または低優先
順位の割込の処理を中段できるが、他の高融点順位の割
込の処理を中断することはできない。これとは対照的
に、低優先順位の割込は正規の処理を中断できるが、他
の割込の処理を中断することはできない。
好ましい実施例において、割込要求にはまず、第2図に
示すプログラムによって条件付けがなされる。5個の割
込要求は割込ベクトル50により、公知の態様で検出さ
れる。割込EXTI0は高い優先順位が与えられ、鍵盤
から受入れられる。割込TIMER0は低い優先順位が
与えられ、マイクロコントローラ36(第1図)内部の
タイマ(図示せず)がオーバフロしたときに発生する。
割込TIMER1は低い優先順位が与えられ、マイクロ
コントローラ36(第1図)内部の他のタイマ(図示せ
ず)がオーバフロしたときに発生する。最後に、割込S
INTは低い優先順位が与えられ、マウス31からUA
RT42(第1図)を介して受入れられる。
第2図のプログラムのブロック50が割込要求を検出す
ると、プログラム・カウンタの内容がスタック・メモリ
へ押し出され、正規の処理が中断され、同時に適切な割
込サービス・ルーチンが実行される。好ましい実施例の
内容で定義される正規の処理が、第3図および第4図に
しめされて要るが、これの詳細については後述する。
第2図において、ブロック50が高優先順位のEXTI
0を検出すると、制御は判断ブロック51へ移され、こ
のブロックで鍵盤伝送モードが感知される。データが鍵
盤から受け取られるものであれば、制御はブロック52
へ移され、第5図に示すプログラムのステップを実行す
る。データが鍵盤へ伝送されるものであれば、制御はブ
ロック53へ移され、第6図に示すプログラムのステッ
プを実行する。
低優先順位の割込TIMER0、EXTI0、またはS
INTをブロック50が検出した場合、制御はブロック
54、56または62のそれぞれに移され、第7図、第
8図または第9図のそれぞれに示すプログラムのステッ
プが実行される。
低優先順位の割込TIMER1をブロック50が検出し
た場合、制御はブロック57に移され、このブロックに
おいてマイクロプロセッサ36(第1図)内部のスピー
カ周波数カウンタ(図示せず)が「1」だけ削減され
る。制御は次いで、判断ブロック58へ移され、スピー
カ周波数カウンタの値がゼロ以上か否か決定される。ゼ
ロを越えている場合には、制御はブロック59へ移さ
れ、このブロックにおいて第9図に示すプログラムのス
テップが実行される。ゼロに等しい場合には、制御はブ
ロック61へ移され、このブロックにおいて第10図の
プログラムのステップが実行される。
第5図−第11図に示すサービス・ルーチンの各々が完
了した場合には、正規のプログラムのカウントがスタッ
ク・メモリから入れられ、プログラム・カウンタへ戻さ
れるので、正規の処理を続けることができる。
第3図において、第1図に示した通信アダプタがリセッ
トされた場合、たとえば、電力を始めてシステムに印加
した場合、制御はリセット・ブロック63に常駐するよ
うになる。制御は次いで、ブロック64へ移され、この
ブロックにおいてシステム診断が行われ、その後数種類
の初期化手順が行なわれる。制御は次いで、ブロック6
6へ移され、このブロックにおいてメイン処理ループが
入力される。
一般に、第1図のアダプタにおける正規の処理は、第1
図に示すRAM40内の12ビットの作業待ち行列レジ
スタ46の状況をチェックすることで費やされる。作業
待ち行列レジスタをチェックする順序は、第3図および
第4図に示すプログラムのコマンドによって行われる。
作業待ち行列レジスタ46は6個の高優先順位作業項目
ビットと、6個の低優先順位作業項目ビットとに分割さ
れる。作業項目ビットをチェックする場合、各高優先順
位作業項目ビットをチェックしてから、最初の低優先順
位ビットをチェックする。次いで、各高優先順位ビット
を再度チェックしてから、2番目の低順位ビットをチェ
ックする。以下、これを反復する。
詳細に言えば、メイン・ループは判断ブロック67の制
御によって開始されるが、該ブロックにおいては作業待
ち行列レジスタ46(第1図)の高優先順位ビットによ
って表される高優先順位作業項目が、待ち行列に入って
いるかどうかが判断される。高優先順位作業項目が待ち
行列に入っていなければ、制御はブロック68に移さ
れ、このブロックにおいて最初の低優先順位作業項目
が、チェックされる。ブロック68の動作の詳細につい
ては、第4図を参照して以下で説明する。
判断ブロック67で、高優先順位の作業項目が待ち行列
に入っていることが発見された場合、制御は順次判断ブ
ロック69−73へ移される。判断ブロック69で、最
初の高優先順位作業待ち行列ビットWQH0がセットさ
れていることが検出された場合には、制御がブロック7
4へ移され、第12図に示すプログラムのステップが実
行される。制御は次いでループされて、判断ブロック6
7へ戻され、他の高優先順位作業項目が待ち行列に入っ
ているかどうか判断される。
判断ブロック69で、作業待ち行列ビットWQH0がセッ
トされていないことが検出された場合は判断ブロック7
0へ移され、このブロックで作業待ち行列WQH1がチ
ェックされる。ビットWQH1が存在している場合に
は、制御は判断ブロック75へ移され、このブロックで
第13図に示すプログラムのステップが実行される。第
13図に関連して詳細に説明するように、処理は結局
は、ブロック75において打ち切られ、制御がブロック
67に戻されることはない。
判断ブロック69の動作と同様にして、判断ブロック7
1−73は高優先順位作業待ち行列ビットWQH2、W
QH4およびWQH5のそれぞれをチェックする。それ
ぞれの作業待ち行列ビットがブロック71−73によっ
て検出されると、制制御はブロック76−78のそれぞ
れへ移され、第14−16図のそれぞれに示すブログラ
ムのステップが実行される。
ここで留意しなければならないことは、好ましい実施例
が高優先順位待ち行列ビットWQH3を使用しないとい
うことである。好ましい実施例の特定の要件を満たすの
に必要な高優先順位作業項目が、5個だけだからであ
る。このこと、および12ビットの作業待ち行列レジス
タを、6個の高優先順位ビットと6個の低優先順位のビ
ットが使用することを、いかなる態様においても、本発
明の範囲を限定するものと解釈してはならない。
本技術分野の技術者には、本発明を使用して、任意の数
の作業項目を待ち行列に入れることができることを理解
できよう。さらに、好ましい実施例において記載されて
いる作業項目の優先レベルが2つだけであることを、本
発明に制限を課すものと解釈してはならない。本技術分
野の技術者には、本発明の精神および範囲を逸脱するこ
となく、任意の数の作業項目の優先レベルを使用できる
ことが理解されよう。
第4図を参照して、低優先順位の作業待ち行列ビットの
チェックを説明する。制御は第3図のブロック67から
移されて、ブロック81から始まる。制御はブロック8
2へ移され、このブロックにおいて作業待ち行列の低ポ
インタの値が、決定される。作業待ち行列の低ポイント
は、値が0から5までの整数である。システムの初期化
(ブロック64、第3図)の際に、作業待ち行列の低ポ
インタが「0」にセットされるので、判断ブロック82
を始めてアドレスしたときに、制御が判断ブロック83
に移され、このブロックにおいて低優先順位の作業待ち
行列ビットWQL0の状況がチェックされる。ビットW
QL0を検出すると、制御はブロック84へ移され、こ
のブロックにおいて第17図の処理ステップが行われ
る。
ブロック84が完了すると、制御はブロック86へ移さ
れる。判断ブロック83がビットWQL0の存在を検出
できないと、制御は、最初にブロック84を作動させる
ことなく、直接ブロック86へ移される。ブロック86
は次いで、待ち行列の低ポインタの値を「1」増加させ
るので、ポインタは「1」という値を保持することにな
る。制御は次いで、ブロック86からブロック67(第
3図)へ移されて、処理を継続する。
次に、第4図のルーチンが第3図のブロック67によっ
て作動させられると、判断ブロック82は作業待ち行列
の低ポインタを復号して、値を「1」とし、制御をブロ
ック87へ移して、低優先順位の作業待ち行列ビットW
QL1の状況をチェックする。ビットWQL1を検出す
ると、制御はブロック87へ移され、第18図に示すプ
ログラムのステップを実行する。それ以外の場合には、
制御はブロック86へ直接移され、作業待ち行列の低ポ
インタを増かさせる。ブロック88が実行を完了した
後、制御もブロック86へ移される。ブロック86は次
いで、作業待ち行列の低ポインタの値を「2」へ増加さ
せる。
ブロック86が作動させられるたびに、作業待ち行列の
低ポインタは「1」だけ増加させられる。ポインタの値
が「5」になると、ブロック86はポインタの値を
「0」に戻す。これにより、第3図のブロック67が第
4図のWORKQ LOW TESTルーチンが作動さ
せるたびに、作業待ち行列の低ポインタの値に応じて、
低優先順位の作業待ち行列のビットが1個だけチェック
される。待ち行列のポインタを値が2、3、4または5
になるように復号すると、制御はブロック89、90、
91または92のそれぞれへ移され、これらのブロック
のそれぞれにおいて低優先順位の作業待ち行列のビット
WQL2、WQL3、WQL4またはWQL5がチェッ
クされる。それぞれの作業待ち行列のビットが検出され
ると、ブロック89−92は制御をブロック93−96
のそれぞれに移し、第19−22図のそれぞれに示すプ
ログラムのステップを実行する。それぞれの待ち行列の
ビットが検出されなかった場合、判断ブロック89−9
2は制御を直接ブロック86へ移し、作業待ち行列の低
ポインタを増加させる。
上記の結果として、第3図および第4図に示すメイン・
プログラミング・ループは所定の優先順序で、作業待ち
行列レジスタ46(第1図)をチェックし、検出された
作業待ち行列ビットに対応する作業項目を行う。第3図
および第4図のメイン・ループには、第2図に示すよう
な割込要求の処理中に、割込が行われる。
待ち行列レジスタ46の個々の作業待ち行列ビットが、
第5−11図に示す割込サービス・ルーチン、および第
12−22図に示す作業項目ルーチン、ならびに第23
図および第24図に示す条件ルーチンによって、セット
およびセットされる。
第5図に、割込サービス・ルーチンKEYBOARD
INTERRUPTを示す。このルーチンは、第1図の
マイクロコントローラ36が鍵盤フレームのビットが鍵
盤33からマイクロコントローラ36へ送られているこ
とを示す高優先順位の割込要求EXTI0を受け取った
ときに、作動させられる。制御はブロック100から始
まるが、このブロックにおいて鍵盤データ・ピンが読み
取られ、その値が鍵盤フレーム・バッファに格納され
る。鍵盤フレーム・ビット・カウンタが次いで、増加さ
せられ、制御が判断ブロック101へ移され、鍵盤フレ
ーム・ビット・カウンタのカウンタを決定する。フレー
ム・ビット・カウンタが「1」で、、フレームの最初の
ビットを受け取ったことを示している場合には、制御が
ブロック105へ移される。ブロック105は低優先順
位の作業待ち行列ビットWQL5をセットし、次いで制
御を正規の処理に戻す。フレーム・ビット・カウンタが
2ないし5の場合には、ブロック101によってサービ
ス・ルーチンが直ちに退出させられ、正規の処理が復帰
する。
フレーム、ビット・カウンタが11で、フレーム全体を
受け取ったことを示していることを、ブロック101が
検出すると、制御はブロック102へ移され、次いでブ
ロク103へ移されるが、このブロックにおい作業待ち
行列ビットWQH0がセットされ、ビットWQL5がセ
ットされる。制御は次いで、ブロック104へ移され、
このブロックにおいて第23図の装置エラー(DE)ル
ーチンが実行される。サービス・ルーチンが退出させら
れ、正規の処理が復帰する。
ここで留意しなければならないのは、鍵盤からビットの
フレームを受け取って、処理している間中、正規の処理
に対して割込を行うのではなく、本発明が正規の処理に
割込を行うのが、フレーム内の個々のビットを読み取
り、格納するのに必要な間だけだということである。鍵
盤フレームを受け取るために完了しておかなければなら
ない他のすべての作業項目は、正規の処理が復帰して、
通信アダプタが他の割込要求に応えることができるよう
になるまで、延期される。
第6図に、割込サービス・ルーチンKEYBOARD
TRANSMIT INTERRUPTを示す。第1図
のマイクロコントローラ36が、鍵盤33にマイクロコ
ントローラからのデータのビットを受け取る準備ができ
ていることを示している、高優先順位の割込要求EXT
I0を受け取ったときに、このルーチンは作動させられ
る。この場合、制御はブロック106で始まり、このブ
ロックにおいてデータ・ビットが鍵盤データ・ピンに書
き込まれ、鍵盤フレーム・ビット・カウンタが増加す
る。制御は次いで、判断ブロック107へ移され、この
ブロックにおいてフレーム・ビット・カウンタの値が決
定される。値が1ないし11である場合、サービス・ル
ーチンが退出させられ、正規の処理が復帰する。フレー
ム・ビット・カウンタの値が11よりも大きく、フレー
ム全体が鍵盤へ伝送されたことを示している場合には、
制御はブロック108へ移され、このブロックにおいて
鍵盤の伝送が処理中(第19図でセット)であることを
示す、状況ビットWAIT KEYBORD TRAN
SMIT COMPLETEがリセットされる。次い
で、サービス・ルーチンが退出させられ、正規の処理が
再開される。
第7図に、サービス・ルーチンTIMEOUTTIME
R INTERRUPTを示す。スピーカの音の時間の
増分が終了し、他の時間の増分が残っていないのであれ
ば、スピーカをオフにしなければならないことを示す低
優先順位の割込TIMER0を、第1図のマイクロコン
トローラ36が受け取ったときに、このルーチンは作動
させられる。制御はブロック109で始まり、このブロ
ックにおいてスピーカの持続時間カウンタが感知され
る。カウンタの値が「0」よりも大きい場合には、制御
はブロック111へ移され、このブロックにおいて持続
時間カウンタが「1」だけ減らされ、制御が正規の処理
へ戻される。持続時間カウンタが「0」になったこと
を、ブロック109が検出した場合、制御はブロック1
12へ移され、このブロックにおいてスピーカが停止さ
れ、マイクロコントローラの割込TIMER0とTIM
ER1の割込が禁止される。制御は次いで、ブロック1
13へ移され、このブロックにおいて第24図の条件情
報コード(IC)手順が実行される。正規の処理が次い
で、復帰させられる。このルーチンによって、持続時間
カウンタに当初格納されていた数と等しい、数の時間の
増分が経過してから、スピーカの要求を停止することが
可能となり、これによって内部タイマTIMER0のタ
イミング機能を拡張できる。
第8図に、サービス・ルーチンHOST INTERR
UPTを、ブロック114で始まる制御と共に詳細に示
す。ホスト30がマイクロコントローラ36へデータを
送ろうとしていることを示す、低優先順位の割込要求E
XTI1を、第1図のマイクロコントローラ36が受け
取ったときに、このルーチンは作動させられる。ブロッ
ク114はコマンド・レジスタ38の読み取りを行い、
かつ周辺インタフェース回路37からホストの生成した
データを読み取る(両者とも第1図に示されている)。
制御は次いで、ブロック116へ移され、このブロック
において低優先順位の作業待ち行列イットWQL0がセ
ットされる。マイクロコントローラの割込EXTI0が
次いで、ブロック117によって割込禁止され、その後
制御は正規の処理へ戻される。
第9図および第10図はそれぞれ、SPEAKER F
REQUENCY INTERRUPT 1およびSP
EAKER FREQUENCY INTERRUPT
0という割込サービス・ルーチンを示している。スピ
ーカへ送られた信号を補足しなければならないことを示
す、低優先順位の割込要求TIMER1を第1図のマイ
クロコントローラ36が受け取ったときに、各ルーチン
は作動させられる。
INTERRUPT 1ルーチンにおいて、スピーカ周
波数タイマがブロック118によって再ローディングさ
れてから、制御が戻され、一方、INTERRUPT
0ルーチンにおいて、スピーカ周波数ピンがブロック1
19によって補足され、次いでスピーカ周波数タイマが
ブロック121によって再ローディングされてから、正
規の処理へ制御が戻る。これらのルーチンはスピーカ3
2(第1図)を、スピーカ・ピンの補足前の半方形波期
間のタイミングと、あと半分の方形波期間のタイミング
を取った方形波によって駆動する。
周波数カウンタが「0」に等しくなったときに、第1図
のカウンタ58が補足ルーチン INTERRUPT
0を作動させるだけであるため、周波数カウンタに当初
格納されていたカウントと等しい、時間の増分の数はス
ピーカ周波数ピンの補足前に終了し、これによって内部
タイマTIMER1のタイミング機能を拡張することが
可能となる。
最後の割込サービス・ルーチンは第11図に示したUA
RT INTERRUPTルーチンである。データのフ
レームをマウス31との間で、UART42によって送
受信したことを示す、低優先順位の割込SINTを、第
1図のマイコロコントローラ36が受け取ったときに、
このルーチンは作動させられる。制御は判断ブロック1
22で始まり、このブロックにおいて、UARTの受信
割込を受け取ったかどうかが決定される。受け取ってい
る場合には、制御はブロック123へ移され、このブロ
ックにおいてデータがUARTから読み取られ、またマ
イクロコントローラの割込SINTが割込禁止とされ
る。次いで、制御はブロック124へ渡され、このブロ
ックにおいて高優先順位の作業待ち行列ビットWQH4
がセットされる。制御は次いで、ブロック126へ移さ
れ、このブロックにおいて低優先順位の作業待ち行列ビ
ットWQL3がリセットされてから、制御は正規の処理
へ戻される。
UARTの受信割込を受け取っていないと、ブロック1
22が判断した場合、制御は判断ブロック127へ移さ
れ、UARTの送信割込を受け取ったかどうかが判定さ
れる。受け取っていない場合、制御はブロック128へ
移され、第23図のDEルーチンを行ってから、正規の
処理を復帰させる。受け取っている場合、制御はブロッ
ク129へ渡され、このブロックにおいて送信制御が更
新され、受け取った割込を反映するようになってから、
制御はブロック130へ移されて、ICルーチンを実行
する。制御は次いで、ブロック126へ移され、ビット
WQL3をリセットしてから、制御は正規の処理へ戻さ
れる。
第12図−第22図は、好ましい実施例の11個の作業
項目ルーチンを示すものである。これらの作業項目は作
業待ち行列レジスタ46(第1図)によって決定される
通りに、正規の処理を行っている間に実行されるもので
あり、作業待ち行列レジスタは第3図および第4図の前
述したプログラムによる間合せを受け取るものである。
これらの作業項目を実行し、5個の割込要求を完全に満
たす必要がある。しかしながら、これらの作業項目を個
々の割込サービス・ルーチン(第5図−第11図)の実
行後、一度に実行できることが判明した。ここで、留意
しなければならないのは、各作業項目に対応する作業待
ち行列レジスタ46の作業待ち行列ビットを、割込サー
ビス・ルーチン(第5図−第11図)によって、あるい
は個々の作業項目を実行すること(第12図−第22
図)によって、あるいは条件ルーチン(第23図、第2
4図)によってセットおよびリセットできることであ
る。
各作業項目を実行する優先順位を選択して、システムの
性能を最適化する。たとえば、好ましい実施例の通信ア
ダプタの環境において、それぞれ第12図および第15
図のルーチンを表している第4図のブロック74および
77には、できるだけ早くUART42およびポート4
4(第1図)に含まれているフレーム・バッファをクリ
アするために、高い優先順位が与えられる。この方法
は、フレーム・バッファに現在格納されているデータ
と、入力データとの間の衝突を回避するものである。一
方、それぞれ第17図および第21図のルーチンを表し
ている第4図のブロック84および95には、低い優先
順位が与えられる。第17図のPROCESS HOS
T COMMANDルーチンは、知能源であって、マイ
クロコントローラ36にコマンドを受け取る準備ができ
ていないことを認識し、かつコマンドの送信を延期でき
るものである。同様にして、第1図のキーロック・スイ
ッチ34は機械的スイッチであって、マイクロコントロ
ーラ36′で可能なサンプリング速度よりもはるかに緩
やかに作動できるものである。したがって、第21図の
ルーチンのサンプリング・キーロック・ライン47を、
システムの性能に影響をおよぼすことなく遅延させるこ
とができる。
第12図に、作業項目PROCESS KEYBOAR
D FRAMEを示すが、これは高優先順位の作業待ち
行列ビットWQH0がセットされたと、第3図のブロッ
ク69が判断したときに、作動させられる。制御はブロ
ック131で始まるが、このブロックにおいて作業待ち
行列ビットWQH0がリセットされる。次いで、ブロッ
ク132がフレーム・ビット・カウンタをリセットして
から、、制御が判断ブロック133へ渡される。ブロッ
ク133は鍵盤フレームを処理するのに適切な時期かど
うかを判断する。時期でなければ、制御はブロック13
4へ移され、このブロックにおいて制御が更新され、鍵
盤受信モードになる。鍵盤フレームを処理するのに適切
な時期であれば、制御はブロック133からブロック1
36へ移り、このブロックにおいて有効な鍵盤フレーム
を鍵盤から受信済みであるかどうか判断される。
受け取っていなければ、制御はブロック137へ移され
る。次いで、ブロック137、135および139が実
行され、「再信」コマンドを鍵盤へ送る。処理中に、ブ
ロック139は低優先順位の作業待ち行列ビットWQL
2をセットする。
有効なフレームを受信済みの場合、制御はブロック13
6からブロック138へ移り、鍵盤フレームが鍵盤から
「再信」要求を含んでいるかどうか判断する。含まれて
いる場合には、制御は一連のブロック141、142お
よび143へ移され、これらのブロックにおいて鍵盤へ
送られた以前のフレームを再送信する準備が行われる。
処理中に、ブロック143は低優先順位の作業待ち行列
ビットWQL2をリセットする。
フレームが「再信」要求を含んでいないとブロック13
8が判断した場合、制御はブロック144へ移り、この
ブロックにおいて鍵盤の肯定応答が要求されているかど
うか判断される。肯定応答が要求されている場合には、
制御は一連のブロック146、147、148および1
49に渡され、これらのブロックにおいて、鍵盤の応答
がホストへの伝送のために待ち行列に入れられる。この
応答の待合せの間に、ブロック47は低優先順位の作業
待ち行列ビットWQL1をセットする。ブロック149
は次いで、制御をブロック134へ渡してから、制御を
正規の処理のメイン・ループへ戻す。
肯定応答が必要ない場合には、ブロック144は制御を
ブロック151へ渡して、肯定応答が必要ないとして
も、肯定応答を受け取っているかどうかを判定する。受
け取っているのであれば、制御はブロック152へ移さ
れ、第23図のDEルーチンを実行する。鍵盤が肯定応
答を送信していない場合には、制御はブロック151か
ら判断ブロック153および154へわたされ、特殊な
キーストロークの順序「A」または「B」を受け取って
いるかどうかを判定する。
ブロック153がキーストローク順序「A」を受け取っ
ていると判断した場合は、制御はブロック155へ渡さ
れ、このブロックにおいて高優先順位の作業待ち行列ビ
ットWQH2がセットされる。ブロック154がキース
トローク順序「B」を受け取っていると判断した場合
は、制御はブロック156へ渡され、このブロックにお
いて高優先順位の作業待ち行列ビットWQH1がセット
される。
制御は次いで、ブロック157へ渡され、このブロック
において鍵盤フレームはホストへの伝送のために、待ち
行列に入れられ、キーの可聴のクリック音が発生され
る。制御は次いで、ブロック158へ渡され、第24図
のICルーチンが実行され、その後ブロック159へ渡
され、このブロックにおいて低優先順位の作業待ち行列
ビットWQL1がセットされる。制御は次いで、ブロッ
ク134へ渡され、その後第3図のブロック67へ戻さ
れる。
特別なキーストローク順序「B」は好ましい実施例にお
いては、システムのリセットに対するユーザ要求として
使用され、特別な順序「A」はシステム・トラップをセ
ットするためのユーザ要求として使用される。
第13図および第14図は、それぞれ作業待ち行列ビッ
トWQH1およびWQH2によって作動させられるIN
ITIATE SYSTEMRESETおよびINIT
IATE SYSTEM TRAPに対する作業項目を
示すものである。第13図において、ブロック161は
マイクロコントローラ36(第1図)のシステム・リセ
ット・ライン49を作動させる。ブロック162は次い
で、作業待ち行列ビットWQH1をリセットする。第1
4図において、ブロック163は作業待ち行列ビットW
QH2をリセットし、ブロック164はマイクロコント
ローラ36(第1図)のシステム・トラップ・ライン4
8を作動させる。制御は次いで、第3図のブロック67
へ戻される。
第15図は作業項目PROCESS SERIAL PORT RIを示すものであり、この
作業項目は高優先順位のビットWQH4がセットされた
と、第3図のブロック72が判断した場合に、作動させ
られる。
ブロック166はビットWQH4をリセットし、制御を
判断ブロック167へ渡して、UARTフレームを処理
するに適切な時期かどうかを判断する。適切な時期でな
い場合には、制御はブロック175へ渡され、このブロ
ックにおいてマイクロコントローラ36(第1図)のS
INT割込が割込可能となされてから、制御が第3図の
ブロック67へ戻される。
ブロック167がUARTフレームを処理するに適切な
時期であると判断した場合、制御はブロック168へ移
され、このブロックにおいて有効なフレームUARTか
ら受け取っているかどうかが、判断される。受け取って
いる場合には、制御はブロック168へ移され、このブ
ロックにおいてUARTから受け取った情報が、ホスト
への伝送のために待ち行列に入れられる。受け取ってい
ない場合には、制御はブロック175へ渡され、上記と
まったく同一の操作が行われる。
ブロック169がホストへの伝送のために、UART情
報を待ち行列へ入れてから、制御はブロック170へ移
され、このブロックにおいて低優先順位の作業待ち行列
ビットWQL1がセットされる。制御は次いで、ブロッ
ク175へ渡され、その後制御は第3図のブロック67
へ戻される。
第16図に、作業項目CHEK HOST TRANS
MITを示す。この作業項目は、作業待ち行列レジスタ
46(第1図)のビットWQH5がセットされたこと
を、第3図のブロック73が認識した場合に、作動させ
られる。
制御はブロック171で始まり、このブロックにおいて
ホストへの以前の送信が受け入れられたかどうかが、判
断される。受入れられていない場合、制御は直ちに、第
3図のブロック67へ戻される。ホストへの以前の伝送
が受入れられている場合には、制御はブロック171か
らブロック172へ移され、このブロックにおいて作業
待ち行列ビットWQH5がリセットされる。
制御は次いで、ブロック173へ渡され、新なホストへ
の伝送の準備ができているかどうか判断される。基準が
できている場合には、制御はブロック174へ移され、
このブロックにおいてデータ源の識別およびデータが周
辺インタフェース回路37(第1図)のピンに書き込ま
れる。制御は次いで、判断ブロック177へ移される
が、このブロックは新なホストへの伝送の準備ができて
いないと、判断ブロック173が判断した場合に、制御
が直接されるブロックである。
UARTブロックに伝送の準備ができていると、判断ブ
ロック177が判断した場合、制御はブロック178へ
移され、このブロックにおいてUARTブロック・バイ
トが待ち行列から出され、ホストへの伝送の準備がなさ
れる。UARTブロックに伝送の準備ができていない
と、判断ブロック177が判断した場合、制御はブロッ
ク179へ移され、このブロックにおいてRAMブロッ
クにホストへの伝送の準備ができているかどうかが、判
断される。RAMブロックはホスト30によって要求さ
れ、ホストへ送ることのできる情報を含んでいる、第1
図のRAM40に格納されている複数個のバイトであ
る。たとえば、RAM40のバイトのブロックを使っ
て、装置エラーの記憶を格納することができるが、この
記録をホストが使用して、診断を行うことができる。R
AMブロックに伝送の準備ができていない場合には、制
御は直ちに、第3図のブロック67へ戻される。準備が
できている場合には、制御はブロック179からブロッ
ク181へ渡され、このブロックにおいてRAMブロッ
クが待ち行列から出され、ホストへの伝送の準備がなさ
れる。作業項目CHEK HOST TRANSMIT
が完了すると、制御は第3図のブロック67へ渡され
る。
第17図は作業項目PROCESS HOST COM
MANDを示すものであり、この作業項目は第4図のブ
ロック83が低優先順位の作業待ち行列ビットWQL1
0の存在を認識した場合に、開始される。制御はブロッ
ク182で始まり、このブロックにおいてビットWQL
0がリセットされてから、制御が判断ブロック183へ
移され、このブロックにおいてホストのコマンドが復号
される。ブロック183は次いで、ブロック184のひ
とつを作動させ、適切な機能を行って、復号されたホス
トのコマンドを満たす。制御は次いで、ブロック186
へ渡され、このブロックにおいて適切なホストのコマン
ドの応答に、ホストへの返信の準備がなされる。ブロッ
ク187は次いで、高優先順位の作業待ち行列のビット
WQH5をセットし、制御をブロック188へ渡すが、
このブロックにおいてマイクロコントローラ36(第1
図)の割込EXT11が割込可能とされる。制御は次い
で、第4図のブロック86へ戻される。
第18図は作業項目PROCESS HOST TRA
NSMIT INFORMATIONを示すものであっ
て、この作業項目は第4図の判断ブロック87が、低優
先順位の作業待ち行列ビットWQL1の存在を認識した
場合に、作動させられる。
制御は判断ブロック189で始まり、このブロックにお
いてホスト・データ伝送バッファの可用性がチェックさ
れる。バッファが利用できない場合、制御は直ちに、第
4図のブロック86へ戻される。バッファが利用できる
場合、マイクロコントローラ36(第1図)の5個の異
なるデータ源の1つからのデータを、受入れることがで
きる。このデータには次のものが含まれている。装置エ
ラー・コード、UARTブロック、鍵盤バイト、情報コ
ード、またはRAMブロック。これらのデータ源はこの
優先順序で、判断ブロック191−195によってチェ
ックされる。判断ブロック191−195の1つがそれ
ぞれのデータ源からの待ち合わせデータの存在を検出す
ると、制御は図示のように、ブロック196−200の
1つへ移される。ホストへの伝送のためのデータが待ち
行列に入っていることを、判断ブロック191−195
のいずれもが検出しなかった場合、処理は終了される。
ブロック196−200の内作動しているものが、ホス
ト伝送バッファへのデータの待ち行列からの取り出しを
完了すると、制御はブロック201へ渡され、このブロ
ックにおいて高優先順位の作業待ち行列ビットWQH5
がセットされる。制御は次いで、ブロック202へ渡さ
れ、このブロックにおいて作業待ち行列ビットWQL1
がセットそされたままになっているかどうかが、判断さ
れる。ホストへ伝送されるべき他のデータが残っている
場合には、ビットWQL1がセットされたままとなる。
それ以外の場合には、ビットWQL1がリセットされ
る。制御は次いで、第4図のブロック86へ渡される。
第19図は作業項目PROCESS KEYVOARD
TRANSMITを示すものであり、この作業項目は
作業待ち行列ビットWQL2がセットされたと、第4図
のブロック86が判断した場合に、作動させられる。制
御はブロック203で始まり、このブロックにおいて鍵
盤へデータを伝送するに適切な時期であるかどうかが、
判断される。適切な時期でない場合、作業項目の実行は
停止され、制御は第4図のブロック86へ渡される。ブ
ロック203が肯定した場合、制御はブロック204へ
渡され、このブロックにおいて「送信要求」プロトコル
がマイクロコントローラ36と鍵盤33(両者とも第1
図に示す)との間で開始される。第23図DEルーチン
が次いで実行され、ブロック204が発見したエラーを
報告する。次いで、作業待ち行列ビットWQL2がブロ
ック205によって、リセットされる。
ブロック206は次いで状況WAIT KEYBOAR
D TRANSMIT CIMPLETEをセットし、
制御をブロック207へ渡すが、このブロックにおいて
「送信要求」プロトコルが完了する。DEルーチンが再
度実行され、次いでブロック208は第6図の割込サー
ビス・ルーチンによってリセットされるべき、鍵盤への
伝送が完了したことを示す状況ビットWAIT KEY
VOARD TRANSMIT COMPLETEを待
つ。
次いで、DEルーチンが再度実行され、その後ブロック
209による鍵盤インタフェース状況が更新され、その
後DEルーチンがまた実行される。作業項目PROCE
SS KEYBOARD TRANSMITが完了する
と、制御が第4図のブロック86へ渡される。
第20図は作業項目CHEK UART TIMEOU
Tを示したものであり、この作業項目は低優先順位の作
業待ち行列ビットWQL3がセットされたことを、第4
図の判断ブロック90が検出したときに、作動させられ
る。制御はブロック211で始まり、このブロックにお
いてUART待ちカウンタが1だけ減らされる。判断ブ
ロック212が次いで、UART待ちカウンタを読み取
り、カウントが1以上であれば、制御を第4図のブロッ
ク86へ戻す。カウントがゼロに等しく、UART42
(第1図)に問題がある可能性を示している場合には、
ブロック212は制御をブロック213へ渡し、このブ
ロックにおいて作業待ち行列ビットWQL3がリセット
される。次いで、DEルーチンが実行されね潜在的なU
ARTの問題をホストへ報告する。これは作業項目 C
HEK UART TIMEOUTが完了したことを知
らせるものであり、制御は第4図のブロック86へ戻
る。
第21図は作業項目CHEK KEYLOCK SWI
TCHを示すものであり、この作業項目は低優先順位の
作業待ち行列ビットWQL4の存在を第4図の判断ブロ
ック91が検出したときに、作動させられる。制御はブ
ロック214で始まり、このブロックにおいてキーロッ
ク・スイット・ライン47(第1図)のサンプリングが
行われる。制御は次いで、ブロック216へ渡され、こ
のブロックにおいてキーロック・スイッチの状況が計算
される。IC(第24図)ルーチンが次いで実行され、
ホストへ報告するためのキーロック状況が準備される。
制御は次いで、第4図のブロック86へ渡される。
第22図は作業項目CHEK KEYVOARD RE
CEIVE COMPLETEを示すものであり、この
作業項目は低優先順位の作業待ち行列ビットWQL5が
セットされたことを、判断ブロック92が認識すること
によって作動させられる。制御はブロック217で始ま
り、このブロックにおいて鍵盤待ちカウンタが減らされ
る。次いで、判断ブロック218が鍵盤待ちカウンタの
値を判断し、カウントが1以上であれば、制御を第4図
のブロック86へ戻す。カウントがゼロであって、鍵盤
33(第1図)に装置エラーが存在する可能性を示して
いる場合には、制御はブロック219へ移され、このブ
ロックにおいて作業待ち行列ビットWQL5がリセット
される。DEルーチンが次いで実行され、鍵盤装置エラ
ーをホストへ報告する準備をする。次いで、鍵盤インタ
フェースがブロック220において、鍵盤のモードを
「受信」に変更することも含めてクリアされ、制御は第
4図のブロック86へ戻される。
第23図および第24図はそれぞれ、条件付け装置エラ
ー(DE)ルーチンおよび情報コード(IC)待合せル
ーチンを示すものである。これらのルーチンは、上記の
割込サービス・ルーチン(第5図−第11図)および作
業項(第12図−第22図)の全般にわたって呼び出さ
れ、装置エラーや情報コードをホストへ報告する。
制御は判断ブロック221における第23図のDEルー
チンで始まり、このブロックにおいて装置エラーを報告
すべきかどうか判断される。報告すべきでない場合に
は、制御はDEルーチンを呼び出したより高次のプログ
ラムへ戻される。装置エラーを報告すべき場合には、制
御はブロック222へ渡され、このブロックにおいてエ
ラー・コードはホストへの伝送のために待ち行列に入れ
られる。ブロック223は次いで、低優先順位の待ち行
列ビットWQL1をセットし、制御を高次のプログラム
へ戻す。
第24図のICルーチンは判断ブロック224において
制御を開始し、情報コードを報告する必要があるかどう
か判断する。報告する必要がない場合には、制御は直ち
に、ICルーチンを呼び出した高次のプログラムへ戻さ
れる。情報コードを報告すべき場合には、制御はブロッ
ク224からブロック226へ渡され、このブロックに
おいて情報コードはホストへの伝送のために待ち行列へ
入れられる。制御は次いで、ブロック227へ渡され、
このブロックにおいて低優先順位の作業待ち行列ビット
WQL1がセットされる。ICルーチンが次いで完了
し、制御はICルーチンを呼び出した高次のプログラム
へ戻る。
本明細書記載の好ましい実施例が説明のためのものであ
り、それ故本発明を制限するものと解釈してはならない
ことが理解されよう。本技術分野の技術者には、本明細
書記載の好ましい実施例の形態および細部に関する変更
が、本発明の精神および範囲を逸脱することなく行いう
ることが理解されよう。
【図面の簡単な説明】
第1図は、本発明を用いた通信アダプタである。 第2図は、第1図の回路における割込要求に応答する制
御の流れを示すフローチャートである。 第3図は、第1図の回路における正規の処理の際のメイ
ン制御ループにおける制御の流れを示すフローチャート
である。 第4図は、第3図で検出された低優先順位の作業項目の
処理の際の制御の流れを示すフローチャートである。 第5図は、第2図で検出された KEYVOARD RECEIVE INTERRUP
T要求に対するサービス・ルーチンの制御の流れを示す
フローチャートである。 第6図は、第2図で検出された KEYVOARD TRANSMIT INTERRU
PT要求に対するサービス・ルーチンの制御の流れを示
すフローチャートである。 第7図は、第2図で検出されたTIMEOUTTIME
R INTERRUPT要求に対するサービス・ルーチ
ンの制御の流れを示すフローチャートである。 第8図は、第2図で検出されたHOST INTERR
UPT要求に対するサービス・ルーチンの制御の流れを
示すフローチャートである。 第9図は、第2図で検出されたSPEAKER ERE
QUENCY INTERRUPT 1要求に対するサ
ービス・ルーチンの制御の流れを示すフローチャートで
ある。 第10図は、第2図で検出されたSPEAKER FR
EQUENCY INTERRUPT 0の要求に対す
るサービス・ルーチンの制御の流れを示すフローチャー
トである。 第11図は、第2図で検出されたUART INTER
RUPT要求に対するサービス・ルーチンの制御の流れ
を示すフローチャートである。 第12図は、第3図で検出された作業項目PROCES
S KEYBOARD FRAMEを実行するための制
御の流れを示すフローチャートである。 第13図は、第3図で検出された作業項目INITIA
TE SYSTENM RESETを実行するための制
御の流れを示すフローチャートである。 第14図は、第3図で検出された作業項目INITIA
TE SYSTEM TRAPを実行するための制御の
流れを示すフローチャートである。 第15図は、第3図で検出された作業項目PROCES
S SERIAL PORT RIを実行するための制
御の流れを示すフローチャートである。 第16図は、第3図で検出された作業項目CHECK
HOST TRANSMITを実行するための制御の流
れのフローチャートである。 第17図は、第4図で検出された作業項目PROCES
S HOST COMMANDを実行するための制御の
流れのフローチャートである。 第18図は、第4図で検出された作業項目PROCES
S HOST TRANSMIT INFOを実行する
ための制御の流れのフローチャートである。 第19図は、第4図で検出された作業項目PROCES
S KEYBOARD TRANSMITを実行するた
めの制御の流れのフローチャートである。 第20図は、第4図で検出された作業項目CHECK
UART TIMEOUTを実行するための制御の流れ
のフローチャートである。 第21図は、第4図で検出された作業項目CHECK
KEYLOCK SWITCHを実行するための制御の
流れのフローチャートである。 第22図は、第4図で検出された作業項目CHECK
KEYBOARD RECEIVE COMPLETE
を実行するための制御の流れのフローチャートである。 第23図は、本発明による条件付け装置エラー待合せ手
順の制御の流れのフローチャートである。 第24図は、本発明による条件付け情報コード待合せ手
順の制御の流れのフローチャートである。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】ホスト処理装置と複数の入出力装置の間の
    ディジタル通信を構成するための割込制御装置であっ
    て、 前記入出力装置からの複数個の割込要求の1つに応答し
    て、正規の処理に割込を行うための割込手段と、 前記割込手段に応答して、該割込要求を満たすために実
    行される所定の作業項目を直ちに処理する必要のあるも
    のとそうでないものとに識別し、直ちに処理する必要の
    ある作業項目のみを実行した後に正規の処理を復帰さ
    せ、直ちに処理する必要のない作業項目は待ち行列に入
    れる手段と、 を有することによって、前記の割込要求の実行を行う際
    に、正規の処理の中断を最小限にすることを特徴とする
    割込制御装置。
JP60283217A 1985-02-28 1985-12-18 割込制御装置 Expired - Lifetime JPH0619718B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70680585A 1985-02-28 1985-02-28
US706805 1985-02-28

Publications (2)

Publication Number Publication Date
JPS61201339A JPS61201339A (ja) 1986-09-06
JPH0619718B2 true JPH0619718B2 (ja) 1994-03-16

Family

ID=24839115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60283217A Expired - Lifetime JPH0619718B2 (ja) 1985-02-28 1985-12-18 割込制御装置

Country Status (4)

Country Link
EP (1) EP0192956B1 (ja)
JP (1) JPH0619718B2 (ja)
CA (1) CA1241761A (ja)
DE (1) DE3670705D1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63108457A (ja) * 1986-10-24 1988-05-13 Brother Ind Ltd デ−タ処理装置
US5247671A (en) * 1990-02-14 1993-09-21 International Business Machines Corporation Scalable schedules for serial communications controller in data processing systems
GB2348303B (en) * 1999-03-23 2003-11-26 Ibm Data processing systems and method for processing work items in such systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4001783A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Priority interrupt mechanism
JPS5347737A (en) * 1976-10-13 1978-04-28 Nec Corp Detection circuit for process request
JPS54115038A (en) * 1978-02-28 1979-09-07 Nec Corp Data processing system
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
JPS56118128A (en) * 1980-02-22 1981-09-17 Matsushita Electric Ind Co Ltd Interruption controlling system for peripheral control chip of microcomputer
US4519028A (en) * 1981-02-17 1985-05-21 Digital Equipment Corporation CPU with multi-stage mode register for defining CPU operating environment including charging its communications protocol
JPS5945555A (ja) * 1982-09-07 1984-03-14 Seiko Epson Corp 割込処理システムの構成
JPS59161738A (ja) * 1984-02-27 1984-09-12 Hitachi Ltd 外部割り込み処理制御方法

Also Published As

Publication number Publication date
CA1241761A (en) 1988-09-06
EP0192956B1 (en) 1990-04-25
JPS61201339A (ja) 1986-09-06
DE3670705D1 (de) 1990-05-31
EP0192956A1 (en) 1986-09-03

Similar Documents

Publication Publication Date Title
US4980820A (en) Interrupt driven prioritized queue
US5604866A (en) Flow control system having a counter in transmitter for decrementing and incrementing based upon transmitting and received message size respectively for indicating free space in receiver
CA2044005C (en) Intelligent network interface circuit
US5948060A (en) Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems
US7013419B2 (en) Reliable message transmission with packet-level resend
US5513368A (en) Computer I/O adapters for programmably varying states of peripheral devices without interfering with central processor operations
EP0013739B1 (en) Communication controller in a data processing system
EP0304540A2 (en) A method of initializing a data processing system
EP0969629A2 (en) System and method for sharing resources among a plurality of host computers
JPH0727503B2 (ja) データ転送制御方法及びインタフェース・システム
EP1199641B1 (en) Data processing device used in serial communication system
JPH0824320B2 (ja) 通信制御装置における緩衝域連鎖の方法およびその装置
US20060026596A1 (en) Context scheduling
WO1999027434A1 (en) Using firmware to enhance the functionality of a controller
US5761453A (en) Method and system for increasing the throughput of serial data in a computer system
JPH07210519A (ja) データ転送制御方法および送受信制御装置
US6477600B1 (en) Apparatus and method for processing isochronous interrupts
EP0230512A2 (en) Method for resolving conflicts between interrupt sources sharing the same priority
JPH0619718B2 (ja) 割込制御装置
EP0094177A2 (en) Apparatus for direct memory-to-memory intercomputer communication
US4937815A (en) Interrupt prioritization system and method for a demand shared bus
US5689725A (en) System for generating status signals of second bus on first bus by comparing actual phase of the second bus with expected phase of second bus
JPH09269936A (ja) リモートリード処理方法およびその装置
JPH11327793A (ja) 記憶制御装置
US7002966B2 (en) Priority mechanism for link frame transmission and reception