JPH0495148A - Extended card access system - Google Patents
Extended card access systemInfo
- Publication number
- JPH0495148A JPH0495148A JP20947190A JP20947190A JPH0495148A JP H0495148 A JPH0495148 A JP H0495148A JP 20947190 A JP20947190 A JP 20947190A JP 20947190 A JP20947190 A JP 20947190A JP H0495148 A JPH0495148 A JP H0495148A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- expansion card
- expansion
- extended
- cards
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 12
- 230000006870 function Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
Description
【発明の詳細な説明】
[発明の目的コ
(産業上の利用分野)
本発明は、計算機本体および拡張ユニットに実装される
各種の拡張カードに対してメインプロセッサから共通の
方法でアクセスする拡張カードのアクセス方式に関する
。Detailed Description of the Invention [Purpose of the Invention (Industrial Application Field) The present invention provides an expansion card that allows a main processor to access various expansion cards installed in a computer main body and an expansion unit using a common method. Regarding the access method.
(従来の技術)
従来から通信制御、PIO入出力
(Programmab!e Inputloutpu
t ) 、グラフィック機能等メインプロセッサボード
の機能を補足するために、システムバス上に種々の拡張
カードを接続する方法が広く用いられている。このとき
、これらの拡張カードとメインプロセッサとの間で情報
のやりとりをするために共、有メモリ空間、I10空間
、割込みライン等の資源が利用されている。(Prior art) Communication control, PIO input/output (Programmable input/output)
t) In order to supplement the functions of the main processor board, such as graphics functions, it is widely used to connect various expansion cards on the system bus. At this time, resources such as shared memory space, I10 space, and interrupt lines are used to exchange information between these expansion cards and the main processor.
(発明が解決しようとする課題)
しかしながら、以上のような構成のメインプロセッサボ
ードに−あっては、拡張カードに対し′例えば共有メモ
リやI10100アドレスや割込みラインの番号が半固
定的に決められていたり、或いはシステムにおいてアク
セス方式が標準的に定まっていないために拡張カードの
ドライバ毎に独自のアクセス方式を定めていることから
、拡張カードの実装場所を変えたり、組み合わやカード
の枚数を変更したりすると、その都度拡張カードのドラ
イバプログラムを変更しなければならない問題があり、
システムの拡張性、保守性、信頼性に乏しいソフトウェ
アとなってしまう。また、拡張カードの種類が多いとき
、同様の機能を実現するために複数のドライバプログラ
ムが必要であり、システム開発上のムダや管理の煩雑さ
を招く等の問題がある。(Problem to be Solved by the Invention) However, in the main processor board with the above configuration, for example, the shared memory, I10100 address, and interrupt line numbers are semi-fixed for the expansion card. Or, since there is no standard access method in the system and each expansion card driver has its own access method, it may be necessary to change the mounting location of the expansion card, or change the combination or number of cards. If you do so, you may have to change the driver program for the expansion card each time.
This results in software that lacks system scalability, maintainability, and reliability. Further, when there are many types of expansion cards, multiple driver programs are required to realize the same function, which causes problems such as wasteful system development and complicated management.
本発明は上記実情にかんがみてなされたものであって、
計算機本体および拡張ユニット内に実装される拡張カー
ドに対する初期化、割込み制御等のアクセスの標準化を
図り、かつ、拡張カードの組合わせやカード枚数の変更
に対して柔軟に対処し゛うるドライバプログラムを構築
する拡張カードのアクセス方式を提供することを目的と
する。The present invention has been made in view of the above circumstances, and
Build a driver program that standardizes access such as initialization and interrupt control for expansion cards installed in the computer main body and expansion unit, and that can flexibly deal with changes in the combination of expansion cards and the number of cards. The purpose is to provide an access method for expansion cards.
[発明の構成]
(課題を解決するための手段)
本発明に係わる拡張カードのアクセス方式は上記課題を
解決するために、計算機本体および拡張ユニットに実装
される拡張カードに対して初期化1割込み制御等のアク
セスを行う拡張カードのアクセス方式において(前記計
算機本体のバスに接続された拡張カードの割込みを行う
本体側割込みコントローラと前記拡張ユニットに接続さ
れた拡張カードの割込みを行うユニット側割込みコント
ローラとを共通の割込みコントローラ初期化ルーチンを
用いて初期化し、また拡張カードからの割込みに対して
共通割込みハンドラを設け、この共通割込みハンドラは
割込みを行った拡張カードの要求するドライブプログラ
ムの割込みハンドラルーチンをコールして割込み処理を
行うとともに、各拡張カードドライバプログラムに共通
の拡張カード初期化ルーチンを組み込むことによりシス
テム初期化時に各拡張カードの初期化を自動的に行うこ
とにより、前記計算機本体のメインプロセッサからの各
拡張カードへのアクセスを共通に行う構成である。[Structure of the Invention] (Means for Solving the Problem) In order to solve the above problems, the expansion card access method according to the present invention provides an initialization 1 interrupt for the expansion card installed in the computer main body and the expansion unit. In the access method for expansion cards that perform control access, etc. (main unit side interrupt controller that interrupts the expansion card connected to the bus of the computer main body, and unit side interrupt controller that interrupts the expansion card connected to the expansion unit) and a common interrupt controller initialization routine, and a common interrupt handler is provided for interrupts from expansion cards, and this common interrupt handler executes the interrupt handler routine of the drive program requested by the expansion card that issued the interrupt. is called to perform interrupt processing, and by incorporating a common expansion card initialization routine into each expansion card driver program, each expansion card is automatically initialized at system initialization. This configuration allows the processor to access each expansion card in common.
(作用)
従って、本発明は以上のような手段を講じたことにより
、計算機本体および拡張ユニットに実装される拡張カー
ドの割込みコントローラは共通の割込みコントローラ初
期化ルーチンにて初期化でき、共通割込みハンドラは各
拡張カードからの割込みに対して、この割込みをした拡
張カードの要求する拡張カードドライバプログラムの割
込みハンドラルーチンをコールして割込み処理を行い、
各拡張カードドライバプログラムに共通の拡張カード初
期化ルーチンを組込んでシステム初期化時に拡張カード
の初期化を自動的に行うことにより、メインプロセッサ
から拡張カードに対し共通の方法でアクセスすることが
できる。(Function) Therefore, by taking the above-described measures, the present invention can initialize the interrupt controllers of the expansion cards installed in the computer main body and the expansion unit by a common interrupt controller initialization routine, and the common interrupt handler handles the interrupt in response to an interrupt from each expansion card by calling the interrupt handler routine of the expansion card driver program requested by the expansion card that issued the interrupt.
By incorporating a common expansion card initialization routine into each expansion card driver program and automatically initializing the expansion card during system initialization, the main processor can access the expansion card in a common way. .
(実施例)
以下、本発明の実施例について図面を参照して説明する
。第1図は本発明の一実施例としてのソフトウェア構成
を示す機能ブロック図、第2図ないし第4図は本発明の
一実施例を示すハードウェア構成を示すブロック図であ
る。(Example) Hereinafter, an example of the present invention will be described with reference to the drawings. FIG. 1 is a functional block diagram showing a software configuration as an embodiment of the present invention, and FIGS. 2 to 4 are block diagrams showing a hardware configuration as an embodiment of the present invention.
先ず、本発明方式の適用される/%−ドウエア構成は第
2図に示す如く計算機本体20と拡張ユニット30とか
らなっている。First, the /%-ware configuration to which the method of the present invention is applied consists of a computer main body 20 and an expansion unit 30, as shown in FIG.
前者の計算機本体20は、システム全体の制御を行うメ
インプロセッサボード21と、複数の拡張カード22.
・・・と、拡張カードを増設する目的で接続される拡張
ユニットインターフェース23と、これらの構成要素2
1〜23を結ぶシステムバス24とによって構成されて
いる。The former computer main body 20 includes a main processor board 21 that controls the entire system, and a plurality of expansion cards 22 .
..., an expansion unit interface 23 connected for the purpose of adding an expansion card, and these components 2
1 to 23, and a system bus 24 connecting them.
一方、後者の拡張ユニット30は、計算機本体20側の
システムバス24の信号ラインに拡張インターフェース
23を介してデータの受は渡しを行う手段としての拡張
ユニットインターフェース31と、複数の拡張カード3
2.・・・と、これらを結ぶシステムバス33とによっ
て構成されている。On the other hand, the latter expansion unit 30 includes an expansion unit interface 31 as a means for receiving and passing data via an expansion interface 23 to a signal line of a system bus 24 on the computer main body 20 side, and a plurality of expansion cards 3.
2. ... and a system bus 33 that connects them.
なお、計算機本体20.拡張ユニット30内の拡張カー
ド22、・・・ 32、・・・は全く同じインターフェ
ースをとり、このため計算機本体20および拡張ユニッ
ト30の何れにも互換性をもって実装できる。In addition, the computer main body 20. The expansion cards 22, . . . 32, .
第3図は拡張カード22.32の構成を示すブロック図
である。これらの拡張カード22.32は、カード固有
の機能を実現するためのローカルプロセッサ41とロー
カルメモリ42、メインプロセッサボード21との間の
割込み管理を行う割込み制御部43と、メインプロセッ
サボード21からのコマンドを受けてバス24 (33
)上の割込みラインを選択する割込みライン選択部44
と、メインプロセッサボード21との間の情報(データ
)のやりとりを行うための共有メモリ(デュアルポート
メモリ)45と、この共有メモリ45をメインプロセッ
サボード21側から見たメモリ空間のどこに割り付ける
かを選択する共有メモリ空間選択部46と、メインプロ
セッサボード21との間の割込み発生やコマンド、ステ
ータスのやりとりを行うためのI10空間47と、この
I10空間47をメインプロセッサボード21側から見
たI10100とこに割り付けるかを選択できるI10
10進択部48と、メインプロセッサボード21と共通
に接続され情報の交換を行うシステムハス24 (3B
)上へのデータやアドレス、割込みの受渡しを管理する
バス制御部49とから構成されている。FIG. 3 is a block diagram showing the configuration of the expansion card 22.32. These expansion cards 22 and 32 include a local processor 41 and a local memory 42 for realizing card-specific functions, an interrupt control unit 43 that manages interrupts between the main processor board 21, and a Bus 24 (33
) Interrupt line selection unit 44 that selects the interrupt line above
, a shared memory (dual port memory) 45 for exchanging information (data) with the main processor board 21, and where to allocate this shared memory 45 in the memory space viewed from the main processor board 21 side. An I10 space 47 for generating interrupts and exchanging commands and status between the shared memory space selection unit 46 to be selected and the main processor board 21, and an I10100 as seen from the main processor board 21 side. I10 that allows you to choose whether to assign it to
A system hash 24 (3B
) and a bus control unit 49 that manages the transfer of data, addresses, and interrupts.
次に、第4図は計算機本体20および拡張ユニット30
に設けられた割込み制御ラインと割込みコントローラと
の関係を示す図である。この計算機本体20は、拡張カ
ード22.32からの割込みとその他の周辺機器からの
割込みを制御するために2つの割込みコントローラ25
.26から構成されている。そのうち、コントローラ2
5はマスター用であって、一般的にはシステムクロック
の割込みやプロセッサ、周辺機器からの割込み制御に用
いられており、その端子の1本(図ではI R4)か複
数の拡張カード22.32からの割込みを制御するため
にスレーブ割込みコントローラ26に接続されている。Next, FIG. 4 shows the computer main body 20 and the expansion unit 30.
FIG. 2 is a diagram showing the relationship between an interrupt control line provided in the interrupt controller and an interrupt controller. This computer main body 20 has two interrupt controllers 25 to control interrupts from expansion cards 22 and 32 and interrupts from other peripheral devices.
.. It consists of 26. Among them, controller 2
5 is for the master, and is generally used to control system clock interrupts and interrupts from processors and peripheral devices, and is connected to one of its terminals (IR4 in the figure) or to multiple expansion cards 22.32. A slave interrupt controller 26 is connected to control interrupts from the slave interrupt controller 26.
スレーブ割込みコントローラ26は、その端子の何本か
の割込みラインが拡張カード22.32からの割込みラ
インとして利用されている。マスター割込みコントロー
ラ25の割込みライン(図ではIR7)は拡張ユニット
30側に存在する割込みコントローラ35と接続されて
おり、拡張ユニット30内の拡張カード22.32の割
込みは割込みコントローラ35の端子の何本かの割込み
ラインが利用されている。The slave interrupt controller 26 has some interrupt lines at its terminals used as interrupt lines from the expansion card 22.32. The interrupt line (IR7 in the figure) of the master interrupt controller 25 is connected to the interrupt controller 35 present on the expansion unit 30 side, and the interrupts of the expansion cards 22 and 32 in the expansion unit 30 are connected to several terminals of the interrupt controller 35. An interrupt line is being used.
第4図の割込み制御ラインと割込みコントローラの端子
構成は一例を示したものであり、接続される機器の数と
その構成により、更に別の割込みコントローラが接続さ
れる場合も考えられる。The interrupt control line and the terminal configuration of the interrupt controller in FIG. 4 are shown as an example, and depending on the number of connected devices and their configurations, it is possible that another interrupt controller may be connected.
さらに、第5図はメインメモリ空間の割り付は例を示す
図である。本実施例では計算機本体2゜に4枚の拡張カ
ード22.・・・、拡張ユニット3゜に6枚の拡張カー
ド32.・・・をそれぞれ実装した例であり、同図に示
す様に実装された拡張カード22、・・・、32.・・
・の順に付けた番号に対応してメモリ空間を割り付ける
例を示している。この図ハ各種の拡張カート22とメイ
ンプロセッサボード21の共有メモリ空間としテC00
OOOI(−FFFFPHの4Mバイトの空間を割り付
けた例である。Furthermore, FIG. 5 is a diagram showing an example of the allocation of the main memory space. In this embodiment, four expansion cards 22. ..., 6 expansion cards 32. in the expansion unit 3°. This is an example in which expansion cards 22, . . . , 32 . . . are implemented as shown in the figure.・・・
An example is shown in which memory spaces are allocated in accordance with numbers assigned in the order of . This figure shows the shared memory space between various expansion carts 22 and the main processor board 21.
This is an example in which a 4 MB space of OOOI(-FFFFPH) is allocated.
さらに、第6図はI10100割り付は例と各種の拡張
カード22.・・・、32.・・・がらの割込みベクタ
を登録する割込みベクタテーブルの例を示す図である。Furthermore, FIG. 6 shows an example of the I10100 allocation and various expansion cards 22. ..., 32. . . . is a diagram showing an example of an interrupt vector table in which interrupt vectors are registered.
同図において0OOOH−PFPPHまでの64にのI
10100便宜上、計算機本体2oと拡張ユニット30
とて重複しないアドレスが割り付けられており、それぞ
れ拡張カード22.・・・32、・・・の番号により一
義的に定まる形をとっている。また、割込みベクタテー
ブルは、実際に割込みコントローラから割込み信号が伝
わった際に、それに対応する割込みハンドラのソフトウ
ェアに制御を渡すためにそのハンドラの先頭アドレスを
登録するためのテーブルであり、割込みコントローラの
接続側に合わせたテーブル構成が一般にとられている。In the same figure, I of 64 from 0OOOH-PFPPH
10100 For convenience, the computer main body 2o and the expansion unit 30
Unique addresses are assigned to each expansion card 22. . . 32, . . . have a form uniquely determined by the numbers. In addition, the interrupt vector table is a table for registering the start address of the corresponding interrupt handler in order to pass control to the corresponding interrupt handler software when an interrupt signal is actually transmitted from the interrupt controller. Generally, the table configuration is tailored to the connection side.
同図においては、計算機本体2oの拡張カード22の割
込み用にIRQ1〜4の4種類、拡張ユニット30の拡
張カード32の割込み用にIRQ9〜14の6種類を用
いた例を示している。The figure shows an example in which four types of IRQs, IRQs 1 to 4, are used for interrupts of the expansion card 22 of the computer main body 2o, and six types of IRQs, IRQs 9 to 14, are used for interrupts of the expansion card 32 of the expansion unit 30.
次に、第1図にて以上のようなノ1−ドウエアを動作さ
せるためのソフトウェアの構成について説明する。同図
において1はシステムの立ち上げ時に動作するシステム
初期化ルーチンであって、このシステム初期化ルーチン
1は拡張カードドライバの初期化ルーチン2と、その他
のシステム初期化ルーチン3とに分けることができる。Next, referring to FIG. 1, the configuration of software for operating the above-mentioned nodeware will be explained. In the figure, 1 is a system initialization routine that runs when the system is started up, and this system initialization routine 1 can be divided into an expansion card driver initialization routine 2 and other system initialization routines 3. .
4はシステム内で作成される複数のユーザアプリケーシ
ョン、5はシステム全体のソフトウェアの管理を行うオ
ペレーティングシステムである。6は複数の割込みコン
トローラを第4図で示す様な構成例に合わせて初期化す
る割込みコントローラ初期化ルーチンであり、7は初期
化後に拡張カード22゜・・・、32.・・・からの割
込み(m4図の割込みコントローラ25のIR4ないし
IR7)を共通的に処理する共通割込みハンドラである
。8はシステムに接続された複数の拡張カード22.・
・・、32゜・・・を駆動するための拡張カードドライ
バルーチンで、実装される拡張カード22.・・・ 3
2.・・・の種類だけ存在する。この拡張カードドライ
バルーチン8は、それぞれ拡張カード初期化ルーチン9
と、拡張カード毎の割込みハンドラ10と、拡張カード
22.32固有の入出力処理等を行うその他の拡張カー
ド処理ルーチン11とに分類できる。4 is a plurality of user applications created within the system, and 5 is an operating system that manages software for the entire system. 6 is an interrupt controller initialization routine that initializes a plurality of interrupt controllers according to the configuration example shown in FIG. This is a common interrupt handler that commonly processes interrupts from... (IR4 to IR7 of the interrupt controller 25 in the m4 diagram). 8 is a plurality of expansion cards 22.8 connected to the system.・
. . , 32° . . . is an expansion card driver routine for driving an expansion card 22. ... 3
2. There are only types of... This expansion card driver routine 8 is an expansion card initialization routine 9.
, an interrupt handler 10 for each expansion card, and other expansion card processing routines 11 that perform input/output processing specific to the expansion cards 22 and 32.
これらのソフトウェアのうち本実施例の特徴とする機能
モジュールは割込みコントローラ初期化ルーチン6、共
通割込みハンドラ7および拡張カード初期化ルーチン9
であるので、以下にこれらの処理ルーチンについて説明
する。Among these software, the functional modules that characterize this embodiment are an interrupt controller initialization routine 6, a common interrupt handler 7, and an expansion card initialization routine 9.
Therefore, these processing routines will be explained below.
先ず、割込みコントローラ初期化ルーチン6は、第7図
に示すごとくシステムの初期化処理の一部であって、第
4図に示す計算機本体20の割込みコントローラ26と
拡張ユニット30の割込みコントローラ35とを、割込
み制御のコントローラの構成に合わせて初期化するため
のルーチンである。具体的には、計算機本体20の拡張
カード22の割込みコントローラ26の初期化を行った
後(ステップS1)、所定のI10空間をアクセスする
ことにより、拡張ユニット30の有無をチエツクする(
ステップS2)。仮に、拡張ユニット30が有れば(ス
テップS3)、拡張ユニット30上に存在する拡張カー
ド割込み入力用の割込みコントローラ35も合わせて初
期化することになる(ステップS4)。First, the interrupt controller initialization routine 6 is a part of the system initialization process as shown in FIG. , is a routine for initializing interrupt control according to the configuration of the controller. Specifically, after initializing the interrupt controller 26 of the expansion card 22 of the computer main body 20 (step S1), the presence or absence of the expansion unit 30 is checked by accessing a predetermined I10 space (
Step S2). If the expansion unit 30 is present (step S3), the interrupt controller 35 for expansion card interrupt input existing on the expansion unit 30 is also initialized (step S4).
次に、第8図は全ての拡張カード22.・・・32、・
・・からの割込みを一元的に管理するための共通割込み
ハンドラの処理の流れを示す図である。Next, FIG. 8 shows all the expansion cards 22.・・・32、・
It is a diagram showing the flow of processing of a common interrupt handler for centrally managing interrupts from ....
この共通割込みハンドラ7は拡張カード22.・・・3
2、・・・から割込みが発生すると共通的に呼ばれる。This common interrupt handler 7 is the expansion card 22. ...3
Commonly called when an interrupt occurs from 2, . . .
先ず、このルーチンでは、計算機本体20の割込みコン
トローラ25の割込みベクタを読み込んだ後(ステップ
5ll)、計算機本体20側の拡張カード22の割込み
か拡張ユニット30側の拡張カード32の割込みかを判
断する(ステップ512)。計算機本体20側の拡張カ
ード22の割込みの場合、本体20側のスレーブ割込み
コントローラ26の割込みベクタを読み出し、どの拡張
カード22からの割込みかを判断する(ステップ813
.514)。割込みコントローラ26の割込みベクタか
ら割込みベクタテーブルを参照し、該当するドライバル
ーチン8の中の割込みハンドラルーチン10をコールし
、カード個別の割込み処理を行う(ステップ515)。First, in this routine, after reading the interrupt vector of the interrupt controller 25 of the computer main body 20 (step 5ll), it is determined whether the interrupt is from the expansion card 22 on the computer main body 20 side or the expansion card 32 on the expansion unit 30 side. (Step 512). In the case of an interrupt from the expansion card 22 on the computer main body 20 side, the interrupt vector of the slave interrupt controller 26 on the main body 20 side is read and it is determined which expansion card 22 the interrupt is from (step 813
.. 514). The interrupt vector table is referred to from the interrupt vector of the interrupt controller 26, and the interrupt handler routine 10 in the corresponding driver routine 8 is called to perform interrupt processing for each card (step 515).
ステップ12において拡張ユニット30側の拡張カード
32の割込みの場合には、拡張ユニット30側の割込み
コントローラ35の割込みベクタを読み出し、どの拡張
カード32からの割込みかを判断する(ステップ゛S
161.S 17)。しかる後、割込みコントローラ3
5の割込みベクタから割込みベクタテーブルを参照し、
該当するドライバルーチン8のうち割込みハンドラルー
チン10をコールし、カード個別の割込み処理を行う(
ステップ518)。そして、割込み処理を行った後、割
込みコントローラ25の割込み完了処理を行う(ステッ
プ519)。In step 12, if the interrupt is from the expansion card 32 on the expansion unit 30 side, the interrupt vector of the interrupt controller 35 on the expansion unit 30 side is read and it is determined which expansion card 32 the interrupt is from (step S
161. S17). After that, interrupt controller 3
Refer to the interrupt vector table from interrupt vector 5,
Calls the interrupt handler routine 10 of the corresponding driver routine 8 and performs interrupt processing for each card (
Step 518). After performing the interrupt processing, the interrupt controller 25 performs the interrupt completion processing (step 519).
従って、以上のような共通の割込みハンドラ7を設ける
ことにより、各拡張カード22.32毎のドライバルー
チン8の割込みハンドラ10は、拡張ユニット30の接
続に伴う割込み制御コントローラの構成やそれ等の制御
に関する処理を意識することなく済ませることができ、
処理の標準化を図ることかできる。Therefore, by providing the common interrupt handler 7 as described above, the interrupt handler 10 of the driver routine 8 for each expansion card 22, 32 can control the configuration of the interrupt controller and the like when the expansion unit 30 is connected. You can complete the process without being consciously aware of it,
It is possible to standardize the processing.
次に、第9図は各拡張カードドライバルーチン8のうち
の初期化ルーチン9の処理について示す図である。カー
ドドライバルーチン8内の初期化ルーチン9はドライバ
初期化ルーチン2から拡張カード22.32のメモリ空
間、I10重量子ドレス、割込みレベル番号等の情報を
パラメーターの形で受けとるために特殊関数ルーチンの
サブルーチンコールの形で呼ばれる。この拡張カード初
期化ルーチン9は呼び出された際に渡されるパラメータ
を獲得し、そのパラメータの妥当性のチエツクを行う(
ステップ821)。ここで、エラーが存在しなければ、
パラメータ内にある割込み番号から割込みベクタテーブ
ル内の割込みレベル番号に対応するエントリに、拡張カ
ード22.32からの割込みか生した場合には処理を行
う割込みハンドラの先頭アドレスを登録する(ステップ
522)と同時に、拡張カード22.32の割込みライ
ン選択部44に対して使用するシステムバス24 (3
3)上の割込みラインの設定を行う。Next, FIG. 9 is a diagram showing the processing of the initialization routine 9 of each expansion card driver routine 8. The initialization routine 9 in the card driver routine 8 is a subroutine of a special function routine in order to receive information such as the memory space of the expansion card 22.32, I10 weight address, interrupt level number, etc. in the form of parameters from the driver initialization routine 2. called in the form of a call. This expansion card initialization routine 9 acquires the parameters passed when it is called and checks the validity of the parameters (
step 821). Here, if there is no error,
In the entry corresponding to the interrupt level number in the interrupt vector table from the interrupt number in the parameter, register the start address of the interrupt handler that will process when an interrupt from the expansion card 22 or 32 occurs (step 522). At the same time, the system bus 24 (3
3) Set the above interrupt line.
さらに、パラメータ内に示されるメモリ空間アドレスの
情報を拡張カード22.32の共有メモリ空間選択部4
6に伝え、拡張カード22.32か持っている共有メモ
リ45をメモリ空間のどのアドレスに割り付けるかを知
らせる(ステップ823)。Furthermore, the memory space address information indicated in the parameter is sent to the shared memory space selection unit 4 of the expansion card 22.32.
6, and informs the expansion card 22, 32 which address in the memory space to allocate the shared memory 45 it has (step 823).
しかる後、以上のよ′うな設定が完了したならば、拡張
カード22.32側の処理を開始するために拡張カード
22.32の活生化を行う(ステップ524)。従って
、以上のような処理を各拡張カードドライバルーチン8
に組込むことにより、システムの初期化時に自動的に拡
張カード22゜32の初期化を行うことができ、メイン
プロセッサボード21と拡張カード22.32との間で
共有する資源の設定に対して柔軟に対処することができ
る。Thereafter, when the above settings are completed, the expansion card 22.32 is activated in order to start processing on the expansion card 22.32 side (step 524). Therefore, the above processing is performed in each expansion card driver routine 8.
By incorporating the expansion card into the system, the expansion card 22.32 can be automatically initialized when the system is initialized, allowing flexibility in setting the resources shared between the main processor board 21 and the expansion card 22.32. can be dealt with.
[発明の効果]
以上説明したように本発明によれば、計算機本体及び拡
張ユニット上に実装される拡張カードに対する初期化、
割込み制御等のアクセス方式を標準化でき、複数のカー
ドの組み合わせや共有資源の割り付けの変更等に対して
柔軟に対処できるドライバプログラムを構築でき、拡張
性、保守性に優れたソフトウェアを得ることができる。[Effects of the Invention] As explained above, according to the present invention, initialization of the expansion card mounted on the computer main body and the expansion unit,
It is possible to standardize access methods such as interrupt control, and to build driver programs that can flexibly deal with combinations of multiple cards and changes in the allocation of shared resources, resulting in software with excellent expandability and maintainability. .
また、割込みコントローラの構成に応じた複雑な割込み
処理を共通に扱えることにより、信頼性の高いドライバ
プログラムを簡単に作成できる。Furthermore, by being able to commonly handle complex interrupt processing depending on the configuration of the interrupt controller, highly reliable driver programs can be easily created.
第1図ないし第9図は本発明方式の一実施例を説明する
ために示したもので、第1図は本発明方式のソフトウェ
アを示すブロック構成図、第2図はハードウェアの構成
を示すブロック図、第3図は拡張カードの構成を示すブ
ロック図、第4図は割込みコントローラの構成を示す図
、第5図はメモリ空間の割り付は例を示す図、第6図は
I10空間と割込みベクタテーブルの例を示す図、第7
図は割込みコントローラの初期化処理を示す流れ図、第
8図は共通割込みハンドラの処理を示す流れ図、第9図
は拡張カードの初期化処理を示す流れ図である。
20・・・計算機本体、21・・・メインプロセッサボ
ード、22・・・拡張カード、23・・・拡張ユニット
インタフェース、30・・・拡張ユニット、32・・・
拡張カード、125.26.35・・・割込みコントロ
ーラ、24.33・・・システムバス。
出願人代理人 弁理士 鈴江武彦
24.33
第3図
第
図
第7図
第8図Figures 1 to 9 are shown to explain one embodiment of the method of the present invention. Figure 1 is a block diagram showing the software of the method of the present invention, and Figure 2 shows the configuration of the hardware. 3 is a block diagram showing the configuration of the expansion card, FIG. 4 is a diagram showing the configuration of the interrupt controller, FIG. 5 is a diagram showing an example of memory space allocation, and FIG. 6 is a diagram showing the I10 space and Figure 7 showing an example of an interrupt vector table
8 is a flow chart showing the initialization process of the interrupt controller, FIG. 8 is a flow chart showing the process of the common interrupt handler, and FIG. 9 is a flow chart showing the initialization process of the expansion card. 20... Computer main body, 21... Main processor board, 22... Expansion card, 23... Expansion unit interface, 30... Expansion unit, 32...
Expansion card, 125.26.35... Interrupt controller, 24.33... System bus. Applicant's agent Patent attorney Takehiko Suzue 24.33 Figure 3 Figure 7 Figure 8
Claims (1)
に対して初期化、割込み制御等を行う拡張カードのアク
セス方式において、 前記計算機本体のバスに接続された拡張カードの割込み
を行う本体側割込みコントローラと前記拡張ユニットに
接続された拡張カードの割込みを行うユニット側割込み
コントローラとを共通の割込みコントローラ初期化ルー
チンを用いて初期化し、また拡張カードからの割込みに
対して共通割込みハンドラを設け、この共通割込みハン
ドラは割込みを行った拡張カードの要求するドライブプ
ログラムの割込みハンドラルーチンをコールして割込み
処理を行うとともに、各拡張カードドライバプログラム
に共通の拡張カード初期化ルーチンを組み込むことによ
りシステム初期化時に各拡張カードの初期化を自動的に
行うことにより、前記計算機本体のメインプロセッサか
らの各拡張カードへのアクセスを共通に行うようにした
ことを特徴とする拡張カードのアクセス方式。[Scope of Claims] An access method for an expansion card that performs initialization, interrupt control, etc. on an expansion card installed in a computer main body and an expansion unit, comprising: interrupting an expansion card connected to a bus of the computer main body. Initialize the main unit side interrupt controller and the unit side interrupt controller that handles interrupts of the expansion card connected to the expansion unit using a common interrupt controller initialization routine, and also create a common interrupt handler for interrupts from the expansion card. This common interrupt handler processes the interrupt by calling the interrupt handler routine of the drive program requested by the expansion card that issued the interrupt, and also processes the interrupt by incorporating a common expansion card initialization routine into each expansion card driver program. An access method for an expansion card, characterized in that each expansion card is automatically initialized at the time of initialization so that each expansion card can be commonly accessed from a main processor of the computer main body.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20947190A JP2758257B2 (en) | 1990-08-07 | 1990-08-07 | Computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20947190A JP2758257B2 (en) | 1990-08-07 | 1990-08-07 | Computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0495148A true JPH0495148A (en) | 1992-03-27 |
JP2758257B2 JP2758257B2 (en) | 1998-05-28 |
Family
ID=16573410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20947190A Expired - Lifetime JP2758257B2 (en) | 1990-08-07 | 1990-08-07 | Computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2758257B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007260417A (en) * | 1996-08-29 | 2007-10-11 | Bausch & Lomb Inc | Surgical operation system for providing automatic reconfiguration function |
US20130086292A1 (en) * | 2011-10-03 | 2013-04-04 | Via Technologies Inc. | Systems and Methods for Hot-Plug Detection Recovery |
-
1990
- 1990-08-07 JP JP20947190A patent/JP2758257B2/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007260417A (en) * | 1996-08-29 | 2007-10-11 | Bausch & Lomb Inc | Surgical operation system for providing automatic reconfiguration function |
US20130086292A1 (en) * | 2011-10-03 | 2013-04-04 | Via Technologies Inc. | Systems and Methods for Hot-Plug Detection Recovery |
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 |
---|---|
JP2758257B2 (en) | 1998-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1291576C (en) | Concurrent multi-protocol i/o controller | |
US5179707A (en) | Interrupt processing allocation in a multiprocessor system | |
US4964038A (en) | Data processing system having automatic address allocation arrangements for addressing interface cards | |
US3665404A (en) | Multi-processor processing system having interprocessor interrupt apparatus | |
KR930003441B1 (en) | Data processing system | |
US4633392A (en) | Self-configuring digital processor system with logical arbiter | |
US4562535A (en) | Self-configuring digital processor system with global system | |
EP0087367B1 (en) | Interchangeable interface circuitry arrangements for use with a data processing system | |
KR100385871B1 (en) | Interrupt controller | |
US4701848A (en) | System for effectively paralleling computer terminal devices | |
EP0644487A2 (en) | Scalable system interrupt structure for a multiprocessing system | |
US5404535A (en) | Apparatus and method for providing more effective reiterations of processing task requests in a multiprocessor system | |
US5410709A (en) | Mechanism for rerouting and dispatching interrupts in a hybrid system environment | |
US5420985A (en) | Bus arbiter system and method utilizing hardware and software which is capable of operation in distributed mode or central mode | |
JPS63255759A (en) | Control system | |
US5146605A (en) | Direct control facility for multiprocessor network | |
US5134706A (en) | Bus interface interrupt apparatus | |
JPH056223B2 (en) | ||
AU603876B2 (en) | Multiple i/o bus virtual broadcast of programmed i/o instructions | |
US6105080A (en) | Host adapter DMA controller with automated host reply capability | |
US6184904B1 (en) | Central processing unit for a process control system | |
JPS63116258A (en) | Data processing system | |
JPH0495148A (en) | Extended card access system | |
EP0118669A2 (en) | Channel subsystem | |
KR950012734B1 (en) | Multiple input/putput devices having shared address space |