JP2758257B2 - 計算機システム - Google Patents

計算機システム

Info

Publication number
JP2758257B2
JP2758257B2 JP20947190A JP20947190A JP2758257B2 JP 2758257 B2 JP2758257 B2 JP 2758257B2 JP 20947190 A JP20947190 A JP 20947190A JP 20947190 A JP20947190 A JP 20947190A JP 2758257 B2 JP2758257 B2 JP 2758257B2
Authority
JP
Japan
Prior art keywords
interrupt
expansion card
expansion
unit
routine
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
JP20947190A
Other languages
English (en)
Other versions
JPH0495148A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP20947190A priority Critical patent/JP2758257B2/ja
Publication of JPH0495148A publication Critical patent/JPH0495148A/ja
Application granted granted Critical
Publication of JP2758257B2 publication Critical patent/JP2758257B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、計算機本体および拡張ユニットに実装され
る各種の拡張カードに対してメインプロセッサから共通
の方法でアクセスする計算機システムに関する。
(従来の技術) 従来から通信制御、PIO入出力(Programmable Input/
Output)、グラフィック機能等メインプロセッサボード
の機能を補足するために、システムバス上に種々の拡張
カードを接続する方法が広く用いられている。このと
き、これらの拡張カードとメインプロセッサとの間で情
報のやりとりをとるために共有メモリ空間、I/O空間、
割込みライン等の資源が利用されている。
(発明が解決しようとする課題) しかしながら、以上のような構成のメインプロセッサ
ボードにあっては、拡張カードに対し例えば共有メモリ
やI/O空間のアドレスや割込みラインの番号が半固定的
に決められていたり、或いはシステムにおいてアクセス
方式が標準的に定まっていないために拡張カードのドラ
イバ毎に独自のアクセス方式を定めていることから、拡
張カードの実装場所を変えたり、組み合わやカードの枚
数を変更したりすると、その都度拡張カードのドライバ
プログラムを変更しなければならない問題があり、シス
テムの拡張性、保守性、信頼性に乏しい計算機システム
となってしまう。また、拡張カードの種類が多いとき、
同様の機能の実現するために複数のドライバプログラム
が必要であり、システム開発上のムダや管理の煩雑さを
招く等の問題がある。
本発明は上記実情にかんがみてなされたものであっ
て、計算機本体および拡張ユニット内に実装される拡張
カードに対する初期化、割込み制御のアクセスの標準化
を図り、かつ、拡張カードの組合わせやカード枚数の変
更に対して柔軟に対処しうる拡張カードドライバプログ
ラムを有する計算機システムを提供することを目的とす
る。
[発明の構成] (課題を解決するための手段) 本発明に係わる計算機システムは上記課題を解決する
ために、拡張カードを実装する計算機本体及び拡張ユニ
ットからなる計算機システムにおいて、前記計算機本体
のバスに接続された第1の拡張カードの割込みを行う本
体側割込みコントローラと前記拡張ユニットに接続され
た第2の拡張カードの割込みを行うユニット側割込みコ
ントローラとを共通の割込みコントローラ初期化ルーチ
ンを用いて初期化する機能と、前記第1又は第2の拡張
カードからの割込みが発生すると共通的に呼ばれる共通
割込みハンドラが、この割込みを行った前記第1又は第
2の拡張カードの要求する拡張カードドライバプログラ
ムの割込みハンドラルーチンをコールして割込み処理を
行う機能と、各拡張カードドライバプログラムに共通の
拡張カード初期化ルーチンを組み込むことによりシステ
ム初期化時に前記各拡張カードの初期化を自動的に行う
機能とを具備することにより、前記計算機本体のメイン
プロセッサからの前記各拡張カードへのアクセスを共通
に行う構成である。
(作用) 従って、本発明は以上のような機能を有することによ
り、計算機本体および拡張ユニットに実装される拡張カ
ードの割込みコントローラは共通の割込みコントローラ
初期化ルーチンにて初期化でき、共通割込みハンドラは
各拡張カードからの割込みに対して、この割込みをした
拡張カードの要求する拡張カードドライバプログラムの
割込みハンドラルーチンをコールして割込み処理を行
い、各拡張カードドライバプログラムに共通の拡張カー
ド初期化ルーチンを組込んでシステム初期化時に拡張カ
ードの初期化を自動的に行うことにより、メインプロセ
ッサから拡張カードに対し共通の方法でアクセスするこ
とができる。
(実施例) 以下、本発明の実施例について図面を参照して説明す
る。第1図は本発明の一実施例としてのソフトウエア構
成を示す機能ブロック図、第2図ないし第4図は本発明
の一実施例を示すハードウェア構成を示すブロック図で
ある。
先ず、本発明の適用されるハードウェア構成は第2図
に示す如く計算機本体20と拡張ユニット30とからなって
いる。
両者の計算機本体20は、システム全体の制御を行うメ
インプロセッサボード21と、複数の拡張カード22,…
と、拡張カードを増設する目的で接続される拡張ユニッ
トインターフェース23と、これらの構成要素21〜23を結
ぶシステムバス24とによって構成されている。
一方、後者の拡張ユニット30は、計算機本体20側のシ
ステムバス24の信号ラインに拡張インターフェース23を
介してデータの受け渡しを行う手段としての拡張ユニッ
トインターフェース31と、複数の拡張カード32,…と、
これらを結ぶシステムバス33とによって構成されてい
る。
なお、計算機本体20,拡張ユニット30内の拡張カード2
2、…、32、…は全く同じインターフェースをとり、こ
のため計算機本体20および拡張ユニット30の何れにも互
換性をもって実装できる。
第3図は拡張カード22、32の構成を示すブロック図で
ある。これらの拡張カード22,32は、カード固有の機能
を実現するためのローカルプロセッサ41とローカルメモ
リ42、メインプロセッサボード21との間の割込み管理を
行う割込み制御部43と、メインプロセッサボード21から
のコマンドを受けてバス24(33)上の割込みラインを選
択する割込みライン選択部44と、メインプロセッサボー
ド21との間の情報(データ)のやりとりを行うための共
有メモリ(デュアルポートメモリ)45と、この共有メモ
リ45をメインプロセッサボード21側から見たメモリ空間
のどこに割り付けるかを選択する共有メモリ空間選択部
46と、メインプロセッサボード21との間の割込み発生や
コマンド、ステータスのやりとりを行うためのI/O空間4
7と、このI/O空間47をメインプロセッサボード21側から
見たI/O空間のどこに割り付けるかを選択できるI/O空間
選択部48と、メインプロセッサボード21と共通に接続さ
れ情報の交換を行うシステムバス24(33)上へのデータ
やアドレス、割込みの受渡しを管理するバス制御部49と
から構成されている。
次に、第4図は計算機本体20および拡張ユニット30に
設けられた割込み制御ラインと割込みコントローラとの
関係を示す図である。この計算機本体20は、拡張カード
22、32からの割込みとその他の周辺機器からの割込みを
制御するために2つの割込みコントローラ25、26から構
成されている。そのうち、コントローラ25はマスター用
であって、一般的にはシステムクロックの割込みやプロ
セッサ、周辺機器からの割込み制御に用いられており、
その端子の1本(図ではIR4)が複数の拡張カード22、3
2からの割込みを制御するためにスレーブ割込みコント
ローラ26に接続されている。スレーブ割込みコントロー
ラ26は、その端子の何本かの割込みラインが拡張カード
22、32からの割込みラインとして利用されている。マス
ター割込みコントローラ25の割込みライン(図ではIR
7)は拡張ユニット30側に存在する割込みコントローラ3
5と接続されており、拡張ユニット30内の拡張カード2
2、32の割込みは割込みコントローラ35の端子の何本か
の割込みラインが利用されている。第4図の割込み制御
ラインと割込みコントローラの端子構成は一例を示した
ものであり、接続される機器の数とその構成により、更
に別の割込みコントローラが接続される場合も考えられ
る。
さらに、第5図はメインメモリ空間の割り付け例を示
す図である。本実施例では計算機本体20に4枚の拡張カ
ード22,…、拡張ユニット30に6枚の拡張カード32,…を
それぞれ実装した例であり、同図に示す様に実装された
拡張カード22,…,32,…の順に付けた番号に対応してメ
モリ空間を割り付ける例を示している。この図は各種の
拡張カード22とメインプロセッサボード21の共有メモリ
空間としてCOOOOOH〜FFFFFHの4Mバイトの空間を割り付
けた例である。
さらに、第6図はI/O空間の割り付け例と各種の拡張
カード22,…,32,…からの割込みベクタを登録する割込
みベクタテーブルの例を示す図である。同図においてOO
OOH〜FFFFHまでの64KのI/O空間は便宜上、計算機本体20
と拡張ユニット30とで重複しないアドレスが割り付けら
れており、それぞれ拡張カード22,…,32,…の番号によ
り一義的に定まる形をとっている。また、割込みベクタ
テーブルは、実際に割込みコントローラから割込み信号
が伝わった際に、それに対応する割込みハンドラのソフ
トウェアに制御を渡すためにそのハンドラの先頭アドレ
スを登録するためのテーブルであり、割込みコントロー
ラの接続側に合わせたテーブル構成が一般にとられてい
る。同図においては、計算機本体20の拡張カード22の割
込み用にIRQ1〜4の4種類、拡張ユニット30の拡張カー
ド32の割込み用にIRQ9〜14の6種類を用いた例を示して
いる。
次に、第1図にて以上のようなハードウェアを動作さ
せるためのソフトウェアの構成について説明する。同図
において1はシステムの立ち上げ時に動作するシステム
初期化ルーチンであって、このシステム初期化ルーチン
1は拡張カードドライバの初期化ルーチン22と、その他
のシステム初期化ルーチン3とに分けることができる。
4はシステム内で作成される複数のユーザアプリケーシ
ョン、5はシステム全体のソフトウェアの管理を行うオ
ペレーティングシステムである。6は複数の割込みコン
トローラを第4図で示す様な構成例に合わせて初期化す
る割込みコントローラ初期化ルーチンであり、7は初期
化後に拡張カード22,…,32,…からの割込み(第4図の
割込みコントローラ25のIR4ないしIR7)を共通的に処理
する共通割込みハンドラである。8はシステムに接続さ
れた複数の拡張カード22,…,32,…を駆動するための拡
張カードドライバルーチンで、実装される拡張カード2
2,…,32,…の種類だけ存在する。この拡張カードドライ
バルーチン8は、それぞれ拡張カード初期化ルーチン9
と、拡張カード毎の割込みハンドラ10と、拡張カード2
2,32固有の入出力処理等を行うその他の拡張カード処理
ルーチン11とに分類できる。
これらのソフトウェアのうち本実施例の特徴とする機
能モジュールは割込みコントローラ初期化ルーチン6、
共通割込みハンドラ7および拡張カード初期化ルーチン
9であるので、以下にこれらの処理ルーチンについて説
明する。
先ず、割込みコントローラ初期化ルーチン6は、第7
図に示すごとくシステムの初期化処理の一部であって、
第4図に示す計算機本体20の割込みコントローラ26と拡
張ユニット30の割込みコントローラ35とを、割込み制御
のコントローラの構成に合わせて初期化するためのルー
チンである。具体的には、計算機本体20の拡張カード22
の割込みコントローラ26の初期化を行った後(ステップ
S1)、所定のI/O空間をアクセスすることにより、拡張
ユニット30の有無をチェックする(ステップS2)。仮
に、拡張ユニット30が有れば(ステップS3)、拡張ユニ
ット30上に存在する拡張カード割込み入力用の割込みコ
ントローラ35も合わせて初期化することになる(ステッ
プS4)。
次に、第8図は全ての拡張カード22,…,32,…からの
割込みを一元的に管理するための共通割込みハンドラの
処理の流れを示す図である。この共通割込みハンドラ7
は拡張カード22,…,32,…から割込みが発生すると共通
的に呼ばれる。先ず、このルーチンでは、計算機本体20
の割込みコントローラ25の割込みベクタを読み込んだ後
(ステップS11)、計算機本体20側の拡張カード22の割
込みか拡張ユニット30側の拡張カード32の割込みかを判
断する(ステップS12)。計算機本体20側の拡張カード2
2の割込みの場合、本体20側のスレーブ割込みコントロ
ーラ26の割込みベクタを読み出し、どの拡張カード22か
らの割込みかを判断する(ステップS13、S14)。割込み
コントローラ26の割込みベクタから割込みベクタテーブ
ルを参照し、該当するドライバルーチン8の中の割込み
ハンドラルーチン10をコールし、カード個別の割込み処
理を行う(ステップS15)。
ステップ12において拡張ユニット30側の拡張カード32
の割込みの場合には、拡張ユニット30側の割込みコント
ローラ35の割込みベクタを読み出し、どの拡張カード32
からの割込みかを判断する(ステップS16、S17)。しか
る後、割込みコントローラ35の割込みベクタから割込み
ベクタテーブルを参照し、該当するドライバルーチン8
のうち割込みハンドラルーチン10をコールし、カード個
別の割込み処理を行う(ステップS18)。そして、割込
み処理を行った後、割込みコントローラ25の割込み完了
処理を行う(ステップS19)。
従って、以上のような共通の割込みハンドラ7を設け
ることにより、各拡張カード22,32毎のドライバルーチ
ン8の割込みハンドラ10は、拡張ユニット30の接続に伴
う割込み制御コントローラの構成やそれ等の制御に関す
る処理を意識することなく済ませることができ、処理の
標準化を図ることができる。
次に、第9図は各拡張カードドライバルーチン8のう
ちの初期化ルーチン9の処理について示す図である。カ
ードドライバルーチン8内の初期化ルーチン9はドライ
バ初期化ルーチン2から拡張カード22,32のメモリ空
間、I/O空間アドレス、割込みレベル番号等の情報をパ
ラメーターの形で受けとるために特殊関数ルーチンのサ
ブルーチンコールの形で呼ばれる。この拡張カード初期
化ルーチン9は呼び出された際に渡されるパラメータを
獲得し、そのパラメータの妥当性のチェックを行う(ス
テップS21)。ここで、エラーが存在しなければ、パラ
メータ内にある割込み番号から割込みベクタテーブル内
の割込みレベル番号に対応するエントリに、拡張カード
22,32からの割込みが生じた場合には処理を行う割込み
ハンドラの先頭アドレスを登録する(ステップS22)と
同時に、拡張カード22,32の割込みライン選択部44に対
して使用するシステムバス24(33)上の割込みラインの
設定を行う。さらに、パラメータ内に示されるメモリ空
間アドレスの情報を拡張カード22,32の共有メモリ空間
選択部46に伝え、拡張カード22,32が持っている共有メ
モリ45をメモリ空間のどのアドレスに割り付けるかを知
らせる(ステップS23)。
しかる後、以上のような設定が完了したならば、拡張
カード22,32側の処理を開始するために拡張カード22,32
の活性化を行う(ステップS24)。従って、以上のよう
な処理を各拡張カードドライバルーチン8に組込むこと
により、システムの初期化時に自動的に拡張カード22,3
2の初期化を行うことができ、メインプロセッサボード2
1と拡張カード22,32との間で共有する資源の設定に対し
て柔軟に対処することができる。
[発明の効果] 以上説明したように本発明によれば、計算機本体及び
拡張ユニット上に実装される拡張カードに対する初期
化、割込み制御のアクセスを標準化でき、複数のカード
の組み合わせや共有資源の割り付けの変更等に対して柔
軟に対処できる拡張カードドライバプログラムを構築で
き、拡張性、保守性に優れた計算機システムを得ること
ができる。また、割込みコントローラの構成に応じた複
雑な割込み処理を共通に扱えることにより、信頼性の高
い拡張カードドライバプログラムを簡単に作成できる。
【図面の簡単な説明】
第1図ないし第9図は本発明の一実施例を説明するため
に示したもので、第1図は本発明のソフトウェアを示す
ブロック構成図、第2図はハードウェアの構成を示すブ
ロック図、第3図は拡張カードの構成を示すブロック
図、第4図は割込みコントローラの構成を示す図、第5
図はメモリ空間の割り付け例を示す図、第6図はI/O空
間と割込みベクタテーブルの例を示す図、第7図は割込
みコントローラの初期化処理を示す流れ図、第8図は共
通割込みハンドラの処理を示す流れ図、第9図は拡張カ
ードの初期化処理を示す流れ図である。 20……計算機本体、21……メインプロセッサボード、22
……拡張カード、23……拡張ユニットインタフェース、
30……拡張ユニット、32……拡張カード、125、26、35
……割込みコントローラ、24,33……システムバス。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】拡張カードを実装する計算機本体及び拡張
    ユニットからなる計算機システムにおいて、 前記計算機本体のバスに接続された第1の拡張カードの
    割込みを行う本体側割込みコントローラと前記拡張ユニ
    ットに接続された第2の拡張カードの割込みを行うユニ
    ット側割込みコントローラとを共通の割込みコントロー
    ラ初期化ルーチンを用いて初期化する機能と、 前記第1又は第2の拡張カードからの割込みが発生する
    と共通的に呼ばれる共通割込みハンドラが、この割込み
    を行った前記第1又は第2の拡張カードの要求する拡張
    カードドライバプログラムの割込みハンドラルーチンを
    コールして割込み処理を行う機能と、 各拡張カードドライバプログラムに共通の拡張カード初
    期化ルーチンを組み込むことによりシステム初期化時に
    前記各拡張カードの初期化を自動的に行う機能と を具備することにより、前記計算機本体のメインプロセ
    ッサからの前記各拡張カードへのアクセスを共通に行う
    ことを特徴とする計算機システム。
JP20947190A 1990-08-07 1990-08-07 計算機システム Expired - Lifetime JP2758257B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20947190A JP2758257B2 (ja) 1990-08-07 1990-08-07 計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20947190A JP2758257B2 (ja) 1990-08-07 1990-08-07 計算機システム

Publications (2)

Publication Number Publication Date
JPH0495148A JPH0495148A (ja) 1992-03-27
JP2758257B2 true JP2758257B2 (ja) 1998-05-28

Family

ID=16573410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20947190A Expired - Lifetime JP2758257B2 (ja) 1990-08-07 1990-08-07 計算機システム

Country Status (1)

Country Link
JP (1) JP2758257B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2264663C (en) * 1996-08-29 2004-11-09 Bausch & Lomb Surgical, Inc. Dual loop frequency and power control
US8868811B2 (en) * 2011-10-03 2014-10-21 Via Technologies, Inc. Systems and methods for hot-plug detection recovery

Also Published As

Publication number Publication date
JPH0495148A (ja) 1992-03-27

Similar Documents

Publication Publication Date Title
US5548730A (en) Intelligent bus bridge for input/output subsystems in a computer system
KR930004947B1 (ko) 데이타 처리 시스템이 다수의 중앙 처리 유닛간에서 대등 관계를 갖을 수 있게하는장치 및 그 방법
CA1291576C (en) Concurrent multi-protocol i/o controller
US4935868A (en) Multiple port bus interface controller with slave bus
US4975838A (en) Duplex data processing system with programmable bus configuration
US5729767A (en) System and method for accessing peripheral devices on a non-functional controller
US4792896A (en) Storage controller emulator providing transparent resource sharing in a computer system
US5537558A (en) Apparatus and method for communicating multiple devices through one PCMCIA interface
EP0321724A2 (en) Apparatus and method for alterable resource partitioning enforcement in a data processing system having central processing units using different operating systems
US5410709A (en) Mechanism for rerouting and dispatching interrupts in a hybrid system environment
US6260081B1 (en) Direct memory access engine for supporting multiple virtual direct memory access channels
JPS59501802A (ja) マルチプロセッサシステムにおけるプロセス間呼出しの方法と装置
JPS63255759A (ja) 制御システム
US5146605A (en) Direct control facility for multiprocessor network
US6195720B1 (en) Device and method for communication between asynchronous computer buses using an adapter
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
JPH0142415B2 (ja)
US5933613A (en) Computer system and inter-bus control circuit
JPS5835295B2 (ja) マスタ・スレ−ブ・システムにおけるデ−タ転送方式
EP0104545A2 (en) Input and output port control unit
US20090307454A1 (en) Method and device for switching over in a memory for a control device
JP2758257B2 (ja) 計算機システム
US6184904B1 (en) Central processing unit for a process control system
JPS6364133A (ja) 情報処理システム
KR20000016944A (ko) 로컬메모리에서패킷화된동작정보의기억을통한입출력성능을증가시키기위한시스템