JPH01241642A - Dynamic arranging method for common memory - Google Patents

Dynamic arranging method for common memory

Info

Publication number
JPH01241642A
JPH01241642A JP63068049A JP6804988A JPH01241642A JP H01241642 A JPH01241642 A JP H01241642A JP 63068049 A JP63068049 A JP 63068049A JP 6804988 A JP6804988 A JP 6804988A JP H01241642 A JPH01241642 A JP H01241642A
Authority
JP
Japan
Prior art keywords
common memory
size
memory
area
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63068049A
Other languages
Japanese (ja)
Inventor
Mitsuhiro Nakamura
光宏 中村
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP63068049A priority Critical patent/JPH01241642A/en
Publication of JPH01241642A publication Critical patent/JPH01241642A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

PURPOSE:To effectively utilize the address space of a common memory by allowing the size of the common memory not to be a fixed size, allocating an idle space in the common memory according to the size of transfer data and on the other hand, releasing the area when the transfer of the data is ended. CONSTITUTION:The data transfer is executed through a common memory 3 between a main processor 1 and plural I/O processors 2A-2N, the size of the common memory is not made the fixed size and the idle space in the common memory 3 is allocated according to the size of the transfer data. On the other hand, when the data transfer is ended, the area is released. Thus, in the common memory control part of an OS for both the main processor 1 and I/O processors 2A-2N, function is obtained to dynamically manage the memory. Namely, in correspondence to the contents of a data transfer request, processing is executed to lend an occupational memory size, which is not presently used, from the arbitrary area of the common memory 3 and processing is executed to cancel (release) the occupying memory size after the end of the request. Thus, the using efficiency of the common memory 3 can be improved.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、メインプロセッサと複数の入出力制御用プロ
セッサ(工10プロセッサ)かラナルマルチプロセッサ
システム、特にメインプロセッサと複数のI10プロセ
ッサとの間で共用される共通メモリの動的配置方法に関
する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a main processor and a plurality of input/output control processors (input/output control processors) or a ranal multiprocessor system, particularly a main processor and a plurality of I10 processors. Concerning a method for dynamically arranging common memory shared by

〔従来の技術〕[Conventional technology]

一般に、マルチプロセッサシステムでは例えば第5図の
如く、メインプロセッサ1とI10プロセッサ2(2A
〜2D)は共通メモリと呼ばれる、メインプロセッサと
I10プロセッサの両方からアクセス可能なメモリ3を
介してデータの転送を行っている。この共通メモリ3は
通常は、メインプロセッサ側ではアドレス空間の連続し
た領域に割υ当てられるが、さらにその連続したアドレ
ス空間は一般に第6図の如く、各I10プロセッサ毎に
均等に分割される。したがって、それぞれのI10プロ
セッサは、その分割された領域を自分自身のアドレス空
間としてアクセスすることになる。そして、メインプロ
セッサ、I10プロセッサともにそれぞれのオペレーテ
ィングシステム(O8)が共通メモリの管理を行ってい
る。
Generally, in a multiprocessor system, as shown in FIG. 5, main processor 1 and I10 processor 2 (2A
~2D) transfers data via a memory 3 called common memory that is accessible from both the main processor and the I10 processor. This common memory 3 is normally allocated to a continuous address space υ on the main processor side, but the continuous address space is generally equally divided for each I10 processor as shown in FIG. Therefore, each I10 processor accesses the divided area as its own address space. The operating systems (O8) of both the main processor and the I10 processor manage the common memory.

と瓦で、メインプロセッサから例えば補助記憶装置用I
10プロセッサに対しデータREAD要求をする場合に
つき、第7図を参照して説明する。
For example, from the main processor to I for auxiliary storage
The case where a data READ request is made to the 10 processors will be explained with reference to FIG.

まず、メインプロセッサのO8は要求するI10プロセ
ッサ2に割り当てられた共通メモリにREAD要求コマ
ンドを格納し、割込みを発生する。
First, the main processor O8 stores a READ request command in the common memory allocated to the requesting I10 processor 2, and generates an interrupt.

この割込みを受けると、I10プpセッサのO8はその
外部機器(こ−では、補助記憶装置)に対し、READ
要求コマンドにより指示された通シの処理を行い、読み
込んだデータを共通メモリ内に格納した後、メインプロ
セッサ1に対し、割込みにて要求を発生する。
When this interrupt is received, O8 of the I10 processor sends a READ request to the external device (in this case, the auxiliary storage device).
After performing the processing specified by the request command and storing the read data in the common memory, a request is issued to the main processor 1 by interrupt.

このとき、読み込みデータ長を100KB (キロハイ
ド)と仮定し、また1つのI10プロセッサに割り当て
られた共通メモリを4KBと仮定すると、当然のことな
がらデータの分割(ブロッキング)が必要になシ、この
場合は25分割を行うことになる。このブロッキングに
は自然、O8のソフトウェアのオーバヘッド(処理)時
間を要する。このオーバヘッド時間は、通常は主記憶と
共通メモリ間の転送時間に比較して数10倍以上の時間
を要してしまうので、高速のデータ転送を実現するため
には、とのオーバヘッド時間を最小限におさえる必要が
生じてくる。従って、プpツキング回数を減らす方式、
すなわちI10プロセッサに対し割り当てられる共通メ
モリのサイズを大きくすることが必要になる。
At this time, assuming that the read data length is 100 KB (kilohydride) and the common memory allocated to one I10 processor is 4 KB, it is obvious that data division (blocking) is not necessary. will be divided into 25 parts. This blocking naturally requires O8 software overhead (processing) time. This overhead time usually takes several tens of times longer than the transfer time between main memory and common memory, so in order to achieve high-speed data transfer, it is necessary to minimize the overhead time. There is a need to keep it to a minimum. Therefore, a method to reduce the number of pushing
That is, it is necessary to increase the size of the common memory allocated to the I10 processor.

また、前述した補助記憶とか画像制御等を行うI10プ
ロセッサに関しては、大量のデータを転送するために前
述したように共通メモリは大きい方が良い。しかし、I
loの種類によっては、1度にIWORD(ワード)軸
数100WORD程度のデータのやシとシしか行わない
ようなI10プ四セッサも存在する。
Furthermore, regarding the I10 processor that performs auxiliary storage, image control, etc., as described above, the larger the common memory is, the better, in order to transfer a large amount of data. However, I
Depending on the type of LO, there are I10 processors that can only process data of about 100 IWORD axes at a time.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

しかしながら、従来の方式では各I10プロセッサに対
して均等にメモリを割り当てるのが一般的になっている
ため、一部では頻繁にデータのブロッキングを行い、一
方では共通メモリの使用されないで無駄になっている部
分が存在するというような、効率の悪い管理になってい
る。
However, in the conventional method, it is common to allocate memory equally to each I10 processor, so in some cases data is frequently blocked, and on the other hand, common memory is not used and is wasted. This results in inefficient management, with some parts of the world still having problems.

したがって、本発明は共通メモリを効率良く使用するこ
とが可能な方法を提供することを目的とする。
Therefore, it is an object of the present invention to provide a method that allows efficient use of common memory.

〔課題を解決するための手段〕[Means to solve the problem]

メインプロセッサと複数のI10プロセッサとの間で共
通メモリを介してデータ転送を行うとき、該共通メモリ
のサイズを固定の大きさとせず、転送するデータサイズ
により共通メモリ内の空いている領域を割り当てる一方
、データ転送が終了したときは前記領域を開放する処理
を行う。
When data is transferred between a main processor and a plurality of I10 processors via a common memory, the size of the common memory is not fixed, and free areas in the common memory are allocated according to the size of the data to be transferred. On the other hand, when the data transfer is completed, processing is performed to release the area.

〔作用〕[Effect]

メインプロセッサとI10プロセッサ双方のO8の共通
メモリ制御部にメモリを動的に管理する機能、すなわち
データ転送要求の内容に応じ、共通メモリの任意の領域
から現在使用されていない占有可能なメモリサイズ分を
借用する処理と、要求終了後にその占有メモリ領域を解
除(開放)する処理とを行うことにより、共通メモリの
使用効率を向上させる。
A function to dynamically manage memory in the O8 common memory control unit of both the main processor and I10 processor, that is, according to the content of the data transfer request, the currently unused occupyable memory size is transferred from any area of the common memory. The usage efficiency of the common memory is improved by performing the process of borrowing the memory area, and the process of releasing (releasing) the occupied memory area after the request is completed.

〔実施例〕〔Example〕

第1図は本発明による共通メモリの初期化方法を説明す
るための説明図、第2図は本発明による共通・メモリの
借用手続を説明するための説明図、第3図は本発明によ
る共通メモリの開放手続を説明するための説明図で、以
下、これらの図を参照して本発明を説明する。
FIG. 1 is an explanatory diagram for explaining the common memory initialization method according to the present invention, FIG. 2 is an explanatory diagram for explaining the common memory borrowing procedure according to the present invention, and FIG. 3 is an explanatory diagram for explaining the common memory borrowing procedure according to the present invention. These are explanatory diagrams for explaining a memory release procedure, and the present invention will be described below with reference to these diagrams.

メインプロセッサのO8は、I10プ胃セッサとは共通
メモリおよび割込み信号により交信を行っておシ、どの
I10プロセッサがシステムに接続(投入)されている
かは、電源投入時にI10プロセッサより割込み信号を
入れてもらい、この割込み信号により判別するようにし
ている。こ〜で、電源投入直後の共通メモリの配置は第
6図で示したように、各l10−ニット単位に均等に割
り当てられ、この領域を使用して各ユニットの初期化が
行われる。メインプロセッサのO8はユニットの初期化
終了後に共通メモリの全領域をクリアし、第1図の如く
初期化する。これにより、共通メモリは例えば16バイ
トを最小単位(ブロック)として、同図に示す共通メモ
リ情°報(ヘッダ)31にもとづき管理される。このヘ
ッダ31は第1図の如く、現在空いているブロックのサ
イズ(ブロック数)領域31A1次に空いているプロッ
りの先頭ブロックNo領域31B1および次空きブロッ
クNo領域31Cから構成される。メインプロセッサの
O8はこれらの情報をもとに共通メモリの空き領域をチ
エツクし、借用要求を発して領域を占有する。したがっ
て、最初は第1図の任意の領域が占有される。たyし、
このときの転送データ量が空き領域の容量よりも大きい
ときは、適当な大きさの領域を割夛当て〜ブロッキング
を行うようにする。また、占有された領域の次の空きブ
ロック位置にはヘッダ31が付けられる。
The main processor O8 communicates with the I10 processor through common memory and interrupt signals, and which I10 processor is connected to the system (turns on) can be determined by inputting an interrupt signal from the I10 processor when the power is turned on. The interrupt signal is used to determine the interrupt signal. As shown in FIG. 6, the common memory immediately after the power is turned on is equally allocated to each l10-nit unit, and each unit is initialized using this area. After the initialization of the unit is completed, the main processor O8 clears the entire area of the common memory and initializes it as shown in FIG. Thereby, the common memory is managed based on the common memory information (header) 31 shown in the figure, with the minimum unit (block) being, for example, 16 bytes. As shown in FIG. 1, this header 31 is composed of a currently vacant block size (block number) area 31A, a next vacant block first block number area 31B1, and a next vacant block number area 31C. The main processor O8 checks the free space in the common memory based on this information, issues a borrow request, and occupies the space. Therefore, initially any area in FIG. 1 is occupied. However,
If the amount of data to be transferred at this time is larger than the capacity of the free area, an area of an appropriate size is allocated and blocking is performed. Further, a header 31 is attached to the next vacant block position of the occupied area.

こkで、現在の共通メモリの占有状態が第2図(イ)の
如き状態にあるとき、メインプロセッサのO8が成る要
求を実行するために、共通メモリの占有を行うときは、
ヘッダ51により空きブロックを先頭からサーチしてそ
のサイズをチエツクし、要求するサイズを満たすかどう
かを判断し、要求を満たす領域がある場合は第2図(−
)の如く、これを占有する。一方、要求を満たす領域が
麦い場合は上記と同じく、適当な大きさの領域を割り当
てヘプロッキングを行う。このときも、ヘッダ31の付
は換えが上記と同様に行われる。こうして共通メモリを
動的に割り付けるが、I10プロセッサ側に対する共通
メモリサイズの情報は、その領域の先頭に第2図(ロ)
のように格納する。
Here, when the current common memory occupancy state is as shown in FIG. 2 (a), when the main processor O8 occupies the common memory in order to execute the request,
A free block is searched from the beginning using the header 51, and its size is checked to determine whether the requested size is satisfied. If there is an area that satisfies the request, as shown in FIG.
), occupy this. On the other hand, if the area that satisfies the request is insufficient, an area of an appropriate size is allocated and locking is performed in the same way as above. At this time, the header 31 is attached and replaced in the same manner as described above. In this way, the common memory is dynamically allocated, but the information on the common memory size for the I10 processor side is stored at the beginning of the area as shown in Figure 2 (b).
Store it like this.

I10プロセッサはこの情報をもとに、現在自分自身に
割り当てられたサイズを認識し、共通メモリに対するア
クセスを行う。
Based on this information, the I10 processor recognizes the size currently allocated to itself and accesses the common memory.

データ転送の終了後は、上記とは逆の操作で領域を開放
する。例えば第3図(イ)に示す借用領域をクリアする
と〜もに、ヘッダの位置を同図(ロ)に示す位置に移動
させる。
After the data transfer is completed, the area is released by performing the opposite operation to the above. For example, the borrowed area shown in FIG. 3(A) is cleared, and the header position is moved to the position shown in FIG. 3(B).

このように操作される共通メモリに対し、メインプロセ
ッサはハード的なセレクト信号を用いてリード/ライト
(R/W)を行うが、そのセレクト信号は例えば第4図
の如きセレクト信号作成回路にて作成される。
The main processor performs read/write (R/W) on the common memory operated in this way using a hardware select signal, but the select signal is processed by a select signal generation circuit as shown in Figure 4, for example. Created.

このセレクト信号作成回路は比較・選択部5、レジスタ
6およびデコーダ7等よシ構成され、レジスタ6へ各工
10ユニットのアドレスとサイズデータとを設定してお
くことにより、アドレスバスを介して俟見られるアドレ
スが、レジスタ6に設定されている範囲にめるか否かを
比較・選択部5にて判別することにより、セレクト信号
を生成するようになっている。
This select signal generation circuit is composed of a comparison/selection section 5, a register 6, a decoder 7, etc., and by setting the address and size data of each of the 10 units in the register 6, the signal can be generated via an address bus. A selection signal is generated by determining whether the viewed address falls within the range set in the register 6 in the comparison/selection unit 5.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、共通メモリの動的配置を可能にしたの
で、従来頻繁に行われていた共通メモリのブロッキング
を解消できるだけでなく、使用されない無駄なメモリ領
域もなくすことができるため、効率の良いデータ転送が
可能となる利点がもたらされる。
According to the present invention, it is possible to dynamically allocate common memory, which not only eliminates the common memory blocking that was frequently done in the past, but also eliminates wasted memory areas that are not used, resulting in improved efficiency. The advantage is that good data transfer is possible.

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

第1図は本発明による共通メモリの初期化方法を説明す
るための説明図、第2図は本発明による共通メモリの借
用手続を説明するための説明図、第5図は本発明による
共通メモリの開放手続を説明するための説明図、第4図
はセレクト信号作成回路の具体例を示すブロック図、第
5図はマルチプロセッサシステムの一般的な例を示すブ
ロック図、第6図は共通メモリの従来の割付態様を示す
ブロック図、第7図はマルチプロセッサシステムにおけ
るデータ転送方式を説明するための説明図である。 符号説明 1・・・・・・メインプロセッサ、2(2A〜2N)・
・・・・・工10プpセッサ、3・・・・・・共通メモ
リ、31・・・・・・ヘッダ、51A・・・・・・空き
ブロックサイズ領域、51B・・・・・・前空きブロッ
クNo領域、31C・・・・・・次空きブロックNo領
域、4・・・・・・内部パス、5(5A〜5N)・・・
・・・比較・選択部、6(6A〜6D)・・・・・・レ
ジスタ、7・・・・・・デコーダ。 代理人 弁理士 並 木 昭 夫 代理人 弁理士 松 崎    清 填1図 wi2図 奪31111 115図 前6− (↑64KB) 富 7m!
FIG. 1 is an explanatory diagram for explaining the common memory initialization method according to the present invention, FIG. 2 is an explanatory diagram for explaining the common memory borrowing procedure according to the present invention, and FIG. 5 is an explanatory diagram for explaining the common memory borrowing procedure according to the present invention. 4 is a block diagram showing a specific example of a select signal generation circuit, FIG. 5 is a block diagram showing a general example of a multiprocessor system, and FIG. 6 is a common memory FIG. 7 is an explanatory diagram for explaining a data transfer method in a multiprocessor system. Code explanation 1... Main processor, 2 (2A to 2N).
......Eng 10 processor, 3...Common memory, 31...Header, 51A...Free block size area, 51B...Previous Free block number area, 31C... Next free block number area, 4... Internal path, 5 (5A to 5N)...
. . . Comparison and selection section, 6 (6A to 6D) . . . Register, 7 . . . Decoder. Agent Patent Attorney Akio Namiki Agent Patent Attorney Kiyoshi Matsuzaki 1 Figure wi 2 Figure 31111 115 Figure Front 6- (↑64KB) Wealth 7m!

Claims (1)

【特許請求の範囲】[Claims] マルチプロセッサシステムを構成するメインプロセッサ
と複数の入出力プロセッサとの間で共通メモリを介して
データ転送を行うとき、該共通メモリのサイズを固定の
大きさにせず、転送するデータサイズにより共通メモリ
内の空いている領域を割り当てる一方、データ転送が終
了したときは前記領域を開放する処理を行うことにより
、共通メモリのアドレス空間の有効利用を図ることを特
徴とする共通メモリの動的配置方法。
When data is transferred between the main processor and multiple input/output processors that make up a multiprocessor system via a common memory, the size of the common memory is not set to a fixed size. 1. A method for dynamically arranging a common memory, which is characterized in that the address space of the common memory is effectively utilized by allocating a vacant area and releasing the area when data transfer is completed.
JP63068049A 1988-03-24 1988-03-24 Dynamic arranging method for common memory Pending JPH01241642A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63068049A JPH01241642A (en) 1988-03-24 1988-03-24 Dynamic arranging method for common memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63068049A JPH01241642A (en) 1988-03-24 1988-03-24 Dynamic arranging method for common memory

Publications (1)

Publication Number Publication Date
JPH01241642A true JPH01241642A (en) 1989-09-26

Family

ID=13362541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63068049A Pending JPH01241642A (en) 1988-03-24 1988-03-24 Dynamic arranging method for common memory

Country Status (1)

Country Link
JP (1) JPH01241642A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100467564B1 (en) * 1997-07-23 2005-03-16 삼성전자주식회사 Method for storing data according to data type of multi-function peripheral
US7035982B2 (en) 2001-09-27 2006-04-25 Kabushiki Kaisha Toshiba Data processor with a built-in memory

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100467564B1 (en) * 1997-07-23 2005-03-16 삼성전자주식회사 Method for storing data according to data type of multi-function peripheral
US7035982B2 (en) 2001-09-27 2006-04-25 Kabushiki Kaisha Toshiba Data processor with a built-in memory
US7237072B2 (en) 2001-09-27 2007-06-26 Kabushiki Kaisha Toshiba Data processor with a built-in memory
US7546425B2 (en) 2001-09-27 2009-06-09 Kabushiki Kaisha Toshiba Data processor with a built-in memory

Similar Documents

Publication Publication Date Title
JP2662603B2 (en) Method and apparatus for filtering invalidation requests
JP3687990B2 (en) Memory access mechanism
EP0855057B1 (en) Address transformation in a cluster computer system
US6467000B1 (en) Sideband transfer of redundancy bits for reduction of redundant cacheline transfers
US5729714A (en) Shared memory access method and apparatus with address translation
JPH07175698A (en) File system
JPH08129457A (en) Method and apparatus for expansion,reduction and redistribution of external storage structure
JPS5990281A (en) Memory control system
JP2000057054A (en) High speed address translation system
JPH0786861B2 (en) Shared memory multiprocessor system
US4654782A (en) Variable segment size plural cache system with cache memory unit selection based on relative priorities of accessed encached programs
US4639862A (en) Computer system
US5890220A (en) Address conversion apparatus accessible to both I/O devices and processor and having a reduced number of index buffers
JPH10301850A (en) Method and system for providing pseudo fine inclusion system in sectored cache memory so as to maintain cache coherency inside data processing system
CA1261480A (en) System for controlling data transfer instruction with extension storage device
JPH01241642A (en) Dynamic arranging method for common memory
US4974145A (en) Processor system including a paging processor for controlling paging between a main storage and an extended storage
JPH08212178A (en) Parallel computer
US5303363A (en) Image processing apparatus having disk storage resembling ram memory
JPH0830512A (en) Thread control system
JPH011049A (en) parallel computer
JP2742245B2 (en) Parallel computer
JPH01147766A (en) Multi-processor system
JPH06231033A (en) Data processor with distributed shared memory system
JPH0521256B2 (en)