JPH0423062A - Method and device for arbitration of digital data processor - Google Patents

Method and device for arbitration of digital data processor

Info

Publication number
JPH0423062A
JPH0423062A JP12737390A JP12737390A JPH0423062A JP H0423062 A JPH0423062 A JP H0423062A JP 12737390 A JP12737390 A JP 12737390A JP 12737390 A JP12737390 A JP 12737390A JP H0423062 A JPH0423062 A JP H0423062A
Authority
JP
Japan
Prior art keywords
write
register
pipeline register
pipeline
address
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
Application number
JP12737390A
Other languages
Japanese (ja)
Other versions
JP2966038B2 (en
Inventor
Katsumi Murai
村井 克己
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP12737390A priority Critical patent/JP2966038B2/en
Publication of JPH0423062A publication Critical patent/JPH0423062A/en
Application granted granted Critical
Publication of JP2966038B2 publication Critical patent/JP2966038B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PURPOSE:To improve the availability at a high speed and to access with the subject method and device by reading the data out of a common memory and writing the data in a decided and selected reading pipeline register before the end of the pipeline cycle. CONSTITUTION:When the selected processors 9 - 12 try to write the data, each request flag is selected by an arbitration circuit 20. The same time, the results of selection are supplied to an address selector 16, a write data selector 17, and a selector circuit of a write flag signal pipeline register 19. Then an address pipeline register 2, a data pipeline register 4, and a write flag signal pipeline register 8 of each processor are selected. The data are written into a shared memory 25.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は単一のメモリー空間の共有メモリをアクセスす
るデジタルデータ処理ユニット(以下プロセッサという
)を並列で駆動する場合に、プロセッサ間の調停を行う
ためのディジタルデータ処理ユニット調整装置に閏する
ものである。
[Detailed Description of the Invention] Industrial Application Field The present invention is for arbitrating between processors when digital data processing units (hereinafter referred to as processors) that access shared memory in a single memory space are driven in parallel. The present invention relates to a digital data processing unit adjusting device.

従来の技術 複数のプロセッサが共有メモリをアクセスする場合、当
然排他的な制御が必要になる。この時に通常用いられる
従来の方法はバス占有権をそのプロセッサに与えてDM
A (ダイレクトメモリアクセス)転送等を行うことが
一般的であった。これは、例えばある優先度の割り付け
られたプロセッサが割り込みを発生し、CP U等を停
止してバスを獲得したのちにバースト的な転送を行うの
である。例えばハードディスクから読みだしたデータを
バスを経由してメモリに書き込む場合などが一例である
。このような方法は通常のマイクロコンピュータシステ
ムでよく使用されているものであり、最初の割り込みか
らバス獲得までの無駄時開が連続転送の効率に相殺され
るため見かけ上のバスの使用効率を向」−させることが
できる。
2. Description of the Related Art When multiple processors access shared memory, exclusive control is naturally required. The conventional method normally used at this time is to give bus occupancy to that processor and use DM.
A (direct memory access) transfer, etc. was common. For example, a processor assigned a certain priority generates an interrupt, stops the CPU, acquires a bus, and then performs a burst transfer. An example is when data read from a hard disk is written to memory via a bus. This method is often used in normal microcomputer systems, and it improves the apparent bus usage efficiency because the wasted time from the first interrupt to bus acquisition is offset by the efficiency of continuous transfer. ”- can be made.

発明が解決しようとする課題 また各プロセッサがバッファメモリを持たない場合では
、バスの空きを検知してデータをやり取りするサイクル
スチールと言う手法がある。これは通常低速のデータ転
送に使用され、言うならば毎回割り込み及びバス獲得の
プロセスを繰り返して小単位のデータを転送していた。
Problems to be Solved by the Invention In cases where each processor does not have a buffer memory, there is a method called cycle stealing, which detects bus availability and exchanges data. This is typically used for low-speed data transfers, each time repeating the process of interrupting and acquiring the bus to transfer small units of data.

発明が解決しようとする課題 しかしながら、従来のような個々のプロセッサにバッフ
ァメモリを登載するような方法によれば、複数のプロセ
ッサを1チツプのLSIに矧み込んで高速処理を図るよ
うな場合に、各プロセッサにある程度のバッファメモリ
が必要となるというハードウェアの増大の課題がある。
Problems to be Solved by the Invention However, with the conventional method of mounting buffer memory on each processor, it is difficult to achieve high-speed processing by incorporating multiple processors into one LSI chip. , there is a problem of hardware increase in that each processor requires a certain amount of buffer memory.

また並列処理のハードウェア資源を最大限に生かすため
には、通常のパース)DMAやサイクルスティール等の
効率の悪さはどうしても避けたいところである。すなわ
ち従来手法では、バス効率とハードウェア量とを両方同
時に満足することができないと言う課題が存在していた
In addition, in order to make maximum use of hardware resources for parallel processing, inefficiencies such as ordinary parsing (DMA) and cycle stealing must be avoided. In other words, with the conventional method, there was a problem in that it was not possible to satisfy both bus efficiency and hardware amount at the same time.

本発明はこのような課題に鑑み、1チツプ内に複数の内
部プロセッサを内蔵した1、81等において、各プロセ
ッサが外部メモリを共用しつつ、効率よくかつ高速に相
互に共有メモリを排他アクセスすることができ、またハ
ードウェアの増加も少ない調停を行うディジタルデータ
処理ユニット調停装置を提供することを目的とするもの
である。
In view of these problems, the present invention provides an efficient and high-speed mutual exclusive access to the shared memory while each processor shares the external memory in the 1st, 81st, etc. in which a plurality of internal processors are built into one chip. It is an object of the present invention to provide a digital data processing unit arbitration device that can perform arbitration with little increase in hardware.

課題を解決するための手段 本発明では、少なくとも複数のプロセッサ各々に、共有
メモリにアクセスを要求していることを示す要求フラグ
と、アクセスすべき共有メモリアドレス保持パイプライ
ンレジスタと書き込みデータパイプラインレジスタ(書
き込み時)と読み込みデータパイプラインレジスタ(読
み込み時)と青き込みか読み込みかを示す書き込みフラ
グ信号パイプラインレジスタを用意して、パイプライン
処理のための同期クロックで各プロセッサの要求フラグ
を競合させてプロセッサの優先度決定を行い、dき込み
時には決定選択されたプロセッサの共有メモリアドレス
と書き込みデータと書き込みフラグ信号とを同期クロッ
クでパイプライン出力して次のパイプラインサイクルに
共有メモリのアドレスバスとデータバスと書き込み信号
線(R/W)に与え、また読み込み時においては共有メ
モリアドレスと読み書きフラグ信号を同期クロックで次
のパイプラインサイクルに共有メモリのアドレスバスと
データバスと書き込み信号線(R/W)に与えると共に
共有メモリからデータを読み込んてそのパイプラインサ
イクルの終わりまでには決定選択されたブ「1セツサの
読み込みパイプラインレジスタに書き込むものである。
Means for Solving the Problems In the present invention, at least each of a plurality of processors is provided with a request flag indicating that access to a shared memory is requested, a shared memory address holding pipeline register to be accessed, and a write data pipeline register. (at the time of writing), a read data pipeline register (at the time of reading), and a write flag signal pipeline register indicating whether it is a write or a read, and the request flags of each processor are made to compete with each other using the synchronized clock for pipeline processing. The priority of the processors is determined using the synchronous clock, and the shared memory address, write data, and write flag signal of the determined selected processor are outputted to the pipeline using a synchronous clock at the time of d write, and the shared memory address bus is sent to the shared memory address bus in the next pipeline cycle. and the data bus and write signal line (R/W), and when reading, the shared memory address and read/write flag signal are sent to the shared memory address bus, data bus, and write signal line (R/W) in the next pipeline cycle using a synchronous clock. R/W), reads data from the shared memory, and writes it to the read pipeline register of the selected block by the end of the pipeline cycle.

すなわち例えば書き込37メ時においては、各プロセッ
サのうちの要求フラグがアクティブなプロセッサの書き
込むべきデータと書き込むべき共用メモリのアドレスと
t’fき込みか読み込みかの情報を、各々書き込みデー
タパイプラインレジスタと7トレスパイプラインレジス
タと書き込みフラグ信号パイプラインレジスタに書き込
んで次のパイプラインサイクルにそれぞれ共用メモリの
データバスとアドレスバスと書き込み入力端子に供給す
るのである。
That is, for example, at the time of write 37, the data to be written by the processor whose request flag is active among the processors, the address of the shared memory to be written, and information on whether to write or read are sent to the respective write data pipelines. The register, the 7-trace pipeline register, and the write flag signal are written to the pipeline register and supplied to the data bus, address bus, and write input terminal of the shared memory, respectively, in the next pipeline cycle.

また、少なくとも複数のプロセッサ各/?に、そのブロ
セッ()が共有メモリにアクセスすることを要求してい
ることを示す要求フラグと、アトルスを保持するアドレ
スレジスタと、nき込みデータレジスタと(書き込み時
)、第1の読み込みデータパイプラインレジスタと(読
み込み時)、書き込みか読み込みかを示す書き込みフラ
グとを用意して、同期クロックで各プロセッサの要求フ
ラグを競合させてプロセッサの優先度決定を行い、同時
にその同!!IIクロックのパイプラインサイクルに書
き込み時りこは決定選択されたプロセッサのアドレスレ
ジスタの内容をアドレスパイプラインレジスタに、また
書き込みデータレジスタの内容を書き込みデータパイプ
ラインレジスタへ、さらに書き込みフラグ信号の内容を
書き込みフラグ信号パイプラインレジスタに格納し、こ
の後さらに次のパイプラインサイクルにL記のアドレス
パイプラインレジスタの出力とデータバスパイプライン
レジスタと書き込みフラグ信号パイプラインレジスタの
内容をそれぞれ共イ1メモリのアドレスバスとデータバ
スと書き込み信号線(R/W)に与え、また読み込み時
においては同様に同期クロックで各プロセッサの要求フ
ラグを競合させてプロセッサの優先度決定を行うと同時
にその同期クロックのパイプラインサイクルに書き込み
時には決定選択されたプロセッサのアドレスレジスタの
内容をアドレスパイプラインレジスタに、また読み込み
を示す書き込みフラグ信号の内容を書き込みフラグ信号
パイプラインレジスタに格納し、この後さらに次のパイ
プラインサイクルに上記のアドレスパイプラインレジス
タの出力と書き込みフラグ信号パイプラインレジスタの
内容をそれぞれ共有メモリのアドレスバスとデータバス
と書き込み信号線(R/W)に与えてこの同期クロック
のパイプラインサイクルの終わりまでに共有メモリから
読みだされたてデータバス上のデータを第2の読みだし
データパイプラインレジスタにラッチする。
Also, at least multiple processors each/? , a request flag indicating that the processor() is requesting access to shared memory, an address register to hold the atrus, a read data register (when writing), and a first read data pipe. A line register (when reading) and a write flag indicating whether to write or read are prepared, and the request flags of each processor are made to compete with each other using a synchronized clock to determine the priority of the processor. ! When writing in the pipeline cycle of the II clock, Riko decides to write the contents of the address register of the selected processor to the address pipeline register, writes the contents of the write data register to the data pipeline register, and writes the contents of the write flag signal. After that, in the next pipeline cycle, the output of the address pipeline register L, the contents of the data bus pipeline register, and the write flag signal pipeline register are stored in the address of one memory. It is applied to the bus, data bus, and write signal line (R/W), and at the time of reading, the request flags of each processor are made to compete with each other using a synchronous clock to determine the priority of the processor, and at the same time, the pipeline of the synchronous clock is When writing to a cycle, the contents of the address register of the selected processor are stored in the address pipeline register, and the contents of the write flag signal indicating a read are stored in the write flag signal pipeline register, and then in the next pipeline cycle. The output of the address pipeline register and the contents of the write flag signal pipeline register described above are applied to the address bus, data bus, and write signal line (R/W) of the shared memory, respectively, by the end of the pipeline cycle of this synchronous clock. The data on the data bus just read from the shared memory is latched into a second read data pipeline register.

そしてこの第2の読みだしデータパイプラインレジスタ
の内容は次のパイプラインサイクルに読み込み要求を行
った時点で決定選択されたプロセッサの第1の読みだし
データパイプラインレジスタに書き込むのである。なお
第1の手段においても第2の手段においても各プロセッ
サが書き込みあるいは読み込みの単機能しか持っていな
い場合は対応するレジスタを省略するとともに書き込み
フラグ信号は固定値にしておく。
The contents of this second read data pipeline register are determined and written to the first read data pipeline register of the selected processor when a read request is made in the next pipeline cycle. In both the first means and the second means, if each processor has only a single function of writing or reading, the corresponding register is omitted and the write flag signal is set to a fixed value.

また、複数のプロセッサが競合して共有メモリをアクセ
スする場合、優先度が最下位のプロセッサをホストコン
ピュータのデータ転送等のインターフェイスを行う装置
に割り当て、その時そのインターフェイスはホストコン
ピュータとの間にFIFOレジスタを装備して、かつF
IFOレジスタのデータの格納状態を検出するようにし
て、ホストコンピュータへの転送時にもしFIFOレジ
スタの内容が空に近くなったときあるいはホストコンピ
ュータへの転送時にFIFOレジスタの内容が一杯に近
くなフたときはこれを検出してインターフェイスを行う
プロセッサに予め与えられていた優先度を最下位からよ
り上位に上げてやるようにして、外部から見た処理速度
を見かけ上ではあるが上げることができる。
In addition, when multiple processors compete to access shared memory, the processor with the lowest priority is assigned to a device that performs an interface for data transfer, etc. of the host computer, and at that time, that interface is connected to the host computer by using a FIFO register. and F
By detecting the storage state of data in the IFO register, if the contents of the FIFO register become nearly empty during transfer to the host computer, or if the contents of the FIFO register are almost full during transfer to the host computer, By detecting this and increasing the priority previously given to the processor that performs the interface from the lowest to the highest, the processing speed seen from the outside can be increased, albeit apparently.

また、複数のプロセッサが競合して共有メモリをアクセ
スする時、各プロセッサにメモリ管理機構を備え、各プ
ロセッサが各々の共用メモリ内の別々の一定の範囲の領
域のみをアクセスする場合はプロセッサで相互の競合の
優先度決定を行い、同時に2台以上のプロセッサが前記
のメモリの同一の一定の範囲の領域をアクセスする場合
には処理ユニット相互の競合の優先度決定に加えて一部
のプロセッサの共有メモリアクセスを停止させるか、ブ
ロモ・ソサの互いにアクセスする処理領域の手1111
2をどちらかが先に処理するような手段等を設けてバス
アクセス効率をさらに向上させることができる。
In addition, when multiple processors compete to access shared memory, each processor is provided with a memory management mechanism, and if each processor accesses only a separate fixed range of areas within each shared memory, processors can mutually control each other. When two or more processors access the same fixed range of memory at the same time, in addition to determining the priority of conflicts between processing units, some processors Processing areas that stop shared memory access or access each other in Bromo-Sosa 1111
It is possible to further improve the bus access efficiency by providing means for processing either of the two signals first.

また以上の各手段において、各プロセッサの予め定めて
おいた優先度が最下位でないものは、毎パイプラインク
ロックおきには前記要求フラグをアクティブとしないよ
うに処理手順を予め定めておいてやることにより、他の
プロセッサがアクセス待ちのために処理を著しく長い間
中断することがないようにすることができる。
Furthermore, in each of the above means, if the predetermined priority of each processor is not the lowest, the processing procedure is predetermined so that the request flag is not activated every pipeline clock. This can prevent other processors from suspending processing for an extremely long time due to waiting for access.

作用 本発明は前記した構成により、共有メモリのメモリサイ
クルタイム毎に複数のディジタルデータプロセッサのう
ちの一つを各プロセッサの要求フラグと優先度に基づい
て選ぶ。この時共有メモリのアクセスを要求している各
プロセッサのアドレスパイプラインレジスタからはパイ
プラインされたアドレス、また書き込みフラグパイプラ
インレジスタからはパイプラインされた読み込み動作か
書き込み動作なのかを識別する書き込みフラグ信号がそ
れぞれ出力される。そして選ばれたプロセッサのアドレ
スとR/W信号がメモリサイクル毎に共有メモリのアド
レス線と1(/W線供給される。
Effect of the Invention With the above-described configuration, the present invention selects one of the plurality of digital data processors for each memory cycle time of the shared memory based on the request flag and priority of each processor. At this time, the address pipeline register of each processor requesting access to the shared memory contains the pipelined address, and the write flag pipeline register contains a write flag that identifies whether the operation is a pipelined read or write operation. Each signal is output. Then, the address and R/W signal of the selected processor are supplied to the shared memory address line and the 1 (/W line) every memory cycle.

同時にこの時、選ばれた要求フラグが受け付けられた時
点での書き込みフラグ信号が青き込み動作であったなら
ば書き込みデータパイプラインレジスタから、またもし
読み込み動作であったならば各プロセッサの読み込みパ
イプラインレジスタ入力に、それぞれ共有メモリに対し
書き込みあるいは読み込み動作を行うことになる。この
ように−定のクロックサイクル旬、言い替えるとメモリ
サイクル毎にアクセスするブロモ・ンサが決定され、同
時にまたそのアクセスが書き込みか読み込みかが決定さ
れるのである。当然多数のプロセッサが同時に要求を出
した状態では、各プロセッサに割り当てられた優先度に
応じてメモリアクセス待ちとなり、共有メモリはほとん
ど無駄なくアクセスされることになる。
At the same time, if the write flag signal at the time when the selected request flag is accepted is a write operation, it will be sent from the write data pipeline register, and if it is a read operation, it will be sent from the read pipeline register of each processor. A write or read operation is performed on each register input to the shared memory. In this way, the memory to be accessed is determined for a given clock cycle, or in other words, for each memory cycle, and at the same time it is determined whether the access is a write or a read. Naturally, when a large number of processors issue requests at the same time, memory access is waited for according to the priority assigned to each processor, and the shared memory is accessed with almost no waste.

また高速化を図るため、各プロセッサのアドレス(パイ
プライン)レジスタ、書き込みデータ(パイプライン)
レジスタ、書き込みフラグ(パイプライン)レジスタか
らセレクタ手段を通した後にさらにそれぞれパイプライ
ンレジスタを経由させて共有メモリのアドレス、データ
、R/W線に供給し、また共有メモリから読み出された
データも一旦パイプラインレジスタにラッチした後各プ
ロセッサの読み込みパイプラインレジスタに書き込むよ
うに構成することもできる。
In addition, in order to increase speed, each processor's address (pipeline) register, write data (pipeline)
After passing through the selector means from the register and write flag (pipeline) register, the data is supplied to the address, data, and R/W lines of the shared memory through the respective pipeline registers, and data read from the shared memory is also supplied. It can also be configured such that the data is once latched in the pipeline register and then written to the read pipeline register of each processor.

つぎに複数のプロセッサが競合して共有メモリをアクセ
スするこのような処理装置系に、処理の終了したデータ
をホストコンピュータに送るか、ホストコンピュータか
ら処理すべきデータを逆に転送するインターフェイスを
設ける場合について考える。この時処理装置系内部に、
例えば処理の終Yしたデータを機械系を伴って媒体への
読み書きを行うデータ処理ブロセツガを含むような場合
、インターフェイスを行うプロセッサは処理の終了した
データの出口あるいは処理前のデータの人口であるわけ
であって当然のことながら同一のデータに対する一連の
処理については優先度は最下位に設定するのが最適とな
る。しかしながらホストコンピュータから処理装置系を
みれば、データ転送を待たされると言うのは問題であり
、これを避けるためどうしてもポスト間の転送待ちが発
生しそうになった時、機械系を伴うプロセッサは優先度
を下げなくとも、仙の問題のないプロセッサについては
優先度を下げ、インターフェイスを行うプロセッサの優
先度を上げ、バス使用効率よりも刻ホストコンピュータ
の転送を優先する。転送待ちの検知はホストコンピュー
タとの間にFIFOレジスタを装備して、FIFOレジ
スタのデータの格納状態を検出するようにして、ホスト
コンピュータへの転送時にもしFIFOレジスタの内容
が空に近くなったとき、あるいはホストコンピュータへ
の転送時にFIFOレジスタの内容が一杯に近くなった
ときはこれを検出してインターフェイスを行うプロセッ
サの優先度を最下位からより」4位に上げてやるように
して、外部から見た処理速度を見かけ]−1−1−ける
ことができる。このことによってバス使用効率と見かけ
上の効率を両方とも−1−げることかできる。
Next, in such a processing system where multiple processors compete to access the shared memory, an interface is provided to send the data that has been processed to the host computer, or to transfer the data to be processed from the host computer in the reverse direction. think about. At this time, inside the processing device system,
For example, if the system includes a data processing block that reads and writes data that has been processed to a medium using a mechanical system, the processor that performs the interface is the exit for the processed data or the population of the unprocessed data. Naturally, it is best to set the priority to the lowest level for a series of processes on the same data. However, when looking at the processing system from the host computer, it is a problem that data transfer is forced to wait, and in order to avoid this, when a transfer between posts is about to occur, the processor accompanying the mechanical system is given priority. Even if it does not lower the priority, it lowers the priority of processors that do not have problems, raises the priority of the processor that performs the interface, and prioritizes transfers from the host computer over bus usage efficiency. Transfer waiting can be detected by installing a FIFO register between the host computer and detecting the storage state of data in the FIFO register, and if the contents of the FIFO register become nearly empty during transfer to the host computer. Alternatively, when the contents of the FIFO register are almost full during transfer to the host computer, this can be detected and the priority of the interfacing processor is raised from the lowest to the 4th priority, and the external -1-1- It is possible to increase the apparent processing speed. This makes it possible to increase both the bus usage efficiency and the apparent efficiency by -1.

また同様に高速化を目的とし以下のような処理を行うこ
ともてきる。複数のディジタルデータ処理ユニットが競
合して共有メモリをアクセスする時、処理手順によって
はプロセッサとうしが互いのデータを壊してしまうこと
がある。このためプロセッサAからプロセッサBそして
プロセッサCと言う手順で同一データを処理していく場
合等では各ブLJセッサにメモリ管理機構を設けて、各
ブ1コセッサが共用メモリなIJF他的に一定のアドレ
ス範囲しかアクセスしないようにするのが一般的である
。当然のことながらあるフ゛ロセツサのアクセスしてい
るアドレス範囲のジョブがすべて終了したら他のプロセ
ッサの処理の終了したアドレス範囲をアクセスすれば良
い。ところがもしあるプロセッサBの処理すべき仕事喰
に非常にほらつきがある場合、処理時間が最も長い処理
がボトルネックとなって全体の性能がでないことも起こ
りうる。
Similarly, the following processing can be performed for the purpose of speeding up the processing. When multiple digital data processing units compete to access shared memory, the processors and the cows may destroy each other's data depending on the processing procedure. For this reason, when processing the same data in a sequence from processor A to processor B to processor C, a memory management mechanism is provided in each block LJ processor, and each block LJ processor has a shared memory IJF. It is common to only access address ranges. Naturally, when all jobs in the address range being accessed by a certain processor are completed, it is sufficient to access the address range in which processing by another processor has been completed. However, if the amount of work to be processed by a certain processor B is highly variable, the process that requires the longest processing time may become a bottleneck, resulting in poor overall performance.

このとき高速化を優先する場合には、プロセッサBの処
理が早く終了した時には、次に処理すべきデータを処理
中のプロセッサ八がまだ中途までしか処理を終了してい
なくとも、プロセッサ13はプロセッサAの処理中のア
ドレス範囲まで入り込み、順次処理の終了した領域の処
理を行うようにする。
At this time, if priority is given to speeding up, when the processing of processor B finishes early, processor 13 will be The address range being processed by A is entered, and the areas for which processing has been completed are sequentially processed.

このような機構を付は加えることにより、プロセッサ1
3の実効的な処理時間が平均化され、ブロセッ→tcは
直前のプロセッサBの処理を待たされる場合を少なくで
き、バスアクセス効率をさらに向」ニさせることができ
る。
By adding such a mechanism, the processor 1
The effective processing times of 3 are averaged, and the cases where the processor B is forced to wait for processing by the immediately preceding processor B can be reduced, and bus access efficiency can be further improved.

また高速化のために、以上の各手段においては各ディジ
タル処理ユニットの予め定めておいた優先度が最下位て
ないものは、毎パイプラインクロックおきには前記要求
フラグをアクティブとしないように処理手順を予め定め
ておいてやることにより、他の処理ユニットがアクセス
待ちのために処理を著しく長い間中断することがないよ
うにすることができる。
In addition, in order to increase speed, in each of the above means, if the predetermined priority of each digital processing unit is not the lowest, processing is performed so that the request flag is not activated every pipeline clock. By predetermining the procedure, it is possible to prevent other processing units from suspending processing for an extremely long time due to waiting for access.

実施例 以下に本発明の実施例を図面を参照して説明する。Example Embodiments of the present invention will be described below with reference to the drawings.

第1図においてlはアドレス生成回路である。In FIG. 1, l is an address generation circuit.

2は前記のアドレス生成回路によって生成したアドレス
を保持するアドレスパイプラインレジスタである。3は
データの生成回路である。4は前記のデータ生成回路に
よって生成したデータを保持する書き込みデータパイプ
ラインレジスタである。
Reference numeral 2 denotes an address pipeline register that holds addresses generated by the address generation circuit. 3 is a data generation circuit. 4 is a write data pipeline register that holds data generated by the data generation circuit described above.

5は読み込みデータパイプラインレジスタである。5 is a read data pipeline register.

6は前記の読み込みデータパイプラインレジスタに格納
されたデータを処理する読み込みデータ処理回路である
。7は書き込みを意図して前記書き込みデータパイプラ
インレジスタの内容の読みだしを要求中あるいは読み込
みを意図して前記読み込みデータパイプラインレジスタ
に書き込みを要求中であることを示す要求フラグである
。また8は書き込みを要求するか読み込みを要求するか
を区別する書き込みフラグ信号パイプラインレジスタで
ある。また9は第1番目のプロセッサであり、10は第
2番目のプロセッサであり、11は第3番目のプロセッ
サであり、12は第4番目のプロセッサである。また1
3は制御用のマイクロプロセッサであって一般的にはマ
イクロコントローラと呼ばれているものである。また1
4はマイクロコントローラのアクセス信号から要求フラ
グ入力信号と書き込みフラグ信号パイプラインレジスタ
入力信号を作成する論理回路である。15は本発明の第
5番目のプロセッサであって、論理回路14とマイクロ
プロセッサ13及びこれに接続されるアドレスパイプラ
インレジスタ2′、書き込みデータパイプラインレジス
タ4′ 読み込みデータパイプラインレジスタ5′ 要
求フラグ7” 書き込みフラグ信号パイプラインレジス
タ8′より構成されている。また16はアドレスセレク
タ回路であり、17は書き込みデータセレクタ回路であ
る。また18は読み込みデータパイプラインレジスタ5
の書き込みクロック生成回路である。19は書き込みフ
ラグ信号パイプラインレジスタのセレクタ回路である。
6 is a read data processing circuit that processes the data stored in the read data pipeline register. Reference numeral 7 denotes a request flag indicating that a request is being made to read the contents of the write data pipeline register with the intention of writing, or a request is being made to write the contents of the read data pipeline register with the intention of reading. Further, 8 is a write flag signal pipeline register that distinguishes whether writing is requested or reading is requested. Further, 9 is the first processor, 10 is the second processor, 11 is the third processor, and 12 is the fourth processor. Also 1
3 is a control microprocessor, generally called a microcontroller. Also 1
4 is a logic circuit that creates a request flag input signal, a write flag signal, and a pipeline register input signal from the access signal of the microcontroller. 15 is a fifth processor of the present invention, which includes a logic circuit 14, a microprocessor 13, an address pipeline register 2', a write data pipeline register 4', a read data pipeline register 5', and a request flag. 7" write flag signal pipeline register 8'. Also, 16 is an address selector circuit, 17 is a write data selector circuit, and 18 is a read data pipeline register 5.
This is a write clock generation circuit. 19 is a selector circuit for the write flag signal pipeline register.

また20は、各要求フラグ7の信号の調停回路であり、
優先度を判定して各クロックサイクル毎に一つのプロセ
ッサを選択する。21は変復調回路およびディスクドラ
イブ回路である。また22は5C5Iインターフエイス
であり、23はホストコンピュータおよびその5C5I
インターフエイスである。また24はクロック及び制御
信号発生回路である。クロック信号及び制御信号は各プ
ロセッサやレジスタ等に供給されているが、ここでは図
が複雑になるため省略している。また同様に13のマイ
クロコントローラからの制御線あるいはマイクロコント
ローラへの読み込みデータ線も省略しである。また25
はメモリであり、各プロセッサの共有メモリとなってい
る。
20 is an arbitration circuit for signals of each request flag 7;
Determine the priority and select one processor each clock cycle. 21 is a modulation/demodulation circuit and a disk drive circuit. Further, 22 is a 5C5I interface, and 23 is a host computer and its 5C5I interface.
It is an interface. Further, 24 is a clock and control signal generation circuit. Clock signals and control signals are supplied to each processor, register, etc., but are omitted here because the diagram would be complicated. Similarly, the control lines from the 13 microcontrollers and the read data lines to the microcontrollers are also omitted. 25 again
is memory, which is shared memory by each processor.

以下に、第1図を用いて本実施例の動作の説明を行う。The operation of this embodiment will be explained below using FIG.

9、l0111.12.15の各プロセッサが共有メモ
リ25をアクセスする場合、各プロセッサの要求フラグ
8をアクティブとする。この要求フラグはメモリサイク
ルタイム毎に調停回路20で判定され、各プロセッサ毎
に割り当てられた優先度に従って一つのプロセッサが選
ばれる。
When each of the processors 9 and 10111.12.15 accesses the shared memory 25, the request flag 8 of each processor is activated. This request flag is determined by the arbitration circuit 20 at each memory cycle time, and one processor is selected according to the priority assigned to each processor.

この時もし要求フラグが受け付けられた場合にはアクノ
リッジ信号を返して選はれたプロセッサの要求フラグは
クリアされる。またこの時要求フラグの受け付けられな
かフたプロセッサは内部待機状態に入って内部データの
喪失等を防ぐようにする。このようにして選ばれたプロ
セッサが、例えばデータを書き込もうとしていた場合、
調停回路20で各要求フラグが選択されると同時にその
選んだ結果による選択信号を各々アドレスセレクタ回路
16、書き込みデータセレクタ回路17、書き込みフラ
グ信号パイプラインレジスタ19のセレクタ回路2に供
給して、それぞれパイプラインされた各プロセッサのア
ドレスパイプラインレジスタ2、データパイプラインレ
ジスタ4、書き込みフラグ信号パイプラインレジスタ8
を選択する。
At this time, if the request flag is accepted, an acknowledge signal is returned and the request flag of the selected processor is cleared. Also, if the request flag is not accepted at this time, the processor enters an internal standby state to prevent loss of internal data. If the processor selected in this way is trying to write data, for example,
At the same time as each request flag is selected by the arbitration circuit 20, a selection signal based on the selected result is supplied to the selector circuit 2 of the address selector circuit 16, write data selector circuit 17, and write flag signal pipeline register 19, respectively. Address pipeline register 2, data pipeline register 4, write flag signal pipeline register 8 for each pipelined processor
Select.

書き込みフラグ信号パイプラインレジスタ8の出力はア
クティブであり、共用メモリ25のR/W線に印加され
るため、共用メモリ25にはデータが書き込まれる。同
様にもし書き込みフラグ信号パイプラインレジスタ8の
出力はアクティブでないならば、共用メモリ25からは
データが読み出される。要求フラグが受け付けられた時
点で選択されたプロセッサの入力パイプラインレジスタ
5にはクロック生成回路18から書き込みパルスが印加
される。このようにメモリサイクル毎に読み込み書き込
みが決定され、例えば共用メモリ25のアクセスタイツ
、が100nSならは100nS毎に各プロセッサが優
先度に応じてランダムにアクセスすることになる。
The output of the write flag signal pipeline register 8 is active and is applied to the R/W line of the shared memory 25, so data is written to the shared memory 25. Similarly, if the output of the write flag signal pipeline register 8 is not active, data is read from the shared memory 25. When the request flag is accepted, a write pulse is applied from the clock generation circuit 18 to the input pipeline register 5 of the selected processor. In this way, reading and writing are determined for each memory cycle. For example, if the access time of the shared memory 25 is 100 ns, each processor will randomly access the memory every 100 ns according to the priority.

次に本発明の別の一実施例を第2図と共乞こ説明する。Next, another embodiment of the present invention will be explained with reference to FIG.

第2図において26はアドレスパイプラインレジスタで
あり、27は書き込みデータパイプラインレジスタ、ま
た28は読み込みデータパイプラインレジスタ、29は
書き込みフラグ信号パイプラインレジスタである。他の
手段は第1図のものと同様であるので省略する。
In FIG. 2, 26 is an address pipeline register, 27 is a write data pipeline register, 28 is a read data pipeline register, and 29 is a write flag signal pipeline register. The other means are the same as those in FIG. 1 and will therefore be omitted.

次にこの第2図によって同実施例の動作を説明する。基
本的には第1図と同様な動作をするのであるが、アドレ
スセレクタ16で選択されたデータはさらにアドレスパ
イプラインレジスタ26でもう19099分パイプライ
ンされ、同様にまた書き込みデータセレクタ回路17で
選択されたデータも書き込みデータパイプラインレジス
タ27を経由し、また書き込みフラグ信号パイプライン
レジスタのセレクタ回路19ももう1段の書き込みフラ
グ信号パイプラインレジスタ29を経由してもうlクロ
ックパイプラインする。また共用メモリ25から読み込
まれたデータもまたさらにもう一段の読み込みデータパ
イプラインレジスタ2Bを経由してから各プロセッサに
送られる。
Next, the operation of this embodiment will be explained with reference to FIG. Basically, the operation is the same as that shown in FIG. 1, but the data selected by the address selector 16 is further pipelined by the address pipeline register 26 for another 19099 minutes, and is similarly selected again by the write data selector circuit 17. The written data also passes through the write data pipeline register 27, and the selector circuit 19 of the write flag signal pipeline register also passes through another stage of the write flag signal pipeline register 29 and pipelines one more clock. Further, data read from the shared memory 25 is also sent to each processor after passing through yet another stage of read data pipeline register 2B.

本発明の別の一実施例を、第3図に示す。図のプロセッ
サに特徴があり、そこでは書き込み専用プロセッサであ
って、書き込みパイプラインフラグは存在していない。
Another embodiment of the invention is shown in FIG. A feature of the processor shown in the figure is that it is a write-only processor and there is no write pipeline flag.

このため書き込み信号は直接出力されている。Therefore, the write signal is directly output.

本発明の別の一実施例を第4図(a)及び第4図(b)
に示す。第4図(a)において30はFIFOレジスタ
であり、31はFIFOレジスタの中に格納されている
データがあふれそうかまたは空になりそうかを組合せゲ
ートによって検出する論理回路である。例えはFIFO
レジスタが16バイトあるとすると、14バイトのデー
タが存在している時にはあふれ警告を出力し、2ハイド
のデータしかないときは空警告1バ号を調停回路20′
に出ノJする。もしホストコンピュータから本発明の装
置にデータが転送され、30の)i’ I F Oレジ
スタにデータが14バイトとなった時あふれ警告によっ
て20′の調停回路においてこのプロセッサにねりつけ
られていた優先度を最下位からもっと1−位にスイッチ
する。また同様にホストコンピュータへの転送時におい
て、300FIFOレジスタにデータが2バイトしかな
くなってしまった場合、空警告信号が20′の調停回路
に出力され、同様にプロセッサの優先度を上昇させる。
Another embodiment of the present invention is shown in FIGS. 4(a) and 4(b).
Shown below. In FIG. 4(a), 30 is a FIFO register, and 31 is a logic circuit that uses a combinational gate to detect whether the data stored in the FIFO register is about to overflow or become empty. The example is FIFO
Assuming that the register has 16 bytes, an overflow warning is output when 14 bytes of data exist, and an empty warning No. 1 is output to the arbitration circuit 20' when there is only 2 hides of data.
I'm going to appear on J. If data is transferred from the host computer to the device of the present invention and the data reaches 14 bytes in the i' IFO register of 30, an overflow warning will cause the priority assigned to this processor in the arbitration circuit of 20'. Switch the degree from the lowest position to the 1st position. Similarly, when data is transferred to the host computer, if there are only 2 bytes of data in the 300 FIFO register, an empty warning signal is output to the arbitration circuit 20', and the priority of the processor is similarly increased.

第4図(+))はこの部分をもう少し拡大して記述した
ものである。
Figure 4 (+) shows this part enlarged a little more.

また第5図は本発明の別の一実施例であり、32はメモ
リ管理機構(MY U )である。また33はアト1ノ
ス比較回路である。また34は順序制御回路である。通
常これらのプロセッサのメモリアクセス時において1J
l−他領域をアクセスするが下位アドレスを処理手順と
して規定して、2つのプロセッサにおけるMMtJ32
を、同−領域量をアクセスするように設定して、アドレ
ス比較回路33で下位アドレスを比較して処理の追越し
を防止する。この時プロセッサ11が処理を追いついて
しまった場合、順序制御回路34を停止させて処理を中
止する。
Further, FIG. 5 shows another embodiment of the present invention, and 32 is a memory management mechanism (MY U ). Further, 33 is an Atonenos comparison circuit. Further, 34 is a sequence control circuit. Typically, these processors use 1J when accessing memory.
MMtJ32 in two processors by accessing other areas but specifying the lower address as a processing procedure.
are set so that the same area amount is accessed, and the address comparison circuit 33 compares the lower addresses to prevent overtaking of processing. At this time, if the processor 11 has caught up with the processing, the sequence control circuit 34 is stopped and the processing is stopped.

本発明の別の実施例を第6図にて説明する。Another embodiment of the present invention will be described with reference to FIG.

図において35は1/2周間クロック発生回路である。In the figure, 35 is a 1/2 cycle clock generation circuit.

順序制御回路の共有メモリアクセス動作をシステムサイ
クルタイ11の半分の時間とすることによって、共有メ
モリを毎回はアクセスしないようにしている。
By making the shared memory access operation of the sequential control circuit take half the time of the system cycle tie 11, the shared memory is not accessed every time.

発明の効果 本発明は、メモリアクセス毎に各種プロセッサがそれぞ
れ処理中の仕事に必要な優先度で共有メモリをアクセス
することができる。そのため、各プロセッサは、バッフ
ァメモリを持つ必要もなく、高速にかつバス使用効率を
高くたもったまま共有メモリをアクセスできる。特に多
数のプロセッサを1チツプのLSIに組み込んで高速処
理を図るような場合に、外部メモリアクセスを最適化で
きる。このハードウェアは最小限であり、かつ高速化も
実現できる。
Effects of the Invention The present invention allows various processors to access the shared memory with the priority required for the work being processed each time the memory is accessed. Therefore, each processor does not need to have a buffer memory, and can access the shared memory at high speed and with high bus usage efficiency. In particular, external memory access can be optimized when a large number of processors are incorporated into one LSI chip to achieve high-speed processing. This hardware is minimal and can also achieve high speed.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明におけるディジタルデータ処理ユニット
調停装置の一実施例のブロック図、第2図は本発明にお
けるディジタルデータ処理ユニ・ント調停装置の一実施
例のブロック図、第3図は本発明におけるディジタルデ
ータ処理ユニット調停装置の一実施例を示すブロック図
、第4図(a)は本発明におけるディジタルデータ処理
ユニット調停装置の一実施例を示すブロック図、第4図
(b)は同図(a)を詳細に記述したブロック図、第5
図は本発明のディジタルデータ処理ユニット調停装置の
一実施例を示すブロック図、第6図は上記実施例の共有
メモリアクセス方法の別の実施例を示すブロック図であ
る。 1・・・アドレス生成回路、2・・・アドレスパイプラ
インレジスタ、3・・・データの生成回路、4・・・書
き込みデータパイプラインレジスタ、5・・・読み込み
データパイプラインレジスタ、6・・・読み込みデータ
処理回路、7・・・要求フラグ、8・・・書き込みフラ
グ信号パイプラインレジスタ、9・・・第1番目のプロ
セッサ、10・・・第2番目のプロセッサ、11・・・
第3番目のプロセッサ、12・・・第4番目のプロセッ
サ、13・・・制御用のマイクロプロセッサ、14・・
・論理回路、15・・・第5番目のプロセッサ、16・
・・アドレスセレクタ回路、17・・・書き込みデータ
セレクタ回路、18・・・書き込みクロック生成回路、
19・・・書き込みフラグ信号パイプラインレジスタの
セレクタ回路、20・・・要求フラグ信号の調停回路、
21・・・変復調回路およびディスクドライブ回路、2
2・・・5CSIインターフエイス、23・・・ホスト
コンピュータおよびその5C5Iインターフエイス、2
4・・・クロック及び制御信号発生回路、25・・・メ
モl几 代理人 弁理士 松 1)正 道 第3 図 第5図 LLI Processor Syndrome Processor 第4
FIG. 1 is a block diagram of an embodiment of the digital data processing unit arbitration apparatus according to the present invention, FIG. 2 is a block diagram of an embodiment of the digital data processing unit arbitration apparatus according to the present invention, and FIG. 3 is a block diagram of an embodiment of the digital data processing unit arbitration apparatus according to the present invention. FIG. 4(a) is a block diagram showing an embodiment of the digital data processing unit arbitration device in the present invention, and FIG. 4(b) is a block diagram showing an embodiment of the digital data processing unit arbitration device in the present invention. Block diagram describing (a) in detail, No. 5
FIG. 6 is a block diagram showing one embodiment of the digital data processing unit arbitration device of the present invention, and FIG. 6 is a block diagram showing another embodiment of the shared memory access method of the above embodiment. DESCRIPTION OF SYMBOLS 1... Address generation circuit, 2... Address pipeline register, 3... Data generation circuit, 4... Write data pipeline register, 5... Read data pipeline register, 6... Read data processing circuit, 7... Request flag, 8... Write flag signal pipeline register, 9... First processor, 10... Second processor, 11...
Third processor, 12... Fourth processor, 13... Control microprocessor, 14...
・Logic circuit, 15...Fifth processor, 16・
...Address selector circuit, 17...Write data selector circuit, 18...Write clock generation circuit,
19... Selector circuit for write flag signal pipeline register, 20... Arbitration circuit for request flag signal,
21...Modulation/demodulation circuit and disk drive circuit, 2
2...5CSI interface, 23...host computer and its 5C5I interface, 2
4...Clock and control signal generation circuit, 25...Memory 1) Tadashi Michi No. 3 Figure 5 LLI Processor Syndrome Processor No. 4

Claims (7)

【特許請求の範囲】[Claims] (1)少なくとも複数のプロセッサ各々に、共有メモリ
にアクセスを要求していることを示す要求フラグと、ア
クセスすべき共有メモリアドレス保持パイプラインレジ
スタと、書き込みデータパイプラインレジスタ(書き込
み時)と、読み込みデータパイプラインレジスタ(読み
込み時)と、書き込みか読み込みかを示す書き込みフラ
グ信号パイプラインレジスタを設け、パイプライン処理
のための同期クロックで前記各プロセッサの要求フラグ
を競合させてそれらプロセッサの優先度決定を行い、書
き込み時には決定選択されたプロセッサの前記共有メモ
リアドレスと書き込みデータと書き込みフラグ信号とを
同期クロックでパイプライン出力して、次のパイプライ
ンサイクルに前記共有メモリのアドレスバスとデータバ
スと書き込み信号線(R/W)に与え、また読み込み時
においては前記共有メモリアドレスと読み書きフラグ信
号を同期クロックで次のパイプラインサイクルに前記共
有メモリのアドレスバスとデータバスと書き込み信号線
(R/W)に与えると共に前記共有メモリからデータを
読み込んでそのパイプラインサイクルの終わりまでには
決定選択されたプロセッサの読み込みパイプラインレジ
スタに書き込むことを特徴とするディジタルデータ処理
ユニット調停方法。
(1) For each of at least a plurality of processors, a request flag indicating that access to the shared memory is requested, a shared memory address holding pipeline register to be accessed, a write data pipeline register (at the time of writing), and a read A data pipeline register (at the time of reading) and a write flag signal pipeline register indicating write or read are provided, and the request flags of each of the processors are made to compete with each other using a synchronized clock for pipeline processing to determine the priority of those processors. At the time of writing, the shared memory address, write data, and write flag signal of the selected processor are output in a pipeline using a synchronous clock, and in the next pipeline cycle, the address bus and data bus of the shared memory are written. When reading, the shared memory address and read/write flag signals are sent to the address bus, data bus, and write signal line (R/W) of the shared memory in the next pipeline cycle using a synchronous clock. ) and reading data from said shared memory and writing it to a read pipeline register of a determined selected processor by the end of said pipeline cycle.
(2)アドレス生成手段と前記のアドレス生成手段によ
って生成したアドレスを保持するアドレスパイプライン
レジスタと、データの生成手段と前記のデータ生成手段
によって生成したデータを保持する書き込みデータパイ
プラインレジスタと、読み込みデータパイプラインレジ
スタと前記の読み込みデータパイプラインレジスタに格
納されたデータを処理する読み込みデータ処理手段と、
書き込みを意図して前記書き込みデータパイプラインレ
ジスタの内容の読みだしを要求中あるいは読み込みを意
図して前記読み込みデータパイプラインレジスタに書き
込みを要求中であることを示す要求フラグと、書き込み
を要求するか読み込みを要求するかを区別する書き込み
フラグ信号パイプラインレジスタとを具備し、 前記要求フラグによる書き込みが受け付けられなかった
場合に前記アドレス生成手段と前記データ生成手段の処
理の継続によって前記アドレスパイプラインレジスタお
よび前記書き込みデータパイプラインレジスタ及び前記
書き込みフラグ信号パイプラインレジスタの内容が損な
われないようにする手段あるいは前記要求フラグによる
読み込みが受け付けられなかった場合に前記アドレス生
成手段の処理の継続によって前記アドレスレジスタ及び
前記書き込みフラグ信号パイプラインレジスタの内容が
損なわれないようにする手段とを設けたところの複数台
のディジタルデータ処理ユニット群と、前記複数台のデ
ィジタルデータ処理ユニット群の前記各アドレスパイプ
ラインレジスタの各出力から一系統を選ぶ選択手段を設
けて別に設けた共有メモリのアドレスバスに供給し、か
つ前記複数台のディジタルデータ処理ユニット群の前記
各書き込みデータパイプラインレジスタの各出力のうち
からから一系統を選ぶ選択手段を設けて前記共有メモリ
のデータバスに供給あるいはまた前記共有メモリの読み
だし出力を前記複数台のディジタルデータ処理ユニット
群の選択手段を設けて選ばれた前記各第1の読み込みデ
ータパイプラインレジスタのうちの入力の少なくとも一
系統に供給し、また前記複数台のディジタルデータ処理
ユニット群の前記書き込みフラグ信号パイプラインレジ
スタの各出力信号のうちから一系統を選ぶ選択手段を設
けて選んだ内容を前記共有メモリの書き込み制御線に供
給し、かつ前記の選択手段と書き込み読みだし手順は予
め定めておいた前記各ディジタルデータ処理ユニットの
優先度に応じて前記各要求フラグの内容がアクティブな
ものを選択し、次のパイプラインサイクルに前記共有メ
モリのアドレスバスに前記の選択したアドレスパイプラ
インレジスタの値を供給すると同時に、前記共有メモリ
の書き込み信号線に対しては選択した前記の書き込みフ
ラグ信号パイプラインレジスタの内容を供給し、かつ選
択した前記の書き込みフラグ信号パイプラインレジスタ
の内容が書き込み要求の場合には前記選択した書き込み
データパイプラインレジスタの値を前記共有メモリのデ
ータバスに供給し、前記書き込みフラグ信号パイプライ
ンレジスタが読み込み要求の場合には前記共有メモリの
データバスには前記共有メモリに書き込まれていた内容
を読み出して読み込み要求を選択した時点での対応する
前記ディジタルデータ処理ユニットの読み込みデータパ
イプラインレジスタに書き込むようにするものであり、
かつ前記のディジタルデータ処理ユニットに対応した前
記要求フラグの要求が受け入れられた場合には前記要求
フラグをクリアすることを特徴とするディジタルデータ
処理ユニット調停装置。
(2) an address generation means, an address pipeline register that holds the address generated by the address generation means, a write data pipeline register that holds the data generated by the data generation means and the data generation means, and a read data pipeline register that holds the address generated by the address generation means; a data pipeline register and read data processing means for processing data stored in the read data pipeline register;
A request flag indicating that a read of the contents of the write data pipeline register is being requested with the intention of writing or a request is being made to write the contents of the read data pipeline register with the intention of reading, and whether the write is requested. and a write flag signal pipeline register that distinguishes whether a read is requested, and when the write based on the request flag is not accepted, the address pipeline register is set by continuing the processing of the address generation means and the data generation means. and a means for preventing the contents of the write data pipeline register and the write flag signal pipeline register from being damaged, or a means for preventing the contents of the write data pipeline register and the write flag signal pipeline register from being damaged, or by continuing processing of the address generation means when the read based on the request flag is not accepted. a plurality of digital data processing unit groups provided with a register and means for preventing the contents of the write flag signal pipeline register from being damaged; and each of the address pipelines of the plurality of digital data processing unit groups. A selection means is provided for selecting one system from each output of the register and supplies it to an address bus of a separately provided shared memory, and from among each output of each of the write data pipeline registers of the plurality of digital data processing unit groups. Selecting means for selecting one system from among the plurality of digital data processing unit groups is provided to supply the data bus of the shared memory, or a selection means for selecting one system from the plurality of digital data processing unit groups is provided. selection means for supplying the input signal to at least one input of the read data pipeline register of the plurality of digital data processing units, and selecting one of the output signals of the write flag signal pipeline register of the plurality of digital data processing unit groups; The selected content is supplied to the write control line of the shared memory, and the selection means and the write/read procedure control the request flags according to the predetermined priority of each digital data processing unit. Select the content whose contents are active, supply the value of the selected address pipeline register to the address bus of the shared memory in the next pipeline cycle, and at the same time supply the value of the selected address pipeline register to the write signal line of the shared memory. The content of the write flag signal pipeline register is supplied, and if the content of the selected write flag signal pipeline register is a write request, the value of the selected write data pipeline register is supplied to the data of the shared memory. When the write flag signal pipeline register indicates a read request, the data bus of the shared memory reads the contents written in the shared memory, and the corresponding It writes to the read data pipeline register of the digital data processing unit,
A digital data processing unit arbitration device, wherein the request flag is cleared when the request of the request flag corresponding to the digital data processing unit is accepted.
(3)アドレス生成手段と前記のアドレス生成手段によ
って生成したアドレスを保持するアドレスレジスタと、
データの生成手段と前記のデータ生成手段によって生成
したデータを保持する書き込みデータレジスタと、第1
の読み込みデータパイプラインレジスタと前記の第1の
読み込みデータパイプラインレジスタに格納されたデー
タを処理する読み込みデータ処理手段と、書き込みを意
図して前記書き込みデータレジスタの内容の読みだしが
可能となり書き込みを要求中であることを示すか、ある
いはまた読み込みを意図して読みだされてパイプライン
された後の読み込みデータの前記第1の読み込みデータ
パイプラインレジスタへの書き込みをパイプライン前の
時点にて要求していること示す要求フラグと、書き込み
を要求するか読み込みを要求するかを区別する書き込み
フラグとを具備し、かつ前記要求フラグによる書き込み
が受け付けられなかった場合に前記アドレス生成手段と
前記データ生成手段の処理の継続によって前記アドレス
レジスタおよび前記書き込みデータレジスタの内容が損
なわれないようにする手段あるいは前記要求フラグによ
る読み込みが受け付けられなかった場合に前記アドレス
生成手段の処理の継続によって前記アドレスレジスタの
内容が損なわれないようにする手段とを設けたところの
複数台のディジタルデータ処理ユニット群と、前記複数
台のディジタルデータ処理ユニット群の前記各アドレス
レジスタの各出力のうちから一系統を選ぶ選択手段を設
けて選んだ内容を別に設けたアドレスパイプラインレジ
スタの入力に供給し、また前記複数台のディジタルデー
タ処理ユニット群の前記各書き込みデータレジスタの各
出力のうちから一系統を選ぶ選択手段を設けて選んだ内
容を別に設けた書き込みデータパイプラインレジスタの
入力に供給しあるいはまた別に設けた第2の読み込みデ
ータパイプラインレジスタの出力を前記複数台のディジ
タルデータ処理ユニット群の選択手段を設けて選ばれた
前記各第1の読み込みデータパイプラインレジスタのう
ちの入力の少なくとも一系統に供給し、また前記複数台
のディジタルデータ処理ユニット群の前記書き込みフラ
グの各出力信号のうちから一系統を選ぶ選択手段を設け
て選んだ内容を別に設けた書き込みフラグ信号パイプラ
インレジスタの入力に供給し、さらに前記書き込みフラ
グ信号パイプラインレジスタの内容は別に設けた共有メ
モリの書き込み制御線に供給し、さらにまた前記アドレ
スパイプラインレジスタの出力は前記共有メモリのアド
レスバスに供給し、さらにまた前記データパイプライン
レジスタの出力は前記共有メモリのデータバスに供しあ
るいはさらにまた前記共有メモリに書き込まれていた読
みだし内容は前記第2の読み込みデータパイプラインレ
ジスタに供給して記録あるいは読みだしを行い、かつ前
記の一系統を選ぶ選択手段と書き込み読みだし手順は予
め定めておいた前記各ディジタルデータ処理ユニットの
優先度に応じて前記要求フラグの内容がアクティブなも
のを選択するとともに、選択された前記ディジタルデー
タ処理ユニットの一系統の前記書き込みフラグの書き込
みを示す出力信号は次のパイプラインサイクルに前記書
き込みフラグパイプラインレジスタに書き込みさらにそ
の次のパイプラインサイクルに前記書き込みフラグパイ
プラインレジスタの出力信号が前記共有メモリの書き込
み制御線に供給されるようにし、これと同時に選択され
た前記ディジタルデータ処理ユニットの一系統の前記書
き込みフラグが書き込み要求の場合には選択された前記
アドレスレジスタの内容を次のパイプラインサイクルに
前記アドレスパイプラインレジスタに書き込むと共に選
択された前記書き込みデータレジスタの内容を前記書き
込みデータパイプラインレジスタに書き込みさらにその
次のパイプラインサイクルに前記アドレスパイプライン
レジスタの内容を前記共有メモリのアドレスバスに供給
すると共に前記の書き込みデータパイプラインレジスタ
の値を前記共有メモリのデータバスに供給し、あるいは
また選択された前記ディジタルデータ処理ユニットの一
系統の前記書き込みフラグの読み込みを示す出力信号は
次のパイプラインサイクルに前記書き込みフラグパイプ
ラインレジスタに書き込みさらにその次のパイプライン
サイクルに前記書き込みフラグパイプラインレジスタの
出力信号が前記共有メモリの書き込み制御線に供給され
るようにし、これと同時に選択された前記アドレスレジ
スタの内容を次のパイプラインサイクルに前記アドレス
パイプラインレジスタに書き込みさらにその次のパイプ
ラインサイクルに前記アドレスパイプラインレジスタの
内容を前記共有メモリのアドレスバスに供給すると共に
前記共有メモリの内容をデータバスに読みだして前記の
第2の読み込みパイプラインレジスタに書き込みさらに
またその次のパイプラインサイクルに前記第2の読み込
みパイプラインレジスタの内容を読み込み要求を選択し
た時点で選択された前記ディジタルデータ処理ユニット
の第1の読み込みパイプラインレジスタに書き込むよう
にしたものであり、かつ前記のディジタルデータ処理ユ
ニットに対応した前記要求フラグの要求が受け入れられ
た場合には前記要求フラグをクリアすることを特徴とす
るディジタルデータ処理ユニット調停装置。
(3) an address generating means and an address register that holds the address generated by the address generating means;
a data generating means; a write data register for holding data generated by the data generating means;
read data processing means for processing data stored in the read data pipeline register and the first read data pipeline register; and read data processing means for processing data stored in the read data pipeline register and the first read data pipeline register; Indicates that a request is being made, or requests at a point before the pipeline to write the read data to the first read data pipeline register after being read and pipelined with the intention of being read again. and a write flag that distinguishes whether writing is requested or reading is requested, and when the writing based on the request flag is not accepted, the address generating means and the data generating means are provided. means for preventing the contents of the address register and the write data register from being damaged by the continuation of the processing of the means, or for preventing the contents of the address register and the write data register from being damaged by the continuation of the processing of the address generating means when reading by the request flag is not accepted. A selection of selecting one system from among a plurality of digital data processing unit groups provided with means for preventing content from being damaged, and each output of each of the address registers of the plurality of digital data processing unit groups. selecting means for supplying the selected content to the input of a separately provided address pipeline register, and selecting one system from among the outputs of each of the write data registers of the plurality of digital data processing unit groups; means for selecting one of the plurality of digital data processing units; supply to at least one input of each of the selected first read data pipeline registers, and select one of the output signals of the write flags of the plurality of digital data processing unit groups; A selection means is provided to supply the selected content to the input of a separately provided write flag signal pipeline register, further supply the contents of the write flag signal pipeline register to a write control line of a separately provided shared memory, and The output of the address pipeline register is supplied to the address bus of the shared memory, and the output of the data pipeline register is supplied to the data bus of the shared memory, or the output of the data pipeline register is supplied to the data bus of the shared memory, or the read contents that have been written to the shared memory is supplied to the second read data pipeline register for recording or reading, and the selection means for selecting one system and the write/read procedure are based on predetermined priorities of each digital data processing unit. The content of the request flag is selected as active according to the request flag, and an output signal indicating writing of the write flag of one system of the selected digital data processing unit is sent to the write flag pipeline in the next pipeline cycle. Writing to the register Further, in the next pipeline cycle, the output signal of the write flag pipeline register is supplied to the write control line of the shared memory, and at the same time, the output signal of the selected digital data processing unit is supplied to the write control line of the shared memory. When the write flag indicates a write request, the contents of the selected address register are written to the address pipeline register in the next pipeline cycle, and the contents of the selected write data register are written to the write data pipeline register. Write and, in the next pipeline cycle, supply the contents of the address pipeline register to the address bus of the shared memory and supply the value of the write data pipeline register to the data bus of the shared memory, or alternatively select An output signal indicating that the write flag of one system of the digital data processing unit has been read is written to the write flag pipeline register in the next pipeline cycle, and then written to the write flag pipeline register in the next pipeline cycle. An output signal is supplied to the write control line of the shared memory, and at the same time, the contents of the selected address register are written to the address pipeline register in the next pipeline cycle, and further in the next pipeline cycle. The contents of the address pipeline register are supplied to the address bus of the shared memory, and the contents of the shared memory are read onto a data bus and written to the second read pipeline register, and then in the next pipeline cycle. The content of the second read pipeline register is written to the first read pipeline register of the digital data processing unit selected at the time a read request is selected, and the digital data processing unit A digital data processing unit arbitration device, characterized in that the request flag is cleared when the request of the request flag corresponding to the request flag is accepted.
(4)処理ユニットのうちの書き込み専用読み込み専用
のディジタルデータ処理ユニットは書き込みデータパイ
プラインレジスタあるいは読み込みデータパイプライン
レジスタのどちらかを省きかつこれに対応して前記書き
込みフラグを設けず固定信号とした請求項1又は請求項
2記載のディジタルデータ処理ユニット調停装置。
(4) Among the processing units, a write-only read-only digital data processing unit omit either the write data pipeline register or the read data pipeline register, and correspondingly, the write flag is not provided and a fixed signal is used. A digital data processing unit arbitration device according to claim 1 or claim 2.
(5)各々アクセスの優先度を設定した複数のディジタ
ルデータ処理ユニットが競合して共有メモリをアクセス
するディジタルデータ処理ユニット調停装置において、
少なくともホストコンピュータのインターフェイスを行
う機能を前記ディジタルデータ処理ユニットのうちの一
つに割り当て、かつインターフェイスを行う前記ディジ
タルデータ処理ユニットを前記優先度が最下位となるよ
うに予め設定し、インターフェイスを行う前記ディジタ
ルデータ処理ユニットと前記ホストコンピュータとの間
にFIFOレジスタを装備し、前記FIFOレジスタの
データの格納状態を検出する手段を設けてホストコンピ
ュータへの転送時にもし前記FIFOレジスタの内容が
空に近くなったときあるいはホストコンピュータへの転
送時にFIFOレジスタの内容が一杯に近くなったとき
はこれを検出して前記FIFOレジスタに予め与えられ
ていた優先度を最下位からより上位に設定することを特
徴とするディジタルデータ処理ユニット調停装置。
(5) In a digital data processing unit arbitration device in which a plurality of digital data processing units each having a set access priority compete to access a shared memory,
At least a function for interfacing a host computer is assigned to one of the digital data processing units, and the digital data processing unit for interfacing is set in advance to have the lowest priority, and A FIFO register is provided between the digital data processing unit and the host computer, and means is provided for detecting the storage state of data in the FIFO register, so that if the contents of the FIFO register become nearly empty during transfer to the host computer. or when the contents of the FIFO register become nearly full during transfer to the host computer, this is detected and the priority given in advance to the FIFO register is set from the lowest to the highest priority. Digital data processing unit arbitration device.
(6)複数のディジタルデータ処理ユニットが競合して
共有メモリをアクセスするディジタルデータ処理ユニッ
ト調停装置において、前記各ディジタルデータ処理ユニ
ットはメモリ管理機構を具備し、前記メモリ管理機構は
前記各ディジタルデータ処理ユニットが各々前記共用メ
モリ内の別々の一定の範囲の領域のみをアクセスする場
合は前記各処理ディジタル処理ユニット単独で相互の競
合の優先度決定を行い、また同時に2台以上の前記ディ
ジタルデータ処理ユニットが前記のメモリの同一の一定
の範囲の領域をアクセスする場合には前記メモリ管理機
構は前記の場合の相互の競合の優先度決定に加えて同一
の一定の範囲の領域をアクセスをしている前記ディジタ
ルデータ処理ユニットのうちの一部の前記ディジタルデ
ータ処理ユニットの前記共有メモリのアクセスを停止さ
せるか、あるいはまた前記ディジタルデータ処理ユニッ
トの互いにアクセスする処理領域の手順を設定する手段
を備えることを特徴とするディジタルデータ処理ユニッ
ト調停装置。
(6) In a digital data processing unit arbitration device in which a plurality of digital data processing units compete to access a shared memory, each digital data processing unit includes a memory management mechanism, and the memory management mechanism When each unit accesses only a separate fixed range of areas within the shared memory, each processing digital processing unit independently determines the priority of mutual contention, and at the same time two or more of the digital data processing units When accessing the same fixed range area of the memory, the memory management mechanism accesses the same fixed range area in addition to determining mutual conflict priority in the above case. The method further includes means for stopping access to the shared memory of some of the digital data processing units, or for setting a procedure for mutually accessing processing areas of the digital data processing units. Features: Digital data processing unit arbitration device.
(7)少なくとも予め定めておいた前記各ディジタルデ
ータ処理ユニットのうちの優先度が最下位でないものは
、毎パイプラインクロックおきには前記要求フラグをア
クティブとしない手段を設けたことを特徴とする請求項
1、2、4、又は5記載のディジタルデータ処理ユニッ
ト調停装置。
(7) A means is provided for not activating the request flag at every pipeline clock for at least one of the predetermined digital data processing units that does not have the lowest priority. A digital data processing unit arbitration device according to claim 1, 2, 4, or 5.
JP12737390A 1990-05-16 1990-05-16 Digital data processing unit arbitration apparatus and method Expired - Fee Related JP2966038B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12737390A JP2966038B2 (en) 1990-05-16 1990-05-16 Digital data processing unit arbitration apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12737390A JP2966038B2 (en) 1990-05-16 1990-05-16 Digital data processing unit arbitration apparatus and method

Publications (2)

Publication Number Publication Date
JPH0423062A true JPH0423062A (en) 1992-01-27
JP2966038B2 JP2966038B2 (en) 1999-10-25

Family

ID=14958379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12737390A Expired - Fee Related JP2966038B2 (en) 1990-05-16 1990-05-16 Digital data processing unit arbitration apparatus and method

Country Status (1)

Country Link
JP (1) JP2966038B2 (en)

Also Published As

Publication number Publication date
JP2966038B2 (en) 1999-10-25

Similar Documents

Publication Publication Date Title
US6115761A (en) First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment
KR100207887B1 (en) Data processing system and method
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
US5313591A (en) Computer bus arbitration for N processors requiring only N unidirectional signal leads
JPH05210640A (en) Multiprocessor system
JP2002132701A (en) Memory control unit
US6260093B1 (en) Method and apparatus for arbitrating access to multiple buses in a data processing system
US6615296B2 (en) Efficient implementation of first-in-first-out memories for multi-processor systems
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
US6279066B1 (en) System for negotiating access to a shared resource by arbitration logic in a shared resource negotiator
US7062588B2 (en) Data processing device accessing a memory in response to a request made by an external bus master
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
US6026455A (en) Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
US5708783A (en) Data bus arbiter for pipelined transactions on a split bus
US5809534A (en) Performing a write cycle to memory in a multi-processor system
US5826045A (en) Arbitration parking apparatus and method for a split transaction bus in a multiprocessor computer system
EP0507954B1 (en) Device for controlling bus
US6009482A (en) Method and apparatus for enabling cache streaming
JPH0423062A (en) Method and device for arbitration of digital data processor
US5815676A (en) Address bus arbiter for pipelined transactions on a split bus
US5951663A (en) Method and apparatus for tracking bus transactions
JP4335327B2 (en) Arbitration apparatus and method
JP3240863B2 (en) Arbitration circuit
JP3206656B2 (en) Prefetch device and prefetch method on bus

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees