JPH02190955A - 入出力制御方式 - Google Patents
入出力制御方式Info
- Publication number
- JPH02190955A JPH02190955A JP970889A JP970889A JPH02190955A JP H02190955 A JPH02190955 A JP H02190955A JP 970889 A JP970889 A JP 970889A JP 970889 A JP970889 A JP 970889A JP H02190955 A JPH02190955 A JP H02190955A
- Authority
- JP
- Japan
- Prior art keywords
- input
- cpu
- output
- control
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 description 55
- 239000000872 buffer Substances 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 101100524639 Toxoplasma gondii ROM3 gene Proteins 0.000 description 4
- 108091023231 Ap4A Proteins 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、マイクロコンピュータの入出力デバイスの制
御方式に関する。
御方式に関する。
パーソナルコンピュータやワープロ、ワークステーショ
ンでは、半導体技術の進歩に伴ない高性能マイクロプロ
セッサや周辺LSIが安価に供給される様になったため
、次々に新機種が発表されるに至った。また、オペレー
ティングシステムやアプリケーションソフトウェアの機
能を向上させた新モデル展開が頻繁に行なわれるように
なった。
ンでは、半導体技術の進歩に伴ない高性能マイクロプロ
セッサや周辺LSIが安価に供給される様になったため
、次々に新機種が発表されるに至った。また、オペレー
ティングシステムやアプリケーションソフトウェアの機
能を向上させた新モデル展開が頻繁に行なわれるように
なった。
一方、入力装置の進歩も目覚ましいものがある。
ハードディスクやフロンピディスクでは小型、大容量化
が進み、プリンタでは高速、高品質の方向に行き、通信
でも回線の高速化や異機種間接続のための通信プロトコ
ルが出現している。
が進み、プリンタでは高速、高品質の方向に行き、通信
でも回線の高速化や異機種間接続のための通信プロトコ
ルが出現している。
しかし、新しい入出力装置を採用するためには。
オペレーティングシステムやアプリケーションソフトウ
ェアの手直しが必要になり、従来装置を使っているユー
ザはソフトウェアの入替えを行なわなければならず、上
記のように、新機種が次々に開発されるに至っては、ハ
ードウェアとソフトウェアを対応させるのはユーザもメ
ーカ側も大変となる。いかに新入出力装置とソフトウェ
アの互換性をとるかが大きな課題となっている。
ェアの手直しが必要になり、従来装置を使っているユー
ザはソフトウェアの入替えを行なわなければならず、上
記のように、新機種が次々に開発されるに至っては、ハ
ードウェアとソフトウェアを対応させるのはユーザもメ
ーカ側も大変となる。いかに新入出力装置とソフトウェ
アの互換性をとるかが大きな課題となっている。
ところで、ソフトウェアの構成方法を見ると、例えば、
マイクロソフト社が開発しパーソナルコンピュータで広
く使われているMS−DOSオペレーティングシステム
では、ハードウェアを直接制御する部分はデバイスドラ
イバに集め、その上にオペレーティングシステムとアプ
リケーションプログラムを構築し、ハードウェアに依存
しない形にしてソフトウェアの拡張を行なっている。い
いかえると、ハードウェアであるデバイスの上にデバイ
スドライバ、オペレーティングシステム。
マイクロソフト社が開発しパーソナルコンピュータで広
く使われているMS−DOSオペレーティングシステム
では、ハードウェアを直接制御する部分はデバイスドラ
イバに集め、その上にオペレーティングシステムとアプ
リケーションプログラムを構築し、ハードウェアに依存
しない形にしてソフトウェアの拡張を行なっている。い
いかえると、ハードウェアであるデバイスの上にデバイ
スドライバ、オペレーティングシステム。
アプリケーションプログラムを積み上げており、デバイ
スドライバがドライバの仕様変更をすべて吸収しており
、ハードウェアとオペレーティングシステム、アプリケ
ーションといったソフトウェアの緩衝地帯となっている
。
スドライバがドライバの仕様変更をすべて吸収しており
、ハードウェアとオペレーティングシステム、アプリケ
ーションといったソフトウェアの緩衝地帯となっている
。
このデバイスドライバは1通常、オペレーティングと一
緒に供給されるため、新しいデバイスに交換したときに
は、その都度、新しいバージョンのオペレーティングシ
ステムに入れ替えなければならない。
緒に供給されるため、新しいデバイスに交換したときに
は、その都度、新しいバージョンのオペレーティングシ
ステムに入れ替えなければならない。
アプリケーションソフトウェアだけを考えると、例えば
、特開昭63−108459号公報のように、メモリカ
ードでプログラムを供給し、メモリカードの交換によっ
てプログラム入れ替えを行なう方法もあるが、ハードウ
ェア資源の仕様変更に対しては考慮されていない。
、特開昭63−108459号公報のように、メモリカ
ードでプログラムを供給し、メモリカードの交換によっ
てプログラム入れ替えを行なう方法もあるが、ハードウ
ェア資源の仕様変更に対しては考慮されていない。
以上の説明のように、′I!A在のマイクロコンピュー
タシステムは、入出力装置に対するソフトウェアの互換
性について配慮がされておらず、入出力装置の交換に伴
なってソフトウェアを入れ替えなければならないという
問題があった。
タシステムは、入出力装置に対するソフトウェアの互換
性について配慮がされておらず、入出力装置の交換に伴
なってソフトウェアを入れ替えなければならないという
問題があった。
本発明は上記事情に鑑みてなされたものであり、入出力
装置が変更・追加になってもソフトウェアの修正が全く
いらない入出力制御方式を提供することを目的とする。
装置が変更・追加になってもソフトウェアの修正が全く
いらない入出力制御方式を提供することを目的とする。
上記目的を達成するために、入出力装置をマイクロコン
ピュータシステムに接続するための入出力制御アダプタ
を設け、アダプタに入出力装置を直接制御する入出力デ
バイスと制御プログラムを記憶したROMを搭載し、マ
イクロプロセッサシステムの、例えばO8やアプリケー
ションプログラムなどの入出力デバイスを使用するソフ
トウェアからの呼出しで、上記の制御プログラムがマイ
クロプロセッサ上で実行されながら入出力デバイスを制
御するようにしたものである。
ピュータシステムに接続するための入出力制御アダプタ
を設け、アダプタに入出力装置を直接制御する入出力デ
バイスと制御プログラムを記憶したROMを搭載し、マ
イクロプロセッサシステムの、例えばO8やアプリケー
ションプログラムなどの入出力デバイスを使用するソフ
トウェアからの呼出しで、上記の制御プログラムがマイ
クロプロセッサ上で実行されながら入出力デバイスを制
御するようにしたものである。
また、マイクロプロセッサシステムの負荷を軽減するた
めに、アダプタに、さらに、別のマイクロコンピュータ
サブシステムを搭載し、入出力デバイスの制御をうけも
たせることにより、システムとサブシステムが並列処理
できるようにしたものである。
めに、アダプタに、さらに、別のマイクロコンピュータ
サブシステムを搭載し、入出力デバイスの制御をうけも
たせることにより、システムとサブシステムが並列処理
できるようにしたものである。
また、必要に応じて、アダプタにシステムとサブシステ
ムの両方からアクセスできる2ポートメモリを追加し、
2ポートメモリを介して、多量のデータの受渡しをでき
るようにしたものである。
ムの両方からアクセスできる2ポートメモリを追加し、
2ポートメモリを介して、多量のデータの受渡しをでき
るようにしたものである。
さらに、制御プログラムを記憶したROMのアクセス時
間が遅いときには、ROMの内容をシステムのメインメ
モリにコピーして、これをマイクロプロセッサで実行す
るようにしたものである。
間が遅いときには、ROMの内容をシステムのメインメ
モリにコピーして、これをマイクロプロセッサで実行す
るようにしたものである。
また、さらに、システムから見て、ROMのアドレス空
間が多きすぎたり、位置が問題になるときは、アドレス
変換回路で別のアドレス空間に動かすようにしたもので
ある。
間が多きすぎたり、位置が問題になるときは、アドレス
変換回路で別のアドレス空間に動かすようにしたもので
ある。
上記構成において、制御プログラムとこれを使用するソ
フトウェアとは互換性のあるインタフェースでデータの
交換を行なう、いずれもシステムのマイクロプロセッサ
で動作するため、物理的な位置が違っていてもとくに問
題はない、新しい入出力装置に置き換えるときは、新し
い入出力デバイスとこれを制御するプログラムがアダプ
タの交換によって一緒に入れ替わるので、従来のオペレ
ーティングシステムやアプリケーションソフトウェアが
そのまま使用できることになる。
フトウェアとは互換性のあるインタフェースでデータの
交換を行なう、いずれもシステムのマイクロプロセッサ
で動作するため、物理的な位置が違っていてもとくに問
題はない、新しい入出力装置に置き換えるときは、新し
い入出力デバイスとこれを制御するプログラムがアダプ
タの交換によって一緒に入れ替わるので、従来のオペレ
ーティングシステムやアプリケーションソフトウェアが
そのまま使用できることになる。
以下1本発明の一実施例を図面を使用して説明する。
第1図は本発明が採用されているマイクロコンピュータ
システムの構成例を示すブロック図である。同図におい
て、2は全体及び個々の装置の制御を統轄するCPUで
、このCPU2にはキーボード71からの入力データが
キーボードコントローラ7を介して与えられ、表示器5
1にCPU2の指示で文字や線分が表示コントローラ5
を介して表示される。6はFDコントローラで、CPU
2からの指令に従って、フロッピディスク(FD)61
を駆動制御する。ROM3は、プログラムをFD61か
ら読むためのローダが入っており、電源がオンすると、
CPU2は、ローダから実行し、FD61からプログラ
ムをRAM4に読み込んで処理をプログラムに移す。R
AM4のプログラムにはオペレーティングシステムやア
プリケーションソフトウェアがあるが、これらは本発明
の要旨とは直接関係しないため、ここではこれらをまと
めて入出力装置を動かすアプリケーションプログラム(
略してAP)と呼ぶことにする。
システムの構成例を示すブロック図である。同図におい
て、2は全体及び個々の装置の制御を統轄するCPUで
、このCPU2にはキーボード71からの入力データが
キーボードコントローラ7を介して与えられ、表示器5
1にCPU2の指示で文字や線分が表示コントローラ5
を介して表示される。6はFDコントローラで、CPU
2からの指令に従って、フロッピディスク(FD)61
を駆動制御する。ROM3は、プログラムをFD61か
ら読むためのローダが入っており、電源がオンすると、
CPU2は、ローダから実行し、FD61からプログラ
ムをRAM4に読み込んで処理をプログラムに移す。R
AM4のプログラムにはオペレーティングシステムやア
プリケーションソフトウェアがあるが、これらは本発明
の要旨とは直接関係しないため、ここではこれらをまと
めて入出力装置を動かすアプリケーションプログラム(
略してAP)と呼ぶことにする。
ROM3.RAM4.表示コントローラ5.FDコント
ローラ6、キーボードコントローラ7はシステムバス1
1を通してCPU2で制御され、これらは図中の点線に
示すシステム本体1に格納されている。表示[51,F
D61.キーボード71は各コントローラとケーブルで
接続される。
ローラ6、キーボードコントローラ7はシステムバス1
1を通してCPU2で制御され、これらは図中の点線に
示すシステム本体1に格納されている。表示[51,F
D61.キーボード71は各コントローラとケーブルで
接続される。
8はプリンタカードで、システム本体に挿入することに
よりシステムバス11と接続され、CPU2の制御に従
ってプリンタケーブル82で繋がっているプリンタ81
を印字駆動する。
よりシステムバス11と接続され、CPU2の制御に従
ってプリンタケーブル82で繋がっているプリンタ81
を印字駆動する。
9は通信カードで、プリンタカード8と同様に、システ
ム本体に挿入することによりシステムバス11と接続さ
れ、CPU2の制御に従って通信ケーブル91ヘデータ
の送信、受信を行なう。
ム本体に挿入することによりシステムバス11と接続さ
れ、CPU2の制御に従って通信ケーブル91ヘデータ
の送信、受信を行なう。
第2図は、第1図の実施例におけるプリンタカード8内
部の構成例を示すブロック図である。同図のプリンタコ
ントローラ84はプリンタケーブル82とシステムバス
11の間に位置し、CPU2からシステムバス11を通
してくる指令をプリンタケーブル82を介してプリンタ
81に伝えるための回路である。プリンタコントローラ
84は例えば、インテル社製、IC8255Aを用いる
。83はシステムバス11に接続されているROMで、
この中に記憶されているプリンタコントローラ制御プロ
グラムC以下、これをプリンタハンドラと呼ぶ)が、C
PU2により、プリンタコントローラ84を直接制御す
る。ROM83のプリンタハンドラは、上位のソフトウ
ェアであるRAM4のAPから呼出されてプリンタコン
トローラ84を駆動するハードウェア依存のプログラム
であり、これをプリンタカード8に収納している点が本
実施例の要点である。
部の構成例を示すブロック図である。同図のプリンタコ
ントローラ84はプリンタケーブル82とシステムバス
11の間に位置し、CPU2からシステムバス11を通
してくる指令をプリンタケーブル82を介してプリンタ
81に伝えるための回路である。プリンタコントローラ
84は例えば、インテル社製、IC8255Aを用いる
。83はシステムバス11に接続されているROMで、
この中に記憶されているプリンタコントローラ制御プロ
グラムC以下、これをプリンタハンドラと呼ぶ)が、C
PU2により、プリンタコントローラ84を直接制御す
る。ROM83のプリンタハンドラは、上位のソフトウ
ェアであるRAM4のAPから呼出されてプリンタコン
トローラ84を駆動するハードウェア依存のプログラム
であり、これをプリンタカード8に収納している点が本
実施例の要点である。
第3図は、第1図の実施例における通信カード9内部の
構成例を示すブロック図である。同図におイテ、CPU
94.ROM95.通信コントローラ97.及びバス9
8で、マイクロコンピュータサブシステムを植成してい
る。通信コントローラ97は、例えば、インテル社製、
IC8251Aを用いる。CPU94はカード内のRO
M93以外の回路の制御を統轄し、システム本体1のC
PU2と同時に動作(並列動作)することができる。こ
のCPU94には回、I!91からの受信データが通信
コントローラ97を介して入力され、CPU94の指示
で送信データが通信コントローラ97を介して回線91
に出力される。ROM95は、データの送受信を正しく
行なうためにあらかじめ決められた通信手順を実行する
プログラムが入っている。例えば、公衆網に接続するた
めのモデムの制御や、データ伝送の際の伝送誤りのチエ
ツク等である。国際標準として規格化されているデータ
伝送制御手順であるHDLC(h i g hleve
l data 1ink contr。
構成例を示すブロック図である。同図におイテ、CPU
94.ROM95.通信コントローラ97.及びバス9
8で、マイクロコンピュータサブシステムを植成してい
る。通信コントローラ97は、例えば、インテル社製、
IC8251Aを用いる。CPU94はカード内のRO
M93以外の回路の制御を統轄し、システム本体1のC
PU2と同時に動作(並列動作)することができる。こ
のCPU94には回、I!91からの受信データが通信
コントローラ97を介して入力され、CPU94の指示
で送信データが通信コントローラ97を介して回線91
に出力される。ROM95は、データの送受信を正しく
行なうためにあらかじめ決められた通信手順を実行する
プログラムが入っている。例えば、公衆網に接続するた
めのモデムの制御や、データ伝送の際の伝送誤りのチエ
ツク等である。国際標準として規格化されているデータ
伝送制御手順であるHDLC(h i g hleve
l data 1ink contr。
l procedures)手順のような高度な通信
手順を処理するプログラムを入れておけば。
手順を処理するプログラムを入れておけば。
これらのプログラムの実行をCPU94を中心としたマ
イクロコンピュータサブシステムが受は持つことができ
、システム本体1のCPU2の負荷が軽くなる。RAM
99はCPU94がデータを送受信するためのワークメ
モリである。
イクロコンピュータサブシステムが受は持つことができ
、システム本体1のCPU2の負荷が軽くなる。RAM
99はCPU94がデータを送受信するためのワークメ
モリである。
通信カードコントローラ96は通信カード9のアダプタ
コントローラとして動作する。このコントローラ96と
2ポートメモリ92は、CPU2を中心1としたマイク
ロコンピュータシステムとCPU94を中心としたマイ
クロコンピュータサブシステムの両方に接続されており
、その詳細は後で詳述する。CPU2からシステムバス
11を通して伝えられる指令は5通信カードコントロー
ラ96を介してCPU94への割込みとなり、これに従
ってROM95の通信プログラムが動く、逆に、ROM
95の通信プログラムがデータ受信を通知するときは、
CPU94から通信カードコントローラ96を介してC
PU2に割込みをかける。
コントローラとして動作する。このコントローラ96と
2ポートメモリ92は、CPU2を中心1としたマイク
ロコンピュータシステムとCPU94を中心としたマイ
クロコンピュータサブシステムの両方に接続されており
、その詳細は後で詳述する。CPU2からシステムバス
11を通して伝えられる指令は5通信カードコントロー
ラ96を介してCPU94への割込みとなり、これに従
ってROM95の通信プログラムが動く、逆に、ROM
95の通信プログラムがデータ受信を通知するときは、
CPU94から通信カードコントローラ96を介してC
PU2に割込みをかける。
送受信のデータは、2ポートメモリ92を介してCPU
2とCPU94間で受渡される。2ポートメモリ92に
は、システムバス11とサブシステムバス98の両方か
ら同時に読書きすることができる。この2ポートメモリ
92の具体例は第8図に示した。したがって回線91か
らの受信データをCPU94が2ポートメモリ92に書
いているときに、CPU2が前受信データを読出して処
理することができる。
2とCPU94間で受渡される。2ポートメモリ92に
は、システムバス11とサブシステムバス98の両方か
ら同時に読書きすることができる。この2ポートメモリ
92の具体例は第8図に示した。したがって回線91か
らの受信データをCPU94が2ポートメモリ92に書
いているときに、CPU2が前受信データを読出して処
理することができる。
93はシステムバス11に接続されているROMで、こ
の中に記憶されている通信制御プログラム(以下、これ
を通信カードハンドラと呼ぶ)が。
の中に記憶されている通信制御プログラム(以下、これ
を通信カードハンドラと呼ぶ)が。
RAM4のAPから呼出され、CPU2により、通信カ
ードコントローラ96を制御する。
ードコントローラ96を制御する。
第4図は、システム本体1のCPU2のメモリ空間16
M(メガ)バイトに対するメモリ割当て状態を示したも
のである。立上げプログラムの入ったROM3.APの
入ったRAM4の他に、キーボードコントローラ7、表
示コントローラ5゜FDコントローラ6、プリンタコン
トローラ84゜通信カードコントローラ96の各種コン
トローラがメモリ空間に割当てである。システム本体1
に搭載されていない通信カードハンドラ93.プリンタ
ハンドラ83のプログラムなども同メモリ空間の一部に
割当てられる。
M(メガ)バイトに対するメモリ割当て状態を示したも
のである。立上げプログラムの入ったROM3.APの
入ったRAM4の他に、キーボードコントローラ7、表
示コントローラ5゜FDコントローラ6、プリンタコン
トローラ84゜通信カードコントローラ96の各種コン
トローラがメモリ空間に割当てである。システム本体1
に搭載されていない通信カードハンドラ93.プリンタ
ハンドラ83のプログラムなども同メモリ空間の一部に
割当てられる。
第8図は、第3図の2ポートメモリ92の楕成例を示す
ブロック図である。2ポートメモリ92は、マイクロコ
ンピュータシステム、マイクロコンピュータサブシステ
ムの両方から読み出し/書き込み可能なRAM924.
システムバス11を制御するシステムバス制御部921
.サブシステムバス98を制御するサブシステムバス制
御部923、システムバス11とサブシステムバス98
から同時にRAM924をアクセスしたときのメモリ競
合調停を行なうメモリ競合調停部922からなる。シス
テムバス11とサブシステムバス98は独立した非同期
バスであり、お互を二は識せずにRAM924を自由に
アクセスできるようにするために、メモリ競合調停部9
22では、先着順にRAM924へのアクセス権を認め
、片方のバスがRAM924をアクセス中のとき他方の
バスからのアクセスを待たせるようにする。このメモリ
競合調停部922としては、例えば日立製IC・HD6
3310などを用いることができる。
ブロック図である。2ポートメモリ92は、マイクロコ
ンピュータシステム、マイクロコンピュータサブシステ
ムの両方から読み出し/書き込み可能なRAM924.
システムバス11を制御するシステムバス制御部921
.サブシステムバス98を制御するサブシステムバス制
御部923、システムバス11とサブシステムバス98
から同時にRAM924をアクセスしたときのメモリ競
合調停を行なうメモリ競合調停部922からなる。シス
テムバス11とサブシステムバス98は独立した非同期
バスであり、お互を二は識せずにRAM924を自由に
アクセスできるようにするために、メモリ競合調停部9
22では、先着順にRAM924へのアクセス権を認め
、片方のバスがRAM924をアクセス中のとき他方の
バスからのアクセスを待たせるようにする。このメモリ
競合調停部922としては、例えば日立製IC・HD6
3310などを用いることができる。
第9図は、本発明の一つの要部である第3図の通信カー
ドコントローラ96の一実施例を示すブロック図である
。通信カードコントローラ96は。
ドコントローラ96の一実施例を示すブロック図である
。通信カードコントローラ96は。
システムバス11を制御するシステムバス制御部961
、サブシステムバス98を制御するサブシステムバス制
御部966、システムバス11上のCPU2からサブシ
ステムバス98上のCPU94への動作指示の有無を示
す起動フラグ962、動作指示情報を格納する起動レジ
スタ963、CPU94からCP U、 2への報告フ
ラグ965、報告情報を格納する報告レジスタ964か
らなる。
、サブシステムバス98を制御するサブシステムバス制
御部966、システムバス11上のCPU2からサブシ
ステムバス98上のCPU94への動作指示の有無を示
す起動フラグ962、動作指示情報を格納する起動レジ
スタ963、CPU94からCP U、 2への報告フ
ラグ965、報告情報を格納する報告レジスタ964か
らなる。
次に第8図、第9図を用いて通信カード9の送信動作に
ついて説明する。CPU2は2ポートメモリ92のRA
M924に送信データを設定し、起動レジスタ963に
送信指示動作情報を設定した後、起動フラグ962をセ
ットする。これによりCPU94に割込み968が発生
し、CPU2から動作起動がかかったことを知る。その
後、CPU94は起動レジスタ963の内容をRAM9
9内に退避し、起動フラグ962をリセットした後、動
作指示内容にしたがってデータ送信を開始する。起動フ
ラグ962はCPU2から読出し可能であり、CPU2
は起動フラグ962がリセットされたことで、通信カー
ド9が次の動作指示を受は入れ可能であることを知る。
ついて説明する。CPU2は2ポートメモリ92のRA
M924に送信データを設定し、起動レジスタ963に
送信指示動作情報を設定した後、起動フラグ962をセ
ットする。これによりCPU94に割込み968が発生
し、CPU2から動作起動がかかったことを知る。その
後、CPU94は起動レジスタ963の内容をRAM9
9内に退避し、起動フラグ962をリセットした後、動
作指示内容にしたがってデータ送信を開始する。起動フ
ラグ962はCPU2から読出し可能であり、CPU2
は起動フラグ962がリセットされたことで、通信カー
ド9が次の動作指示を受は入れ可能であることを知る。
これは、通信カード9がCPU2からの動作指示を、紛
失することなく連続的に受は入れること馨可能にするた
めのインタフェースである。
失することなく連続的に受は入れること馨可能にするた
めのインタフェースである。
また、該処理は、データ通信とは非同期に1割込み処理
として速やかに実行される。
として速やかに実行される。
次に受信動作について説明する。回線91からの受信デ
ータは通信コントローラ97により2ポートメモリ92
に転送した後、受信動作の終結をCPU94に知らせる
。CPU94は通信コントローラ97の終結状態を見て
受信が正常に行なねれたことを確認し、受信報告情報を
報告レジスタ964に設定し、報告フラグ965をセッ
トする。
ータは通信コントローラ97により2ポートメモリ92
に転送した後、受信動作の終結をCPU94に知らせる
。CPU94は通信コントローラ97の終結状態を見て
受信が正常に行なねれたことを確認し、受信報告情報を
報告レジスタ964に設定し、報告フラグ965をセッ
トする。
これによりCPUへ割込み967が発生し、CPU2は
、報告レジスタ964の報告情報を読みとった後、報告
フラグをリセットする。CPU94は報告フラグがリセ
ットされたことで、次の通信カード9からの報告をCP
U2が処理可能であることを知る。
、報告レジスタ964の報告情報を読みとった後、報告
フラグをリセットする。CPU94は報告フラグがリセ
ットされたことで、次の通信カード9からの報告をCP
U2が処理可能であることを知る。
これは、CPU2がCPU94からの報告を、紛失する
ことなく連続的に受は入れることを可能とするためのイ
ンタフェースである。
ことなく連続的に受は入れることを可能とするためのイ
ンタフェースである。
起動レジスタ963はCPU2から読み出し/書き込み
可能なレジスタ、報告レジスタ964はCPU94から
読み出し/書き込み可能なレジスタである。いずれも、
読み出しを可能にしているのは、レジスタの故障チエツ
クを書き込み側のCPUで行なうためである。
可能なレジスタ、報告レジスタ964はCPU94から
読み出し/書き込み可能なレジスタである。いずれも、
読み出しを可能にしているのは、レジスタの故障チエツ
クを書き込み側のCPUで行なうためである。
つぎに第1図に示した本発明の動作について、回線91
からのデータをプリンタ81に印字する例で説明する。
からのデータをプリンタ81に印字する例で説明する。
第5図はRAM4のAP、第6図はROM83のプリン
タハンドラ、第7図はROM93の通信カードハンドラ
のフローチャートの例を示したものである。第7図のR
OM93には3つの通信カードハンドラが入っているも
のとする。
タハンドラ、第7図はROM93の通信カードハンドラ
のフローチャートの例を示したものである。第7図のR
OM93には3つの通信カードハンドラが入っているも
のとする。
最初に電源が入ると、ROM3の立上げプログラムでF
D61からRAM4に、第4図に示す。
D61からRAM4に、第4図に示す。
FDハンドラ、表示ハンドラ、キーボードハンドラ4b
をロードし、続いて割込みベクタ4Cのあらかじめ決め
られた位置にFDハンドラ、表示ハンドラ、キーボード
ハンドラ4bとプリンタハンドラ832通信ハンドラの
3つのプログラムの先頭位置を書込む。以降、外部割込
みや内部の割込み命令によって、各ハンドラを呼出すこ
とができる。つぎにFDハンドラを用いてFD 61か
らRAM4にA P 4 aをロードしてAP4aに処
理を移す。
をロードし、続いて割込みベクタ4Cのあらかじめ決め
られた位置にFDハンドラ、表示ハンドラ、キーボード
ハンドラ4bとプリンタハンドラ832通信ハンドラの
3つのプログラムの先頭位置を書込む。以降、外部割込
みや内部の割込み命令によって、各ハンドラを呼出すこ
とができる。つぎにFDハンドラを用いてFD 61か
らRAM4にA P 4 aをロードしてAP4aに処
理を移す。
AP4 aは第5図のフローチャートに従って動作する
。まずステップA1で通信カード9が挿入されているか
チエツクし、挿入されていればステップA2で通信カー
ドハンドラ93の初期処理部を呼出して通信カード9の
中を初期化する。第7図(a)に通信ハンドラ初期処理
部のフローチャートを示す。ステップE1で通信カード
9内部の2ポートメモリ92や通信カードコントローラ
97を初期化し、ステップE2で2ポートメモリ上に受
信バッファエリアを複数個定義して待ち行列にしてつな
げておく。これを空キューと呼ぶ。ステップ3では空キ
ューから先頭の受信バッファを取出し、これを通信カー
ドコントローラ96を介してROM95の通信プログラ
ムに渡して受信指示して処理を終了し、呼出し元の第5
図のステップA−3へ戻る。ステップA3ではプリンタ
力−ド8の有無をチエツクする。ステップAl、ステッ
プA3で通信カード9やプリンタカード8が挿入されて
いなければAPの処理を終了する。もし通信カード9や
プリタカードが無い状態で通信カードハンドラ93やプ
リンタハンドラ83を呼出した場合、ハンドラプログラ
ムが存在していないためにCPU2は暴走する。ステッ
プAl、ステップA3はこれを防ぐためのチエツク処理
である。
。まずステップA1で通信カード9が挿入されているか
チエツクし、挿入されていればステップA2で通信カー
ドハンドラ93の初期処理部を呼出して通信カード9の
中を初期化する。第7図(a)に通信ハンドラ初期処理
部のフローチャートを示す。ステップE1で通信カード
9内部の2ポートメモリ92や通信カードコントローラ
97を初期化し、ステップE2で2ポートメモリ上に受
信バッファエリアを複数個定義して待ち行列にしてつな
げておく。これを空キューと呼ぶ。ステップ3では空キ
ューから先頭の受信バッファを取出し、これを通信カー
ドコントローラ96を介してROM95の通信プログラ
ムに渡して受信指示して処理を終了し、呼出し元の第5
図のステップA−3へ戻る。ステップA3ではプリンタ
力−ド8の有無をチエツクする。ステップAl、ステッ
プA3で通信カード9やプリンタカード8が挿入されて
いなければAPの処理を終了する。もし通信カード9や
プリタカードが無い状態で通信カードハンドラ93やプ
リンタハンドラ83を呼出した場合、ハンドラプログラ
ムが存在していないためにCPU2は暴走する。ステッ
プAl、ステップA3はこれを防ぐためのチエツク処理
である。
第5図のステップA4では通信ハンドラ93のAP処理
部を呼出して受信データを受取る。もしまだデータが送
られてこなければ、ステップA5で再度ステップA4の
通信カードハンドラ93を呼出す。データが受信される
までステップA4とステップA5を繰返すが、APを複
数個持っているシステムでは、この間に別のAPを実行
することもできる。データが受信されると、ステップA
6に移り、ここでプリンタハンドラ83を呼出して受信
データをプリンタ81に印字させ、再び受信データを持
つ。
部を呼出して受信データを受取る。もしまだデータが送
られてこなければ、ステップA5で再度ステップA4の
通信カードハンドラ93を呼出す。データが受信される
までステップA4とステップA5を繰返すが、APを複
数個持っているシステムでは、この間に別のAPを実行
することもできる。データが受信されると、ステップA
6に移り、ここでプリンタハンドラ83を呼出して受信
データをプリンタ81に印字させ、再び受信データを持
つ。
つぎに1通信カードハンドラ93の通信カード処理部を
第7図(b)のフローチャートを参照しながら説明する
。通信カードハンドラ93の通信カード処理部は、サブ
システムがデータを受信すると通信カードコントローラ
96を介してCPU2に割込みを発生させ、これによっ
て呼出される。
第7図(b)のフローチャートを参照しながら説明する
。通信カードハンドラ93の通信カード処理部は、サブ
システムがデータを受信すると通信カードコントローラ
96を介してCPU2に割込みを発生させ、これによっ
て呼出される。
ステップD1では受信データが入っている受信バッファ
を待ち行列としてつなげる。
を待ち行列としてつなげる。
これを処理キューと呼ぶ。つぎにステップD2で空キュ
ーを調べ、受信バッファがあればステップD3に移って
、ステップE3と同様に、サブシステムに受信バッファ
を渡して受信起動を指示する。
ーを調べ、受信バッファがあればステップD3に移って
、ステップE3と同様に、サブシステムに受信バッファ
を渡して受信起動を指示する。
ステップD2で受信バッファが空いていなければそのま
ま処理を終了し、割込みで中断した処理を再開する。受
信バッファが空いていないというのは全受信バッファが
プリンタに印字待ちになっている状態である。
ま処理を終了し、割込みで中断した処理を再開する。受
信バッファが空いていないというのは全受信バッファが
プリンタに印字待ちになっている状態である。
第7図(a)の通信カードハンドラ93のAP処理部は
第5図のAPから呼出される。ステップC1で処理キュ
ーを見て受信データの有無をチエツクし、無ければ処理
を終了して呼出し元へ戻る。
第5図のAPから呼出される。ステップC1で処理キュ
ーを見て受信データの有無をチエツクし、無ければ処理
を終了して呼出し元へ戻る。
受信データが有る場合は、ステップC2で、受信バッフ
ァから受信データを取出してAPのあらかじめ決められ
たエリアにコピーし、ステップC3で受信バッファを空
キューに戻す。つぎに、ステップC4でサブシステムが
受信起動されているかを調べ、起動されていなければ、
ステップC5で、ステップD3、ステップE3と同じ方
法でサブシステムに空キューの受信バッッファを渡して
受信起動を指示する。受信起動がすでに行なわれている
場合は処理を終了する。
ァから受信データを取出してAPのあらかじめ決められ
たエリアにコピーし、ステップC3で受信バッファを空
キューに戻す。つぎに、ステップC4でサブシステムが
受信起動されているかを調べ、起動されていなければ、
ステップC5で、ステップD3、ステップE3と同じ方
法でサブシステムに空キューの受信バッッファを渡して
受信起動を指示する。受信起動がすでに行なわれている
場合は処理を終了する。
第6図はプリンタハンドラ83のフローチャートである
。ここではプリンタ81がJIS漢字コードを扱うのに
対し、回線データがシフトJIS漢字コードであるとし
、プリンタハンドラ83でシフトJISからJISコー
ドへのコード変換を行なうものとする。コード変換テー
ブルは、第4図に示すように、プリンタハンドラ83の
ROM83の中に83bとして格納されている。第6図
のステップB1でプリンタ81を起動した後、受信デー
タを順番にAPのバッファから読み出してステップB2
で上記のコード変換を行ない、ステップB3で変換され
たコードをプリンタ81に出力する。つぎにステップB
4でバッファのアドレスを更新し、受信データが無くな
るまでステップB2からステップB5を繰返す。
。ここではプリンタ81がJIS漢字コードを扱うのに
対し、回線データがシフトJIS漢字コードであるとし
、プリンタハンドラ83でシフトJISからJISコー
ドへのコード変換を行なうものとする。コード変換テー
ブルは、第4図に示すように、プリンタハンドラ83の
ROM83の中に83bとして格納されている。第6図
のステップB1でプリンタ81を起動した後、受信デー
タを順番にAPのバッファから読み出してステップB2
で上記のコード変換を行ない、ステップB3で変換され
たコードをプリンタ81に出力する。つぎにステップB
4でバッファのアドレスを更新し、受信データが無くな
るまでステップB2からステップB5を繰返す。
上記詳述した本発明の実施例では、プリンタハンドラ8
3や通信カードハンドラ93をカードの1く0Mに記憶
されたまま実行したが、これを、旦、RAM4にコピー
してRAM4上で動かすこともできる。また、各ハンド
ラをメモリ空間の固定位置に割付けたが、ハンドラプロ
グラムを再配置可能な構造にしてシステムでハンドラの
配置を自由に変えて動かすこともできる。また、各ハン
ドラの呼出し方法として割込みベクタを用いたが、テー
ブルを使ったり、直接呼出すこともできる。
3や通信カードハンドラ93をカードの1く0Mに記憶
されたまま実行したが、これを、旦、RAM4にコピー
してRAM4上で動かすこともできる。また、各ハンド
ラをメモリ空間の固定位置に割付けたが、ハンドラプロ
グラムを再配置可能な構造にしてシステムでハンドラの
配置を自由に変えて動かすこともできる。また、各ハン
ドラの呼出し方法として割込みベクタを用いたが、テー
ブルを使ったり、直接呼出すこともできる。
また、プリンタと通信について説明したが、本発明はデ
ィスク装置や一般の入出力装置全てに適用することがで
きることはいうまでもない。
ィスク装置や一般の入出力装置全てに適用することがで
きることはいうまでもない。
[発明の効果]
以上説明したように本発明によれば、ハードウエアを制
御するプログラムをハードウェアと一緒に提供できるの
で従来ソフトウェアを変更せずにそのまま動かすことが
できるという効果がある。
御するプログラムをハードウェアと一緒に提供できるの
で従来ソフトウェアを変更せずにそのまま動かすことが
できるという効果がある。
また、ハードウェアとソフトウェアを対応づける必要が
ないためユーザ、メーカともに管理が簡単になる。
ないためユーザ、メーカともに管理が簡単になる。
第1図は本発明の一実施例を示すマイクロコンピュータ
システムのブロック構成図、第2図、第3図は第1図の
実施例中、カード8.9のブロック構成図、第4図は第
1図のシステムの記憶構成図、第5図はアプリケーショ
ンソフトウェアの動作を示すフローチャート、第6図、
第7図はプリンタと通信のハードウェア制御動作を示す
フローチャート、第8図及び第9図は第3図の実施例中
、2ボ一トメモリ921通信カードコントローラ96の
詳細ブロック構成図である。 1・・・マイクロコンピュータシステム、2・・・CP
U、3・・・ROM、4・・・RAM、5・・・表示コ
ントローラ、6・・・FDコントローラ、7・・・キー
ボードコントローラ、 8・・・プリンタカード、 9・・・通信カー 第:5目 晃20 晃4圓 光7目 (θ) (b> (の 第8圀
システムのブロック構成図、第2図、第3図は第1図の
実施例中、カード8.9のブロック構成図、第4図は第
1図のシステムの記憶構成図、第5図はアプリケーショ
ンソフトウェアの動作を示すフローチャート、第6図、
第7図はプリンタと通信のハードウェア制御動作を示す
フローチャート、第8図及び第9図は第3図の実施例中
、2ボ一トメモリ921通信カードコントローラ96の
詳細ブロック構成図である。 1・・・マイクロコンピュータシステム、2・・・CP
U、3・・・ROM、4・・・RAM、5・・・表示コ
ントローラ、6・・・FDコントローラ、7・・・キー
ボードコントローラ、 8・・・プリンタカード、 9・・・通信カー 第:5目 晃20 晃4圓 光7目 (θ) (b> (の 第8圀
Claims (1)
- 【特許請求の範囲】 1、バスに接続されたマイクロプロセッサ、メインメモ
リ、各種入出力デバイス、入出力制御アダプタ用ポート
を含むマイクロコンピュータシステムにおいて、該入出
力デバイスとその制御プログラムを記憶した第1のRO
Mで構成される入出力制御アダプタを前記入出力制御ア
ダプタ用ポートに搭載し、前記マイクロプロセッサで前
記制御プログラムを直接実行して前記アダプタ上の前記
入出力デバイスを制御できるようにした入出力制御方式
。 2、前記入出力制御アダプタが、前記入出力デバイスと
これを制御する別のマイクロコンピュータサブシステム
及びアダプタコントローラ、第2のROMで構成され、
該第2のROMの制御プログラムが該アダプタコントロ
ーラ、該マイクロコンピュータサブシステムを通して前
記入出力デバイスを制御できるようにした請求項1記載
の入出力制御方式。 3、前記入出力アダプタに、入出力デバイスとこれを制
御する別のマイクロコンピュータサブシステムと、前記
第1のROMと該サブシステムとからアクセスできる2
ポートメモリを追加し、該2ポートメモリを介してデー
タの受渡しができるようにした請求項2記載の入出力制
御方式。 4、前記第1のROM内容を前記メインメモリにコピー
してこれを前記マイクロプロセッサで実行することによ
り前記入出力デバイスの制御を行なうようにした請求項
1、2又は3記載の入出力制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP970889A JPH02190955A (ja) | 1989-01-20 | 1989-01-20 | 入出力制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP970889A JPH02190955A (ja) | 1989-01-20 | 1989-01-20 | 入出力制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02190955A true JPH02190955A (ja) | 1990-07-26 |
Family
ID=11727747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP970889A Pending JPH02190955A (ja) | 1989-01-20 | 1989-01-20 | 入出力制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02190955A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006209581A (ja) * | 2005-01-31 | 2006-08-10 | Nec Engineering Ltd | 制御システム |
US7350009B2 (en) | 2000-03-08 | 2008-03-25 | Kabushiki Kaisha Toshiba | Electronic device with card interface |
-
1989
- 1989-01-20 JP JP970889A patent/JPH02190955A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7350009B2 (en) | 2000-03-08 | 2008-03-25 | Kabushiki Kaisha Toshiba | Electronic device with card interface |
US7774533B2 (en) | 2000-03-08 | 2010-08-10 | Kabushiki Kaisha Toshiba | Electronic device with card interface |
US7779192B2 (en) | 2000-03-08 | 2010-08-17 | Kabushiki Kaisha Toshiba | Electronic device with card interface |
US8015338B2 (en) * | 2000-03-08 | 2011-09-06 | Kabushiki Kaisha Toshiba | Electronic device with card interface |
US8219733B2 (en) | 2000-03-08 | 2012-07-10 | Kabushiki Kaisha Toshiba | Electronic device with card interface |
US8516178B2 (en) | 2000-03-08 | 2013-08-20 | Kabushiki Kaisha Toshiba | Programmable memory system |
US9367503B2 (en) | 2000-03-08 | 2016-06-14 | Kabushiki Kaisha Toshiba | Electronic device with card interface |
US9965423B2 (en) | 2000-03-08 | 2018-05-08 | Toshiba Memory Corporation | Electronic device with card interface |
JP2006209581A (ja) * | 2005-01-31 | 2006-08-10 | Nec Engineering Ltd | 制御システム |
JP4698238B2 (ja) * | 2005-01-31 | 2011-06-08 | Necエンジニアリング株式会社 | 制御システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6389495B1 (en) | Dedicated circuit and method for enumerating and operating a peripheral device on a universal serial bus | |
KR970000842B1 (ko) | 정보 처리 시스템 및 컴퓨터 시스템 | |
US6675248B1 (en) | Apparatus, method and system for accelerated graphics port bus bridges | |
US5878272A (en) | Computer system having two DMA circuits assigned to the same address space | |
US4975829A (en) | Communication interface protocol | |
US5819112A (en) | Apparatus for controlling an I/O port by queuing requests and in response to a predefined condition, enabling the I/O port to receive the interrupt requests | |
US5165022A (en) | Channel and control unit having a first I/O program protocol for communication with a main processor and a second universal I/O program protocol for communication with a plurality of I/O adapters | |
US5937200A (en) | Using firmware to enhance the functionality of a controller | |
EP1131732B1 (en) | A direct memory access engine for supporting multiple virtual direct memory access channels | |
EP1909474A1 (en) | Image processor and its control method | |
CN107967225B (zh) | 数据传输方法、装置、计算机可读存储介质和终端设备 | |
US6128674A (en) | Method of minimizing host CPU utilization in driving an adapter by residing in system memory a command/status block a soft interrupt block and a status block queue | |
JPH08235106A (ja) | アップグレード・プロセッサのインタフェース方法及びシステム | |
KR960016420B1 (ko) | 버스 어댑터 시스템 | |
KR20010040936A (ko) | 2차 버스로부터의 메시징 유닛 액세스 | |
US6173341B1 (en) | System and method for configuring adapters in a computer system | |
CN112131176B (zh) | 一种基于pcie的fpga快速局部重构方法 | |
KR100316190B1 (ko) | 로컬 메모리에서 패킷화된 동작 정보의 기억을 통한 입출력 성능을 증가시키기 위한 시스템 | |
US8527745B2 (en) | Input/output device including a host interface for processing function level reset requests and updating a timer value corresponding to a time until application hardware registers associated with the function level reset requests are available | |
JPH02190955A (ja) | 入出力制御方式 | |
US6006284A (en) | Method and apparatus for driving a parallel part to provide multiple modes of communications between a host and a peripheral | |
US20200265000A1 (en) | Information processing system | |
EP0196661A2 (en) | Bridging facility for supporting multiple operating systems via a shell | |
US5974477A (en) | Image forming apparatus capable of receiving data in high speed in accordance with high speed data transmission interface | |
US20050144336A1 (en) | Method and apparatus for data sharing |