JPH04205237A - Memory access system - Google Patents
Memory access systemInfo
- Publication number
- JPH04205237A JPH04205237A JP33089390A JP33089390A JPH04205237A JP H04205237 A JPH04205237 A JP H04205237A JP 33089390 A JP33089390 A JP 33089390A JP 33089390 A JP33089390 A JP 33089390A JP H04205237 A JPH04205237 A JP H04205237A
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory
- processors
- storage means
- access
- 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
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明はメモリアクセス方式に関し、特に、マルチプロ
セッサシステムに使用されるメモリアクセス方式に関す
るものである。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a memory access method, and particularly to a memory access method used in a multiprocessor system.
[従来の技術]
従来、マルチプロセッサシステム(以下、システムとい
う)においては、全てのプロセッサからアクセスされる
共有メモリを有する構成、また処理効率の向上のため共
有メモリに加えて各プロセッサに付属する固有メモリを
有する構成が一般的であった。この共有メモリは1つの
記憶装置に全てのメモリを集中配置する構成、各プロセ
ッサに対応するよう複数の記憶装置に共有メモリを分散
配置する構成、及びその中間形態とがあった。[Prior Art] Conventionally, a multiprocessor system (hereinafter referred to as a system) has a configuration that has a shared memory that is accessed by all processors, and a unique memory attached to each processor in addition to the shared memory to improve processing efficiency. A configuration with memory was common. This shared memory has a configuration in which all memory is centrally located in one storage device, a configuration in which the shared memory is distributed in a plurality of storage devices to correspond to each processor, and an intermediate form thereof.
[発明が解決しようとしている課題]
しかしながら、共有メモリを集中配置する構成のシステ
ムでは、複数プロセッサからのメモリアクセス競合が発
生し、バスネックあるいはメモリネックのために処理効
率が低下するという問題が生じていた。この問題を解決
するため、−船釣番こは各プロセッサに付属する固有メ
モリを追加したシステムが使用されているが、この固有
メモ’J 41他のプロセッサからアクセスすることが
できなl/Aため、共有データを固有メモリに格納する
ことはできないという問題があった。仮に固有メモする
こ共有データを格納する場合、他のプロセッサに付属す
る固有メモリに存在する可能性のある共有データとの一
貫性保持のために、プロセッサ間通信を頻繁に行わねば
ならず、そのためにシステムに余分な負荷がかかるとい
う別の問題が生じてしまた。[Problems to be Solved by the Invention] However, in systems with a configuration in which shared memory is centrally allocated, memory access contention from multiple processors occurs, resulting in a problem that processing efficiency decreases due to bus necks or memory necks. was. To solve this problem, a system is used in which a unique memory attached to each processor is added, but this unique memory cannot be accessed by other processors. Therefore, there was a problem in that shared data could not be stored in private memory. If shared data is stored in a unique memory, inter-processor communication must be performed frequently in order to maintain consistency with shared data that may exist in unique memories attached to other processors. This creates another problem: extra load on the system.
さらに共有メモリを分散配置する構成の場合、プロセッ
サとメモリを対として1つの単位(以下、PUという)
とする場合が多く、PUごと心こユニット番号(以下、
PU−IDという)を設け、PU間でメモリアドレスの
競合が発生しなし1ようPU−I DとPU内のメモリ
アドレスからシステムの共有メモリアドレスを決定して
いた。つまり、システム起動時にシステム構成に従って
、共有メモリのアドレスがシステム全体で共通するアド
レスとなるようにメモリ配置を行っていた。Furthermore, in the case of a configuration in which shared memory is distributed, a processor and memory are paired as a unit (hereinafter referred to as PU).
In many cases, each PU has a core unit number (hereinafter referred to as
The shared memory address of the system was determined from the PU-ID and the memory address within the PU to avoid memory address conflicts between PUs. In other words, when the system is started, memory is allocated according to the system configuration so that the address of the shared memory becomes a common address for the entire system.
−しかしながらこのようなシステム構成では、例えば、
8PUのシステムの場合、IPUの故障により、物理メ
モリ空間上に歯抜けが生じてしまうのでシステムの再構
成や再起動が必要となる欠点があった。-However, in such a system configuration, e.g.
In the case of an 8PU system, a failure of the IPU causes a gap in the physical memory space, which has the disadvantage that the system must be reconfigured or restarted.
本発明は上記従来例に鑑みてなされたもので、マルチプ
ロセッサシステムにおいて、各プロセッサ専用メモリに
対するアクセスを可能とするメモリアクセス方式を提供
することを目的とする。The present invention has been made in view of the above conventional example, and an object of the present invention is to provide a memory access method that enables access to memory dedicated to each processor in a multiprocessor system.
[課題を解決するための手段]
上記目的を達成するために本発明のメモリアクセス方式
は以下の様な構成からなる。即ち、マルチプロセッサシ
ステムにおいて、複数のプロセッサ各々に付属した記憶
手段と、前記複数のブ9セッサの間で互いに情報を交換
するための経路として使用する情報伝達手段と、前記複
数のプロセッサ各々にあって、前記複数のプロセッサの
1つが他のプロセッサに付属する前記記憶手段にアクセ
スするために記憶アドレスのアドレス変換を行う第1の
アドレス変換手段と、前記複数のプロセッサ各々にあっ
て、前記複数のプロセッサの1つに付属する前記記憶手
段に対して他のプロセッサからのアクセスを行わせるた
めに記憶アドレスのアドレス変換を行う第2のアドレス
変換手段と、前記複数のプロセッサ各々にあって、前記
記憶手段に対する、前記記憶手段が属するプロセッサか
らのアクセスと他のプロセッサからのアクセスを制御す
る制御手段とを設ける。[Means for Solving the Problems] In order to achieve the above object, the memory access method of the present invention has the following configuration. That is, in a multiprocessor system, a storage means attached to each of the plurality of processors, an information transmission means used as a path for exchanging information between the plurality of processors, and a storage means attached to each of the plurality of processors. a first address conversion means for converting a storage address in order for one of the plurality of processors to access the storage means attached to another processor; a second address conversion means for converting a storage address in order to allow access from another processor to the storage means attached to one of the processors; A control means is provided for controlling access to the storage means from a processor to which the storage means belongs and from other processors.
[作用]
以上の構成により本発明は、プロセッサが有する第1の
アドレス変換手段と、プロセッサ間を接続している情報
伝達手段と、アクセスを望む記憶手段を有する他のプロ
セッサが有する第2のアドレス変換手段とを通じて他の
プロセッサの記憶手段に対してアクセスするよう動作す
る。[Operation] With the above configuration, the present invention can convert a first address conversion means possessed by a processor, an information transmission means connecting the processors, and a second address possessed by another processor having a storage means desired to be accessed. It operates to access the storage means of other processors through the conversion means.
[実施例]
以下添付図面を参照して本発明の好適な実施例を説明す
る。[Embodiments] Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
第1図は本発明の代表的な実施例であるマルチプロセッ
サシステムの構成を示すブロック図である。第1図にお
いて、1は各プロセッサからアクセスされる共有メモリ
、2は各プロセッサユニット(以下、PUという)と共
有メモリ1及び不図示のI10システム等が接続される
共通バス、3a〜3b等はPUである。また各PUは、
CPU4、キャッシュメモリ(以下、キャッシュという
)5、トランスレーションルックアサイドバッファ(以
下、TLBという)6、仮想アドレスから内部メモリア
ドレス(以下、内部アドレスという)にアドレス変換す
るページマツプii7、仮想アドレスをシステム共通中
間アドレスに変換するページマツプie8、システム共
通中間アドレスから内部アドレスに変換するページマツ
プei9、PU内部からの要求により発生したメモリア
クセスと、外部からの要求によって発生したメモリアク
セスを調停するアビータ10、他のPUから参照可能な
固有メモリ11から構成されている。FIG. 1 is a block diagram showing the configuration of a multiprocessor system that is a typical embodiment of the present invention. In FIG. 1, 1 is a shared memory accessed by each processor, 2 is a common bus to which each processor unit (hereinafter referred to as PU), the shared memory 1, an I10 system (not shown), etc. are connected, and 3a to 3b, etc. are It is PU. Also, each PU is
CPU 4, cache memory (hereinafter referred to as cache) 5, translation lookaside buffer (hereinafter referred to as TLB) 6, page map ii which converts addresses from virtual addresses to internal memory addresses (hereinafter referred to as internal addresses), virtual addresses to system A page map ie8 that converts a common intermediate address, a page map ei9 that converts a system common intermediate address to an internal address, and an avita 10 that arbitrates between memory accesses generated by requests from within the PU and memory accesses generated by external requests. , a unique memory 11 that can be referenced from other PUs.
また、キャッシュ5はキャッシュタグやコンパレータ等
、キャッシュシステムを構成するのに必要なユニットを
包含しているものとする。本実施例では、キャッシュ5
はCPU4に外付けされる構成としているが、キャッシ
ュ内蔵型CPUを用いることもできる。It is also assumed that the cache 5 includes units necessary to configure a cache system, such as a cache tag and a comparator. In this embodiment, cache 5
is configured to be externally attached to the CPU 4, but a CPU with a built-in cache may also be used.
さてCPU4から発行された仮想アドレスは、キャッシ
ュ5、TLB6、ページマツプii7、及び、ページマ
ツプie8に与えられる0次に、CPU4から発行され
た仮想アドレスは、初めにキャッシュ5にヒツトするか
どうかキャッシュ5によって判別される。キャッシュ5
にヒツトした場合はTLB6、ページマツプii7、ペ
ージマツプie8でのアドレス変換は中止され、ヒツト
したデータをCPU4に転送するとともに、ライトヒツ
ト時にはキャッシュコヒーレンスプロトコルに従った情
報を共通バス2に伝達する。Now, the virtual address issued from CPU4 is given to cache 5, TLB6, page map ii7, and page map ie8.Next, the virtual address issued from CPU4 is checked to see if it hits cache 5 first or not. 5. cache 5
When a hit occurs, address translation in the TLB 6, page map ii 7, and page map ie 8 is stopped, and the hit data is transferred to the CPU 4, and at the time of a write hit, information according to the cache coherence protocol is transmitted to the common bus 2.
これに対してキャッシュ5において、キャツシュヒツト
がなかった場合、さらに固有メモリ11に仮想アドレス
が存在するかどうかについて、その内部アドレスを保有
するTLB6で、CPU4から発行された仮想アドレス
が固有メモリ11に存在するかを判別する。ここでTL
B6に、その仮想アドレスに対応するエントリがあれば
、該仮想アドレスはTLB6で内部アドレスに変換され
アービタ10を経由して固有メモリ11に与えられる。On the other hand, if there is no cache hit in the cache 5, the TLB 6 that holds the internal address determines whether the virtual address exists in the specific memory 11. Determine whether TL here
If there is an entry corresponding to the virtual address in B6, the virtual address is converted into an internal address in TLB6 and given to the private memory 11 via the arbiter 10.
この時、同時にその旨がページマツプii7に通知され
内部アドレスへのアドレス変換が禁止される。さらに、
同じ通知がページマツプie8に伝達され、ページマツ
プie8によるアドレス変換が禁止される。At this time, the page map ii7 is simultaneously notified of this and address conversion to an internal address is prohibited. moreover,
The same notification is transmitted to the page map ie8, and address translation by the page map ie8 is prohibited.
TLB6のエントリに該仮想アドレスのエントリが存在
しない場合には、ページマツプii7を使用してアドレ
ス変換を行う。その変換は、メモリマネジメントユニッ
ト(MMU)がハードウェア的に実行してもCPU4を
介してソフトウェア的に実行しても良い。If there is no entry for the virtual address in the TLB6 entry, address translation is performed using page map ii7. The conversion may be executed in hardware by a memory management unit (MMU) or in software via the CPU 4.
第2図は本実施例のアドレスマツピングの状態を示した
図である。第2図では仮想空間が24ビツトアドレシン
グアーキテクチユアに基づいてマツピングされるものと
している・
第2図において、左側から順にPU (3a)で実行中
のプロセスの仮想空間、PU (3a)の内部空間(固
有メモリ11のアドレス空間)、中間実空間、PU(3
b)の内部空間(PU (3b)の固有メモリのアドレ
ス空間)、及び、共有メモリ1の実空間のアドレスマツ
ピングを各々示している。第2図によると、PU(3a
)で実行中プロセスの仮想空間アドレスのい(つかの部
分は、矢印群aによりPU (3a)の固有メモリ11
に対応する内部空間にマツピングされていることが示さ
れている。ここで矢印群aは、TLB6またはページマ
ツプii7を介して仮想空間と内部空間との間でアドレ
ス変換が行なわれていることを示す。FIG. 2 is a diagram showing the state of address mapping in this embodiment. In Figure 2, the virtual space is assumed to be mapped based on a 24-bit addressing architecture. In Figure 2, from the left, the virtual space of the process running on the PU (3a), the internal space of the PU (3a) (address space of specific memory 11), intermediate real space, PU (3
b) shows the address mapping of the internal space (the address space of the unique memory of PU (3b)) and the real space of the shared memory 1. According to Figure 2, PU (3a
), the part of the virtual space address of the running process is indicated by the arrow group a in the private memory 11 of the PU (3a).
It is shown that it is mapped to the internal space corresponding to . Here, the arrow group a indicates that address translation is being performed between the virtual space and the internal space via the TLB 6 or page map ii7.
ページマツプie8はCPU4が現在実行しているプロ
セスの仮想空間をシステム全体の共通な中間実空間にマ
ツプする。中間実空間上には各PU内の固有メモリ、共
有メモリ1、及び、不図示のI10システムのI10空
間がマツピングされている。第2図の矢印群すに示され
ているように、PU(3a)で実行中のプロセスの仮想
空間アドレス及びその他の空間各々は、ページマツプi
e8の作用で中間実空間上では連続したアドレスとして
マツピングされる。The page map ie8 maps the virtual space of the process currently being executed by the CPU 4 to an intermediate real space common to the entire system. The specific memory in each PU, the shared memory 1, and the I10 space of the I10 system (not shown) are mapped on the intermediate real space. As shown by the arrow group in FIG. 2, the virtual space address and other spaces of the process running on the PU (3a) are
Due to the effect of e8, addresses are mapped as continuous addresses in the intermediate real space.
このようにCPU4から発行された仮想アドレスが固有
メモリ11に存在しないと、該仮想アドレスはページマ
ツプie8を通して中間実空間上のアドレスに変換され
、ここではじめてPU3外部の共通バス2に中間実アド
レスが出力される。If the virtual address issued by the CPU 4 does not exist in the specific memory 11 in this way, the virtual address is converted to an address on the intermediate real space through the page map IE 8, and only then is the intermediate real address sent to the common bus 2 outside the PU 3. is output.
さて、共通バス2に出力された中間実アドレスは、共有
メモリ1もしくは他のPUによって取り込まれる。この
ことを示しているのが第2図の矢印群Cと矢印dである
。ここで矢印群Cは中間実空間が各PU(ここではPU
3a〜3b)の固有メモリにページマツプei9の作用
によりマツプされることを示している。また矢印dは、
共有メモリ1の実空間アドレスが中間実空間アドレスと
同一アドレスを有するようにとられていることを示して
いる。Now, the intermediate real address output to the common bus 2 is taken in by the shared memory 1 or another PU. This is shown by arrow group C and arrow d in FIG. Here, the arrow group C indicates that the intermediate real space is each PU (here, PU
3a to 3b) are mapped to the specific memory by the action of page map ei9. Also, the arrow d is
This shows that the real space address of the shared memory 1 is set to have the same address as the intermediate real space address.
まず共有メモリ1にそのアドレスに対応する部分の領域
が存在する場合について述べる。First, a case will be described in which the shared memory 1 has an area corresponding to the address.
CPU4から発生された仮想アドレスは、中間実空間上
の共有メモリ1がマツプされた空間の定められた領域を
示すようページマツプie8により中間実空間アドレス
に変換される。中間実空間アドレスは共通バス2を経由
して共有メモリ1に与えられる。The virtual address generated by the CPU 4 is converted into an intermediate real space address by the page map ie 8 so that the shared memory 1 in the intermediate real space indicates a defined area of the mapped space. The intermediate real space address is provided to the shared memory 1 via the common bus 2.
次に、前記仮想空間アドレスに対応する部分の領域が別
のPU(ここでは、PU (3b))の固有メモリに存
在する場合を考える。Next, consider a case where an area corresponding to the virtual space address exists in the private memory of another PU (in this case, PU (3b)).
PU (3b)の固有メモリ11はPU (3a)の固
有メモリ11と同様にPU (3b)に含まれるページ
マツプeiによって中間実空間上にマツピングされる。The unique memory 11 of PU (3b) is mapped onto the intermediate real space by the page map ei included in PU (3b), similarly to the unique memory 11 of PU (3a).
それで、PU (3a)のページマツプie8にPU
(3b)のページマツプeiによって中間実空間上にマ
ツピングされたアドレスを準備してお(。このような状
態で、CPU4から発生された仮想アドレスは、中間実
空間上のPU (3b)がマツプした空間の定められた
領域を示すようPU (3a)のページマツプie8に
より中間実空間アドレスに変換される。中間実空間アド
レスは共通バス2を経由してPU (3b)に供給され
る。一方、PU (3b)ページマツプeiでは、中間
実空間アドレスをPU (3b)の内部アドレスに変換
し固有メモリに与える。このようにして、PU(3a)
で発行された仮想アドレスによりPU(3a)のページ
マツプie8とPU (3b)のページマツプeiを経
由することによって、PU(3b)の固有メモリをアク
セスできる。So, PU (3a) page map ie8
An address mapped in the intermediate real space by the page map ei in (3b) is prepared (In this state, the virtual address generated from the CPU 4 is mapped by the PU (3b) in the intermediate real space. The address is converted into an intermediate real space address by the page map ie8 of the PU (3a) so as to indicate a defined area of the space.The intermediate real space address is supplied to the PU (3b) via the common bus 2.On the other hand, , PU (3b) In the page map ei, the intermediate real space address is converted to an internal address of PU (3b) and given to the specific memory.In this way, PU (3a)
The private memory of PU (3b) can be accessed by using the virtual address issued by PU (3a) through page map ie8 of PU (3a) and page map ei of PU (3b).
以上説明したように、固有メモリ11はTLB6、ペー
ジマツプii7、及び、ページマツプei9の3つの経
路でアクセスされる。しかし、TLB6とページマツプ
ii7からのアクセスは排他的に発生するので、TLB
6またはページマツプii7を通じたPU内部からのア
クセスと、ページマツプ、ei9による外部からのアク
セス経路をもつことになる。As explained above, the specific memory 11 is accessed through three routes: TLB6, page map ii7, and page map ei9. However, accesses from TLB6 and page map ii7 occur exclusively, so TLB
6 or page map ii7, and an access route from the outside via page map and ei9.
本実施例においては、PU内部からのアクセスを優先す
るようアービタ10を使用させ、外部アクセスが実行中
であっても、そのサイクルの終了後、直ちに、内部アク
セスを割り込ませて優先的に実行し、内部アクセス動作
が終了後、外部アクセスを再開するように固有メモリへ
のアクセス優先権を制御している。In this embodiment, the arbiter 10 is used to give priority to accesses from inside the PU, and even if an external access is in progress, immediately after the end of that cycle, an internal access is interrupted and executed with priority. , the access priority to the private memory is controlled so that external access is resumed after the internal access operation is completed.
従って本実施例に従うなら、共有メモリ1がマツプされ
た空間の定められた領域を示すアドレスと、PU (3
b)の固有メモリ(不図示)がマツピングされた中間実
空間を示すアドレスをPU(3a)のページマツプie
8に準備しておくことにより、PU(3a)のCPU4
で発生した仮想アドレスで共有メモリ1とPU (3b
)の固有メモリをアクセスすることができる。さらに、
固有メモリに対する自プロセッサからのアクセスを他プ
ロセツサからのアクセスに優先させることによって、自
プロセッサ内での処理効率の低下を防止することができ
る。Therefore, according to this embodiment, an address indicating a defined area of the space where shared memory 1 is mapped, and PU (3
The address indicating the intermediate real space to which the specific memory (not shown) of b) is mapped is mapped to the page map of PU (3a).
By preparing for CPU 8, CPU 4 of PU (3a)
Shared memory 1 and PU (3b
) can access its own memory. moreover,
By giving priority to accesses from the own processor to the specific memory over accesses from other processors, it is possible to prevent a decrease in processing efficiency within the own processor.
[他の実施例]
前述の実施例においては、共有メモリは中間実空間と同
一アドレスにマツピングし、中間実空間から各PUの内
部空間へのアドレス変換には各領域のベースアドレスの
みをシフトさせ各領域それ自体は連続したアドレス空間
としてマツピングするものとして説明した。本実施例で
は共有メモリを、共有メモリと共通バスとの間に別のペ
ージマツプを置くことにより、さらに中間実空間を所定
の小さな処理単位(以下、ページという)ごとに取り扱
い、その単位ごとに任意の中間実空間を共有メモリの実
空間や各PUの内部空間にマツピングする例について説
明する。[Other Embodiments] In the above embodiment, the shared memory is mapped to the same address as the intermediate real space, and only the base address of each area is shifted to convert the address from the intermediate real space to the internal space of each PU. Each area itself has been described as being mapped as a continuous address space. In this embodiment, by placing another page map between the shared memory and the common bus, the intermediate real space is handled in predetermined small processing units (hereinafter referred to as pages), and each unit is An example of mapping an arbitrary intermediate real space to the real space of the shared memory or the internal space of each PU will be described.
なお本実施例においては、共有メモリと共通バスとの間
に別のページマツプを設ける以外は前述の実施例で用い
たメモリアクセス装置と同じ構成の装置を用いるので、
装置参照番号は第1図と同じものを使用し、前述の実施
例と共通な装置各部の説明は省略する。Note that this embodiment uses a device having the same configuration as the memory access device used in the previous embodiment, except that another page map is provided between the shared memory and the common bus.
The same device reference numbers as in FIG. 1 are used, and descriptions of the various parts of the device common to the previous embodiments are omitted.
第3図は本実施例で用いる共有メモリ12の構成を示す
図であり、メモリ部14と共通バス2との間にページマ
ツプem13を設けている。このページマツプe+n1
3により、共通バス2上の中間実アドレスがメモリ部1
4をアクセスするためにメモリ部14の内部アドレスに
変換される。FIG. 3 is a diagram showing the configuration of the shared memory 12 used in this embodiment, in which a page map em13 is provided between the memory section 14 and the common bus 2. This page map e+n1
3, the intermediate real address on the common bus 2 is assigned to the memory section 1.
4 is converted into an internal address of the memory unit 14 in order to access it.
第4図は本実施例におけるアドレス空間のマツピングを
示した図である。第4図を用いて、PU(3a)で実行
中のプロセスが共有メモリ12ヘアクセスする場合と、
PU (3b)の固有メモリへアクセスする場合につい
て説明する。FIG. 4 is a diagram showing address space mapping in this embodiment. Using FIG. 4, when a process running on the PU (3a) accesses the shared memory 12,
The case of accessing the specific memory of PU (3b) will be explained.
まず、PU (3a)で実行中のプロセスの仮想空間の
ページは、ページマツプie8により、中間実空間アド
レスC0〜Cmaxの領域にアドレス変換される。次に
、中間実空間アドレスは共有メモリ12内部のページマ
ツプem13によりメモリ部14の内部アドレスに変換
される。このとき、メモリ部14への内部アドレス変換
はページ単位に実行されるので、ページサイズ単位に連
続したアドレスがメモリ部14に存在すれば、アドレス
変換は正常に実行される。従って、たとえ共有メモリ1
の一部に障害がありアクセス不能である場合(第4図の
共有メモリの実空間の[xxxx]で示す箇所)でも、
そこを使用せずとも中間実空間をマツプすることができ
る。First, the page of the virtual space of the process being executed on the PU (3a) is address-converted by the page map ie8 to the area of intermediate real space addresses C0 to Cmax. Next, the intermediate real space address is converted into an internal address of the memory section 14 by the page map em13 inside the shared memory 12. At this time, the internal address conversion to the memory unit 14 is executed in page units, so if consecutive addresses exist in the memory unit 14 in page size units, the address conversion is executed normally. Therefore, even if shared memory 1
Even if a part of the shared memory is inaccessible due to a failure (the part indicated by [xxxx] in the real space of the shared memory in Figure 4),
It is possible to map intermediate real space without using it.
次に、PU (3b)の固有メモリへアクセスする場合
について述べる。Next, the case of accessing the private memory of PU (3b) will be described.
まず、第4図に示すPU (3a)で実行中のプロセス
のテキストの一部のページ(SA)のアドレスは、ペー
ジマツプie8によるアドレス変換で中間実空間上の領
域(SC)のアドレスに変換される。次に、PU (3
b)のページマツプeiによりPU (3b)の固有メ
モリのある領域(SB)にマツプされる。本実施例では
、PU (3a)で実行中のプロセスの一部のページ、
特にプロセス実行のための共通領域を第4図に示す斜線
領域のようにPU (3a及び3b)のそれぞれの内部
空間にマツピングすることで、高速に応答可能な内部メ
モリを利用している。First, the address of a page (SA) of a part of the text of the process being executed on the PU (3a) shown in Figure 4 is converted into an address of an area (SC) in the intermediate real space by address conversion using page map IE8. be done. Next, PU (3
The page map ei in b) is mapped to a certain area (SB) of the specific memory of the PU (3b). In this embodiment, some pages of the process running on PU (3a),
In particular, by mapping the common area for process execution to the internal space of each PU (3a and 3b) as shown in the shaded area shown in FIG. 4, the internal memory capable of high-speed response is utilized.
従って本実施例に従うなら、共有メモリ1の一部に障害
があり使用不能であったとしても、その障害部分を使用
せず中間実空間をマツプすることができるので、共有メ
モリ部分障害に起因するシステムダウンを防止すること
ができる。また、ページ単位で他PUの固有メモリをア
クセスできるので、効率的なメモリ資源利用が可能とな
る。Therefore, according to this embodiment, even if a part of the shared memory 1 has a fault and is unusable, the intermediate real space can be mapped without using the faulty part, so that it is possible to map the intermediate real space without using the faulty part. System down can be prevented. Furthermore, since the unique memory of other PUs can be accessed on a page-by-page basis, efficient use of memory resources is possible.
なお、以上2つの本実施例では、PU内部からの固有メ
モリのアクセスを外部からのアクセスに優先させる場合
について説明したが、本発明はこれに限定されるもので
はない。例えば、固有メモリアクセス権優先順位なPU
各々の負荷バランスを考慮して動的に制御することも可
能である。Note that in the above two embodiments, a case has been described in which access to the specific memory from within the PU is prioritized over access from the outside, but the present invention is not limited to this. For example, PU with unique memory access priority
It is also possible to perform dynamic control in consideration of each load balance.
即ち、処理分割不可能なプロセスAがマルチプロセッサ
システムの1つのPUだけで実行されているような場合
、そのプロセスを実行するPUの負荷だけが増大し、他
のPUはシステムの維持のための少量の負荷、例えば、
クロックやネットワーク管理等によるものだけとなる。In other words, if process A, which cannot be divided, is executed by only one PU in a multiprocessor system, only the load on the PU that executes that process will increase, and the other PUs will be required to maintain the system. Small loads, e.g.
This is only due to clocks, network management, etc.
このため、他のPUに付属する固有メモリへの内部cP
Uからのアクセス頻度は低下するので、その固有メモリ
がプロセスA実行のため、割り当てられているコトカあ
る。このような条件下では、プロセスAの処理効率を高
めるために、割り込み処理のような高速応答の必要があ
るプロセスを実行すべきPUを除いて、他のPUの固有
メモリのアクセス優先順位を外部アクセス優先になるよ
う動的に制御する。このことにより、大量にメモリを必
要とするプロセスを効率良く動作させることができ、メ
モリ資源の有効な活用が可能となる。For this reason, internal cPs to specific memory attached to other PUs
Since the access frequency from U decreases, its own memory is allocated for the execution of process A. Under these conditions, in order to increase the processing efficiency of process A, the access priority of the specific memory of other PUs is set to external Dynamically control to prioritize access. As a result, processes that require a large amount of memory can be operated efficiently, and memory resources can be used effectively.
[発明の効果]
以上説明したように本発明によれば、マルチプロセッサ
システムにおいて、各プロセッサ専用の固有メモリが他
のプロセッサからアクセス可能となるので、メモリの使
用効率が向上するという効果がある。[Effects of the Invention] As described above, according to the present invention, in a multiprocessor system, a unique memory dedicated to each processor can be accessed from other processors, so that memory usage efficiency is improved.
第1図は本発明の代表的な実施例であるマルチプロセッ
サシステムの構成を示すブロック図、第2図はアドレス
空間のマツピングを示す図、第3図は他の実施例に従う
共有メモリの構成を示すブロック図、そして、
第4図は他の実施例に従うアドレス空間のマツピングを
示す図である。
図中、1・・・共有メモリ、2・・・共有バス、3a。
3b・・・プロセッサユニット、4・・・CPU、5・
・・キャッシュメモリ、6・・・TLB、7・・・ペー
ジマツプii、 8・・・ページマツプie、9・・・
ページマツプei、10・・・アービタ、11・・・固
有メモリ、13・・・ページマツプemである。
特許出願人 キャノン株式会社FIG. 1 is a block diagram showing the configuration of a multiprocessor system that is a typical embodiment of the present invention, FIG. 2 is a diagram showing address space mapping, and FIG. 3 is a diagram showing the configuration of a shared memory according to another embodiment. FIG. 4 is a block diagram illustrating address space mapping according to another embodiment. In the figure, 1...shared memory, 2...shared bus, 3a. 3b... Processor unit, 4... CPU, 5.
...Cache memory, 6...TLB, 7...Page map ii, 8...Page map ie, 9...
Page map ei, 10... arbiter, 11... private memory, 13... page map em. Patent applicant Canon Co., Ltd.
Claims (3)
セッサ各々に付属した記憶手段と、前記複数のプロセッ
サの間で互いに情報を交換するための経路として使用す
る情報伝達手段と、前記複数のプロセッサ各々にあつて
、前記複数のプロセッサの1つが他のプロセッサに付属
する前記記憶手段にアクセスするために記憶アドレスの
アドレス変換を行う第1のアドレス変換手段と、 前記複数のプロセッサ各々にあつて、前記複数のプロセ
ッサの1つに付属する前記記憶手段に対して他のプロセ
ッサからのアクセスを行わせるために記憶アドレスのア
ドレス変換を行う第2のアドレス変換手段と、 前記複数のプロセッサ各々にあつて、前記記憶手段に対
する、前記記憶手段が属するプロセッサからのアクセス
と他のプロセッサからのアクセスを制御する制御手段と
を設けたことを特徴とするメモリアクセス方式。(1) In a multiprocessor system, a storage means attached to each of the plurality of processors, an information transmission means used as a path for exchanging information between the plurality of processors, and a storage means attached to each of the plurality of processors; , a first address conversion means for converting a storage address in order for one of the plurality of processors to access the storage means attached to another processor; a second address translation means for converting a storage address in order to allow another processor to access the storage means attached to one of the plurality of processors; and for each of the plurality of processors, the storage means 1. A memory access system comprising: control means for controlling access from a processor to which the storage means belongs and access from other processors to the storage means.
段が属するプロセッサからのアクセスを他のプロセッサ
からのアクセスに優先して実行するように制御すること
を特徴とする請求項第1項に記載のメモリアクセス方式
。(2) The control means controls the storage means so that accesses from a processor to which the storage means belongs are given priority to accesses from other processors. Memory access method.
段が属するプロセッサからのアクセスと他のプロセッサ
からのアクセスとの優先順位を、マルチプロセッサシス
テム全体の負荷に応じて、動的に制御することを特徴と
する請求項第1項に記載のメモリアクセス方式。(3) The control means dynamically controls the priority of accesses to the storage means from the processor to which the storage means belongs and accesses from other processors, depending on the load of the entire multiprocessor system. The memory access method according to claim 1, characterized in that:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33089390A JPH04205237A (en) | 1990-11-30 | 1990-11-30 | Memory access system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33089390A JPH04205237A (en) | 1990-11-30 | 1990-11-30 | Memory access system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04205237A true JPH04205237A (en) | 1992-07-27 |
Family
ID=18237682
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33089390A Pending JPH04205237A (en) | 1990-11-30 | 1990-11-30 | Memory access system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04205237A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06274638A (en) * | 1993-03-23 | 1994-09-30 | Fuji Xerox Co Ltd | Three-bus connection system |
-
1990
- 1990-11-30 JP JP33089390A patent/JPH04205237A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06274638A (en) * | 1993-03-23 | 1994-09-30 | Fuji Xerox Co Ltd | Three-bus connection system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0497600B1 (en) | Memory access method and apparatus | |
| US6725336B2 (en) | Dynamically allocated cache memory for a multi-processor unit | |
| US5274789A (en) | Multiprocessor system having distributed shared resources and dynamic and selective global data replication | |
| US7617376B2 (en) | Method and apparatus for accessing a memory | |
| JP3687990B2 (en) | Memory access mechanism | |
| JP2625385B2 (en) | Multiprocessor system | |
| US5502828A (en) | Reducing memory access in a multi-cache multiprocessing environment with each cache mapped into different areas of main memory to avoid contention | |
| EP3992802B1 (en) | Input/output device operational modes for a system with memory pools | |
| WO2008031678A1 (en) | Dmac address translation miss handling mechanism | |
| US6789168B2 (en) | Embedded DRAM cache | |
| US20030229721A1 (en) | Address virtualization of a multi-partitionable machine | |
| US5727179A (en) | Memory access method using intermediate addresses | |
| EP1103898A2 (en) | Microprocessor and memory | |
| JPH04205237A (en) | Memory access system | |
| JP2618223B2 (en) | Single chip microcomputer | |
| JPH04288643A (en) | Memory mapping system for multi-processor system | |
| CN120872229A (en) | Method for core-level distributed storage system and related products thereof | |
| JPS60173655A (en) | Memory system of multiprocessor | |
| JP2005209206A (en) | Data transfer method for multiprocessor system, multiprocessor system, and processor for executing the method | |
| US6721858B1 (en) | Parallel implementation of protocol engines based on memory partitioning | |
| JPH0427583B2 (en) | ||
| GB2233480A (en) | Multiprocessor data processing system | |
| JP2823038B2 (en) | Logical direct memory access method | |
| JP2003348183A (en) | Communication controller | |
| WO2012127534A1 (en) | Barrier synchronization method, barrier synchronization device and processing device |