JPH0457145A - Multiprocessor system - Google Patents
Multiprocessor systemInfo
- Publication number
- JPH0457145A JPH0457145A JP16867690A JP16867690A JPH0457145A JP H0457145 A JPH0457145 A JP H0457145A JP 16867690 A JP16867690 A JP 16867690A JP 16867690 A JP16867690 A JP 16867690A JP H0457145 A JPH0457145 A JP H0457145A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- register
- peripheral function
- dma
- bus
- 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
- 230000002093 peripheral effect Effects 0.000 claims abstract description 76
- 230000006870 function Effects 0.000 claims description 77
- 101100490184 Drosophila melanogaster Ack gene Proteins 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 240000002853 Nelumbo nucifera Species 0.000 description 2
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 2
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 101150043088 DMA1 gene Proteins 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004571 lime Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、パーソナルコンピュータ、ワークステーショ
ン、オフィスコンピュータなどの情報処理装置における
マルチプロセッサシステムに関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a multiprocessor system in an information processing device such as a personal computer, workstation, or office computer.
[従来の技術]
従来、部品点数を削減し装置を小型化するために周辺機
能を内蔵したプロセッサは公知である。[Prior Art] Conventionally, processors with built-in peripheral functions have been known to reduce the number of parts and downsize the device.
このようなプロセッサは、例えば、特開昭634197
0−号公報、特開平1−298458号公報等に開示さ
れている。Such a processor is disclosed in, for example, Japanese Patent Application Laid-Open No. 634197.
This method is disclosed in Japanese Patent Publication No. 0-1, Japanese Unexamined Patent Publication No. 1-298458, and the like.
一方、複数のプロセッサを用いて、機能分担または負荷
分担等により性能向上を図るマルチプロセラサシステ1
2も公ケ11である。マルチプロセッサシステムにおい
ても、前記周辺機能を内蔵したプロセッサを利用すれば
、外付けの周辺機能が不要になり、部品点数を削減でき
るが、すべてのプロセッサに周辺機能を重複して持たせ
ることは、回路規模的にも経済的にも不合理である。そ
こで、周辺機能を持たないプロセッサが周辺機能内蔵プ
ロセッサの周辺機能を共用できるようにすることか望ま
しい。このようなマルチプロセラサシステ11は特開昭
60−233757号公報に開示されている。On the other hand, a multi-processor processor system 1 uses multiple processors to improve performance by sharing functions or sharing loads.
2 is also public number 11. Even in a multiprocessor system, if you use a processor with built-in peripheral functions, you can eliminate the need for external peripheral functions and reduce the number of parts. However, having multiple peripheral functions in every processor is This is unreasonable both in terms of circuit scale and economics. Therefore, it is desirable to enable a processor without peripheral functions to share the peripheral functions of a processor with built-in peripheral functions. Such a multi-processor support system 11 is disclosed in Japanese Patent Laid-Open No. 60-233757.
この公報記載のマルチプロセッサシステムでは、外部プ
ロセッサからのマスターリフニス1〜信号により周辺機
能内蔵プロセッサの動作が停止され、この動作停止中に
、周辺機能が外部のバスおよび制御ラインに接続されて
外部のプロセッサがアクセスできるようにしている。In the multiprocessor system described in this publication, the operation of the processor with built-in peripheral functions is stopped by the master refresh 1~ signal from the external processor, and while this operation is stopped, the peripheral functions are connected to the external bus and control line, and processors can access it.
[発明が解決しようとする課題]
一]二足特開昭60−233757号公報に記載の従来
マルチプロセッサシステムでは、周辺機能の利用要求か
競合した場合、例えば、周辺機能がDMAコン1ヘロー
ラである場合であって複数のプロセッサが110を共有
するような場合について配慮されていない。すなわち、
共有するT/○についてのDMA情報を格納する内部コ
ンI−ロールレジスタの内容を強制的に書き換えれば先
行するD M A処理を続行不能に中断することとなり
、また、先行するDMA処理の終rを待って内部コン1
へロールレジスタの内容を書き換えるとしても、そのた
めに外部プロセッサはDMA処理が終了するまで待機し
なければならないという問題があった。[Problems to be Solved by the Invention] 1] In the conventional multiprocessor system described in Japanese Unexamined Patent Publication No. 60-233757, when there is a conflict between requests to use a peripheral function, for example, if the peripheral function There is no consideration given to the case where multiple processors share 110. That is,
Forcibly rewriting the contents of the internal controller I-roll register that stores DMA information about the shared T/○ will interrupt the preceding DMA process, making it impossible to continue. waiting for internal con 1
Even if the contents of the servo register were to be rewritten, there was a problem in that the external processor had to wait until the DMA processing was completed.
本発明の目的は、このような問題を解決し、プロセッサ
に内蔵されているDMAコン1ヘローラなどの周辺機能
を他のプロセッサに効率良く利用させることができるマ
ルチプロセッサシステムを提供することにある。SUMMARY OF THE INVENTION An object of the present invention is to provide a multiprocessor system that solves these problems and allows other processors to efficiently utilize peripheral functions such as a DMA controller built in a processor.
[課題を解決するための手段]
上記目的を達成するために、本発明によるマルチプロセ
ッサシステムは、周辺機能を内蔵した第1のプロセッサ
と、第2のプロセッサとを備え、第2のプロセッサが前
記第1のプロセッサ内蔵の周辺機能を共有して利用可能
なマルチプロセッサシステムにおいて、前記第1および
第2の各プロセッサからアクセスできる場所に、前記周
辺機能のコントロールレジスタに設定する情報を格納す
る第1のレジスタと、前記周辺機能の利用要求であるこ
とを示す割込み要因を設定する第2のレジスタとを設け
、□前記第2のプロセッサは前記周辺機能を利用するた
めに前記第1および第2のレジスタに所定の内容を設定
し、前記第1のプロセッサは前記第2のレジスタの内容
を参照し、該内容に応じて前記第1のレジスタの内容を
前記周辺機能のコントロールレジスタに設定し、前記周
辺機能を動作させるようにしたものである。[Means for Solving the Problems] In order to achieve the above object, a multiprocessor system according to the present invention includes a first processor having a built-in peripheral function and a second processor, and the second processor has a built-in peripheral function. In a multiprocessor system in which a peripheral function built in a first processor can be shared and used, a first processor storing information to be set in a control register of the peripheral function in a location that can be accessed from each of the first and second processors. and a second register for setting an interrupt factor indicating that it is a request to use the peripheral function; A predetermined content is set in a register, the first processor refers to the content of the second register, and sets the content of the first register to the control register of the peripheral function according to the content; It is designed to operate peripheral functions.
このシステムにおいて、好ましくは、前記第1のプロセ
ッサが前記第2のレジスタを参照した結果、前記割込み
要因が前記周辺機能の利用要求であり且つ前記周辺機能
が即座に対応できる状態にある場合、前記第1のプロセ
ッサは前記第1のレジスタの内容を読みだして前記コン
トロールレジスタに書込み、前記割込み要因が1前記周
辺機能の利用要求であり且つ前記第1のプロセッサが即
座に対応できない状態にある場合、前記第」のプロセッ
サは前記第1のレジスタの内容を読みだしてメインメモ
リ上にスタックしておき、前記周辺機能の利用要求に対
応できる状態になったとき前記メインメモリ上にスタッ
クしておいた情報を読みだして前記コントロールレジス
タに書き込む。In this system, preferably, as a result of the first processor referring to the second register, if the interrupt factor is a request to use the peripheral function and the peripheral function is in a state where it can immediately respond, the first processor may refer to the second register. The first processor reads the contents of the first register and writes it to the control register, and when the interrupt factor is a request to use the peripheral function and the first processor is in a state where it cannot respond immediately. , the first processor reads out the contents of the first register and stacks it on the main memory, and when it becomes ready to respond to a request to use the peripheral function, the first processor reads out the contents of the first register and stacks it on the main memory. The stored information is read out and written to the control register.
前記周辺機能は、例えば、DMA (ダイレフ(−メモ
リアクセス)コン1〜ローラである。The peripheral functions are, for example, DMA (-memory access) controllers 1 to 1.
前記周辺機能が即座に対応できる状態にある場合とは、
例えば、前記第1のプロセッサと前記第2のプロセッサ
とか入出力装置を共有していない場合に相当し、前記周
辺機能が即座に対応できない状態にある場合とは、例え
ば、前記第1のプロセッサと第2のプロセッサとが入出
力装置を共有している場合に相当する。When the peripheral functions are in a state where they can respond immediately,
For example, this corresponds to a case where the first processor and the second processor do not share an input/output device, and a case where the peripheral function is in a state where the peripheral function cannot immediately respond is, for example, a case where the first processor and the second processor do not share an input/output device. This corresponds to a case where the second processor shares an input/output device.
前記第1のプロセッサは、好ましくは、マイクロプログ
ラムの切目ごとに割込みを受付け、前記コン1−ローラ
レジスタへの書込みに関する一連の処理をマイクロプロ
グラムの切目ごとの割込み処理として行なう。Preferably, the first processor accepts an interrupt for each section of the microprogram, and performs a series of processing related to writing to the controller register as interrupt processing for each section of the microprogram.
前記システムは、例えば、主記憶装置を共有しない疎結
合方式のマルチプロセッサシステムであり、前記周辺機
能はDMAコントローラであり、前記第りのプロセッサ
から見て前記第2のプロセッサの主記憶装置がアドレス
空間」二人なるアドレスに割り付けられ、前記1) M
Aコントローラは、前記第2のプロセッサの主記憶装
置についてDMAを行なおうとするとき、前記第2のプ
ロセッサから見た物理アドレスを設定するだけでDMA
が行なえるように、DMAアドレスに一定値を加算する
加算手段を有する5
前記システムは、システムアドレスバスおよびシステム
データバスと、前記第1および第2のプロセッサ間で前
記システムアドレスバスおよびシステムデータバスの使
用権獲得の調停を行なうバスアービタを有し、該パスア
ービタ内に前記第1および第2のレジスタを設けること
ができる。The system is, for example, a loosely coupled multiprocessor system that does not share a main memory, the peripheral function is a DMA controller, and the main memory of the second processor has an address when viewed from the first processor. "space" allocated to two addresses, said 1) M
When the A controller attempts to perform DMA on the main memory of the second processor, the A controller performs the DMA by simply setting the physical address seen from the second processor.
5. The system includes an adding means for adding a constant value to the DMA address so that The first and second registers may be provided within the bus arbiter that arbitrates for acquisition of usage rights.
[作 用]
本発明では、マルチプロセyすを構成するそれぞれのプ
ロセッサからアクセスできる場所に、共有する周辺機能
に設定する情報を格納するレジスタおよび共有する周辺
機能利用要求であるという割り込み要因を設定するレジ
スタを設ける。共有する周辺機能を利用したいプロセッ
サは、周辺機能に設定する情報を前記レジスタに書き込
み、同時に割り込み要因をセラ1〜する。その後、割り
込み要求を受けた周辺機能を内蔵したプロセッサは、割
り込み処理中に、その要因が共有する周辺機能利用要求
であることが判明した時点で、内部の周辺機能が即座に
対応できる状態にあるかどうかを判定し、次の処理を行
う。[Function] In the present invention, a register that stores information to be set for a shared peripheral function and an interrupt factor indicating a request to use a shared peripheral function are set in a location that can be accessed from each processor that constitutes a multiprocessor. A register will be provided to A processor that wants to use a shared peripheral function writes information to be set for the peripheral function in the register, and at the same time sets the interrupt factor to cell 1. Thereafter, when a processor with a built-in peripheral function that receives an interrupt request determines that the cause is a request to use a shared peripheral function during interrupt processing, the internal peripheral function is ready to respond immediately. Determine whether it is true or not, and perform the following processing.
(1)割り込み要因を設定するレジスタを参照した時点
で、周辺機能が即座に対応できる状態であった場合、周
辺機能を内蔵したプロセッサは、周辺機能に設定する条
件を格納するレジスタからその内容を読み出して、自身
の周辺機能内部のレジスタに書き込む。ここで割り込み
処理が終了し、外部のプロセッサによる周辺機能の起動
増作は整ったことになる。(1) If the peripheral function is ready to respond immediately when the register that sets the interrupt factor is referenced, the processor with the built-in peripheral function will read the contents from the register that stores the conditions set for the peripheral function. Read and write to registers inside its own peripheral. At this point, interrupt processing is completed, and the external processor is ready to start up additional peripheral functions.
(2)割り込み要因を設定するレジスタを参照した時点
で、周辺機能が即座に対応できない状態であった場合、
周辺機能を内蔵したプロセッサは、周辺機能に設定する
条11を格納するレジスタからその内容を読み出して、
メインメモリドにスタックを形成する。ここで割り込み
処理が終了する。そして、周辺機能を内蔵したプロセッ
サは、周辺機能が利用要求に対応できる状態になった時
点で、メインメモリ上にスタックしておいた周辺機能に
設定する条件を読み出して、白身の周辺機能内部のレジ
スタに書き込む。この時点て、外部のプロセッサによる
周辺機能の起動?(0備は整ったことになる。(2) If the peripheral function is not able to respond immediately when the register for setting the interrupt factor is referenced,
A processor with a built-in peripheral function reads the contents from the register that stores article 11 to be set for the peripheral function, and
Form a stack in main memory. At this point, the interrupt processing ends. Then, when the peripheral function is ready to respond to usage requests, the processor with the built-in peripheral function reads out the conditions to be set for the peripheral function stacked in the main memory, and stores the internal functions of the white peripheral function. Write to register. At this point, is the peripheral function activated by an external processor? (0 preparations are now in place.
以上述へた手段では、外部のプロセッサから、共有する
周辺機能に情報を設定することを可能とし、さらに、周
辺機能利用要求が競合した場合でも、順次周辺機能に情
報を設定しつつ、処理を行なって行くことができる。す
なわち、マルチプロセッサシステムにおいて、プロセッ
サに内蔵された周辺機能を他のプロセッサが効率良く利
用することが可能となる。The means described above makes it possible to set information from an external processor to a shared peripheral function, and furthermore, even when requests for peripheral function use conflict, processing can be performed while sequentially setting information to the peripheral functions. You can go ahead and do it. That is, in a multiprocessor system, it becomes possible for other processors to efficiently utilize peripheral functions built into a processor.
[実施例] 以下、本発明の実施例を図面により説明する。[Example] Embodiments of the present invention will be described below with reference to the drawings.
第1図は、本発明の実施例のシステム構成を示したブロ
ック図で、1はDMAコン1−ローラを内蔵した第1の
マイクロプロセッサであるMPU、2は第2のマイクロ
プロセッサであるM P U、3はハスの使用権を調停
するバスアービタ、4はM I) U 1のメインメモ
リを制御するメモリコントローラ、5はM P U 1
の主記憶装置であるメインメモリ、6はMPU2の主記
憶装置であってMPUIから見たローカルメモリ、7は
入出力装置1
置である■/○、8はMPUIの内蔵DMAコンI−ロ
ーラ、9はMPUIの内部アドレスバス、]OはM P
U ]の内部データバス、1j、はローカルメモリ6
を制御するメモリコントローラ、12はI)MΔに必要
なデータラッチレジスタ、13はMPl、J]、、MP
U2からリート/ライI〜可能な割り込み要因レジスタ
、14はラッチ機能付きア1〜レス方向制御I〜ライバ
、15はハスをハイインピーダンス状態にすることがで
きる3ステーI−双方向1〜ライハ、16はラッチ機能
付きアドレス方向制御1−ライム、17はバスをハイイ
ンピーダンス状態にすることができる3ステート双方向
ドライバ、]8はMPUIのアドレスとデータを多重化
したマルチプレクスバス、]9はシステムア1くレスバ
ス、20はシステムデータバス、21はM P U 2
のアドレスバス、22はMPU2のデータバス、23は
バスアービタ3からM P U lに対するバス解放要
求信号(REQ信号)、24はM PU 、1からハス
アービタ3に対するバス解放信号(ΔCK信″;j)、
25は八4PIJ3のマイクロブロクラムの切れ目ごと
に割り込みを要求するマイクロスチール要求信号、26
はMPU2からバスアービタ3に対して割り込みを要求
する割り込み要求信号、27はMPUIがらメインメモ
リ、パスアービタ3内部のレジスタまたはIloをアク
セスするためのり一ド/ライト信号、28はMPU2か
らバスアービタ3内部のレジスタをアクセスするための
リード/ライト信号、2つはMPU2からパスアービタ
3に対するハス解放要求信号、30はパスアービタ3か
らMPU2に対するバス解放信号、31はMPUIおよ
びMPU2からのl107に対するアクセス信号を伝え
るI10リード/ライト信号、32はl107からのI
) M A要求信号(DREQ信号)、33はl107
に対するDMA許可信号(DACK信号)、34はバス
アービタ3がらMPUI内蔵DMAコントローラ8に対
する各チャネルごとのDMA1動信号である。FIG. 1 is a block diagram showing the system configuration of an embodiment of the present invention, in which 1 is an MPU, which is a first microprocessor with a built-in DMA controller, and 2 is a second microprocessor, MPU. 3 is a bus arbiter that arbitrates the right to use the lotus, 4 is a memory controller that controls the main memory of MPU 1, and 5 is a memory controller that controls the main memory of MPU 1.
6 is the main memory of the MPU 2 and is a local memory seen from the MPUI; 7 is the input/output device 1; 8 is the built-in DMA controller I-roller of the MPUI; 9 is the internal address bus of MPUI, ]O is MPUI
U]'s internal data bus, 1j, is the local memory 6
12 is a data latch register necessary for I) MΔ, 13 is MPl, J], , MP
From U2, read/write I - possible interrupt factor register, 14, address 1 with latch function - release direction control I - driver, 15, 3-stay I - bidirectional 1 - driver, which can put the lotus in a high impedance state; 16 is an address direction control 1-lime with a latch function, 17 is a 3-state bidirectional driver that can put the bus in a high impedance state,] 8 is a multiplex bus that multiplexes MPUI addresses and data, ] 9 is a system A1 address bus, 20 system data bus, 21 MPU2
, 22 is a data bus of MPU 2, 23 is a bus release request signal (REQ signal) from bus arbiter 3 to MPU l, 24 is a bus release signal (ΔCK signal''; j) from MPU, 1 to hash arbiter 3. ,
25 is a microsteel request signal that requests an interrupt at every break in the micro block of 84 PIJ3; 26
is an interrupt request signal from the MPU 2 requesting an interrupt to the bus arbiter 3, 27 is a read/write signal for accessing the main memory from the MPUI, a register or Ilo inside the path arbiter 3, and 28 is a register from the MPU 2 inside the bus arbiter 3. 2 are bus release request signals from MPU 2 to path arbiter 3, 30 are bus release signals from path arbiter 3 to MPU 2, and 31 are I10 read/write signals for conveying access signals from MPUI and MPU 2 to l107. Write signal, 32 is I from l107
) MA request signal (DREQ signal), 33 is l107
A DMA permission signal (DACK signal) 34 is a DMA1 movement signal for each channel from the bus arbiter 3 to the MPUI built-in DMA controller 8.
第3図は、MPUIのメインメモリ5J−に形成するM
P T、J 2のDMA制御用のスタックを示したも
のである。Figure 3 shows the M
The stack for DMA control of P T and J 2 is shown.
第4図は、MPUI内蔵のDMAコントローラ8の詳細
ブロック図である。同図中、101はDMAアドレスレ
ジスタ、102a、102b=はチャネルごとに転送カ
ウント数、先頭アドレス、DMAの転送モードなどのD
MAに必要な情報を設定するDMA情報レジスタ、10
3はDMA71−レスレジスタの出力に一定の値を加え
る加算器である。FIG. 4 is a detailed block diagram of the DMA controller 8 with built-in MPUI. In the figure, 101 is a DMA address register, and 102a and 102b are data registers for each channel, such as the transfer count, start address, and DMA transfer mode.
DMA information register for setting information necessary for MA, 10
3 is an adder that adds a constant value to the output of the DMA 71-less register.
本実施例では、M P U ]とMPU2が主記憶装置
を共有しない疎結合方式のマルチプロセラサシステ11
について説明するが、見つけ都合方式のマルチプロセッ
サシステムにも同様に適用することができる。内部にD
MAコントローラ8を持つMPUIは、主記憶装置とし
てメインメモリ5を有し、そのアクセス制御をメモリコ
ントローラ4が行う。一方、第2のプロセッサであるM
PU2は、主記憶装置としてローカルメモリ6を有し、
そのアクセス制御をメモリコントローラ11が行なう。In this embodiment, a loosely coupled multi-processor support system 11 in which MPU ] and MPU2 do not share the main memory is used.
However, it can be similarly applied to a multiprocessor system based on a convenience method. D inside
The MPUI having the MA controller 8 has a main memory 5 as a main storage device, and the memory controller 4 controls access to the main memory 5. On the other hand, the second processor M
PU2 has local memory 6 as a main storage device,
The memory controller 11 performs the access control.
第2図に、M P U 1およびMPU2のアドレス割
り付けを示すアドレス空間マツプを示す。FIG. 2 shows an address space map showing address allocation for MPU1 and MPU2.
ローカルメモリ6は、MPUIから見てアドレス空間上
具なるアドレスに割り付けられている。The local memory 6 is allocated to addresses in the address space as viewed from the MPUI.
バスの調停に関して、システムアドレスバス19および
システムデータバス20の使用権は通常MPUIが有し
ており、MPU2を始めとする他のバスマスタがバス権
を獲得するためには、バスアービタ3に対してバス解放
要求信号(M P U 2の場合はバス解放要求信号2
9)をアサートする。バスアービタ3は、MPUIに対
してREQ信号23でバスの解放を要求し、ACK信号
24によりMPUIからバスの解放が通知されると、内
部で優先制御を行い、優先順位の高いものから順にバス
使用許可信号(MPU2の場合はバス解放信号30)に
よりバス権を与えるという制御を行う。Regarding bus arbitration, the MPUI normally has the right to use the system address bus 19 and the system data bus 20, and in order for other bus masters including the MPU 2 to acquire bus rights, they must request the bus arbiter 3 to use the bus. Release request signal (bus release request signal 2 in case of MPU 2)
9) is asserted. The bus arbiter 3 requests the MPUI to release the bus using the REQ signal 23, and when notified of the release of the bus from the MPUI using the ACK signal 24, it performs internal priority control and uses the bus in descending order of priority. Control is performed to grant bus rights using a permission signal (bus release signal 30 in the case of MPU 2).
MPUIおよびMPU2がDMAを行う場合、MPU1
内蔵のDMAコン1〜ローラ8が用いられる。本システ
ムにおけるDMAは、DMAコントローラ8の内部レジ
スタに転送カラン1へ数、先頭アドレス、DMAの転送
モードなどのDMA情報を設定し、DMAコントローラ
8はマルチプレクスバス18を介してアドレスのみを出
力するという方式である。When MPUI and MPU2 perform DMA, MPU1
Built-in DMA controllers 1 to 8 are used. DMA in this system sets DMA information such as the number of transfer call 1, start address, DMA transfer mode, etc. in the internal register of the DMA controller 8, and the DMA controller 8 outputs only the address via the multiplex bus 18. This is the method.
M P U 1のソフトウェアがDMAを行なう方法は
次の通りである。The way the MPU 1 software performs DMA is as follows.
M P tJ ]は、ます内蔵のDMAコントローラ8
の内部レジスタに、必要なりMA情報を設定する。M P tJ ] is the built-in DMA controller 8
If necessary, set MA information in the internal register of .
その後、l107にも■/○アクセス命令により必要な
りMA情報を設定し、続いて、DREQ信号32による
DMA要求を出力させる。これを受けたバスアービタ3
は、REQ信号23によりM I) TJ 1に対して
バスの解放を要求する。ACK信号24によりバスの解
放が通知された時点で、バスアービタ3は、DMAコン
1〜ローラ8に対してD MA起動信号34を出力する
とともに、l107に対してはD A CK信号33を
出力し、D M Aを開始させる。Thereafter, necessary MA information is set in l107 by the ■/○ access command, and then a DMA request is output by the DREQ signal 32. Bus arbiter 3 that received this
uses the REQ signal 23 to request MI) TJ 1 to release the bus. At the time when bus release is notified by the ACK signal 24, the bus arbiter 3 outputs the DMA activation signal 34 to the DMA controller 1 to the roller 8, and also outputs the D ACK signal 33 to l107. , start DMA.
次に、MPU2のラフ1〜ウエアがDMAを行なう方法
を説明する。Next, a method for the rough 1 to wear of the MPU 2 to perform DMA will be explained.
まず、IloをMPUIと共有しない場合のDMA方法
は第5図のフローチャートに示す通りである。最初に、
MPU2のソフトウェアが、l107にI10アクセス
命令により必要なりMA情報を設定する(S51)。ま
た、MPUI内蔵のDMAコントローラ8の内部レジス
タに設定が必要なりMA情報をバスアービタ3内部のレ
ジスタ12に設定し、M P tJ 2によるDMA要
求であるということを割り込み要因レジスタ13に設定
しておく (S52)。設定が終わるとバスアービタは
、自動的にマイクロスチール要求信号25によりMPU
Iのマイクロプログラムの切れ目に対して割り込みをか
ける。MPUIはマイクロスチールの処理プログラム中
で、パスアービタ3内部のレジスタを参照し、その要因
がMPUIと共有しないIloとの間のDMAであると
判断すると、バスアービタ3内部のレジスタからM P
U 2が設定したDMA情報を読みだして内蔵のDM
Aコントローラ8の内部レジスタに設定する(S53)
。First, the DMA method when Ilo is not shared with MPUI is as shown in the flowchart of FIG. At first,
The software of the MPU 2 sets necessary MA information in the I107 by the I10 access command (S51). Also, it is necessary to set the internal register of the DMA controller 8 with built-in MPUI, so set the MA information in the register 12 inside the bus arbiter 3, and set the fact that it is a DMA request by MP tJ 2 in the interrupt factor register 13. (S52). When the setting is completed, the bus arbiter automatically sends the MPU request signal 25.
An interrupt is placed at the break in the I microprogram. MPUI refers to the register inside the path arbiter 3 in the microsteel processing program, and if it determines that the cause is a DMA between MPUI and Ilo that is not shared, the MPUI is transferred from the register inside the bus arbiter 3.
Reads the DMA information set by U2 and connects the built-in DM
Set in the internal register of A controller 8 (S53)
.
その後、MPUIのソフトウェアがT10アクセス命令
により、■107に起動をかけてDMAを開始させる(
S54)。このとき、内蔵のDMAコンl−ローラ8は
、MPU2から見た物理アドレスを設定するだけで、l
vi P U ]から見たローカルメモリの領域にDM
A転送を可能とするため、前述のように、加算器1.0
3により、設定されたア1ヘレスに一定値を加算するこ
とかできる構造になっている。After that, the MPUI software uses the T10 access command to activate ■107 and start DMA (
S54). At this time, the built-in DMA controller l-roller 8 simply sets the physical address seen from the MPU 2.
DM to the local memory area seen from vi P U ]
To enable A transfer, as mentioned above, adder 1.0
3, the structure is such that a fixed value can be added to the set value.
次に、1/○をM I) U ]と共有する場合のDM
A方法は第6図に示す通りである。最初は■/○をM
P U ]と共有しない場合と同様に、M P U 2
ノソフl−ウェアが、工107にI10アクセス命令
により必要なりMA情報を設定する(S61)。また、
M P U 1内蔵のDMAコン1−ローラ8の内部レ
ジスタに設定か必要なり M A情+tjを、バスアー
ビタ内3内部のレジスタ]2に設定し、 M r” t
、J 2によるl) M A要求であるということを割
り込み要因レジスタ13に設定しておく(S629.設
定か終才〕るとパスアービタ3は、自動的にマイクロス
チール要求(吉−525によりMPU1のマイクロプロ
グラムの切れ目に対して割り込みをかける。M P L
J ]はマイクロスチールの処理プログラム中で、パス
アービタ3内部のレジスタを参照し、その要因がMPU
Iと共有するIloとの間のDMAであると判断すると
、パスアービタ3内部のレジスタがらMPU2が設定し
たDMA情報を読みだしてメインメモリ5」二にスタッ
クする(S63)。次に、スタッタ用のポインタを更新
しく564)、割り込み要因(MPTJ2と共有■/○
との間のDMA要求)をバスアービタ3内部のレジスタ
13に設定する(865)。Next, DM when sharing 1/○ with M I) U]
Method A is as shown in FIG. At first, ■/○ is M.
Similar to the case where it is not shared with M P U 2
The software l-ware sets necessary MA information in the machine 107 by an I10 access command (S61). Also,
It is necessary to set it in the internal register of DMA controller 1-roller 8 built in MPU 1. Set M
, J2 l) If the interrupt cause register 13 is set to indicate that it is an M A request (S629. Setting or termination), the path arbiter 3 automatically issues a microsteal request (by Kichi-525 of the MPU1). Generate an interrupt at the break in the microprogram.M P L
J ] refers to the register inside the path arbiter 3 in the microsteel processing program, and the cause is the MPU.
If it is determined that the DMA is between Ilo and Ilo, which is shared by I, the DMA information set by the MPU 2 is read from the register inside the path arbiter 3 and stacked in the main memory 5''2 (S63). Next, update the pointer for the stutter (564) and the interrupt factor (shared with MPTJ2■/○
DMA request between the bus arbiter 3 and the bus arbiter 3 is set in the register 13 inside the bus arbiter 3 (865).
これにより、パスアービタ3は、MPUIに対して割り
込み信号26により割り込み要求を出力する(366)
。この割り込み処理プログラム中で、MPUIはバスア
ービタ3内部のレジスタを参照しく567)、その要因
がM P U 1と共有するIloとの間のDMAであ
ると判断すると、DMAコン1−ローラ8がMPUI自
身以外のD M A要求を受付けられる状態になった時
点で、メインメモ11J 5ゴーに形成されたスタック
から、M P U 2がハスアービタ3内部のレジスタ
内部に設定したI) M A情報を読みだして内蔵のD
MAコントローラ8の内部レジスタに設定する。この際
、通常、スタッタはファーストインラスI〜アウ1一方
式であるが、ファーストインファースI−アウト方式と
してもよい。引き続き、MPU1のソフ1へウェアがI
10アクセス命令により、丁107に起動をかけてD
M Aを開始させる(S68)。なお、処理S67て割
込み要因がD M A要求でなけれは、その割込み処理
を行なう(S69)。As a result, the path arbiter 3 outputs an interrupt request to the MPUI using the interrupt signal 26 (366).
. In this interrupt processing program, the MPUI refers to the register inside the bus arbiter 3 (567), and when it determines that the cause is a DMA between MPU 1 and Ilo, which is shared, the DMA controller 1-roller 8 interrupts the MPUI. When it is ready to accept DMA requests other than its own, the MPU 2 reads the I) MA information set in the register inside the hash arbiter 3 from the stack formed in the main memory 11J5. Built-in D
Set in the internal register of the MA controller 8. At this time, the stutter is usually a first-in-first I-out type, but it may also be a first-in-first I-out type. Continuing, the software is sent to software 1 of MPU1.
10 Access command activates D107 and D
MA is started (S68). Incidentally, if the interrupt cause is not a DMA request in step S67, the interrupt processing is performed (S69).
本発明によれば、マルチプロセッサシステムにおいて、
複数のプロセッサのうちにD M Aコン1−ローラを
内蔵したプロセッサを含む場合、そのD M Aコント
ローラを、D M AコンI〜ローラヲ内蔵しない他の
プロセッサか不都合なく使用することかできるため、内
蔵周辺機能の利用効率を高めるとともに、処理効率の良
いマルチプロセッサシステムを構築できるという効果が
ある。According to the present invention, in a multiprocessor system,
If a processor with a built-in DMA controller 1-roller is included among the plurality of processors, that DMA controller can be used without any inconvenience with another processor that does not have a DMA controller 1-roller built-in. This has the effect of increasing the efficiency of using built-in peripheral functions and building a multiprocessor system with high processing efficiency.
J−記実施例ては■/○を共有する場合、DMA情報を
メインメモリにスタックするようにしたが、この代わり
にパスアービタ内のレジスタ12および13を複数組有
する構成として、パスアービタ内においてスタックを形
成する方式であってもよい。In the embodiment described in J-2, when sharing ■/○, the DMA information was stacked in the main memory, but instead of this, the path arbiter is configured to have multiple sets of registers 12 and 13, and the stack is stacked in the path arbiter. It may also be a method of forming.
[発明の効果]
本発明によれば、マルチプロセッサシステムにおいて、
周辺機能を内蔵したプロセッサを含む場合、その周辺機
能を他のプロセッサが効率良く使用することがてきるた
め、効率の良いマルチプロセッサシステムを構築できる
。[Effects of the Invention] According to the present invention, in a multiprocessor system,
When a processor with built-in peripheral functions is included, other processors can efficiently use the peripheral functions, so an efficient multiprocessor system can be constructed.
第1図は、本発明第一の実施例のシステム構成を示すブ
ロック図、第2図は、M P U 、1およびM P
U 2のアドレス割り付けを示すア1くレス空間マツプ
、第3図は、MPUIのメインメモリ5 J−に形成す
るM P rJ 2のDMA制御用のスタックを示した
図、第4図は、M P U ]内蔵のDMAコン1ヘロ
ーラ8の詳細フロック図、第5図は、M I) U 2
が、M PU 1と共有しないIloとの開でI) M
Aを行う場合のDMA起動までの一連の手続きのフロ
ーチャート、第6図は、MPU2が、MPU1と共有す
る■/○との間でDMAを行う場合のD M A起動ま
での一連の手続きのフローチャー1−である。
1 第1のマイクロプロセッサであるMPU、2・第2
のマイクロプロセッサであるMPU、3ハスアービタ、
4 メモリコントローラ、5メインメモリ、6・・・ロ
ーカルメモリ、7 入出力装置(T/○)、8・MPU
I内蔵DMAコン1〜ローラ、9− M P U 1の
内部アドレスバス、10MPtJ]の内部データバス、
1.2 DMA情報データラッチレジスタ、13・割
り込み要因レジスタ、14・・ラッチ機能付きアドレス
方向制御ドライバ、153ステー1〜双方向ドライバ、
16ランチ機能付きアドレス方向制御ドライバ、173
ステー1〜双方向トライバ、18 マルチプレクスハス
、19 システムアドレスバス、20 システムデータ
バス、21・MPU2のアドレスバス、22− M P
U 2のデータバス、23ハス解放要求信号(REQ信
号)、24・バス解放信号(ACK信号)、25・・マ
イクロスチール要求信号、26・・・割り込み要求信号
、27・・リード/ライト信号、28・・・リード/ラ
イト信号、29・バス解放要求信号、30・・バス解放
信号、31・・・I10リード/ライト信号、32・
DMA要求信号(DREQ信号)、33・DMA許可侶
号(DACK信号)、34・DMA起動信号、101
・DMAアドレスレジスタ、1.02 a 。
102b・・DMA情報レジスタ、103 ・加算器。FIG. 1 is a block diagram showing the system configuration of the first embodiment of the present invention, and FIG. 2 is a block diagram showing the system configuration of the first embodiment of the present invention.
FIG. 3 is an address space map showing the address allocation of U2. FIG. P U ] Detailed block diagram of the built-in DMA controller 1 and roller 8, FIG. 5 is M I) U 2
but with an opening with Ilo that does not share with M PU 1
A flowchart of a series of procedures up to DMA activation when performing A. Figure 6 is a flowchart of a series of procedures up to DMA activation when MPU2 performs DMA between ■/○ shared with MPU1. Char 1-. 1. MPU which is the first microprocessor, 2.
MPU which is a microprocessor, 3 hash arbiter,
4 Memory controller, 5 Main memory, 6 Local memory, 7 Input/output device (T/○), 8 MPU
I built-in DMA controller 1~roller, 9-MPU 1 internal address bus, 10MPtJ] internal data bus,
1.2 DMA information data latch register, 13. Interrupt factor register, 14. Address direction control driver with latch function, 153 stage 1 to bidirectional driver,
Address direction control driver with 16 launch function, 173
Stay 1 to bidirectional driver, 18 multiplex bus, 19 system address bus, 20 system data bus, 21/MPU2 address bus, 22-M P
U 2 data bus, 23 Hass release request signal (REQ signal), 24 Bus release signal (ACK signal), 25 Micro steal request signal, 26 Interrupt request signal, 27 Read/write signal, 28... Read/write signal, 29. Bus release request signal, 30... Bus release signal, 31... I10 read/write signal, 32.
DMA request signal (DREQ signal), 33. DMA permitter number (DACK signal), 34. DMA activation signal, 101
- DMA address register, 1.02a. 102b...DMA information register, 103 - Adder.
Claims (1)
ロセッサとを備え、第2のプロセッサが前記第1のプロ
セッサ内蔵の周辺機能を共有して利用可能なマルチプロ
セッサシステムにおいて、 前記第1および第2の各プロセッサからアクセスできる
場所に、前記周辺機能のコントロールレジスタに設定す
る情報を格納する第1のレジスタと、前記周辺機能の利
用要求であることを示す割込み要因を設定する第2のレ
ジスタとを設け、 前記第2のプロセッサは前記周辺機能を利用するために
前記第1および第2のレジスタに所定の内容を設定し、
前記第1のプロセッサは前記第2のレジスタの内容を参
照し、該内容に応じて前記第1のレジスタの内容を前記
周辺機能のコントロールレジスタに設定し、前記周辺機
能を動作させることを特徴とするマルチプロセッサシス
テム。 2、前記第1のプロセッサが前記第2のレジスタを参照
した結果、前記割込み要因が前記周辺機能の利用要求で
あり且つ前記周辺機能が即座に対応できる状態にある場
合、前記第1のプロセッサは前記第1のレジスタの内容
を読みだして前記コントロールレジスタに書込み、前記
割込み要因が前記周辺機能の利用要求であり且つ前記第
1のプロセッサが即座に対応できない状態にある場合、
前記第1のプロセッサは前記第1のレジスタの内容を読
みだしてメインメモリ上にスタックしておき、前記周辺
機能の利用要求に対応できる状態になったとき前記メイ
ンメモリ上にスタックしておいた情報を読みだして前記
コントロールレジスタに書き込むことを特徴とするマル
チプロセッサシステム。 3、前記周辺機能はDMA(ダイレクトメモリアクセス
)コントローラであることを特徴とする請求項1または
2記載のマルチプロセッサシステム。 4、前記周辺機能が即座に対応できる状態にある場合と
は、前記第1のプロセッサと前記第2のプロセッサとが
入出力装置を共有していない場合に相当し、前記周辺機
能が即座に対応できない状態にある場合とは前記第1の
プロセッサと第2のプロセッサとが入出力装置を共有し
ている場合に相当することを特徴とする請求項2記載の
マルチプロセッサシステム。 5、前記第1のプロセッサは、マイクロプログラムの切
目ごとに割込みを受付け、請求項2記載の一連の処理を
マイクロプログラムの切目ごとの割込み処理として行な
うことを特徴とするマルチプロセッサシステム。 6、前記システムは主記憶装置を共有しない疎結合方式
のマルチプロセッサシステムであり、前記周辺機能はD
MAコントローラであり、前記第1のプロセッサから見
て前記第2のプロセッサの主記憶装置がアドレス空間上
異なるアドレスに割り付けられ、前記DMAコントロー
ラは、前記第2のプロセッサの主記憶装置についてDM
Aを行なおうとするとき、前記第2のプロセッサから見
た物理アドレスを設定するだけでDMAが行なえるよう
に、DMAアドレスに一定値を加算する加算手段を有す
ることを特徴とする請求項1記載のマルチプロセッサシ
ステム。 7、システムアドレスバスおよびシステムデータバスと
、前記第1および第2のプロセッサ間で前記システムア
ドレスバスおよびシステムデータバスの使用権獲得の調
停を行なうバスアービタを有し、該バスアービタ内に前
記第1および第2のレジスタを設けたことを特徴とする
請求項1記載のマルチプロセッサシステム。[Claims] 1. A multiprocessor comprising a first processor with built-in peripheral functions and a second processor, where the second processor can share and use the peripheral functions built into the first processor. In the system, a first register that stores information to be set in a control register of the peripheral function in a location that can be accessed from each of the first and second processors, and an interrupt factor that indicates a request to use the peripheral function. a second register for setting the peripheral function; the second processor sets predetermined contents in the first and second registers in order to use the peripheral function;
The first processor refers to the contents of the second register, sets the contents of the first register to a control register of the peripheral function according to the contents, and operates the peripheral function. multiprocessor system. 2. As a result of the first processor referring to the second register, if the interrupt factor is a request to use the peripheral function and the peripheral function is ready to respond immediately, the first processor reading the contents of the first register and writing them to the control register; when the interrupt factor is a request to use the peripheral function and the first processor is in a state where it cannot respond immediately;
The first processor reads out the contents of the first register and stacks it on the main memory, and stacks it on the main memory when it becomes ready to respond to a request to use the peripheral function. A multiprocessor system characterized in that information is read and written to the control register. 3. The multiprocessor system according to claim 1 or 2, wherein the peripheral function is a DMA (direct memory access) controller. 4. The case where the peripheral function is ready to respond immediately corresponds to the case where the first processor and the second processor do not share an input/output device, and the peripheral function is ready to respond immediately. 3. The multiprocessor system according to claim 2, wherein the case where the first processor and the second processor share an input/output device is a case where the first processor and the second processor share an input/output device. 5. A multiprocessor system, wherein the first processor receives an interrupt for each section of the microprogram, and performs the series of processing according to claim 2 as interrupt processing for each section of the microprogram. 6. The system is a loosely coupled multiprocessor system that does not share the main memory, and the peripheral functions are D
The DMA controller is an MA controller, in which the main memory of the second processor is allocated to a different address in an address space when viewed from the first processor, and the DMA controller is a DMA controller with respect to the main memory of the second processor.
Claim 1, characterized in that the processor further comprises an adding means for adding a fixed value to a DMA address so that when attempting to perform A, DMA can be performed simply by setting a physical address seen from the second processor. The multiprocessor system described. 7. A system address bus, a system data bus, and a bus arbiter that arbitrates between the first and second processors to obtain the right to use the system address bus and the system data bus; 2. The multiprocessor system according to claim 1, further comprising a second register.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16867690A JP2823663B2 (en) | 1990-06-27 | 1990-06-27 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16867690A JP2823663B2 (en) | 1990-06-27 | 1990-06-27 | Multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0457145A true JPH0457145A (en) | 1992-02-24 |
JP2823663B2 JP2823663B2 (en) | 1998-11-11 |
Family
ID=15872421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16867690A Expired - Fee Related JP2823663B2 (en) | 1990-06-27 | 1990-06-27 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2823663B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007265000A (en) * | 2006-03-28 | 2007-10-11 | Fujitsu Ltd | Bus master circuit/bus slave circuit-switching circuit |
-
1990
- 1990-06-27 JP JP16867690A patent/JP2823663B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007265000A (en) * | 2006-03-28 | 2007-10-11 | Fujitsu Ltd | Bus master circuit/bus slave circuit-switching circuit |
Also Published As
Publication number | Publication date |
---|---|
JP2823663B2 (en) | 1998-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU687627B2 (en) | Multiprocessor system bus protocol for optimized accessing of interleaved storage modules | |
JPH0354375B2 (en) | ||
JPH076124A (en) | System and method for transfer of information | |
US6892266B2 (en) | Multicore DSP device having coupled subsystem memory buses for global DMA access | |
KR100708096B1 (en) | Bus system and execution scheduling method for access commands thereof | |
JPH0628049B2 (en) | Data transfer method between asynchronous buses | |
US7006521B2 (en) | External bus arbitration technique for multicore DSP device | |
JPH0556548B2 (en) | ||
JP3766377B2 (en) | Bus control device and information processing system | |
JPH0457145A (en) | Multiprocessor system | |
JPH06250970A (en) | Memory controller | |
JPH05257903A (en) | Multiprocessor system | |
JP3019323B2 (en) | Direct access to image memory | |
JP2003085125A (en) | Memory controller and memory control method | |
JP2946561B2 (en) | Multiprocessor system | |
JPS63155254A (en) | Information processor | |
JPH03232052A (en) | Exclusive access system for shared data | |
JPH02219157A (en) | Bus arbiter in computer system | |
JP3206013B2 (en) | Direct memory access transfer controller | |
JP2594673B2 (en) | Data processing method | |
JPH034349A (en) | Dma transfer system | |
JPS62298861A (en) | Bus-lock control system | |
JPH01112451A (en) | System for controlling cash memory | |
JPH0424733B2 (en) | ||
JPH04199253A (en) | Bus control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |