JPS61201339A - 割込制御装置 - Google Patents

割込制御装置

Info

Publication number
JPS61201339A
JPS61201339A JP28321785A JP28321785A JPS61201339A JP S61201339 A JPS61201339 A JP S61201339A JP 28321785 A JP28321785 A JP 28321785A JP 28321785 A JP28321785 A JP 28321785A JP S61201339 A JPS61201339 A JP S61201339A
Authority
JP
Japan
Prior art keywords
block
interrupt
control
work
processing
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.)
Granted
Application number
JP28321785A
Other languages
English (en)
Other versions
JPH0619718B2 (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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、ディジタル処理システムにおける割込制御方
法及び割込制御装置 [開示の概要] 複数個の割込源から受け取った割込要求のサービスを行
うためのルーチンを包含する、割込駆動ディジタル処理
システムを開示する。割込要求の各々はシステム内の正
規の処理に割込を行い、受け取った割込要求を直ちに満
たすのに必要な所定の作業項目を実行する。作動してい
るサービス・ルーチンは次いで、受け取った割込要求を
完全に満たすには実行しなければならないが、実行を後
で行ってシステムの性能に影響をおよぼさないようにで
きる個々の作業項目を識別し、待ち行列に入れる。次い
で、正規の処理が復帰させられ、待ち行列に入れられた
実行される。これによって、個々の割込要求のサービス
を行う際に、正規の処理が最少限の時間の間、中断され
る。また、待ち行列内の作業項目には、正規の処理の間
に、実行の優先順位がつけられ、ディジタル処理システ
ムの性能を最適化する。開示された好ましい実施例は、
ホスト処理装置と複数個の入出力装置との間の通信を構
成するためのディジタル通信アダプタである。
[従来の技術] 複数個の割込源が生成した複数個の割込要求に応答する
典型的なディジタル処理システムにおいて、各割込要求
によって、システムは正規の処理を終了し、独自の一連
の処理ステップないし作業項目を遂行し、特定の割込要
求を満たす。独自の一連の作業項目は1本技術分野にお
いて割込制御装置と呼ばれるものによって処理される。
典型的な優先化割込システムにおいて、割込源のそれぞ
れには、高い優先順位から比較的低い優先順位までの範
囲にわたる所定の優先レベルが与えられる。高優先順位
の割込要求は正規の処理に割り込めるだけではなく、低
優先順位の割込要求の処理にも割込を行うことができる
。逆に、低優先順位の割込要求は正規の処理に割込を行
うことができるが、同等またはより高い優先順位の割込
要求の処理に割り込むことはできない。
しばしば見られるように、所定の割込要求を完全に満た
すために、実行する必要のある一連の作業項目の個々の
作業項目は、刺激割込要求と同じ緊急度を有しているこ
とはない、たとえば、鍵盤装置を包含しており、鍵盤と
データ処理装置との間にシリアル・インタフェースを有
しているデータ処理システムにおいて、特定のキーを打
つと、一連の独立したビットからなる鍵盤フレームが、
鍵盤からデータ処理装置へ送られる。各鍵盤フレームの
受信は、割込サービス・ルーチンを開始する割込要求を
包含しており、このサービス・ルーチンは以下のステッ
プを行う6 (1)データ・ピンを読み取り、ビット値
を格納する。(2)フレーム・ビット・カウンタを増加
させる。(3)フレーム・ビット・カウンタを読み取っ
て、フレーム全体を受け取ったかどうか決定する。(4
)フレーム全体を受け取っていなければ、以降のビット
を待機する準備をする。ビットを受け取ることによって
、ステップ1−3を繰返すことが必要となる。(5)フ
レーム全体を受け取ったなら、フレームを処理して、デ
ータ処理装置で使用できるようにする。データ処理装置
で使用できるようにするのには、典型的な場合、次のス
テップが包含されている。フレームが有効なフレームで
あるかどうか決定する。フレーム内の情報が「再信」、
[システム・リセット」または[システム・トラップの
セット」なとの基本的なコマンドを含んでいるかどうか
決定する。 キーストロークの可聴「クリック」音を発
生する。最後に、データ処理装置のフレームを送信する
。さらに、慎重に設計されたシステムは、装置エラーが
鍵盤フレームの処理中に発生した場合に、これらを報告
し、システムのサービスを容易とすることができる。こ
れらのステップを実行している間、同等またはより低い
優先順位の割込要求は割込禁止となされる。
鍵盤割込要求を完全に満たすのに必要なステップのうち
、直ちに処理しなければならないのは。
最初の数ステップだけである。他のステップは割込制御
装置の性能に影響をおよぼさずに、後でひとつずつ行う
ことができる。すべてのステップを完了することを要求
してから、正規の処理に制御を戻すことによって、公知
の割込制御装置は、実際に必要なものより長い間、正規
の処理に割込を行う0割込サービス・ルーチンに同等ま
たはより低い優先順位の割込要求が割込を行うことがで
きないのであるから、これは割込駆動システムの作動を
非効率なものとする。
既存の割込制御装置の他の問題は、既存のハードウェア
を用いて構築されたディジタル処理システムが、ハード
ウェアで定義された一定数の割込源を使用することに、
しばしば限定されることである。また、ハードウェアは
個々の割込源に割岩てることのできる優先レベルの数を
固定することがしばしばある。
割込駆動データ処理システムの適用業務の中には、個々
の割込要求を満たすのに必要な個々の作業項目を実行す
ることが、特定のシステムの要件を最適化するように編
成されている場合、性能の改善を実現するものもある。
たとえば、局所記憶機構が限定されている通信アダプタ
においては、ランダムな非同期割込要求に応じて作業項
目を順次行うのではなく、データをアダプタの記憶機構
から伝送する作業項目を高優先順位にし、アダプタの記
憶機構にデータを受入れる作業項目を低優先順位にする
ように、作業項目を編成するのが有利である。このよう
にして、特殊なシステムの要件、すなわち局所記憶の保
存が満たされ、システムの性能が最適化される。
公知の割込制御装置のさらに他の問題は、最初の割込要
求を処理するのに必要な作業項目の中には、第二の割込
要求を処理するのに必要な作業項目と同じものがしばし
ばあるということである。
これらの共通作業項目を、各割込サービス・ルーチンに
格納すると、記憶域が無駄になる。たとえば、幾つかの
適用業務源から単一のホストへのデータを受入れるため
の通信アダプタにおいては、各データ源が個々のデータ
源からホストへデータを伝送するための割込サービス・
ルーチンを開始できるようになる。各サービス・ルーチ
ンはデータをホストへの伝送のために緩衝する作業項目
を含むことなる。この作業項目を各割込サービス・ルー
チンで反復するよりも、データを緩衝するために実行し
なければならない単一の一般的な作業項目を、源に関係
なくホストに指定する方が、はるかに有利である。これ
によって、記憶域をより有効に使用される。
[問題点を解決するための手段] 本発明は、公知の割込制御装置及び方法に存在する上記
の問題点を、個々の割込要求に応答する第一段階を有す
る改善された割込制御装置および割込制御方法を提供す
ることによって解決するものである。第一段階は割込要
求に応じて式の処理を中断し、直ちに処理する必要のあ
る作業項目を実行し、システムの性能に影響をおよぼさ
ずに、後で実行してもかまわない作業項目を明確にし、
これらを待ち行列に入れる。次いで、正規の処理が再開
され、明確にされた作業項目が正規の処理中に実行され
る。
この改善された割込制御装置及び方法は所定の優先順位
の割込要求を最低限の時間の間割込禁止とし、同時に同
一またはより高い優先順位の割込要求のサービスを行う
さらに1作業項目待ち行列内の個々の作業項目を、中間
の処理ステップとして異なる時期に実行し、2つ以上の
割込要求を満たすこともできる。
作業項目の中には幾つかの割込要求を満たすために適用
できるものがあり、また各作業項目が格納されるのが1
回だけなのであるから、記憶空間が最少となる。
また1作業項目待ち行列自体を優先化して、幾つかの作
業項目を他の作業項目よりも前に実行することを確保す
ることもできる。これにより、特定の割込駆動システム
を、特定の適用業務に対して最適化することができる。
好ましい実施例において、一定数の割込源とこれらの割
込源に割当てることのできる一定数の優先順位を有する
ハードウェア・システムを使用して、任意数の作業項目
と、各作業項目に割当てることのできる任意数の優先レ
ベルとを有する作業項目待ち行列を構築することができ
る。
上記に鑑み、本発明の主たる目的は、最小限の時間の間
処理を行う割込要求を遅延させ、同時に同一またはより
高い優先順位の割込要求の処理を行う割込制御装置及び
方法を提供することである。
本発明の他の目的は、正規の処理を中断していないとき
に、重要でない作業項目を実行して、特定の割込要求を
一度にひとつ満たすことのできる割込要求を提供するこ
とである。
本発明のさらに他の目的は、個々の割込要求を満たす個
々の作業項目を明確にして、これらを実行し、割込駆動
システムを特定の適用業務に対して最適化することので
きる割込制御装置及び方法を提供することである。
[実施例] 第1図には、本発明を実施する通信アダプタが開示され
ている。一般的に、通信アダプタはホスト処理装置30
と、マウス31、スピーカ32、鍵盤33およびキーロ
ック・スイッチ34などの周辺入出力装置との間のデー
タ通信を制御する。
キーロック・スイッチ34はキーロック・スイッチ・ラ
イン47によって、マイクロコントローラ36に接続さ
れている。アダプタはマイクロコントa−536、周辺
インタフェース回路37、コマンド・レジスタ38およ
び装置駆動機構/受信機構39で構成されている。
マイクロコントローラ36は、たとえば、カリフォルニ
ア州すンタ・クララのインテル・コーポレーション(I
ntel Corporation of 5anta
 C1ara。
Ca1ifornia)の製造した8051型リマイク
ロコントローラであり、また周辺インタフェース回路3
7は、たとえば、これもインテル・コーポレーションの
製造した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 rマイクロコントローラ使用の手引J 
 (Intel CorporationPublic
ation Number 210359−001 e
ntitled11阿1crocontroller 
User’s Guide”に記載されており、該刊行
物を本明細書の一部とみなし、背景資料として参照する
作動時に、マイクロプロセッサ36は各データ源を高優
先レベルまたは低優先レベルのいずれが一方に割当てる
ことのできる合計5個のデータ源からの割込要求を許容
可能である。割込要求を受け取ると、マイクロコントロ
ーラ36内の正規の処理は2割込が処理されるまで中断
される。高優先順位の割込は正規の処理、または低優先
順位の割込の処理を中段できるが、他の高優先順位の割
込の処理を中断することはできない。これとは対照的に
、低優先順位の割込は正規の処理を中断できるが、他の
割込の処理を中断することはできない。
好ましい実施例において、割込要求にはまず。
第2図に示すプログラムによって条件付けがなされる。
5個の割込要求は割込ベクトル50により、公知の態様
で検出される。割込EXTI○は高い優先順位が与えら
れ、鍵盤から受入れられる。割込TIMER○は低い優
先順位が与えられ、マイクロコントローラ36(第1図
)内部のタイマ(図示せず)がオーバフロしたときに発
生する。
割込TIMERIは低い優先順位が与えられ、マイクロ
コントローラ36(第1図)内部の他のタイマ(図示せ
ず)がオーバフロしたときに発生する。最後に1割込5
INTは低い優先順位が与えられ、マウス31からUA
RT42 (第1図)を介して受入れられる。
第2図のプログラムのブロック50が割込要求を検出す
ると、プログラム・カウンタの内容がスタック・メモリ
へ押し出され、正規の処理が中断され、同時に適切な割
込サービス・ルーチンが実行される。好ましい実施例の
内容で定義される正規の処理が、第3図および第4図に
しめされて要るが、これの詳細については後述する。
第2図において、ブロック50が高優先順位の割込EX
TIOを検出すると、制御は判断ブロック51へ移され
、このブロックで鍵盤伝送モードが感知される。データ
が鍵盤から受け取られるものであれば、制御はブロック
52へ移され、第5図に示すプログラムのステップを実
行する。データが鍵盤へ伝送されるものであれば、制御
はブロック53へ移され、第6図に示すプログラムのス
テップを実行する。
低優先順位の割込TIMERO,EXTIO1または5
INTをブロック50が検出した場合。
制御はブロック54.56または62のそれぞれに移さ
れ、第7図、第8図または第9図のそれぞれに示すプロ
グラムのステップが実行される。
低優先順位の割込TIMERIをブロック50が検出し
た場合、制御はブロック57に移され、このブロックに
おいてマイクロプロセッサ36(第1図)内部のスピー
カ周波数カウンタ(図示せず)が「1」だけ削減される
。制御は次いで、判断ブロック58へ移され、スピーカ
周波数カウンタの値がゼロ以上か否か決定される。ゼロ
を越えている場合には、制御はブロック59へ移され、
このブロックにおいて第9図に示すプログラムのステッ
プが実行される。ゼロに等しい場合には、制御はブロッ
ク61へ移され、このブロックにおいて第10図のプロ
グラムのステップが実行される。
第5図−第11図に示すサービス・ルーチンの各々が完
了した場合には、正規のプログラムのカウントがスタッ
ク・メモリから入れられ、プログラム・カウンタへ戻さ
れるので、正規の処理を続けることができる。
第3図において、第1図に示した通信アダプタがリセッ
トされた場合、たとえば、電力を始めてシステムに印加
した場合、制御はリセット・ブロック63に常駐するよ
うになる。制御は次いで、ブロック64へ移され、この
ブロックにおいてシステム診断が行われ、その後数種類
の初期化手順が行われる。制御は次いで、ブロック66
へ移され、このブロックにおいてメイン処理ループが入
力される。
一般に、第1図のアダプタにおける正規の処理は、第1
図に示すRAM40内の12ビツトの作業待ち行列レジ
スタ46の状況をチェックすることで費やされる0作業
待ち行列レジスタをチェックする順序は、第3図および
第4図に示すプログラムのコマンドによって行われる0
作業待ち行列レジスタ46は6個の高優先順位作業項目
ビットと、6個の低優先順位作業項目ビットとに分割さ
れる0作業項目ビットをチェックする場合、各高僅先順
位作業項目ビットをチェックしてから、最初の低優先順
位ビットをチェックする。次いで、各高優先順位ビット
を再度チェックしてから、2番目の低順位ビットをチェ
ックする。以下、これを反復する。
詳細に言えば、メイン・ループは判断ブロック67の制
御によって開始されるが、該ブロックにおいては作業待
ち行列レジスタ46(第1図)の高優先順位ビットによ
って表される高優先順位作業項目が、待ち行列に入って
いるかどうがが判断される。高優先順位作業項目が待ち
行列に入っていなければ、制御はブロック68に移され
、このブロックにおいて最初の低優先順位作業項目が、
チェックされる。ブロック68の動作の詳細については
、第4図を参照して以下で説明する。
判断ブロック67で、高優先順位の作業項目が待ち行列
に入っていることが発見された場合、制御は順次判断ブ
ロック69−73へ移される。判断ブロック69で、最
初の高優先順位作業待ち行列ビットWQHOがセットさ
れていることが検出された場合には、制御がブロック7
4へ移され。
第12図に示すプログラムのステップが実行される。制
御は次いでループされて1判断ブロック67へ戻され、
他の高優先順位作業項目が待ち行列に入っているかどう
か判断される。
判断ブロック69で、作業待ち行列ビットWQHOがセ
ットされていないことが検出された場合は判断ブロック
70へ移され、このブロックで作業待ち行列WQHIが
チェックされる。ビットWQH1が存在している場合に
は、制御は判断ブロック75へ移され、このブロックで
第13図に示すプログラムのステップが実行される。第
13図に関連して詳細に説明するように、処理は結局は
、ブロック75において打ち切られ、制御がブロック6
7に戻されることはない。
判断ブロック69の動作と同様にして1判断ブロック7
1−73は高優先順位作業待ち行列ビットWQH2、W
QH4およびWQH5のそれぞれをチェックする。それ
ぞれの作業待ち行列ビットがブロック71−73によっ
て検出されると、制制御はブロック’!6−78のそれ
ぞれへ移され。
第14−16図のそれぞれに示すプログラムのステップ
が実行される。
ここで留意しなければならないことは、好ましい実施例
が高優先順位待ち行列ビットWQH3を使用しないとい
うことである。好ましい実施例の特定の要件を満たすの
に必要な高優先順位作業項目が、5個だけだからである
。このこと、および12ビツトの作業待ち行列レジスタ
を、6個の高優先順位ビットと6個の低優先順位のビッ
トが使用することを、いかなる態様においても、本発明
の範囲を限定するものと解釈してはならない。
本技術分野の技術者には、本発明を使用して、任意の数
の作業項目を待ち行列に入れることができることを理解
できよう、さらに、好ましい実施例において記載されて
いる作業項目の優先レベルが2つだけであることを、本
発明に制限を課すものと解釈してはならない6本技術分
野の技術者には、本発明の精神および範囲を逸脱するこ
となく、任意の数の作業項目の優先レベルを使用できる
ことが理解されよう。
第4図を参照して、低優先順位の作業待ち行列ビットの
チェックを説明する。制御は第3図のブロック67から
移されて、ブロック81から始まる。制御はブロック8
2へ移され、このブロックにおいて作業待ち行列の低ポ
インタの値が、決定される。作業待ち行列の低ポイント
は、値が0から5までの整数である。システムの初期化
(ブロック64、第3図)の際に、作業待ち行列の低ポ
インタが「o」にセットされるので、判断ブロック82
を始めてアドレスしたときに、制御が判断ブロック83
に移され、このブロックにおいて低優先順位の作業待ち
行列ビットWQLOの状況がチェックされる。ビットW
QLOを検出すると、制御ハフロック84へ移され、こ
のブロックにおいて第17図の処理ステップが行われる
ブロック84が完了すると、制御はブロック86へ移さ
れる。判断ブロック83がビットWQLOの存在を検出
できないと、制御は、最初にブロック84を作動させる
ことなく、直接ブロック86へ移される。ブロック86
は次いで、待ち行列の低ポインタの値を「1」増加させ
るので、ポインタはrlJという値を保持することにな
る。制御は次いで、ブロック86からブロック67(第
3図)へ移されて、処理を継続する。
次に、第4図のルーチンが第3図のブロック67によっ
て作動させられると、判断ブロック82は作業待ち行列
の低ポインタを復号して、値を「1」とし、制御をブロ
ック87へ移して、低優先順位の作業待ち行列ビットW
QLIの状況をチェックする。ビットWQLIを検出す
ると、制御はブロック87へ移され、第18図に示すプ
ログラムのステップを実行する。それ以外の場合には。
制御はブロック86へ直接移され、作業待ち行列の低ポ
インタを増かさせる。ブロック88が実行を完了した後
、制御もブロック86へ移される。
ブロック86は次いで、作業待ち行列の低ポインタの値
を「2」へ増加させる。
ブロック86が作動させられるたびに1作業待ち行列の
低ポインタはrlJだけ増加させられる。
ポインタの値が「5」になると、ブロック86はポイン
タの値を「0」に戻す、これにより、第3図のブロック
67が第4図(7)WORKQ  LOWTESTルー
チンが作動させるたびに1作業待ち行列の低ポインタの
値に応じて、低優先順位の作業待ち行列のビットが1個
だけチェックされる。
待ち行列のポインタを値が2.3.4または5になるよ
うに復号すると、制御はブロック89,90.91また
は92のそれぞれへ移され、これらのブロックのそれぞ
れにおいて低優先順位の作業待ち行列のビットWQL2
.WQL3、WQL4またはWQL5がチェックされる
。それぞれの作業待ち行列のビットが検出されると、ブ
ロック89−92は制御をブロック93−96のそれぞ
れに移し、第19−22図のそれぞれに示すプログラム
のステップを実行する。それぞれの待ち行列のビットが
検出されなかった場合、判断ブロック89−92は制御
を直接ブロック86へ移し1作業待ち行列の低ポインタ
を増加させる。
上記の結果として、第3図および第4図に示すメイン・
プログラミング・ループは所定の優先順序で1作業待ち
行列レジスタ46(第1図)をチェックし、検出された
作業待ち行列ビットに対応する作業項目を行う、第3図
および第4図のメイン・ループには、第2図に示すよう
な割込要求の処理中に、割込が行われる。
待ち行列レジスタ46の個々の作業待ち行列ビットが、
第5−11図に示す割込サービス・ルーチン、および第
12−22図に示す作業項目ルーチン、ならびに第23
図および第24図に示す条件ルーチンによって、セット
およびセットされる。
第5図に、割込サービス・ルーチン KEYBOARD  INTERRUPTを示す。
このルーチンは、第1図のマイクロコントローラ36が
鍵盤フレームのビットが鍵盤33からマイクロコントロ
ーラ36へ送られていることを示す高優先順位の割込要
求EXTIOを受け取ったときに、作動させられる。制
御はブロック100がら始まるが、このブロックにおい
て鍵盤データ・ピンが読み取られ、その値が鍵盤フレー
ム・バッファに格納される。鍵盤フレーム・ビット・カ
ウンタが次いで、増加させられ、制御が判断ブロック1
01へ移され、鍵盤フレーム・ビット・カウンタのカウ
ンタを決定する。フレーム・ビット・カウンタが「1」
で、フレームの最初のビットを受け取ったことを示して
いる場合には、制御がブロック105へ移される。ブロ
ック105は低優先順位の作業待ち行列ビットWQL5
をセットし、次いで制御を正規の処理に戻す。フレーム
・ビット・カウンタが2ないし5の場合には、ブロック
101によってサービス・ルーチンが直ちに退出させら
れ、正規の処理が復帰する。
フレーム、ビット・カウンタが11で、フレーム全体を
受け取ったことを示していることを、ブロック101が
検出すると、制御はブロック102へ移され、次いでブ
ロック103へ移されるが、このブロックにおい作業待
ち行列ビットWQHOがセットされ、ビットWQL5が
セットされる。
制御は次いで、ブロック104へ移され、このブロック
において第23図の装置エラー(DE)ルーチンが実行
される。サービス・ルーチンが退出させられ、正規の処
理が復帰する。
ここで留意しなければならないのは、!!盤からビット
のフレームを受け取って、処理している間中、正規の処
理に対して割込を行うのではなく。
本発明が正規の処理に割込を行うのが、フレーム内の個
々のビットを読み取り、格納するのに必要な間だけだと
いうことである。鍵盤フレームを受け取るために完了し
ておかなければならない他のすべての作業項目は、正規
の処理が復帰して、通信アダプタが他の割込要求に応え
ることができるようになるまで、延期される。
第6図に、割込サービス・ルーチン KEYBOARD  TRANSMITINTERRU
PTを示す、第1図のマイクロコントローラ36が、鍵
盤33にマイクロコントローラからのデータのビットを
受け取る準備ができていることを示している、高優先順
位の割込要求EX、TIOを受け取ったときに、このル
ーチンは作動させられる。この場合、制御はブロック1
06で始まり、このブロックにおいてデータ・ビットが
鍵盤データ・ピンに書き込まれ、鍵盤フレーム・ビット
・カウンタが増加する。制御は次いで、判断ブロック1
07へ移され、このブロックにおいてフレーム・ビット
・カウンタの値が決定される。値が1ないし11である
場合、サービス・ルーチンが退出させられ、正規の処理
が復帰する。
フレーム・ビット・カウンタの値が11よりも大きく、
フレーム全体が鍵盤へ伝送されたことを示している場合
には、制御はブロック108へ移され、このブロックに
おいて鍵盤の伝送が処理中(第19図でセット)である
ことを示す、状況ビットWAIT  KEYBORD TRANSMIT  COMPLETEがリセットされ
る0次いで、サービス・ルーチンが退出させられ、正規
の処理が再開される。
第7図に、サービス・ルーチンTIMEOUTTIME
RINTERRUPTを示す。スピーカの音の時間の増
分が終了し、他の時間の増分が残っていないのであれば
、スピーカをオフにしなければならないことを示す低優
先順位の割込TIMEROを、第1図のマイクロコント
ローラ36が受け取ったときに、このルーチンは作動さ
せられる。制御はブロック109で始まり、このブロッ
クにおいてスピーカの持続時間カウンタが感知される。
カウンタの値がrOJよりも大きい場合には、制御はブ
ロック111へ移され、このブロックにおいて持続時間
カウンタが「1」だけ減らされ、制御が正規の処理へ戻
される。持続時間カウンタが「0」になったことを、ブ
ロック109が検出した場合、制御はブロック112へ
移され、このブロックにおいてスピーカが停止され、マ
イクロコントローラの割込TIMEROとTIMERI
の割込が禁止される。制御は次いで、ブロック113へ
移され、このブロックにおいて第24図の条件情報コー
ド(IC:)手順が実行される。正規の処理が次いで、
復帰させられる。このルーチンによって、持続時間カウ
ンタに当初格納されていた数と等しい、数の時間の増分
が経過してから、スピーカの要求を停止することが可能
となり、これによって内部タイマT I ME ROの
タイミング機能を拡張できる。
第8図に、サービス・ルーチンHO8TINTERRU
PTを、ブロック114で始まる制御と共に詳細に示す
、ホスト30がマイクロコントローラ36へデータを送
ろうとしていることを示す、低優先順位の割込要求EX
TIIを、第1図のマイクロコントローラ36が受け取
ったときに、このルーチンは作動させられる。ブロック
114はコマンド・レジスタ38の読み取りを行い、か
つ周辺インタフェース回路37からホストの生成したデ
ータを読み取る(両者とも第1図に示されている)。制
御は次いで、ブロック116へ移され、このブロックに
おいて低優先順位の作業待ち行列ビットWQLOがセッ
トされる。マイクロコントローラの割込EXTIOが次
いで、ブロック117によって割込禁止され、その後制
御は正規の処理へ戻される。
第9図および第10図はそれぞれ、 5PEAKERFREQUENCY INTERRUPT  1および5PEAKERFRE
QUENCY  INTERRUPT  Oという割込
サービス・ルーチンを示している。スピーカへ送られた
信号を補足しなければならないことを示す、低優先順位
の割込要求TIMERIを第1図のマイクロコントロー
ラ36が受け取ったときに、各ルーチンは作動させられ
る。
INTERRUPT  1ルーチンにおいて、スビ−力
周波数タイマがブロック118によって再ローディング
されてから、制御が戻され、一方、工NTERRUPT
  O/l/−チンニおイテ、スピーカ周波数ピンがブ
ロック119によって補足され、次いでスピーカ周波数
タイマがブロック121によって再ローディングされて
から、正規の処理へ制御が戻る。これらのルーチンはス
ピーカ32(第1図)を、スピーカ・ピンの補足前の生
方形波期間のタイミングと、あと半分の方形波期間のタ
イミングを取った方形波によって駆動する。
周波数カウンタが「0」に等しくなったときに、第1図
のカウンタ58が補足ルーチン INTERRUPT  ○を作動させるだけであるため
、周波数カウンタに当初格納されていたカウントと等し
い、時間の増分の数はスピーカ周波数ピンの補足前に終
了し、これによって内部タイマTIMERIのタイミン
グ機能を拡張することが可能となる。
最後の割込サービス・ルーチンは第11図に示したUA
RT  INTERRUPTルーチンである。データの
フレームをマウス31との間で、UART42によって
送受信したことを示す、低優先順位の割込5INTを、
第1図のマイクロコントローラ36が受け取ったときに
、このルーチンは作動させられる。制御は判断ブロック
122で始まり、このブロックにおいて、UARTの受
信割込を受け取ったかどうかが決定される。受け取って
いる場合には、制御はブロック123へ移され、このブ
ロックにおいてデータがUARTから読み取られ、また
マイクロコントローラの割込5INTが割込禁止とされ
る。次いで、制御はブロック124へ渡され、このブロ
ックにおいて高優先順位の作業待ち行列ビットWQH4
がセットされる。制御は次いで、ブロック126へ移さ
れ、このブロックにおいて低優先順位の作業待ち行列ビ
ットWQL3がリセットされてから、制御は正規の処理
へ戻される。
UARTの受信割込を受け取っていないと、ブロック1
22が判断した場合、制御は判断ブロック127へ移さ
れ、UARTの送信割込を受け取ったかどうかが判定さ
れる。受け取っていない場合、制御はブロック128へ
移され、第23図のDEルーチンを行ってから、正規の
処理を復帰させる。受け取っている場合、制御はブロッ
ク129へ渡され、このブロックにおいて送信制御が更
新され、受け取った割込を反映するようになってから、
制御はブロック130へ移されて、ICルーチンを実行
する。制御は次いで、ブロック126へ移され、ビット
WQL3をリセットしてから、制御は正規の処理へ戻さ
れる。
第12図−第22図は、好ましい実施例の11個の作業
項目ルーチンを示すものである。これらの作業項目は作
業待ち行列レジスタ46(第1図)によって決定される
通りに、正規の処理を行っている間に実行されるもので
あり1作業待ち行列レジスタは第3図および第4図の前
述したプログラムによる問合せを受け取るものである。
これらの作業項目を実行し、5個の割込要求を完全に満
たす必要がある。しかしながら、これらの作業項目を個
々の割込サービス・ルーチン(第5図−第11図)の実
行後、一度に実行できることが判明した。ここで、留意
しなければならないのは、各作業項目に対応する作業待
ち行列レジスタ46の作業待ち行列ビットを、割込サー
ビス・ルーチン(第5図−第11図)によって、あるい
は個々の作業項目を実行すること(第12図−第22図
)によって、あるいは条件ルーチン(第23図、第24
図)によってセットおよびリセットできることである。
各作業項目を実行する優先順位を選択して、システムの
性能を最適化する。たとえば、好ましい実施例の通信ア
ダプタの環境において、それぞれ第12図および第15
図のルーチンを表している第4図のブロック74および
77には、できるだけ早<UART42およびポート4
4(第1図)に含まれているフレーム・バッファをクリ
アするために、高い優先順位が与えられる。この方法は
フレーム・バッファに現在格納されているデータと、入
力データとの間の衝突を回避するものである。一方、そ
れぞれ第17図および第21図のル−チンを表している
第4図のブロック84および95には、低い優先順位が
与えられる。第17図のPROCESS  HO8T 
 COMMAND/L/−チンは、知能源であって、マ
イクロコントローラ36にコマンドを受け取る準備がで
きていないことを認識し、かつコマンドの送信を延期で
きるものである。同様にして、第1図のキーロック・ス
イッチ34は機械的スイッチであって、マイクロコント
ローラ36で可能なサンプリング速度よりもはるかに緩
やかに作動できるものである。したがって、第21図の
ルーチンのサンプリング・キーロック・ライン47を、
システムの性能に影響をおよぼすことなく遅延させるこ
とができる。
第12図に2作業項目PROCESS KEYBOARD  FRAMEを示すが、これは高優
先順位の作業待ち行列ビットWQHOがセットされたと
、第3図のブロック69が判断したときに、作動させら
れる。制御はブロック131で始まるが、このブロック
において作業待ち行列ビットWQHOがリセットされる
0次いで、ブロック132がフレーム・ビット・カウン
タをリセットしてから、制御が判断ブロック133へ渡
される。ブロック133は鍵盤フレームを処理するのに
適切な時期かどうかを判断する。時期でなければ、制御
はブロック134へ移され、このブロックにおいて制御
が更新され、鍵盤受信モードになる。鍵盤フレームを処
理するのに適切な時期であれば、制御はブロック133
からブロック136へ移り、このブロックにおいて有効
な鍵盤フレームを鍵盤から受信済みであるかどうか判断
される。
受け取っていなければ、制御はブロック137へ移され
る。次いで、ブロック137.135および139が実
行され、「再信」コマンドを鍵盤へ送る。処理中に、ブ
ロック139は低優先順位の作業待ち行列ビットWQL
2をセットする。
有効なフレームを受信済みの場合、制御はブロック13
6からブロック138へ移り、鍵盤フレームが鍵盤から
「再信」要求を含んでいるかどうか判断する。含まれて
いる場合には、制御は一連のブロック141.142お
よび143へ移され。
これらのブロックにおいて鍵盤へ送られた以前のフレー
ムを再送信する準備が行われる。処理中に、ブロック1
43は低優先順位の作業待ち行列ビットWQL2をリセ
ットする。
フレームが「再信」要求を含んでいないとブロック13
8が判断した場合、制御はブロック144へ移り、この
ブロックにおいて鍵盤の肯定応答が要求されているかど
うか判断される。背定応答が要求されている場合には、
制御は一連のブロック146.147.148および1
49に渡され。
これらのブロックにおいて、鍵盤の応答がホストへの伝
送のために待ち行列に入れられる。この応答の待合せの
間に、ブロック47は低優先順位の作業待ち行列ビット
WQLIをセットする。ブロック149は次いで、制御
をブロック134へ渡してから、制御を正規の処理のメ
イン・ループへ戻す。
肯定応答が必要ない場合には、ブロック144は制御を
ブロック151へ渡して、肯定応答が必要ないとしても
、肯定応答を受け取っているかどうかを判定する。受け
取っているのであれば、制御はブロック152へ移され
、第23図のDEルーチンを実行する。鍵盤が肯定応答
を送信していない場合には、制御はブロック151から
判断ブロック153および154へわたされ、特殊なキ
ーストロークの順序rAJまたはrBJを受け取ってい
るかどうか判定する。
ブロック153がキーストローク順序rAJを受け取っ
ていると判断した場合、制御はブロック155へ渡され
、このブロックにおいて高優先順位の作業待ち行列ビッ
トWQH2がセットされる。
ブロック154がキーストローク順序rBJを受け取っ
ていると判断した場合、制御はブロック156へ渡され
、このブロックにおいて高優先順位の作業待ち行列ビッ
トWQHIがセットされる。
制御は次いで、ブロック157へ渡され、このブロック
において鍵盤フレームはホストへの伝送のために、待ち
行列に入れられ、キーの可聴のクリック音が発生される
。制御は次いで、ブロック158へ渡され、第24図の
ICルーチンが実行され、その後ブロック159へ渡さ
れ、このブロックにおいて低優先順位の作業待ち行列ビ
ットWQLIがセットされる。制御は次いで、ブロック
134へ渡され、その後第3図のブロック67へ戻され
る。
特別なキーストローク順序rBJは好ましい実施例にお
いては、システムのリセットに対するユーザ要求として
使用され、特別な順序「A」はシステム・トラップをセ
ットするためのユーザ要求として使用される。
第13図および第14図は、それぞれ作業待ちう列ビッ
トWQH1およびWQH2によって作動させられるIN
ITIATE  SYSTEMRESETおよびINI
TIATE  SYSTEMTRAPに対する作業項目
を示すものである。第13図において、ブロック161
はマイクロコントローラ36(第1図)のシステム・リ
セット・ライン49を作動させる。ブロック162は次
いで1作業待ち行列ビットWQHIをリセットする。
第14図において、ブロック163は作業待ち行列ビッ
トWQH2をリセットし、ブロック164はマイクロコ
ントローラ36(第1図)のシステム・トラップ・ライ
ン48を作動させる。制御は次いで、第3図のブロック
67へ戻される。
第15図は作業項目PROCESS SERIAL  PORT  RIを示すものであり、
この作業項目は高優先順位のビットWQH4がセットさ
れたと、第3図のブロック72が判断した場合に、作動
させられる。
ブロック166はビットWQH4をリセットし、制御を
判断ブロック167へ渡して、UARTフレームを処理
するに適切な時期かどうかを判断する。適切な時期でな
い場合には、制御はブロック175へ渡され、このブロ
ックにおいてマイクロコントローラ36(第1図)の5
INT割込が割込可能となされてから、制御が第3図の
ブロック67へ戻される。
ブロック167がUARTフレームを処理するに適切な
時期であると判断した場合、制御はブロック168へ移
され、このブロックにおいて有効なフレームUARTか
ら受け取っているかどうかが、判断される。受け取って
いる場合には、制御はブロック168へ移され、このブ
ロックにおいてUARTから受け取った情報が、ホスト
への伝送のために待ち行列に入れられる。受け取ってい
ない場合には、制御はブロック175へ渡され、上記と
まったく同一の操作が行われる。
ブロック169がホストへの伝送のために、UART情
報を待ち行列へ入れてから、制御はブロック170へ移
され、このブロックにおいて低優先順位の作業待ち行列
ビットWQLIがセットされる。制御は次いで、ブロッ
ク175へ渡され、その後制御は第3図のブロック67
へ戻される。
第16図に1作業項目CHECK  HO5TTRAN
SMITを示す、この作業項目は、作業待ち行列レジス
タ46(第1図)のビットWQH5がセットされたこと
を、第3図の一ブロック73が認識した場合に1作動さ
せられる。
制御はブロック171で始まり、このブロックにおいて
ホストへの以前の送信が受け入れられたかどうかが、判
断される。受入れられていない場合、制御は直ちに、第
3図のブロック67へ戻される。ホストへの以前の伝送
が受入れられている場合には、制御はブ晶ツク171か
らブロック172へ移され、このブロックにおいて作業
待ち行列ビットWQH5がリセットされる。
制御は次いで、ブロック173へ渡され、新なホストへ
の伝送の準備ができているかどうか判断さ九る。準備が
できている場合には、制御はブロック174へ移され、
このブロックにおいてデータ源の識別およびデータが周
辺インタフェース回路37(第1図)のピンに書き込ま
れる。制御は次いで、判断ブロック177へ移されるが
、このブロックは新なホストへの伝送の準備ができてい
ないと、判断ブロック173が判断した場合に。
制御が直接されるブロックである。
UARTブロックに伝送の準備ができていると。
判断ブロック177が判断した場合、制御はブロック1
78へ移され、このブロックにおいてUARTブロック
・バイトが待ち行列から出され、ホストへの伝送の準備
がなされる。UARTブロックに伝送の準備ができてい
ないと、判断ブロック177が判断した場合、制御はブ
ロック179へ移され、このブロックにおいてRAMブ
ロックにホストへの伝送の準備ができているかどうかが
、判断される。RAMブロックはホスト30によって要
求され、ホストへ送ることのできる情報を含んでいる、
第1図のRAM40に格納されている複数個のバイトで
ある。たとえば、RAM40のバイトのブロックを使っ
て、装置エラーの記憶を格納することができるが、この
記録をホストが使用して、診断を行うことができる。R
AMブロックに伝送の準備ができていない場合には、制
御は直ちに、第3図のブロック67へ戻される。準備が
できている場合には、制御はブロック179がらブロッ
ク181へ渡され、このブロックにおいてRAMブロッ
クが待ち行列から出され、ホストへの伝送の準備がなさ
れる6作業項目CHECKHO8T  TRANSMI
Tが完了すると、制御は第3図のブロック67へ渡され
る。
第17図は作業項目PROCESS  HO3TCOM
MANDを示すものであり、この作業項目は第4図のブ
ロック83が低優先順位の作業待ち行列ビットWQLI
Oの存在を認識した場合に、開始される。制御はブロッ
ク182で始まり、このブロックにおいてビットWQL
Oがリセットされてから、制御が判断ブロック183へ
移され、このブロックにおいてホストのコマンドが復号
される。ブロック183は次いで、ブロック184のひ
とつを作動させ、適切な機能を行って、復号されたホス
トのコマンドを満たす。制御は次いで。
ブロック186へ渡され、このブロックにおいて適切な
ホストのコマンドの応答に、ホストへの返信の準備がな
される。ブロック187は次いで、高優先順位の作業待
ち行列のビットWQH5をセットし、制御をブロック1
88へ渡すが、このブロックにおいてマイクロコントロ
ーラ36(第1図)の割込EXTIIが割込可能とされ
る。制御は次いで、第4図のブロック86へ戻される。
第18図は作業項目PROCESS  HO8TTRA
NSMIT  INFORMATI○Nを示すものであ
って、この作業項目は第4図の判断ブロック87が、低
優先順位の作業、待ち行列ビットWQLIの存在を認識
した場合に、作動させられる。
制御は判断ブロック189で始まり、このブロックにお
いてホスト・データ伝送バッファの可用性がチェックさ
れる。バッファが利用できない場合、制御は直ちに、第
4図のブロック86へ戻される。バッファが利用できる
場合、マイクロコントローラ36(第1図)の5個の異
なるデータ源の1つからのデータを、受入れることがで
きる。
このデータには次のものが含まれている。装置エラー・
コード、UARTブロック、siaバイト。
情報コード、またはRAMブロック。これらのデータ源
はこの優先順序で1判断ブロック191−195によっ
てチェックされる。判断ブロック191−195の1つ
がそれぞれのデータ源からの待ち合わせデータの存在を
検出すると、制御は図示のように、ブロック196−2
00の1つへ移される。ホストへの伝送のためのデータ
が待ち行列に入っていることを、判断ブロック191−
195のいずれもが検出しなかった場合、処理は終了さ
れる。
ブロック196−200の内作動しているものが、ホス
ト伝送バッファへのデータの待ち行列からの取り出しを
完了すると、制御はブロック2゜lへ渡され、このブロ
ックにおいて高優先順位の作業待ち行列ビットWHQ5
がセットされる。制御は次いで、ブロック202へ渡さ
れ、このブロックにおいて作業待ち行列ビットWQLI
がセットそされたままになっているかどうかが1判断さ
れる。ホストへ伝送されるべき他のデータが残っている
場合には、ビットWQLIがセットされたままとなる。
それ以外の場合には、ビット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 KEYBOARD  TRANSMITCIMPLET
Eをセットし、制御をブロック207へ渡すが、このブ
ロックにおいて「送信要求」プロトコルが完了する。D
Eシル−ンが再度実行され、次いでブロック208は第
6図の割込サービス°ルーチンによってリセットされる
べき、鍵盤への伝送が完了したことを示す状況ビットW
AIT  KEYVOARD  TRANSMITCO
MPLETEを待つ。
次いで、DEシル−ンが再度実行され、その後ブロック
209による鍵盤インタフェース状況が更新され、その
後DEシル−ンがまた実行される。
作業項目PROcEss  KEYBOARD  TR
ANSMITが完了すると、制御が第4図のブロック8
6へ渡される。
第20図は作業項目CHECK  UART  TIM
EOUTを示したものであり、この作業項目は低優先順
位の作業待ち行列ビットWQL3がセットされたことを
、第4図の判断ブロック90が検出したときに、作動さ
せられる。制御はブロック211で始まり、このブロッ
クにおいてUART待ちカウンタが1だけ減らされる0
判断ブロック212が次いで、UART待ちカウンタを
読み取り、カウントが1以上であれば、制御を第4図の
ブロック86へ戻す。カウントがゼロに等しく。
UART42 (第1図)に問題がある可能性を示して
いる場合には、ブロック212は制御をブロック213
へ渡し、このブロックにおいて作業待ち行列ビットWQ
L3がリセットされる1次いで、DEシル−ンが実行さ
れね潜在的なUARTの問題をホストへ報告する。これ
は作業項目 CHECK  UART  TIMEOU
Tが完了したことを知らせるものであり、制御は第4図
のブロック86へ戻る。
第21図は作業項目CHECK KEYLOCK  5WITCHを示すものであり、こ
の作業項目は低優先順位の作業待ち行列ビットWQL4
の存在を第4図の判断ブロック91が検出したときに、
作動させられる。制御はブロック214で始まり、この
ブロックにおいてキーロック・スイット・ライン47(
第1図)のサンプリングが行われる。制御は次いで、ブ
ロック216へ渡され、このブロックにおいてキーロッ
ク・スイッチの状況が計算される。IC(第24図)ル
ーチンが次いで実行され、ホストへ報告するためのキー
ロック状況が準備される。制御は次いで。
第4図のブロック86へ渡される。
第22図は作業項目CHECK KEYVOARD  RECEIVE  COMPLE
TEを示すものであり、この作業項目は低優先順位の作
業待ち行列ビットWQL5がセットされたことを、判断
ブロック92が認識することによって作動させられる。
制御はブロック217で始まり、このブロックにおいて
鍵盤待ちカウンタが減らされる。次いで、判断ブロック
218が鍵盤待ちカウンタの値を判断し、カウントが1
以上であれば、制御を第4図のブロック86へ戻す、カ
ウントがゼロであって、鍵盤33(第1図)に装置エラ
ーが存在する可能性を示している場合には。
制御はブロック219へ移され、このブロックにおいて
作業待ち行列ビットWQL5がリセットされる。DEシ
ル−ンが次いで実行され、鍵盤装置エラーをホストへ報
告する準備をする0次いで。
鍵盤インタフェースがブロック220において、鍵盤の
モードを「受信Jに変更することも含めてクリアされ、
制御は第4図のブロック86へ戻される。
第23図および第24図はそれぞれ、条件材は装置エラ
ー(DE)ルーチンおよび情報コード(I C)待合せ
ルーチンを示すものである。これらのルーチンは、上記
の割込サービス・ルーチン(第5図−第11図)および
作業順(第12図−第22図)の全般にわたって呼び出
され、装置エラーや情報コードをホストへ報告する。
制御は判断ブロック221における第23図のDEシル
−ンで始まり、このブロックにおいて装置エラーを報告
すべきかどうか判断される。報告すべきでない場合には
、制御はDEシル−ンを呼び出したより高次のプログラ
ムへ戻される。装置エラーを報告すべき場合には、制御
はブロック222へ渡され、このブロックにおいてエラ
ー・コードはホストへの伝送のために待ち行列に入れら
れる。ブロック223は次いで、低優先順位の待ち行列
ビットWQLIをセットし、制御を高次のプログラムへ
戻す。
第24図のICルーチンは判断ブロック22°4におい
て制御を開始し、情報コードを報告する必要があるかど
うか判断する。報告する必要がない場合には、制御は直
ちに、ICルーチンを呼び出した高次のプログラムへ戻
される。情報コードを報告すべき場合には、制御はブロ
ック224からブロック226へ渡され、このブロック
において情報コードはホストへの伝送のために待ち行列
へ入れられる。制御は次いで、ブロック227へ渡され
、このブロックにおいて低優先順位の作業待ち行列ビッ
トWQLIがセットされる。ICルーチンが次いで完了
し、制御はICルーチンを呼び出した高次のプログラム
へ戻る。
本明細書記載の好ましい実施例が説明のためのものであ
り、それ数本発明を制限するものと解釈してはならない
ことが理解されよう。本技術分野の技術者には、本明細
書記載の好ましい実施例の形態および細部に関する変更
が、本発明の精神および範囲を逸脱することなく行いう
ろことが理解されよう。
【図面の簡単な説明】
第1図は1本発明を用いた通信アダプタである。 第2図は、第1図の回路における割込要求に応答する制
御の流れを示すフローチャートである。 第3図は、第1図の回路における正規の処理の際のメイ
ン制御ループにおける制御の流れを示すフローチャート
である。 第4図は、第3図で検出された低優先順位の作業項目の
処理の際の制御の流れを示すフローチャートである。 第5図は、第2図で検出された KEYVOARD  RECEIVE INTERRUPT要求に対するサービス・ルーチンの
制御の流れを示すフローチャートである。 第6図は、第2図で検出された KEYVOARD  TRANSMITINTERRU
PT要求に対するサービス・ルーチンの制御の流れを示
すフローチャートである。 第7図は、第2図で検出されたTIMEOUTTIME
RINTERRUPT要求に対するサービス・ルーチン
の制御の流れを示すフローチャートである。 第8図は、第2図で検出されたHO8TINTERRU
PT要求に対するサービス・ルーチンの制御の流れを示
すフローチャートである。 第9図は、第2図で検出された5PEAKEREREQ
UENCY  INTERRUPT  1要求に対する
サービス・ルーチンの制御の流れを示すフローチャート
である。 第10図は、第2図で検出された5PEAKERFRE
QUENCY  INTERRUPTOの要求に対する
サービス・ルーチンの制御の流れを示すフローチャート
である。 第11図は、第2図で検出されたUART  INTE
RRUPT要求に対するサービス・ルーチンの制御の流
れを示すフローチャートである。 第12図は、第3図で検出された作業項目PROCES
S  KEYBOARD  FRAMEを実行するため
の制御の流れを示すフローチャートである。 第13図は、第3図で検出された作業項目INITIA
TE  SYSTENM  RESETを実行するため
の制御の流れを示すフローチャートである。 第14図は、第3図で検出された作業項目INITIA
TE  SYSTEM  TRAPを実行するための制
御の流れを示すフローチャートである。 第15図は、第3図で検出された作業項目PROCES
S  5ER4AL  PORT  RIを実行するた
めの制御の流れを示すフローチャートである。 第16図は、第3図で検出された作業項目CHECK 
 HO8T  TRANSMITを実行するための制御
の流れのフローチャートである。 第17図は、第4図で検出された作業項目PROCES
S  HO3T  COMMANDを実行するための制
御の流れのフローチャートである。 第18図は、第4図で検出された作業項目PROCES
S  HO8T  TRANSMITINFOを実行す
るための制御の流れのフローチャートである。 第19図は、第4図で検出された作業項目PROCES
S  KEYBOARD TRANSMITを実行するための制御の流れのフロー
チャートである。 第20図は、第4図で検出された作業項目CHECK 
 UART  TIMEOUTを実行するための制御の
流れのフローチャートである。 第21図は、第4図で検出された作業項目CHECK 
 KEYLOCK  5WITCHを実行するための制
御の流れのフローチャートである。 第22図は、第4図で検出された作業項目CHECK 
 KEYBOARD  RECEIVECOMPLET
Eを実行するための制御の流れのフローチャートである
。 第23図は、本発明による条件付は装置エラー待合せ手
順の制御の流れのフローチャートである。′第24図は
、本発明による条件付は情報コード待合せ手順の制御の
流れのフローチャートである。 第1図 第2図 第22図

Claims (3)

    【特許請求の範囲】
  1. (1)割込駆動ディジタル処理システムを操作する方法
    において、 割込要求を受け取って、前記システムの正規の処理に対
    して割込を行うこと、 前記の割込要求を満たすために実行されるべき所定の作
    業項目を識別し、待ち行列に入れて作業項目の待ち行列
    を形成することによって、前記の割込要求のサービスを
    行うこと、 正規の処理を復帰させること、 正規の処理の間に、前記作業項目内の作業項目を実行す
    ることを包含しており、 これによって、前記の割込要求のサービスを行う際に、
    正規の処理を最少限の時間の間中断することを特徴とす
    る、 割込駆動ディジタル処理システムの割込制御方法。
  2. (2)一定数の割込源からの割込要求を受け取るための
    手段と、 前記の割込要求を満たすために実行されるべき所定の作
    業項目を識別し、待ち行列に入れて作業項目待ち行列を
    形成するための、前記受け取り手段に応答する手段と、 前記作業項目待ち行列をステップするための手段と、 各作業項目にしたがって個々のタスクを実行するための
    、前記ステップ手段に応答する手段とを包含する、 ディジタル・システムで使用される割込制御装置。
  3. (3)作業項目待ち行列内の作業項目を実行することを
    含めて、正規の処理を行うための処理手段と、 複数個の割込要求の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 true JPS61201339A (ja) 1986-09-06
JPH0619718B2 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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPS56118128A (en) * 1980-02-22 1981-09-17 Matsushita Electric Ind Co Ltd Interruption controlling system for peripheral control chip of microcomputer
JPS5945555A (ja) * 1982-09-07 1984-03-14 Seiko Epson Corp 割込処理システムの構成
JPS59161738A (ja) * 1984-02-27 1984-09-12 Hitachi Ltd 外部割り込み処理制御方法

Family Cites Families (3)

* 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
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPS56118128A (en) * 1980-02-22 1981-09-17 Matsushita Electric Ind Co Ltd Interruption controlling system for peripheral control chip of microcomputer
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
JPH0619718B2 (ja) 1994-03-16
EP0192956A1 (en) 1986-09-03
EP0192956B1 (en) 1990-04-25
DE3670705D1 (de) 1990-05-31

Similar Documents

Publication Publication Date Title
US4980820A (en) Interrupt driven prioritized queue
EP0137437B1 (en) Method for initializing a token-passing local-area network
US4809217A (en) Remote I/O port for transfer of I/O data in a programmable controller
US6859669B2 (en) Apparatus and method of controlling activation of home automation system
CA1183273A (en) Interface mechanism between a pair of processors, such as host and peripheral-controlling processors in data processing systems
US5031091A (en) Channel control system having device control block and corresponding device control word with channel command part and I/O command part
US4322793A (en) Communication controller transparently integrated into a host CPU
JP2812959B2 (ja) マルチチャンネルデータ通信制御器
US4041473A (en) Computer input/output control apparatus
US4954950A (en) Terminal communications circuit
EP1199641B1 (en) Data processing device used in serial communication system
US5159684A (en) Data communication interface integrated circuit with data-echoing and non-echoing communication modes
US3949371A (en) Input-output system having cyclical scanning of interrupt requests
KR100230451B1 (ko) 디지털 신호처리 프로세서의 비동기방식 직렬데이터 송수신 방법
US5742502A (en) Method and apparatus for generating synchronous data transmissions in a device having a universal asynchronous receiver/transmitter
JPS61201339A (ja) 割込制御装置
JP3051798B2 (ja) 出力制御装置および出力制御方法
EP0270896A2 (en) Data link and method of transferring data for personal computer system
EP0251234B1 (en) Multiprocessor interrupt level change synchronization apparatus
EP0640925B1 (en) Data processing system having serial interface
JPS63228856A (ja) 通信制御装置
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
JPS63228855A (ja) 通信制御装置
CN112241380A (zh) 应用于pcie对异质设备的中断处理系统与方法
JP3777304B2 (ja) マイクロプログラムロード方式