JPH0728774A - Computer system - Google Patents

Computer system

Info

Publication number
JPH0728774A
JPH0728774A JP5173981A JP17398193A JPH0728774A JP H0728774 A JPH0728774 A JP H0728774A JP 5173981 A JP5173981 A JP 5173981A JP 17398193 A JP17398193 A JP 17398193A JP H0728774 A JPH0728774 A JP H0728774A
Authority
JP
Japan
Prior art keywords
bus
interrupt
speed
low
control unit
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
Application number
JP5173981A
Other languages
Japanese (ja)
Inventor
Shinichi Machida
新一 町田
Nobuo Akeura
伸夫 明浦
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5173981A priority Critical patent/JPH0728774A/en
Publication of JPH0728774A publication Critical patent/JPH0728774A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 コンピュ−タシステムにおけるバス制御方式
において、プロセッサユニットに2種類のバスを直結
し、それを制御するための手段を有することで、バス制
御のための論理、階層を削減し、かつ割り込み処理の簡
略化をしコンピュータシステムの開発効率や性能向上の
構築をはかる。 【構成】 マイクロプロセッサに直結した複数の異なる
速度のバス102,103と、これに対するそれぞれの
入出力命令、また、この命令を複数のバスに振り分ける
制御手段、これを受け目的のバスに入出力要求を発行す
る制御手段をバス個別に有する。一方、それぞれのバス
からの割り込みを受取り各バスのどのIOからかを反映
したレジスタを持つバス個別の割り込み制御手段、これ
らの優先順位を制御する手段、バス個別の割り込みベク
タを有する。
(57) [Abstract] [Purpose] In a bus control method for a computer system, two types of buses are directly connected to a processor unit, and a means for controlling them is provided, whereby a logic and a hierarchy for bus control are provided. We will reduce the number of interrupts and simplify the interrupt processing to improve the development efficiency and performance of computer systems. Constitution: A plurality of buses 102 and 103 of different speeds directly connected to a microprocessor, respective input / output commands to the buses, control means for distributing the commands to a plurality of buses, and input / output requests to a target bus Each bus has control means for issuing. On the other hand, it has an interrupt control means for each bus which has a register which receives an interrupt from each bus and reflects from which IO of each bus, a means for controlling the priority of these, and an interrupt vector for each bus.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、マイクロプロセッサシ
ステムのアーキテクチャのうち、バス制御方式に関し、
特にバスアダプタの論理を削減および簡略化することが
可能なコンピュータシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bus control method in a microprocessor system architecture,
In particular, it relates to a computer system capable of reducing and simplifying the logic of a bus adapter.

【0002】[0002]

【従来の技術】図2は、従来のバスの制御方式を表す構
成図である。図2では、速度の異なる複数のIOバスを
1つのシステム装置に混在させるため、システムバス2
06に高速IOバスを接続するためのバスアダプタ(H
igh_BA202)と、低速IOバスを接続するため
のバスアダプタ(Low_BA203)を接続し、各々
のIOバスを制御するバス階層化方式をとっている。こ
のような従来のハード構成において、CPU200から
IOへの入出力命令が出されると、バスコントロ−ルユ
ニット(BCU)201は高速バスアダプタ202、低
速バスアダプタ203のどちらへのアクセスかを判定す
る。これは一般に、指定されたアドレスが各バスに割当
てられたアドレス空間のどちらに入っているかによって
判定している。例えば今、CPU200から入出力命令
が発行され、それが低速バスアダプタ203配下の低速
なIO205へのリードアクセスであったとすると、B
CU201は低速バスアダプタ203へリードリクエス
トを発行する。低速バスアダプタ203では低速IOバ
ス207が現在使用可能かどうかを判定し、使用可能で
あれば低速IO205へこのリードリクエストを伝え
る。もし他の低速IOが低速バス207を使用中であ
り、このリクエストに使用できない場合は低速バス20
7が開放されるまでこのリクエスト事象を保持する。こ
の間当然のことながら上記他の低速IOの制御も、低速
バスアダプタ203はこれに並行して行わなければなら
ない。このようなバス制御の並行化については、特開昭
61−210465号公報に記載されているように、低
速バスアダプタ203内部にバッファを設け制御する方
式がある。次にこのリクエストに対し、低速IO205
がデータを低速バス207を経由して転送してくると、
低速バスアダプタ203はこれを受け取り、BCU20
1へデータ転送を開始するためのバス使用要求を発行す
る。これもシステムバス206が使用中であれば、デー
タと要求事象をシステムバス206が使用可能となるま
で保持しなければならない。この間やはり低速バスアダ
プタ203は低速バス207配下の他の低速IOからの
割り込み・DMA等、システムバス206の使用要求が
発生した場合、その事象保持と順序性の保証制御を平行
して行わなければならない。これは高速バスアダプタ2
02についても同様である。次に低速バスアダプタ20
3からのデータがシステムバス206を経由してBCU
201に届くと、BCU201はCPU200の内部レ
ジスタにデータを書き込む。低速IO205へリードリ
クエストが発行されてからCPU200が実際にデータ
を受け取るまでには、このように複雑なプロセスを経て
いる。一般にシステムバス206は高速である。このた
め、特に低速バスアダプタ203は配下の低速なバスと
の間にあるため、この同期を取る制御も非常に複雑であ
る。このため、従来のハード構成による速度の異なる複
数のバス制御方式では、バス階層が多く、低高速バスア
ダプタ202,203といったバスアダプタ部の論理規
模が大きくなってしまう。またBCU201も、CPU
200からの入出力要求がどちらのバスアダプタ部への
アクセスかを常に判定しなければならない。このため各
バスに割当てたIO空間の情報を内部に保持する論理を
持たなければならず、やはり論理規模が大きくなってし
まう。さらに前記のプロセス説明では省略したが、BC
U201でもCPU200よりリクエストがあった場合
システムバス206の使用状況を監視し、リクエスト事
象の保持と順序性の保証制御が必要である。このように
速度の異なる複数のバスを持つシステム装置は開発に莫
大な費用と期間がかかってしまっているのが実情であ
る。一方、ソフトウェア特にオペレーティングシステム
による割込み処理の面からみてみると、別の大きな問題
があることがわかる。図3は図2のようなハード構成の
システム装置に対する、割り込み処理の例をフローチャ
ートに示したものである。例えば今、高速IO204か
ら割り込みが発生したとすると、高速バスアダプタ20
2とBCU201を経由してCPU200に割り込み報
告がなされる。CPU200では、割り込みベクタに登
録されたアドレスから始まる図3の処理を開始する。ま
ずステップ300で、どちらのバスアダプタ部からの割
り込みかを判定する。これには、一般にBCU201の
内部にあるシステムバス割り込み情報レジスタをリード
し、該当するビットが立っているかで判定する。即ちB
CU201はシステムバス202を経由して割り込み報
告がなされた場合、対応するシステムバス割り込み情報
レジスタのビットを1にする制御を行っている。この例
の場合高速IO204からの割り込みであるため、処理
はステップ304に移る。ステップ304では高速バス
アダプタ202配下のどの高速IOからの割り込みであ
るかを判定するため、BCU201と同様に高速バスア
ダプタ202内部の高速バス割り込み情報レジスタをリ
ードする。ここでは高速IO204に対応するビットが
1になっている。つまりBCU201と同様に高速IO
204から割り込みがあった場合、高速バスアダプタ2
02はこのレジスタの対応するビット位置に1を立てる
制御を行っている。これによって高速IO204からの
割り込みであることが判明すると、ステップ305にて
高速IO204専用の割り込み刈り取り処理を実行す
る。これによって、高速IO204からの割り込み要因
を刈り取った後、ステップ306にて高速バスアダプタ
202の、上記情報レジスタの高速IO204に対応す
るビットを0にクリアする。この一連の処理の中では、
次の二つの問題点がある。第1に、ステップ304及び
305にて実行する割り込みの刈り取り行為は、高速バ
スアダプタ202及び高速IO204に対するCPU2
00の入出力命令にて実行されるため、システムバス2
06及び高速バス208を使用しなければならない。特
にステップ304にてシステムバス206が使用されて
しまうと、この間低速バスアダプタ203など他のバス
アダプタ部は待ち状態に入ってしまう。このため、前述
のデータ転送制御の複雑さに拍車をかけるばかりか、割
り込みを頻発させるようなIOがあると、この制御のた
めにバスに負荷がかかってしまい、本来重要なDMAな
どのユーザデータの転送を阻害してしまうことになる。
これは低速バスアダプタ203からの割り込みについて
も全く同様である。第2に、ソフトウェアの処理の面か
らみてみると、ステップ304と305の階層を踏んで
割り込み処理を行わなければならないため、処理ステッ
プが大きくなる。このためハードウェアの性能を十分引
き出せないばかりか、その処理の間にさらに別のIOか
らの割り込みが発生してしまう可能性も大きくなるた
め、高速バスアダプタ202の上記割り込み情報レジス
タに複数のビットが立ってくることも想定しなければな
らない。従ってますます処理が複雑になり、システムと
しての性能に悪影響を与えるばかりか、この処理の開発
にも莫大な費用と期間がかかってしまうことになる。以
上述べたように、従来の図2に示すようなハード構成で
は、開発にかかる労力、そのシステム装置の性能及びこ
れを制御するソフトウェアの面で非常に不利である。
2. Description of the Related Art FIG. 2 is a block diagram showing a conventional bus control system. In FIG. 2, since a plurality of IO buses having different speeds are mixed in one system device, the system bus 2
06 bus adapter for connecting high-speed IO bus (H
high_BA202) and a bus adapter (Low_BA203) for connecting a low-speed IO bus are connected, and a bus hierarchization method for controlling each IO bus is adopted. In such a conventional hardware configuration, when an input / output command is issued from the CPU 200 to the IO, the bus control unit (BCU) 201 determines which of the high speed bus adapter 202 and the low speed bus adapter 203 is to be accessed. This is generally determined by which of the address spaces assigned to each bus the specified address is in. For example, if an input / output instruction is issued from the CPU 200 and this is a read access to the low-speed IO 205 under the low-speed bus adapter 203, B
The CU 201 issues a read request to the low speed bus adapter 203. The low-speed bus adapter 203 determines whether or not the low-speed IO bus 207 is currently available, and if so, sends this read request to the low-speed IO 205. If another low-speed IO is using the low-speed bus 207 and cannot use this request, the low-speed bus 20
Hold this request event until 7 is released. During this period, the low-speed bus adapter 203 must also control the other low-speed IO in parallel with this. As for parallelization of such bus control, there is a method of providing a buffer inside the low-speed bus adapter 203 and controlling it, as described in JP-A-61-1210465. Next, in response to this request, low-speed IO 205
Sends data via the low-speed bus 207,
The low-speed bus adapter 203 receives this, and the BCU 20
Issue a bus use request to start data transfer to 1. Again, if system bus 206 is busy, then data and request events must be held until system bus 206 becomes available. In the meantime, when the use request of the system bus 206 such as interrupt / DMA from another low-speed IO under the control of the low-speed bus 207 occurs, the low-speed bus adapter 203 must hold the event and control the guarantee of the order in parallel. I won't. This is a high speed bus adapter 2
The same applies to 02. Next, low-speed bus adapter 20
Data from the BCU via the system bus 206
When it reaches 201, the BCU 201 writes data to the internal register of the CPU 200. Such a complicated process is performed from when the read request is issued to the low-speed IO 205 to when the CPU 200 actually receives the data. The system bus 206 is generally fast. For this reason, since the low-speed bus adapter 203 is particularly located between the low-speed bus under the control of the low-speed bus adapter 203, the control for obtaining this synchronization is also very complicated. For this reason, in the conventional multiple bus control methods having different speeds by the hardware configuration, there are many bus layers, and the logical scale of the bus adapter units such as the low-speed bus adapters 202 and 203 becomes large. The BCU201 also has a CPU
It must always be determined which bus adapter section the I / O request from the 200 is accessing. For this reason, it is necessary to have a logic for internally holding the information on the IO space assigned to each bus, which also increases the logical scale. Although omitted in the above description of the process, BC
When there is a request from the CPU 200 in U201 as well, it is necessary to monitor the usage status of the system bus 206, hold request events, and guarantee the order. In reality, it takes a huge amount of time and money to develop a system unit having a plurality of buses having different speeds. On the other hand, in terms of interrupt processing by software, especially the operating system, it can be seen that there is another big problem. FIG. 3 is a flowchart showing an example of interrupt processing for the system device having the hardware configuration shown in FIG. For example, if an interrupt occurs from the high-speed IO 204, the high-speed bus adapter 20
2 and the BCU 201, and an interrupt report is sent to the CPU 200. The CPU 200 starts the processing of FIG. 3 starting from the address registered in the interrupt vector. First, in step 300, it is determined which bus adapter unit the interrupt is from. For this purpose, the system bus interrupt information register, which is generally inside the BCU 201, is read, and it is determined whether the corresponding bit is set. That is, B
The CU 201 controls the bit of the corresponding system bus interrupt information register to 1 when an interrupt is reported via the system bus 202. In the case of this example, since it is an interrupt from the high-speed IO 204, the processing moves to step 304. In step 304, in order to determine which high-speed IO under the high-speed bus adapter 202 is the interrupt, the high-speed bus interrupt information register in the high-speed bus adapter 202 is read as in the BCU 201. Here, the bit corresponding to the high-speed IO 204 is 1. In other words, high-speed IO like BCU201
If there is an interrupt from 204, high speed bus adapter 2
02 controls to set 1 to the corresponding bit position of this register. When it is determined that the interrupt is from the high-speed IO 204, the interrupt reaping process dedicated to the high-speed IO 204 is executed in step 305. As a result, the interrupt factor from the high-speed IO 204 is cut off, and then the bit corresponding to the high-speed IO 204 of the information register of the high-speed bus adapter 202 is cleared to 0 in step 306. In this series of processing,
There are the following two problems. First, the interrupt reaping action executed in steps 304 and 305 is performed by the CPU 2 for the high-speed bus adapter 202 and the high-speed IO 204.
System bus 2 because it is executed by input / output command of 00
06 and high speed bus 208 must be used. In particular, if the system bus 206 is used in step 304, other bus adapter units such as the low-speed bus adapter 203 enter the waiting state during this period. For this reason, not only adding to the complexity of the above-mentioned data transfer control, but if there is an IO that frequently causes interrupts, the bus will be loaded due to this control, and user data such as DMA, which is originally important, will be loaded. Will interfere with the transfer.
The same applies to the interrupt from the low speed bus adapter 203. Secondly, from the viewpoint of software processing, the processing steps become large because the interrupt processing must be performed by taking the hierarchy of steps 304 and 305. For this reason, not only the performance of the hardware cannot be sufficiently drawn out, but also the possibility that an interrupt from another IO will occur during the processing increases. It must be assumed that will stand. Therefore, not only the processing becomes more complicated and the performance as a system is adversely affected, but also the development of this processing requires a huge cost and period. As described above, the conventional hardware configuration shown in FIG. 2 is extremely disadvantageous in terms of development effort, performance of the system device, and software for controlling the system device.

【0003】[0003]

【発明が解決しようとする課題】上記従来技術では、複
数の異なる速度のバスを1つのシステム装置に混在させ
るために、バス制御部の論理規模の増大、多階層化、そ
れによる割り込み処理の複雑さ、システム装置の性能の
低下の問題が発生してしまう。本発明の目的は、このよ
うな問題点を改善し、バスの多階層化を成すバスアダプ
タの論理を削減および簡略化することが可能なコンピュ
ータシステムを提供することにある。
In the above-mentioned prior art, since a plurality of buses having different speeds are mixed in one system unit, the logical scale of the bus control unit is increased, the number of layers is increased, and the interrupt processing is complicated. Now, there arises a problem of deterioration in the performance of the system unit. An object of the present invention is to provide a computer system capable of improving such a problem and reducing and simplifying the logic of a bus adapter which forms a multi-layered bus.

【0004】[0004]

【課題を解決するための手段】上記目的を達成するた
め、本発明のコンピュータシステムは、高速のIOを接
続するための高速バスと、低速のIOを接続するための
低速バスと、この速度の異なる複数のバスに対するそれ
ぞれの入出力命令を持ち、IOに対する入出力命令が実
行された際、どのバスに接続しているIOへの入出力か
を上記命令より判定し、かつそれぞれのバスに入出力動
作を振り分ける制御手段(図4の入出力制御ユニット4
00)と、これを受け、各バスに入出力要求を発行する
各バスの個別の制御手段(高速バス用制御ユニット40
1、低速バス用制御ユニット402)とを持ち、かつこ
れらの制御手段をマイクロプロセッサに内蔵することに
よって、高速用バスと低速用バスをプロセッサに直結で
きる機能を備えたことに特徴がある。また、上記バスか
らの割り込みを受取り、各バスのどのIOからの割り込
みかを反映し、ソフトウェアにその情報を提供するため
のレジスタ(高速用割り込みレジスタ505、低速用割
り込みレジスタ506)をバス個別に持つ制御手段(高
速バス用割り込み制御ユニット501、低速バス用割り
込み制御ユニット502)と、各バスからの割り込みの
優先順位を判定し、同時に割り込みが発生した際、ソフ
トウェアがあらかじめ設定した優先順位により、どちら
の割り込みを命令実行部に報告するかを制御する手段
(優先順位判定制御レジスタ507を有する割り込み制
御ユニット500)をマイクロプロセッサに内蔵し、か
つ割り込みが発生した際、その割り込みベクタをバス個
別に設けることによって、直ちにどちらのIOバスから
の割り込みであるかを判定することに特徴がある。
To achieve the above object, the computer system of the present invention provides a high-speed bus for connecting a high-speed IO, a low-speed bus for connecting a low-speed IO, and It has input / output instructions for different buses, and when an input / output instruction for IO is executed, it determines which bus is connected to the input / output by the above instruction, and inputs to each bus. Control means for allocating output operation (input / output control unit 4 in FIG.
00) and the individual control means (high-speed bus control unit 40) for each bus that receives this and issues an input / output request to each bus.
1. The low-speed bus control unit 402) is provided, and by incorporating these control means in the microprocessor, it is possible to directly connect the high-speed bus and the low-speed bus to the processor. In addition, a register (high-speed interrupt register 505, low-speed interrupt register 506) for receiving an interrupt from the above bus, reflecting which IO of each bus the interrupt is from, and providing the information to software is provided for each bus individually. The control means (interrupt control unit 501 for high-speed bus, interrupt control unit 502 for low-speed bus) that it has and the priority order of interrupts from each bus are determined, and when simultaneous interrupts occur, the priority order set by software A means for controlling which interrupt is to be reported to the instruction execution unit (interrupt control unit 500 having the priority determination control register 507) is built in the microprocessor, and when an interrupt occurs, the interrupt vector is individually provided for each bus. By providing it, which IO bus from which It is characterized in that to determine whether the interrupt.

【0005】[0005]

【作用】本発明においては、入出力制御ユニットは、各
バスにアクセスする入出力命令を命令実行部より受け取
ると、それがどちらのバスへのアクセス命令かをその命
令コード部より判定し、高速あるいは低速用の制御ユニ
ットに振り分ける。例えば、命令実行部より低速バスへ
のリード命令が入出力制御ユニットへ渡されたとする
と、入出力制御ユニットはその命令実行を低速バス用制
御ユニットへ要求する。低速バス用制御ユニットでは、
低速IOバスが現在使用中であるかのみを確認し、使用
可能であれば直ちに対象となる低速IOへリードリクエ
ストを発行する。このIOからリードデータが返される
と、低速バス用制御ユニットは直ちにこれを拾い上げ入
出力制御ユニットへ渡す。入出力制御ユニットは命令実
行部が要求したデータをさらに渡す。これにより、上記
従来技術の低速および高速バスアダプタ(図2の20
2,203)よるシステムバスへの使用状況監視と、事
象の保持・順序性の保証のための制御論理及びバスコン
トロールユニットによるアドレス判定からどちらのバス
アダプタ制御部へリクエストを出すべきかの制御論理を
省略することができる。これによって大幅に開発しなけ
ればならない論理規模を削減することができる。また、
割り込み制御において、例えば高速バスに接続されるI
Oから割り込みが発生したとする。高速バス用割り込み
制御ユニットは直ちにこれを受け、高速バス割り込み情
報レジスタに割り込みを起こしたIOに対応するビット
を1にして、割り込み制御ユニットへ割り込みを報告す
る。割り込み制御ユニットは高速バスからの割り込みで
あるので、高速バス用割り込みベクタのアドレスを命令
実行部へ出力する。命令実行部ではそのアドレスへ命令
実行アドレスを移し、直ちに高速バス用割り込み処理が
オペレーティングシステムにより実行される。オペレー
ティングシステムでは直ちに高速用割り込みレジスタを
読み出し、どの高速IOからの割り込みかを判定し、そ
のIO個別の割り込み刈り取りを実行する。その後高速
バス用割り込みレジスタの該当ビットをクリアし、割り
込み処理は終了となる。従って、上記従来技術の図3で
おけるステップ300,306が不要となり、オペレー
ティングシステムによる割り込み処理の簡略化が図れる
とともに、その処理オーバヘッドを低減できる。また高
速バス用割り込みレジスタはマイクロプロセッサの内部
レジスタであるため、システムバスを使用することはな
い。このため、通常のデータ転送を阻害することはな
く、システム性能を低下させることはない。さらに高速
および低速バス用の割り込み制御ユニットより同時に割
り込み報告がなされた場合は、ソフトウェアで設定可能
な割り込み優先順位設定レジスタの優先順位に従って割
り込みベクタアドレスを命令制御部へ出力する。これに
よって同時に割り込み報告がなされた場合でも、オペレ
ーティングシステムがあらかじめ設定した優先順位で割
り込み処理が実行される。
In the present invention, when the input / output control unit receives an input / output instruction for accessing each bus from the instruction execution section, the input / output control unit determines from the instruction code section which bus it is an access instruction for. Alternatively, allocate to a low speed control unit. For example, when a read instruction to the low-speed bus is given from the instruction execution unit to the input / output control unit, the input / output control unit requests the low-speed bus control unit to execute the instruction. In the low speed bus control unit,
It only checks if the low-speed IO bus is currently in use, and if it is available, immediately issues a read request to the target low-speed IO. When the read data is returned from this IO, the low speed bus control unit immediately picks it up and passes it to the input / output control unit. The input / output control unit further passes the data requested by the instruction execution unit. As a result, the conventional low-speed and high-speed bus adapters (refer to FIG.
2, 203) to monitor the usage status of the system bus, control logic for guaranteeing event retention / sequentiality, and control logic which bus adapter control unit should issue a request from the address judgment by the bus control unit. Can be omitted. This can significantly reduce the logical scale that must be developed. Also,
In interrupt control, for example, I connected to a high-speed bus
Assume that an interrupt has occurred from O. The high-speed bus interrupt control unit immediately receives this, sets the bit corresponding to the interrupted IO in the high-speed bus interrupt information register to 1 and reports the interrupt to the interrupt control unit. Since the interrupt control unit is an interrupt from the high speed bus, it outputs the address of the high speed bus interrupt vector to the instruction execution unit. In the instruction execution unit, the instruction execution address is moved to that address, and the high speed bus interrupt processing is immediately executed by the operating system. The operating system immediately reads the high-speed interrupt register, determines which high-speed IO the interrupt is from, and executes interrupt retrieving for each IO. After that, the corresponding bit of the high speed bus interrupt register is cleared, and the interrupt processing ends. Therefore, the steps 300 and 306 in FIG. 3 of the above-mentioned prior art are not required, the interrupt processing by the operating system can be simplified, and the processing overhead can be reduced. Since the high-speed bus interrupt register is an internal register of the microprocessor, it does not use the system bus. Therefore, normal data transfer is not hindered and system performance is not deteriorated. Further, when interrupts are simultaneously reported from the interrupt control units for the high speed bus and the low speed bus, the interrupt vector address is output to the instruction control unit according to the priority of the interrupt priority setting register which can be set by software. As a result, even if interrupt reports are issued at the same time, the interrupt processing is executed in the priority order preset by the operating system.

【0006】[0006]

【実施例】以下、図面を用いて本発明の実施例を説明す
る。図1は、本発明の一実施例におけるプロセッサシス
テムの構成図である。ここで、中央処理装置(CPU)
100は主記憶装置(MS)101と高速バス102、
低速バス103など複数のバスに直結した構成をとって
おり、高速バス102には高速IO104が接続され、
低速バス103には低速IO105が接続される。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a configuration diagram of a processor system according to an embodiment of the present invention. Where the central processing unit (CPU)
100 is a main memory (MS) 101 and a high-speed bus 102,
It is configured to be directly connected to a plurality of buses such as the low speed bus 103, and the high speed bus 104 is connected to the high speed IO 104.
A low speed IO 105 is connected to the low speed bus 103.

【0007】また、図4は図1のシステムにおける入出
力機能を表す。マイクロプロセッサ10には、入出力制
御ユニット400と、バスの数だけ別々に存在する、高
速バス用制御ユニット401、低速バス用制御ユニット
402を備える。例えば、低速バスに接続される低速I
Oへのリード命令(Low_IO_Read)を実行す
るとしたとき、入出力制御ユニット400はこのデータ
がどのバスへのリクエストかを判定する。命令コードの
構成は図示しないがそのオペコードより、低速IOバス
へのアクセス命令であることは明白であるため、リード
リクエストを低速バス用制御ユニット402に送る。高
速IOバスへアクセスする命令とは個別であるため、従
来技術で述べたBCU201に相当する入出力制御ユニ
ット400はアドレス判定により、どちらのバスアダプ
タ部へリクエストを出すべきか、またシステムバス20
6が使用中であるかどうかの判定、および順序性を保証
する制御論理を省略することができる。これにより入出
力制御ユニット400はBCU201よりその論理規模
を少なくすることができる。リクエストを受けた低速バ
ス用制御ユニット402は、低速用バスが他のIOによ
り使用されていないことを確認し、リードリクエストを
目的の低速IOに直接行う。もし、他のIOにより低速
用バスが使用中であれば、低速バス用制御ユニット40
2は低速バスが開放されるまでリクエストを保持する。
また、上記他の低速IOの制御も並行して行う。この低
速バスが開放されたら、低速バス用制御ユニット402
は直ちに低速バスを経て目的の低速IOにリクエストを
送る。次にこの低速IOはリクエストに対し、低速バス
を経て低速バス用制御ユニット402へデータを送る。
上記同様、高速IOへのアクセス命令の場合も行われ
る。このように、従来のようなシステムバス(図2の2
06)が存在しないため、大きく論理制御が省略でき
る。
FIG. 4 shows the input / output function of the system shown in FIG. The microprocessor 10 includes an input / output control unit 400, and a high-speed bus control unit 401 and a low-speed bus control unit 402, which are separately provided for the number of buses. For example, a low speed I connected to a low speed bus
When the read instruction (Low_IO_Read) to O is executed, the input / output control unit 400 determines to which bus the data is requested. Although the structure of the instruction code is not shown, it is clear from the operation code that it is an access instruction to the low-speed IO bus, so a read request is sent to the low-speed bus control unit 402. Since it is separate from the instruction for accessing the high-speed IO bus, the I / O control unit 400 corresponding to the BCU 201 described in the prior art determines to which bus adapter unit the request should be issued, and the system bus 20.
The determination of whether 6 is in use and the control logic that guarantees ordering can be omitted. This allows the input / output control unit 400 to have a smaller logical scale than the BCU 201. The low-speed bus control unit 402 that has received the request confirms that the low-speed bus is not being used by another IO, and makes a read request directly to the target low-speed IO. If the low-speed bus is being used by another IO, the low-speed bus control unit 40
2 holds the request until the low speed bus is released.
Further, control of other low speed IO is also performed in parallel. When this low-speed bus is released, the low-speed bus control unit 402
Immediately sends the request to the target low speed IO via the low speed bus. In response to the request, the low-speed IO sends data to the low-speed bus control unit 402 via the low-speed bus.
Similar to the above, it is also executed in the case of an access instruction to the high speed IO. In this way, the conventional system bus (2 in FIG.
06) does not exist, logic control can be largely omitted.

【0008】一方、割り込みの処理では、図5において
高速IO104からの割り込みは、高速バス102を通
り高速バス用割り込み制御ユニット501に取り込まれ
る。高速バス用割り込み制御ユニット501は内蔵され
る高速バス用割り込みレジスタ505に、割り込みの要
因となったIOに対応するビットに1を立てる。次に高
速バス用割り込み制御ユニット501では割り込み制御
ユニット500に割り込みの報告をし、高速用割り込み
ベクタ503へ分岐する。高速用割り込みベクタ503
のアドレスに存在する、オペレーティングシステムによ
る割り込み処理では、直ちに高速バス用割り込みレジス
タ505を読み出して割り込み報告を行ったIOが何で
あるかを判定する。この場合高速IO104の割り込み
であるので、高速IO104に対応する個別の割り込み
処理を実行の上、高速バス用割り込みレジスタ505の
ビットをクリアし割り込み処理を終了する。従って従来
技術で述べた図3の割り込み処理のうち、ステップ30
0,306が不要となり、オペレーティングシステムに
よる割り込み処理を簡略化することができる。また高速
バス用割り込みレジスタ505の読み出しは、CPU1
00の内部レジスタのリード動作であるため、システム
バス206を共有する図2の従来技術で述べたハード構
成に比べて、システムバスを使用しないで済むため、シ
ステム性能の向上を図ることができる。さらに高速バス
用割り込み制御ユニット501と低速バス用割り込み制
御ユニット502の双方より同時に割り込みが発生した
場合は、優先順位制御レジスタ507にあらかじめオペ
レーティングシステムが設定した優先順位にしたがっ
て、割り込み制御ユニット500は優先順位の高い方の
割り込み報告を命令レジスタ403に伝える。例えば優
先順位制御レジスタ507には、低速バスからの割り込
みを優先するようデータが設定されていたとする。高速
バス用割り込み制御ユニット501および低速バス用割
り込み制御ユニット502からの割り込み報告が同時に
発生した場合、割り込み制御ユニット500は低速バス
用割り込み制御ユニット502からの割り込み報告を先
に命令実行部403に報告し、低速バス用割り込みベク
タ504のアドレスを命令実行部403に対して出力す
る。命令実行部403は低速バス用割り込みベクタ50
4のアドレスに分岐し、低速バス用割り込みベクタ50
4のアドレスに存在する低速IO用の割り込み処理の実
行に入る。前述した通り本割り込み処理では、図3のス
テップ301,302に相当する処理を直ちに実行する
ことができる。この割り込み処理が終了、即ち割り込み
処理終了命令(一般には割り込み復帰命令と呼ばれ
る。)を命令実行部403が実行すると、割り込み制御
ユニット500は保留となっていた高速用割り込み制御
ユニット501からの割り込みを命令実行部403に報
告し、高速バス用割り込みベクタ503のアドレスを命
令実行部403に出力する。これによって高速用割り込
み制御ユニット501からの割り込み報告に対するオペ
レーティングシステムの高速IO用割り込み処理も実行
することができる。
On the other hand, in the interrupt processing, the interrupt from the high speed IO 104 in FIG. 5 is taken into the high speed bus interrupt control unit 501 through the high speed bus 102. The high-speed bus interrupt control unit 501 sets 1 in the bit corresponding to the IO causing the interrupt in the built-in high-speed bus interrupt register 505. Next, the high-speed bus interrupt control unit 501 reports the interrupt to the interrupt control unit 500, and branches to the high-speed interrupt vector 503. High-speed interrupt vector 503
In the interrupt processing by the operating system that exists at the address, the high speed bus interrupt register 505 is immediately read to determine what is the IO that has issued the interrupt report. In this case, since it is the interrupt of the high-speed IO 104, the individual interrupt processing corresponding to the high-speed IO 104 is executed, and then the bit of the high-speed bus interrupt register 505 is cleared and the interrupt processing is finished. Therefore, in the interrupt processing shown in FIG.
Since 0 and 306 are unnecessary, interrupt processing by the operating system can be simplified. Further, the high speed bus interrupt register 505 is read by the CPU 1
Since it is the read operation of the internal register of 00, the system performance can be improved because the system bus need not be used as compared with the hardware configuration described in the related art of FIG. 2 which shares the system bus 206. Furthermore, when interrupts are simultaneously generated from both the high-speed bus interrupt control unit 501 and the low-speed bus interrupt control unit 502, the interrupt control unit 500 is prioritized according to the priority set in advance by the operating system in the priority control register 507. The higher-ranked interrupt report is transmitted to the instruction register 403. For example, it is assumed that data is set in the priority control register 507 so as to prioritize interrupts from the low speed bus. When the interrupt reports from the high-speed bus interrupt control unit 501 and the low-speed bus interrupt control unit 502 occur simultaneously, the interrupt control unit 500 reports the interrupt report from the low-speed bus interrupt control unit 502 to the instruction execution unit 403 first. Then, the address of the low-speed bus interrupt vector 504 is output to the instruction execution unit 403. The instruction execution unit 403 uses the low-speed bus interrupt vector 50.
Branch to address 4 and interrupt vector 50 for low-speed bus
The execution of the interrupt process for the low speed IO existing at the address of 4 is started. As described above, in this interrupt processing, the processing corresponding to steps 301 and 302 in FIG. 3 can be immediately executed. When this interrupt processing ends, that is, when the instruction execution unit 403 executes an interrupt processing end instruction (generally called an interrupt return instruction), the interrupt control unit 500 interrupts the pending interrupt from the high-speed interrupt control unit 501. It reports to the instruction execution unit 403 and outputs the address of the high-speed bus interrupt vector 503 to the instruction execution unit 403. Accordingly, it is possible to execute the high-speed IO interrupt processing of the operating system in response to the interrupt report from the high-speed interrupt control unit 501.

【0009】[0009]

【発明の効果】本発明によれば、バス制御の負担を軽減
することが可能になりバスに関する論理規模を削減で
き、また階層化の構造を回避することが可能になる。ま
た、バス制御の階層を簡略化することでソフトウエアの
割り込み処理も簡略化することができる。さらに、本シ
ステム構造によれば、異なったバスに接続されているI
Oを並列に処理することが可能である。
According to the present invention, it is possible to reduce the load of bus control, reduce the logical scale of the bus, and avoid the hierarchical structure. Further, by simplifying the hierarchy of bus control, it is possible to simplify software interrupt processing. Furthermore, according to this system structure, I connected to different buses
It is possible to process O in parallel.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例におけるプロセッサシステム
の構成図である。
FIG. 1 is a configuration diagram of a processor system according to an embodiment of the present invention.

【図2】従来のバス制御方式を表す構成図である。FIG. 2 is a configuration diagram showing a conventional bus control system.

【図3】図2のシステムに対する割り込み制御手順を表
すフローチャートである。
FIG. 3 is a flowchart showing an interrupt control procedure for the system of FIG.

【図4】本発明の一実施例におけるプロセッサシステム
の入出力制御部を表す図である。
FIG. 4 is a diagram showing an input / output control unit of a processor system according to an embodiment of the present invention.

【図5】本発明の一実施例におけるプロセッサシステム
の割り込み制御部を表す図である。
FIG. 5 is a diagram showing an interrupt control unit of a processor system according to an embodiment of the present invention.

【符号の説明】[Explanation of symbols]

100 CPU(中央制御装置) 101 MS(主記憶装置) 102 高速バス 103 低速バス 104 高速IO(入出力装置) 105 低速IO(入出力装置) 200 CPU(中央処理装置) 201 BCU(バスコントロールユニット) 202 High_BA(高速バスアダプタ) 203 Low_BA(低速バスアダプタ) 204 高速IO(入出力装置) 205 低速IO(入出力装置) 206 システムバス 400 入出力制御ユニット 401 高速バス用制御ユニット 402 低速バス用制御ユニット 403 命令実行部 500 割り込み制御ユニット 501 高速バス用割り込み制御ユニット 502 低速バス用割り込み制御ユニット 503 高速バス用割り込みベクタ 504 低速バス用割り込みベクタ 505 高速バス用割り込みレジスタ 506 低速バス用割り込みレジスタ 507 優先順位制御レジスタ 100 CPU (Central Control Unit) 101 MS (Main Memory) 102 High Speed Bus 103 Low Speed Bus 104 High Speed IO (Input / Output Device) 105 Low Speed IO (Input / Output Device) 200 CPU (Central Processing Unit) 201 BCU (Bus Control Unit) 202 High_BA (high speed bus adapter) 203 Low_BA (low speed bus adapter) 204 High speed IO (input / output device) 205 Low speed IO (input / output device) 206 System bus 400 Input / output control unit 401 High speed bus control unit 402 Low speed bus control unit 403 Instruction Execution Unit 500 Interrupt Control Unit 501 Interrupt Control Unit for High Speed Bus 502 Interrupt Control Unit for Low Speed Bus 503 Interrupt Vector for High Speed Bus 504 Interrupt Vector for Low Speed Bus 505 Interrupt Register for High Speed Bus 50 Interrupt register 507 Priority control register for low-speed bus

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 高速のIOを接続するための高速バス
と、低速のIOを接続するための低速バスと、両該バス
に対する入出力命令を有するコンピュータシステムにお
いて、IOに対する入出力命令が実行された際、どちら
のバスに接続しているIOへの入出力かを上記命令より
判定し、当該バスに入出力動作を振り分ける制御手段
と、該バスに入出力要求を発行する各バス個別の制御手
段とを内蔵するマイクロプロセッサを備え、高速用バス
と低速用バスを該プロセッサに直結することを特徴とす
るコンピュータシステム。
1. A computer system having a high-speed bus for connecting a high-speed IO, a low-speed bus for connecting a low-speed IO, and an input / output instruction for both buses, wherein an input / output instruction for the IO is executed. In this case, the control means for determining which bus is connected to the IO connected to the IO based on the above instruction, and for allocating the input / output operation to the bus, and the individual control for each bus issuing an input / output request to the bus A computer system comprising a microprocessor including means, and a high-speed bus and a low-speed bus are directly connected to the processor.
【請求項2】 上記バスのどのIOからの割り込みかを
示す情報を保持し、リード・ライト可能なレジスタを有
する各バス個別の制御手段と、各バスからの割り込みが
同時に発生した際、あらかじめ設定した優先順位によっ
て優先度を判定する制御手段と、当該割り込みベクタの
アドレスを各バス個別に設定し、該アドレスに命令実行
アドレスを移して割り込み処理を行なう制御手段とを内
蔵したマイクロプロセッサを備えたことを特徴とする請
求項1記載のコンピュータシステム。
2. A control unit for each bus, which holds information indicating from which IO of the bus the interrupt is issued and has a readable / writable register, and preset when an interrupt from each bus occurs at the same time. And a control means for determining priority according to the priority order, and a control means for setting an address of the interrupt vector for each bus individually and moving an instruction execution address to the address to perform interrupt processing. The computer system according to claim 1, wherein:
JP5173981A 1993-07-14 1993-07-14 Computer system Pending JPH0728774A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5173981A JPH0728774A (en) 1993-07-14 1993-07-14 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5173981A JPH0728774A (en) 1993-07-14 1993-07-14 Computer system

Publications (1)

Publication Number Publication Date
JPH0728774A true JPH0728774A (en) 1995-01-31

Family

ID=15970593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5173981A Pending JPH0728774A (en) 1993-07-14 1993-07-14 Computer system

Country Status (1)

Country Link
JP (1) JPH0728774A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075915A (en) * 1999-08-13 2001-03-23 Force Computers Gmbh Computer
WO2024217331A1 (en) * 2023-04-21 2024-10-24 山东云海国创云计算装备产业创新中心有限公司 Method, apparatus, and device for bus scheduling, medium, and substrate management control chip

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075915A (en) * 1999-08-13 2001-03-23 Force Computers Gmbh Computer
WO2024217331A1 (en) * 2023-04-21 2024-10-24 山东云海国创云计算装备产业创新中心有限公司 Method, apparatus, and device for bus scheduling, medium, and substrate management control chip

Similar Documents

Publication Publication Date Title
EP0732659B1 (en) Controlling (n+i) I/O channels with (n) data managers in a homogeneous software programming environment
US5968153A (en) Mechanism for high bandwidth DMA transfers in a PCI environment
EP1899828B1 (en) Device and method for arbitrating between direct memory access task requests
JP3878508B2 (en) Circuit group control system
US5682522A (en) Shared memory architecture of graphics frame buffer and hard disk cache
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
JPH04290150A (en) Device and method for controlling bidirectional fifo as interface between two buses in multi-task system
US8001430B2 (en) Device and method for controlling an execution of a DMA task
JP5040050B2 (en) Multi-channel DMA controller and processor system
US6845426B2 (en) Disk cache control for servicing a plurality of hosts
EP1899825B1 (en) Device and method for controlling multiple dma tasks
JPH0340868B2 (en)
CN109992539B (en) Double-host cooperative working device
EP1899827B1 (en) Device and method for executing a dma task
JPH10283304A (en) Method and system for processing interruption request
JPH08212178A (en) Parallel computer
JPH0728774A (en) Computer system
EP0290533B1 (en) I/o system for off-loading operating system functions
JPS603229B2 (en) Information processing method
WO1988003682A2 (en) I/o system for off-loading operating system functions
JP3206580B2 (en) DMA data transfer control method and input / output processing device
JP3252517B2 (en) Input/Output Control Method and Input/Output Control System
JP2000250713A (en) Disk array controller
JP2966038B2 (en) Digital data processing unit arbitration apparatus and method
JPH02310649A (en) Received frame transfer method and communication control device