JP2000200214A - Memory system and assigning method for memory banks - Google Patents

Memory system and assigning method for memory banks

Info

Publication number
JP2000200214A
JP2000200214A JP11226819A JP22681999A JP2000200214A JP 2000200214 A JP2000200214 A JP 2000200214A JP 11226819 A JP11226819 A JP 11226819A JP 22681999 A JP22681999 A JP 22681999A JP 2000200214 A JP2000200214 A JP 2000200214A
Authority
JP
Japan
Prior art keywords
memory
memory banks
agent
processing agent
banks
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
JP11226819A
Other languages
Japanese (ja)
Inventor
Joseph Niishiaa Richard
ジョセフ ニーシアー リチャード
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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
Priority claimed from US09/141,511 external-priority patent/US6275948B1/en
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2000200214A publication Critical patent/JP2000200214A/en
Pending legal-status Critical Current

Links

Landscapes

  • Dram (AREA)

Abstract

PROBLEM TO BE SOLVED: To make adjustable changing demands of access agents by allocating 1st parts of memory banks to a 1st memory map of a 1st process agent and 2nd parts to a 2nd memory map of a 2nd process agent. SOLUTION: The 1st memory bank is assigned to the memory map of the 1st agent preferably in order as shown in Fig.A. Consequently, if the memory system is so initially sectioned into seven memory banks that the 1st agent can access and seven memory banks that the 2nd agent can access, the starting seven memory banks are assigned in the increasing order to the memory map of the 1st agent. Memory banks for order agents are assigned in the decreasing order (top to bottom) to the memory map of the 2nd agent from the bottom to the top.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数の処理エージ
ェントによるメモリーの共有に関し、特に、複数の処理
エージェントの間のシングルポート型共有メモリーの効
率的で柔軟性のあるパーティショニングに関する。
The present invention relates to the sharing of memory by a plurality of processing agents, and more particularly, to the efficient and flexible partitioning of a single-port shared memory among a plurality of processing agents.

【0002】[0002]

【従来の技術】今日のプロセッサーの速度が今までかつ
てないほど速くなっているので、このような速度要件を
満たすようなメモリー設計が試みられてきた。シングル
システムにおいて複数の特定のタスク指向プロセッサー
の集積が増しているので、高速メモリーの有効利用が設
計上の課題になっている。
BACKGROUND OF THE INVENTION As the speed of today's processors has never been faster, memory designs have been attempted to meet such speed requirements. With the increasing integration of multiple specific task-oriented processors in a single system, efficient use of high-speed memory has become a design challenge.

【0003】例えば、高速メモリー速度を達成するた
め、広い用途のためにSDRAM技術が開発され、DR
AMやSRAMのような非同期型メモリーのアクセス時
間と高速プロセッサーのニーズとの間のギャップを狭く
してきた。同期メモリー(例えば、SDRAM技術)
は、ファースト(fast)DRAMにおける業界の進歩を高
速インターフェースと組み合わせている。
For example, SDRAM technology has been developed for a wide range of applications to achieve high memory speeds,
The gap between the access time of asynchronous memories such as AM and SRAM and the need for high speed processors has been narrowed. Synchronous memory (eg, SDRAM technology)
Combine industry advances in fast DRAM with high-speed interfaces.

【0004】機能的にSDRAMは従来のDRAMと似
ている。即ち、ダイナミックでありリフレッシュするこ
とを必要とする。しかし、SDRAMのアークテクチャ
ーは標準的なDRAMよりも優れている。例えば、SD
RAMはスループットを改善するため内部パイプライン
を用い、出力データのギャップをなくすため、別々のメ
モリーバンクの間でオンチップインターリーブを用い
る。
Functionally, SDRAMs are similar to conventional DRAMs. That is, it is dynamic and requires refreshing. However, the architecture of SDRAM is superior to standard DRAM. For example, SD
RAM uses internal pipelines to improve throughput, and uses on-chip interleaving between separate memory banks to eliminate output data gaps.

【0005】SDRAMを同期させて(DRAMを非同
期に用いるのに対して)用いる考えは、ハイエンドプロ
セッサーのデータ転送の需要が増加しているため発生し
た。SDRAM回路設計は、従来の非同期的メモリーデ
バイスのようにレベル/パルス幅駆動されるのではな
く、状態マシーン動作に基づく。また、同期的メモリー
アクセス技術はシステムノイズに対するマージンを改善
する。なぜなら入力がレベル駆動されてないからであ
る。代わりに、入力はシステムクロックによりラッチさ
れる。全てのタイミングが同じ同期クロックに基づくの
で、仕様上のマシーンが良くなる。また、SDRAMア
クセスはプログラマブルなので、バスの利用を改善する
ことができる。なぜなら、プロセッサーをSDRAM出
力と同期することができるからである。
The idea of using SDRAMs synchronously (as opposed to using the DRAMs asynchronously) has arisen due to the increasing demand for data transfer in high-end processors. SDRAM circuit designs are based on state machine operation, rather than being level / pulse width driven as in conventional asynchronous memory devices. Also, synchronous memory access techniques improve the margin for system noise. This is because the input is not level driven. Instead, the input is latched by the system clock. Since all timings are based on the same synchronous clock, the specification machine is improved. Also, because SDRAM access is programmable, bus utilization can be improved. This is because the processor can be synchronized with the SDRAM output.

【0006】SDRAMのデバイスのコアは、重要な同
期制御ロジックを有する標準的なDRAMである。1つ
のクロック信号で全てのアドレス、データ、制御信号を
同期することにより、SDRAM技術はパフォーマンス
を改善し、設計を単純化し、高速なデータ伝送を与える
ことができる。
The core of the SDRAM device is a standard DRAM with important synchronization control logic. By synchronizing all address, data, and control signals with one clock signal, SDRAM technology can improve performance, simplify design, and provide faster data transmission.

【0007】同期メモリーは、アクセスしているエージ
ェントからクロック信号を必要とし、そのアクセスして
いるエージェントの完全な同期操作を可能とさせる。も
し複数のエージェントが共有同期メモリーにアクセスを
許される場合、各エージェントはその自身のクロック信
号をその同期メモリーへと従来の方法で供給しなければ
ならない。しかし、別々のエージェントからのクロック
信号は従来技術的に同期してはいない。即ち、他方とイ
ンフェースではない。従って、同期メモリーが1つのク
ロック信号の利用から別のクロック信号へシフトする
際、新しいエージェントのクロック信号を同期メモリー
にアクセスするのに用いる前に遅延待ち状態を加えなけ
ればならない。
[0007] Synchronous memory requires a clock signal from the accessing agent and allows the accessing agent to fully synchronize. If multiple agents are allowed to access the shared synchronous memory, each agent must provide its own clock signal to its synchronous memory in a conventional manner. However, clock signals from different agents are not synchronous in the prior art. That is, it is not an interface with the other. Thus, as the synchronous memory shifts from using one clock signal to another, a delay wait state must be added before the new agent's clock signal is used to access the synchronous memory.

【0008】バースト入出力を与える能力を有する同期
メモリーデバイスがある。これは特に、システム周波数
でのキャッシュメモリーの重点の最適化に適する。プロ
グラマブルバーストモードやバースト長さのような発展
した特徴により、メモリーシステムのパフォーマンスお
よび伝統的な同期メモリーにおける柔軟性を改善させ、
バーストにおける個々のアクセスの間の待ち状態(例え
ば、休止(dormant)クロックサイクル)を挿入する必要
性をなくした。
Some synchronous memory devices have the ability to provide burst I / O. This is particularly suitable for optimizing the emphasis of cache memory at system frequencies. Advanced features such as programmable burst mode and burst length improve memory system performance and flexibility in traditional synchronous memory,
Eliminates the need to insert wait states (eg, dormant clock cycles) between individual accesses in a burst.

【0009】伝統的なSDRAMデバイスは、独立した
固定メモリーセクションを有し、これはここにあるいは
インターリーブ方式によりアクセスされることができ
る。例えば、SDRAMデバイスにおける2つの独立バ
ンクは、同時にそのデバイスが2つの異なる行がアクテ
ィブであることを可能にする。このことは、一方のバン
クがプリチャージ中に他方のバンクを読んだり書いたり
できることを意味する。行をプリチャージしたりアクテ
ィブエイトしたりする際のセットアップは、バンクアク
セスをインタリーブすることにより隠すことができる。
[0009] Traditional SDRAM devices have a separate fixed memory section, which can be accessed here or in an interleaved fashion. For example, two independent banks in an SDRAM device allow the device to have two different rows active at the same time. This means that one bank can read and write to the other bank during precharge. The setup for pre-charging and active-eighting rows can be hidden by interleaving bank accesses.

【0010】従来において、タスク指向処理エージェン
トはそれぞれ、図6に示すような専用メモリーバンクシ
ステムを備える。図6において、2つの別々の処理エー
ジェントシステム600a、600bはそれぞれ、処理
エージェント602、604、専用メモリーバンクシス
テム508a、508bを有する。各処理エージェント
602、604は、マイクロプロセッサー、マイクロコ
ントローラー、デジタルシグナルプロセッサー(DS
P)のような適切なプロセッサーを用いることができ
る。
Conventionally, each task-oriented processing agent has a dedicated memory bank system as shown in FIG. In FIG. 6, two separate processing agent systems 600a and 600b have processing agents 602 and 604, respectively, and dedicated memory bank systems 508a and 508b. Each processing agent 602, 604 includes a microprocessor, a microcontroller, a digital signal processor (DS).
A suitable processor such as P) can be used.

【0011】1つの処理エージェントが、別の処理エー
ジェントから大量の情報を必要とするようなアプリケー
ションでは、第2処理エージェントが第1処理エージェ
ントとともに情報を共同処理(co-process)するための
非同期メモリーバンクシステムの間の情報の伝送の必要
性を減らすため、図7に示したようにアービトレーター
を用いる従来の非同期メモリーの共有する技術が開発さ
れた。
In an application where one processing agent requires a large amount of information from another processing agent, the second processing agent may cooperate with the first processing agent to co-process information with an asynchronous memory. In order to reduce the need for information transmission between bank systems, a conventional asynchronous memory sharing technique using an arbitrator has been developed as shown in FIG.

【0012】図7においてシングルポート型コモンメモ
リーバンクシステム508は2つの処理エージェント5
02、504によってアクセスされる。マルチプレクサ
(MUX)510は、選択された処理エージェント50
2、504のアドレス、データ、制御バス(ADC)を
アービター(arbiter)、即ちアービトレーター512の
制御の下でシングルポート型コモンメモリーバンクシス
テム508へとわたす。
In FIG. 7, a single-port type common memory bank system 508 has two processing agents 5.
02,504. A multiplexer (MUX) 510 selects the selected processing agent 50.
The 2,504 address, data, and control bus (ADC) are passed to a single-port common memory bank system 508 under the control of an arbiter, or arbitrator 512.

【0013】いかなる時間においてもシングルポート型
コモンメモリーバンクシステム508にただ1つのエー
ジェントしかアクセスできないように調整(アービトレ
ート)されない限り、別々のエージェント502、50
4によるメモリーのアクセスはクラッシュしてしまう。
従って、選択ロジック(アービトレーター512)が従
来マルチプレクサ510を制御するため備えていた。こ
のマルチプレクサ510は、適切なADC信号をシング
ルポート型コモンメモリーバンクシステム508へと提
供する。処理エージェント502、504は通常、シン
グルポート型コモンメモリーバンクシステム508への
優先度をつけられたアクセスのためにアービトレーター
512において階層(バイアラキー)を割り当てられ、
シングルポート型コモンメモリーバンクシステム508
へのアクセスが終わるまでアービトレーター512は他
のエージェントによるアクセスを阻止する。
Unless arbitrated so that only one agent can access the single-port common memory bank system 508 at any time, separate agents 502 and 50 are provided.
Access to memory by 4 will crash.
Therefore, the selection logic (arbitrator 512) conventionally provided for controlling the multiplexer 510. The multiplexer 510 provides appropriate ADC signals to the single-port common memory bank system 508. The processing agents 502, 504 are typically assigned a hierarchy (biala key) in the arbitrator 512 for prioritized access to the single port common memory bank system 508,
Single port common memory bank system 508
The arbitrator 512 blocks access by other agents until the access to is terminated.

【0014】シングルポート型コモンノン非同期メモリ
ーを共有する別の従来技術は、図8に示すようなメモリ
ー管理アドレストランスレーター706を用いる。
Another conventional technique for sharing a single-port common non-asynchronous memory uses a memory management address translator 706 as shown in FIG.

【0015】図8において、2つの処理エージェント7
02、704がメモリー管理アドレストランスレーター
706およびMUX708の制御の下でシングルポート
型コモンメモリーバンクシステム508をアクセスして
いる。アドレス翻訳機能は、処理エージェント702、
704の1つによるメモリーアクセスを所定のメモリー
量(例えば、図8に示すように7k)へと不可視にイン
デックス付け(indexing)するように機能する。
In FIG. 8, two processing agents 7
02 and 704 are accessing the single-port common memory bank system 508 under the control of the memory management address translator 706 and the MUX 708. The address translation function includes a processing agent 702,
It functions to invisibly index memory accesses by one of the 704s into a predetermined amount of memory (eg, 7k as shown in FIG. 8).

【0016】従って例えば、第1の処理エージェント7
02によるアドレス0へのメモリーアクセスは、メモリ
ー管理アドレストランスレーター706によってシング
ルポート型コモンメモリーバンクシステム508におけ
る物理アドレス0へとインデックス付けされ、第2処理
エージェント704によるアドレス0へのメモリーアク
セスは、メモリー管理アドレストランスレーター706
によってシングルポート型コモンメモリーバンクシステ
ム508におけるオフセット物理アドレス(例えば、7
K)へとインデックス付けされる。
Therefore, for example, the first processing agent 7
02 is indexed by memory management address translator 706 to physical address 0 in single-port common memory bank system 508, and memory access by second processing agent 704 to address 0 is memory management Address translator 706
Depending on the offset physical address (for example, 7) in the single-port type common memory bank system 508.
K).

【0017】従来、アドレス翻訳は共有メモリーシステ
ムにおいて固定され、特にエージェントが動作中の時に
おいて、処理エージェントのメモリーニーズが変わって
も柔軟性を提供してなかった。
In the past, address translation was fixed in a shared memory system and did not provide flexibility, even when the memory needs of the processing agent changed, especially when the agent was running.

【0018】[0018]

【発明が解決しようとする課題】このように、複数のア
クセスエージェントの変化する需要を調整するようなメ
モリーシステムの必要性がある。
Thus, there is a need for a memory system that coordinates the changing demands of multiple access agents.

【0019】[0019]

【課題を解決するための手段】本発明の原理に従うメモ
リーシステムは、集合的に(複数の隣接メモリーバンク
全体で)最低アドレスアブル(アドレス割付可能)端お
よび最高アドレサブル端を有する複数の隣接(contiguou
s)メモリーバンクからなる。複数の隣接メモリーバンク
それぞれをスイッチングするようにスイッチが構成し、
第1処理エージェントと第2エージェントの1つからア
クセスされる。制御回路は、複数の隣接メモリーバンク
の第1のサブを、最低アドレサブル端から第1処理エー
ジェントの第1メモリーマップへと昇順で割り当て、複
数の隣接メモリーバンクの第2サブを、最高アドレサブ
ル端から第2処理エージェントの第2メモリーマップへ
と降順で割り当てる。
SUMMARY OF THE INVENTION A memory system in accordance with the principles of the present invention comprises a plurality of contiguous (collectively adjacent) memory banks having a lowest addressable (addressable) end and a highest addressable end.
s) Consists of a memory bank. A switch is configured to switch each of a plurality of adjacent memory banks,
Accessed from one of the first processing agent and the second agent. The control circuit allocates a first sub of the plurality of adjacent memory banks in ascending order from a lowest addressable end to a first memory map of the first processing agent, and allocates a second sub of the plurality of adjacent memory banks from a highest addressable end. Allocate to the second memory map of the second processing agent in descending order.

【0020】本発明の原理に従い、複数の処理エージェ
ントの間で共有するために複数のメモリーバンクを割り
当てる方法は、第1処理エージェントのより低いアドレ
スが複数のメモリーバンクの最後の1つと関連づけら
れ、第1処理エージェントのより高いアドレスが複数の
メモリーバンクの最後の1つと関連づけられるように複
数のメモリーバンクへのアクセスを第1処理エージェン
トに提供する。第2処理エージェントは、第2処理エー
ジェントのより低いアドレスが複数のメモリーバンクの
最後の1つと関連づけられ、第2処理エージェントのよ
り高いアドレスが複数のメモリーバンクの最初の1つと
関連づけられるように複数のメモリーバンクへのアクセ
スを提供される。
In accordance with the principles of the present invention, a method of allocating a plurality of memory banks for sharing among a plurality of processing agents is provided, wherein the lower address of the first processing agent is associated with the last one of the plurality of memory banks. Providing access to the plurality of memory banks to the first processing agent such that a higher address of the first processing agent is associated with the last one of the plurality of memory banks. The second processing agent is configured such that the lower address of the second processing agent is associated with the last one of the plurality of memory banks and the higher address of the second processing agent is associated with the first one of the plurality of memory banks. Provided access to the memory banks.

【0021】本発明の別の原理に従うと、複数の共有メ
モリーバンクを2のエージェントへ割り当てる方法は、
第1エージェントのメモリーマップに昇順で複数の共有
のメモリーバンクを割り当てるステップからなる。複数
の共有メモリーバンクは、第2エージェントのメモリー
マップに降順で割り当てられる。
According to another principle of the present invention, a method for assigning a plurality of shared memory banks to two agents comprises:
Allocating a plurality of shared memory banks to the memory map of the first agent in ascending order. The plurality of shared memory banks are allocated to the memory map of the second agent in descending order.

【0022】更に別の原理に従うと、複数の共有メモリ
ーバンクを2のエージェントへ割り当ての方法は、2の
処理エージェントそれぞれに対して逆順(opposing)で
複数の共有メモリーバンクを割り当てるステップからな
る。
According to yet another principle, a method for assigning a plurality of shared memory banks to two agents comprises assigning a plurality of shared memory banks to each of the two processing agents in an opposing manner.

【0023】[0023]

【発明の実施の形態】図1、図2は、2の別々のエージ
ェントないし処理エージェントグループによってアクセ
スできる複数のメモリーブロックを備えたシングルポー
ト型メモリーシステムを示してある。本発明は、複数の
共有メモリーブロックを2のエージェントの間での割り
当てに関する。
1 and 2 show a single-port memory system having a plurality of memory blocks that can be accessed by two separate agent or processing agent groups. The present invention relates to allocating a plurality of shared memory blocks between two agents.

【0024】図1において、コモンメモリーシステム3
10における所定数のメモリーバンクをアクセシングエ
ージェントないしエージェントグループそれぞれに割り
当てるように区分された共有メモリーの構成を示してい
る。図1において同期メモリー310を示しているが、
本発明は非同期共有メモリー(DRAM、SRAMのよ
うな伝統的なメモリー)をも用いることができる。
In FIG. 1, a common memory system 3
10 shows a configuration of a shared memory partitioned so as to allocate a predetermined number of memory banks 10 to each of an access agent or an agent group. FIG. 1 shows the synchronous memory 310,
The present invention can also use asynchronous shared memories (traditional memories such as DRAM, SRAM).

【0025】図1において、2つのグループのアクセシ
ングエージェントと関連して示してある。即ち、処理エ
ージェント302〜306を含む第1グループの共有メ
モリーアクセシングエージェント340と、処理エージ
ェント312〜316を含む第2グループの共有メモリ
ーアクセシングエージェント342である。エージェン
トグループ340、342は同じ数のエージェントを備
えるようにしてあるが、本発明は任意の数のエージェン
トを備えるアクセシングエージェントグループにも同様
に用いることができる。
In FIG. 1, it is shown in connection with two groups of access agents. That is, a first group of shared memory accessing agents 340 including the processing agents 302 to 306, and a second group of shared memory accessing agents 342 including the processing agents 312 to 316. Although the agent groups 340, 342 are intended to have the same number of agents, the present invention can be used with accessing agent groups having any number of agents as well.

【0026】メモリーブロック310は、パーティショ
ン310a、310bに区分されている。この実施例で
は2つのパーティション310a、310bで示してい
るが、本発明は任意の数のパーティションにて用いるこ
とができる。パーティションの数はエージェントグルー
プの数と等しいことが好ましい。
The memory block 310 is divided into partitions 310a and 310b. Although shown in this embodiment as two partitions 310a, 310b, the present invention can be used with any number of partitions. Preferably, the number of partitions is equal to the number of agent groups.

【0027】別々のエージェントグループ340、34
2は共有メモリー310の対応する区分された部分にア
クセスする。パーティション310a、310bは、い
かなる大きさでもよく構成レジスター360にセットさ
れるように、0からメモリーブロック310全体の大き
さまで占めることができる。
Separate agent groups 340, 34
2 accesses the corresponding partitioned portion of the shared memory 310. Partitions 310a, 310b may be of any size and may occupy from zero to the entire size of memory block 310, as set in configuration register 360.

【0028】本発明に従うと、メモリーブロック310
におけるメモリーバンクの割り当ては柔軟性を備え、メ
モリーブロック310におけるいかなる大きさのメモリ
ーバンクがエージェントグループ340、342の何れ
かに割り当てられることを可能とする。このような構成
のため、処理エージェント302〜306、312〜3
16を動作させる前あるいは構成レジスター360にお
ける値を変えるようにコードにおける特定の命令を実行
することによってオンザフライ(on-the-fly)でユーザ
はメモリー構成を変えることができる。
According to the present invention, memory block 310
The allocation of memory banks in is flexible and allows any size memory bank in the memory block 310 to be assigned to any of the agent groups 340, 342. Due to such a configuration, the processing agents 302 to 306, 312 to 3
The user can change the memory configuration before running 16 or by executing certain instructions in the code to change the value in the configuration register 360 on-the-fly.

【0029】構成レジスター360はエージェント30
2、304、306、312、314、316の何れに
よっても書き込まれることができる。この実施例におい
て、構成レジスター360に書き込まれる値は第1パー
ティション310aの長さに対応し、残りのメモリーバ
ンクは第2パーティションに割り当てられる。
The configuration register 360 contains the agent 30
2, 304, 306, 312, 314, 316. In this embodiment, the value written to configuration register 360 corresponds to the length of first partition 310a, and the remaining memory banks are assigned to the second partition.

【0030】勿論、複数のワードないしレジスターを構
成レジスター360にて実装することができ、共有メモ
リーブロック310にて3以上の構成可能パーティショ
ンを備えることができる。
Of course, multiple words or registers can be implemented in configuration register 360 and shared memory block 310 can have more than two configurable partitions.

【0031】メモリーブロック310は隣接パーティシ
ョンヘとパーティションすることが好ましい(必要では
ないが)。例えば、もし構成レジスター360が1の4
ビットレジスターからなれば、16までのメモリーバン
クの何れの間のパーティションを適切に表すことができ
るようになる。
The memory block 310 is preferably (but not necessarily) partitioned into adjacent partitions. For example, if the configuration register 360 is 1 4
With bit registers, the partition between any of up to 16 memory banks can be properly represented.

【0032】例えば、説明の便宜上のため、メモリーブ
ロック310にて14のメモリーバンクがあるとする。
エージェント302、304、306、312、31
4、316の何れかが360に値「9」(0101H)
を書き込めば、このことはアービトレーター312によ
って、最初の9の個々のメモリーバンクが第1エージェ
ント340に割り当てられ、残りの5の個々のメモリー
バンクが第2エージェントグループ342に割り当てら
れるようにメモリーブロック310を区分するように解
釈される。
For example, it is assumed that there are 14 memory banks in the memory block 310 for convenience of explanation.
Agents 302, 304, 306, 312, 31
Either of 4, 316 becomes 360 and the value is “9” (0101H)
, This means that the arbitrator 312 assigns the first nine individual memory banks to the first agent 340 and the remaining five individual memory banks to the second agent group 342. 310 to be interpreted.

【0033】次に構成レジスター360の4ビットはア
ービトレーター312によってデコードされ、第1MU
X308に適切な制御信号を与えて第1エージェントグ
ループ340における、要求ないし勝利エージェントを
選択したり選択しなかったりし、第2MUX308に対
して、第2エージェントグループ342における、要求
ないし勝利エージェントを選択したり選択しなかったり
させる。メモリーブロック310が区分されているの
で、両方のエージェントグループ340、342は衝突
なしにそれらの対応する割り当てられたパーティション
310a、310bにアクセスすることができる。
Next, the 4 bits of the configuration register 360 are decoded by the arbitrator 312 and the first MU
An appropriate control signal is given to X 308 to select or not select a requested or winning agent in the first agent group 340, and to select a requested or winning agent in the second agent group 342 for the second MUX 308. Or make no choice. Because the memory block 310 is partitioned, both agent groups 340, 342 can access their corresponding assigned partitions 310a, 310b without collision.

【0034】またメモリーバンクアービトレーターは所
望のようにメモリースペースに穴を設けることができ
る。例えば、第1エージェントがメモリーバンク71、
2、4、6、8を割り当てられ、第2エージェントがメ
モリーバンク14〜9、7、5、3を割り当てられるよ
うにすることができる。
The memory bank arbitrator can also have holes in the memory space as desired. For example, the first agent is a memory bank 71,
2, 4, 6, 8 so that the second agent can be assigned memory banks 14-9, 7, 5, 3.

【0035】複数のエージェントシステムにおいて、シ
ステムにおける全てのエージェントが用いるための1つ
の共有メモリーブロックがしばしば設けられる。多くの
理由によって(例えば、何れかのユーザに対してエージ
ェントそれぞれにおけるアプリケーションプログラムが
頻繁に変化すること)、システムにおける各エージェン
トに対する固定量のメモリーが非効率的となる
In a multiple agent system, one shared memory block is often provided for use by all agents in the system. A fixed amount of memory for each agent in the system becomes inefficient for a number of reasons (e.g., the application program at each agent changes frequently for any user).

【0036】例えば、もしメモリーアクセシングシステ
ムからなるICにおいて2つの利用可能なDSPの内1
つのみにおいて1のユーザがコードを実装する場合、そ
のユーザが第2DSPによるメモリー要求があれば最低
限しか与えられなくなってしまう。この場合、全ての利
用可能な共有メモリーを第1DSPに割り当てないし区
分し、第2DSPにメモリーを割り当てないようにする
ことが好ましいことがある。
For example, one of two available DSPs in an IC consisting of a memory access system.
If only one user implements the code, only that user will be given a minimum if there is a memory request by the second DSP. In this case, it may be preferable to allocate or partition all available shared memory to the first DSP and not allocate memory to the second DSP.

【0037】図2には、第1エージェントバス496ま
たは第2エージェントバス497の何れかによってアク
セスされるように割り当てることができる複数の個々の
メモリーバンク1〜14からなるメモリーシステム41
0を示している。メモリーバンク1〜14は同期メモリ
ー(例、SDRAM)あるいは非同期メモリー(例、D
RAM)のいずれかでもよい。また、図2〜5Bの実施
例において14の個々のメモリーバンクに関して示して
あるが、本発明は任意の数の個々のメモリーバンクを有
する共有メモリシステムにおいて同様に用いることがで
きる
FIG. 2 shows a memory system 41 comprising a plurality of individual memory banks 1-14 that can be assigned to be accessed by either the first agent bus 496 or the second agent bus 497.
0 is shown. The memory banks 1 to 14 are either synchronous memories (eg, SDRAM) or asynchronous memories (eg, D
RAM). Also, while shown with respect to 14 individual memory banks in the embodiment of FIGS. 2-5B, the present invention can be similarly used in a shared memory system having any number of individual memory banks.

【0038】コモンメモリーシステムのメモリーバンク
1〜14は本発明に従って2のエージェントバスによっ
てアクセスされるために柔軟性を持って割り当てられ
る。この割り当ては、最後から最初、最初から最後のメ
モリーバンクと逆の方向で行われる。
The memory banks 1 to 14 of the common memory system are flexibly allocated to be accessed by two agent buses according to the invention. This allocation is done in the opposite direction from last to first and from first to last memory bank.

【0039】個々のメモリーバンク1〜14はそれぞ
れ、適切なマルチプレクサ401〜414を用いること
によって何れかのエージェントによって構成可能にアク
セス可能である。MUX401〜414は選択ロジック
412bによって個別に制御され、これは構成レジスタ
ー460bにセットされた情報に基づいてメモリーシス
テム410において柔軟性のあるパーティションを有効
に実装する。
The individual memory banks 1-14 are each configurablely accessible by any agent by using the appropriate multiplexers 401-414. MUXs 401-414 are individually controlled by selection logic 412b, which effectively implements flexible partitions in memory system 410 based on information set in configuration registers 460b.

【0040】この柔軟性のあるパーティションは、メモ
リーシステムの動作時に移動することができるが、これ
は全ての影響されるエージェントによって確認されてか
ら行われることが好ましい。従って、1のエージェント
が更にメモリーを必要とすると、そのエージェントがア
クセスできるメモリーを増やすことができ、他のエージ
ェントがアクセスできるメモリーは減る。
This flexible partition can be moved during operation of the memory system, but is preferably done after it has been confirmed by all affected agents. Thus, if one agent needs more memory, the memory accessible by that agent can be increased and the memory accessible by other agents decreases.

【0041】本発明は、2のエージェントの間で複数の
メモリーバンクを区分するだけではなく、逆順でメモリ
ーバンクを割り当てる。図3A〜5Bは、個々のメモリ
ーバンク1〜14をエージェント1(図3A、4A、5
A)とエージェント2(図3B、4B、5B)のメモリ
ーマップへと割り当てる実施例を示してある。
The present invention not only partitions a plurality of memory banks between two agents, but also allocates memory banks in reverse order. FIGS. 3A-5B show the individual memory banks 1-14 as Agent 1 (FIGS. 3A, 4A, 5A).
FIG. 3A shows an embodiment in which a memory map is assigned to Agent 2 and Agent 2 (FIGS. 3B, 4B, and 5B).

【0042】本発明の原理に従い、第1メモリーバンク
は、図3Aに示すように第1エージェントのメモリーマ
ップへと、好ましくは順番に割り当てられる。従って、
もしメモリーシステム410が第1エージェントがアク
セスできる7のメモリーバンクおよび第2エージェント
がアクセスできる7のメモリーバンクとなるように初期
に区分されれば、図3Aに示すように最初の7のメモリ
ーバンクが第1のエージェントのメモリーマップへと昇
順に割り当てられる。これに対し図3Bに示すように、
他のエージェントに対するメモリーバンクは、降順(最
高から最低へと)で第2エージェントのメモリーマップ
へと最低から最高へと割り当てられる。
In accordance with the principles of the present invention, the first memory banks are preferably allocated to the first agent's memory map, as shown in FIG. 3A. Therefore,
If the memory system 410 is initially partitioned to have seven memory banks accessible to the first agent and seven memory banks accessible to the second agent, the first seven memory banks are shown in FIG. 3A. Assigned to the memory map of the first agent in ascending order. In contrast, as shown in FIG. 3B,
Memory banks for other agents are allocated in descending order (highest to lowest) to the second agent's memory map from lowest to highest.

【0043】図4A、Bは、5のメモリーバンクが第1
エージェントに割り当てられ9のメモリーバンクが第2
エージェントへ割り当てるような個々のメモリーバンク
1〜14の割り当ての例を示してある。最低のメモリー
バンクは最低のメモリーバンク(例えば、メモリーバン
ク#1)から始まって昇順で第1エージェントへ割り当
てられ、最高のメモリーバンクは最高のメモリーバンク
(例えば、メモリーバンク#14)から始まり昇順で第
2エージェントに割り当てられる。
FIGS. 4A and 4B show that five memory banks are the first.
Nine memory banks assigned to agents are second
An example of the assignment of individual memory banks 1-14 as assigned to agents is shown. The lowest memory bank is assigned to the first agent in ascending order starting with the lowest memory bank (eg, memory bank # 1), and the highest memory bank is assigned in ascending order starting with the highest memory bank (eg, memory bank # 14). Assigned to second agent.

【0044】同様に、図5A、Bは、第1エージェント
が9の最低メモリーバンク(順にメモリーバンク#1〜
#9)を用いるように初期に割り当てられ、第2エージ
ェントが5の最高メモリーバンク(順にメモリーバンク
#14〜#10)を用いるように割り当てられたメモリ
ーバンク1〜14のマッピングの例を示してある。
Similarly, FIGS. 5A and 5B show that the first agent has 9 lowest memory banks (in order, memory banks # 1 to # 1).
# 9) shows an example of a mapping of memory banks 1-14 allocated initially to use the five highest memory banks (in order memory banks # 14- # 10) with the second agent using the highest five memory banks. is there.

【0045】本発明は、2のエージェントから異なる方
法でアドレッシングされたメモリーバンクを得る。にも
かかわらず、メモリーバンクの間のパーティションの位
置を単に変えることによって、第1エージェントが記憶
するメモリーバングにおけるデータは他のエージェント
によってもアクセスすることができる。
The present invention obtains memory banks addressed in different ways from two agents. Nevertheless, by simply changing the location of the partitions between the memory banks, the data in the memory bang stored by the first agent can be accessed by other agents as well.

【0046】本発明は多くの使用例がある。例えば、2
ケートDSPシステムにおいて、第1DSPが7以上の
メモリーバンクを必要とするモデムアプリケーションプ
ログラムを動作させていて、第2DSPが他の7のメモ
リーバンクのバランスを必要とする中品質のオーディオ
セッションを動作させているとする。この場合、構成レ
ジスターは、例えば、「7」(0111H)にセットさ
れ、最低から最高へと順に第1の7のメモリーバンク1
〜7の割り当てを第1DSPに指示し、残りの7のメモ
リーバンク14〜8を最高から最低へと順に割り当てる
ことを第2DSPに指示する。次にその後の時点におい
て、ユーザは、12のメモリーバンクを必要とする第2
DSPにて高品質のオーディオセッションを動作させる
ことができる。
The invention has many uses. For example, 2
In a Kate DSP system, the first DSP runs a modem application program that requires seven or more memory banks, and the second DSP runs a medium quality audio session that requires a balance of the other seven memory banks. Suppose you have In this case, the configuration register is set to “7” (0111H), for example, and the first seven memory banks 1 are sequentially arranged from the lowest to the highest.
7 is instructed to the first DSP, and the second DSP is instructed to allocate the remaining seven memory banks 14 to 8 in order from the highest to the lowest. Then, at a later point in time, the user may receive a second
A high quality audio session can be operated by the DSP.

【0047】構成レジスター460におけるセッティン
グを第2DSPへの適切なより多くのメモリーバンクへ
と第1または第2DSPの何れかが調整することができ
る。これは、第1DSPのメモリーパーティションの大
きさの犠牲を伴う。例えば、この場合、値「2」(00
10H)が構成レジスター460に書き込まれ、第1D
SPに2のメモリーバンク1、2を割り当て、残りの1
2のメモリーバンク14〜3を第2DSPによって使用
するためメモリーブロックの第2パーティションへと構
成する。逆に、ユーザは何れの時点においても、大量メ
モリーを必要とする高ボーレートモデムプログラムを第
1DSP上で動作させたいことがある。この場合、構成
レジスター460は、例えば、最初の11のメモリーバ
ンク1〜11を第1DSPに割り当て、残りの3のメモ
リーバンク14〜12のみを第2DSPの使用のため残
すように書き込まれることができる。
Either the first or second DSP can adjust the settings in the configuration register 460 to more memory banks appropriate for the second DSP. This comes at the expense of the size of the memory partition of the first DSP. For example, in this case, the value “2” (00
10H) is written to the configuration register 460 and the first D
Allocate 2 memory banks 1 and 2 to SP,
The second memory bank 14-3 is configured into a second partition of a memory block for use by the second DSP. Conversely, at any time, the user may want to run a high baud rate modem program on the first DSP that requires a large amount of memory. In this case, the configuration register 460 can be written, for example, to assign the first eleven memory banks 1-11 to the first DSP and leave only the remaining three memory banks 14-12 for use of the second DSP. .

【0048】このように本発明に従って、2の処理エー
ジェントがメモリースペースをアドレッシングする方法
を変更せずにメモリーアクセスを促進するため調整する
必要なしに、隣接メモリースペースにて共有メモリーサ
ブシステムをアクセスすることができる。
Thus, in accordance with the present invention, two processing agents access a shared memory subsystem in adjacent memory spaces without having to adjust to facilitate memory access without changing the manner in which the memory space is addressed. be able to.

【0049】このように、他の処理エージェントの受け
取ったメモリースペースを変更せずにメモリーシステム
の一部ないし全てを何れかの処理エージェントが用いる
ことができる。
As described above, any processing agent can use part or all of the memory system without changing the memory space received by another processing agent.

【0050】より一般的には、Mのメモリーバンクを有
する共有メモリーバンクシステムにおいて、第1処理エ
ージェントがメモリーバンク1−Nを所有し、第2処理
エージェントがメモリーバンクN+1〜Mを所有する。
第1処理エージェントの観点からは、アドレス0が第1
メモリーバンク1に配置され、メモリーバンクの数が増
えるとアドレスも増える。第2処理エージェントについ
ては、アドレス0は最高メモリーバンクMに配置され、
メモリーバンクの数が減るとアドレスが増える。これ
は、隣接メモリー必要条件の場合である。勿論メモリー
バンクの割り当ては隣接条件的でなくてもよい。
More generally, in a shared memory bank system having M memory banks, a first processing agent owns memory banks 1-N and a second processing agent owns memory banks N + 1-M.
From the point of view of the first processing agent, address 0 is the first
It is arranged in the memory bank 1 and the address increases as the number of memory banks increases. For the second processing agent, address 0 is located in the highest memory bank M,
As the number of memory banks decreases, the addresses increase. This is the case for adjacent memory requirements. Of course, the allocation of the memory banks does not have to be on an adjacent condition.

【0051】従って、本発明の原理に従うと、2の処理
エージェントの間単にデータを交換したり、あるいは調
整された処理エージェントの間で別々にデータを交換す
ることができる。例えば、第1処理エージェントによっ
てメモリーバンクにデータを書き込み、次にそのメモリ
ーバンクは、マルチプレクサを適当にスイッチングする
ことにより第2処理エージェントのドメインへと単純に
スイッチングすることができる。このマルチプレクサ
は、そのメモリーバンクへの入力を制御し、第2処理エ
ージェントに対しデータへのフルアクセスを可能とさせ
る。
Thus, in accordance with the principles of the present invention, data can be simply exchanged between two processing agents, or data can be exchanged separately between coordinated processing agents. For example, data can be written to a memory bank by a first processing agent, which can then simply be switched to the domain of the second processing agent by appropriately switching the multiplexer. This multiplexer controls the input to the memory bank and allows the second processing agent full access to the data.

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

【図1】各アクセスインエージェントへ所定数のメモリ
ーバンクを割り当てるように構造上区分された共通メモ
リーの図。
FIG. 1 is a diagram of a common memory that is structurally partitioned such that a predetermined number of memory banks are assigned to each access in agent.

【図2】図1に示したパーティショナブルメモリーシス
テムの実施例の図。
FIG. 2 is a diagram of an embodiment of the partitionable memory system shown in FIG.

【図3】本発明に従い、2人のエージェントが逆順でア
クセスするために割り当てられた複数のメモリーバンク
の第1の例を示すメモリー割当図。
FIG. 3 is a memory allocation diagram illustrating a first example of a plurality of memory banks allocated for two agents to access in reverse order according to the present invention.

【図4】図3と同様なメモリー割当図。FIG. 4 is a memory allocation diagram similar to FIG.

【図5】図3と同様なメモリー割当図。FIG. 5 is a memory allocation diagram similar to FIG. 3;

【図6】別々の非同期メモリーシステムを備える従来の
2エージェントシステムを示す図。
FIG. 6 illustrates a conventional two-agent system having separate asynchronous memory systems.

【図7】非同期共有メモリーにアクセスするためアービ
トレーターを用いた従来技術の2エージェントシステム
を示す図。
FIG. 7 illustrates a prior art two-agent system using an arbitrator to access an asynchronous shared memory.

【図8】エージェントの内の1人からのメモリーアクセ
スをオフセットするため、メモリー管理アドレストラン
スレーターを用いた従来技術のエージェントシステムを
示す図。
FIG. 8 illustrates a prior art agent system using a memory management address translator to offset memory access from one of the agents.

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

0 アドレス 302〜306、312〜316、502、504、6
02、604、702、704 処理エージェント 308、318、401〜414、510 マルチプレ
クサ(MUX) 310 メモリーブロック 310a、310b パーティション 340、342 エージェントグループ 360、460、460b 構成レジスター 1〜14 メモリーバンク 410 メモリーシステム 412b 選択ロジック 496、497 エージェントバス 508 シングルポート型コモンメモリーバンクシステ
ム 508a、508b 専用メモリーバンクシステム 512 アービトレーター 600a、600b 処理エジェントシステム 706 メモリー管理アドレストランスレーター
0 address 302-306, 312-316, 502, 504, 6
02, 604, 702, 704 Processing agents 308, 318, 401-414, 510 Multiplexers (MUX) 310 Memory blocks 310a, 310b Partitions 340, 342 Agent groups 360, 460, 460b Configuration registers 1-14 Memory banks 410 Memory systems 412b Selection logic 496, 497 Agent bus 508 Single port type common memory bank system 508a, 508b Dedicated memory bank system 512 Arbitrator 600a, 600b Processing agent system 706 Memory management address translator

───────────────────────────────────────────────────── フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A. (72)発明者 リチャード ジョセフ ニーシアー アメリカ合衆国,18015 ペンシルバニア, ベスレヘム,ピーチ ツリー レイン 1937 ──────────────────────────────────────────────────続 き Continuation of the front page (71) Applicant 596077259 600 Mountain Avenue, Murray Hill, New Jersey 07974-0636 U.S.A. S. A. (72) Inventor Richard Joseph Neissier, Peach Tree Lane, Bethlehem, Pennsylvania, United States, 18015 1937

Claims (27)

【特許請求の範囲】[Claims] 【請求項1】 (A)全体で最低アドレサブル端と最高
アドレサブル端を有する複数のメモリーバンクと、 (B)最低アドレサブル端から昇順で前記複数のメモリ
ーバンクの第1部分を第1処理エージェントの第1メモ
リーマップへと割り当て、最高アドレサブル端から降順
で前記複数のメモリーバンクの第2部分を第2処理エー
ジェントの第2メモリーマップへと割り当てる制御モジ
ュールとを有することを特徴とするメモリーシステム。
(A) a plurality of memory banks having a lowest addressable end and a highest addressable end as a whole; and (B) a first portion of the plurality of memory banks in an ascending order from the lowest addressable end. A control module allocating to a memory map and allocating a second portion of the plurality of memory banks to a second memory map of a second processing agent in descending order from the highest addressable end.
【請求項2】 前記複数のメモリーバンクは、隣接して
いることを特徴とする請求項1記載のメモリーシステ
ム。
2. The memory system according to claim 1, wherein the plurality of memory banks are adjacent.
【請求項3】 (C)第1処理エージェントと第2処理
エージェントの内の1つからアクセスされるため前記複
数のメモリーバンクのそれぞれをスイッチングするよう
に構成したスイッチを更に有することを特徴とする請求
項1記載のメモリーシステム。
And (C) further comprising a switch configured to switch each of the plurality of memory banks to be accessed from one of the first processing agent and the second processing agent. The memory system according to claim 1.
【請求項4】 前記制御モジュール(B)は、前記複数
のメモリーバンクの第1部分と前記複数のメモリーバン
クの第2部分を規定する構成レジスターを有することを
特徴とする請求項1記載のメモリーシステム。
4. The memory of claim 1, wherein the control module (B) has a configuration register that defines a first portion of the plurality of memory banks and a second portion of the plurality of memory banks. system.
【請求項5】 前記複数のメモリーバンクは、何れの時
点においても第1処理エージェントと第2処理エージェ
ントの内の一方のみに割り当てることを特徴とする請求
項1記載のメモリーシステム。
5. The memory system according to claim 1, wherein the plurality of memory banks are assigned to only one of the first processing agent and the second processing agent at any time.
【請求項6】 前記複数のメモリーバンクは、同期メモ
リーバンクであることを特徴とする請求項1記載のメモ
リーシステム。
6. The memory system according to claim 1, wherein said plurality of memory banks are synchronous memory banks.
【請求項7】 前記複数のメモリーバンクは、非同期メ
モリーバンクであることを特徴とする請求項1記載のメ
モリーシステム。
7. The memory system according to claim 1, wherein said plurality of memory banks are asynchronous memory banks.
【請求項8】 複数の処理エージェントの間で共有する
ために複数のメモリーバンクを割り当てる方法であっ
て、 (A)第1処理エージェントの低いアドレスが当該複数
のメモリーバンクの最後の1つと関連図けられ、第1処
理エージェントの高いアドレスが当該複数のメモリーバ
ンクの最後の1つと関連づけられるように複数のメモリ
ーバンクへと第1処理エージェントにアクセスさせるス
テップと(B)第2処理エージェントの低いアドレスが
当該複数のメモリーバンクの前記最後の1つに関連づけ
られ、第2処理エージェントの高いアドレスが当該複数
のメモリーバンクの最後の1つと関連づけられるように
当該複数のメモリーバンクへと第2処理エージェントに
アクセスさせるステップとを有することを特徴とする方
法。
8. A method for allocating a plurality of memory banks for sharing among a plurality of processing agents, comprising: (A) a low address of a first processing agent and a last address of the plurality of memory banks; Causing the first processing agent to access the plurality of memory banks such that a high address of the first processing agent is associated with the last one of the plurality of memory banks; and (B) a low address of the second processing agent. Is associated with the last one of the plurality of memory banks and the second processing agent is associated with the second one of the plurality of memory banks such that a high address of the second processing agent is associated with the last one of the plurality of memory banks. Accessing.
【請求項9】 当該複数の処理エージェントの前記最初
の1つは、第1処理エージェントのメモリーマップにお
けるアドレス0と関連づけられることを特徴とする請求
項8記載の方法。
9. The method of claim 8, wherein the first one of the plurality of processing agents is associated with an address 0 in a memory map of the first processing agent.
【請求項10】 当該複数の処理エージェントの前記最
初の1つは、第2処理エージェントのメモリーマップに
おけるアドレス0と関連づけられることを特徴とする請
求項8記載の方法。
10. The method of claim 8, wherein said first one of said plurality of processing agents is associated with an address 0 in a memory map of a second processing agent.
【請求項11】 当該複数の処理エージェントの前記最
初の1つは、第2処理エージェントのメモリーマップに
おけるアドレス0と関連づけられることを特徴とする請
求項9記載の方法。
11. The method of claim 9, wherein said first one of said plurality of processing agents is associated with an address 0 in a memory map of a second processing agent.
【請求項12】 当該複数のメモリーバンクは、同期メ
モリーであることを特徴とする請求項9記載の方法。
12. The method of claim 9, wherein said plurality of memory banks are synchronous memories.
【請求項13】 当該複数のメモリーバンクは、非同期
メモリーであることを特徴とする請求項9記載の方法。
13. The method of claim 9, wherein said plurality of memory banks are asynchronous memories.
【請求項14】 当該複数のメモリーバンクのそれぞれ
は、第1処理エージェントと第2処理エージェントの両
方によって同時にアクセスすることができないことを特
徴とする請求項9記載の方法。
14. The method of claim 9, wherein each of the plurality of memory banks cannot be accessed simultaneously by both the first processing agent and the second processing agent.
【請求項15】 2のエージェントに複数の共有メモリ
ーバンクを割り当てる方法であって、 (A)複数の共有メモリーバンクを昇順で第1エージェ
ントのメモリーマップへと割り当てるステップと、 (B)当該複数の共有メモリーバンクを降順で第2エー
ジェントのメモリーマップへと割り当てるステップとを
有することを特徴とする方法。
15. A method of allocating a plurality of shared memory banks to two agents, comprising: (A) allocating a plurality of shared memory banks to a memory map of a first agent in ascending order; Assigning the shared memory bank to the second agent's memory map in descending order.
【請求項16】 当該複数の共有メモリーバンクは、同
期メモリーバンクであるを有することを特徴とする請求
項15記載の方法。
16. The method of claim 15, wherein said plurality of shared memory banks comprises synchronous memory banks.
【請求項17】 2のエージェントに複数の共有メモリ
ーバンクを割り当てる方法であって、 (A)2の処理エージェントそれぞれに対して逆順で複
数の共有メモリーバンクを割り当てるステップを有する
ことを特徴とする方法。
17. A method of allocating a plurality of shared memory banks to two agents, comprising: (A) allocating a plurality of shared memory banks in reverse order to each of the two processing agents. .
【請求項18】 複数の処理エージェントの間で共有す
るために複数のメモリーバンクを割り当てる装置であっ
て、 (A)第1処理エージェントの低いアドレスが当該複数
のメモリーバンクの最後の1つと関連づけられ、第1処
理エージェントの高いアドレスが当該複数のメモリーバ
ンクの最後の1つと関連づけられるように複数のメモリ
ーバンクへ第1処理エージェントにアクセスさせる手段
と、 (B)第2処理エージェントの低いアドレスが当該複数
のメモリーバンクの前記最後の1つと関連づけられ、第
2処理エージェントの高いアドレスが当該複数のメモリ
ーバンクの最初の1つと関連づけられるように当該複数
のメモリーバンクへ第2処理エージェントにアクセスさ
せる手段とを有することを特徴とする装置。
18. Apparatus for allocating a plurality of memory banks for sharing among a plurality of processing agents, wherein: (A) a low address of a first processing agent is associated with a last one of the plurality of memory banks. Means for allowing the first processing agent to access the plurality of memory banks such that the high address of the first processing agent is associated with the last one of the plurality of memory banks; Means associated with the last one of the plurality of memory banks and having the second processing agent access the plurality of memory banks such that a high address of the second processing agent is associated with the first one of the plurality of memory banks; An apparatus comprising:
【請求項19】 当該複数の処理エージェントの前記最
初の1つは、第1処理エージェントのメモリーマップに
おけるアドレス0と関連づけられることを特徴とする請
求項18記載の装置。
19. The apparatus of claim 18, wherein the first one of the plurality of processing agents is associated with an address 0 in a memory map of the first processing agent.
【請求項20】 当該複数の処理エージェントの前記最
初の1つは、第2処理エージェントのメモリーマップに
おけるアドレス0と関連づけられることを特徴とする請
求項18記載の装置。
20. The apparatus of claim 18, wherein said first one of said plurality of processing agents is associated with an address 0 in a memory map of a second processing agent.
【請求項21】 当該複数の処理エージェントの前記最
初の1つは、第2処理エージェントのメモリーマップに
おけるアドレス0と関連づけられることを特徴とする請
求項20記載の装置。
21. The apparatus of claim 20, wherein said first one of said plurality of processing agents is associated with an address 0 in a memory map of a second processing agent.
【請求項22】 当該メモリーバンクは、同期メモリー
であることを特徴とする請求項18記載の装置。
22. The apparatus according to claim 18, wherein said memory bank is a synchronous memory.
【請求項23】 2のエージェントに複数の共有メモリ
ーバンクを割り当てる装置であって、 (A)複数の共有メモリーバンクを昇順で第1エージェ
ントのメモリーマップへと割り当てる手段と、 (B)当該複数の共有メモリーバンクを降順で第2エー
ジェントのメモリーマップへと割り当てる手段とを有す
ることを特徴とする装置。
23. An apparatus for allocating a plurality of shared memory banks to two agents, comprising: (A) means for allocating a plurality of shared memory banks to a memory map of a first agent in ascending order; Means for allocating the shared memory banks to the memory map of the second agent in descending order.
【請求項24】 当該複数の共有メモリーバンクは、同
期メモリーバンクであるを有することを特徴とする請求
項23記載の装置。
24. The apparatus of claim 23, wherein said plurality of shared memory banks comprises synchronous memory banks.
【請求項25】 2のエージェントに複数の共有メモリ
ーバンクを割り当てる装置であって、 (A)2の処理エージェントそれぞれに対して逆順で複
数の共有メモリーバンクを割り当てる手段を有すること
を特徴とする装置。
25. An apparatus for allocating a plurality of shared memory banks to two agents, comprising: (A) means for allocating a plurality of shared memory banks in reverse order to each of the two processing agents. .
【請求項26】 当該複数の共有メモリーバンクは、同
期メモリーからなることを特徴とする請求項25記載の
装置。
26. The apparatus of claim 25, wherein said plurality of shared memory banks comprises a synchronous memory.
【請求項27】 (A)第1処理エージェントと、 (B)第2処理エージェントと、 (C)第1処理エージェントおよび第2処理エージェン
トがアクセスできる共有同期メモリーと (D)最低アドレサブル端から昇順で前記複数のメモリ
ーバンクの第1部分を第1処理エージェントの第1メモ
リーマップへと割り当て、第2処理エージェントの第2
メモリーマップへと最高アドレスアブル端から降順で前
記複数の共有同期メモリーを割り当てる制御モジュール
とからなるコンピューター装置。
27. (A) a first processing agent, (B) a second processing agent, (C) a shared synchronous memory accessible by the first and second processing agents, and (D) ascending order from the lowest addressable end. Assigning a first portion of the plurality of memory banks to a first memory map of a first processing agent;
A control module for allocating the plurality of shared synchronous memories to the memory map in descending order from the highest addressable end.
JP11226819A 1998-08-27 1999-08-10 Memory system and assigning method for memory banks Pending JP2000200214A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/141,511 US6275948B1 (en) 1997-11-14 1998-08-27 Processor powerdown operation using intermittent bursts of instruction clock
US09/141511 1998-08-27

Publications (1)

Publication Number Publication Date
JP2000200214A true JP2000200214A (en) 2000-07-18

Family

ID=22496006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11226819A Pending JP2000200214A (en) 1998-08-27 1999-08-10 Memory system and assigning method for memory banks

Country Status (1)

Country Link
JP (1) JP2000200214A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222469A (en) * 1999-11-05 2001-08-17 Emc Corp Segmentation of cache for providing service level to be changed
US7139849B2 (en) 2002-08-07 2006-11-21 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222469A (en) * 1999-11-05 2001-08-17 Emc Corp Segmentation of cache for providing service level to be changed
US7139849B2 (en) 2002-08-07 2006-11-21 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit device
US7533196B2 (en) 2002-08-07 2009-05-12 Panasonic Corporation Semiconductor integrated circuit device

Similar Documents

Publication Publication Date Title
US6965974B1 (en) Dynamic partitioning of memory banks among multiple agents
US6556506B2 (en) Memory access methods and devices for use with random access memories
US7222224B2 (en) System and method for improving performance in computer memory systems supporting multiple memory access latencies
EP1474747B1 (en) Address space, bus system, memory controller and device system
US8738888B2 (en) Memory control device, memory device, and memory control method
US8296526B2 (en) Shared memory having multiple access configurations
US6266751B1 (en) Continuously sliding window method and apparatus for sharing single-ported memory banks between two agents
JP2000090005A (en) Bank bit allocating method
US6049856A (en) System for simultaneously accessing two portions of a shared memory
JPH04230544A (en) Data processing apparatus for dynamically setting timing of dynamic memory system
JP2013542493A (en) Memory buffer allocation in computing systems with multiple memory channels
US20210042054A1 (en) Memory controller for non-interfering accesses to nonvolatile memory by different masters, and related systems and methods
KR100869938B1 (en) Embedded memory access method and system for application specific integrated circuits
CN118152303A (en) Memory management method and computing device
US7725609B2 (en) System memory device having a dual port
US8347026B2 (en) Memory device and memory device control method
JP2000200214A (en) Memory system and assigning method for memory banks
US6542958B1 (en) Software control of DRAM refresh to reduce power consumption in a data processing system
KR20080042152A (en) Interleaved Virtual Local Memory for Graphics Processors
US5630098A (en) System and method for interleaving memory addresses between memory banks based on the capacity of the memory banks
WO2001075606A2 (en) A method and apparatus for providing highly programmable memory mapping and improved interleaving
US20250130936A1 (en) Multiplexed-rank dual inline memory module (mrdimm) virtual controller mode
US20250139022A1 (en) Multiplexed bus streak management
US6499087B1 (en) Synchronous memory sharing based on cycle stealing
JPH0337747A (en) Storage device controller, disk cache method, and disk cache system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040303

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040603

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050105

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050228

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050520

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071127

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080227